6
votes

Comment rechercher une langue d'appareil à Android?

Je veux que mon application vérifie la langue utilisée par le téléphone. Cette déclaration est censée faire cela: xxx

mais même si mon appareil est défini sur le français, il affiche toujours l'anglais. Y a-t-il quelque chose de mal à cela si la déclaration et si oui, alors quoi?

Edit: Merci pour l'aide. Je l'apprécie.


2 commentaires

Vous ne pouvez pas simplement utiliser localiser avec des ressources ?


Désolé, j'apprends toujours Java et Android Development. Mais je vais regarder dans ça.


7 Réponses :


7
votes

Pour obtenir la langue du périphérique, vous pouvez utiliser ceci:

Locale.getDefault().getLanguage(); //to get usual language code


0 commentaires

5
votes

Pour avoir la langue du système:

Locale.getDefault().getDisplayLanguage();


0 commentaires

7
votes

Utilisation: xxx

le String # Equals () compare non seulement le contenu de la chaîne, mais vérifie également si l'autre objet est également une instance de chaîne . String # contestequals () Méthodes compare uniquement le contenu (la séquence de caractères) et ne vérifie pas Vérifiez si l'autre objet est également une instance de String < / code>. Il peut s'agir de quelque chose aussi longtemps qu'il s'agit d'une implémentation de < Code> Chaluquantence ou une instance de stringbuffer .


0 commentaires

2
votes

Habituellement est fourni avec le format de suivi FR_FR où le premier fr est le code de langue et le second est le code de pays, c'est pourquoi vous devez utiliser xxx

mais Android est d'utiliser ressources xxx

< Strong> édité: OK, honte sur moi, je n'ai pas remarqué que vous appelez GetLanguage (), mais la deuxième partie est correcte.


0 commentaires

2
votes

La manière Android de le faire, utilise des ressources XML, comme expliqué dans localiser avec des ressources .

valeurs / strings.xml : xxx

valeurs-fr / strings.xml : xxx

code: xxx


Motivation: Motivation: Motivation: >

Il est une bonne pratique d'utiliser le cadre de ressources Android pour séparer les aspects localisés de votre application autant que possible de la Fonctionnalité Java Core:

  • vous pouvez mettre le plus ou tout le contenu de l'utilisateur de votre application interface dans les fichiers de ressources, comme décrit dans ce document et dans Fournir des ressources.
  • Le comportement de l'interface utilisateur, de l'autre La main est entraînée par votre code Java. Par exemple, si les utilisateurs entrent des données qui doit être formaté ou trié différemment en fonction de la locale, Ensuite, vous utiliseriez Java pour gérer les données par programme. Cette Le document ne couvre pas comment localiser votre code Java.

0 commentaires

3
votes

Vous pouvez résoudre ceci en déclarant un fichier de ressource chaîne pour chaque langue.

Créer des dossiers de ressources nommés valeurs-fr et valeurs-fr et ajoutez un fichier appelé strings.xml sur les deux dossiers.

Le fichier string.xml dans valeurs-fr: xxx

et vous chargez la ressource comme ceci: xxx

Niek était plus rapide ...


0 commentaires

3
votes

Comme tout le monde explique déjà que I18N (String XMLS dans différentes langues) doit être utilisé pour atteindre cette chose simple, mais si vous recherchez une langue utilisateur à autre but, utilisez-en une autre.

Resources.getSystem().getConfiguration().locale; 


0 commentaires