我正在尝试使用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库可以用来获取翻译成其他语言的语言名称?
谢谢!
答案 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()