Ce que l'outil vérifie
- Clés manquantes : présentes dans le modèle, absentes d'une langue. L'application compile, mais vos utilisateurs voient le texte de la langue du modèle au lieu de la leur.
- Clés en trop : présentes dans une traduction mais plus dans le modèle, souvent des restes d'une fonctionnalité supprimée.
- Valeurs vides : la clé existe mais sa traduction est vide, ce qu'un simple contrôle de clés ne voit pas.
- Placeholders incohérents :
{name} devenu {nom}, ou oublié. L'outil lit aussi les placeholders à l'intérieur des pluriels et sélections ICU.
Les clés qui commencent par @ (métadonnées et @@locale) sont ignorées. Le fichier de référence est celui défini par template-arb-file dans l10n.yaml, en général app_en.arb : l'outil le devine, vous pouvez en choisir un autre.
Trouver les clés manquantes d'une app Flutter
- Rassemblez les fichiers de votre dossier
arb-dir (par défaut lib/l10n).
- Déposez-les tous d'un coup dans l'outil, modèle compris.
- Ouvrez chaque langue pour voir ses anomalies, puis copiez les clés manquantes au format ARB : elles reprennent le texte du modèle, prêtes à être traduites.
Pour un contrôle automatique à chaque génération, l'option untranslated-messages-file de flutter gen-l10n et un petit script de CI sont détaillés dans le guide pour trouver les clés manquantes dans les fichiers ARB. Les erreurs de placeholders ICU sont expliquées dans le guide sur les pluriels et placeholders.
Limites de l'outil
L'outil compare des clés et des noms de placeholders : il ne valide pas la syntaxe ICU complète (c'est le rôle de flutter gen-l10n), ne juge pas la qualité d'une traduction et ne modifie jamais vos fichiers. Pour importer un projet entier, traduire et exporter avec sauvegarde, il faut un éditeur de localisation comme LocalePilot.