言語コードから、その言語で言語名を取得します。私はこのようなものを言語で表示する必要があります(...「EN」、「ES」のように)私は言語コードのリストを持っている
English
Español
Français
Deutsch
日本語
Androidでこれらを取得するための組み込みAPIがありますか、それとも自分でマップする必要がありますか?
言語コードから、その言語で言語名を取得します。私はこのようなものを言語で表示する必要があります(...「EN」、「ES」のように)私は言語コードのリストを持っている
English
Español
Français
Deutsch
日本語
Androidでこれらを取得するための組み込みAPIがありますか、それとも自分でマップする必要がありますか?
Locale
クラスのメソッドは、public String getDisplayLanguage(Locale locale)
です。ドキュメントから: "ロケールにローカライズされたこのロケールの言語の名前を返します。言語名が不明な場合は、言語コードが返されます。" は、だから、このようなロケールの言語名を取得することができます。
String lng = "en";
Locale loc = new Locale(lng);
String name = loc.getDisplayLanguage(loc); // English
lng = "es";
loc = new Locale(lng);
name = loc.getDisplayLanguage(loc); // español
//...
これは私が必要としていたものとほぼ同じです。最初の文字を大文字にする必要がありました。なぜなら、 "es"は "español" inesad "Español"を返しますが、ほぼ完璧です。ありがとうございました! – razielsarafan
@razielsarafanそれは大文字で簡単です: 'name = name.substring(0、1).toUpperCase()+ name.substring(1);' – nvi9
すべての国番号を取得するには:https://stackoverflow.com/a/ 30028371/3527024 – thenaoh
http://developer.android.com/reference/java/util/Locale.html#getDisplayName(java.util.Locale)またはhttp:/ /developer.android.com/reference/java/util/Locale.html#getDisplayLanguage(java.util.Locale) –
言語コードを言語名に変換する[Javaライブラリ/ api]の重複可能性があります。http://stackoverflow.com/questions/12910955/java-library-api-which-converted-language-code-to-language-name) –