argra****@users*****
argra****@users*****
2008年 12月 4日 (木) 20:28:34 JST
Index: docs/perl/5.8.8/perllocale.pod diff -u docs/perl/5.8.8/perllocale.pod:1.2 docs/perl/5.8.8/perllocale.pod:1.3 --- docs/perl/5.8.8/perllocale.pod:1.2 Tue Nov 20 04:38:43 2007 +++ docs/perl/5.8.8/perllocale.pod Thu Dec 4 20:28:34 2008 @@ -1,3 +1,6 @@ + +=encoding euc-jp + =head1 NAME =begin original @@ -31,9 +34,9 @@ 最初にくるのは何か」のような言語に固有なデータの 概念をサポートしています。 これらは特に英語以外の言語では重要なことです。 -が、これは英語でも同様で、C<A-Za-z>がすべての「文字」を +が、これは英語でも同様で、C<A-Za-z> がすべての「文字」を 定義していると考えてしまうのは単純すぎる(naE<iuml>ve)考えです。 -Perl はまた、“.”以外の幾つかのキャラクターを小数点として扱うことも +Perl はまた、“.”以外の幾つかの文字を小数点として扱うことも ありますし、日付の表現は言語によって変わりうるものです。 アプリケーションにそういったユーザーの選択を考慮させるためのプロセスは、 国際化(B<internationalization>)と呼ばれます(これはしばしば @@ -53,7 +56,7 @@ Perl は言語固有なデータを、「ロケールシステム」と呼ばれる標準メソッド (ISO C, XPG4, POSIX 1.c)を通して理解することができます。 このロケールシステムは一つのプラグマ、一つの関数呼び出し、幾つかの -環境変数を使った、アプリケーション毎のコントローラです。 +環境変数を使って、アプリケーション毎に制御します。 =begin original @@ -65,13 +68,15 @@ =end original B<注意>: この機能は Perl 5.004 で新たに追加されたもので、アプリケーションから -陽にその使用を要求されない限り使われません。 +明示的にその使用を要求されない限り使われません -- L<Backward compatibility> を参照してください。 一つの例外が write() で、これは B<常に> カレントのロケールを使用します - L<"NOTES"> を参照してください。 =head1 PREPARING TO USE LOCALES +(ロケールの使う前の準備) + =begin original If Perl applications are to understand and present your data @@ -80,8 +85,8 @@ =end original -Perl アプリケーションがあなたのデータを、あなたの選択したロケールに -正しくしたがって理解し提供するのであれば、以下の B<すべて> が真に +Perl アプリケーションが、あなたのデータを、あなたの選択したロケールに +正しく従って理解し提供するのであれば、以下の B<すべて> が真に なっていなければなりません: =over 4 @@ -98,7 +103,7 @@ B<あなたの使っているオペレーティングシステムがロケールシステムに 対応していなければなりません>。 -これに対応していれば、setlocale() という関数がCライブラリの中に +これに対応していれば、setlocale() という関数が C ライブラリの中に あるはずです。 =item * @@ -140,7 +145,7 @@ =end original -B<Perlが、ロケールシステムがサポートされていると信じていなければ +B<Perl が、ロケールシステムがサポートされていると信じていなければ なりません>。 もしそうなっていれば、C<perl -V:d_setlocale> は C<d_setlocale> の値が定義されているように報告するでしょう。 @@ -193,8 +198,12 @@ =head1 USING LOCALES +(ロケールを使う) + =head2 The use locale pragma +(use locale プラグマ) + =begin original By default, Perl ignores the current locale. The S<C<use locale>> @@ -220,7 +229,7 @@ =end original B<比較演算子> (C<lt>, C<le>, C<cmp>, C<ge>, C<gt>) と、POSIX の文字列比較 -関数 strcoll() および strxfrm() は C<LC_COLLATE>を使用します。 +関数 strcoll() および strxfrm() は C<LC_COLLATE> を使用します。 sort() は比較関数が陽に指定されなかった場合に影響を受けます。 これは、デフォルトでは C<cmp> を使うからです。 @@ -258,7 +267,7 @@ =end original -B<正規表現と大小文字変換関数> (uc(), lc(), ucfirst(), lcfirst())は +B<正規表現と大小文字変換関数> (uc(), lc(), ucfirst(), lcfirst()) は C<LC_CTYPE> を使用します。 =item * @@ -318,6 +327,8 @@ =head2 The setlocale function +(setlocale 関数) + =begin original You can switch locales as often as you wish at run time with the @@ -383,7 +394,8 @@ 第二引数が省略されていて、さらにカテゴリーが LC_ALL 以外の場合、この関数は カテゴリーに対するカレントロケールの名前からなる文字列を返します。 -この値を、後で行う setlocale() の呼び出しでの第二引数として使うこともできます。 +この値を、後で行う setlocale() の呼び出しでの第二引数として +使うこともできます。 =begin original @@ -412,11 +424,11 @@ =end original -第二引数が与えられていて、かつそれが正当なものであれば、カテゴリのロケールが -設定され、この関数は現在のロケール値を返します。 -この値は次の setlocale() に呼び出しで使えます(一部の実装では、この返り値は -第二引数を与えたときと異なる場合があります -- これは与えた引数のエイリアスと -考えられます)。 +第二引数が与えられていて、かつそれが正当なものであれば、カテゴリの +ロケールが設定され、この関数は現在のロケール値を返します。 +この値は次の setlocale() に呼び出しで使えます(一部の実装では、この +返り値は第二引数を与えたときと異なる場合があります -- これは与えた引数の +エイリアスと考えられます)。 =begin original @@ -518,19 +530,19 @@ =end original 残念ながら、setlocale() を呼び出すインターフェースが既に -標準化されているのにも関らず、ロケールの名前であるとかそれが -コンフィグレーションされるディレクトリはまだなのです。 +標準化されているのにも関らず、ロケールの名前や、それが設定される +ディレクトリはまだなのです。 名前の基本形式は I<language_territory>B<.>I<codeset> ですが、末尾の部分は 常にある訳ではありません。 I<language> と I<country> は通常は B<ISO 3166> や B<ISO 639> という 標準による、言語や国を二文字に略したものになります。 -I<codeset> の部分はしばしばキャラクターセット B<ISO 8859> の +I<codeset> の部分はしばしば文字集合 B<ISO 8859> の バリエーションとなります。 たとえば、"Western codeset" と呼ばれる C<ISO 8859-1> は西欧における -エンコードとして用いることができます。 +エンコーディングとして用いることができます。 繰り返しますが、一つの標準の名前であってさえ、記述するには複数の方法が 存在するのです。 -残念ながら。 +嘆かわしいことです。 =begin original @@ -561,10 +573,10 @@ =end original -B<注意>:すべてのシステムが“POSIX”ロケールを持っているわけでは +B<注意>:すべてのシステムが "POSIX" ロケールを持っているわけでは ありません(すべてのシステムが POSIX に準拠しているわけではありません)ので、 明示的にこのデフォルトロケールを指定するのが必要なときには -“C”を使います。 +"C" を使います。 =head2 LOCALE PROBLEMS @@ -605,11 +617,14 @@ "C" ロケールに戻ったのです。 これは通常はあなたのロケール設定が間違っているせいであり、聞いたことのない ロケールであったり、あるいはあなたのインストールに問題があったのだろう -(例えば、一部のシステムファイルが壊れていたとか、なかったとか)ということです。 +(例えば、一部のシステムファイルが壊れていたとか、なかったとか)と +いうことです。 以下で述べるのは、この問題を手っ取り早く一時的に修復するものです。 =head2 Temporarily fixing locale problems +(一時的にロケールの問題を修正する) + =begin original The two quickest fixes are either to render Perl silent about any @@ -631,7 +646,7 @@ =end original Perl 起動時の問題は、環境変数 PERL_BADLANG にゼロ、たとえば -“0”を設定することによって回避することができます。 +"0" を設定することによって回避できます。 この方法は問題をカーペットの下に押し込むだけのことです: つまり、Perl が何か間違ったことを見つけたとしても Perl を 黙らせておくというものです。 @@ -727,7 +742,7 @@ =head2 Permanently fixing locale problems -(ロケール問題を恒久的に修正する) +(ロケールの問題を恒久的に修正する) =begin original @@ -759,9 +774,9 @@ そこにはあなたの使うシステムで実際にサポートされているロケール、 そしてもっと重要なインストールされているロケールを見つけだす方法が 解説されています。 -私たちが使ったエラーメッセージの例では、 -環境変数は重要度の高いものから低いものへという順になっています。 -したがって、LC_ALLを“En_US”に設定することは良くない選択であり、 +私たちが使ったエラーメッセージの例では、環境変数は重要度の高いものから +低いものへという順になっています。 +したがって、LC_ALL を "En_US" に設定することは良くない選択であり、 これはエラーメッセージにも現れています。 まず最初にリストの最初にあるロケール設定を修正します。 @@ -776,9 +791,9 @@ =end original 次に、もしあなたがリストアップのコマンドを使って得たものが -B<正確に>“En_US”のようなもの(接頭辞の一致は考慮せず、 -太小文字の違いは考慮します)であれば、あなたが使っているロケール名に -対応するものがシステムに正しくインストールされていれば OK です。 +B<正確に> "En_US" のようなもの(接頭辞の一致は考慮せず、大小文字の違いは +考慮します)であれば、あなたが使っているロケール名に対応するものが +システムに正しくインストールされていれば OK です。 この場合、L<Permanently fixing your system's locale configuration> を 参照してください。 @@ -811,10 +826,10 @@ =end original -“En_US”が先に挙げたコマンドによってリスト中になかった場合です。 -“en_US.ISO8859-1”のようなものを見たかも知れませんが、まったく +"En_US" が先に挙げたコマンドによってリスト中になかった場合です。 +"en_US.ISO8859-1" のようなものを見たかも知れませんが、まったく 同一のものではなかったのでしょう。 -この場合、コマンドで挙げられたものにマッチするロケールで +この場合、コマンドで挙げられたもの一致するロケールで 実行してみてください。 ロケール名のマッチングルールは少々はっきりしないものです。 それは、この分野に関する標準が弱いものであるからです。 @@ -844,6 +859,8 @@ =head2 The localeconv function +(localeconv 関数) + =begin original The POSIX::localeconv() function allows you to get particulars of the @@ -936,14 +953,14 @@ =end original - # grouping とmon_groupingは小整数のパック済みリストになっ - # ています。これはgrouping (thousand_seps と mon_thousand_seps - # はグループを分けるものです)の数と金銭に関するものの指定 - # を行っています。その整数の意味はこうです: 255はグルーピ - # ングしないことを意味します。1から254はカレントのグルーピ - # ングで使用する数値を意味します。グルーピングは右から左へ - # (下位桁から上位桁)と適用されます。下の例では最初のグルー - # ピング以外は使わないことによってこれを避けています。 + # grouping と mon_grouping は小整数のパック済みリストになって + # います。これはgrouping (thousand_seps と mon_thousand_seps + # はグループを分けるものです)の数と金銭に関するものの指定を + # 行っています。その整数の意味はこうです: 255はグルーピング + # しないことを意味します。1から254はカレントのグルーピングで + # 使用する数値を意味します。グルーピングは右から左へ(下位桁から + # 上位桁)と適用されます。下の例では最初のグルーピング以外は + # 使わないことによってこれを避けています。 if ($grouping) { @grouping = unpack("C*", $grouping); } else { @@ -983,12 +1000,10 @@ =end original -The following example will import the langinfo() function itself and -three constants to be used as arguments to langinfo(): a constant for -the abbreviated first day of the week (the numbering starts from -Sunday = 1) and two more constants for the affirmative and negative -answers for a yes/no question in the current locale. -(TBT) +以下の例は langinfo() 関数自身と、 langinfo() の引数として使う 3 つの +定数をインポートします: 1 つは現在のロケールでの週の最初の日の省略形 +(番号は日曜日=1として振られています)、後の 2 つははい/いいえの質問に +対しての肯定および否定を現在のロケールで表すものです。 use I18N::Langinfo qw(langinfo ABDAY_1 YESSTR NOSTR); @@ -1018,6 +1033,8 @@ =head1 LOCALE CATEGORIES +(ロケールカテゴリー) + =begin original The following subsections describe basic locale categories. Beyond these, @@ -1033,6 +1050,8 @@ =head2 Category LC_COLLATE: Collation +(カテゴリー LC_COLLATE: 照合) + =begin original In the scope of S<C<use locale>>, Perl looks to the C<LC_COLLATE> @@ -1044,10 +1063,9 @@ =end original S<C<use locale>> のスコープの内側にあるとき、Perl はアプリケーションで -使用するキャラクターの照合(順番)を決定するために環境変数 -C<LC_COLLATE> を参照します(ラテンアルファベットでは‘b’は`a'に -続くものですが、‘E<aacute>’ や ‘E<aring>’ はどこに -置かれるのでしょう?)。 +使用する文字の照合(順番)を決定するために環境変数 C<LC_COLLATE> を +参照します(ラテンアルファベットでは 'b' は 'a' に続くものですが、 +'E<aacute>' や 'E<aring>' はどこに置かれるのでしょう?)。 また、英語では 'color' は 'chocolate' よりも後になりますが、スペイン語では どうでしょう? @@ -1058,7 +1076,7 @@ =end original -以下の照合は全て意味あるものであり、“use locale”をすれば直面することも +以下の照合は全て意味あるものであり、"use locale" をすれば直面することも あるでしょう。 A B C D E a b c d e @@ -1212,6 +1230,8 @@ =head2 Category LC_CTYPE: Character Types +(カテゴリー LC_CTYPE: 文字タイプ) + =begin original In the scope of S<C<use locale>>, Perl obeys the C<LC_CTYPE> locale @@ -1247,7 +1267,7 @@ =end original C<LC_CTYPE> ロケールはまた、小文字と大文字との間の相互変換に使われる -マップを提供します。 +マッピングを提供します。 これは大文字小文字変換関数 lc(), lcfirst, uc(), ucfirst() とダブルクォートで囲まれた文字列の中での C<\l>, C<\L>, C<\u>, <\U> による大文字小文字変換、そして C<s///> による置換、 @@ -1288,6 +1308,8 @@ =head2 Category LC_NUMERIC: Numeric Formatting +(カテゴリー LC_NUMERIC: 数値形式) + =begin original In the scope of S<C<use locale>>, Perl obeys the C<LC_NUMERIC> locale @@ -1350,6 +1372,8 @@ =head2 Category LC_MONETARY: Formatting of monetary amounts +(カテゴリー LC_MONETARY: 金銭の書式) + =begin original The C standard defines the C<LC_MONETARY> category, but no function @@ -1367,8 +1391,8 @@ 標準 C では C<LC_MONETARY> カテゴリーを定義していますが、その内容に 影響される関数はありません。 -(Those with experience of standards committees will recognize that -the working group decided to punt on the issue.) +(規格委員会の経験によって、それらはワーキンググループがこの問題を +蹴り出すことに決めたことを認識したのでしょう。) 結果として、Perl はこれに注意を払いません。 もし本当に C<LC_MONETARY> を使いたければ、自分でその内容を 問い合わせることができます。 @@ -1377,7 +1401,6 @@ しかし、この情報を取得することはできるでしょうが、大量かつ複雑で、 要求に対して本当にあったものではないでしょう。 金銭に関する書式は手におえない代物なのです。 -(TBT) =begin original @@ -1437,6 +1460,8 @@ =head2 Other categories +(その他のカテゴリー) + =begin original The remaining locale category, C<LC_MESSAGES> (possibly supplemented @@ -1461,6 +1486,8 @@ =head1 SECURITY +(セキュリティ) + =begin original Although the main discussion of Perl security issues can be found in @@ -1698,12 +1725,11 @@ =end original -Has the same behavior as the match operator. Also, the left -operand of C<=~> becomes tainted when C<use locale> in effect -if modified as a result of a substitution based on a regular -expression match involving C<\w>, C<\W>, C<\s>, or C<\S>; or of -case-mapping with C<\l>, C<\L>,C<\u> or C<\U>. -(TBT) +マッチング演算子と同じ振る舞いをします。 +また、C<=~> の左側のオペランドは、C<use locale> が有効のとき、 +C<\w>, C<\W>, C<\s>, C<\S> の正規表現マッチングによる置換か、 +C<\l>, C<\L>,C<\u>, C<\U> の大文字小文字マッピングによって、 +値が変更された場合、汚染されます。 =item * @@ -1723,10 +1749,9 @@ =end original -Results are never tainted because otherwise even output from print, -for example C<print(1/7)>, should be tainted if C<use locale> is in -effect. -(TBT) +結果は決して汚染されません; なぜなら、もしそうでないなら、 +例えば C<print(1/7)> のような、print からの出力ですら +C<use locale> が有効のときは汚染されることになってしまいます。 =item * @@ -1842,7 +1867,7 @@ =end original -これを、非常に良く似てはいるが、ロケールを使ったプログラムと +これを、非常に良く似てはいますが、ロケールを使ったプログラムと 比較してみてください。 #/usr/local/bin/perl -T @@ -1868,6 +1893,8 @@ =head1 ENVIRONMENT +(環境変数) + =over 12 =item PERL_BADLANG @@ -2057,8 +2084,12 @@ =head1 NOTES +(注意) + =head2 Backward compatibility +(過去互換性) + =begin original Versions of Perl prior to 5.004 B<mostly> ignored locale information, @@ -2098,6 +2129,8 @@ =head2 I18N:Collate obsolete +(I18N:Collate は古いもの) + =begin original In versions of Perl prior to 5.004, per-locale collation was possible @@ -2122,6 +2155,8 @@ =head2 Sort speed and memory use impacts +(ソートの速度とメモリ使用に与える影響) + =begin original Comparing and sorting by locale is usually slower than the default @@ -2172,6 +2207,8 @@ =head2 Freely available locale definitions +(自由に利用可能なロケール定義) + =begin original There is a large collection of locale definitions at @@ -2193,6 +2230,8 @@ =head2 I18n and l10n +(I18n と l10n) + =begin original "Internationalization" is often abbreviated as B<i18n> because its first @@ -2208,6 +2247,8 @@ =head2 An imperfect standard +(不完全な標準) + =begin original Internationalization, as defined in the C and POSIX standards, can be @@ -2231,6 +2272,8 @@ =head1 Unicode and UTF-8 +(Unicode と UTF-8) + =begin original The support of Unicode is new starting from Perl version 5.6, and @@ -2239,10 +2282,10 @@ =end original -The support of Unicode is new starting from Perl version 5.6, and -more fully implemented in the version 5.8. See L<perluniintro> and -L<perlunicode> for more details. -(TBT) +Unicode 対応は Perl 5.6 から開始され、バージョン 5.8 でより完全に +実装されました。 +さらなる詳細については L<perluniintro> と L<perlunicode> を +参照してください。 =begin original @@ -2256,8 +2299,12 @@ =head1 BUGS +(バグ) + =head2 Broken systems +(壊れているシステム) + =begin original In certain systems, the operating system's locale support @@ -2310,7 +2357,7 @@ =begin meta Created: KIMURA Koichi -Updated: Kentaro Shirakata <argra****@ub32*****> +Updated: Kentaro Shirakata <argra****@ub32*****> (5.8.8-) =end meta