如何找到它Locale-language
country
?如何從語言獲得當地國家?
例如;如果我設置本地language
到en
話,我希望得到US
作爲國家。
Locale locale = new Locale("en");
locale.getCountry() // returns null
的問題是,我只有國家代碼,如:fr,de,en
現在我只是想找到這些代碼正確的國家語言環境。
如何找到它Locale-language
country
?如何從語言獲得當地國家?
例如;如果我設置本地language
到en
話,我希望得到US
作爲國家。
Locale locale = new Locale("en");
locale.getCountry() // returns null
的問題是,我只有國家代碼,如:fr,de,en
現在我只是想找到這些代碼正確的國家語言環境。
en
是英語。 en_US
是美國英語。我認爲,英國英語是en_GB
。推測使用en_US會做你想做的。這裏列出了所有支持的區域設置:http://www.oracle.com/technetwork/java/javase/locales-137662.html
您無法從「en」獲取國家/地區,因爲您可以看到,多個國家/地區可能會共享一種語言。你會選擇哪一個?
一種選擇是讓所有avaialble語言環境:
Locale[] locales = Locale.getAvailableLocales();
然後將它們插入到一個HashMap
並定義language
爲key
。現在可以通過語言鍵搜索國家了。
TNX的prolem是,我只有國家代碼,如:'法國,德國,en'現在我只是想找到這些代碼正確的國家語言環境。順便說一句,它也不能與'en_US'一起使用。 – tokhi
@stsd啊,我的格式錯了。如果您閱讀javadoc,則會看到Locale有一個雙參數構造函數。這些不是國家代碼。他們是語言代碼。正如我所說,每種語言都可以在多個國家使用。 –