Thanks for showing your interest in helping us to translate the software.
Before you start working on a new language, please look through the open pull requests to see if anyone is already working on a translation. If you find one, please join the discussion and help us keep the existing translations up to date.
if there is no existing translation, you can create a new one by following these steps:
- Fork the repository.
- Checkout the
i18n
branch for latest translations. - Create a new branch for your translation with base branch
i18n
. - Create target language file in the
locales
directory. - Copy the contents of the source file
locales/en.json
to the target language file. - Translate the strings in the target language file.
- Add your language entry to
languages.json
. - Save & commit changes.
- Send a pull request.
You may send a pull request before all steps above are complete: e.g., you may want to ask for help with translations, or getting tests to pass. However, your pull request will not be merged until all steps above are complete.
i18n
branch will be merged into main
branch once every week.
Completing an initial translation of the whole site is a fairly large task. One way to break that task up is to work with other translators through pull requests on your fork. You can also add collaborators to your fork if you'd like to invite other translators to commit directly to your fork and share responsibility for merging pull requests.
If you notice spelling or grammar errors, typos, or opportunities for better phrasing, open a pull request with your suggested fix. If you see a problem that you aren't sure of or don't have time to fix, open an issue.
When tests find broken links, try to fix them across all translations. Ideally, only update the linked URLs, so that translation changes will definitely not be necessary.