【发布时间】:2016-02-19 23:38:46
【问题描述】:
我无法支持多种语言。我在服务器上有一个多种语言的字符串列表,我正在运行时下载它们。对于每个字符串,都有一个支持的语言列表,格式为 "en-US", "nl-NL" 等。
我希望我的应用为默认语言环境选择最匹配的翻译。如果没有最好的,应该选择en-US
iOS 的一个例子是here
您知道可以帮助我的解决方案或库吗?
【问题讨论】:
标签: android ios xml localization
我无法支持多种语言。我在服务器上有一个多种语言的字符串列表,我正在运行时下载它们。对于每个字符串,都有一个支持的语言列表,格式为 "en-US", "nl-NL" 等。
我希望我的应用为默认语言环境选择最匹配的翻译。如果没有最好的,应该选择en-US
iOS 的一个例子是here
您知道可以帮助我的解决方案或库吗?
【问题讨论】:
标签: android ios xml localization
您可以使用内置的 Locale 类:
Locale l = new Locale("", "CH");
System.out.println(l.getDisplayCountry());
例如打印“Switzerland”。请注意,我没有提供语言。
因此,您可以为反向查找做的是从可用国家/地区构建地图:
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
【讨论】: