Internationaliser vos applications Android

Axon de Tuto Mobile

Le but de ce tutoriel est d'expliquer comment internationaliser nos applications Android, car faire une application Android c'est bien, mais faire une application Android internationalisée c'est mieux. Ceci peut être extrêmement pratique pour augmenter le nombre de téléchargements de votre application sur le Market (eh oui si on touche un public plus important on a forcément plus de téléchargements !).
Commentez ♪

- Titre : Internationaliser vos applications Android

- Auteur : Axon de Tuto Mobile

- Parution : 28 mars 2011

- Licence : Copyright ® 2011 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Présentation

- II. Internationaliser une application

- II-A. Le Code XML

- II-B. Internationaliser le texte

- II-C. Internationaliser les images

- III. Remerciements

- IV. Lien

I - Présentation

Pour ceux qui en ont un peu marre de coder à tout va, nous allons faire une petite pause aujourd'hui, car nous allons très peu coder.

Par défaut, les fichiers xml présents dans le dossier values et les images contenues dans le dossier drawable correspondent inévitablement à la langue par défaut c'est-à-dire l'anglais. Nous allons donc commencer par mettre le drapeau du Royaume-Uni (trouvé ici) dans le dossier drawable et le renommer flag.png. Ensuite nous allons dans le fichier string.xml situé dans le dossier res >>> values et nous allons modifier la Value pour chaque élément de ressources. Donc pour le champ app_name mettez comme valeur : Internationalize an Android application | tutomobile.fr et pour le champ hello mettez comme valeur : Hello, this Android Application is in English!

II - Internationaliser une application

II-A - Le Code XML

Je vous avais promis qu'il n'y aurait que très peu de code, je vais donc tenir ma parole, nous allons simplement ajouter une ImageView dans le fichier main.xml, qui devrait ressembler à ceci :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal|center_vertical"
>

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/flag"
android:paddingBottom="20dp"
/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>

Voilà c'est fini pour le code !

Maintenant si vous lancez votre application vous devriez voir apparaitre ceci :

Bon jusque là rien de bien nouveau, c'est comme un simple Hello World. Maintenant passons à la petite subtilité.

II-B - Internationaliser le texte

Parcourez les menus Files >>> New >>> Android XML File et appelez ce nouveau fichier string.xml. Vous allez sûrement me dire «  oui il est bien gentil celui-là, mais il existe déjà ce fichier !  », donc oui il existe déjà, mais nous allons faire la version française.
Pour cela nous allons sélectionner Language dans la colonne Available Qualifiers et cliquer sur la petite flèche vers la droite pour faire passer Language dans la colonne Chosen Qualifier. Ensuite, taper les deux lettres «  fr  » dans la petite boîte de dialogue qui vient d'apparaître à droite de la fenêtre.

Votre fenêtre devrait ressembler à ceci :

Ensuite, cliquez sur Finish. Nous allons donc éditer le nouveau fichier string.xml situé dans le dossier res >>> values-fr et ajouter les couples Name/Value suivants : « hello/Bonjour, cette application est en français ! » et « app_name/Internationaliser une application Android | tutomobile.fr ».

II-C - Internationaliser les images

Nous allons passer à l'internationalisation des images. Créez un dossier drawable-fr-rFR dans le dossier res. Puis mettez l'image du drapeau français (trouvé ici) dans ce nouveau dossier drawable-fr-rFR sans oublier de le renommer flag.png.

Et voilà nous en avons fini avec les manip' sous Eclipse, vous pouvez lancer votre application. Normalement vous devez toujours avoir votre texte et votre image en anglais. Ne vous inquiétez pas, c'est normal, car la langue de l'émulateur est réglée par défaut sur l'anglais. Il suffit donc de modifier la langue du téléphone en allant sur l'application Custom Locale située dans le volet des applications de l'émulateur. Sélectionnez fr —> French avec un appui long puis cliquez sur Apply. Voilà désormais l'émulateur est en français, relancez votre application et vous devriez voir apparaître ceci :

Donc là nous avons fait un exemple d'application français/anglais, mais nous pouvons rajouter toutes les langues que nous voulons par exemple l'espagnol :

III - Remerciements

Je tiens à remercier tout particulièrement Feanorin qui a mis ce tutoriel au format Developpez.com.
Merci également à Aieeeuuuuu d'avoir pris le temps de le relire et de le corriger.

IV - Lien

Tutoriel origine sur Tuto Mobile