Multilingue et String
Pour rendre une application Android multilingue, on va ajouter un niveau d'indirection dans notre code:
- au lieu d'écrire
Text("Bonjour")
- on va écrire
Text(stringResource(R.string.hello))
- l'appareil va alors chercher la chaine pour l'id
R.string.hello
dans le fichierstrings.xml
qui correspond à la locale de l'appareil.
Tu trouveras ici les étapes ainsi que le code de la demo de la recette ici.
Ajouter un langage supporté (fichiers et dossiers)
- Il va exister plusieurs fichiers
strings.xml
dans le projet, un pour chaque langue supportée. - Le fichier
strings.xml
sans suffixe de langue est le fichier par défaut, utilisé si aucune traduction n'est trouvée pour la locale de l'appareil. - Pour ajouter un fichier de traduction, il faut créer un nouveau fichier
strings.xml
dans un dossier spécifique à la langue. - Le dossier values-fr serait pour une traduction en français, values-es pour l'espagnol, etc.
- values-fr-rCA permet de spécifier une variante régionale, ici le français du Canada.
Gérer dans Android Studio avec le Translations Editor
- en double-cliquant sur le fichier
strings.xml
, on ouvre l'éditeur de traduction. - il y a plusieurs options pour ajouter une string ou une locale
L'editor ne fait que modifier les fichiers strings.xml
depuis Android Studio.
Utiliser une string dans le code
Chargement...