GitLab steht Mittwoch, den 23. September, zwischen 10:00 und 12:00 Uhr aufgrund von Wartungsarbeiten nicht zur Verfügung.

Commit d5734de3 authored by Achilleas Pipinellis's avatar Achilleas Pipinellis

Merge branch 'bvl-merge-translations-docs' into 'master'

[Docs] Document how to merge translations from Crowdin

See merge request gitlab-org/gitlab-ce!21924
parents 1ed5ab50 b92f7532
......@@ -50,3 +50,5 @@ able to proofread and instructions on becoming a proofreader yourself.
## Release
Translations are typically included in the next major or minor release.
See [Merging translations from Crowdin](
# Merging translations from Crowdin
Crowdin automatically syncs the `gitlab.pot` file presenting newly
added translations to the community of translators.
At the same time, it creates a merge request to merge all newly added
& approved translations. Find the [merge reqeust created by
to see new and merged merge requests. They are created in EE and need
to be ported to CE manually.
## 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]( 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
suggesting to automate this process. Disapproving will exclude the
invalid translation, the merge request will be updated within a few
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
When all failures are resolved, the translations need to be double
checked once more [as discussed in this
## Merging translations
When all translations are found good and pipelines pass the
translations can be merged into the master branch. After that is done,
create a new merge request cherry-picking the translations from EE to
CE. 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
and delete the
This might be needed when the merge request contains failures that
have been fixed on master.
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment