easy_localization 2.0.2
easy_localization: ^2.0.2 copied to clipboard
Easy and Fast internationalizing and localization your Flutter Apps, this package simplify the internationalizing process using Json file.
Changelog #
2.0.2 #
- fixed many issues
- optimized and clean code more stability
2.0.1 #
- Added change locale dynamically
saveLocaledefault valuetrue - fixed many issues
2.0.0 #
this version came with many updates, here are the main ones:
-
optimized and clean code more stability
-
fixed many issues
-
added Unite test
-
Customization AssetLoader localizations
assetLoaderfor more details see custom assetLoader -
added
fallbackLocaleas optional -
Hiding
EasyLocalizationProvider -
refactor and update approach localization for more details see example:
// Now V2.0.0 runApp(EasyLocalization( child: MyApp(), ... )); // after V2.0.0 runApp(EasyLocalization( child: MyApp(), ... )); ... class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { var data = EasyLocalizationProvider.of(context).data; return EasyLocalizationProvider(...); }} -
added Support for context
tr("key", context: context), plural("key", 1 , context: context),
1.4.1 #
-
optimized and clean code
-
fixed many issues
-
added extension for Strings
// after 1.4.1 Text('title'.tr()), Text('switch'.tr( gender: _gender ? "female" : "male")), Text('counter'.plural(counter)),
1.4.0 #
-
refactor code changed call
AppLocalizations.of(context).tr()toAppLocalizations.of(context).plural()tr()andplural()// after 1.4.0 Text( tr('switch', gender: _gender ? "female" : "male"), ),// before 1.4.0 Text( AppLocalizations.of(context).tr('switch', gender: _gender ? "female" : "male"), ), -
added Flutter extension for Text widget
// after 1.4.0 Text('switch').tr( gender: _gender ? "female" : "male"), Text('counter').plural(counter),
1.3.5 #
-
merge
gender()andtr().{ "switch":{ "male": "Hi man ;)", "female": "Hello girl :)" } }new Text( AppLocalizations.of(context).tr('switch', gender: _gender ? "female" : "male"), ), -
use parameters
argsfor gender.{ "switch":{ "male": "Hi man ;) {}", "female": "Hello girl :) {}" } }new Text( AppLocalizations.of(context).tr('switch', args:["Naama"] gender: _gender ? "female" : "male"), ),
1.3.4 #
-
adeed Gender [female,male]
gender().{ "switch":{ "male": "Hi man ;)", "female": "Hello girl :)" } }new Text( AppLocalizations.of(context).gender('switch', _gender ? "female" : "male"), ), `
1.3.3+1 #
-
updated
plural()thanks shushper .{ "text": { "day": { "zero":"{} дней", "one": "{} день", "two": "{} дня", "few": "{} дня", "many": "{} дней", "other": "{} дней" } } }
1.3.3 #
- removed
data.savedLocale. - optimized and clean code
- fixed many issues
1.3.2 #
-
plural()added property resolver for nested key translations{ "text": { "day": { "zero": "day", "one": "day", "other": "days" } } }new Text( AppLocalizations.of(context).plural("text.day", 2), ), -
fixed many issues
1.3.1 #
- add useOnlyLangCode flag
1.3.0 #
- Load translations from remote or backend
- fixed many issues
1.2.1 #
- supported shared_preferences
- Save selected localization
1.2.0 #
- Added property resolver for nested key translations
- return translate key if the element or path not exist
{
"title": "Hello",
"msg": "Hello {} in the {} world ",
"clickMe": "Click me",
"profile": {
"reset_password": {
"title": "Reset Password",
"username": "Username",
"password": "password"
}
},
"clicked": {
"zero": "You clicked {} times!",
"one": "You clicked {} time!",
"other": "You clicked {} times!"
}
}
new Text(
AppLocalizations.of(context).tr('profile.reset_password.title'),
),
1.0.4 #
- Added Support country codes
1.0.3 #
- Updated
tr()function added Multi Argument
1.0.2 #
- Added string pluralisation .
- Added Argument to
tr()function.