1. ホーム
  2. php

en_UKは不正なロケールですか?

2023-09-25 12:12:32

質問

これまで、イギリス英語には常に 'en_UK' を使用していました。今日、Zend Frameworkでそれを使用すると、ロケールが認識される長いロケールのリストに含まれていないため、エラーが発生しました。

以下は、そのリストの短い抜粋です。

'ee_GH' => true, 'ee_TG' => true, 'ee'    => true, 'el_CY' => true, 'el_GR' => true,
'el'    => true, 'en_AS' => true, 'en_AU' => true, 'en_BE' => true, 'en_BW' => true,
'en_BZ' => true, 'en_CA' => true, 'en_GB' => true, 'en_GU' => true, 'en_HK' => true,
'en_IE' => true, 'en_IN' => true, 'en_JM' => true, 'en_MH' => true, 'en_MP' => true,
'en_MT' => true, 'en_NA' => true, 'en_NZ' => true, 'en_PH' => true, 'en_PK' => true,
'en_SG' => true, 'en_TT' => true, 'en_UM' => true, 'en_US' => true, 'en_VI' => true,
'en_ZA' => true, 'en_ZW' => true, 'en'    => true, 'eo'    => true, 'es_AR' => true,
'es_BO' => true, 'es_CL' => true, 'es_CO' => true, 'es_CR' => true, 'es_DO' => true,

ご覧の通り、英語を使用するあらゆる種類の領域があり、グレートブリテン島を意味すると思われる 'en_GB' という項目もあります... しかし 'en_UK' は存在しません。これは Zend Framework の「バグ」なのでしょうか、それとも他に理由があるのでしょうか?

どのように解決するのですか?

正しい国番号は en_GB . ロケールは国番号に ISO 3166-1 を使用します。そのため wikipedia writeup が含まれます。

<ブロッククオート

コードは、ISO 3166/MAに従って、"国名を反映するために選択されています。 国名と国コードの視覚的な関連付けを可能にするために、国名の重要でユニークな要素を反映するように 国名と国コードの視覚的な関連付けができるようにするためである[7]。 このため、quot;Republic", "Kingdom" のような国名の一般的な構成要素は、quot;United" と呼ばれる。 連邦」、「民主」などの国名の一般的な構成要素は、コード要素の導出には通常使用されません。 は、通常、コード要素の導出に使用されません。その結果、たとえば、イギリスには は、UK ではなく GB というアルファ 2 コードが公式に割り当てられています。 グレートブリテンおよび北アイルランド連合王国" に基づいています。 ただし、UK は英国の要請により予約されています。 を予約しています)。