flutter_i18n_plus 1.0.2 copy "flutter_i18n_plus: ^1.0.2" to clipboard
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 #

  1. Créez un dossier assets/translations/ dans votre projet.
  2. Ajoutez vos fichiers de traduction JSON dans ce dossier (par exemple, en.json, fr.json).
  3. Mettez à jour votre pubspec.yaml pour 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.

2
likes
140
points
22
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

An advanced internationalization package for Flutter applications with support for plurals, date formatting, and more.

Repository (GitHub)
View/report issues
Contributing

License

MIT (license)

Dependencies

flutter, intl

More

Packages that depend on flutter_i18n_plus