L'internationalisation et la localisation sont des éléments essentiels du développement d'applications dans Flutter, surtout si vous souhaitez toucher un public mondial. L'internationalisation fait référence au processus de développement d'une application prenant en charge plusieurs langues, tandis que la localisation fait référence au processus de traduction de l'application dans une langue spécifique.
Pourquoi l'internationalisation et la localisation sont-elles importantes ?
Imaginez que vous ayez créé une application géniale qui offre une expérience utilisateur exceptionnelle, mais qu'elle n'est disponible que dans une seule langue. Cela limiterait considérablement le nombre de personnes pouvant utiliser votre application, surtout dans un monde aussi globalisé. En internationalisant et en localisant votre application, vous pouvez toucher un public beaucoup plus large et offrir une expérience utilisateur encore meilleure, car les utilisateurs peuvent interagir avec votre application dans leur langue maternelle.
Comment mettre en œuvre l'internationalisation et la localisation dans Flutter ?
La première chose que vous devez faire est d'ajouter les dépendances nécessaires à votre fichier pubspec.yaml. Ces dépendances incluent flutter_localizations et intl.
dépendances : battement: SDK : flottement flutter_locations : SDK : flottement international : ^0.17.0
Ensuite, vous devez importer les bibliothèques nécessaires dans votre fichier main.dart et ajouter les délégués d'emplacement à votre application.
importer 'package:flutter_localizations/flutter_localizations.dart' ; importer 'package:intl/intl.dart'; vide main() { runApp(MonApp()); } la classe MyApp étend StatelessWidget { @passer outre Construction du widget (contexte BuildContext) { renvoyer MaterialApp ( Paramètres locaux pris en charge : [ Locale('en', 'US'), Paramètres régionaux('es', 'ES'), ], localisationsDélégués : [ GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], localeResolutionCallback : (paramètres régionaux, paramètres locaux pris en charge) { pour (var pris en chargeLocale dans pris en chargeLocales) { if (supportedLocale.langueCode == locale.langueCode && supportéLocale.countryCode == locale.countryCode) { renvoyer supportéLocale ; } } renvoyer supportéLocales.first ; }, accueil : MaPageAccueil(), ); } }
Ce code définit les langues prises en charge par votre application (dans ce cas, l'anglais et l'espagnol) et comment Flutter doit choisir la langue appropriée en fonction des paramètres de l'appareil de l'utilisateur.
Comment créer des fichiers de localisation ?
Les fichiers de localisation sont l'endroit où vous stockerez toutes vos chaînes traduites. Vous pouvez créer un fichier pour chaque langue prise en charge par votre application. Par exemple, vous pouvez avoir un fichier en.dart pour l'anglais et un fichier es.dart pour l'espagnol. Chaque fichier contiendra une carte de chaîne, où la clé est l'identifiant de chaîne et la valeur est la traduction.
// fr.dart const MapenUS = { 'Bonjour bonjour', } ; // es.dart const Map esES = { 'Bonjour bonjour', } ;
Vous pouvez ensuite utiliser ces fichiers de localisation dans votre application pour afficher les chaînes traduites.
Texte (AppLocalizations.of (context).translate ('bonjour'))
Changement de langue à la volée
Dans certains cas, vous souhaiterez peut-être autoriser les utilisateurs à modifier la langue de l'application directement depuis l'application. Pour cela, vous pouvez créer une fonction qui met à jour les paramètres régionaux de l'application.
void changeLanguage(Locale locale) { MyApp.setLocale (contexte, paramètres régionaux) ; }
Vous pouvez ensuite appeler cette fonction chaque fois que l'utilisateur sélectionne une nouvelle langue.
Conclusion
L'internationalisation et la localisation sont des éléments essentiels du développement d'applications dans Flutter. En prenant en charge plusieurs langues, vous pouvez toucher un public plus large et offrir une meilleure expérience utilisateur. Heureusement, Flutter facilite relativement facilement la mise en œuvre de l'internationalisation et de la localisation à l'aide des bibliothèques flutter_localizations et intl.