Language Variables

To minimize the number of Application objects required to distribute the same application in different languages, you can use language variables to represent language-related information in MSI Application objects. Language variables are not supported for simple, AOT/AXT, terminal server, or Web applications.

For example, assume you want to distribute language-appropriate versions of the ZENworks Desktop Management Agent, which has a separate .msi file for each language. By default, the Desktop Management Agent's .msi files are installed to the Desktop Management server's sys:\public\zenworks\zfdagent\language directory, where language represents the various supported languages. In the Desktop Management Agent's Application object, you could include a language variable in the source path for the language directory. For example:

\\server\sys\public\zenworks\zfdagent\%LOCALE_SYS_NATIVE_LANG%\zfdagent.msi

During distribution, Application Launcher retrieves the requested language information from the workstation's system and substitutes it for the language variable.


As another example, assume you have an .msi file such as app1.msi. When installing a specific language, you must apply a language-specific transform (.mst) file. To accommodate this need, you could create language directories for each of the MST files and then use a variable for the language directory when specifying the transform path. For example:

\\server\sys\public\zenworks\app1\%LOCALE_SYS_NATIVE_LANG%\app1.mst

Language variables can be used in the same MSI Application object properties that other macro variables (special Windows macros, environment variables, and so forth) can be used. When using the variable in one of the Application object's property fields, you must enclose it in % characters (%LOCALE_SYS_ABBR_LANG%).

The following table describes the available language variables.

Language Variable Description
LOCALE_SYS_DEFAULT_ANSI_CP

Retrieves the American National Standards Institute (ANSI) code page associated with the system locale. If the locale does not use an ANSI code page, the value is 0.

Example: 1252

LOCALE_SYS_DEFAULT_OEM_CP

Retrieves the original equipment manufacturer (OEM) code page associated with the system local. If the locale does not use an OEM code page, the value is 1.

Example: 437

LOCALE_SYS_LANGID

Retrieves the language identifier for the system locale. The language identifier is a standard international numeric abbreviation for the language in a country or geographical region.

Example: 0409

LOCALE_SYS_ABBR_LANG

Specifies the abbreviated name of the system language. In most cases, it is created by taking the two-letter language abbreviation from the International Organization for Standardization (ISO) Standard 639 and adding a third letter, as appropriate, to indicate the sublanguage.

Example: ENU

LOCALE_SYS_ENG_LANG

Specifies the full English name of the system language from ISO Standard 639. This is always restricted to characters that can be mapped into the ASCII 127-character subset.

Example: English

LOCALE_SYS_LANG

Specifies the full localized name of the system language. This name is based on the localization of the product and might vary for each localized version.

Example: English (United States)

LOCALE_SYS_ISO639_LANG

Specifies the abbreviated name of the system language based only on ISO Standard 639.

Example: en

LOCALE_SYS_NATIVE_LANG

Specifies the native name of the system language.

Example: English.

LOCALE_USER_DEFAULT_ANSI_CP

Retrieves the American National Standards Institute (ANSI) code page associated with the user locale. If the locale does not use an ANSI code page, the value is 0.

Example: 1252

LOCALE_USER_DEFAULT_OEM_CP

Retrieves the original equipment manufacturer (OEM) code page associated with the user local. If the locale does not use an OEM code page, the value is 1.

Example: 850

LOCALE_USER_LANGID

Retrieves the language identifier for the user locale. The language identifier is a standard international numeric abbreviation for the language in a country or geographical region.

Example: 0c09

LOCALE_USER_ABBR_LANG

Specifies the abbreviated name of the user language. In most cases, it is created by taking the two-letter language abbreviation from the International Organization for Standardization (ISO) Standard 639 and adding a third letter, as appropriate, to indicate the sublanguage.

Example: ENA

LOCALE_USER_ENG_LANG

Specifies the full English name of the user language from ISO Standard 639. This is always restricted to characters that can be mapped into the ASCII 127-character subset.

Example: English

LOCALE_USER_LANG

Specifies the full localized name of the user language. This name is based on the localization of the product and might vary for each localized version.

Example: English (Australia)

LOCALE_USER_ISO639_LANG

Specifies the abbreviated name of the user language based only on ISO Standard 639.

Example: en

LOCALE_USER_NATIVE_LANG

Specifies the native name of the user language.

Example: English



ZENworks Desktop Management Online Documentation

A trademark symbol (®, TM, etc.) denotes a Novell trademark. An asterisk denotes a third-party trademark. For information on trademarks, see Legal Notices.