java或java库中的"en"
或"de"
等语言代码是否有常量? (或者正在使用字符串OK?)
我知道像
这样的东西Locale.COUNTRY-NAME.getLanguage()
可行,但我正在寻找更精简的内容,如
Locale.LANGUAGE-NAME
答案 0 :(得分:5)
2个字母的语言代码由ISO 639-1标准定义。 java.util.Locale
类不包含所有类,但仅包含VM支持的语言环境(根据Locale.getAvailableLocales()
)。
在Java中访问所有ISO 639-1语言代码的最简单方法是依赖International Components for Unicode项目(ICU4J) - 来自IBM的广泛,广泛使用且积极开发的i18n库。您可以从ULocale类中获取所有语言的列表:com.ibm.icu.util.ULocale.getISOLanguages()。
答案 1 :(得分:3)
恐怕所有语言都没有常数。
您确实有多个预定义的语言环境,例如Locale.UK
Locale.US
等。每个语言环境都有一个语言代码,可以通过getLanguage()
方法获取。
要获取基础JVM支持的所有语言代码,请使用getISOLanguages()
for(String lang : Locale.getISOLanguages()) {
System.out.println(lang);
}
更多详情:http://download.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html
答案 2 :(得分:0)
是的..使用Locale.COUNTRY-NAME