我有这个要求,我需要将等效的国家/地区代码转换为德语国家/地区名称.我正在使用Locale构建器来获取代码.
这是我的代码:
我做的第一个就是:
Locale locale = new Locale("GERMANY","AT");
第二个:
Locale aLocale = new Locale.Builder().setLanguage("de").setRegion("AT").build();
解决方法
Locale的方法
getDisplayCountry()
可以采用Locale参数来尝试将其显示在哪种语言中.例如:
Locale locale = new Locale("de","AT"); System.out.println(locale.getDisplayCountry(locale));
打印给我
Österreich
如果您想要整个语言环境的名称,只需使用带参数的getDisplayName(),而不是getDisplayCountry().
这不能保证适用于每种语言环境组合.根据文件:
If the name returned cannot be localized according to [the provided
Locale
parameter] (say,we don’t have a Japanese name for Croatia),this function falls back on the English name,and finally on the ISO code as a last-resort value.
另请注意,德语的语言代码是“de”,而不是“GERMANY”.