InstallAware for Windows Installer
 

Localization Wizard

The Localization Wizard helps you localize your setup for multiple languages. You may also use the wizard to create multi-lingual setups capable of supporting multiple languages at runtime. To display the Localization Wizard, on the Design tab, in the Tools group, click Localize. The localization process flows as described below:

  1. Implement your setup using the InstallAware IDE.
  2. When your setup is ready to be localized, extract strings from your setup using the wizard.
  3. The wizard produces an output folder that may be sent to any third party translation office. The output folder contains localization text files for each language, along with an executable tool that translators can use to visually localize your setup. Send this output folder to your translators and have them run the executable tool to translate the setup.
  4. The wizard can also translate InstallAware generated strings into 35 languages, automatically. Once you have created your output folder, you may simply feed the wizard this very folder to perform automatic localizations without any manual translation effort. Even if you have custom strings in your setup projects, the automatic localization step will save you time and money as you will only need to get your own custom strings localized. Just let the wizard automatically translate all project strings before sending your output folder to the translation office.
  5. When you receive the translated files, or after having performed an automatic localization, run the wizard again, and import the localized strings back into your project. You may import any number of localized languages that you wish to make available with your setup at runtime.
  6. Run the localization tool for shared strings that are used by all InstallAware setups. Note that when you use the wizard to automatically translate InstallAware generated strings, all shared strings are also automatically localized. You may still review and customize these translations by running the localization tool for shared strings, of course.
  7. If your setup uses other localizable resources, such as readme and license files, add them to your setup project as support files (also called creatives in the visual view of the InstallAware IDE).
  8. Choose the default language for your setup in the Project Settings window, and optionally enable a language selector that can be shown when setup is initializing.
  9. If you wish to switch between languages using your setup script, override the value of the $LANGUAGE$ variable.

Extracting Strings

To extract strings from your setup project, follow the steps described below:

  1. Load your project in the InstallAware IDE.
  2. To display the Localization Wizard, on the Design tab, in the Tools group, click Localize.
  3. Choose the Export Strings from Project to Translator option, and click Next.
  4. Click Browse and choose the target folder that is to receive the extracted strings, and the accompanying translator tool. It is recommended that you choose an empty folder, so you may send the contents of this entire folder to your localization team. If you wish to create a new folder, simply type in a path that includes the new folder. Click Next when you are ready to extract the strings.
  5. The Localization Wizard scans your project script and dialogs, and extracts localizable strings for you automatically. Wait for the process to complete.
  6. Click the Start Tool button to start the visual localization tool, or click the Translate tool to have the wizard automatically translate extracted strings. You may also send the entire contents of your target folder to your localization team and have them perform the translations - in this case, click Next to dismiss the wizard.
  7. Move to the automatic localization step to automatically localize InstallAware generated strings. Move to the import step to import automatically or manually localized setup strings back into your project.

Automatically Localizing Strings

To automatically translate strings extracted from your setup project, follow the steps described below:

  1. Load your project in the InstallAware IDE.
  2. To display the Localization Wizard, on the Design tab, in the Tools group, click Localize.
  3. Choose the Translate InstallAware Generated Strings option, and click Next.
  4. Click Browse and choose the target folder containing the exported setup strings. Click Next when you are ready to translate the strings. Even if you have manually translated part or all of your exported setup strings, the wizard can still automatically translate any un-localized InstallAware generated strings it still finds in the export location.
  5. Check each language you wish to automatically translate. You must check at least one language. Click Next when you are ready to translate. The Localization Wizard will automatically translate InstallAware generated setup strings found in your export folder into all selected languages. As part of this process, setup strings shared by all InstallAware setup projects will also be automatically translated. Wait for the process to complete.
  6. Click the Import button to immediately import the automatically translated setup strings back into your project. You may also still send the export folder to your translation team for review, or if you have any additional strings that still need to be localized. Click Next to dismiss the wizard.
  7. Move to the import step when you have received the localized strings, or are satisfied with the automatic translations as-is.

Importing Strings

To import automatically and/or manually localized strings back into your setup project, follow the steps described below:

  1. Load your project in the InstallAware IDE.
  2. To display the Localization Wizard, on the Design tab, in the Tools group, click Localize.
  3. Choose the Import Strings from Translator to Project option, and click Next.
  4. Click Browse and choose the folder that contains the localized strings as provided by your translation team, and/or as automatically translated by the wizard.
  5. Check each language you wish to import. You must check at least one language. Checking more than one language makes your setups multi-lingual, capable of switching between languages at runtime. Click Next when you are ready to import.
  6. The wizard imports the chosen languages into your setup project.
  7. Click the Edit Installer Messages button to localize strings that are shared by all InstallAware setup projects, or click Next to dismiss the wizard. If you automatically localized setup strings using the wizard, shared strings are also automatically translated - however, you may still review and edit these translations.

Localizing Shared Messages

Some installer messages are shared across all InstallAware projects. To localize these messages:

  • Click the Edit Installer Messages button on the last page of the import process to start the visual localization tool for the shared messages.
  • Run the mTranslator.exe binary found in the trans subfolder of your InstallAware installation folder on your system.
  • Send the entire contents of the trans subfolder to an external translation office. When you have received the translated contents of this folder, simply overwrite the old files in the folder with their new copies.

Please note that using the wizard to perform automatic translations will also automatically translate all shared setup strings - however, you may still manually review and edit these automatic translations using the same process as described above.

Using Localized Resources

If your setup displays a readme/license agreement file, or interactive HTML/Flash billboards, you may also localize these items. Simply open the files in their native editor and localize the content normally. Then, save the files using the following naming convention:

  • For readme files, use the form readme.<Language>.rtf or readme.<Language>.txt
  • For license files, use the form license.<Language>.rtf or license.<Language>.txt
  • For HTML index files, use the form index.<Language>.htm
  • For Flash files, use the form movie.<Language>.swf

In both examples above, remember to subsitute the actual language you are using for <Language>. For instance, save a German readme file as readme.German.txt (without using the square brackets).

When you have created your localized resources, add them to your project as support files.

If the localized resource file for the active setup language cannot be found at runtime, the installer will display the generic resource file (readme.txt, readme.rtf, license.txt, license.rtf, index.htm, or movie.swf).

Switching Between Languages

The Default Language field in the Project Settings window determines the pre-selected language that your setup is rendered with at runtime. Installer messages and Windows Installer progress text will be displayed using the active setup language.

If you have localized your setup using the localization procedure, you may also display a language selector by checking the Display Language Selector field in the Project Settings window. When checked, your setup will display a list of all available localizations upon initialization. The language used to display this dialog itself is determined by the pre-defined compiler variable #LOCALIZATION_PRECEDENCE#, and the pre-selected main installation language in this dialog is also set by the same compiler variable.

You may also use your script to override the language that is being used at runtime, as an alternative or complement to using the setup initialization language selector. To do so, simply use a Set Variable command in your script and enter a new value for the pre-defined variable $LANGUAGE$. For instance, to switch the setup language to German at runtime, use the Set Variable command and set the $LANGUAGE$ variable to German. The Project Settings window lists the English names that must be used to identify languages at runtime under the Default Language field.

Redistributing the Visual Localization Tool

The visual localization tool that is available in the trans subfolder of your InstallAware installation folder may be freely redistributed, without royalties, to any third party. The Localization Wizard also uses the same tool when it extracts strings to a folder of your choosing, and again, the tool is freely redistributable. Any third party may translate your setup for you without having access to your setup project or the InstallAware IDE using the visual localization tool.

Additionally, since all setup strings are stored inside plain text files, you may open and edit these files using any plain text editor such as Notepad - you are not limited to using only the visual localization tool. Ensure that you always save files after editing as Unicode.

You may wish to use an advanced freeware editor such as Notepad++ for more fine tuned control over your localization file formats. If Notepad or Notepad++ does not accurately display the contents of a file that you are editing, use Notepad++ and manually choose the Encode in UTF-8 without BOM option from its Encoding menu to correct the display problem.

Making Updates to Localizations

If you run the Localization Wizard after having already localized your installation, as in when localizing new elements you have since added to your setup, you can have the wizard offer to preserve your existing translations. Just keep your old localization export folder, and when exporting strings, choose that old folder. The wizard will add only new script commands and dialog elements to the old localization export folder, and preserve your existing translations. Thus, your localization team can focus on translating only the newly added elements, with their old translations kept intact.

Automatic translations may also be performed after any time you have updated your setup project using the Localization Wizard as described above.