Internationalisation Flutter : 7 bonnes pratiques pour les apps en production

Internationalisation Flutter : 7 bonnes pratiques pour les apps en production

Le paysage i18n de Flutter

Flutter gere l'internationalisation via les fichiers ARB (Application Resource Bundle) et le package intl. Contrairement a iOS et Android ou les traductions sont des recherches a l'execution, Flutter genere du code Dart type-safe a partir de vos fichiers ARB au moment de la compilation. Cela detecte les traductions manquantes avant la livraison de votre application. Voici comment le configurer correctement.

7 bonnes pratiques

1. Utilisez les fichiers ARB comme source unique de vérité

Les fichiers Application Resource Bundle (ARB) sont le format recommandé par Flutter pour la localisation. Ils sont basés sur JSON, supportent la syntaxe ICU pour les pluriels et le genre, et s'intègrent parfaitement aux outils de génération de code Flutter.

2. Générez le code Dart à partir des traductions

Activez le flag generate: true dans votre pubspec.yaml et utilisez la génération de code intégrée de Flutter. Cela vous donne un accès type-safe aux traductions avec l'autocomplétion — fini les fautes de frappe dans les clés de traduction.

3. Gérez correctement la pluralisation

Les différentes langues ont des règles de pluralisation très différentes. L'arabe possède six formes de pluriel. Utilisez la syntaxe ICU dans vos fichiers ARB pour gérer cela correctement :

{count, plural, =0{Aucun message} =1{1 message} other{{count} messages}}

4. Concevez pour l'expansion du texte

Les textes allemands et finnois peuvent être 30 à 40 % plus longs que l'anglais. Concevez votre interface avec des mises en page flexibles qui s'adaptent aux chaînes plus longues sans casser.

5. Supportez les langues RTL dès le premier jour

Utilisez le widget Directionality de Flutter et évitez les paddings/marges codés en dur. Si vous supportez l'arabe, l'hébreu ou l'ourdou, le support RTL n'est pas optionnel.

6. Externalisez toutes les chaînes visibles par l'utilisateur

Chaque chaîne vue par l'utilisateur devrait être dans vos fichiers ARB — messages d'erreur, libellés de boutons, infobulles, même les labels d'accessibilité. Auditez régulièrement votre base de code pour détecter les chaînes codées en dur.

7. Automatisez votre workflow de traduction

Le copier-coller manuel entre fichiers ne passe pas à l'échelle. Utilisez un outil comme LocaleKit qui se synchronise directement avec vos fichiers ARB Flutter, suit les chaînes non traduites et permet aux traducteurs de travailler dans une interface conviviale pendant que vous vous concentrez sur le code.

Arrêtez de gérer vos fichiers de traduction manuellement

LocaleKit détecte, traduit et synchronise tous vos fichiers de localisation — iOS, Android, Flutter et plus. Tout tourne localement sur votre machine.

Respect de la vie privée. Aucun cloud requis.