6
votes

Comment obtenir la liste des langues dans Android

bonjour Je dois obtenir la liste des langues définies sur un appareil Android et souhaite remplir une fileuse avec le code de langue et le nom de la langue. Comment puis-je faire ça?

Merci d'avance et des salutations c.


1 commentaires

Qu'entendez-vous par «défini sur un appareil Android? Signifiez-vous simplement les locaux possibles? (tels que EN-RUS, FR-RFR, etc.)


4 Réponses :



2
votes

Utilisation:

Resources.getSystem().getAssets().getLocales();


1 commentaires

Vous devez ajouter les parties essentielles de l'article lié pour éviter que votre réponse soit supprimée.



2
votes
public static List<String> getLanguages() {
    String[] locales = Resources.getSystem().getAssets().getLocales();
    List<String> list = new ArrayList<>();

    for (Locale locale : Locale.getAvailableLocales()) {
        if (locale.getLanguage().length() == 2) {
            if (!isLanguageInList(list, locale)) {
                list.add(locale.getDisplayLanguage());
            }
        }
    }
    Collections.sort(list);
    return list;
}

private static boolean isLanguageInList(List<String> list, Locale locale) {
    if (list == null) {
        return false;
    }
    for (String item: list) {
        if (item.equalsIgnoreCase(locale.getDisplayLanguage())){
            return true;
        }
    }
    return false;
}

0 commentaires

0
votes

J'ai fait face au même problème. J'ai compris comment obtenir des locaux définis dans

Paramètres du téléphone -> Système -> Langues et entrée CODE> P>

KOTLIN P>

val locales = Resources.getSystem().configuration.locales


0 commentaires