Language localization of FileHold

For users of FileHold software whose first language is not English a suite of tools and professional services are available for translation of the user interface and for the ultimate maintenance of the translated resource files.

The following covers the steps required by third party (either a Partner or Customer) that is wanting to localize any or all of the client user interfaces. The topic of user interface localization is a complex one when you consider how the characteristics of different human languages can affect the user interface experience of a given system. The web contains many resources on multilingual user interface (MUI) design and we encourage readers to research the topic of localization before proceeding with a localization project.

Language conversion

The process of creating an application that is useful to many different users with different locales and languages is called Localization. Such an application requires localization to customize it to the supported locales and languages.

The FileHold client interfaces (Web Client, Desktop Application and Microsoft Office Clients) are able to be localized into languages other than English. Currently, the localization of software Installers and Updater utilities are not offered at this time.

When users logon via any of the client interfaces, the default language to be displayed is automatically set based on the language settings of the user’s operating system. The default language can be overridden to allow for a different language in the application than in the operating system. Both single and double byte character sets are supported in the software internationalization model.

Software resource files

In order to support an easy process of converting both web applications (FileHold Web Client) and Windows WinForm applications (FileHold Desktop Application) the captions that need to be translated to various languages (locales) are placed in so called resource files (*.resx) which are of the XML format. There are many resource files in more complex applications and in the FileHold document management system there is in excess of 360 resource files containing more than 30,000 words (more than 7,000 lines or an equivalent of 290 pages).

One resource file may typically be associated with one ASP control or one windows form. Below is an example of the content of a resource file which is associated with one of the FileHold Web Client’s controls - Activity Log Header Control:

Localization activity log header control

Relevant section of the related resource file:

Localization resx file

Each individual resource file can be opened and modified using any XML file editor, however, there are several specialized resource file editors which allow opening resource files using special forms. They hide the content of those XML nodes which do not have caption strings to be translated or edited and therefore vastly improve the efficiency of the editing or translation process. Such a resource file editor is part of the Microsoft Visual Studio environment but there are also several free of charge editors which can be used.

Typically, after translating resource files associated with Windows applications (i.e. for the FileHold Desktop Application) they have to be compiled to a DLL component whereas the web application resource files (i.e.: for FileHold Web Client) can stay in their source (un-compiled) form.

Software language localization approach

Each new version of FileHold is released in English. However, because of its architecture and resource files technology it can be relatively easily translated to other languages. FileHold has developed tools and processes to significantly reduce and streamline the process of the initial translation and updates resulting from the subsequent releases of the FileHold application.

The translation itself is performed by our partners / resellers or customers at their expense, FileHold does not own translated content and does not assume any legal responsibility for its correctness and/or adequacy.
FileHold does provide guidance, process and tools to aid its partners or customers in the localization efforts. Several FileHold partners have successfully used our localization process and tools to localize their application.

NOTE: While translating the caption strings to foreign languages, partners have to adhere to the rule that the length of the translated captions cannot exceed the length of the original English caption (the same number of characters or a similar visually estimated length of the translated string) as the length of the UI fields where the strings are displayed is fixed and based on the length of the original English equivalent. Some abbreviations may be required.

Overview of the FileHold Software localization process

Following is an overview of the steps that are required of the localization team (a Partner, Reseller or Customer) and FileHold Customer Support organization when localizing the user interfaces of the document management software client applications to a different language.

STEP 1. Resource files extracted and prepared for translation by FileHold and Partner’s localization team translates resource strings

1a. Initial resource file translation

The localization team will receive from the FileHold Customer Support organization a package with the specially prepared resource files for Web Client and/or Desktop Application (including Microsoft Office Client).

A special localization tool called “FileHold Language Pack Creator” is used by the FileHold Support organization to extract and specially prepare all resource files of a given version of the application.

The screenshot below illustrates the initial extraction process.

Localization language pack creator

The extracted resources will be in a form of a ZIP package with the special hierarchy of folders and files inside as illustrated below:

Localization language pack zip iles

Below is a small sample section of the resource file list that will reside in the “web” folder:

Localization language pack sample files

