我搜索了解决方案,但没有找到。
我有这样的信息:
String locale = "en_GB";
String country = "Japonia"; //It means Japan in polish
我需要将国家名称“Japonia”翻译成字符串区域设置中指示的语言,即“Japan”。有什么办法吗?
最佳答案
(答案基于 comment by Elliott Frisch)
Java 运行时库没有翻译 API,但是 Locale
只要你知道ISO 3166 alpha-2 country code,类就可以用来获取任何语言的任何国家的名称。 , 和 ISO 639 alpha-2 or alpha-3 language code .
国家日本
示例:
Locale countryJapan = new Locale.Builder().setRegion("JP"/*Japan*/).build();
Locale langEnglish = new Locale.Builder().setLanguage("en"/*English*/).build();
Locale langPolish = new Locale.Builder().setLanguage("pl"/*Polish*/).build();
Locale langJapanese = new Locale.Builder().setLanguage("ja"/*Japanese*/).build();
Locale langItalian = new Locale.Builder().setLanguage("it"/*Italian*/).build();
System.out.println(countryJapan.getDisplayCountry(langEnglish));
System.out.println(countryJapan.getDisplayCountry(langPolish));
System.out.println(countryJapan.getDisplayCountry(langJapanese));
System.out.println(countryJapan.getDisplayCountry(langItalian));
输出
Japan
Japonia
日本
Giappone
关于java - 将国家名称翻译成其他语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44190906/