flutter_i18n_plus 1.0.2
flutter_i18n_plus: ^1.0.2 copied to clipboard
An advanced internationalization package for Flutter applications with support for plurals, date formatting, and more.
I18nPlus #
I18nPlus est un package de internationalisation avancé pour les applications Flutter. Il offre une solution simple et flexible pour gérer les traductions, le formatage des dates et des devises, ainsi que la pluralisation dans vos applications Flutter.
Fonctionnalités #
- Gestion facile des traductions avec support pour les clés imbriquées
- Pluralisation
- Formatage des dates
- Formatage des devises
- Changement dynamique de langue
- Support pour les arguments dans les traductions
Installation #
Ajoutez I18nPlus à votre fichier pubspec.yaml :
dependencies:
flutter_i18n_plus: ^1.0.0
Ensuite, exécutez :
flutter pub get
Configuration #
- Créez un dossier
assets/translations/dans votre projet. - Ajoutez vos fichiers de traduction JSON dans ce dossier (par exemple,
en.json,fr.json). - Mettez à jour votre
pubspec.yamlpour inclure les assets :
flutter:
assets:
- assets/translations/
Utilisation #
Initialisation #
Enveloppez votre MaterialApp (ou CupertinoApp) avec I18nPlusProvider :
void main() {
runApp(
I18nPlusProvider(
supportedLocales: [Locale('en', 'US'), Locale('fr', 'FR')],
defaultLocale: Locale('en', 'US'),
translationsPath: 'assets/translations',
child: MyApp(),
),
);
}
Traductions simples #
Utilisez l'extension t sur BuildContext pour accéder aux traductions :
Text(context.t('greeting'))
Traductions avec arguments #
Text(context.t('welcome', args: {'name': 'John'}))
Pluralisation #
Utilisez l'extension p sur BuildContext pour la pluralisation :
Text(context.p('items', itemCount, args: {'count': itemCount.toString()}))
Formatage de date #
Text(I18nPlus().formatDate(DateTime.now()))
Formatage de devise #
Text(I18nPlus().formatCurrency(1234.56))
Changement de langue #
ElevatedButton(
onPressed: () {
final newLocale = I18nPlus().currentLocale.languageCode == 'en'
? Locale('fr', 'FR')
: Locale('en', 'US');
I18nPlusProvider.of(context).setLocale(newLocale);
},
child: Text('Changer de langue'),
)
Exemple de fichier de traduction #
en.json:
{
"greeting": "Hello",
"welcome": "Welcome, {name}!",
"items": {
"one": "{count} item",
"other": "{count} items"
}
}
Contributeurs #
Nous remercions chaleureusement tous nos contributeurs qui ont aidé à faire de I18nPlus ce qu'il est aujourd'hui !
Un grand merci va à ces merveilleux contributeurs (😍✌🏿):
Dogbo Ezechiel |
mohamed sangare |
Gael Yad Eugene SASSAN |
Ce projet suit la spécification all-contributors. Les contributions de toute nature sont les bienvenues !
Contribution #
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou à soumettre une pull request sur GitHub.
Licence #
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.