さまざまな言語で同じアプリケーションを配布するために必要なアプリケーションオブジェクトの数を最少限に抑えるために、言語変数を使用してMSIアプリケーションオブジェクトで言語関連情報を表すことができます。言語変数は、簡単なAOT/AXT、ターミナルサーバ、またはWebアプリケーションではサポートされていません。
たとえば、各言語用の個別の.msiファイルを持つ、ZENworksデスクトップ管理エージェントの言語に適したバージョンを配布するとします。デフォルトでは、デスクトップ管理エージェントの.msiファイルは、デスクトップ管理サーバのsys:\public\zenworks\zfdagent\languageディレクトリにインストールされます。ここでlanguageは、サポートされているさまざまな言語を表しています。デスクトップ管理エージェントのアプリケーションオブジェクトでは、languageディレクトリのソースパスに言語変数を含めることができます。たとえば、次のように入力します。
別の例として、app1.msiなどの.msiファイルがあるとします。特定の言語をインストールするときには、言語固有の変換(.mst)ファイルを適用する必要があります。この要件に対応するには、各.mstファイルの言語ディレクトリを作成し、変換パスを指定するときにその言語ディレクトリに対して変数を使用します。
言語変数は、他のマクロ変数(特別なWindowsマクロ、環境変数など)と同様に、MSIアプリケーションオブジェクトのプロパティで使用できます。これらの場所のリストは、マクロを使用できるアプリケーションオブジェクトのプロパティを参照してください。
%LOCALE_SYS_DEFAULT_ANSI_CP% |
システムロケールに関連付けられたANSI (American National Standards Institute)コードページを取得します。ロケールでANSIコードページを使用しない場合、値は0です。 例 1252 |
%LOCALE_SYS_DEFAULT_OEM_CP% |
システムロケールに関連付けられたOEM (Original Equipment Manufacturer)コードページを取得します。ロケールでOEMコードページを使用しない場合、値は1です。 例 437 |
%LOCALE_SYS_LANGID% |
システムロケールの言語識別子を取得します。言語識別子は、国または地理的な地域の言語を数字で表した国際標準の略語です。 例 0409 |
%LOCALE_SYS_ABBR_LANG% |
システム言語の省略名を指定します。ほとんどの場合、ISO標準639の2文字の言語省略形を使用して作成されます。必要に応じて、3文字目を追加してサブ言語を示す場合もあります。 例 ENU |
%LOCALE_SYS_ENG_LANG% |
ISO標準639のシステム言語の完全な英語名を指定します。これは、127文字のASCIIサブセットにマップできる文字に制限されています。 例 English |
%LOCALE_SYS_LANG% |
システム言語の完全なローカライズ名を指定します。この名前は製品のローカライズに基づいているため、各ローカライズバージョンによって異なる場合があります。 例 English (United States) |
%LOCALE_SYS_ISO639_LANG% |
ISO標準639にのみ基づいたシステム言語の省略名を指定します。 例 en |
%LOCALE_SYS_NATIVE_LANG% |
システム言語のネイティブ名を指定します。 例 English |
%LOCALE_USER_DEFAULT_ANSI_CP% |
ユーザロケールに関連付けられたANSIコードページを取得します。ロケールでANSIコードページを使用しない場合、値は0です。 例 1252 |
%LOCALE_USER_DEFAULT_OEM_CP% |
ユーザロケールに関連付けられたOEMコードページを取得します。ロケールでOEMコードページを使用しない場合、値は1です。 例 850 |
%LOCALE_USER_LANGID% |
ユーザロケールの言語識別子を取得します。言語識別子は、国または地理的な地域の言語を数字で表した国際標準の略語です。 例 0c09 |
%LOCALE_USER_ABBR_LANG% |
ユーザ言語の省略名を指定します。ほとんどの場合、ISO標準639の2文字の言語省略形を使用して作成されます。必要に応じて、3文字目を追加してサブ言語を示す場合もあります。 例 ENA |
%LOCALE_USER_ENG_LANG% |
ISO標準639のユーザ言語の完全な英語名を指定します。これは、127文字のASCIIサブセットにマップできる文字に制限されています。 例 English |
%LOCALE_USER_LANG% |
ユーザ言語の完全なローカライズ名を指定します。この名前は製品のローカライズに基づいているため、各ローカライズバージョンによって異なる場合があります。 例 English (Australia) |
%LOCALE_USER_ISO639_LANG% |
ISO標準639にのみ基づいたユーザ言語の省略名を指定します。 例 en |
%LOCALE_USER_NATIVE_LANG% |
ユーザ言語のネイティブ名を指定します。 例 English |