[Tutoriel] : Développer des applications Android 'multilingues'

Article par Zied Rebhi:
Dans ce tutoriel , nous allons voir comment créer une application Android multilingues (Supporte plusieurs langages) afin de viser le maximum des utilisateurs.

#1. Conseils:
La première chose à retenir est d'éviter d'écrire un texte dans le code (xml ou java : Les messages, valeurs des TextViews etc.) et utiliser à la place le fichier 'strings.xml' dans le dossier 'res/values'. Pour chaque langue, nous devons avoir un fichier 'string.xml' qui sera inséré dans son dossier correspondant (à la langue).Par exemple pour la langue française on crée un dossier 'values-fr' et on crée un fichier 'strings.xml'. Le système Android va faire le reste : Détecter la langage locale du smartphone récupère les informations du fichiers.
 
Structure du projet
Par défaut , les chaines de caractères dans le fichier 'values/strings.xml' sont en anglais. Donc pour que notre application soit multilingue ,il faut traduire les mêmes mots et on les mettent dans chaque fichier du langue correspondant.

#2. Exemple:
Supposons qu'on a une application  qui doit être Anglais/Français. Donc on le dossier initial 'res/values' , et on crée un autre dossier 'values-fr' et on crée un fichier 'strings.xml'. Notre application a un bouton de vérification (Check == Vérifier) et un message dans un TextView (Good Morning == Bonjour).

Alors ,dans le fichier 'values/strings.xml' on a:

< resources>
    < string name="app_name">My App< /string>
    < string name="action_settings">Settings< /string>
    < string name="hello_world">Hello world!< /string>
    < string name="btnCheck">Check< /string>
    < string name="msg">Good Morning< /string>
</ resources>

Et dans 'values-fr/strings.xml' on met:
< resources>
    < string name="app_name">Mon App< /string>
    < string name="action_settings">Paramétres< /string>
    < string name="hello_world">Hello world!< /string>
    < string name="btnCheck">Vérifier< /string>
    < string name="msg">Bonjour< /string>
</ resources>
Comme ça , notre application est multilingue.

#3. Coté code:
Dans le code de l'application à plusieurs langues , nous devons faire comme suit (Java et xml ):
- XML code:
< Button
     android:layout_width=”wrap_content”
     android:layout_height=”wrap_content”
     android:text=”@string/btnCheck” />  
Ce bouton va avoir soit 'Vérifier' ou 'Check'  comme nom selon la langue.

- Java code:
String msgText= getResources().getString(R.string.msg); 
Cette variable va avoir soit 'Bonjour' ou 'Good morning'.
Voici quelques codes ISO pour les langues:
Android Localization Language ISO Codes

Vous avez aimé cet article ? alors suivez-nous sur Twitter, Google+ et Facebook, et partagez-le avec les boutons ci-dessous ! Vos commentaires sont les bienvenus.

Enregistrer un commentaire