Skip to content

How to start

Robert Korulczyk edited this page Mar 12, 2022 · 4 revisions

If you want to maintain new language pack or integrate existing language pack with Weblate, please open an issue here and share your username used on Weblate. Each inquiry is handled individually, but usually within ~24 hours existing translations are imported to Weblate, and after this you should find your language at https://weblate.rob006.net/projects/flarum/#languages and be able to translate extensions using Weblate interface. Translations will be exported to your language pack repository, so all you need to do in GitHub repository is to tag new releases.

What's next

Few hints that may help you manage your translations:

  1. Right now everyone can participate in translation process on Weblate and translate extensions, but only you can mark translations for your language as verified. It is good to review all existing translations and mark them as verified, and then check for unverified translations from time to time to make sure that everything is OK - while community may help translating new extensions, it is wort to double check if these translations are correct.

    Unverified translation example

  2. There is almost 200 extensions to translate. Even if you have ambitious plans to translate them all, it is wort to focus on most popular extensions first. On https://rob006-software.github.io/flarum-translations/ you can find link to detailed translation status for your language (for example https://rob006-software.github.io/flarum-translations/status/pl.html for Polish) - it is list of extensions ordered by number of monthly downloads. You can pick extensions from the top of the list and translate them first, as it is higher chance users of your language pack will use popular extensions too.

    Example of translation status

  3. In your account settings you can select list of primary and secondary languages. Primary languages will be be used to recommend you components to translate. Secondary languages will be displayed as hint during translation - if you know some basics in other language you can set it as secondary language, to give you more context about translated string (some English words may be ambiguous and having other translations may help you understand intended meaning). In notifications settings it is worth to mark Flarum project as watched and adjust notifications settings, so you will get email notifications when new translations will need some action.

    Example of watched projects settings

  4. You can easily include list of translated extensions in description of your language pack by inserting any of these placeholders in README.md of your repository:

    • <!-- flarum-extensions-list-start --><!-- flarum-extensions-list-stop --> - list of core extensions (from Flarum vendor).
    • <!-- fof-extensions-list-start --><!-- fof-extensions-list-stop --> - list of FoF extensions (from Friends of Flarum vendor).
    • <!-- various-extensions-list-start --><!-- various-extensions-list-stop --> - list of other extensions, excluding core and FoF extensions.
    • <!-- all-extensions-list-start --><!-- all-extensions-list-stop --> - all extensions. You may want to use these if you don't want to split list of extensions and use one long list.

    These placeholders will be replaced by list of extensions which will be automatically updated by bot when new translation will be added. Only translated extensions will be included in these lists, so if you don't event start translate particular extension, it will not show up on this list.

    Example of generated list

    Note that none of these lists will include translation status for core.yml and validation.yml. But since they never change, you can add them manually using this snippet (you need to replace pl in URLs by your language):

    | Component | Status |
    | --- | --- |
    | [Core](https://github.com/flarum/core) | [![Translation status](https://weblate.rob006.net/widgets/flarum/pl/core/svg-badge.svg)](https://weblate.rob006.net/projects/flarum/core/pl/) |
    | Validation | [![Translation status](https://weblate.rob006.net/widgets/flarum/pl/validation/svg-badge.svg)](https://weblate.rob006.net/projects/flarum/validation/pl/) |
  5. Weblate tries to group translations of one component in single commit, to avoid spamming commits for every single change. In order to do this, it waits about an hour before it commits your work to main repository. While in most cases this is not a big problem, if you want to make few adjustments and quickly tag new release, one hour is a long time. As a Language Pack Maintainer you can manually trigger commit using "Manage" -> "Commit" option in view of particular component. Use this option if you're in hurry and want o quickly commit translations for specific component.

    Screen of Commit action

    Note that this is per component action - if you translated multiple different components (extensions), you need to use this option on each of them. Also, this commits translations to main repository - you may need to wait up to 10 minutes before bot will export translations to your language pack repository, so always make sure that nothing is missing before tagging new release - it is easy to miss something with such last-minute changes.

Clone this wiki locally