Localisation Flutter

Configurez la localisation Flutter dans pubspec.yaml en ajoutant flutter_localizations à vos dépendances et en définissant generate: true sous la section flutter. Créez un fichier de configuration l10n.yaml à la racine du projet en spécifiant arb-dir (généralement lib/l10n), template-arb-file (votre ARB source tel que app_en.arb) et output-class (AppLocalizations par convention). L'exécution de flutter gen-l10n — ou l'activation de generate dans pubspec.yaml pour le déclencher lors du build — produit une classe d'accesseur Dart typée. Référencez les chaînes localisées comme AppLocalizations.of(context)!.welcomeMessage dans toute votre arborescence de widgets, jamais comme des littéraux de chaîne bruts.

Écrivez des entrées de métadonnées ARB pour chaque clé traduisible. Une entrée de métadonnées — la même clé précédée d'un signe at — comporte un champ description expliquant le contexte de la chaîne, un objet placeholders définissant les valeurs interpolées avec leur type et exemple, et des définitions de formes plurielles. Des descriptions bien rédigées constituent le contexte que Language Monster affiche lors de la traduction. Utilisez des espaces réservés nommés avec des annotations de type explicites dans les métadonnées ARB plutôt que des spécificateurs de format positionnels — les espaces réservés nommés sont auto-documentés et Language Monster lit les métadonnées ARB pour identifier et protéger les valeurs des espaces réservés lors de la traduction.

Utilisez la syntaxe de message ICU pour les chaînes qui varient selon le nombre, le genre ou un autre paramètre. Une entrée plurielle dans ARB gère correctement chaque catégorie plurielle de chaque langue prise en charge lorsque gen-l10n génère l'accesseur Dart. Évitez de dupliquer les chaînes avec une logique Dart if-else — définissez la variation dans l'ARB en utilisant la syntaxe ICU et laissez le code généré et le runtime Flutter intl le gérer. Cela garantit une sortie correcte pour l'arabe (six formes plurielles), le polonais (quatre), le russe (trois) et toutes les autres langues prises en charge.

Connectez votre dépôt GitHub ou Bitbucket à Language Monster. Language Monster détecte automatiquement les fichiers ARB par modèle de nommage, extrait les chaînes de votre ARB source, applique les termes du Glossaire et la Translation Memory, et repousse les fichiers ARB complétés vers votre dépôt. Les entrées de métadonnées ARB sont préservées lors de la traduction. La Language Hierarchy élimine le travail redondant pour les variantes régionales de l'anglais — définissez l'anglais britannique comme locale parente et l'anglais australien comme enfant qui ne remplace que les chaînes où le contenu diffère réellement.

Exécutez l'outil extract_to_arb du package intl_translation en CI pour vérifier que les fichiers ARB restent synchronisés avec les chaînes référencées dans votre source Dart. Les contrôles qualité de Language Monster valident l'intégrité des espaces réservés nommés par rapport à la définition des métadonnées ARB, vérifient la structure des messages ICU, effectuent des vérifications orthographiques et grammaticales sur chaque traduction, et signalent les incohérences avant que les fichiers ne soient poussés vers votre dépôt.

En savoir plus Flutter (arb)

En savoir plus Formats de fichiers

En savoir plus intégration