Internationaliser vos applications Android

Image non disponible

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 (et oui si on touche un public plus important on a forcément plus de téléchargements ! ).
Commentez Donner une note à l'article (4)

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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-Unis (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 champs app_name mettez comme valeur : Internationalize an Android application | tutomobile.fr et pour le champs hello mettez comme valeur : Hello, this Android Application is in English!

II. Internationaliser une application

1. 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 :

 
Sélectionnez

<?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 :

Image non disponible

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

2. 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 :

Image non disponible

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 » .

3. 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 :

Image non disponible

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

Image non disponible

III. Remerciements

Je tiens à remercier tout particulièrement Feanorinhttp://www.developpez.net/forums/u35388/feanorin/ qui a mis ce tutoriel au format Developpez.com.
Merci également à Aieeeuuuuuhttp://www.developpez.net/forums/u349191/aieeeuuuuu/ d'avoir pris le temps de le relire et de le corriger.

IV. Lien

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2011 developpez 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.