2

私は現在、国、州、および地方のリストを配列の形式で格納するクラスから、ldml xml ファイルの形式で Zend の Locale データを使用するクラスに移行しています。これらの ldml ファイルは、国、通貨、言語のローカライズされたリストを提供します。そのため、米国の州、(カナダの州)、接頭辞をどこに保存すればよいか正確にはわかりません。おそらく、一般的な xml ファイルを作成して同じ場所に保存するだけだと考えていました。ディレクトリをldmlファイルとして保存しますが、英語で保存すると実際にはローカライズされないため、疑問があります.

一般的なxmlファイルに保存するか、各ロケールファイル( en.xml など)を更新して追加する必要がありますか?後者はおそらく作業する価値がないので、私は単にgeneral.xmlまたはdropdown-data.xml.

ドロップダウン オプションの生成に関しては、米国のすべての州を取得し、その配列にカナダの州を追加し、それに「その他」オプションを追加するだけでよいと思いますが、これは正しい方法のように思えますか?

4

2 に答える 2

1

私もこの問題に遭遇しました。Zend_Locale とカスタム xml ファイルを組み合わせて使用​​しています。

Zend_Locale を使用して国リストを生成します。

$locale = new Zend_Locale(Zend_Locale::BROWSER);
$countries = $locale->getTranslationList('Territory', Zend_Locale::BROWSER, 2);
asort($countries, SORT_LOCALE_STRING);
// unset invalid countries
unset($countries['SU'], $countries['ZZ'], $countries['IM'], $countries['JE'], $countries['VD']);

次に、カスタム XML ファイルは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<countries>
  <AD>
    <region>Andorra</region>
    <region>Parròquia de Canillo</region>
    <region>Parròquia d'Encamp</region>
    <region>Parròquia de la Massana</region>

の各子要素<countries>は、 のキー値に対応する 2 文字の国コードです$countries。次に、国ドロップダウンの値が変更されるたびに、ajax/php/xpath を使用して都道府県ドロップダウンを再設定します。

ここから XML ファイルを自由にダウンロードしてください: http://gregan.org/provinces.xml 元のデータをどこで入手したか覚えていません。また、その有効性を保証するものでもありません。

于 2010-01-06T20:52:50.760 に答える
0

あなたが本当に野心的であると感じているなら、#1529がこのタイプのデータに関係する CLDR に何かを設計/貢献することを試みることができます。

于 2010-05-15T01:33:14.360 に答える