はじめに
国際化用拡張モジュール (これ以降では Intl と略します)
は » ICU ライブラリのラッパーです。
PHP プログラマが、ロケール関連のさまざまな操作を行えるようにします。
フォーマット、音訳、エンコード変換、カレンダーの処理、
» UCA 準拠の照合順序 (collation)、
テキストの区切り、ロケール識別子やタイムゾーンや書記素を用いた操作などが可能です。
ICU の API に従って作成されているので、
C/C++ や Java で ICU を使ったことがあるかたは簡単に PHP の API
も使えることでしょう。
また、ICU のドキュメントを参考にすればさまざまな
ICU の関数について知ることができます。
Intl はいくつかのモジュールで構成されており、
各モジュールが対応する ICU API を公開しています。
-
Collator: ロケールに応じた適切な並び順を考慮して、文字列の比較を行います。
-
Number Formatter: 各地域固有の書式、あるいは指定した規則に基づいて数値を表示したり、
文字列を数値として解釈したりします。
-
Message Formatter: メッセージ関連のデータ (数値や日付など)
をパターンやロケールにあわせて適切にフォーマットしたり、
メッセージをパースしてデータを取り出したりします。
複数形を扱ったり、ロケールごとの数値や通貨や条件などを扱ったりすることもできます。
-
Normalizer: テキストに対して Unicode の正規化を行ったり、
指定した文字列が正規化済みかどうかを調べたりします。
-
Locale: ロケール識別子を扱うための機能を提供します。
たとえばロケール識別子のパースや作成、検索などを行います。
-
Calendar: ロケールにあわせたカレンダーの操作を行うためのクラスを提供します。
指定したロケールのタイムゾーンや週の最初の曜日を取得したり、
サマータイム中であるか否かを調べたりすることもできます。
-
Timezone: » "Olson" database のラッパーを提供します。
世界中のタイムゾーンに関する情報が含まれています。
-
Date formatter: ローカライズした書式や指定したパターン、ルールに基づいて日付と時刻を表示できるようにします。
また、文字列を日付や時刻としてパースすることもできます。