49.6 言語変数マクロ

同じアプリケーションを言語別に配布するためのアプリケーションオブジェクトの数を最小限にするために、MSIアプリケーションオブジェクトの言語関連情報を言語変数で表すことができます。言語変数は、簡単なAOT/AXT、ターミナルサーバ、またはWebアプリケーションではサポートされていません。

たとえば、各言語用の個別の.msiファイルを持つ、ZENworksデスクトップ管理エージェントの言語に適したバージョンを配布するとします。デフォルトでは、デスクトップ管理エージェントの.msi ファイルはデスクトップ管理サーバのsys:\public\zenworks\zfdagent\language ディレクトリにインストールされます。「language」は各サポート言語を表します。デスクトップ管理エージェントのアプリケーションオブジェクトでは、languageディレクトリのソースパスに言語変数を含めることができます。例:

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

配布時に、Application Launcherは要求された言語情報をワークステーションのシステムから取得し、言語変数に代入します。

別の例として、app1.msiなどの.msiファイルがあるとします。特定の言語をインストールするときには、言語固有の変換(.mst)ファイルを適用する必要があります。この要件に対応するには、各.mstファイルの言語ディレクトリを作成し、変換パスを指定するときにその言語ディレクトリに対して変数を使用します。

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

言語変数は、他のマクロ変数(特別なWindowsマクロや環境変数など)を使用できる同じMSIアプリケーションオブジェクトのプロパティで使用できます。これらの場所のリストは、セクション 49.8, マクロを使用できるアプリケーションオブジェクトのプロパティを参照してください。

次の表は、使用できる言語変数と説明の一覧です。

表 49-6 言語変数マクロ

言語変数

説明

%LOCALE_SYS_DEFAULT_ANSI_CP%

システムロケールと関連するANSI (米国規格協会)コードページを取得します。ロケールがANSIコードページを使用していない場合は、値が[0]になります。

例: 1252

%LOCALE_SYS_DEFAULT_OEM_CP%

システムロケールに関連付けられたOEM (Original Equipment Manufacturer)コードページを取得します。ロケールがOEMコードページを使用していない場合は、値が[1]になります。

例: 437

%LOCALE_SYS_LANGID%

システムロケールの言語IDを取得します。言語IDは国または地域の言語を数値で示す標準の国際表記です。

例: 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にのみ基づいたシステム言語の省略名を指定します。

例:ja

%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%

ユーザロケールの言語IDを取得します。言語IDは国または地域の言語を数値で示す標準の国際表記です。

例: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にのみ基づいたユーザ言語の省略名を指定します。

例:ja

%LOCALE_USER_NATIVE_LANG%

ユーザ言語のネイティブ名を指定します。

例:English