Merging translations from CrowdIn
CrowdIn automatically syncs the gitlab.pot
file with the CrowdIn service, presenting
newly added externalized strings to the community of translators.
GitLab CrowdIn Bot also creates merge requests
to take newly approved translation submissions and merge them into the locale/<language>/gitlab.po
files. Check the merge requests created by gitlab-crowdin-bot
to see new and merged merge requests.
Validation
By default CrowdIn commits translations with [skip ci]
in the commit
message. This is done to avoid a bunch of pipelines being run. Before
merging translations, make sure to trigger a pipeline to validate
translations, we have static analysis validating things CrowdIn
doesn’t do. Create a new pipeline at https://gitlab.com/gitlab-org/gitlab/pipelines/new
(need Developer access permissions) for the master-i18n
branch.
If there are validation errors, the easiest solution is to disapprove the offending string in CrowdIn, leaving a comment with what is required to fix the offense. There is an issue suggesting to automate this process. Disapproving will exclude the invalid translation, the merge request will be updated within a few minutes.
It might be handy to pause the integration on the CrowdIn side for a
little while so translations don’t keep coming. This can be done by
clicking Pause sync
on the CrowdIn integration settings
page.
When all failures are resolved, the translations need to be double
checked once more as discussed in confidential issue https://gitlab.com/gitlab-org/gitlab/issues/19485
.
Merging translations
When all translations are found good and pipelines pass the
translations can be merged into the master branch. When merging the translations,
make sure to check the Remove source branch checkbox, so CrowdIn recreates the
master-i18n
from master after the new translation was merged.
We are discussing automating this entire process.
Recreate the merge request
CrowdIn creates a new merge request as soon as the old one is closed
or merged. But it won’t recreate the master-i18n
branch every
time. To force CrowdIn to recreate the branch, close any open merge
request
and delete the
master-18n
.
This might be needed when the merge request contains failures that have been fixed on master.
Help and feedback
If there's something you don't like about this feature
To propose functionality that GitLab does not yet offer
To further help GitLab in shaping new features
If you didn't find what you were looking for
If you want help with something very specific to your use case, and can use some community support
POST ON GITLAB FORUM
If you have problems setting up or using this feature (depending on your GitLab subscription)
REQUEST SUPPORT
To view all GitLab tiers and features or to upgrade
If you want to try all features available in GitLab.com
If you want to try all features available in GitLab self-managed
If you spot an error or a need for improvement and would like to fix it yourself in a merge request
EDIT THIS PAGE
If you would like to suggest an improvement to this doc