locale(5)

名前
locale - ロケール定義ファイル

説明
ロケール(locale) 定義ファイルは localedef(1) コマンドがバイナリのロケール・データベースに変換するのに 必要な全ての情報を含んでいる。 定義ファイルはロケールの各カテゴリに対応したセクションの 記述で構成されている。

文法
ロケール定義ファイルは以下のキーワードよりなるヘッダーで始まる:

<escape_char>
    はファイルの残りの部分でエスケープ・キャラクターとして使用する文字を 指定する。これは特殊な意味に解釈される文字をエスケープするのに使用する。 デフォルトはバックスラッシュ ( \\ ) である。

<comment_char>
    はファイルの残りの部分でコメント・キャラクターとして使用する文字 を指定する。デフォルトではシャープ ( # ) である。

ロケール定義はロケールのカテゴリごとの部分に分割されている。 各部分は最初からでも定義することもできるし、他のロケールのコピー を元に定義することもできる。カテゴリをコピーする場合、定義の中に copy というキーワードに続けてコピーするロケールの名前を書く。

  LC_CTYPE
LC_CTYPE カテゴリの定義は最初のカラムに LC_CTYPE という文字列を置くことで始める。 ここでは以下のキーワードが使用できる:

upper
    は大文字(uppercase letter)のリストを指定する。 A から Z までの文字は自動的に含まれる。同じ文字に cntrl, digit, punct, space と同時に指定することはできない。

lower
    は小文字(lowercase letter)のリストを指定する。 a から z までの文字は自動的に含まれる。同じ文字に cntrl, digit, punct, space と同時に指定することはできない。

alpha
    はアルファベットの文字を指定する。 upper と lower を指定した全ての文字は自動的に含まれる。同じ文字に cntrl, digit, punct, space と同時に指定することはできない。

digit
    は数字として使用される文字を指定する。数字としては 0 から 9 のみが使用できる。これらはデフォルトで含まれている。

space
    は空白として使用する文字のリストを指定する。同じ文字に upper, lower, alpha, digit, graph, xdigit と同時に指定することはできない。 <space>, <form-feed>, <newline>, <carriage-return>, <tab>, <vertical-tab> は自動的に含まれる。

cntrl
    はコントロール・キャラクターのリストを指定する。同じ文字に upper, lower, alpha, digit, punct, graph, print, xdigit と同時に指定することはできない。

punct
    句読点文字のリストを指定する。同じ文字に upper, lower, alpha, digit, cntrl, xdigit, space と同時に指定することはできない。

graph
    は表示可能文字のリストを指定するが、 空白(space) 文字は含まない。 upper, lower, alpha, digit, xdigit, punct を指定した文字は自動的に含まれる。同じ文字に cntrl と同時に指定することはできない。

print
    は 空白(space) 文字を含めた表示可能文字のリストを指定する。 upper, lower, alpha, digit, xdigit, punct, space を指定した文字は自動的に含まれる。同じ文字に cntrl を同時に指定することはできない。

xdigit
    は十六進数として使用する文字のリストを指定する。十進の数字に加えて、 六文字を昇順で続ける。デフォルトでは以下の文字が含まれている: 0 から 9、 a から f、 A から F。

blank
    は無地(blank)に分類される文字のリストを指定する。 <space> と <tab> は自動的に含まれる。

toupper
    は小文字から大文字への対応リストを指定する。各対応は大文字と小文字を , で区切って括弧で括って指定する。 リストの各メンバーはセミコロンで区切る。

tolower
    は大文字から小文字への対応リストを指定する。tolower という キーワードが無い場合には toupper を逆にしたものが使用される。

LC_CTYPE の定義は END LC_CYTPE という文字列で終了する。

  LC_COLLATE
LC_COLLATE カテゴリは整列順序を定義している。libc による制限のため POSIX オプションの全てが実装されているわけではない。 このカテゴリの定義は最初のカラムに LC_COLLATE を置くことで始める。 ここでは以下のキーワードが使用できる:

collating-element

collating-symbol

順序の定義は以下の行で始める:

order_start

に forward, backward, position のどれかのキーワードが続く。 順序を記述する行が続き、以下のキーワードで終る:

order_end

より詳しくは /usr/lib/nls/src にあるソース・ファイルを参照のこと。特に POSIX, Example, Example2 が典型である。

LC_COLLATE 定義は END LC_COLLATE という文字列で終了する。

  LC_MONETARY
LC_MONETARY の定義は最初のカラムに LC_MONETARY を置くことで始める。 ここでは以下のキーワードを使うことができる:

int_curr_symbol
    は国際通貨号を指定する。これは ISO 4217 規格に定義された国際通貨 記号(三文字)に区切り文字を続けた四文字である必要がある。

currency_symbol
    は地域的な通貨記号を指定する。

mon_decimal_point
    は金額をフォーマットする際の小数点に使用する文字列を指定する。

mon_thousands_sep
    は金額をフォーマットする際に桁の区切りに使用する文字列を指定する。

mon_grouping
    は数字をフォーマットをする際に何桁ごとに区切るかを指定する。

positive_sign
    は数値において正の符号に使用する文字列を指定する。

negative_sign
    は数値において負の符号に使用する文字列を指定する。

int_frac_digits
    は int_curr_symbol でフォーマットする時に使用すべき端数の桁数を指定する。

frac_digits
    は currency_symbol でフォーマットする際に使用すべき端数の桁数を指定する。

p_cs_precedes
    currency_symbol または int_curr_symbol をフォーマットした金額の前に付ける場合には 1 を、後ろに付ける場合には 0 を指定する。

p_sep_by_space
    には整数を指定する。

    0   を指定した場合には記号と数値の間に空白を入れない。

    1   を指定した場合には記号と数値の間に空白を入れる。

    2   を指定した場合には記号と数値が隣接していれば間に空白を入れる。

n_cs_precedes

    0   - 記号は数値の後におく。

    1   - 記号は数値の前におく。

n_sep_by_space
    には整数を指定する。

    0   を指定した場合には currency_symbol または int_curr_symbol と負の金額との間に空白を入れない。

    1   を指定した場合は負の数値と記号の間に空白を入れる。

    2   を指定した場合には隣接していた場合にのみ空白を入れる。

p_sign_posn

    0   の場合には値と currency_symbol または int_curr_symbol を括弧で括る。

    1   の場合には符号を値と currency_symbol または int_curr_symbol の前に置く。

    2   の場合には符号を値と currency_symbol または int_curr_symbol の後に置く。

    3   の場合は符号は currency_symbol または int_curr_symbol の前に置く。

    4   の場合は符号は currency_symbol または int_curr_symbol の後に置く。

n_sign_posn

    0   の場合には値と currency_symbol または int_curr_symbol を括弧で括る。

    1   の場合には符号を値と currency_symbol または int_curr_symbol の前に置く。

    2   の場合には符号を値と currency_symbol または int_curr_symbol の後に置く。

    3   の場合は符号は currency_symbol または int_curr_symbol の前に置く。

    4   の場合は符号は currency_symbol または int_curr_symbol の後に置く。

LC_MONETARY の定義は END LC_MONETARY という文字列で終了する。

  LC_NUMERIC
このカテゴリの定義は最初のカラムに LC_NUMERIC という文字列を置くことで始める。 ここでは以下のキーワードを使用できる:

decimal_point
    は数値をフォーマットする際に小数点に使用する文字列を指定する。

thousands_sep
    は数値をフォーマットする際に桁の区切りに使用する文字列を指定する。

grouping
    数値をフォーマットする際に何桁ごとに区切るかを文字列で指定する。

The LC_NUMERIC の定義は END LC_NUMERIC という文字列で終了する。

  LC_TIME
このカテゴリの定義は最初のカラムに LC_TIME という文字列を置くことで始める。 ここでは以下のキーワードが使用できる:

abday
    は曜日の名前の省略形のリストを指定する。リストは日曜日(Sunday)または その訳語から始めること。

day は曜日の名前のリストを指定する。リストは日曜日(Sunday)から始めること。

abmon
    は月の名前の省略形のリストを指定する。

mon は月の名前のリストを指定する。

am_pm
    それぞれ 午前(am) と 午後(pm) に対応する文字列を指定する。

d_t_fmt
    は適切な日付け(date)と時刻(time)のフォーマットを指定する。

d_fmt
    は適切な日付け(date)のフォーマットを指定する。

t_fmt
    は適切な時刻(time)のフォーマットを指定する。

t_fmt_ampm
    は12時間方式を使用した時刻のフォーマットを指定する。

LC_TIME の定義は END LC_TIME という文字列で終了する。

  LC_MESSAGES
このカテゴリの定義は最初のカラムに LC_MESSAGES という文字列を置くことで始める。 ここでは以下のキーワードが使用できる:

yesexpr
    は「はい(yes)」を意味する正規表現を指定する。

noexpr
    は「いいえ(no)」を意味する正規表現を指定する。

LC_MESSAGES の定義は END LC_MESSAGES という文字列で終了する。 より詳しくは POSIX.2 規格を参照のこと。

ファイル
/usr/lib/locale/ - 現在のロケール設定のデータベース /usr/lib/nls/charmap/* - 文字定義ファイル

バグ
このマニュアルは完全ではない。

著者
Jochen Hein (Hein@Student.TU-Clausthal.de)

準拠
POSIX.2

関連項目
setlocale(3), localeconv(3), charmap(5), locale(1), localedef(1)