As illustrated above, the resource file extensions will be modified by adding the target language code – “pl” for translation to Polish in this example (* The content of these files is based on the original resource files for a given version of FileHold application, however some key modification are made to simplify the process:

  • Only the meaningful fields (XML nodes) with captions requiring translation are left and all other information which resides in such files for various reasons is eliminated.

  • The target language code (PL – in this example) is added as a prefix to all captions which need translation. By doing this a useful progress tracking facility is provided for the localization team. As they progress through the files they will be translating all strings and removing the prefix in the process thus having visible “marks” designating the work which still needs to be done (all strings with PL).

  • Special fields (XML nodes) are added to all resource files in which the original English version of captions are repeated, with each caption string prefixed with the calculated number of characters in parenthesis. The number of characters provides a quick guidance on the not to be exceeded length of the string. Also, by maintaining the English version of the translated strings for further reference, the inevitable translation errors can be quickly identified by the original translator or a person validating the correctness of the translation.

The Partner’s Localization Team translates the English captions strings to the target language using a resource file editor of their choice. The typical UI form and the format of the modified resource file data would look like this, in most resource file editors, for the sample resource file (XML file) file shown above, after the resource files with the modifications mentioned above are generated:

Localization language pack activity form

The screen below illustrates the same section after translation (in this case to Polish) is complete:

Localization language pack activity log polish translated

After all files are translated, by the partner’s localization team, they are returned to the FileHold Support organization.

These files cannot be installed by the partner as their format has been modified to simplify the localization process and FileHold application would not be able to interpret them properly. In addition the resource files for the Desktop Client and Office Client have to be compiled to a DLL. Therefore all the translated files have to be properly packaged as a ZIP file using the original folder structure and send to FileHold for further processing, compilation and generation of the final language pack installers.

Proceed to step 2a.

1b. Upgrading already localized system to the new version of FileHold

The regular upgrades to a new version of FileHold are only provided for the official English release. If the already localized version needs to be upgraded, the standard updater to the next English version is used. The document repository and databases (users, metadata etc) are obviously preserved during the upgrade process and the new features are installed, however, only the English versions of the new resource files are installed.

In preparation for the upgrade process, partner’s localization team should retrieve the archived localized resource pack (the ZIP package) from the previous translation and send it to FileHold to generate so called differential resource files.

Each new version of FileHold introduces new screens, web pages, forms and controls and some existing ones could also get eliminated or modified (removal, additions or updates to captions and texts). As the result, many existing resource files are updated, new files are added and some old resource fillies may be removed.

Upon the receipt of the language pack with the previously translated resource files from the partner, FileHold personnel, again using FileHold Language Pack Creator, creates the differential files which contain only new files or files with changed content (for which only updated and/or new captions are present).

The first steps for translating a FileHold system that was previously localized:

  1. The customer or partner is to email [email protected] the zipped package of localized/translated resource files from the final step of the previous translation.
  2. The differential files with the resources requiring new translation will be then sent to the customer or partner. Unzip the package and translate the resource files. Any resource editor (for example, ResxEditor) can be used in order to simplify the process of translation. DO NOT modify the structure of the extracted directories (do not change names or move files between directories). All strings requiring translation start with a prefix language such as AR for Arabic.
  3. After the translation is complete, zip up the main folder (for example, 12.00.001 for FileHold 12) and sent it back to FileHold.

The screenshot below illustrates the process of the differential files creation:

Localization language pack update

As the result, a ZIP package with the differential files is generated and sent to the partner for translation. It has a similar folder structure as the one for the initial translation (shown above), however, the number of files is much smaller (only those with the new or updated content).

The localization team translates the new strings using the methodology which has already been discussed in 1a. The translated differential files package is then sent back to FileHold for merging, compilation and generation of language Installers.

Proceed to section 2b. for the next step in the process.

STEP 2. FileHold executes resource file merging, compilation and language pack installers generation

2a. Initial resource file translation

Upon the receipt of the package with translated files from the partner, FileHold personnel, using FileHold Language Pack Creator, executes the following steps:

  1. Restoring files to their original format required by FileHold application.

  2. Compilation of the Desktop and Microsoft Office client resources to the DLL format.

  3. Generation of two Language Pack Installers - one for the Web Client and one for the FileHold Desktop Application (FDA) which also includes Microsoft Office Client.

The screenshot below illustrates the process for the Web Client installer:

Localization language pack after translation

The Language Pack Installers are then sent to the partner’s localization team for the final installation of the localized resource files.

2b. Upgrading already localized system to the new version of FileHold

Upon the receipt of the package with translated differential files from the customer or partner, FileHold personnel, using FileHold Language Pack Creator, executes the following steps:

  1. Merging the translated differential resource files with the complete set of resource files from the previous iteration of translation (previous translated FileHold version).

NOTE: The zipped package from step 1b and 2b should be kept by the customer or partner safely backed up as it will be need for a subsequent translation (for example, from FileHold 12 to 13).

  1. Restoring files to their original format required by FileHold application.

  2. Compilation of the Desktop and Microsoft Office client resources to the DLL format.

  3. Generation of two Language Pack Installers - one for the Web Client and one for the FileHold Desktop Application (FDA) which also includes Microsoft Office Client.

The screenshot below illustrates the process for the FDA installer:

Localization language pack afer translation upgraded system

The Language Pack Installers are then sent to the partner’s localization team for the final installation of the localized resource files.

STEP 3. Partner installs the software language pack

After updating FileHold application to the new version, the language pack installers should be executed to install the new localized version of the resource files. All resources which were already translated in the previous version will be re-instituted and all new resources translated during this current (latest) round will also be installed.

Immediately after updating FileHold application to a new version (and before running language pack installers) Web Client remains translated except for the texts that were added in the new version, however,  FDA is reverted to the default language (English).

In order to remove translation from Web Client, Customer/Partner should use Add/Remove Programs window in the ControlPanel. This step could be performed if there is a need to uninstall translation or partial translation after the upgrade to a new version.

The final package with installers, which the partner’s localization team will receive from FileHold, will have the following structure:

Localization language pack installer

The installers relevant to the partner’s platforms should then be run against the system that was recently updated.

The installers are in the form of user friendly wizards guiding the user through the installation process. Here are the initial screens from the Web Client Language Pack installer:


Localization language pack wizard
Localization language pack wizard 2

The final language pack installer packages should be securely archived by the partner’s localization team. These packages will be the starting point for the next iteration of translation updates when the next version of FileHold is ready and the current one needs to be updated again. FileHold Customer Support will ask for this package as the first step in the next round of translation upgrades.

If, after the full cycle of initial translation or the subsequent translation upgrades to the new FileHold version, translation errors or omissions are discovered, it is possible to correct them using the process identical to the regular upgrade described in steps 1b, 2 and 3. This can be repeated as many times as necessary.

To find out more about localization or for pricing, contact [email protected].