Dans ce didacticiel, nous expliquons comment écrire des applis Android multilingues.
Pour créer des applis Android multilingues, vous devez compiler les textes des fichiers de ressources et les traduire.
Une fois que vous aurez fourni la traduction, l’OS Android choisira les ressources correspondant aux paramètres régionaux. Si votre application est disponibe dans pluiseurs langues, Android sélectionnera celle qu’utilise l’appareil.
Dans ce didacticiel, nous traiterons des aspects suivants :
- Processus de localisation d’une application
- Traduction des chaînes
- Localisation des images
- Exécution et test de l’application localisée
- Liste de vérification de la localisation
- Exemple d’appli Android multilingue téléchargeable
1. Processus de localisation d’une application
Android charge les ressources texte et média depuis le répertoire ‘res’ du projet. En outre, Android peut sélectionnet et charger des ressources d’autres répertoires, en fonction de la configuration et des paramètres régionaux actuels de l’appareil.
Par exemple, si le code charge une chaîne nommée ‘R.string.title’, Android choisira la valeur correcte pour cette chaîne au moment de l’exécution en chargeant le fichier strings.xml approprié depuis un répertoire ‘res/values’ corrrespondant.
Afin de disposer d’une appli Android multilingue, vous devez fournir à Android les fichiers de ressources localisés.
Si les paramètres locaux sont définis sur ‘en-US’, Android cherchera une valeur de“R.string.title” en consultant les fichiers dans l’ordre suivant :
- ‘res/values-en-rUS/strings.xml’
- ‘res/values-en/strings.xml’
- ‘res/values/strings.xml’
Lorsqu’il parvient à trouver la chaîne dans le fichier de ressources, il utilise cette valeur et cesse ses recherches. Cela signifie que la langue par défaut sert d’option de remplacement et que la traduction est utilisée quand elle existe. Cela signifie aussi que vous devez soit tout localiser soit rien, car mieux vaut généralement voir une appli qui n’a pas du tout été traduite qu’une appli qui a été traduite à moitié.
Voyons un exemple d’application pour mieux comprendre le processus de localisation. Il s’agit d’une application très simple en une seule langue, qui affiche l’image d’un pays et un texte en fonction de la langue configurée sur l’appareil. La structure du projet sera présentée dans la figure 1.
L’application ne vérifie pas les paramètres régionaux de l’utilisateur et s’exécute toujours de la même façon, indépendamment des paramètres régionaux. La figure 2 représente une capture d’écran de l’exemple d’application. Remarquez que l’image d’arrière-plan fait référence aux États-Unis et que le texte est en anglais (paramètres régionaux par défaut).
Notre première étape dans la localisation de cette appli est d’envisager comment elle doit s’afficher en fonction des différents paramètres régionaux. Nous allons ajouter les informations spécifiques aux paramètres régionaux pour l’Italie, la France, le Canada et la Russie. La table 1 détaille les différentes options d’affichage pour les différents paramètres régionaux.
La table 2 présente les chemins d’accès aux différents fichiers de ressources et leurs correspondances avec les paramètres régionaux.
Comme on le voit dans la table 1, nous aurons six images d’arrière-plan (5 de paramètres régionaux et une par défaut). Nous aurons aussi trois ensembles de traductions de chaînes (italien, russe et français).
Les traductions se situent dans les dossiers nommés values-<langue>.
La partie langue du nom de dossier contient le code ISO de langue et un code de région facultatif, précédé d’un r minuscule.
Par exemple :
- Sans code de région : fr
- Avec code de région : fr-rFR ou fr-rCA
L’application sélectionne les fichiers de ressources à charger au moment de l’exécution en fonction des paramètres régionaux du téléphone. Si aucune ressource propre aux paramètres régionaux n’est disponible, il utilise en remplacement les paramètres par défaut. Par exemple, si nous sommes en Suisse et que le téléphone est défini sur Français, Android cherchera d’abord un dossier nommé fr-rCH. S’il ne le trouve pas, il cherchera fr et, s’il ne le trouve pas non plus, il chargera les fichiers de ressources pour la langue par défaut.
Il procède ainsi pour chaque type de ressources, de sorte qu’on peut avoir des chaînes en français avec les images par défaut ou toute autre combinaison de ressources traduites.
2. Traduction des chaînes
L’application a besoin de quatre fichiers strings.xml, un pour chaque langue : anglais, italien, français et russe.
La procédure de création des fichiers strings.xml est la suivante :
- Traduire le fichier strings.xml dans chaque langue.
- Créer trois dossiers sous res – values-it, values-fr et values-ru (le dossier values original existe déjà).
- Placer les fichiers strings.xml traduits dans les dossiers respectifs.
Pour une traduction rapide, efficace et abordable, n’hésitez pas à utiliser notre service professionnel de localisation pour Android. Notre système analyse vos fichiers de ressources, extrait tous les textes, puis assemble les fichiers de ressources traduits, prêts à être utilisés par Android.
3. Localisation des images
Notre application a aussi besoin de six dossiers supplémentaires pour les « drawables », chacun contenant une variante de l’image d’arrière-plan.
Placez l’image d’arrière-plan qui doit s’afficher pour une langue donnée dans le dossier correspondant sous l’espace de travail du projet de l’exemple d’application comme indiqué dans la table 3.
Si vos images contiennent du texte, nous conseillons d’en créer des copies dans votre fichier strings.xml. De cette façon, les traducteurs peuvent traduire uniquement les textes et vous pouvez réassembler les images localisées.
Image d’arrière-plan | Dossier de destination dans l’espace de travail du projet |
---|---|
Italien | drawable-it-rIT/background.png |
Français | drawable-fr-rFR/background.png |
Français (Canada) | drawable-fr-rCA/background.png |
Anglais (Canada) | drawable-en-rCA/background.png |
Russe | drawable-ru-rRU/background.png |
Anglais (États-Unis) | drawable-en-rUS/background.png |
Défaut (image du monde) | drawable/background.png |
Table 3 : Images d’arrière-plan et dossiers de destination respectifs.
Une fois que vous avez enregistré les fichiers strings.xml et d’images d’arrière-plan dans leurs dossiers de destination, l’espace de travail du projet ressemble à ceci :
4. Exécution et test de l’application localisée
Une fois que les ressources de chaînes et d’images localisées ont été ajoutées à l’espace de travail du projet, l’application est prête à être testée. Pour la tester, nous pouvons définir d’autres paramètres régionaux via Home (Accueil) > Menu > Settings (Paramètres) > Locale & text (Paramètres régionaux et textes) > Select locale (Sélectionner des paramètres régionaux).
En fonction de leur configuration, certains appareils peuvent proposer quelques paramètres généraux ou ne pas en proposer d’autres via l’application de paramètres. Néanmoins, l’émulateur Android proposera une sélection des paramètres régionaux disponibles dans le système d’exploitation Android. Pour définir l’émulateur sur des paramètres régionaux qui ne sont pas disponibles dans l’image du système, vous pouvez utiliser Custom Locale (Paramètres régionaux personnalisés), accessible dans l’onglet Application.
La figure 4 représente certains des résultats censés s’afficher après avoir changé la région et la langue du téléphone..
Figure 4 : Résultats attendus après la localisation.
5. Liste de vérification de la localisation
À présent que nous comprenons comment utiliser un cadre de développement Android pour les applications multilingues, parcourons une courte liste de vérification qui nous rappellera les étapes à suivre.
- Ne jamais modifier les chaînes ou leurs constantes directement dans le code ; utiliser plutôt les fichiers R.string et strings.xml.
- De même, ne pas modifier le code des images ou de la disposition ; utiliser R.drawable et R.layout
- Traduire les fichiers strings.xml et localiser vos images.
- Placer vos ressources localisées dans les répertoires appropriés sous « res/ ».
Exemple d’appli Android multilingue
Au cours de ce didacticiel, nous avons utilisé un exemple d’application, écrit spécialement pour expliquer comment créer des applis Android multilingues.
N’hésitez pas à le télécharger et à vous entraîner :
ICL-LocalizationExample.zip (4 Mo)
Besoin d’aide pour traduire votre appli Android ?
Nous assurons la traduction des applications Android avec efficacité, précision et dans les délais.
Des traducteurs experts, qui écrivent dans leur langue maternelle, traduiront votre application et vous aideront ainsi à augmenter vos ventes à travers le monde.
« ICanLocalize est la meilleure solution pour une traduction rapide et de grande qualité de votre appli. Nous utilisons ses services pour toutes nos applications avec de bons résultats et des commentaires positifs de nos utilisateurs. Je vous le conseille pour vos applications. »
« Nous avons essayé ICanLocalize et l’avons trouvé très utile. La progression de la traduction est visible, ce qui permet de savoir quand s’attendre à ce que les traductions soient achevées. Une autre caractéristique que nous apprécions est qu’ICanLocalize dispose d’un processu intégré (facultatif) de révision. Comme nous traduisons aussi dans des langues que nous ne connaissons pas nous-mêmes, la fonction de révision nous est très utile. »
« Mon ami m’a recommandé ICanLocalize et je suis très satisfait. Je l’utilise pour tous mes jeux. »
“Nous utilisons ICanLocalize depuis 2012 et ça a vraiment simplifié notre processus de travail en matière de traduction du contenu pour les différents marchés. Plus besoin de partir à la chasse aux traducteurs pour chaque langue, de leur apprendre le fonctionnement des outils de traduction, de traiter les factures individuellement, etc. étant donné qu’ICanLocalize s’occupe de tout pour nous ! Nous faisons appel aux services d’ICanLocalize pour la traduction de nos sites Web, de nos applis, de nos lettres d’information et de notre matériel publicitaire, et on peut toujours compter sur un délai de livraison rapide. Je me rends compte que ce témoignage ressemble à une pub rémunérée ou quelque chose dans le genre, mais tout est vrai, c’est vraiment ce que j’en pense ! Je recommanderais ICanLocalize en toutes circonstances ! »
Si vous envisagez de traduire et de republier ce didacticiel, veuillez nous contacter d’abord. Dites-nous où vous souhaitez le publier et quelques mots à propos de vous.