array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'class.locale.php', 1 => 'Locale', ), 'up' => array ( 0 => 'book.intl.php', 1 => 'intl', ), 'prev' => array ( 0 => 'numberformatter.settextattribute.php', 1 => 'NumberFormatter::setTextAttribute', ), 'next' => array ( 0 => 'locale.acceptfromhttp.php', 1 => 'Locale::acceptFromHttp', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/intl/locale.xml', ), 'extra_header_links' => array ( 'rel' => 'alternate', 'href' => '/manual/en/feeds/class.locale.atom', 'type' => 'application/atom+xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
"ロケール" とは、言語や文化等の地域固有の内容を API で取得する際に使用する識別子のことです。PHP で使用しているロケールは、 ICU (そして他の多くの Unix 系 OS や Mac、Java など) が採用している CLDR ロケールと同じです。 ロケールは、RFC 4646 形式の言語タグ (アンダースコアではなくハイフンを使用したもの) を使用します。古くから用いられているアンダースコア形式の識別子も使用できます。 特にことわりがない限り、このクラスの関数では両方の形式の識別子を使用可能です。
識別子の例を以下にあげます。
Locale クラス (そしてそれに対応する手続き型の関数) を使用して、ロケール識別子に対する操作を行います。 たとえばその識別子が妥当な形式かどうかを調べたりします。 CLDR が UAX #35 で使用している (そして ICU も継承している) 拡張は、ICU で普通に用いることができます。
Locale クラスのインスタンスを作成することはできません。 すべての関数/メソッドは :: を付けて呼び出します。
null や空文字列は "root" ロケールとなります。 この "root" ロケールは、CLDR においては "en_US_POSIX" と同じ意味になります。言語タグ (そして ロケール識別子) は大文字小文字を区別しません。 仕様にあわせて大文字小文字の正規化を行う関数が存在します。
Locale::DEFAULT_LOCALE
これらの定数は、さまざまなクラスの getLocale メソッドでロケールを選択するために使用します。
Locale::ACTUAL_LOCALE
Locale::VALID_LOCALE
これらの定数は、ロケールのパースや合成の方法を定義します。 locale_compose() の引数に渡す配列のキーとして使用し、 また locale_parse() が返す連想配列のキーとしても用いられます。
Locale::LANG_TAG
Locale::EXTLANG_TAG
Locale::SCRIPT_TAG
Locale::REGION_TAG
Locale::VARIANT_TAG
Locale::GRANDFATHERED_LANG_TAG
Locale::PRIVATE_TAG