L'internationalisation et la localisation sont des aspects essentiels lors du développement d'une application dans Flutter. En effet, pour atteindre un public mondial, il est essentiel que votre application puisse être utilisée dans plusieurs langues et formats de date, d'heure et de nombres. C’est là que l’internationalisation et la localisation entrent en jeu. L'internationalisation (i18n) est le processus de conception et de préparation de votre application pour qu'elle soit utilisée dans différentes langues et régions. La localisation (l10n), quant à elle, est le processus de traduction de l'application internationalisée et de son adaptation à une région spécifique.
Pour commencer à internationaliser votre application Flutter, vous devez ajouter les dépendances `flutter_localizations` et `intl` dans votre fichier `pubspec.yaml`. La première est la bibliothèque de localisation de Flutter, tandis que la seconde est une bibliothèque Dart pour l'internationalisation et la localisation.
Après avoir ajouté les dépendances, vous devez les importer dans votre fichier principal et définir les paramètres régionaux pris en charge par votre application. Cela peut être fait dans le widget « MaterialApp » ou « CupertinoApp ».
La propriété `localizationsDelegates` répertorie les délégués qui fourniront des emplacements pour l'application. Les délégués d'emplacement « GlobalMaterialLocalizations » et « GlobalWidgetsLocalizations » fournissent respectivement des emplacements par défaut pour les widgets Material Design et Flutter. `GlobalCupertinoLocalizations` fournit des localisations pour les widgets de style iOS.
La propriété `supportedLocales` définit les paramètres régionaux pris en charge par l'application. Chaque locale est représentée par un objet `Locale`, qui possède un code de langue (`en` pour l'anglais, `es` pour l'espagnol, etc.) et, facultativement, un code de pays (pour spécifier les variantes régionales de la langue). < /p>
Une fois que vous avez défini les paramètres régionaux pris en charge, vous pouvez utiliser le widget « Localisations » pour accéder aux emplacements dans vos widgets. Par exemple, pour afficher une date formatée selon les paramètres régionaux actuels, vous pouvez procéder comme suit :
La classe `DateFormat` provient de la bibliothèque `intl` et fournit des méthodes pour formater les dates en fonction des paramètres régionaux actuels.
Pour traduire des chaînes, vous pouvez définir un délégué de paramètres régionaux personnalisé qui fournit une classe de paramètres régionaux. La classe de localisation contient des méthodes qui renvoient les chaînes traduites. Vous pouvez générer des fichiers de localisation à partir de fichiers de modèle à l'aide de l'outil `intl_translation`.
En résumé, l'internationalisation et la localisation dans Flutter sont des processus importants pour rendre votre application accessible à un public mondial. Bien que cela puisse paraître complexe au premier abord, Flutter fournit plusieurs outils et bibliothèques pour faciliter l'utilisation des i18n et l10n.