1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- EN-Revision: 21751 -->
4 <sect1 id="zend.locale.functions">
6 <title>Zend_Locale の使用法</title>
9 <classname>Zend_Locale</classname> は、各ロケールについての情報も、
10 自分自身のロケールに合わせた形式で提供します。
11 たとえば他のロケールの名前や曜日名、月名などがこれにあたります。
14 <sect2 id="zend.locale.copying">
16 <title>ロケールオブジェクトのコピー、クローン作成およびシリアライズ</title>
19 <ulink url="http://php.net/language.oop5.cloning">オブジェクトのクローンを作成</ulink>し、
20 ロケールオブジェクトを正確かつ効率的に複製できます。
21 ロケール対応のメソッドのほとんどは、<code>$locale->toString()</code>
25 <example id="zend.locale.copying.example-1">
27 <programlisting language="php"><![CDATA[
28 $locale = new Zend_Locale('ar');
30 // $locale オブジェクトをシリアライズして保存します
31 $serializedLocale = $locale->serialize();
33 $localeObject = unserialize($serializedLocale);
36 $stringLocale = $locale->toString();
38 // $local オブジェクトの複製を作成します
39 $copiedLocale = clone $locale;
41 print "copied: ", $copiedLocale->toString();
43 // PHP は、__toString() 経由で自動的に toString() をコールします
44 print "copied: ", $copiedLocale;
50 <sect2 id="zend.locale.equals">
55 <classname>Zend_Locale</classname> は、
56 二つのロケールを比較するための便利な関数も提供しています。
57 ロケール対応のクラスはすべて、これと同等の同一性チェック機能を提供しなければなりません。
60 <example id="zend.locale.equals.example-1">
61 <title>ロケールが同一かどうかの調査</title>
62 <programlisting language="php"><![CDATA[
63 $locale = new Zend_Locale();
64 $mylocale = new Zend_Locale('en_US');
67 if ($locale->equals($mylocale)) {
68 print "これらのロケールは同一です";
75 <sect2 id="zend.locale.getdefault">
77 <title>デフォルトのロケール</title>
80 <methodname>getDefault()</methodname> メソッドは、関連するロケールの配列を返します。
81 これは、ユーザのウェブブラウザからの情報 (取得できる場合)、
82 ホストサーバの環境変数および Zend Framework の設定をもとに取得します。
83 <classname>Zend_Locale</classname> のコンストラクタの最初のパラメータで、
84 <link linkend="zend.locale.selection">
85 (<constant>BROWSER</constant>、<constant>ENVIRONMENT</constant> あるいは <constant>FRAMEWORK</constant> のうちの)
88 二番目のパラメータでは、マッチしたロケールをすべて返すのか
89 あるいは最初にマッチした/一番マッチしたものを返すのかを指定します。
90 ロケール対応のコンポーネントは、通常は最初のロケールのみを使用します。
91 優先度が指定されている場合は、それも考慮します。
94 <example id="zend.locale.getdefault.example-1">
95 <title>デフォルトロケールの取得</title>
96 <programlisting language="php"><![CDATA[
97 $locale = new Zend_Locale();
100 $found = $locale->getDefault();
104 $found2 = $locale->getDefault(Zend_Locale::BROWSER,TRUE);
110 <link linkend="zend.locale.selection"><constant>BROWSER</constant>、<constant>ENVIRONMENT</constant>
111 あるいは <constant>FRAMEWORK</constant>
112 </link> のいずれかに対応するデフォルトロケールを取得するには、
117 <methodname>getEnvironment()</methodname>
122 <methodname>getBrowser()</methodname>
127 <methodname>getLocale()</methodname>
135 <sect2 id="zend.locale.setlocale">
137 <title>新しいロケールの設定</title>
140 新しいロケールを設定するには、関数 <methodname>setLocale()</methodname>
141 を使用します。この関数は、ロケール文字列をパラメータとして受け取ります。
143 <link linkend="zend.locale.selection">自動的に選択</link> されます。
146 <example id="zend.locale.setlocale.example-1">
147 <title>setLocale</title>
148 <programlisting language="php"><![CDATA[
149 $locale = new Zend_Locale();
152 print $locale->toString();
155 $locale->setLocale('aa_DJ');
156 print $locale->toString();
162 <sect2 id="zend.locale.getlocale">
164 <title>言語および地域の取得</title>
167 <methodname>getLanguage()</methodname> を使用して、二文字の言語コード文字列を
169 <methodname>getRegion()</methodname> を使用して、二文字の地域コード文字列を
173 <example id="zend.locale.getlocale.example-1">
174 <title>getLanguage および getRegion</title>
175 <programlisting language="php"><![CDATA[
176 $locale = new Zend_Locale();
178 // ロケールが 'ja_JP' の場合は、'ja' が言語として返されます
179 print $locale->getLanguage();
181 // ロケールが 'ja_JP' の場合は、地域として 'JP' が返されます
182 print $locale->getRegion();
188 <sect2 id="zend.locale.getlocaletoterritory">
189 <title>Get the locale by giving a territory</title>
192 When you only have the territory or country then it's also possible to get a locale
193 from that information. You can manually search if there is a locale for this territory
194 by using <methodname>getLocaleToTerritory()</methodname>. This method returns a
195 locale for the given territory or <constant>NULL</constant> when there was has no locale
199 <example id="zend.locale.getlocaletoterritory.example-1">
200 <title>getLocaleToTerritory</title>
202 <programlisting language="php"><![CDATA[
203 $locale = Zend_Locale::getLocaleToTerritory('US');
209 <title>Uppercase territories</title>
212 When you know that you are using a territory, then you should uppercase it.
213 Otherwise you could get an in your eyes false locale in return when you use other
214 methods. For example: When you give "om" then
215 <methodname>getLocaleToTerritory()</methodname> returns you "ar_OM" as it knows that
216 you mean a territory. But all other methods will return "om", as it's also a
221 So when you know that the given string is a territory, eighter use
222 <methodname>getLocaleToTerritory()</methodname> yourself before creating a locale,
223 or uppercase the input.
228 <sect2 id="zend.locale.getdata">
230 <title>地域化された文字列の取得</title>
233 <methodname>getTranslationList()</methodname> を使用すると、地域化された情報を利用できます。
234 これらの情報は、各地域に特化したデータを顧客に対して提供する際に
240 情報の一覧は、常に連想配列形式で返されます。
241 複数の値を明示的な型に渡したい場合は、複数の値ではなく配列を渡す必要があります。
244 <example id="zend.locale.getdata.example-1">
245 <title>getTranslationList</title>
246 <programlisting language="php"><![CDATA[
247 $list = Zend_Locale::getTranslationList('language', 'de_AT');
254 // これらのキーのいずれかを getTranslation() メソッドで使用します
255 print Zend_Locale::getTranslation('de', 'language', 'zh');
256 // これは、言語 'de' を中国語で表した文字列を返します
261 すべての言語についてこの情報を取得できます。しかし、
262 言語によってはすべての情報が提供されているわけではないものもあります。
263 これらの型のいくつかについては、その型に特化した関数を用意して簡単に使用できるようにしています。
267 <table id="zend.locale.getdata.table-1">
268 <title>getTranslationList($type = null, $locale = null, $value = null) の詳細</title>
278 <entry><emphasis>Language</emphasis></entry>
281 ロケールの言語部分がキー、そしてその翻訳が値となります。
285 <entry><emphasis>Script</emphasis></entry>
288 ロケールの文字部分がキー、そしてその翻訳が値となります。
292 <entry><emphasis>Territory</emphasis></entry>
296 領域と大陸のみを取得するには値として '1' を使用します。
297 国のみを取得するには値として '2' を使用します。
298 可能な場合、ロケールの国部分をキーとして使用します。
299 それ以外の場合は、この領域が使用している公式 <acronym>ISO</acronym> コードをキーとして使用します。
301 値を省略した場合は、両方の一覧を取得します。
305 <entry><emphasis>Variant</emphasis></entry>
308 変化形がキー、そしてその翻訳が値となります。
312 <entry><emphasis>Key</emphasis></entry>
315 このキーは、翻訳に使用する一般的な値となります。
316 通常はカレンダーや文字照合、通貨などです。
317 キーが配列のキー、そしてその翻訳が値となります。
321 <entry><emphasis>Type</emphasis></entry>
324 これらは、カレンダーの表現や文字列照合方式を表します。
325 値として 'collation' を使用すると、文字列照合方式の一覧を取得します。
326 値として 'calendar' を使用すると、カレンダーの型の一覧を取得します。
327 値を省略した場合は、両方の一覧を取得します。
332 <entry><emphasis>Layout</emphasis></entry>
333 <entry>特別なテキスト部分の書式を決めるルールの一覧を返します。</entry>
336 <entry><emphasis>Characters</emphasis></entry>
337 <entry>このロケールで使用できる文字の一覧を返します。</entry>
340 <entry><emphasis>Delimiters</emphasis></entry>
341 <entry>このロケールで使用できるクォート文字の一覧を返します。</entry>
344 <entry><emphasis>Measurement</emphasis></entry>
345 <entry>単位の値の一覧を返します。この一覧は廃止予定です。</entry>
348 <entry><emphasis>Months</emphasis></entry>
350 このロケールにおけるすべての月の表現の一覧を返します。
351 異なる表現方式がある場合は配列として返されます。
352 値を省略すると、グレゴリオ暦におけるすべての月の一覧を返します。
354 その場合は指定した暦における月の一覧を返します。
356 <link linkend="zend.date.introduction">Zend_Date</link>
361 <entry><emphasis>Month</emphasis></entry>
363 このロケールにおけるすべての月名の一覧を返します。
364 値を省略すると、グレゴリオ暦で通常使用する完全な月名を返します。
365 各月の数値がキー、そして月名の翻訳が値となります。
366 値として配列を指定すると、さまざまな暦や書式に対応する月を取得できます。
367 配列の最初のエントリが暦、2 番目は使用するコンテキスト、
370 <link linkend="zend.date.introduction">Zend_Date</link>
375 <entry><emphasis>Days</emphasis></entry>
377 このロケールにおけるすべての曜日の表現の一覧を返します。
378 異なる表現方式がある場合は配列として返されます。
379 値を省略すると、グレゴリオ暦におけるすべての曜日の一覧を返します。
381 その場合は指定した暦における曜日の一覧を返します。
383 <link linkend="zend.date.introduction">Zend_Date</link>
388 <entry><emphasis>Day</emphasis></entry>
390 このロケールにおけるすべての曜日名の一覧を返します。
391 値を省略すると、グレゴリオ暦で通常使用する完全な曜日名を返します。
392 英語の各曜日名の略称がキー、そして曜日名の翻訳が値となります。
393 値として配列を指定すると、さまざまな暦や書式に対応する曜日を取得できます。
394 配列の最初のエントリが暦、2 番目は使用するコンテキスト、
397 <link linkend="zend.date.introduction">Zend_Date</link>
402 <entry><emphasis>Week</emphasis></entry>
404 ロケール内で週の計算を適切に行うための値の一覧を返します。
406 <link linkend="zend.date.introduction">Zend_Date</link>
411 <entry><emphasis>Quarters</emphasis></entry>
413 このロケールにおけるすべての四半期の表現の一覧を返します。
414 異なる表現方式がある場合は配列として返されます。
415 値を省略すると、グレゴリオ暦におけるすべての四半期の一覧を返します。
417 その場合は指定した暦における四半期の一覧を返します。
421 <entry><emphasis>Quarter</emphasis></entry>
423 このロケールにおけるすべての四半期名の一覧を返します。
424 値を省略すると、グレゴリオ暦で通常使用する完全な四半期名を返します。
425 四半期番号がキー、そして四半期名の翻訳が値となります。
426 値として配列を指定すると、さまざまな暦や書式に対応する四半期を取得できます。
427 配列の最初のエントリが暦、2 番目は使用するコンテキスト、
432 <entry><emphasis>Eras</emphasis></entry>
434 このロケールにおけるすべての紀元の表現の一覧を返します。
435 値を省略すると、グレゴリオ暦におけるすべての紀元の一覧を返します。
437 その場合は指定した暦における紀元の一覧を返します。
441 <entry><emphasis>Era</emphasis></entry>
443 このロケールにおけるすべての紀元名の一覧を返します。
444 値を省略すると、グレゴリオ暦で通常使用する完全な紀元名を返します。
445 紀元番号がキー、そして紀元名の翻訳が値となります。
446 値として配列を指定すると、さまざまな暦や書式に対応する紀元を取得できます。
452 <entry><emphasis>Date</emphasis></entry>
454 このロケールにおけるすべての日付フォーマットの一覧を返します。
455 使用する日付フォーマットの名前がキー、そしてフォーマットそのものが値となります。
456 値を省略すると、グレゴリオ暦における日付フォーマットの一覧を返します。
457 暦の名前を指定すると、さまざまな暦に対応する日付フォーマットを取得できます。
459 <link linkend="zend.date.introduction">Zend_Date</link>
464 <entry><emphasis>Time</emphasis></entry>
466 このロケールにおけるすべての時刻フォーマットの一覧を返します。
467 使用する時刻フォーマットの名前がキー、そしてフォーマットそのものが値となります。
468 値を省略すると、グレゴリオ暦における時刻フォーマットの一覧を返します。
469 暦の名前を指定すると、さまざまな暦に対応する時刻フォーマットを取得できます。
471 <link linkend="zend.date.introduction">Zend_Date</link>
476 <entry><emphasis>DateTime</emphasis></entry>
478 このロケールにおけるすべての日付-時刻フォーマットの一覧を返します。
479 使用する日付-時刻フォーマットの名前がキー、そしてフォーマットそのものが値となります。
480 値を省略すると、グレゴリオ暦における日付-時刻フォーマットの一覧を返します。
481 暦の名前を指定すると、さまざまな暦に対応する日付-時刻フォーマットを取得できます。
483 <link linkend="zend.date.introduction">Zend_Date</link>
488 <entry><emphasis>DateItem</emphasis></entry>
489 <entry>指定した日付項目あるいは時刻項目に関するデフォルトフォーマットの一覧を返します。</entry>
492 <entry><emphasis>DateInterval</emphasis></entry>
494 間隔を表示したい際に使用する日付・時刻フォーマットの一覧を返します。
495 この一覧は多次元配列です。最初の配列が間隔の書式、
496 その次の配列が最大の差のトークンとなります。
500 <entry><emphasis>Field</emphasis></entry>
502 地域化した日付フィールドの一覧を返します。
503 これは、カレンダーや日付で 'month' や 'year'
504 といった文字列を各国語で表示する際に使用します。
505 値を省略すると、グレゴリオ暦における一覧を返します。
506 暦の名前を指定すると、さまざまな暦に対応する一覧を取得できます。
510 <entry><emphasis>Relative</emphasis></entry>
513 'yesterday' や 'tomorrow'
514 といった文字列を各国語で表示する際に使用します。
515 値を省略すると、グレゴリオ暦における一覧を返します。
516 暦の名前を指定すると、さまざまな暦に対応する一覧を取得できます。
520 <entry><emphasis>Symbols</emphasis></entry>
521 <entry>数値表現に使用する文字の地域化した一覧を返します。</entry>
524 <entry><emphasis>NameToCurrency</emphasis></entry>
527 通貨がキー、そして通貨名の翻訳が値となります。
528 <link linkend="zend.currency.introduction">Zend_Currency</link>
533 <entry><emphasis>CurrencyToName</emphasis></entry>
535 地域化した通貨名に対応する通貨の一覧を返します。
536 通貨名の翻訳がキー、そして通貨が値となります。
538 <link linkend="zend.currency.introduction">Zend_Currency</link>
543 <entry><emphasis>CurrencySymbol</emphasis></entry>
545 通貨に対応する地域化した通貨記号の一覧を返します。
548 <link linkend="zend.currency.introduction">Zend_Currency</link>
553 <entry><emphasis>Question</emphasis></entry>
555 肯定 ('yes') および否定 ('no')
556 に対応する地域化した文字列の一覧を返します。
558 <link linkend="zend.locale.getquestion">Zend_Locale の getQuestion メソッド</link>
563 <entry><emphasis>CurrencyFraction</emphasis></entry>
566 通貨がキー、そして小数部の桁数が値となります。
568 <link linkend="zend.currency.introduction">Zend_Currency</link>
573 <entry><emphasis>CurrencyRounding</emphasis></entry>
576 通貨がキー、そして丸め方式が値となります。
578 <link linkend="zend.currency.introduction">Zend_Currency</link>
583 <entry><emphasis>CurrencyToRegion</emphasis></entry>
586 <constant>ISO3166</constant> の値 ('region') が配列のキー、そして <constant>ISO4217</constant> の値
587 ('currency') が配列の値となります。
589 <link linkend="zend.currency.introduction">Zend_Currency</link>
594 <entry><emphasis>RegionToCurrency</emphasis></entry>
596 その通貨を使用している地域の一覧を返します。
597 <constant>ISO4217</constant> の値 ('currency') が配列のキー、そして
598 <constant>ISO3166</constant> の値 ('region') が配列の値となります。
602 <link linkend="zend.currency.introduction">Zend_Currency</link>
607 <entry><emphasis>RegionToTerritory</emphasis></entry>
609 その国の領域一覧あるいはその領域に含まれるサブ領域の一覧を返します。
610 その通貨を使用している地域と領域の一覧を返します。
611 <acronym>ISO</acronym> の領域コード ('currency') が配列のキー、そして
612 <constant>ISO3166</constant> の値 ('region') が配列の値となります。
618 <entry><emphasis>TerritoryToRegion</emphasis></entry>
620 地域とその地域が存在する領域の一覧を返します。
621 <constant>ISO3166</constant> のコード ('region') が配列のキー、
622 そして <acronym>ISO</acronym> の領域コード ('territory') が配列の値となります。
628 <entry><emphasis>ScriptToLanguage</emphasis></entry>
631 言語コードが配列のキー、そして文字コードが配列の値となります。
637 <entry><emphasis>LanguageToScript</emphasis></entry>
640 文字コードが配列のキー、そして言語コードが配列の値となります。
646 <entry><emphasis>TerritoryToLanguage</emphasis></entry>
649 国コードが配列のキー、そして言語コードが配列の値となります。
655 <entry><emphasis>LanguageToTerritory</emphasis></entry>
657 国と、その国で話されている言語の一覧を返します。
658 国コードが配列のキー、そして言語コードが配列の値となります。
664 <entry><emphasis>TimezoneToWindows</emphasis></entry>
666 Windows のタイムゾーンと、関連する <acronym>ISO</acronym> タイムゾーンの一覧を返します。
667 Windows のタイムゾーンが配列のキー、
668 そして <acronym>ISO</acronym> タイムゾーンが配列の値となります。
672 <entry><emphasis>WindowsToTimezone</emphasis></entry>
674 <acronym>ISO</acronym> タイムゾーンと、関連する Windows のタイムゾーンの一覧を返します。
675 <acronym>ISO</acronym> タイムゾーンが配列のキー、
676 そして Windows のタイムゾーンが配列の値となります。
680 <entry><emphasis>TerritoryToTimezone</emphasis></entry>
682 地域あるいは領域と、関連する <acronym>ISO</acronym> タイムゾーンの一覧を返します。
683 <acronym>ISO</acronym> タイムゾーンが配列のキー、そして領域コードが配列の値となります。
687 <entry><emphasis>TimezoneToTerritory</emphasis></entry>
689 タイムゾーンと、関連する地域あるいは領域コードの一覧を返します。
690 地域コードあるいは領域コードが配列のキー、
691 そして <acronym>ISO</acronym> タイムゾーンが配列の値となります。
695 <entry><emphasis>CityToTimezone</emphasis></entry>
698 これを用いて、関連するタイムゾーンの翻訳を行います。
699 すべてのタイムゾーンが翻訳できるわけではありませんが、
700 ユーザにとっては <acronym>ISO</acronym> タイムゾーン名よりも
701 母国語で書かれた都市名のほうがわかりやすいでしょう。
702 <acronym>ISO</acronym> タイムゾーンが配列のキー、そして都市名の翻訳が配列の値となります。
706 <entry><emphasis>TimezoneToCity</emphasis></entry>
708 地域化した都市名に対応するタイムゾーンの一覧を返します。
710 そして <acronym>ISO</acronym> タイムゾーンが配列の値となります。
714 <entry><emphasis>PhoneToTerritory</emphasis></entry>
716 領域内で使用されている電話コードの一覧を返します。
722 <entry><emphasis>TerritoryToPhone</emphasis></entry>
724 電話コードが使用されている領域の一覧を返します。
726 そして領域 (地域) が配列の値となります。
727 ある電話コードが複数の領域で使用されている場合は、
732 <entry><emphasis>NumericToTerritory</emphasis></entry>
734 領域内で使用されている 3 桁の数値コードの一覧を返します。
736 そして 3 桁の数値コードが配列の値となります。
740 <entry><emphasis>TerritoryToNumeric</emphasis></entry>
742 3 桁の数値コードに対応する領域の一覧を返します。
744 そして領域 (地域) が配列の値となります。
748 <entry><emphasis>Alpha3ToTerritory</emphasis></entry>
750 領域内で使用されている 3 桁の文字コードの一覧を返します。
752 そして 3 桁の文字コードが配列の値となります。
756 <entry><emphasis>TerritoryToAlpha3</emphasis></entry>
758 3 桁の文字コードに対応する領域の一覧を返します。
760 そして領域 (地域) が配列の値となります。
764 <entry><emphasis>PostalToTerritory</emphasis></entry>
766 その郵便番号が使われている領域の一覧を正規表現で返します。
767 <acronym>ISO</acronym> 領域コード ('territory') が配列のキー、
772 <entry><emphasis>NumberingSystem</emphasis></entry>
778 <entry><emphasis>FallbackToChar</emphasis></entry>
780 よく使われる unicode 文字の置換用文字の一覧を返します。
781 これを使用して、たとえば "©" を "(C)" に置換したりします。
785 <entry><emphasis>CharToFallback</emphasis></entry>
787 よく使われる置換用文字に対応する unicode 文字の一覧を返します。
788 これを使用して、たとえば "(C)" を "©" に置換したりします。
792 <entry><emphasis>LocaleUpgrade</emphasis></entry>
795 これを使用して、言語を完全修飾形式のロケールに変換します。
799 <entry><emphasis>Unit</emphasis></entry>
801 地域化したカレンダーの単位の一覧を帰します。
802 これを使用して、"day" や "month" などといった文字列を自動的に翻訳します。
810 単一の翻訳データがほしい場合は、<methodname>getTranslation()</methodname> を使用します。
811 この関数は常に文字列を返しますが、<methodname>getTranslationList()</methodname>
814 取得したい値について、詳細を指定する必要があります。
819 ほとんどすべての場合について値を指定する必要があるので、
820 このパラメータを最初に指定するようになっています。
821 この点は <methodname>getTranslationList()</methodname> メソッドと異なります。
829 <table id="zend.locale.getdata.table-2">
830 <title>getTranslation($value = null, $type = null, $locale = null) の詳細</title>
840 <entry><emphasis>Language</emphasis></entry>
843 希望通りの翻訳を選択するために、言語コードを値として指定する必要があります。
847 <entry><emphasis>Script</emphasis></entry>
850 希望通りの翻訳を選択するために、文字コードを値として指定する必要があります。
854 <entry><emphasis>Territory</emphasis> あるいは
855 <emphasis>Country</emphasis></entry>
858 これは国、大陸および領域のいずれかとなります。
859 希望通りの翻訳を選択するために、領域コードを値として指定する必要があります。
863 <entry><emphasis>Variant</emphasis></entry>
866 希望通りの翻訳を選択するために、変化形コードを値として指定する必要があります。
870 <entry><emphasis>Key</emphasis></entry>
873 このキーは、翻訳で使用する一般的な値です。
874 通常はカレンダーや文字照合、通貨などです。
875 希望通りのキーを選択するために、キーコードを値として指定する必要があります。
879 <entry><emphasis>DefaultCalendar</emphasis></entry>
881 指定したロケールにおけるデフォルトの暦を返します。
882 ほとんどのロケールでは、これは 'gregorian' (グレゴリオ暦) となります。
884 <link linkend="zend.date.introduction">Zend_Date</link>
889 <entry><emphasis>MonthContext</emphasis></entry>
891 指定した暦で用いる月のデフォルトコンテキストを返します。
892 値を省略した場合はグレゴリオ暦を使用します。
894 <link linkend="zend.date.introduction">Zend_Date</link>
899 <entry><emphasis>DefaultMonth</emphasis></entry>
901 指定した暦で用いる月のデフォルトフォーマットを返します。
902 値を省略した場合はグレゴリオ暦を使用します。
904 <link linkend="zend.date.introduction">Zend_Date</link>
909 <entry><emphasis>Month</emphasis></entry>
912 月を表す数値を値として指定する必要があります。
913 これは 1 から 12 までの数値となります。
914 他の暦、コンテキスト、フォーマットのデータを取得したい場合は、
918 'calendar', 'context', 'format', 'month number')</code>
919 となります。整数値のみを指定した場合のデフォルトは、
920 暦が 'gregorian'、コンテキストが 'format'
921 そしてフォーマットが 'wide' となります。
923 <link linkend="zend.date.introduction">Zend_Date</link>
928 <entry><emphasis>DayContext</emphasis></entry>
930 指定した暦で用いる日のデフォルトコンテキストを返します。
931 値を省略した場合はグレゴリオ暦を使用します。
933 <link linkend="zend.date.introduction">Zend_Date</link>
938 <entry><emphasis>DefaultDay</emphasis></entry>
940 指定した暦で用いる曜日のデフォルトフォーマットを返します。
941 値を省略した場合はグレゴリオ暦を使用します。
943 <link linkend="zend.date.introduction">Zend_Date</link>
948 <entry><emphasis>Day</emphasis></entry>
951 英語での曜日の省略名 ('sun', 'mon', など)
953 他の暦、コンテキスト、フォーマットのデータを取得したい場合は、
956 <code>array('calendar', 'context', 'format', 'day abbreviation')</code>
957 となります。文字列のみを指定した場合のデフォルトは、
958 暦が 'gregorian'、コンテキストが 'format'
959 そしてフォーマットが 'wide' となります。
961 <link linkend="zend.date.introduction">Zend_Date</link>
966 <entry><emphasis>Quarter</emphasis></entry>
969 四半期を表す数値を値として指定する必要があります。
970 これは 1 から 4 までの数値となります。
971 他の暦、コンテキスト、フォーマットのデータを取得したい場合は、
974 <code>array('calendar', 'context', 'format', 'quarter number')</code>
975 となります。文字列のみを指定した場合のデフォルトは、
976 暦が 'gregorian'、コンテキストが 'format'
977 そしてフォーマットが 'wide' となります。
981 <entry><emphasis>Am</emphasis></entry>
983 そのロケールにおける 'AM' の翻訳を返します。
984 他の暦の値を取得したい場合は、その暦を文字列で指定します。
985 値を省略した場合はグレゴリオ暦を使用します。
987 <link linkend="zend.date.introduction">Zend_Date</link>
992 <entry><emphasis>Pm</emphasis></entry>
994 そのロケールにおける 'PM' の翻訳を返します。
995 他の暦の値を取得したい場合は、その暦を文字列で指定します。
996 値を省略した場合はグレゴリオ暦を使用します。
998 <link linkend="zend.date.introduction">Zend_Date</link>
1003 <entry><emphasis>Era</emphasis></entry>
1005 そのロケールにおける紀元の翻訳を返します。
1006 紀元番号を文字列あるいは整数値で指定します。
1007 他の暦やフォーマットの値を取得したい場合は、
1010 <code>array('calendar', 'format', 'era number')</code>
1011 となります。文字列のみを指定した場合のデフォルトは、
1012 暦が 'gregorian'、コンテキストが 'format'
1013 そしてフォーマットが 'wide' となります。
1017 <entry><emphasis>DefaultDate</emphasis></entry>
1019 指定した暦で用いる日のデフォルトフォーマットを返します。
1020 値を省略した場合はグレゴリオ暦を使用します。
1022 <link linkend="zend.date.introduction">Zend_Date</link>
1027 <entry><emphasis>Date</emphasis></entry>
1029 そのロケールにおける、指定した暦あるいはフォーマットでの日のフォーマットを返します。
1030 値を省略した場合は、暦が 'gregorian'、フォーマットが
1032 文字列を指定した場合は、暦が 'gregorian'
1033 でフォーマットが指定したものとなります。
1034 <code>array('calendar', 'format')</code>
1037 <link linkend="zend.date.introduction">Zend_Date</link>
1042 <entry><emphasis>DefaultTime</emphasis></entry>
1044 指定した暦で用いる時刻のデフォルトフォーマットを返します。
1045 値を省略した場合はグレゴリオ暦を使用します。
1047 <link linkend="zend.date.introduction">Zend_Date</link>
1052 <entry><emphasis>Time</emphasis></entry>
1054 そのロケールにおける、指定した暦あるいはフォーマットでの時刻のフォーマットを返します。
1055 値を省略した場合は、暦が 'gregorian'、フォーマットが
1057 文字列を指定した場合は、暦が 'gregorian'
1058 でフォーマットが指定したものとなります。
1059 <code>array('calendar', 'format')</code>
1062 <link linkend="zend.date.introduction">Zend_Date</link>
1067 <entry><emphasis>DateTime</emphasis></entry>
1069 そのロケールにおける日付、時刻のフォーマットを返します。
1070 これは、指定した暦において日付と時刻を表示する方法を示すものです。
1071 値を省略した場合はグレゴリオ暦を使用します。
1073 <link linkend="zend.date.introduction">Zend_Date</link>
1078 <entry><emphasis>DateItem</emphasis></entry>
1079 <entry>指定した日付項目あるいは時刻項目に関するデフォルトフォーマットを返します。</entry>
1082 <entry><emphasis>DateInterval</emphasis></entry>
1084 指定した日付・時刻フォーマットの間隔フォーマットを返します。
1085 最初の値は暦のフォーマットで、通常は 'gregorian' となります。
1088 たとえば、array('gregorian', 'yMMMM', 'y') は間隔フォーマット
1089 'yMMMM' で、最大の差は 'y' となります。
1093 <entry><emphasis>Field</emphasis></entry>
1096 これは、カレンダーや日付で 'month' や 'year'
1097 といった文字列を各国語で表示する際に使用します。
1098 返したいフィールドを文字列で指定する必要があります。
1100 他の暦におけるフィールドを取得するには、
1101 <code>array('calendar', 'date field')</code>
1106 <entry><emphasis>Relative</emphasis></entry>
1109 'yesterday' や 'tomorrow'
1110 といった文字列を各国語で表示する際に使用します。
1111 返したい日付を表す数値 (明日を基準とした相対値) を指定する必要があります。
1112 昨日はら '-1'、明日なら '1' といったようになります。
1115 <code>array('calendar', 'relative days')</code>
1118 <link linkend="zend.date.introduction">Zend_Date</link>
1123 <entry><emphasis>DecimalNumber</emphasis></entry>
1125 指定したロケールにおける十進数値のフォーマットを返します。
1127 <link linkend="zend.locale.parsing">Zend_Locale_Format</link>
1132 <entry><emphasis>ScientificNumber</emphasis></entry>
1133 <entry>指定したロケールにおける科学記法の数値フォーマットを返します。</entry>
1136 <entry><emphasis>PercentNumber</emphasis></entry>
1137 <entry>指定したロケールにおけるパーセンテージの数値フォーマットを返します。</entry>
1140 <entry><emphasis>CurrencyNumber</emphasis></entry>
1142 指定したロケールにおける通貨の数値フォーマットを返します。
1144 <link linkend="zend.currency.introduction">Zend_Currency</link>
1149 <entry><emphasis>NameToCurrency</emphasis></entry>
1152 通貨は <acronym>ISO</acronym> フォーマットで指定する必要があります。
1153 たとえば、通貨 'euro' を表すには 'EUR' と指定します。
1155 <link linkend="zend.currency.introduction">Zend_Currency</link>
1160 <entry><emphasis>CurrencyToName</emphasis></entry>
1162 指定した地域化名に対応する通貨を返します。
1164 <link linkend="zend.currency.introduction">Zend_Currency</link>
1169 <entry><emphasis>CurrencySymbol</emphasis></entry>
1171 指定したロケールにおいて使用する通貨記号を返します。
1172 すべての通貨に記号が存在するわけではありません。
1174 <link linkend="zend.currency.introduction">Zend_Currency</link>
1179 <entry><emphasis>Question</emphasis></entry>
1181 肯定 ('yes') および否定 ('no')
1183 'yes' あるいは 'no' を値として指定すると、対応する文字列を取得できます。
1185 <link linkend="zend.locale.getquestion">Zend_Locale の getQuestion メソッド</link>
1190 <entry><emphasis>CurrencyFraction</emphasis></entry>
1192 指定した通貨で使用する小数点以下の桁数を返します。
1193 通貨は <acronym>ISO</acronym> 形式で指定する必要があります。
1195 <link linkend="zend.currency.introduction">Zend_Currency</link>
1200 <entry><emphasis>CurrencyRounding</emphasis></entry>
1203 通貨は <acronym>ISO</acronym> 形式で指定する必要があります。
1204 通貨を省略した場合は、デフォルトの丸め規則を返します。
1206 <link linkend="zend.currency.introduction">Zend_Currency</link>
1211 <entry><emphasis>CurrencyToRegion</emphasis></entry>
1214 地域コードは <constant>ISO3166</constant> 形式で指定する必要があります。
1215 たとえばオーストリアは 'AT' となります。
1217 <link linkend="zend.currency.introduction">Zend_Currency</link>
1222 <entry><emphasis>RegionToCurrency</emphasis></entry>
1225 通貨は <constant>ISO4217</constant> のコードで指定する必要があります。
1226 たとえばユーロは 'EUR' となります。
1227 その通貨が複数の地域で用いられている場合は、
1230 <link linkend="zend.currency.introduction">Zend_Currency</link>
1235 <entry><emphasis>RegionToTerritory</emphasis></entry>
1238 領域は <constant>ISO4217</constant> 形式の文字列で指定する必要があります。
1239 たとえば '001' は世界を現します。
1240 この領域内の地域が空白区切り形式となります。
1244 <entry><emphasis>TerritoryToRegion</emphasis></entry>
1247 地域は <constant>ISO3166</constant> 形式の文字列で指定する必要があります。
1248 たとえばオーストリアは 'AT' となります。
1254 <entry><emphasis>ScriptToLanguage</emphasis></entry>
1257 言語は <acronym>ISO</acronym> 言語コードで指定する必要があります。
1259 その言語で複数の文字が用いられる場合は、
1264 <entry><emphasis>LanguageToScript</emphasis></entry>
1266 指定した文字が用いられている言語を返します。
1267 文字は <acronym>ISO</acronym> 文字コードで指定する必要があります。
1268 たとえばラテン文字は 'Latn' となります。
1269 その文字が複数の言語で用いられている場合は、
1274 <entry><emphasis>TerritoryToLanguage</emphasis></entry>
1276 指定した言語が用いられている領域を返します。
1277 言語は <acronym>ISO</acronym> 言語コードで指定する必要があります。
1279 その言語が複数の領域で用いられる場合は、
1284 <entry><emphasis>LanguageToTerritory</emphasis></entry>
1286 指定した領域で用いられている言語の一覧を返します。
1287 領域は <constant>ISO3166</constant> 形式のコードで指定する必要があります。
1288 たとえばイタリアは 'IT' となります。
1289 その言語が複数の領域で用いられる場合は、
1294 <entry><emphasis>TimezoneToWindows</emphasis></entry>
1295 <entry>指定した Windows タイムゾーンに対応する <acronym>ISO</acronym> タイムゾーンを返します。</entry>
1298 <entry><emphasis>WindowsToTimezone</emphasis></entry>
1299 <entry>指定した <acronym>ISO</acronym> タイムゾーンに対応する Windows タイムゾーンを返します。</entry>
1302 <entry><emphasis>TerritoryToTimezone</emphasis></entry>
1303 <entry>指定した <acronym>ISO</acronym> タイムゾーンに対応する領域を返します。</entry>
1306 <entry><emphasis>TimezoneToTerritory</emphasis></entry>
1307 <entry>指定した領域に対応する <acronym>ISO</acronym> タイムゾーンを返します。</entry>
1310 <entry><emphasis>CityToTimezone</emphasis></entry>
1312 指定した <acronym>ISO</acronym> タイムゾーンに対応する地域化した都市名を返します。
1313 すべてのタイムゾーンが都市名に変換できるわけではありません。
1317 <entry><emphasis>TimezoneToCity</emphasis></entry>
1319 指定した地域化都市名に対応する <acronym>ISO</acronym> タイムゾーンを返します。
1320 すべての都市名がタイムゾーンに対応しているわけではありません。
1324 <entry><emphasis>PhoneToTerritory</emphasis></entry>
1326 指定した領域 (地域) に対応する電話コードを返します。
1327 領域コードは <constant>ISO3166</constant> 形式の文字列で指定する必要があります。
1328 たとえばオーストリアは 'AT' となります。
1332 <entry><emphasis>TerritoryToPhone</emphasis></entry>
1334 電話コードが使われている領域 (地域) を返します。
1335 電話コードは整数値で指定する必要があります。
1336 たとえば '43' は +43 を表します。
1337 ひとつの電話コードが複数の領域 (地域) で使われている場合は、
1342 <entry><emphasis>NumericToTerritory</emphasis></entry>
1344 指定した領域 (地域) に対応する 3 桁の数値コードを返します。
1345 領域コードは <constant>ISO3166</constant> 形式の文字列で指定する必要があります。
1346 たとえばオーストリアは 'AT' となります。
1350 <entry><emphasis>TerritoryToNumeric</emphasis></entry>
1352 3 桁の数値コードに対応する領域 (地域) を返します。
1353 3 桁の数値コードは整数値で指定する必要があります。
1358 <entry><emphasis>Alpha3ToTerritory</emphasis></entry>
1360 指定した領域 (地域) に対応する 3 桁の文字コードを返します。
1361 領域コードは <constant>ISO3166</constant> 形式の文字列で指定する必要があります。
1362 たとえばオーストリアは 'AT' となります。
1366 <entry><emphasis>TerritoryToAlpha3</emphasis></entry>
1367 <entry>3 桁の文字コードに対応する領域 (地域) を返します。</entry>
1370 <entry><emphasis>PostalToTerritory</emphasis></entry>
1372 指定した領域に対応する郵便番号の正規表現を返します。
1373 領域は <constant>ISO4217</constant> 形式の文字列で指定する必要があります。
1374 たとえば世界全体は '001' となります。
1378 <entry><emphasis>NumberingSystem</emphasis></entry>
1384 <entry><emphasis>FallbackToChar</emphasis></entry>
1386 よく使われる unicode 文字の置換用文字を返します。
1387 これを使用して、たとえば "©" を "(C)" に置換したりします。
1391 <entry><emphasis>CharToFallback</emphasis></entry>
1393 よく使われる置換用文字に対応する unicode 文字を返します。
1394 これを使用して、たとえば "(C)" を "©" に置換したりします。
1398 <entry><emphasis>LocaleUpgrade</emphasis></entry>
1400 指定した言語に関するロケールの依存性を返します。
1401 これを使用して、この言語を完全修飾形式のロケールに変換します。
1405 <entry><emphasis>Unit</emphasis></entry>
1408 これを使用して、"day" や "month" などといった文字列を自動的に翻訳します。
1409 最初のパラメータには型を、そして次のパラメータには数を指定しなければなりません。
1418 Zend Framework 1.5 では、いくつかの古い型の名前が変わりました。
1419 新しい型が追加されたこと、スペルが間違ったいたこと、
1420 そして使いやすさを考慮したことなどが理由です。
1425 <table id="zend.locale.getdata.table-3">
1426 <title>Zend Framework 1.0 と 1.5 の違い</title>
1436 <entry>Country</entry>
1437 <entry>Territory (値 '2')</entry>
1440 <entry>Calendar</entry>
1441 <entry>Type (値 'calendar')</entry>
1444 <entry>Month_Short</entry>
1445 <entry>Month (値 array('gregorian', 'format', 'abbreviated')</entry>
1448 <entry>Month_Narrow</entry>
1449 <entry>Month (値 array('gregorian', 'stand-alone', 'narrow')</entry>
1452 <entry>Month_Complete</entry>
1453 <entry>Months</entry>
1456 <entry>Day_Short</entry>
1457 <entry>Day (値 array('gregorian', 'format', 'abbreviated')</entry>
1460 <entry>Day_Narrow</entry>
1461 <entry>Day (値 array('gregorian', 'stand-alone', 'narrow')</entry>
1464 <entry>DateFormat</entry>
1468 <entry>TimeFormat</entry>
1472 <entry>Timezones</entry>
1473 <entry>CityToTimezone</entry>
1476 <entry>Currency</entry>
1477 <entry>NameToCurrency</entry>
1480 <entry>Currency_Sign</entry>
1481 <entry>CurrencySymbol</entry>
1484 <entry>Currency_Detail</entry>
1485 <entry>CurrencyToRegion</entry>
1488 <entry>Territory_Detail</entry>
1489 <entry>TerritoryToRegion</entry>
1492 <entry>Language_Detail</entry>
1493 <entry>LanguageToTerritory</entry>
1500 以下の例は、さまざまな言語でのものの名前を取得する方法を示すものです。
1503 <example id="zend.locale.getdata.example-3">
1504 <title>getTranslationList</title>
1505 <programlisting language="php"><![CDATA[
1506 // すべての国名をドイツ語で表示します
1507 print_r(Zend_Locale::getTranslationList('country', 'de'));
1508 ]]></programlisting>
1512 次の例は、ある言語の名前を別の言語でどのようにいうのかを、
1513 二文字の <acronym>ISO</acronym> 国コードを知らない場合に調べるものです。
1516 <example id="zend.locale.getdata.example-4">
1517 <title>国の名前を、ある言語から別の言語に変換する</title>
1518 <programlisting language="php"><![CDATA[
1519 $code2name = Zend_Locale::getLanguageTranslationList('en_US');
1520 $name2code = array_flip($code2name);
1521 $frenchCode = $name2code['French'];
1522 echo Zend_Locale::getLanguageTranslation($frenchCode, 'de_AT');
1523 // 出力は、「フランス語」を表すドイツ語の名前になります
1524 ]]></programlisting>
1528 <classname>Zend_Locale</classname> で使用できるすべての言語の一覧を、それぞれの言語での表記で取得するには、
1529 以下の例をウェブページで使用してみましょう。
1530 同様に <methodname>getCountryTranslationList()</methodname> および
1531 <methodname>getCountryTranslation()</methodname> を使用すると、
1532 あなたのネイティブ言語での地域名と別の言語での地域名の対応表を作成できます。
1533 <code>try .. catch</code> ブロックで、
1534 存在しないロケールを使用した場合の例外を処理するようにしましょう。
1535 すべての言語がすべてのロケールに対応しているわけではありません。
1537 スクリプトが途中で終わってしまうことを防いでいます。
1540 <example id="zend.locale.getdata.example-6">
1541 <title>すべての言語を、その国のネイティブ言語で書き出す</title>
1542 <programlisting language="php"><![CDATA[
1543 $list = Zend_Locale::getLanguageTranslationList('auto');
1545 foreach($list as $language => $content) {
1547 $output = Zend_Locale::getLanguageTranslation($language, $language);
1548 if (is_string($output)) {
1549 print "\n<br>[".$language."] ".$output;
1551 } catch (Exception $e) {
1555 ]]></programlisting>
1560 <sect2 id="zend.locale.getquestion">
1562 <title>"yes" および "no" に対応する翻訳の取得</title>
1565 プログラム上で、ユーザに "はい" あるいは "いいえ"
1567 <methodname>getQuestion()</methodname> を使用すると、
1568 ユーザに問い合わせるときに使用する単語あるいは正規表現文字列を含む配列を、
1569 特定の $locale (デフォルトは、そのオブジェクトのロケール)
1571 返される配列の中身は次のようになります。
1577 <emphasis>yes および no</emphasis>:
1578 yes および no に対応する一般的な文字列表現です。
1579 これは、yesarray および noarray の最初の要素でもあり、もっとも一般的な内容です。
1583 <emphasis>yesarray および noarray</emphasis>:
1584 yes および no に対応する内容をすべて含む配列です。
1585 言語によっては単に「はい」「いいえ」以外の返答を持つものもあります。
1586 一般に、これは完全な文字列とその省略形になります。
1590 <emphasis>yesexpr および noexpr</emphasis>:
1591 正規表現で、ユーザの回答から yes か no かを判定できるようにします。
1597 これらのすべての情報は当然地域化されており、
1598 設定されているロケールによって変化します。
1599 以下の例で、どのような情報が取得できるのかを確認してみましょう。
1602 <example id="zend.locale.getquestion.example-1">
1603 <title>getQuestion()</title>
1604 <programlisting language="php"><![CDATA[
1605 $locale = new Zend_Locale();
1607 print_r($locale->getQuestion('de'));
1627 [yesexpr] => ^([jJ][aA]?)|([jJ]?)
1628 [noexpr] => ^([nN]([eE][iI][nN])?)|([nN]?)
1630 ]]></programlisting>
1635 1.0.3 までは、<emphasis>yesabbr</emphasis>
1637 1.5 以降、この情報は単体では存在しません。しかし、同じ情報を
1638 <emphasis>yesarray</emphasis>
1644 <sect2 id="zend.locale.getlocalelist">
1646 <title>既知のロケールの一覧の取得</title>
1649 すべての既知のロケールの一覧を取得したいこともあるでしょう。
1650 たとえば、ロケール選択用の select 要素を作成する場合などに必要となるはずです。
1652 <methodname>getLocaleList()</methodname> を使用します。
1653 このメソッドは、すべての既知のロケールの一覧を返します。
1656 <example id="zend.locale.getlocalelist.example-1">
1657 <title>getLocaleList()</title>
1658 <programlisting language="php"><![CDATA[
1659 $localelist = Zend_Locale::getLocaleList();
1660 ]]></programlisting>
1665 返された配列のキーがロケール名となっていることに注意しましょう。
1666 キーに対応する値は、常に <constant>TRUE</constant> です。
1671 <sect2 id="zend.locale.detection">
1673 <title>ロケールの検出</title>
1676 指定した入力がロケールかどうかを知りたい場合は、静的メソッド
1677 <methodname>isLocale()</methodname> を使用します。
1678 このメソッドの最初のパラメータとして、調べたい文字列を指定します。
1681 <example id="zend.locale.detection.example-1">
1682 <title>シンプルなロケールの検出</title>
1683 <programlisting language="php"><![CDATA[
1685 if (Zend_Locale::isLocale($input)) {
1686 print "'{$input}' is a locale";
1688 print "Sorry... the given input is no locale";
1690 ]]></programlisting>
1694 ごらんのとおり、このメソッドの出力は常に boolean となります。
1695 このメソッドをコールして唯一例外が発生するのは、
1696 システム側でロケールを一切提供しておらず、Zend Framework
1697 がロケールを自動検出できなかった場合です。
1698 通常、このような場合は、ご利用の OS 上で <acronym>PHP</acronym> の
1699 <methodname>setlocale()</methodname> がうまく動作しないでしょう。
1703 指定したロケールに地域部が存在しない場合でも、
1704 自動的に地域部をはずして検出してくれることにもお気づきでしょう。
1705 先ほどの例では、言語 <code>'to'</code> は地域
1706 <code>'RU'</code> 内に存在しません。しかし、返される結果は <constant>TRUE</constant> となります。
1707 <classname>Zend_Locale</classname> は指定した入力を処理できるからです。
1711 しかし、この自動変換機能がじゃまになることもあるでしょう。そんな場合には
1712 <methodname>isLocale()</methodname> の 2 番目のパラメータを使用します。
1713 <code>strict</code> パラメータのデフォルトは
1714 <constant>FALSE</constant> で、自動変換を無効にするにはこれを <constant>TRUE</constant>
1718 <example id="zend.locale.detection.example-2">
1719 <title>厳格なロケール検出</title>
1720 <programlisting language="php"><![CDATA[
1722 if (Zend_Locale::isLocale($input, true)) {
1723 print "'{$input}' is a locale";
1725 print "Sorry... the given input is no locale";
1727 ]]></programlisting>
1731 これで指定した文字列がロケールかどうかを判別できるようになったので、
1732 自作のクラスでロケール対応の処理ができるようになりました。
1733 しかし、すでにお気づきかもしれませんが、毎回のように次のような
1734 15 行のコードを書かなければならないことになってしまいます。
1737 <example id="zend.locale.detection.example-3">
1738 <title>ロケールに対応した振る舞いの実装</title>
1739 <programlisting language="php"><![CDATA[
1740 if ($locale === null) {
1741 $locale = new Zend_Locale();
1744 if (!Zend_Locale::isLocale($locale, true, false)) {
1745 if (!Zend_Locale::isLocale($locale, false, false)) {
1746 throw new Zend_Locale_Exception(
1747 "The locale '$locale' is no known locale");
1750 $locale = new Zend_Locale($locale);
1753 if ($locale instanceof Zend_Locale) {
1754 $locale = $locale->toString();
1756 ]]></programlisting>
1760 Zend Framework 1.8 で、静的メソッド <methodname>findLocale()</methodname>
1761 が追加されました。これは、現在使用中のロケール文字列を返します。
1762 このメソッドは、次のような処理を行います。
1768 指定した文字列がロケールかどうかを調べる
1773 指定した地域にロケールが存在しない場合は地域部をはずす
1777 <!-- TODO : to be translated -->
1780 Upgrades the locale when it is detected as region without language
1786 入力を省略した場合は、それまでにアプリケーションで設定されていたロケールを返す
1791 ここまでの検出に失敗した場合はブラウザのロケールを検出する
1796 ここまでの検出に失敗した場合は環境変数のロケールを検出する
1801 ここまでの検出に失敗した場合はフレームワークのロケールを検出する
1806 常に、見つかったロケールを表す文字列を返す
1812 次の例は、さきほどのコードをたったひとつのメソッドコールで置き換えるものです。
1815 <example id="zend.locale.detection.example-4">
1816 <title>Zend Framework 1.8 以降でのロケール対応の振る舞いの実装</title>
1817 <programlisting language="php"><![CDATA[
1818 $locale = Zend_Locale::findLocale($inputstring);
1819 ]]></programlisting>
1824 vim:se ts=4 sw=4 et: