Commit c86c6718 authored by Marcel Amirault's avatar Marcel Amirault

Merge branch 'hdelalic-master-patch-11578' into 'master'

Correct the capitalization of Crowdin [4/4]

See merge request gitlab-org/gitlab!74853
parents e3b07c65 4f0391ff
...@@ -128,7 +128,7 @@ crosslinked ...@@ -128,7 +128,7 @@ crosslinked
crosslinking crosslinking
crosslinks crosslinks
Crossplane Crossplane
CrowdIn Crowdin
CSV CSV
cybersecurity cybersecurity
Dangerfile Dangerfile
......
...@@ -4,27 +4,27 @@ group: Import ...@@ -4,27 +4,27 @@ group: Import
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
--- ---
# Merging translations from CrowdIn # Merging translations from Crowdin
CrowdIn automatically syncs the `gitlab.pot` file with the CrowdIn service, presenting Crowdin automatically syncs the `gitlab.pot` file with the Crowdin service, presenting
newly added externalized strings to the community of translators. newly added externalized strings to the community of translators.
The [GitLab CrowdIn Bot](https://gitlab.com/gitlab-crowdin-bot) also creates merge requests The [GitLab Crowdin Bot](https://gitlab.com/gitlab-crowdin-bot) also creates merge requests
to take newly approved translation submissions and merge them into the `locale/<language>/gitlab.po` 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`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&state=opened&author_username=gitlab-crowdin-bot) files. Check the [merge requests created by `gitlab-crowdin-bot`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&state=opened&author_username=gitlab-crowdin-bot)
to see new and merged merge requests. to see new and merged merge requests.
## Validation ## Validation
By default CrowdIn commits translations with `[skip ci]` in the commit By default Crowdin commits translations with `[skip ci]` in the commit
message. This avoids an excessive number of pipelines from running. message. This avoids an excessive number of pipelines from running.
Before merging translations, make sure to trigger a pipeline to validate Before merging translations, make sure to trigger a pipeline to validate
translations. Static analysis validates things CrowdIn doesn't do. Create translations. Static analysis validates things Crowdin doesn't do. Create
a new pipeline at [`https://gitlab.com/gitlab-org/gitlab/pipelines/new`](https://gitlab.com/gitlab-org/gitlab/pipelines/new) a new pipeline at [`https://gitlab.com/gitlab-org/gitlab/pipelines/new`](https://gitlab.com/gitlab-org/gitlab/pipelines/new)
(requires the Developer role) for the `master-i18n` branch. (requires the Developer role) for the `master-i18n` branch.
If there are validation errors, the easiest solution is to disapprove If there are validation errors, the easiest solution is to disapprove
the offending string in CrowdIn, leaving a comment with what is the offending string in Crowdin, leaving a comment with what is
required to fix the errors. There's an required to fix the errors. There's an
[issue](https://gitlab.com/gitlab-org/gitlab/-/issues/23256) [issue](https://gitlab.com/gitlab-org/gitlab/-/issues/23256)
that suggests automating this process. Disapproving excludes the that suggests automating this process. Disapproving excludes the
...@@ -32,18 +32,18 @@ invalid translation. The merge request is then updated within a few ...@@ -32,18 +32,18 @@ invalid translation. The merge request is then updated within a few
minutes. minutes.
If the translation fails validation due to angle brackets (`<` or `>`), If the translation fails validation due to angle brackets (`<` or `>`),
it should be disapproved in CrowdIn. Our strings must use [variables](externalization.md#html) it should be disapproved in Crowdin. Our strings must use [variables](externalization.md#html)
for HTML instead. for HTML instead.
It might be useful to pause the integration on the CrowdIn side for a It might be useful to pause the integration on the Crowdin side for a
moment so translations don't keep coming. You can do this by clicking moment so translations don't keep coming. You can do this by clicking
**Pause sync** on the [CrowdIn integration settings page](https://translate.gitlab.com/project/gitlab-ee/settings#integration). **Pause sync** on the [Crowdin integration settings page](https://translate.gitlab.com/project/gitlab-ee/settings#integration).
## Merging translations ## Merging translations
After all translations are determined to be appropriate and the pipelines pass, After all translations are determined to be appropriate and the pipelines pass,
you can merge the translations into the default branch. When merging translations, you can merge the translations into the default branch. When merging translations,
be sure to select the **Remove source branch** checkbox. This causes CrowdIn be sure to select the **Remove source branch** checkbox. This causes Crowdin
to recreate the `master-i18n` branch from the default branch after merging the new to recreate the `master-i18n` branch from the default branch after merging the new
translation. translation.
...@@ -51,26 +51,26 @@ We are discussing [automating this entire process](https://gitlab.com/gitlab-org ...@@ -51,26 +51,26 @@ We are discussing [automating this entire process](https://gitlab.com/gitlab-org
## Recreate the merge request ## Recreate the merge request
CrowdIn creates a new merge request as soon as the old one is closed Crowdin creates a new merge request as soon as the old one is closed
or merged. But it does not recreate the `master-i18n` branch every or merged. But it does not recreate the `master-i18n` branch every
time. To force CrowdIn to recreate the branch, close any [open merge requests](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&state=opened&author_username=gitlab-crowdin-bot) time. To force Crowdin to recreate the branch, close any [open merge requests](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&state=opened&author_username=gitlab-crowdin-bot)
and delete the [`master-18n`](https://gitlab.com/gitlab-org/gitlab/-/branches/all?utf8=✓&search=master-i18n) branch. and delete the [`master-18n`](https://gitlab.com/gitlab-org/gitlab/-/branches/all?utf8=✓&search=master-i18n) branch.
This might be needed when the merge request contains failures that This might be needed when the merge request contains failures that
have been fixed on the default branch. have been fixed on the default branch.
## Recreate the GitLab integration in CrowdIn ## Recreate the GitLab integration in Crowdin
NOTE: NOTE:
These instructions work only for GitLab Team Members. These instructions work only for GitLab Team Members.
If for some reason the GitLab integration in CrowdIn doesn't exist, you can If for some reason the GitLab integration in Crowdin doesn't exist, you can
recreate it with the following steps: recreate it with the following steps:
1. Sign in to GitLab as `gitlab-crowdin-bot`. (If you're a GitLab Team Member, 1. Sign in to GitLab as `gitlab-crowdin-bot`. (If you're a GitLab Team Member,
find credentials in the GitLab shared find credentials in the GitLab shared
[1Password account](https://about.gitlab.com/handbook/security/#1password-for-teams).) [1Password account](https://about.gitlab.com/handbook/security/#1password-for-teams).)
1. Sign in to CrowdIn with the GitLab integration. 1. Sign in to Crowdin with the GitLab integration.
1. Go to **Settings > Integrations > GitLab > Set Up Integration**. 1. Go to **Settings > Integrations > GitLab > Set Up Integration**.
1. Select the `gitlab-org/gitlab` repository. 1. Select the `gitlab-org/gitlab` repository.
1. In **Select Branches for Translation**, select `master`. 1. In **Select Branches for Translation**, select `master`.
...@@ -78,7 +78,7 @@ recreate it with the following steps: ...@@ -78,7 +78,7 @@ recreate it with the following steps:
## Manually update the translation levels ## Manually update the translation levels
There's no automated way to pull the translation levels from CrowdIn, to display There's no automated way to pull the translation levels from Crowdin, to display
this information in the language selection dropdown. Therefore, the translation this information in the language selection dropdown. Therefore, the translation
levels are hard-coded in the `TRANSLATION_LEVELS` constant in [`i18n.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/i18n.rb), levels are hard-coded in the `TRANSLATION_LEVELS` constant in [`i18n.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/i18n.rb),
and must be regularly updated. and must be regularly updated.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment