PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

導入> <ob_iconv_handler
Last updated: Fri, 29 Aug 2008

view this page in

国際化関数

phpdoc:classref

Collator クラス

導入

各ロケール固有の並び順を考慮した文字列の比較機能を提供します。

クラス概要

Collator
class Collator {
/* メソッド */
__construct ( string $locale )
bool asort ( array &$arr [, integer $sort_flag ] )
integer compare ( string $str1 , string $str2 )
static Collator create ( string $locale )
integer getAttribute ( integer $attr )
integer getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ integer $type ] )
integer getStrength ( void )
bool setAttribute ( integer $attr , integer $val )
bool setStrength ( integer $strength )
bool sortWithSortKeys ( array &$arr )
bool sort ( array &$arr [, integer $sort_flag ] )
}

定義済み定数

Collator::FRENCH_COLLATION (integer)

文字列の後に続くさまざまなアクセントによる並べ替えを行います。 この属性は、フランス語などの一部のロケールでは自動的に On となります。 通常は、この属性を明示的に設定する必要はありません。 これを On にすると文字列の比較の効率が落ちますが、 ソートキーの長さは影響を受けません。 使用できる値は次のとおりです。

  • Collator::ON
  • Collator::OFF(デフォルト)
  • Collator::DEFAULT_VALUE

例1 FRENCH_COLLATION のルール

  • F=OFF cote < coté < côte < côté
  • F=ON cote < côte < coté < côté

Collator::ALTERNATE_HANDLING (integer)

Alternate 属性は、UCA における、いわゆる "可変文字 (variable characters)"、 つまり空白や句読点、記号の処理方法を制御するものです。 Alternate を NonIgnorable (N) に設定すると、これらの文字の違いを通常の文字の違いと同じように扱います。 Alternate を Shifted (S) に設定すると、これらの文字の違いの重要度を低くします。 Shifted は、Strength を Quaternary (第四段階) に指定して使用することが多くなります。 この場合、文字列の比較において空白や句読点そして記号の違いを考慮するのは それ以外の要素 (文字、アクセント、大文字小文字) がすべて一致する場合のみとなります。 Alternate を Shifted 以外にした場合は、 Strength が 3 のときと 4 のときの違いがなくなります。 詳細な情報やサンプルは、 » UCA の Variable_Weighting を参照ください。 Alternate の値を単なる OnOff にしていない理由は、将来的にさらに別の値が追加される可能性があるからです。 UCA のオプション Blanked を表すには、Strength を 3 そして Alternate を Shifted に設定します。 大半のロケールでは、デフォルトは NonIgnorable です。 Shifted を選択すると、記号類以外が等しい文字列がたくさんあるときに処理速度が低下します。 強度レベルを上げない限り、ソートキーの長さには影響を与えません。

使用できる値は次のとおりです。

  • Collator::NON_IGNORABLE(デフォルト)
  • Collator::SHIFTED
  • Collator::DEFAULT_VALUE

例2 ALTERNATE_HANDLING のルール

  • S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
  • S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
  • S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA

Collator::CASE_FIRST (integer)

Case_First 属性は、 文字列のその他の部分に違いがないときに 大文字と小文字のどちらが前にくるかを指定するものです。 使用できる値は、 Uppercase_First (U) と Lowercase_First (L)、そして標準の DefaultOff です。 Off と Lowercase_First は、結果に関していえばほとんど違いはありません。 そのため、普通は Lowercase_First を使うことはありません。 Off あるいは Uppercase_First を使用することになります (X と L の違いを知りたい人は、Collation Customization を調べてください)。 L あるいは U のいずれを指定しても、文字列比較の処理速度には影響を与えません。 しかし、ソートキーの長さには影響を与えます。

使用できる値は次のとおりです。

  • Collator::OFF(デフォルト)
  • Collator::LOWER_FIRST
  • Collator::UPPER_FIRST
  • Collator:DEFAULT

例3 CASE_FIRST のルール

  • C=X or C=L "china" < "China" < "denmark" < "Denmark"
  • C=U "China" < "china" < "Denmark" < "denmark"

Collator::CASE_LEVEL (integer)

Case_Level 属性は、アクセントは無視するものの大文字小文字は区別したい場合に使用します。 そんな場合は、Strength を Primary にして Case_Level を On とします。 大半のロケールでは、この設定はデフォルトで Off となっています。 この属性を On にすると、文字列の比較のパフォーマンスやソートキーに多少影響を及ぼします。

使用できる値は次のとおりです。

  • Collator::OFF(デフォルト)
  • Collator::ON
  • Collator::DEFAULT_VALUE

例4 CASE_LEVEL のルール

  • S=1, E=X role = Role = rôle
  • S=1, E=O role = rôle < Role

Collator::NORMALIZATION_MODE (integer)

Normalization 設定は、比較時にテキストを正規化するか否かを指定します。 この設定を off (多くのロケールにおけるデフォルト設定です) にしても、 一般的な使用法ではほぼ正確に利用できます (詳細は UTN #5 を参照ください)。 問題となるのは、アクセント記号が正規の位置以外に登場する場合などです。 この設定を On にすると、 どんなテキストが与えられたとしても可能な限り結果を保証するようにします。 この属性を On にすると、 文字列比較のパフォーマンスに中程度の影響を及ぼします。 影響の程度は、正規化を要する並びの登場頻度に依存します。 ソートキーの長さには、目立った影響は及ぼしません。 入力テキストが NFD あるいは NFKD 形式で正規化されている場合は、 このオプションを有効にする必要はありません。

使用できる値は次のとおりです。

  • Collator::OFF(デフォルト)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::STRENGTH (integer)

ICU Collation Service は、多くの比較レベルをサポートしています ("レベル" という名前ですが、"強度" と呼ばれることもあります)。 これらのカテゴリを用いることで、ICU は、 各地域の規約にあわせた適切な文字列の並べ替えを正確に行えるようになります。 また、各段階を選択して採用することで、 テキスト内の文字列検索をさまざまな条件で行うことも可能になります。 詳細な情報は collator_set_strength() を参照ください。

使用できる値は次のとおりです。

  • Collator::PRIMARY
  • Collator::SECONDARY
  • Collator::TERTIARY(デフォルト)
  • Collator::QUATERNARY
  • Collator::IDENTICAL
  • Collator::DEFAULT_VALUE

Collator::HIRAGANA_QUATERNARY_MODE (integer)

JIS x 4061 との互換性を維持するには、さらなるレベルを追加して ひらがなとカタカナを区別する必要があります。 標準規格との互換性を要する場合は、この属性を On にして強度を Quaternary にしなければなりません。 これは、ソートキーの長さにも文字列比較のパフォーマンスにも影響を及ぼします。

使用できる値は次のとおりです。

  • Collator::OFF(デフォルト)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::NUMERIC_COLLATION (integer)

on にすると、数値形式の文字列の各桁を数値として使用した照合キーを生成します。 これにより、'100' のほうが '2' より「後」に並ぶようになります。

使用できる値は次のとおりです。

  • Collator::OFF(デフォルト)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::DEFAULT_VALUE (integer)
Collator::PRIMARY (integer)
Collator::SECONDARY (integer)
Collator::TERTIARY (integer)
Collator::DEFAULT_STRENGTH (integer)
Collator::QUATERNARY (integer)
Collator::IDENTICAL (integer)
Collator::OFF (integer)
Collator::ON (integer)
Collator::SHIFTED (integer)
Collator::NON_IGNORABLE (integer)
Collator::LOWER_FIRST (integer)
Collator::UPPER_FIRST (integer)

/phpdoc:classref phpdoc:classref

NumberFormatter クラス

導入

プログラムで数値を保存したり操作したりする際には、 ロケールに依存しないバイナリ表現を使用します。 数値を表示するときに、ロケールにあわせた文字列形式に変換します。 たとえば 12345.67 という数値の表記はアメリカでは "12,345.67"、 フランスでは "12 345,67"、そしてドイツでは "12.345,67" となります。

NumberFormatter クラスのメソッドを実行すると、 数値や通貨、パーセンテージなどの値をロケールに応じた形式にフォーマットすることができます。 NumberFormatter はロケールを考慮した処理を行うので、 ロケールごとに別の NumberFormatter を用意する必要があります。 NumberFormatter のメソッドは、浮動小数点数値のような数値を ロケールにあわせた文字列に変換します。

通貨の場合は、通貨用の書式を使用してフォーマッタを作成します。 これは、ロケールにあわせて数値を適切な書式にして通貨記号をつけた文字列を返します。 もちろん、NumberFormatter クラスは為替レートの変換などは考慮しません。 指定した通貨にかかわらず、出力される数値は同じものとなります。 つまり、ロケールによって同じ数値が違う額を表すことになるということです。 9988776.65 という数値を指定したときの結果は次のようになります。

  • 9 988 776,65 € (フランス)
  • 9.988.776,65 € (ドイツ)
  • $9,988,776.65 in (アメリカ)

パーセンテージをフォーマットするには、 パーセンテージ用の書式を指定したフォーマッタを作成します。 これを使用すると、たとえば 0.75 のような小数が 75% と表示されるようになります。

spelled-out numbers のような複雑な書式を設定する場合は、 ルールベースの数値フォーマッタを使用します。

クラス概要

NumberFormatter
class NumberFormatter {
/* メソッド */
__construct ( string $locale , integer $style [, string $pattern ] )
static NumberFormatter create ( string $locale , integer $style [, string $pattern ] )
string formatCurrency ( double $value , string $currency )
string format ( number $value [, integer $type ] )
integer getAttribute ( integer $attr )
integer getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ integer $type ] )
string getPattern ( void )
string getSymbol ( integer $attr )
string getTextAttribute ( integer $attr )
double parseCurrency ( string $value , string &$currency [, integer &$position ] )
mixed parse ( string $value [, integer $type [, integer &$position ]] )
bool setAttribute ( integer $attr , integer $value )
bool setPattern ( string $pattern )
bool setSymbol ( integer $attr , string $value )
bool setTextAttribute ( integer $attr , string $value )
}

定義済み定数

これらのスタイルは numfmt_create() で使用するもので、フォーマッタの形式を定義します。

NumberFormatter::PATTERN_DECIMAL (integer)
パターンで定義する十進形式
NumberFormatter::DECIMAL (integer)
十進形式
NumberFormatter::CURRENCY (integer)
通貨形式
NumberFormatter::PERCENT (integer)
パーセント形式
NumberFormatter::SCIENTIFIC (integer)
科学形式
NumberFormatter::SPELLOUT (integer)
ルールベースの省略しない形式
NumberFormatter::ORDINAL (integer)
ルールベースの序数形式
NumberFormatter::DURATION (integer)
ルールベースの連続形式
NumberFormatter::PATTERN_RULEBASED (integer)
パターンで定義するルールベースの形式
NumberFormatter::DEFAULT_STYLE (integer)
そのロケールのデフォルトの形式
NumberFormatter::IGNORE (integer)
PATTERN_DECIMAL のエイリアス

これらの定数は、数値のパースやフォーマットの方法を定義します。 numfmt_format()numfmt_parse() の引数として使用します。

NumberFormatter::TYPE_DEFAULT (integer)
変数の型に由来する型
NumberFormatter::TYPE_INT32 (integer)
32 ビット整数値としてフォーマット/パースする
NumberFormatter::TYPE_INT64 (integer)
64 ビット整数値としてフォーマット/パースする
NumberFormatter::TYPE_DOUBLE (integer)
浮動小数点数値としてフォーマット/パースする
NumberFormatter::TYPE_CURRENCY (integer)
通貨値としてフォーマット/パースする

numfmt_get_attribute() および numfmt_set_attribute() で使用する数値フォーマット属性です。

NumberFormatter::PARSE_INT_ONLY (integer)
整数値のみをパースする
NumberFormatter::GROUPING_USED (integer)
グループ区切り文字を使用する
NumberFormatter::DECIMAL_ALWAYS_SHOWN (integer)
常に小数点を表示する
NumberFormatter::MAX_INTEGER_DIGITS (integer)
整数部の最大桁数
NumberFormatter::MIN_INTEGER_DIGITS (integer)
整数部の最小桁数
NumberFormatter::INTEGER_DIGITS (integer)
整数部の桁数
NumberFormatter::MAX_FRACTION_DIGITS (integer)
小数部の最大桁数
NumberFormatter::MIN_FRACTION_DIGITS (integer)
小数部の最小桁数
NumberFormatter::FRACTION_DIGITS (integer)
小数部の桁数
NumberFormatter::MULTIPLIER (integer)
乗数
NumberFormatter::GROUPING_SIZE (integer)
グループ化のサイズ
NumberFormatter::ROUNDING_MODE (integer)
丸めモード
NumberFormatter::ROUNDING_INCREMENT (integer)
切り上げ
NumberFormatter::FORMAT_WIDTH (integer)
format() の出力のパディング幅
NumberFormatter::PADDING_POSITION (integer)
パディングを行う位置。 使用できる引数の値についてはパディング位置に関する定数を参照ください。
NumberFormatter::SECONDARY_GROUPING_SIZE (integer)
第二段階のグループ化のサイズ
NumberFormatter::SIGNIFICANT_DIGITS_USED (integer)
有効数字を使用する
NumberFormatter::MIN_SIGNIFICANT_DIGITS (integer)
有効数字の最小桁数
NumberFormatter::MAX_SIGNIFICANT_DIGITS (integer)
有効数字の最大桁数
NumberFormatter::LENIENT_PARSE (integer)
ルールベースのフォーマットで使用する Lenient パースモード

numfmt_get_text_attribute() および numfmt_set_text_attribute() で使用する数値フォーマットテキスト属性です。

NumberFormatter::POSITIVE_PREFIX (integer)
正の数のプレフィックス
NumberFormatter::POSITIVE_SUFFIX (integer)
正の数のサフィックス
NumberFormatter::NEGATIVE_PREFIX (integer)
負の数のプレフィックス
NumberFormatter::NEGATIVE_SUFFIX (integer)
負の数のサフィックス
NumberFormatter::PADDING_CHARACTER (integer)
余白を埋める際に使用する文字
NumberFormatter::CURRENCY_CODE (integer)
ISO 通貨コード
NumberFormatter::DEFAULT_RULESET (integer)
デフォルトのルールセット。 ルールベースのフォーマッタでのみ有効です。
NumberFormatter::PUBLIC_RULESETS (integer)
パブリックルールセット。 これは、ルールベースのフォーマッタでのみ有効です。 これは読み込み専用の属性です。 パブリックルールセットは文字列として返され、 個々のルールセットは ';' (セミコロン) で区切られています。

numfmt_get_symbol() および numfmt_set_symbol() で使用する数値フォーマット記号です。

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL (integer)
小数点
NumberFormatter::GROUPING_SEPARATOR_SYMBOL (integer)
グループ区切り文字
NumberFormatter::PATTERN_SEPARATOR_SYMBOL (integer)
パターン区切り文字
NumberFormatter::PERCENT_SYMBOL (integer)
パーセント記号
NumberFormatter::ZERO_DIGIT_SYMBOL (integer)
ゼロ
NumberFormatter::DIGIT_SYMBOL (integer)
パターン内で数字を表す文字
NumberFormatter::MINUS_SIGN_SYMBOL (integer)
マイナス記号
NumberFormatter::PLUS_SIGN_SYMBOL (integer)
プラス記号
NumberFormatter::CURRENCY_SYMBOL (integer)
通貨記号
NumberFormatter::INTL_CURRENCY_SYMBOL (integer)
国際通貨記号
NumberFormatter::MONETARY_SEPARATOR_SYMBOL (integer)
金額の区切り文字
NumberFormatter::EXPONENTIAL_SYMBOL (integer)
指数記号
NumberFormatter::PERMILL_SYMBOL (integer)
パーミル記号
NumberFormatter::PAD_ESCAPE_SYMBOL (integer)
パディング文字のエスケープ記号
NumberFormatter::INFINITY_SYMBOL (integer)
無限大記号
NumberFormatter::NAN_SYMBOL (integer)
非数値記号
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL (integer)
有効数字記号
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL (integer)
金額のグループ区切り文字

numfmt_get_attribute() および numfmt_set_attribute() で、 NumberFormatter::ROUNDING_MODE 属性に使用する丸めモードの値です。

NumberFormatter::ROUND_CEILING (integer)
正の無限大に向けて丸めるモード
NumberFormatter::ROUND_DOWN (integer)
ゼロに向けて丸めるモード
NumberFormatter::ROUND_FLOOR (integer)
負の無限大に向けて丸めるモード
NumberFormatter::ROUND_HALFDOWN (integer)
"一番近いところ" に向けて丸めるモード。 両方から等距離にある場合はゼロに向けて丸めます。
NumberFormatter::ROUND_HALFEVEN (integer)
"一番近いところ" に向けて丸めるモード。 両方から等距離にある場合は偶数になるように丸めます。
NumberFormatter::ROUND_HALFUP (integer)
"一番近いところ" に向けて丸めるモード。 両方から等距離にある場合はゼロから離れる方向に丸めます。
NumberFormatter::ROUND_UP (integer)
ゼロから離れる方向に丸めるモード

numfmt_get_attribute() および numfmt_set_attribute() で、 NumberFormatter::PADDING_POSITION 属性に使用するパディング位置の値です。

NumberFormatter::PAD_AFTER_PREFIX (integer)
プレフィックスの後にパディング文字を入れる
NumberFormatter::PAD_AFTER_SUFFIX (integer)
サフィックスの後にパディング文字を入れる
NumberFormatter::PAD_BEFORE_PREFIX (integer)
プレフィックスの前にパディング文字を入れる
NumberFormatter::PAD_BEFORE_SUFFIX (integer)
サフィックスの前にパディング文字を入れる

/phpdoc:classref phpdoc:classref

Locale クラス

導入

"ロケール" とは、言語や文化等の地域固有の内容を API で取得する際に使用する識別子のことです。PHP で使用しているロケールは、 ICU (そして他の多くの Unix 系 OS や Mac、Java など) が採用している CLDR ロケールと同じです。 ロケールは、RFC 4646 形式の言語タグ (アンダースコアではなくハイフンを使用したもの) を使用します。古くから用いられているアンダースコア形式の識別子も使用できます。 特にことわりがない限り、このクラスの関数では両方の形式の識別子を使用可能です。

識別子の例を以下にあげます。

  • en-US (英語、米国)
  • zh-Hant-TW (中国語、繁体字、台湾 )
  • fr-CA, fr-FR (それぞれ、カナダのフランス語とフランスのフランス語)

Locale クラス (そしてそれに対応する手続き型の関数) を使用して、ロケール識別子に対する操作を行います。 たとえばその識別子が妥当な形式かどうかを調べたりします。 CLDR が UAX #35 で使用している (そして ICU も継承している) 拡張は、ICU で普通に用いることができます。

Locale クラスのインスタンスを作成することはできません。 すべての関数/メソッドは静的に使用します。

null や空文字列は "root" ロケールとなります。 この "root" ロケールは、CLDR においては "en_US_POSIX" と同じ意味になります。言語タグ (そして ロケール識別子) は大文字小文字を区別しません。 仕様にあわせて大文字小文字の正規化を行う関数が存在します。

クラス概要

Locale
class Locale {
/* メソッド */
static string acceptFromHttp ( string $header )
static string composeLocale ( array $subtags )
static boolean filterMatches ( string $langtag , string $locale )
static array getAllVariants ( string $locale )
static string getDefault ( void )
static string getDisplayLanguage ( string $locale [, string $in_locale ] )
static string getDisplayName ( string $locale [, string $in_locale ] )
static string getDisplayRegion ( string $locale [, string $in_locale ] )
static string getDisplayScript ( string $locale [, string $in_locale ] )
static string getDisplayVariant ( string $locale [, string $in_locale ] )
static array getKeywords ( string $locale )
static string getPrimaryLanguage ( string $locale )
static string getRegion ( string $locale )
static string getScript ( string $locale )
static string lookup ( array $langtag , string $locale , string $default )
static array parseLocale ( string $locale )
static boolean setDefault ( string $locale )
}

定義済み定数

これらの定数でロケールを定義します。

Locale::DEFAULT_LOCALE (string)
numfmt のようなロケールの影響を受けるさまざまなクラスの getLocale メソッドで使用します。
Locale::ACTUAL_LOCALE (string)
これは、データが実際にやってくる元のロケールです。
Locale::VALID_LOCALE (string)
これは、ICU がサポートする最も明確なロケールです。

これらの定数は、ロケールのパースや合成の方法を定義します。 locale_compose() の引数に渡す配列のキーとして使用し、 また locale_parse() が返す連想配列のキーとしても用いられます。

Locale::LANG_TAG (string)
言語サブタグ
Locale::EXTLANG_TAG (string)
拡張言語サブタグ
Locale::SCRIPT_TAG (string)
文字サブタグ
Locale::REGION_TAG (string)
地域サブタグ
Locale::VARIANT_TAG (string)
変化形サブタグ
Locale::GRANDFATHERED_LANG_TAG (string)
先祖言語 (Grandfathered Language) サブタグ
Locale::PRIVATE_TAG (string)
プライベートサブタグ

/phpdoc:classref phpdoc:classref

Normalizer クラス

導入

正規化とは、文字や文字列を正式に決められた表現に変換する処理のことです。 これは、検索や並べ替えなどの際に比較をするときに特に重要となります。 ただ、それだけではなく、テキストを保存する際に表記を統一するために用いることもあります。

Unicode Consortium では、 アプリケーション側でのさまざまなニーズにあわせていくつかの正規化方式を定義しています。

  • Normalization Form D (NFD) - Canonical Decomposition
  • Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
  • Normalization Form KD (NFKD) - Compatibility Decomposition
  • Normalization Form KC (NFKC) - Compatibility Decomposition followed by Canonical Composition
これらの方式は、テキストに対する変換 (transformation) のセットとして定義されます。変換 (transformation) は、アルゴリズムとデータファイルの両方で表現します。

クラス概要

Normalizer
class Normalizer {
/* メソッド */
static boolean isNormalized ( string $input [, string $form ] )
static string normalize ( string $input [, string $form ] )
}

定義済み定数

以下の定数は、使用する正規化方式を定義するものです。

Normalizer::FORM_C (string)
Normalization Form C (NFC) - Canonical Decomposition followed by Canonical Composition
Normalizer::FORM_D (string)
Normalization Form D (NFD) - Canonical Decomposition
Normalizer::FORM_KC (string)
Normalization Form KC (NFKC) - Compatibility Decomposition, followed by Canonical Composition
Normalizer::FORM_KD (string)
Normalization Form KD (NFKD) - Compatibility Decomposition
Normalizer::NONE (string)
分解/合成を行わない
Normalizer::OPTION_DEFAULT (string)
デフォルトの正規化オプション

/phpdoc:classref phpdoc:classref

MessageFormatter クラス

導入

MessageFormatter は、言語に依存しない連結されたメッセージを作成するための具象クラスです。 このクラスのメソッドを使用して、 エンドユーザ向けのすべてのメッセージを作成します。

MessageFormatter クラスは、プログラムから渡したさまざまな部品 (テキスト、数値、日付など) を組み合わせてメッセージを作成します。 MessageFormatter クラスでは、 プログラム側が部品の順序を気にする必要はありません。 このクラスでは、各部品に対して書式指定を使用し、 リソースバンドル内のひとつの文字列にメッセージをまとめます。 たとえば、 "Finished printing x out of y files..." のようなメッセージがあった場合に MessageFormatter は各翻訳に対して柔軟な表示を行います。

これまでは、エンドユーザ向けのメッセージは文章として作成し、 文字列で処理していました。 これは地域化の際にさまざまな問題を引き起こしていました。 文章の構造や単語の並び順、そして数値の書式などは 各言語によってさまざまに異なっているからです。 言語に依存しない方法でメッセージを作成するには、 メッセージの各部分を分割し、そこにデータへのキーを指定するようにします。 このキーを使用して、MessageFormatter クラスはメッセージの各部分を連結します。 そして地域化して適切な書式にした文字列をエンドユーザ向けに表示します。

MessageFormatter はオブジェクトのセットを受け取ってそれをフォーマットし、 フォーマットした文字列を適切な位置に埋め込みます。 MessageFormatter のフォーマットを選択することで、 数値にあわせて複数形を選択することができます。 一般的には、メッセージのフォーマットはリソースから取得し、 引数は実行時に動的に与えるようになります。

クラス概要

MessageFormatter
class MessageFormatter {
/* メソッド */
__construct ( string $locale , string $pattern )
MessageFormatter create ( string $locale , string $pattern )
static string formatMessage ( string $locale , string $pattern , array $args )
string format ( array $args )
integer getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ( void )
string getPattern ( void )
static array parseMessage ( string $locale , string $value )
array parse ( string $value )
boolean setPattern ( string $pattern )
}
/phpdoc:classref phpdoc:classref

IntlDateFormatter クラス

導入

Date Formatter は、パターン文字列や出来合いのパターンを使用して ロケールに依存する日付のフォーマット/パースを行う具象クラスです。

このクラスは ICU の日付フォーマット機能を表します。 これを使用すると、パターン文字列や出来合いのパターンを使用して 日付を各地域のフォーマットで表示したり、 文字列をパースして PHP の日付として扱ったりすることができます。

クラス概要

IntlDateFormatter
class IntlDateFormatter {
/* メソッド */
__construct ( string $locale , integer $datetype , integer $timetype [, string $timezone [, integer $calendar [, string $pattern ]]] )
static IntlDateFormatter create ( string $locale , integer $datetype , integer $timetype [, string $timezone [, integer $calendar [, string $pattern ]]] )
string format ( mixed $value )
integer getCalendar ( void )
integer getDateType ( void )
integer getErrorCode ( void )
string getErrorMessage ( void )
string getLocale ([ integer $which ] )
string getPattern ( void )
integer getTimeType ( void )
string getTimeZoneId ( void )
boolean isLenient ( void )
array localtime ( string $value [, integer &$position ] )
integer parse ( string $value [, integer &$position ] )
boolean setCalendar ( integer $which )
boolean setLenient ( boolean $lenient )
boolean setPattern ( string $pattern )
boolean setTimeZoneId ( string $zone )
}

定義済み定数

これらの定数は、DateType や TimeType のコンストラクタでさまざまなフォーマットを指定するために使用します。

IntlDateFormatter::NONE (string)
この要素を含まない
IntlDateFormatter::FULL (string)
完全に指定した形式 (Tuesday, April 12, 1952 AD あるいは 3:30:42pm PST)
IntlDateFormatter::LONG (string)
長い形式 (January 12, 1952 あるいは 3:30:32pm)
IntlDateFormatter::MEDIUM (string)
中間の形式 (Jan 12, 1952)
IntlDateFormatter::SHORT (string)
不可欠なデータのみを扱う最も省略した形式 (12/13/52 あるいは 3:30pm)

次の整数定数は、暦の種類を指定するものです。 これらの暦は、すべてグレゴリオ暦にもとづくものです。 グレゴリオ暦以外の暦はロケールで指定しなければなりません。 たとえば、 locale="hi@calendar=BUDDHIST" のようになります。

IntlDateFormatter::TRADITIONAL (string)
非グレゴリオ暦
IntlDateFormatter::GREGORIAN (string)
グレゴリオ暦

/phpdoc:classref

add a note add a note User Contributed Notes
intl
There are no user contributed notes for this page.

導入> <ob_iconv_handler
Last updated: Fri, 29 Aug 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites