"en"
または"de"
のような言語コードの定数がjavaまたはjavaライブラリにありますか? (または[OK]の文字列を使用している?)javaまたはjavaライブラリに言語コードの定数がありますか?
私は
Locale.COUNTRY-NAME.getLanguage()
のようなものがうまくいくことを知っているが、私は
Locale.LANGUAGE-NAME
"en"
または"de"
のような言語コードの定数がjavaまたはjavaライブラリにありますか? (または[OK]の文字列を使用している?)javaまたはjavaライブラリに言語コードの定数がありますか?
私は
Locale.COUNTRY-NAME.getLanguage()
のようなものがうまくいくことを知っているが、私は
Locale.LANGUAGE-NAME
すべての言語には定数が存在しません。 Locale.UK
Locale.US
などのいくつかの事前定義されたロケールがあります。各ロケールには、getLanguage()
メソッドで取得できる言語コードがあります。 http://download.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html
ような、より合理化された何かうん... Locale.COUNTRY-NAME
2文字の言語コードはISO 639-1規格で定義されています。
はgetISOLanguages()
for(String lang : Locale.getISOLanguages()) {
System.out.println(lang);
}
詳細基本的なJVMの使用がサポートするすべての言語コードを取得します。 java.util.Locale
クラスにはすべてが含まれているのではなく、VMでサポートされているロケール(Locale.getAvailableLocales()
)のみが含まれています。
JavaのすべてのISO 639-1言語コードにアクセスする最も簡単な方法は、International Components for Unicodeプロジェクト(ICU4J)—にあり、IBMの幅広く広く使用されており、積極的に開発されたi18nライブラリに依存することです。すべての言語のリストをULocaleクラスcom.ibm.icu.util.ULocale.getISOLanguages()から得ることができます。
639-2ではなく、ISO 639-1です。そうでなければ、+1。 – Henning
同じことではありません。 Martinは* country *コードではなく* language *コードを探しています。必ずしも1対1をお互いにマップしているわけではありません。 –
@Michael:そうです。 –
あなたは 'locale local = Locale.ENGLISH;のように言語を取得するためにlocaleを使うことができます。 local.getLanguage(); ' –