Formats / Android strings.xml

strings.xml, avec l'échappement qui évite de casser votre build

Android a deux règles qui échouent dans des directions opposées, et les deux sont faciles à rater à la main.

strings.xml

Une apostrophe non échappée casse le build ; une échappée à tort affiche une barre oblique inverse

aapt refuse une apostrophe nue dans une ressource texte, si bien qu'une traduction française ou italienne arrête le build au lieu de partir fausse. Échappez-en une qui n'en avait pas besoin, et l'utilisateur voit une barre oblique inverse à l'écran.

Linguiqo échappe à la sortie et retire l'échappement à l'entrée : ce que tape le traducteur est ce que lit l'utilisateur, et ce que reçoit le build est ce qu'accepte aapt. Les deux opérations s'appliquent dans l'ordre inverse selon le sens, et c'est justement ce qu'un script fait maison oublie.

Les quantity strings sont des pluriels à l'orthographe d'Android

Un élément plurals contient des éléments item par quantity : zero, one, two, few, many, other. Lesquels une langue utilise vraiment, c'est CLDR qui le décide, pas le fichier, et écrire un item qu'une langue ne choisit jamais est un poids mort que le build embarque quand même.

Linguiqo écrit exactement les catégories qu'utilise la langue cible.

Questions

Mes tableaux de chaînes sont-ils conservés ?

Non. Seuls les textes et les quantity strings sont lus et écrits, donc un fichier exporté ne contient aucun élément string-array. Gardez les tableaux dans un fichier de ressources séparé que Linguiqo n'associe pas.

Gère-t-il translatable="false" ?

Les textes marqués non traduisibles n'entrent pas dans la file du traducteur.

Importez un fichier Android strings.xml et voyez par vous-même

La démo lit un vrai fichier à vous et montre le résultat. Sans compte, et tout est supprimé au bout de deux heures.

Ouvrir la démo

Ce qu'est Linguiqo