OSDN Git Service

b7e770a31d1c6f6cfb53067602aae256a5e9d218
[linuxjm/LDP_man-pages.git] / release / man7 / locale.7
1 .\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
2 .\" and Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
3 .\"
4 .\" %%%LICENSE_START(VERBATIM)
5 .\" Permission is granted to make and distribute verbatim copies of this
6 .\" manual provided the copyright notice and this permission notice are
7 .\" preserved on all copies.
8 .\"
9 .\" Permission is granted to copy and distribute modified versions of this
10 .\" manual under the conditions for verbatim copying, provided that the
11 .\" entire resulting derived work is distributed under the terms of a
12 .\" permission notice identical to this one.
13 .\"
14 .\" Since the Linux kernel and libraries are constantly changing, this
15 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
16 .\" responsibility for errors or omissions, or for damages resulting from
17 .\" the use of the information contained herein.  The author(s) may not
18 .\" have taken the same level of care in the production of this manual,
19 .\" which is licensed free of charge, as they might when working
20 .\" professionally.
21 .\"
22 .\" Formatted or processed versions of this manual, if unaccompanied by
23 .\" the source, must acknowledge the copyright and authors of this work.
24 .\" %%%LICENSE_END
25 .\"
26 .\" Modified Sat Jul 24 17:28:34 1993 by Rik Faith <faith@cs.unc.edu>
27 .\" Modified Sun Jun 01 17:16:34 1997 by Jochen Hein
28 .\"   <jochen.hein@delphi.central.de>
29 .\" Modified Thu Apr 25 00:43:19 2002 by Bruno Haible <bruno@clisp.org>
30 .\"
31 .\"*******************************************************************
32 .\"
33 .\" This file was generated with po4a. Translate the source file.
34 .\"
35 .\"*******************************************************************
36 .\"
37 .\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
38 .\"         all rights reserved.
39 .\" Translated Wed Dec 24 21:08:08 JST 1997
40 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
41 .\" Modified Thu 14 Nov 2002 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
42 .\"
43 .TH LOCALE 7 2014\-12\-31 Linux "Linux Programmer's Manual"
44 .SH 名前
45 locale \- 多言語サポートの解説
46 .SH 書式
47 .nf
48 \fB#include <locale.h>\fP
49 .fi
50 .SH 説明
51 ロケール (locale) は言語や文化ルールの集合である。 これには、メッセージ出力に使用する言語、 様々な文字集合、
52 表記に関する慣習などが含まれる。 プログラムをいろいろな文化に移植可能とするには、 プログラムが自分のロケールを判定し、
53 それに応じた適切な動作ができる必要がある。
54 .PP
55 ヘッダーファイル \fI<locale.h>\fP には、 このための便利なデータ型、 関数、 マクロなどの宣言がある。
56 .PP
57 このヘッダーファイルで宣言されている関数には、 現在のロケールを設定する \fBsetlocale\fP(3)
58 と、数値のフォーマット方法についての情報を取得する \fBlocaleconv\fP(3)  がある。
59 .PP
60 ロケール情報は、 プログラムが必要とすると思われるいくつかのカテゴリに分かれており、 それらはマクロとして宣言されている。 これらのマクロを
61 \fBsetlocale\fP(3) 関数の最初の引き数に用いると、 各カテゴリを望むロケールに設定できる。
62 .TP 
63 \fBLC_ADDRESS\fP (GNU 拡張、 glibc 2.2 以降)
64 .\" See ISO/IEC Technical Report 14652
65 場所や地理関連の項目の表示に使用するフォーマット (郵便番号など) に関する設定を変更する。 この情報が必要なアプリケーションは
66 \fBnl_langinfo\fP(3) を使って非標準の要素を取得できる。 \fB_NL_ADDRESS_COUNTRY_NAME\fP
67 (指定されたロケールの言語での国名) や \fB_NL_ADDRESS_LANG_NAME\fP (指定されたロケールの言語での言語名) などがあり、
68 ドイツ語ロケールでは "Deutschland" と "Deutsch" といった文字列が返される。 他の要素名については
69 \fI<langinfo.h>\fP にリストがある。
70 .TP 
71 \fBLC_COLLATE\fP
72 このカテゴリーは、 並び換え (sorting) や正規表現で使用される照合順序 (collate) を制御する。 その中には、
73 文字の等価クラスや複数文字の照合順序も含まれる。 このロケールカテゴリーは、 地域的なアルファベット文字列の比較に使用する \fBstrcoll\fP(3)
74 関数と \fBstrxfrm\fP(3) 関数の動作を変更する。例えばドイツ語のエスツェット (鋭い s)  は、ソートの際 "ss" として扱われる。
75 .TP 
76 \fBLC_CTYPE\fP
77 このカテゴリーは、 バイト列の文字としての解釈 (例えば、シングルバイト文字とマルチバイト文字か)、 文字クラス (例えば、アルファベットか数字か)
78 や文字クラスの動作を決定する。 これは \fBisupper\fP(3)  や \fBtoupper\fP(3)
79 のような文字の判定・操作をする関数や、多バイト文字を扱う \fBmblen\fP(3)  や \fBwctomb\fP(3)  のような関数の動作を変更する。
80 .TP 
81 \fBLC_IDENTIFICATION\fP (GNU 拡張、 glibc 2.2 以降)
82 .\" See ISO/IEC Technical Report 14652
83 ロケールのメタデータに関連する設定を変更する。 この情報が必要なアプリケーションは \fBnl_langinfo\fP(3)
84 を使って非標準の要素を取得できる。 \fB_NL_IDENTIFICATION_TITLE\fP (このロケール文書のタイトル) や
85 \fB_NL_IDENTIFICATION_TERRITORY\fP (このロケール文書が適用される地理的な範囲) などがあり、 "English
86 locale for the USA" や "USA" といった文字列が返される。 他の要素名については \fI<langinfo.h>\fP
87 にリストがある。
88 .TP 
89 \fBLC_MONETARY\fP
90 このカテゴリーは、 金額に関連する数値の表示方法を決定する。 \fBlocaleconv\fP(3)  によって返される情報を変更する。
91 これには小数点や区切りコンマの位置など、 数字の表示方法に関する詳細が含まれている。この情報は \fBstrfmon\fP(3)  関数が内部で使用する。
92 .TP 
93 \fBLC_MESSAGES\fP
94 このカテゴリーは、 メッセージ表示に使用する言語と、 肯定的・否定的な回答をどのように表示するかに影響する。 この情報を簡単に使用するために、 GNU
95 C ライブラリには \fBgettext\fP(3), \fBngettext\fP(3), \fBrpmatch\fP(3)  関数が含まれている。 GNU
96 gettext ファミリーに属する関数は、カテゴリが \fB"C"\fP 以外の有効なロケールに設定されている場合、環境変数 \fBLANGUAGE\fP にも従う
97 (\fBLANGUAGE\fP はコロン区切りのロケールのリストである)。 このカテゴリーは \fBcatopen\fP(3) の動作にも影響する。
98 .TP 
99 \fBLC_MEASUREMENT\fP (GNU 拡張、 glibc 2.2 以降)
100 ロケールの測定系 (つまり、メートル法かアメリカでよく使われる単位か) に関連する設定を変更する。 この情報が必要なアプリケーションは
101 \fBnl_langinfo\fP(3) を使って非標準の要素である \fB_NL_MEASUREMENT_MEASUREMENT\fP を取得できる。 この要素は
102 1 (メートル法) か 2 (アメリカでよく使われる単位) の値が入った文字列へのポインタを返す。
103 .TP 
104 \fBLC_NAME\fP (GNU 拡張、 glibc 2.2 以降)
105 .\" See ISO/IEC Technical Report 14652
106 人に呼びかける際に使用されるフォーマットに関する設定を変更する。 この情報が必要なアプリケーションは \fBnl_langinfo\fP(3)
107 を使って非標準の要素を取得できる。 \fB_NL_NAME_NAME_MR\fP (男性に対する一般的な呼び掛け) や \fB_NL_NAME_NAME_MS\fP
108 (女性に対する一般的な呼び掛け) などがあり、 ドイツ語ロケールでは "Herr" や "Frau" といった文字列が返される。 他の要素名については
109 \fI<langinfo.h>\fP にリストがある。
110 .TP 
111 \fBLC_NUMERIC\fP
112 このカテゴリーは、 金額に関係しない数値で使用される表示方法を決定する。 例えば、 1000 単位の区切り文字や小数点文字
113 (ほとんどの英語圏の国ではピリオドを使用するが、 多くの他の地域ではカンマを使用する)。 このカテゴリーは \fBprintf\fP(3),
114 \fBscanf\fP(3), \fBstrtod\fP(3) などの関数の動作に影響する。 この情報は \fBlocaleconv\fP(3)
115 関数でも読み出すことができる。
116 .TP 
117 \fBLC_PAPER\fP (GNU 拡張、 glibc 2.2 以降)
118 .\" See ISO/IEC Technical Report 14652
119 標準的な紙のサイズの寸法 (US letter や A4 など) に関する設定を変更する。 この情報が必要なアプリケーションは
120 \fBnl_langinfo\fP(3) を使って非標準の要素である \fB_NL_PAPER_WIDTH\fP と \fB_NL_PAPER_HEIGHT\fP
121 を取得できる。 この要素はミリメーター単位の寸法を指定する \fIint\fP 値を返す。
122 .TP 
123 \fBLC_TELEPHONE\fP (GNU 拡張、 glibc 2.2 以降)
124 .\" See ISO/IEC Technical Report 14652
125 電話サービスで使用されるフォーマットに関する設定を変更する。 この情報が必要なアプリケーションは \fBnl_langinfo\fP(3)
126 を使って非標準の要素を取得できる。 \fB_NL_TELEPHONE_INT_PREFIX\fP (そのロケールでの電話番号の前に付く国を示す番号)
127 などがある。 "49" (ドイツの場合) といった文字列が返される。 他の要素名については \fI<langinfo.h>\fP
128 にリストがある。
129 .TP 
130 \fBLC_TIME\fP
131 このカテゴリーは、 日付と時刻の値に使用される表示方法を制御する。 例えば、 ヨーロッパのほとんどでは 24 時間時計を使用するが、 アメリカでは 12
132 時間時計を使用する。 このカテゴリーの設定は \fBstrftime\fP(3) や \fBstrptime\fP(3) などの関数の動作に影響する。
133 .TP 
134 \fBLC_ALL\fP
135 上記の全て。
136 .PP
137 \fBsetlocale\fP(3)  の二番目の引き数が空文字列 \fB""\fP の場合、 デフォルトのロケールは以下の手順で決定する:
138 .IP 1.
139 環境変数 \fBLC_ALL\fP が設定されている場合には \fBLC_ALL\fP の値が使用される。
140 .IP 2.
141 上記のカテゴリのどれかと同じ名前の環境変数が設定されている場合には、 そのカテゴリにはその値が使用される。
142 .IP 3.
143 環境変数 \fBLANG\fP が設定されている場合には \fBLANG\fP の値が使用される。
144 .PP
145 地域的な数値フォーマットの情報は \fBlocaleconv\fP(3)  関数によって返される \fIstruct lconv\fP
146 で得ることができ、これは以下のように宣言されている:
147 .in +2n
148 .nf
149
150 struct lconv {
151
152     /* (通貨以外の) 数値情報 */
153
154     char *decimal_point;     /* 小数点の文字 */
155     char *thousands_sep;     /* 小数点の左側の数字のグループの
156                                 区切り文字 */
157     char *grouping; /* それぞれの要素は各グループの数字の個数である。
158                        インデックス値が大きいほど、左側のグループを表す。
159                        要素の値が CHAR_MAX の場合は、最後のグループで
160                        あることを意味する。要素の値が 0 の場合は、
161                        その要素より左側の全ての要素に前の要素と同じ値を
162                        使用することを意味する。 */
163
164     /* 残りのフィールドは通貨情報用である */
165
166     char *int_curr_symbol;   /* 最初の三つの文字は ISO 4217 の通貨記号。
167                                 四番目の文字は区切り文字。
168                                 五番目は \(aq\0\(aq。 */
169     char *currency_symbol;   /* 地域の通貨記号 */
170     char *mon_decimal_point; /* 小数点の文字 */
171     char *mon_thousands_sep; /* 上記の `thousands_sep' と同様 */
172     char *mon_grouping;      /* 上記の `grouping' と同様 */
173     char *positive_sign;     /* 正の値の符号 */
174     char *negative_sign;     /* 負の値の符号 */
175     char  int_frac_digits;   /* 国際的な小数部の数字 */
176     char  frac_digits;       /* 地域の小数部の数字 */
177     char  p_cs_precedes;     /* 正の値の前に通貨記号を置く場合は 1,
178                                 後ろに置く場合は 0 */
179     char  p_sep_by_space;    /* 正の値と通貨記号の間にスペースを
180                                 入れる場合は 1 */
181     char  n_cs_precedes;     /* 負の値の前に通貨記号を置く場合は 1,
182                                 後ろに置く場合は 0 */
183     char  n_sep_by_space;    /* 負の値と通貨記号の間にスペースを
184                                 入れる場合は 1 */
185     /* 正と負の符号の位置:
186        0 値と通貨記号を括弧で囲む
187        1 符号は値と通貨記号の前に置く
188        2 符号は値と通貨記号の後に置く
189        3 符号は通貨記号の直後に置く
190        4 符号は通貨記号の直前に置く    */
191     char  p_sign_posn;
192     char  n_sign_posn;
193 };
194 .fi
195 .in
196 .SS "ロケール API の POSIX.1\-2008 での拡張"
197 POSIX.1\-2008 では、 ロケール API への多くの拡張が標準化されている。 これは GNU C ライブラリのバージョン 2.3
198 で初めて登場した実装に基づいている。 これらの拡張は、 従来のロケール API
199 がマルチスレッドアプリケーションや複数のロケールを扱う必要があるアプリケーションとうまく組み合わせて使うことができない問題を解決するために設計された。
200
201 この拡張は、 ロケールオブジェクトの作成、操作のための新しい関数 (\fBnewlocale\fP(3), \fBfreelocale\fP(3),
202 \fBduplocale\fP(3), \fBuselocale\fP(3)) とサフィックス "_l" が付いた新しいライブラリ関数
203 (\fBtoupper_l\fP(3) など) で構成される。 新しいライブラリ関数は、 従来のロケール依存の API (\fBtoupper\fP(3) など)
204 を関数実行時に適用するロケールオブジェクトの指定ができるように拡張したものである。
205 .SH 環境変数
206 以下の環境変数が \fBnewlocale\fP(3) と \fBsetlocale\fP(3) で使用される。 したがって、
207 特権を持たないロケールを参照するすべてのプログラムに影響がある。
208 .TP 
209 \fBLOCPATH\fP
210 コロン (\(aq:\(aq) 区切りの、 ロケールデータを検索するパス名のリスト。 この変数が設定されると、 \fILOCPATH\fP
211 とシステムのデフォルトのロケールデータのパスにある、 個々のコンパイルされたロケールデータファイルだけが使用される。
212 ロケールアーカイブは利用可能でも使用されない (\fBlocaledef\fP(1) 参照)。 個々のコンパイルされたロケールデータファイルは、
213 現在使用されているロケールに応じたサブディレクトリから検索される。 例えば、 あるカテゴリーで \fIen_GB.UTF\-8\fP が使用されている場合、
214 サブディレクトリ \fIen_GB.UTF\-8\fP, \fIen_GB.utf8\fP, \fIen_GB\fP, \fIen.UTF\-8\fP, \fIen.utf8\fP,
215 \fIen\fP がこの順序で検索される。
216 .SH ファイル
217 .TP 
218 \fI/usr/lib/locale/locale\-archive\fP
219 通常のデフォルトのロケールアーカイブファイル
220 .TP 
221 \fI/usr/lib/locale\fP
222 コンパイルされたロケールファイルの通常のデフォルトのパス。
223 .SH 準拠
224 .\"
225 .\" The GNU gettext functions are specified in LI18NUX2000.
226 POSIX.1\-2001.
227 .SH 関連項目
228 \fBlocale\fP(1), \fBlocaledef\fP(1), \fBcatopen\fP(3), \fBgettext\fP(3),
229 \fBlocaleconv\fP(3), \fBmbstowcs\fP(3), \fBnewlocale\fP(3), \fBngettext\fP(3),
230 \fBnl_langinfo\fP(3), \fBrpmatch\fP(3), \fBsetlocale\fP(3), \fBstrcoll\fP(3),
231 \fBstrfmon\fP(3), \fBstrftime\fP(3), \fBstrxfrm\fP(3), \fBuselocale\fP(3),
232 \fBwcstombs\fP(3), \fBlocale\fP(5), \fBcharsets\fP(7), \fBunicode\fP(7), \fButf\-8\fP(7)
233 .SH この文書について
234 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
235 である。プロジェクトの説明とバグ報告に関する情報は
236 http://www.kernel.org/doc/man\-pages/ に書かれている。