0
我在支持多种语言时遇到问题。我在服务器上有多种语言的字符串列表,我正在运行时下载它们。对于每个字符串,都有一组支持的语言,其格式如"en-US", "nl-NL"
等。与支持语言匹配的语言环境
我希望我的应用程序为默认语言环境选择最佳匹配翻译。如果没有最好的,就应该选择en-US
适用于iOS的一个例子是here
你知道一个解决方案或库,可以帮助我吗?
我在支持多种语言时遇到问题。我在服务器上有多种语言的字符串列表,我正在运行时下载它们。对于每个字符串,都有一组支持的语言,其格式如"en-US", "nl-NL"
等。与支持语言匹配的语言环境
我希望我的应用程序为默认语言环境选择最佳匹配翻译。如果没有最好的,就应该选择en-US
适用于iOS的一个例子是here
你知道一个解决方案或库,可以帮助我吗?
你可以使用内置的Locale类:
Locale l = new Locale("", "CH");
System.out.println(l.getDisplayCountry());
打印 “瑞士” 的例子。请注意,我没有提供一种语言。
那么你可以反向查找要做的就是从现有的国家建立一个地图:
public static void main(String[] args) throws InterruptedException {
Map<String, String> countries = new HashMap<>();
for (String iso : Locale.getISOCountries()) {
Locale l = new Locale("", iso);
countries.put(l.getDisplayCountry(), iso);
}
System.out.println(countries.get("Switzerland"));
System.out.println(countries.get("Andorra"));
System.out.println(countries.get("Japan"));
}
在这里你可以看到更多。 here
这是怎么给我最好的匹配的语言环境?如果我的Locale是nl-BE,并且没有nl-BE,它应该返回nl-NL,因为那是最好的匹配。与国家代码我不能匹配BE与NL –