ドットネットおよびJavaカルチャーコード
-
07-07-2019 - |
質問
アプリケーションカルチャ情報のルックアップテーブルを生成するという素晴らしい仕事を任されました。データを生成する必要がある列は次のとおりです。
- ドットネットコード
- バージョン
- 文化名
- 国名
- 言語名
- Java国コード
- Java言語コード
- Iso国コード
- Iso言語コード
グローバリゼーションのネームスペースは見つかりましたが、そこにいる誰かが同じ質問をしたか、すでに利用可能なテーブルがあります。
ご協力ありがとうございます
解決
Javaは2文字のISO国コードと言語コードを使用します。 「Java Country Code」を取り除くことをお勧めします。および「Java言語コード」ルックアップテーブルのフィールド。冗長になるためです。
ISO 国および言語コードを使用すると、対応する名前が英語で表示されます。ただし、Java ロケール API必要に応じて、国と言語のローカライズされた名前も提供します。 (つまり、日本ではアメリカとは何ですか?)
たとえば、これを行うことができます:
Locale l = Locale.ITALY;
System.out.println(l.getDisplayCountry() + ": " + l.getDisplayLanguage());
System.out.println(l.getDisplayCountry(l) + ": " + l.getDisplayLanguage(l));
米国英語ロケールで実行すると、次が印刷されます。
Italy: Italian
Italia: italiano
Localeクラスから3文字のISOコードを取得できますが、それらを構築するときは、必ず2文字のコードのみを使用してください。
他のヒント
それは奇妙なことです。前回このページにアクセスしたとき、誰かがローカライズのためのJava参照へのリンクを投稿するように私をbeatりました。
しかし、彼らの投稿はなくなったので、彼らが私に打ち負かされる前に私が書いていたものがここにあります。
Javaは、 javaでローカライズに2つのISO標準を使用します。 、util.Locale 。
- 2文字 ISO-639 言語用。
- 2文字国のISO-3166 。
Javaはロケールを使用してこの情報を保存します。それに関して必要な情報のほとんどは、Sunの国際化にあります。ページ。 Javaは、「en-us」に似た構文を使用します。ただし、ハイフンを使用するのではなく、アンダースコアで区切ります。
ローカライズまたは国際化またはi18nを意味すると思います。
このチュートリアルを試してください:
     http://java.sun。 com / docs / books / tutorial / i18n / index.html
幸運、 ランディ・ステグバウアー