flutter_i18n 0.4.0 copy "flutter_i18n: ^0.4.0" to clipboard
flutter_i18n: ^0.4.0 copied to clipboard

outdated

i18n made easy for Flutter. With flutter_i18n you can make your app international, using just a simple .json file!

flutter_i18n #

I18n made easy, for Flutter!


Why you should use flutter_i18n? #

The main goal of flutter_i18n is to simplify the i18n process in Flutter. I would like to recreate the same experience that you have with the Angular i18n: simple json files, one for each language that you want to support.

Configuration #

To use this library, you must create in your project's root the following subfolders:

/assets/flutter_i18n

and put inside them the json related to the translation, using the following configuration:

  • If you want to specify the country code

    /assets/flutter_i18n/{languageCode}_{countryCode}.json

  • otherwise

    /assets/flutter_i18n/{languageCode}.json

Of course, you must declare the subtree in your pubspec.yaml as assets:

flutter:
  assets:
    - assets/flutter_i18n/

The next step consist in the configuration of the localizationsDelegates; to use flutter_i18n, you should configure as follows:

localizationsDelegates: [
        FlutterI18nDelegate(useCountryCode, [fallbackFile]),
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate
],

The useCountryCode parameter depends on the json configuration:

  • if you used the pattern {languageCode}_{countryCode}, useCountryCode must be true
  • if you used the pattern {languageCode}, useCountryCode must be false

The fallbackFile parameter was entroduces with the version 0.1.0 and provide a default language, used when the translation for the current running system is not provided. This should contain the name of a valid json file in assets folder.

If there isn't any translation available for the required key, the same key is returned.

flutter_i18n in action #

After the configuration steps, the only thing to do is invoke the following method:

FlutterI18n.translate(buildContext, "your.key")

Where:

  • buildContext is the BuildContext instance of the widget
  • your.key is the key to translate

Other examples of use:

await FlutterI18n.refresh(buildContext, languageCode, {countryCode});
FlutterI18n.plural(buildContext, "your.key", pluralValue);

For more informations, read the CHANGELOG.md.

190
likes
0
pub points
97%
popularity

Publisher

unverified uploader

i18n made easy for Flutter. With flutter_i18n you can make your app international, using just a simple .json file!

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter, flutter_localizations

More

Packages that depend on flutter_i18n