Translation
Flutter Quill offers translations for the quill toolbar and editor, it will follow the locale that is defined in your WidgetsApp
for example MaterialApp
which usually follows the system locally unless you set your own locale with:
QuillToolbar.simple(
configurations: QuillSimpleToolbarConfigurations(
controller: _controller,
sharedConfigurations: const QuillSharedConfigurations(
locale: Locale('de'),
),
),
),
Expanded(
child: QuillEditor.basic(
configurations: QuillEditorConfigurations(
controller: _controller,
sharedConfigurations: const QuillSharedConfigurations(
locale: Locale('de'),
),
),
),
)
🌐 Supported Locales
Currently, translations are available for these 40 locales:
ar
,bg
,bn
,cs
,da
,de
en
,en_US
,es
,fa
,fr
,he
hi
,id
,it
,ja
,ko
,ku
ms
,ne
,nl
,no
,pl
,pt
pt_BR
,ro
,ro_RO
,ru
,sk
,sr
sv
,sw
,tk
,tr
,uk
,ur
vi
,zh
,zh_CN
,zh_HK
📌 Contributing to translations
The translation files are located in the l10n folder. Feel free to contribute your own translations.
You can take a look at the untranslated.json file, which is a generated file that tells you which keys with which locales haven't been translated so you can find the missing easily.
We usually avoid updating the existing value of a key in the template file without updating the key or creating a new one. This will not update the untranslated.json correctly and will make it harder for contributors to find missing or incomplete.
Once you finish, run the following script:
dart ./scripts/regenerate_translations.dart
Or (if you can't run the script for some reason):
flutter gen-l10n
dart fix --apply ./lib/src/l10n/generated
dart format ./lib/src/l10n/generated
The script above will generate Dart files from the Arb files to test the changes and take effect, otherwise you won't notice a difference.
🔧 If you added or removed translations in the template file, make sure to update
_expectedTranslationKeysLength
variable in scripts/ensure_translations_correct.dart Otherwise you don't need to update it.
Then open a pull request so everyone can benefit from your translations!
Last updated