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

Minimal localization given a map of translations per language.

minimal_localizations #

Localize your Flutter app given a Map of translations per language.

It's based on the minimal localization example, but lets you pass a map of translations in the constructor.

We've also added methods to get a value, a string or a list of supportedLocales.

Features #

  • Ideal for small projects
  • Easy to use without code generation
  • No need for assets, just pure code
  • Fast performance without asset parsing
  • Supports both String and dynamic types
  • Automatically generates supported locales
  • No external dependencies

Install #

Add minimal_localizations and flutter_localizations as dependencies to your pubspec.yaml.

dependencies:
  flutter_localizations:
    sdk: flutter
  minimal_localizations:

Add translations-per-language Map to MaterialApp #

Declare a MinimalLocalizationsDelegate variable given a map of translations per language tag.

The language tag must be a valid Unicode BCP47. See https://www.unicode.org/reports/tr35/ for details.

final minimalLocalizationsDelegate = MinimalLocalizationsDelegate({
  'en': {
    'title': 'Localizations',
    'hello': 'Hello',
  },
  'nb-NO': {
    'title': 'Lokaliseringer',
    'hello': 'Hei',
  },
});

Add it to MaterialApp and call supportedLocales.

MaterialApp(
  localizationsDelegates: [
    ...GlobalMaterialLocalizations.delegates,
    minimalLocalizationsDelegate,
  ],
  supportedLocales: minimalLocalizationsDelegate.supportedLocales(),
}

Note on iOS #

Add supported languages to ios/Runner/Info.plist as described here.

Example:

<key>CFBundleLocalizations</key>
<array>
	<string>en</string>
	<string>nb-NO</string>
</array>

API #

Translate dynamic values using

MinimalLocalizations.of(context).value('some_value')

Translate strings using

MinimalLocalizations.of(context).string('Hi')

We keep the API simple, but you can easily add an extension method to String like this:

extension LocalizedString on String {
  String tr(BuildContext context) => MinimalLocalizations.of(context).string(this);
}

So you can translate strings like this:

'Hi'.tr(context)

Example #

See example

1
likes
140
pub points
46%
popularity

Publisher

verified publisherapptakk.com

Minimal localization given a map of translations per language.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on minimal_localizations