グローバリゼーション は、ロケール、文字セット、および多数の特別な環境変数を通して、快適な文化的環境での作業を実現します。国際化対応のアプリケーションまたはプログラムを
特定の言語または文化的環境に適応させる
プロセスをローカライズ と呼びます。
ロケール は、ユーザー環境のサブセットであって、言語および国別情報を扱います。
ロケールを指定する場合、
規則により記述ロケール名を使用します。詳細は、「z/OS XL C/C++ プログラミング・ガイド」のロケール命名規則のセクションを参照してください。ロケールは多数のカテゴリーから構成され、それぞれが環境変数と関連していて、環境の特定の局面を制御します。次のリストは、カテゴリーおよびそれが影響する領域を示しています。
- LC_COLLATE
- 照合 (ソート) 順序
- LC_CTYPE
- 文字種別および大文字小文字変換
- LC_MESSAGES
- 情報を与えるメッセージと診断メッセージおよび対話式応答の形式
- LC_MONETARY
- 通貨の形式
- LC_NUMERIC
- 数値、非通貨形式
- LC_TIME
- 日付および時刻形式
- LC_SYNTAX
- いくつかの C 関数およびユーティリティーによって使用される EBCDIC 可変文字のエンコード
ロケールにカテゴリーを制御させるには、ロケール名に対応する変数を設定します。カテゴリーと関連した環境変数に加えて、他に 2 つの変数、
LANG と
LC_ALL があり、ローカライズと関連して使用されます。これらの変数のすべてが
シェル・コマンドのパフォーマンスに影響を与えます。一般的な影響については、ほとんどのコマンドに当てはまりますが、特定のコマンド (
sort など) は
LC_COLLATE に依存しているので、1 つ以上の変数に対して特別な注意が必要です。このため、このセクションでは、コマンドの
ローカリゼーション トピックでこのようなケースについて説明しています。各環境変数の影響は以下のとおりです。
- LANG
- 国際言語の値を判別します。ユーティリティーおよびアプリケーションは、特定のロケールからの情報を使用して、エラー・メッセージおよび指示をその言語で提供する
ことができます。LC_ALL 変数が定義されていない場合、未定義の変数はどれも LANG の値を含んでいるかのように扱われます。
- LC_ALL
- LANG の値および LC_ で始まる
すべての変数の値を変更します。
- LC_COLLATE
- 文字の照合 (ソート) 順序を制御するロケールを識別して、範囲、等価クラス、および複数文字照合エレメントの動作を判別します。
- LC_CTYPE
- 文字クラス (例えば、英字、数字、ブランク) およびそれらの
動作 (例えば、小文字から大文字へのマッピング) を定義するロケールを
識別します。このロケールは、バイトのシーケンス解釈を文字として
判別します (1 バイト対 2 バイト文字のように)。
- LC_MESSAGES
- 肯定応答および否定応答の処理を制御するロケールを識別します。このロケールも
メッセージ書き込みの際に、言語および国別情報を定義します。
- LC_MONETARY
- 通貨関連の数値形式 (例えば、通貨記号、小数点文字、および
千単位区切り文字) を制御するロケールを判別します。
- LC_NUMERIC
- 数値形式 (例えば、小数点文字および千単位区切り文字) を制御するロケールを判別します。
- LC_TIME
- 時刻および日付ストリングの形式を判別するロケールを識別します。
- LC_SYNTAX
- ポータブル文字セットにおける可変文字のエンコードを定義するロケールを識別します。
NLSPATH ローカライズ変数は、どこでメッセージ・カタログが検出されるかを指定します。
例えば、以下のとおりです。
NLSPATH="/system/nlslib/%N.cat"
これは、
z/OS シェルがディレクトリー
/system/nlslib 内のすべての
メッセージ・カタログを探すことを指定します。この場合、カタログ名は
接尾部
.cat を付けて
z/OS シェル へ渡された
name パラメーターから構成されます。
置換フィールドは、単一文字キーワードが後に続く % シンボルで構成されています。これらのキーワードは
現在、以下のように定義されています。
- %N
- name パラメーターの値
- %L
- このカタログを開く catopen () 関数の
コーディング方法によって、LC_MESSAGES カテゴリー値また
は LANG 値のいずれか。詳細は、「z/OS XL C/C++ ランタイム・ライブラリー・リファレンス」の catopen() を参照してください。
- %l
- LC_MESSAGES カテゴリーからの言語 エレメント
- %t
- LC_MESSAGES カテゴリーからのテリトリー・エレメント
- %c
- LC_MESSAGES カテゴリーからのコード・セット・エレメント
NLSPATH で定義されたテンプレートは、コロン (:) で分離されます。 先行するコロン、または 2 つの隣接するコロン (::) は、
%N と同じ意味を持ちます。例えば、以下のとおりです。
NLSPATH=":%N.cat:/nlslib/%L/%N.cat"
これは、
z/OS シェルが
name、
name.cat、および
/nlslib/
category/
name.cat において要求メッセージ・カタログを探す必要があること
を指定します。ここで、
category は、現行ロケールの
LC_MESSAGES または
LANG カテ
ゴリーの値です。
デフォルト・システム・パスを変更する必要がない限り、NLSPATH 変数を
設定しないでください。そうでないと、コマンドは予期しない結果に終わります。