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 –