Skip to content

Latest commit

 

History

History
101 lines (75 loc) · 3.32 KB

translation.md

File metadata and controls

101 lines (75 loc) · 3.32 KB

🌍 Translation

The package 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(
  controller: _controller,
  configurations: QuillSimpleToolbarConfigurations(
    sharedConfigurations: const QuillSharedConfigurations(
      locale: Locale('de'),
    ),
  ),
),
Expanded(
  child: QuillEditor.basic(
    controller: _controller,
    configurations: QuillEditorConfigurations(
      sharedConfigurations: const QuillSharedConfigurations(
        locale: Locale('de'),
      ),
    ),
  ),
)

🌐 Supported Locales

Currently, translations are available for these 41 locales:

  • ar, bg, bn, ca, 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, th, 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.

Add new local
  1. Create a new file in l10n folder, with the following namequill_${localName}.arb for example quill_de.arb. See locale codes.

  2. Copy the Arb Template file and paste it into your new file, replace the values with your translations

  3. Update the Supported Locales section on this page to update the supported translations for both the number and the list

Update existing local
  1. Navigate to l10n folder

  2. Find the existing local, let's say you want to update the Korean translations, it will be quill_ko.arb

  3. Use untranslated.json as a reference to find missing, update, or add what you want to translate.


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!