web-dev-qa-db-fra.com

Obtenir le nom de la langue dans cette langue à partir du code de langue

J'ai une liste de codes de langue (comme dans "en", "es" ...) Je dois afficher dans ces langues comme ceci:

English
Español
Français
Deutsch
日本語

Existe-t-il une API intégrée pour les obtenir dans Android ou dois-je les mapper moi-même?

21
Charlie-Blake

La classe Locale a ne méthode pour cela: public String getDisplayLanguage(Locale locale), comme le dit la documentation:

Renvoie le nom de la langue de cette locale, localisé à locale. La forme de sortie exacte dépend de la correspondance de cette langue avec une langue, un script, un pays et une variante spécifiques.

Ainsi, vous pouvez obtenir des noms de langue pour des paramètres régionaux comme celui-ci:

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

//...
38
nvi9