名称
localedef ― locale 環境を生成
構文
localedef [-cenvw] [-C compiler_options] [-L loader_options]
[-m method_file] [-f charmap_file] [-i locale_definition] locale_name
説明
localedef は、指定された locale についての言語環境をセットアップします。 localedef は、標準入力
(デフォルト) または locale_definition ファイルから locale definition ファイル
(詳細については localedef(4) を参照)
を読み取り、 locale_name パラメータで指定したものと同じ名前の locale ファイルを作成し、さらにオプションとして
この locale を該当するディレクトリにインストールします。 共用 locale
(すべてのユーザーがアクセスできるもの) をインストールするには、適切な特権をもっていることが必要です。
(私用、共用を問わず) locale を作成するには、 ANSI C コンパイラのアクセスが必要です。
オプション
localedef は、次のオプションを認識します。
| -c | | 警告メッセージが生成されていてもファイルを作成します。 |
| -e | | 32 ビットの locale に加えて、64 ビットの locale
を生成します。 これは、64 ビットのオペレーティングシステムの (したがって、Itanium(R) ベース
システムの) デフォルトで、 複数のプラットフォームの開発を可能にするために含まれています。 |
| -n | | (インストールなし) 現在のディレクトリに locale ファイルを作成します。 |
| -v | | (冗長) できるだけ多くの診断メッセージを生成します。 |
| -w | | LC_COLLATE カテゴリでの重複定義や省略符号に対してさらに警告メッセージを生成します。 |
| -f charmap_file | | locale definition ファイルに記号名
(形式は <name> ) が含まれている場合は、 charmap_file を使用します。 charmap_file のフォーマットについての詳細は、 charmap(4) を参照してください。 |
| -i locale_definition |
| | | 入力として、標準入力 (デフォルト) の代わりに locale_definition ファイルを使用します。 |
| -m method_file | | 指定した method_file を使用して、 locale definition の処理でデフォルトメソッドの使用をオーバーライトします。 |
| -C compiler_options |
| | | locale のコンパイル時に適用するコンパイラオプションを追加指定します。
詳細なオプションリストについては、 cc_bundled(1) を参照してください。追加のデフォルトオプションが、
PA-RISC では +DA2.0W 、そして Itanium ベース システムでは +DD64 を含むため、
64 ビットのオペレーティングシステムでは十分に注意して使用してください。 |
| -L loader_options |
| | | locale のリンク時に適用するローダーオプションを追加指定します。 詳細なオプションリストについては、 ld(1) を参照してください。 |
| locale_name | | この引き数は必須であり、 LANG 環境変数 environ(5) を参照) の命名規則に従って言語名を識別します。 language[_territory][.codeset] |
以下は locale の構成要素についての簡単な説明です。 locale
definition ファイルの形式と構文についての詳細は、 localedef(4) を参照してください。charmap
ファイルの形式と働きについての詳細は、 charmap(4) を参照してください。
locale_name ファイル内の 6 つのカテゴリのデータが、 setlocale(3C) によって認識され、言語定義を構成します。
| LC_COLLATE | | このカテゴリの情報は、正規表現と NLS 文字列照合関数の動作に影響を及ぼします。 |
| LC_CTYPE | | このカテゴリの情報は、文字分類および変換関数の動作に影響を及ぼします。 |
| LC_MONETARY | | このカテゴリの情報は、金銭に関する値操作関数の動作に影響を及ぼします。 |
| LC_NUMERIC | | このカテゴリの情報は、フォーマット付き入出力における基数文字操作と文字列変換関数の動作に影響を及ぼします。 |
| LC_TIME | | このカテゴリの情報は、時間変換関数の動作に影響を及ぼします。 |
| LC_MESSAGES | | このカテゴリの情報は、YES/NO 応答の解釈に影響を及ぼします。 |
locale definition ファイルも 6 つのカテゴリで構成されます。各カテゴリの先頭は、 LC_category という形式の カテゴリタグ で識別されます。ここで、 category は、次のうちの 1 つです。すなわち、 CTYPE、 COLLATE、 MONETARY、 NUMERIC、 TIME、
または MESSAGES です。各カテゴリの末尾は、 たとえば、 END
LC_COLLATE のような END という語の後にスペース
1 つとカテゴリ識別子が続く形のタグで識別されます。 カテゴリは、 locale
definition ファイル内ではどの順序で記載してもかまいません。
少なくとも 1 つはカテゴリを指定する必要があります。 カテゴリを指定しないと、 setlocale() は、そのカテゴリについてデフォルトの
"C" locale をセットアップします setlocale(3C)、 および lang(5) を参照)。
各カテゴリは、1 つ、または複数の文で構成されます。各文は、キーワードが先頭になり、その後に
1 つ以上の式が続きます。式は、決まった形式のメタキャラクタ、文字列、および定数の集合です。 localedef は、注釈およびセパレータも認識します。
各カテゴリに対して複数の定義を指定すると、 ハードエラーとなります
(localedef は locale を生成せずに終了します)。
どのカテゴリも、キーワード copy の後に有効な locale
名を続けて指定できます。こうしておけば、そのカテゴリに関する情報は、指定の
locale の情報と同じになります。カテゴリの指定に、 copy キーワードを使用する場合は、カテゴリタグの直後に指定し、それ以外のキーワードを指定しないようにしなければなりません。
メソッドファイルは、ユーザー固有のキャラクタコード化スキーマ用の
locale を作成するために使用します。
オペレーティングシステムの要件
複数のプラットフォームの開発および 64 ビットのオペレーティングシステム上の
開発では、いくつかの要件に注意しなければなりません。 32 ビットおよび
64 ビットのメソッドライブラリの両方が存在しなければなりません。
64 ビットの共有ライブラリの場合は、32 ビットのライブラリが格納されている
場所の下の ../hpux64 (または、PA-RISC システムの場合は pa20_64) ディレクトリに存在しなければなりません。 -e オプションを指定した場合、あるいは
64 ビットのオペレーティングシステム上で 実行する場合は、インストールのオプションが指定されていない限り、
現在のワークディレクトリの下の hpux64 (PA-RISC
システムの場合は、 pa20_64) ディレクトリに結果の locale
が格納されます。
注記
構築したロケールを他のシステムで使用することはできません。
Itanium ベース システムでは、PA-RISC ロケールを生成できません。
多言語化対応
環境変数
LANG は、 LC_ALL も他のカテゴリ変数も
locale を指定しない場合に、locale として使用するように定めます。
LC_ALL は、使用する locale を定め、 LANG またはその他の LC_* 変数で指定した値を置き換えます。
LC_COLLATE と LC_CTYPE は、localedef
の処理には影響がなく、 両変数が C locale に設定されている場合と同じように動作します。
LC_MESSAGES は、どの言語によるメッセージを表示するかを定めます。
インターナショナルコードセットサポート
シングルバイト文字コードセットとマルチバイト文字コードセットがサポートされています。
戻り値
localedef は次の値を戻してきます。
| 0 | | エラーが発生せず、locale は、正常に作成されました。 |
| 1 | | 警告は出されましたが、locale は、正常に作成されました。 |
| 2 | | locale 指定がインプリメンテーションの限界を超えたか、または使用された文字コードセットがサポートされていません。 |
| >3 | | 警告またはエラーが発生し、出力が生成されませんでした。 |
著者
localedef は、OSF および HP で開発されました。
PA-RISC
システム用ファイル
/usr/lib/nls/loc/src
/usr/lib/nls/loc/charmaps
/usr/lib/nls/loc/methods
/usr/lib/nls/loc/pa20_64/methods
/usr/lib/nls/loc/locales/language[_territory][.codeset]
/usr/lib/nls/loc/pa20_64/locales/language[_territory][.codeset]
Itanium ベース
システム用ファイル
PA-RISC システム用ファイルの他に、Itanium ベース システムでは以下のファイルがあります。
/usr/lib/nls/loc/hpux32/src
/usr/lib/nls/loc/hpux64/src
/usr/lib/nls/loc/hpux32/charmaps
/usr/lib/nls/loc/hpux64/charmaps
/usr/lib/nls/loc/hpux32/methods
/usr/lib/nls/loc/hpux64/methods
/usr/lib/nls/loc/hpux32/locales/language[_territory][.codeset]
/usr/lib/nls/loc/hpux64/locales/language[_territory][.codeset]
参照
locale(1)、setlocale(3C)、charmap(4)、localedef(4)、environ(5)
標準準拠
localedef: XPG4, POSIX.2