如何在java中获取基于国家代码的语言代码
如何在java中获取基于国家代码的语言代码如何在java中获取基于国家代码的语言代码,java,android,locale,Java,Android,Locale,如何在java中获取基于国家代码的语言代码 你好 我遇到过这样的情况,我需要根据国家代码找到语言。 对于国家名称“瑞士”,我的国家代码为“CH”
你好
我遇到过这样的情况,我需要根据国家代码找到语言。
对于国家名称“瑞士”,我的国家代码为“CH”<但是在瑞士可以有3种语言,如德语、法语和英国英语。我需要根据国家代码查找语言代码。
情景:我的国家代码是“CH”。我需要得到基于这个国家代码的语言代码
提前感谢您可以使用以下构造函数- 对于美国(代码:US),语言为英语(代码“en”)。所以你可以这样做-
Locale locale = new Locale("en", "US");
该程序打印瑞士所有可用地区的语言代码。它可以很容易地修改,例如返回语言代码的
列表。选择你想要的语言是留给读者的一个练习——瑞士人没有选择为他们的国家选择一种自己喜欢的语言
import java.util.Locale;
public class Test {
public static void main(String[] args) {
Locale[] all = Locale.getAvailableLocales();
for (Locale locale : all) {
String country = locale.getCountry();
if(country.equalsIgnoreCase("CH")){
System.out.println(locale.getLanguage());
}
}
}
}
输出:
fr
de
it
可以有3种语言,如德语、法语和
。。。意大利语(瑞士意大利语),不是英国英语!嗯,它们都是德语、法语和意大利语在瑞士的变体。那么你希望瑞士的三种语言中有哪一种?如果不是全部三个,你想要什么还不清楚。瑞士没有“the”语言代码。如何用java获取瑞士国家代码的德语代码?如果你已经知道你想要德语,而不是其他任何一种同样官方的语言,为什么不直接使用“de”?或者使用新建区域设置(“ch”、“de”)
为瑞士和德国的组合创建区域设置对象。iam也在寻找答案。你有什么解决办法吗?我可以用下面的方法:Locale=newlocale(“CH”);String language=locale.getDisplayLanguage()。这是正确的吗?这个答案与问题无关@Android程序员办公室:不,这是不对的。事实上,您不能直接从国家代码中取消对语言的引用。更多信息请参见Patricia的答案。顺便说一句:如果您需要特定地区语言的国家名称:
fr
de
it