10.3. Internationalisation et localisation dans Flutter : traduction de chaînes
Page 136 | Écouter en audio
L'internationalisation et la localisation sont des aspects essentiels du développement d'applications, surtout si votre public cible est mondial. Dans ce contexte, Flutter, avec son langage de programmation Dart, offre un moyen efficace et efficient de traduire des chaînes et d'adapter votre application à différents marchés et cultures. Ce processus est connu sous le nom d'internationalisation (i18n) et de localisation (l10n).
L'internationalisation est le processus de conception et de préparation de votre application pour une utilisation dans plusieurs langues et régions. Cela implique d'extraire des chaînes de texte de votre code et de préparer votre application à afficher le contenu traduit. D'autre part, la localisation est le processus de traduction du contenu de votre application et de son adaptation pour répondre aux attentes culturelles et juridiques d'un marché spécifique.
Flutter facilite l'internationalisation et la localisation de votre application en fournissant un certain nombre d'outils et de bibliothèques. Pour commencer, vous devez ajouter les dépendances nécessaires à votre fichier pubspec.yaml. Cela inclut la bibliothèque 'flutter_localizations' qui fournit des classes et des méthodes pour traduire des chaînes et la bibliothèque 'intl' qui fournit des fonctionnalités de formatage de date, d'heure et de nombre.
1. Configuration de l'internationalisation
Après avoir ajouté les dépendances, vous devez configurer l'internationalisation de votre application. Cela implique de définir les langues et les régions prises en charge par votre application. Dans Flutter, vous pouvez le faire en utilisant la classe « Locale ». Par exemple, si vous souhaitez que votre application prenne en charge à la fois l'anglais et l'espagnol, vous pouvez procéder comme ceci :
Paramètres locaux pris en charge : [
const Locale('en', 'US'), // Anglais américain
const Locale('es', 'ES'), // Espagnol Espagne
]
2. Traduction de chaînes
La traduction de chaînes est une partie importante de l'internationalisation et de la localisation. Dans Flutter, vous pouvez traduire des chaînes à l'aide de la classe « Intl ». Pour chaque chaîne que vous souhaitez traduire, vous devez créer une nouvelle instance de « Intl » et transmettre la chaîne d'origine comme argument. Par exemple :
StringwelcomeMessage = Intl.message('Bienvenue', nom : 'welcomeMessage');
Après avoir créé l'instance, vous pouvez utiliser la méthode 'of' pour obtenir la traduction de la chaîne dans la langue actuelle. Par exemple :
Text(Intl.of(context).welcomeMessage);
3. Fichiers de ressources linguistiques
Pour chaque langue prise en charge par votre application, vous devez créer un fichier de ressources linguistiques. Il s'agit d'un fichier Dart qui contient toutes vos traductions de chaînes. Vous pouvez créer ce fichier manuellement ou utiliser l'outil 'intl_translation' pour le générer automatiquement.
4. Sélection de la langue actuelle
Pour sélectionner la langue actuelle, vous pouvez utiliser la classe 'Locale'. Vous pouvez obtenir la langue actuelle en utilisant la méthode 'localeResolutionCallback'. Par exemple :
localeResolutionCallback : (Locale locale, IterablesupportedLocales) {
si (locale == null) {
renvoyer supportéLocales.first ;
}
pour (Locale pris en chargeLocale dans pris en chargeLocales) {
if (supportedLocale.langageCode == locale.langueCode){
renvoyer supportéLocale ;
}
}
renvoyer supportéLocales.first ;
}
En résumé, l'internationalisation et la localisation sont des aspects essentiels du développement d'applications ciblant un public mondial. Flutter offre un moyen efficace et efficient de traduire des chaînes et d'adapter votre application à différents marchés et cultures. En suivant ces étapes, vous pouvez vous assurer que votre application sera bien accueillie par les utilisateurs du monde entier.
Répondez maintenant à l’exercice sur le contenu :
Qu’est-ce que l’internationalisation et la localisation dans le contexte du développement d’applications ?
Tu as raison! Félicitations, passez maintenant à la page suivante
Vous avez raté! Essayer à nouveau.
Page suivante de lebook gratuit :