普通话和广东话有单独的Java语言环境吗?

时间:2015-07-20 18:06:55

标签: java localization translation locale chinese-locale

我正在尝试使用JDK将不同语言的名称翻译成其他语言。例如:

new Locale("en", "US").getDisplayLanguage(new Locale("en", "US")); // English
new Locale("en", "US").getDisplayLanguage(new Locale("fr", "FR")); // anglais

我想这样做是为了获得“普通话”和“广东话”,但是

new Locale("zh", "CN").getDisplayLanguage(new Locale("en", "US")); // Chinese

我可以用一种语言变体来获得“普通话”和“粤语”而不是“中文”吗?是否有另一个Java库可以用来获取翻译成其他语言的语言名称?

谢谢!

2 个答案:

答案 0 :(得分:0)

这实际上是普通话:

new Locale("zh", "CN").getDisplayLanguage(new Locale("en", "US")); 

但是,是的,你得到Chinese

您可以使用:

Locale.SIMPLIFIED_CHINESE.getDisplayName(Locale.ENGLISH) 

代表Chinese (China)

Locale.TRADITIONAL_CHINESE.getDisplayName(Locale.ENGLISH)

代表Chinese (Taiwan)

Locale.forLanguageTag("zh-HK").getDisplayName(Locale.ENGLISH)

代表Chinese (Hong Kong)

答案 1 :(得分:0)

以下代码在Java 8中返回“ yue”,在Java 14中返回“粤语”。

Locale.forLanguageTag("zh-yue").getDisplayName()