fast_i18n 1.0.0 fast_i18n: ^1.0.0 copied to clipboard
Lightweight i18n solution. Use JSON files to create typesafe translations.
Example #
Step 1: Add dependencies #
dependencies:
fast_i18n: ^1.0.0
dev_dependencies:
build_runner: any
Step 2: Create JSON files #
Create these files inside your lib
directory. Preferably in one common package like lib/i18n
.
strings.i18n.json
{
"hello": "Hello $name",
"save": "Save",
"login": {
"success": "Logged in successfully",
"fail": "Logged in failed"
}
}
strings_de.i18n.json
{
"hello": "Hallo $name",
"save": "Speichern",
"login": {
"success": "Login erfolgreich",
"fail": "Login fehlgeschlagen"
}
}
Step 3: Generate the dart code #
flutter packages pub run build_runner build
Step 4: Use your translations #
// raw string
String translated = t.hello(name: 'Tom');
// inside component
Text(t.login.success)
Useful functions #
When the dart code has been generated, you will see some useful classes and functions
t
- the most important translate variable
LocaleSettings.changeLocale('de')
- change the locale
LocaleSettings.currentLocale
- get the current locale