Go to main content
マニュアルページ セク ション 1: ユー ザーコマンド

印刷ビューの終了

更新: 2016年12月6日
 
 

localedef(1)

名前

localedef - ロケール環境の定義

形式

localedef [-c] [-C compiler_options] [-f charmap] 
     [-i sourcefile] [-L linker_options] [-m model] 
     [-u code_set_name] [-W cc, arg] [-x extensions_file] localename

説明

localedef ユーティリティーは、動作がロケール環境変数の設定によって決定される関数およびユーティリティーが使用できる形式に、ロケールカテゴリのソース定義を変換します。environ(5) を参照してください。

このユーティリティーは、–i オプションで指定されたファイル (指定された場合) または標準入力から、同じロケールに属する 1 つ以上のロケールカテゴリのソース定義を読み取ります。

各カテゴリソース定義は、対応する環境変数名によって識別され、END category-name 文で終了します。次のカテゴリがサポートされています。

LC_CTYPE

文字の分類および大文字/小文字の変換を定義します。

LC_COLLATE

照合規則を定義します。

LC_MONETARY

通貨情報の書式に使用される書式および記号を定義します。

LC_NUMERIC

通貨以外の数値編集での小数点、グループ化、およびグループ化記号を定義します。

LC_TIME

日付と時間の情報の書式および内容を定義します。

LC_MESSAGES

肯定応答および否定応答の形式および値を定義します。

オプション

サポートしているオプションは、次のとおりです。

–c

警告メッセージが発行されていても、永続的な出力を作成します。

–C compiler_options

compiler_options を C コンパイラ (cc) に渡します。複数のオプションを指定する場合は、オプションを引用符 (" ") で囲む必要があります。

これは古いオプションです。代わりに、–W cc,arg オプションを使用してください。

–f charmap

実際の文字エンコーディングへの文字シンボルと照合要素シンボルのマッピングを含むファイルのパス名を指定します。シンボリック名 (collating-symbol キーワードで定義されている照合シンボル以外) を使用している場合は、このオプションを指定する必要があります。–f オプションがない場合は、デフォルトの文字マッピングが使用されます。

–i sourcefile

ソース定義を含むファイルのパス名。このオプションがない場合、ソース定義は標準入力から読み取られます。

–L linker_options

C ソースファイル名に続いて、linker_options を C コンパイラ (cc) に渡します。複数のオプションを指定する場合は、オプションを引用符 (" ") で囲む必要があります。

これは古いオプションです。代わりに、–W cc,arg オプションを使用してください。

–m model

localedef で 64 ビットと 32 ビットのどちらのロケールオブジェクトを生成するかを指定します。

32 ビットのロケールオブジェクトを生成する場合は、modelilp32 を指定します。64 ビットのロケールオブジェクトを生成する場合は、lp64 を指定します。–m オプションを指定しない場合、localedef は 32 ビットのロケールオブジェクトを生成します。–c–f、および –i オプション以外のオプションが指定されておらず、localedef が実行されているシステムで 64 ビット環境がサポートされる場合、localedef は 64 ビットのロケールオブジェクトを追加で生成します。

–u code_set_name

文字シンボルと照合要素シンボルのターゲットマッピングとして使用されるコードセットの名前を指定します。このときのエンコーディング値は、ISO/IEC 10646-1: 2000 標準の位置定数値によって定義されます。「注意事項」を参照してください。

–W cc,arg

arg オプションを C コンパイラに渡します。各引数は前の引数とコンマ 1 つのみで区切る必要があります。コンマは、直前にバックスラッシュ文字を付けてエスケープすると、引数の一部にすることができます。バックスラッシュは生成される引数から削除されます。

–C および –L オプションの代わりにこのオプションを使用してください。

–x extensions_file

さまざまな localedef オプションがリストされている拡張ファイルの名前を指定します。locale(5) を参照してください。

オペランド

次のオペランドを指定できます。

localename

ロケールを識別します。名前に 1 つ以上のスラッシュ文字が含まれている場合、localename は作成されたロケール定義が格納される場所のパス名として解釈されます。この機能は適切な権限を持つユーザーに制限できます。(1 回の実行では複数のカテゴリを処理できますが、1 つの localename を指定すると、処理できるのは同じロケールに属しているカテゴリのみになります。)

出力

localedef は、ロケールのデータを表す一時 C ソースファイルを作成します。その後、localedef は C コンパイラを呼び出して、この C ソースファイルを共有オブジェクトにコンパイルします。

–m ilp32 オプションを指定した場合、localedef は 32 ビットのオブジェクトを生成する C コンパイラを呼び出して、32 ビットのロケールオブジェクトを生成します。–m lp64 オプションを指定した場合、localedef は 64 ビットのオブジェクトを生成する C コンパイラを呼び出して、64 ビットのロケールオブジェクトを生成します。

