ローカライズ

グローバリゼーション は、ロケール、文字セット、および多数の特別な環境変数を通して、快適な文化的環境での作業を実現します。国際化対応のアプリケーションまたはプログラムを 特定の言語または文化的環境に適応させる プロセスをローカライズ と呼びます。

ロケール は、ユーザー環境のサブセットであって、言語および国別情報を扱います。ロケールを指定する場合、 規則により記述ロケール名を使用します。詳細は、「z/OS XL C/C++ プログラミング・ガイド」のロケール命名規則のセクションを参照してください。ロケールは多数のカテゴリーから構成され、それぞれが環境変数と関連していて、環境の特定の局面を制御します。次のリストは、カテゴリーおよびそれが影響する領域を示しています。
LC_COLLATE
照合 (ソート) 順序
LC_CTYPE
文字種別および大文字小文字変換
LC_MESSAGES
情報を与えるメッセージと診断メッセージおよび対話式応答の形式
LC_MONETARY
通貨の形式
LC_NUMERIC
数値、非通貨形式
LC_TIME
日付および時刻形式
LC_SYNTAX
いくつかの C 関数およびユーティリティーによって使用される EBCDIC 可変文字のエンコード
ロケールにカテゴリーを制御させるには、ロケール名に対応する変数を設定します。カテゴリーと関連した環境変数に加えて、他に 2 つの変数、LANGLC_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 シェルnamename.cat、および /nlslib/category/name.cat において要求メッセージ・カタログを探す必要があること を指定します。ここで、category は、現行ロケールの LC_MESSAGES または LANG カテ ゴリーの値です。

デフォルト・システム・パスを変更する必要がない限り、NLSPATH 変数を 設定しないでください。そうでないと、コマンドは予期しない結果に終わります。