java – 使用Locale将英语国家/地区名称更改为德语

前端之家收集整理的这篇文章主要介绍了java – 使用Locale将英语国家/地区名称更改为德语前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个要求,我需要将等效的国家/地区代码转换为德语国家/地区名称.我正在使用Locale构建器来获取代码.

这是我的代码

我做的第一个就是:

Locale locale = new Locale("GERMANY","AT");

生成输出:德语(奥地利)

第二个:

Locale aLocale = new Locale.Builder().setLanguage("de").setRegion("AT").build();

生成输出:德语(奥地利)

我需要的是将奥地利乡村代码“AT”转换为德语,它应该生成Österreich.

解决方法

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”.

猜你在找的Java相关文章