–m オプションを指定しない場合、localedef は 32 ビットのオブジェクトを生成する C コンパイラを呼び出して、32 ビットのロケールオブジェクトを生成します。–c–f、および –i オプション以外のオプションが指定されておらず、localedef が実行されているシステムで 64 ビット環境がサポートされる場合、localedef は 64 ビットのオブジェクトを生成する C コンパイラを追加で呼び出して、64 ビットのロケールオブジェクトを生成します。

–W–C、または –L オプションを使用して C コンパイラへのオプションが明示的に指定されていない場合、localedef は適切な C コンパイラオプションを使用して C コンパイラを呼び出し、ロケールオブジェクトまたはオブジェクトを生成します。

–m ilp32 オプションを指定した場合、localedef は次の名前の 32 ビットのロケールオブジェクトを生成します。

localename.so.version_number

–m lp64 オプションを指定した場合、localedef は次の名前の 64 ビットのロケールオブジェクトを生成します。

localename.so.version_number

–m オプションを指定しない場合、localedef は次の名前の 32 ビットのロケールオブジェクトを生成します。

localename.so.version_number

および、該当する場合、次の名前の 64 ビットのロケールオブジェクトを生成します。

64-bit_architecture_name/localename.so.version_number

32 ビット環境の共有オブジェクトは、次の場所に移動する必要があります。

/usr/lib/locale/localename/localename.so.version_number

SPARC の 64 ビット環境の共有オブジェクトは、次の場所に移動する必要があります。

/usr/lib/locale/localename/sparcv9/localename.so.version_number

AMD64 の 64 ビット環境の共有オブジェクトは、次の場所に移動する必要があります。

/usr/lib/locale/<localename>/amd64/<localename>.so.<version_number>

localedef は情報のためのみに使用される localename という名前のテキストファイルも生成します。

環境変数

localedef の実行に影響する環境変数 (LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES、および NLSPATH) の定義については、environ(5) を参照してください。

終了ステータス

次の終了ステータスが返されます。

0

エラーは発生せず、ロケールは正常に作成されました。

1

警告が発生しましたが、ロケールは正常に作成されました。

2

ロケールの指定が実装の制限を超えているか、使用されたコード化文字セットが実装でサポートされておらず、ロケールは作成されませんでした。

3

新しいロケールを作成する機能は、実装でサポートされていません。

>3

警告またはエラーが発生し、出力は作成されませんでした。

エラーが検出された場合、永続的な出力は作成されません。

ファイル

/usr/lib/localedef/extensions/generic_eucbc.x

システムで使用される汎用の EUC ロケールが記述されています。このファイルはデフォルトで使用されます。

/usr/lib/localedef/extensions/single_byte.x

システムで使用される汎用の単一バイトファイルが記述されています。

/usr/lib/locale/localename/localename.so.version_number

32 ビット環境の共有オブジェクト。

/usr/lib/locale/localename/sparcv9/localename.so.version_number

SPARC の 64 ビット環境の共有オブジェクト。

/usr/lib/locale/<localename>/amd64/<localename>.so.<version_number>

AMD64 の 64 ビット環境の共有オブジェクト。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実
標準
standards(5) を参照してください。

関連項目

locale(1)iconv_open(3C)nl_langinfo(3C)strftime(3C)attributes(5)charmap(5)environ(5)extensions(5)locale(5)standards(5)

警告

警告が発生した場合、–c オプションが指定されていると、永続的な出力が作成されます。次の状態では、警告メッセージが発行されます。

  • charmap ファイルで見つからないシンボリック名が LC_CTYPE または LC_COLLATE カテゴリの記述に使用されている場合 (ほかのカテゴリの場合、これはエラーの状態です)。

  • 実装でサポートされないオプションのキーワードがソースにある場合。

–u オプションが使用されている場合、code_set_name オプション引数は ISO/IEC 10646-1: 2000 標準の位置定数値を変換するコードセットの名前として解釈されます。ISO/IEC 10646-1: 2000 標準の位置定数値およびその他の形式 (10 進数、16 進数、または 8 進数) の両方が、charmap ファイル内のエンコーディング値として有効です。コードセットには、システムの iconv_open(3C) 関数でサポートされるコードセットを指定できます。

code_set_namemb_cur_max、または mb_cur_min の charmap の指定と –u オプションの引数の code_set_name によって表されるコードセットの対応する値で競合が発生した場合、localedef ユーティリティーは失敗してエラーになります。

ポータブル文字セットの文字のシンボリック名に指定されている charmap エンコーディング値と US-ASCII で定義されている文字エンコーディング値で競合が発生した場合、結果は不確定です。

charmap の非印字文字に -1 ではない幅が指定された場合は、localedef によって警告が生成されます。