fast_i18n 4.2.0-dev.0
fast_i18n: ^4.2.0-dev.0 copied to clipboard
Lightweight i18n solution. Use JSON files to create typesafe translations.
4.2.0-dev.0 #
- new command:
flutter pub run fast_i18nwhich is much faster thanflutter pub run build_runner build --delete-conflicting-outputs
4.1.1 #
- fix:
LocaleSettings.setLocaleRawfor locales encoded with underscore_ - docs: update README
4.1.0 #
A rebuild is needed: flutter pub run build_runner build.
- feat: the generated file is now self-contained, it works even if you remove this library!
- feat: add stats and timestamp to the generated file
- fix: parse files with underscore only (e.g.
strings_en_US) - fix: parse files with script tag (e.g.
strings_zh-Hant-TW) - perf: generate
LocaleSettings.supportedLocalesstatically without library call - perf: remove switch call in
Translations.of(context). - docs: updates in generated file
- docs: update README
4.0.0 #
The typed version is now first class.
- Breaking:
setLocale->setLocaleRaw,setLocaleTyped->setLocale - Breaking:
locales->supportedLocalesRaw - Breaking:
AppLocale.toLanguageTag->AppLocale.languageTag - Breaking: translation classes are now private by default, you can configure it via
translation_class_visibilityinbuild.yaml(in most cases just keep it private!) - plain strings are now implemented via getters,
edit json -> rebuild i18n -> hot reloadworks now for faster development
3.0.4 #
- fix
LocaleSettings.useDeviceLocale()causing compilation error (Flutter Web)
3.0.3 #
- docs: add hint for
.i18n.jsonextension - docs: update code examples
- docs: update image
3.0.2 #
- new optional case transformation:
pascal - remove recase dependency
- code changes in generated .g.dart file
3.0.1 #
- add real project example
- update FAQ in README
- depend on null-safety version of recase package
3.0.0 #
- null safety support
- add type-safe functions
LocaleSettings.setLocaleTypedandLocaleSettings.currentLocaleTyped - Breaking:
output_translate_varrenamed totranslate_varinbuild.yaml
2.3.1 #
- Make locales case sensitive to comply with
MaterialApp'ssupportedLocales.
2.3.0 #
- Add
supportedLocalesproperty that can be used to fillMaterialApp'ssupportedLocalesargument.
2.2.1 #
- Fix compilation error occurring when non-standard name (not 'strings.i18n.json') is used for json files.
2.2.0 #
- new config:
output_translate_var, renames defaulttvariable - internal: device locale now fetched via
Platform.localeName
2.1.0 #
A rebuild is needed: flutter pub run build_runner build.
- API change: LocaleSettings.useDeviceLocale() is no longer asynchronous and now returns the new locale (was
Future<void>) - API change: LocaleSettings.setLocale(locale) now also returns the new locale (was
void)
Just in case you use internal API: FastI18n.findDeviceLocale has been renamed to FastI18n.getDeviceLocale
2.0.0 #
Thanks to @DenchikBY (https://github.com/DenchikBY).
- Now it's possible to set in and out directories for files.
- You can set the pattern by which to search for files.
- Generated keys can be switched to another case in generated classes.
- Removed dependency on devicelocale.
- Configs with baseLocale and maps moved from config.i18n.json to build.yaml
- Generators replaced with fields for keys with static values.
- Arguments now can be wrapped with braces like ${key}.
- Removed deprecated
#mapmode (deprecated in 1.5.0)
Example of new config in build.yaml:
targets:
$default:
builders:
fast_i18n:i18nBuilder:
options:
base_locale: en
input_directory: lib/i18n
input_file_pattern: .i18n.json
output_directory: lib/i18n
output_file_pattern: .g.dart
key_case: snake
maps:
- a
- b
- c.d
1.8.2 #
- Hotfix: possible NPE when calling Translations.of(context)
1.8.1 #
- Hotfix: possible NPE error when calling LocaleSettings.useDeviceLocale or LocaleSettings.setLocale
1.8.0 #
- New advanced mode: final t = Translations.of(context)
1.7.0 #
- Prefer language code over region code.
1.6.1 #
- Add more unit tests.
- Code Polishing.
1.6.0 #
- Generates
List<String>orMap<String, String>instead ofList<dynamic>orMap<String, dynamic>if the children are only strings. - You will experience a better autocompletion like
.substring,.indexOf, etc. because of that.
1.5.0+2 #
- Update README
1.5.0+1 #
- Update README
1.5.0 #
-
Define additional metadata in the
config.i18n.jsonfile. -
Maps defined with
#mapare now deprecated. Useconfig.i18n.jsonfor that. -
Add
LocaleSettings.localesto get the supported locales.
1.4.0 #
-
Add support for country codes. Use e.g.
strings_en_US.i18n.jsonorstrings_en-US.i18n.json. -
Add fallback for
LocaleSettings.setLocaleif locale is not supported.
1.3.0 #
-
Add support for lists.
-
Add support for maps. Use
{ "#map": "" }to enable map inlining.
1.2.0+1 #
- Update README
1.2.0 #
- Only one single
.g.dartwill be generated
1.1.2 #
- Fix iOS bug in
LocaleSettings.useDeviceLocale
1.1.1 #
- Fix for
LocaleSettings.useDeviceLocale
1.1.0 #
- Add
LocaleSettings.useDeviceLocale()
1.0.0 #
- Initial Release
- basic json support (no arrays)