在Java或者Java库中是否有语言代码的常量,例如"en"
或 "de"
?(或者直接使用字符串也可以吗?)
我知道可以像这样:
Locale.COUNTRY-NAME.getLanguage()
会起作用,但我正在寻找更简洁的解决方案Locale.LANGUAGE-NAME
在Java或者Java库中是否有语言代码的常量,例如"en"
或 "de"
?(或者直接使用字符串也可以吗?)
我知道可以像这样:
Locale.COUNTRY-NAME.getLanguage()
会起作用,但我正在寻找更简洁的解决方案Locale.LANGUAGE-NAME
很抱歉,并非所有语言都有常量。
您可以使用多个预定义的Locale,例如Locale.UK
Locale.US
等。每个Locale都有一个语言代码,可以通过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
这个链接提供了有关Java中Locale的详细信息,Locale是一个类,用于表示特定地理、政治或文化区域的标识符。它在Java应用程序中非常有用,因为它可以帮助您确定如何格式化和解析日期、时间、数字和货币等数据类型。java.util.Locale
类并不包含所有语言代码,而只包含VM支持的Locales(根据Locale.getAvailableLocales()
)。在Java中访问所有ISO 639-1语言代码的最简单方法是依赖于Unicode国际化组件项目(ICU4J)——这是来自IBM的广泛使用和积极开发的i18n库。您可以从ULocale类获取所有语言列表:com.ibm.icu.util.ULocale.getISOLanguages()。是的...使用Locale.COUNTRY-NAME
Locale local = Locale.ENGLISH; local.getLanguage();
。 - Varun Achar