minimal_localizations 0.1.0+1 minimal_localizations: ^0.1.0+1 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 also added methods to get a value
, a string
or a list of supportedLocales
.
Usage #
See example.
Install #
Add to your pubspec.yaml
dependencies:
minimal_localizations:
Add a map of translations per language to MaterialApp #
Declare a MinimalLocalizationsDelegate
variable given a map of translations
per language tag:
final minimalLocalizationsDelegate = MinimalLocalizationsDelegate(
{
'en': {'title': 'Localizations'},
'nb-NO': {'title': 'Lokaliseringer'},
},
);
Add it to MaterialApp
and call supportedLocales
.
MaterialApp(
localizationsDelegates: [
...GlobalMaterialLocalizations.delegates,
minimalLocalizationsDelegate,
],
supportedLocales: minimalLocalizationsDelegate.supportedLocales(),
}
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);
}
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>