aboutsummaryrefslogtreecommitdiff
path: root/documentation/manual-pages/ja/man3/setlocale.3
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/manual-pages/ja/man3/setlocale.3')
-rw-r--r--documentation/manual-pages/ja/man3/setlocale.3311
1 files changed, 311 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man3/setlocale.3 b/documentation/manual-pages/ja/man3/setlocale.3
new file mode 100644
index 0000000000..4112a7edb7
--- /dev/null
+++ b/documentation/manual-pages/ja/man3/setlocale.3
@@ -0,0 +1,311 @@
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Donn Seeley at BSDI.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93
+.\" %FreeBSD: src/lib/libc/locale/setlocale.3,v 1.15.2.5 2001/12/14 18:33:55 ru Exp %
+.\"
+.\" $FreeBSD$
+.Dd June 9, 1993
+.Dt SETLOCALE 3
+.Os
+.Sh 名称
+.Nm setlocale ,
+.Nm localeconv
+.Nd C 用の自然言語の整形
+.Sh ライブラリ
+.Lb libc
+.Sh 書式
+.In locale.h
+.Ft char *
+.Fn setlocale "int category" "const char *locale"
+.Ft struct lconv *
+.Fn localeconv "void"
+.Sh 解説
+.Fn setlocale
+関数は、特定のルーチンの集合について、C ライブラリでいうところの
+自然言語整形のスタイルを設定します。
+それぞれのスタイルを
+.Sq ロケール
+と呼び、C 文字列として渡される適切な名前によって呼び出します。
+.Fn localeconv
+ルーチンは、現在のロケールの数値整形用パラメータを返します。
+.Pp
+.Fn setlocale
+関数は、いくつかのルーチンのカテゴリを識別します。
+以下は、カテゴリとカテゴリが選択したルーチンの組です。
+.Pp
+.Bl -tag -width LC_MONETARY
+.It Dv LC_ALL
+ロケール全体をまとめて設定します。
+.It Dv LC_COLLATE
+文字列照合ルーチン用のロケールを設定します。これは
+.Fn strcoll
+および
+.Fn strxfrm
+でのアルファベット順を制御します。
+.It Dv LC_CTYPE
+.Xr ctype 3 ,
+.Xr mbrune 3 ,
+.Xr multibyte 3
+および
+.Xr rune 3
+の各関数のロケールを設定します。
+これは、大文字と小文字、アルファベットと非アルファベット文字
+などの識別を制御します。実際の作業は
+.Fn setrunelocale
+関数によって行われます。
+.It Dv LC_MESSAGES
+メッセージカタログのロケールを設定します。
+.Xr catopen 3
+関数を参照してください。
+.It Dv LC_MONETARY
+通貨値の整形用ロケールを設定します。これは
+.Fn localeconv
+関数に影響を及ぼします。
+.It Dv LC_NUMERIC
+数字を整形するためのロケールを設定します。これは、
+.Fn localeconv
+によって返される値を制御するのに加えて、
+.Fn printf
+および
+.Fn scanf
+のような関数の浮動小数点入出力の小数点整形方法も制御します。
+.It Dv LC_TIME
+.Fn strftime
+関数を使用して日付と時刻を整形するためのロケールを設定します。
+.El
+.Pp
+デフォルトでは 3 つのロケールだけが定義されています。空の文字列
+.Li "\&""\|""
+はネイティブの環境を表します。そして
+.Li "\&""C""
+および
+.Li "\&""POSIX""
+ロケールは C 言語環境を表します。
+.Fa locale
+引数が
+.Dv NULL
+の場合には、
+.Fn setlocale
+は現在のロケールを戻します。デフォルトでは、 C プログラムは
+.Li "\&""C""
+ロケールで開始します。ロケールを設定する唯一のライブラリ内関数は
+.Fn setlocale
+です。ロケールは他のルーチンの副作用として変更されることはありません。
+.Pp
+.Fn localeconv
+関数は、数字、特に通貨値の整形用パラメータを
+提供する構造体を指すポインタを返します。
+.Bd -literal -offset indent
+struct lconv {
+ char *decimal_point;
+ char *thousands_sep;
+ char *grouping;
+ char *int_curr_symbol;
+ char *currency_symbol;
+ char *mon_decimal_point;
+ char *mon_thousands_sep;
+ char *mon_grouping;
+ char *positive_sign;
+ char *negative_sign;
+ char int_frac_digits;
+ char frac_digits;
+ char p_cs_precedes;
+ char p_sep_by_space;
+ char n_cs_precedes;
+ char n_sep_by_space;
+ char p_sign_posn;
+ char n_sign_posn;
+};
+.Ed
+.Pp
+個々のフィールドには次の意味があります。
+.Pp
+.Bl -tag -width mon_decimal_point
+.It Fa decimal_point
+通貨値を除く、小数点文字です。
+.It Fa thousands_sep
+通貨値を除く、小数点の前の桁のグループ間の区切り文字です。
+.It Fa grouping
+通貨値を除く、桁のグループの大きさです。
+これは、
+.Va char
+型の、低い位の桁から高い位の桁 (右から左) までのグループの大きさを表す
+整数の配列を指すポインタです。
+そのリストは、0 または
+.Dv CHAR_MAX
+で終わります。リストが 0 で終了する場合には、0 の前の最後のグループの
+大きさを、全ての桁が埋まるまで繰り返し用います。
+.Dv CHAR_MAX
+で終了する場合には、それ以上のグループ化は実行されません。
+.It Fa int_curr_symbol
+標準で定められた国際通貨記号です。
+.It Fa currency_symbol
+ローカルな通貨記号です。
+.It Fa mon_decimal_point
+通貨値に対する小数点文字です。
+.It Fa mon_thousands_sep
+通貨値内の桁のグループについての区切り文字です。
+.It Fa mon_grouping
+.Fa grouping
+に類似していますが、通貨用です。
+.It Fa positive_sign
+非負の通貨値を表記するのに使用される文字で、通常は空の文字列です。
+.It Fa negative_sign
+負の通貨値を表現するのに使用される文字で、
+通常はマイナス符号です。
+.It Fa int_frac_digits
+国際スタイルの通貨値における小数点以下の桁数です。
+.It Fa frac_digits
+ローカルスタイルの通貨値における小数点以下の桁数です。
+.It Fa p_cs_precedes
+非負の値に対して通貨値の前に通貨記号が置かれる場合には 1、
+そうでない場合には 0 です。
+.It Fa p_sep_by_space
+非負の値に対して通貨記号と通貨値の間に空白が挿入されている場合は 1、
+そうでない場合には 0 です。
+.It Fa n_cs_precedes
+負の値に対して
+.Fa p_cs_precedes
+と同様です。
+.It Fa n_sep_by_space
+負の値に対して
+.Fa p_sep_by_space
+と同様です。
+.It Fa p_sign_posn
+非負の量および
+.Fa currency_symbol
+に関する
+.Fa positive_sign
+の位置です。コードは次の通りです。
+.Bl -tag -width 3n -compact
+.It Li 0
+文字列全体を囲む丸括弧です。
+.It Li 1
+文字列の前です。
+.It Li 2
+文字列の後です。
+.It Li 3
+.Fa currency_symbol
+の直前です。
+.It Li 4
+.Fa currency_symbol
+の直後です。
+.El
+.It Fa n_sign_posn
+負の通貨値に対して
+.Fa p_sign_posn
+と同様です。
+.El
+.Pp
+前述した場合を除いて、フィールドの値としての空の文字列は、
+結果の長さがゼロであるか、または現在のロケール内にはない値で
+あることを示します。
+同様に
+.Dv CHAR_MAX
+の結果は利用できない値を表記します。
+.Sh 戻り値
+.Fn setlocale
+関数は、指定の
+.Fa category
+と
+.Fa locale
+の組み合わせが意味をなさない場合には、
+.Dv NULL
+を返してロケールの変更は失敗します。
+.Fn localeconv
+関数は、後の
+.Fn setlocale
+または
+.Fn localeconv
+の呼び出しで変更される可能性のある静的オブジェクトを指すポインタを返します。
+.Sh ファイル
+.Bl -tag -width /usr/share/locale/locale/category -compact
+.It Pa $PATH_LOCALE/ Ns Em locale/category
+.It Pa /usr/share/locale/ Ns Em locale/category
+ロケール
+.Em locale
+とカテゴリ
+.Em category
+用のロケールファイル
+.El
+.Sh 関連項目
+.Xr colldef 1 ,
+.Xr mklocale 1 ,
+.Xr catopen 3 ,
+.Xr ctype 3 ,
+.Xr mbrune 3 ,
+.Xr multibyte 3 ,
+.Xr rune 3 ,
+.Xr strcoll 3 ,
+.Xr strxfrm 3 ,
+.Xr euc 4 ,
+.Xr utf2 4
+.Sh 規格
+.Fn setlocale
+および
+.Fn localeconv
+関数は、
+.St -isoC
+に適合しています。
+.Sh 歴史
+.Fn setlocale
+および
+.Fn localeconv
+関数は、
+.Bx 4.4
+ではじめて登場しました。
+.Sh バグ
+現在の実装は、
+.Dv LC_COLLATE ,
+.Dv LC_CTYPE
+および
+.Dv LC_TIME
+のカテゴリ以外では、
+.Li "\&""C""
+と
+.Li "\&""POSIX""
+ロケールのみサポートしています。
+.Pp
+.Fn localeconv
+における整然としない通貨サポートにも関わらず、規格は、
+一般化された通貨フォーマットのための関数を組み入れていません。
+.Pp
+われわれがリアルタイムの通貨変換機能を持つまでは、
+.Dv LC_MONETARY
+の使用は間違った結果を導く可能性があります。
+.Dv LC_NUMERIC
+および
+.Dv LC_TIME
+は個人的な選択肢であり、他のカテゴリで覆い隠すべきではありません。