我想以<lang>_<Country>
格式返回所有国家/地区的列表,其中<lang>
应为英文,
所以我需要一个像en_GB,en_US,en_JP等的列表。看看Locale的api正在返回<lang>_<Country>
,但它并没有像en那样将它限制为语言。
我在这里错过了什么吗?
答案 0 :(得分:3)
尝试
Locale[] availableLocales = Locale.getAvailableLocales();
for (Locale locale : availableLocales) {
if ("en".equals(locale.getLanguage())) {
System.out.println(locale);
}
}
您可以过滤列表,只包含en作为语言。
注意:某些语言环境有语言但没有国家/地区
答案 1 :(得分:0)
怎么样:
Locale[] allLocales = Locale.getAvailableLocales();
String desiredLanguage="en";
List<Locale> desiredLocales = new ArrayList<Locale>();
for(Locale locale:allLocales) {
if(locale.getLanguage().equals(desiredLanguage)) {
desiredLocales.add(locale);
System.out.println("added: "+locale);
}
}