Help topics

Messages customization and localization

You can perform message customization and localization using message bundles.

What is message bundles?

Message bundles allow for isolation of localizable elements from the rest of the native launcher. With all resources separated into a bundle, the native launcher simply loads the appropriate bundle for the active locale.

Using message bundles, the default messages of the native launcher can also be changed.

Message bundles are ASCII text files, that contain key/value pairs. The keys uniquely identify a locale-specific string in the bundle.

For example, a message bundle file might look like the following:

lang=LANG_ENGLISH
sublang=SUBLANG_NEUTRAL
key1=value1
key2=value2

Each bundle must have following keys:

Non-ASCII strings in a message bundle file.

You can specify any Unicode character with the \uXXXX notation. (The XXXX denotes the 4 hexadecimal digits that comprise the Unicode value of a character.)

If the file is edited and saved in a non-ASCII encoding, you can convert it to ASCII with the native2ascii tool in Java SDK. This tool is located in the Java SDK bin directory.

How does launcher determinates which locale-specific messages to use?

The native launcher reads the messages for current thread locale from the resources table. If the resource with the specified locale is found, it will be used. Otherwise, the native launcher will use language-neutral messages.

Any native launcher has default language-neutral messages in its resource table, even if you do not specify any message bundle.

Overwrite default message bundle for all locales

Create a message bundle beginning as follows:

This bundle will be used by the launcher if a locale-specific bundle is not found.