gpt4 book ai didi

java - 如何查找多种语言的国家/地区代码

转载 作者:行者123 更新时间:2023-12-01 21:28:56 26 4
gpt4 key购买 nike

我的问题是我得到了不同语言的国家/地区列表。全部在文本文件中。例如:

pl_PL   Japonia
en_GB Spain
en_EN Portugal

我正在寻找一种方法来查找国家/地区代码,知道不同语言的名称,以便我可以用其他语言打印它。例如:

pl_PL   Japonia    -- translate to english -->     en_EN  Japan
en_EN Portugal -- translate to polish --> pl_PL Portugalia

我想为每种语言制作一个 HashMap ,在其中放置所有可用的国家/地区和代码,但我不知道如何制作它。我已经制作了一张这样的 map ,但我不知道如何制作多种语言。

    Locale[] allLocs = Locale.getAvailableLocales();
Map map = new HashMap();
String country = null;

for (int j=0; j<allLocs.length; j++) {
Locale.setDefault(new Locale(langArray[0]));
String countryCode = allLocs[j].getCountry();

if (countryCode.equals("")) continue;
kraj = allLocs[j].getDisplayCountry();
map.put(country , allLocs[j]);
}

最佳答案

您要查找的名称为 exonym or xenonym java 中没有开箱即用的类,

我建议创建一个 Pair 类,然后创建一个 map<string, pair>这样您就可以匹配应用程序中的所有组合

示例:

public class I18N {
private Map<String, Map<String, String>> languages;
public static void main(String[] args) {
new I18N();
}
public I18N() {
this.languages = new HashMap<String, Map<String, String>>();
Map<String, String> l = new HashMap<String, String>();
l.put("Spanish", "Japon");
l.put("Polnish", "Japonia");
languages.put("Japan", l);
//
System.out.println(languages.get("Japan").get("Polnish"));
}
}

因此此代码段将查找国家/地区日本,然后查找波兰语中的该名称...

不好的部分是您需要填充自己的外来地名目录

关于java - 如何查找多种语言的国家/地区代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37665417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com