Skip to content

Select Languages - Localization

Info

Before proceeding, ensure you have reviewed the topic on "Working with resource strings".

A language in Paquet Builder is a group of resource strings translated into a specific language (e.g., English, French). Paquet Builder can create multilanguage packages, enabling the package to display its interface in the language chosen by the user at runtime.

For example, if a user selects French, the package can show its interface in French (if French is included in the package's language collection).

This page, called the Language Manager, lets you manage the languages compiled into the package and determine the options available to users.

Managing the Language Collection

The Language Manager allows you to add, remove, or edit languages included in the package:

  • Add a Language: Press Add to include an existing language file (.pbr).
  • Remove a Language: Select a language and press Remove.
  • Edit a Language: Double-click the language icon or press Edit to open the resource string editor.
  • Set Default Language: Select a language and press Default. The default language is marked with the icon.

Warning

Every package must include at least one language. If you do not want a multilanguage package, include only one language and set it as the default.

For creating new languages, refer to the Resource String Editor's help topic.

Creating Multilanguage Packages

When multiple languages are included, the package's interface can be displayed in the end user's preferred language. The following options configure how this works:

Allow End Users to Select a Language at Startup

When enabled, the package prompts users to select a language from the collection at startup:

Automatically Determine the Language to Be Used

If enabled, the package attempts to match the user's system language (based on the locale ID, or LCID) with the languages in the collection. If no match is found, the default language is used.

Info

The selected LCID is stored in the variable %PBLANGID%. You can use this variable for custom actions, such as writing the language value to the registry.

Support for Right-to-Left Languages

Enable the "Change window layout to be right to left" option for languages like Arabic or Hebrew. This changes the text and graphical layout to follow the right-to-left standard. Configure this in the Resource String Editor under Language Tools > Modify Language Properties.

Combining the Options

  • Enabling both options: The package determines the best language based on the system locale, defaults to the specified language if none match, and then prompts the user for a language selection.
  • Enabling only automatic determination: The package selects the best language or defaults to the specified language without prompting the user.
  • Enabling only user selection: The package defaults to the specified language and allows the user to choose another.

Set the Current Language Manually

Paquet Builder uses the %PBLANGID% variable to manage the selected language. For example, setting %PBLANGID% to 1036 displays messages in French. You can modify this variable with custom actions.

Set the Language from Command-Line

To define the language via command-line, use the custom action template Set Language From Command Line in the Initialization event.

Role of the Default Language

The default language is loaded if no match is found with the system locale. Additionally, it determines whether certain dialogs, such as the Welcome, Readme, License Agreement, and Final screens, are displayed.

Note

If a text is unavailable in the selected language, the package will fall back to the default language. If the default language text is blank, the screen will not be shown, even if texts for other languages exist. Always ensure the default language is properly configured.