Commit f4a49cae authored by Kati Paizee's avatar Kati Paizee

Merge branch 'docs-translate-edits-2' into 'master'

Edits to translation docs

See merge request gitlab-org/gitlab!62251
parents 9602bad7 0c984f54
...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -9,7 +9,7 @@ info: To determine the technical writer assigned to the Stage/Group associated w
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.
[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&utf8=%E2%9C%93&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&utf8=%E2%9C%93&state=opened&author_username=gitlab-crowdin-bot)
to see new and merged merge requests. to see new and merged merge requests.
...@@ -17,35 +17,34 @@ to see new and merged merge requests. ...@@ -17,35 +17,34 @@ 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 is done to avoid a bunch of pipelines being run. Before message. This avoids an excessive number of pipelines from running.
merging translations, make sure to trigger a pipeline to validate Before merging translations, make sure to trigger a pipeline to validate
translations, we have static analysis validating things CrowdIn translations. Static analysis validates things CrowdIn doesn't do. Create
doesn't do. Create a new pipeline at `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)
(need Developer access permissions) for the `master-i18n` branch. (need developer permissions) 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 offense. There is 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)
suggesting to automate this process. Disapproving excludes the that suggests automating this process. Disapproving excludes the
invalid translation, the merge request is then updated within a few invalid translation. The merge request is then updated within a few
minutes. minutes.
If the translation has failed validation due to angle brackets `<` or `>` If the translation fails validation due to angle brackets (`<` or `>`),
it should be disapproved on CrowdIn as our strings should be it should be disapproved in CrowdIn. Our strings must use [variables](externalization.md#html)
using [variables](externalization.md#html) for HTML instead. for HTML instead.
It might be handy to pause the integration on the CrowdIn side for a It might be useful to pause the integration on the CrowdIn side for a
little while so translations don't keep coming. This can be done by moment so translations don't keep coming. You can do this by clicking
clicking `Pause sync` on the [CrowdIn integration settings **Pause sync** on the [CrowdIn integration settings page](https://translate.gitlab.com/project/gitlab-ee/settings#integration).
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** check box, which causes CrowdIn be sure to select the **Remove source branch** checkbox. This causes CrowdIn
to recreate the `master-i18n` from the default branch after merging the new to recreate the `master-i18n` branch from the default branch after merging the new
translation. translation.
We are discussing [automating this entire process](https://gitlab.com/gitlab-org/gitlab/-/issues/19896). We are discussing [automating this entire process](https://gitlab.com/gitlab-org/gitlab/-/issues/19896).
...@@ -54,10 +53,8 @@ We are discussing [automating this entire process](https://gitlab.com/gitlab-org ...@@ -54,10 +53,8 @@ We are discussing [automating this entire process](https://gitlab.com/gitlab-org
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 time. To force CrowdIn to recreate the branch, close any [open merge requests](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&author_username=gitlab-crowdin-bot)
request](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&utf8=%E2%9C%93&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).
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.
...@@ -76,8 +73,8 @@ recreate it with the following steps: ...@@ -76,8 +73,8 @@ recreate it with the following steps:
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`.
1. Ensure the `Service Branch Name` is `master-i18n`. 1. Ensure the **Service Branch Name** is `master-i18n`.
## Manually update the translation levels ## Manually update the translation levels
......
...@@ -121,35 +121,35 @@ are very appreciative of the work done by translators and proofreaders! ...@@ -121,35 +121,35 @@ are very appreciative of the work done by translators and proofreaders!
## Become a proofreader ## Become a proofreader
Before requesting Proofreader permissions in CrowdIn, be sure you have a history Before requesting proofreader permissions in CrowdIn, be sure you have a history of contributing
of contributing translations to the GitLab project. translations to the GitLab project.
1. Contribute translations to GitLab. See instructions for 1. Contribute translations to GitLab. See instructions for
[translating GitLab](translation.md). [translating GitLab](translation.md).
Translating GitLab is a community effort that requires team work and Translating GitLab is a community effort that requires teamwork and attention to detail.
attention to detail. Proofreaders play an important role helping new Proofreaders play an important role helping new contributors, and ensuring the consistency and
contributors, and ensuring the consistency and quality of translations. quality of translations. Your conduct and contributions as a translator should reflect this
Your conduct and contributions as a translator should reflect this before before requesting to be a proofreader.
requesting to be a proofreader.
1. Request proofreader permissions by opening a merge request to add yourself 1. Request proofreader permissions by opening a merge request to add yourself to the list of
to the list of proofreaders. proofreaders.
Open the [proofreader.md source file](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md) and click **Edit**. Open the [`proofreader.md` source file](https://gitlab.com/gitlab-org/gitlab/blob/master/doc/development/i18n/proofreader.md) and click **Edit**.
Add your language in alphabetical order, and add yourself to the list Add your language in alphabetical order and add yourself to the list, including:
including:
- name
- link to your GitLab profile
- link to your CrowdIn profile
In the merge request description, include links to any projects you have - Name
previously translated. - Link to your GitLab profile
- Link to your CrowdIn profile
1. Your request to become a proofreader is considered on the merits of In the merge request description, include links to any projects you have previously translated.
your previous translations by [GitLab team members](https://about.gitlab.com/company/team/)
or [Core team members](https://about.gitlab.com/community/core-team/) who are fluent in 1. [GitLab team members](https://about.gitlab.com/company/team/),
the language or current proofreaders. [Core team members](https://about.gitlab.com/community/core-team/),
- When a request is made for the first proofreader for a language and there are no [GitLab team members](https://about.gitlab.com/company/team/) or current proofreaders fluent in the language consider your request to become a proofreader
or [Core team members](https://about.gitlab.com/community/core-team/) who speak the language, we shall request links to previous translation work in other communities or projects. based on the merits of your previous translations.
- If you request to become the first proofreader for a language and there are no GitLab or Core
team members who speak that language, we request links to previous translation work in other
communities or projects.
...@@ -6,47 +6,39 @@ info: To determine the technical writer assigned to the Stage/Group associated w ...@@ -6,47 +6,39 @@ info: To determine the technical writer assigned to the Stage/Group associated w
# Translating GitLab # Translating GitLab
For managing the translation process we use [CrowdIn](https://crowdin.com). For managing the translation process, we use [CrowdIn](https://crowdin.com).
To contribute translations at [`translate.gitlab.com`](https://translate.gitlab.com),
you must create a CrowdIn account. You may create a new account or use any of their supported
sign-in services.
## Using CrowdIn ## Language selections
The first step is to get familiar with CrowdIn. GitLab is being translated into many languages. To select a language to contribute to:
### Sign In 1. Find the language that you want to contribute to, in the
[GitLab CrowdIn project](https://crowdin.com/project/gitlab-ee).
To contribute translations at <https://translate.gitlab.com>
you must create a CrowdIn account.
You may create a new account or use any of their supported sign in services.
### Language Selections
GitLab is being translated into many languages. - If the language you want is available, proceed to the next step.
- If the language you want is not available,
[open an issue](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category%3AInternationalization).
Notify our CrowdIn administrators by including `@gitlab-org/manage/import` in your issue.
- After the issue and any merge requests are complete, restart this procedure.
1. Find the language that you want to contribute to, in our 1. View the list of files and folders. Select `gitlab.pot` to open the translation editor.
[GitLab CrowdIn project](https://crowdin.com/project/gitlab-ee).
- If the language that you're looking for is available, proceed
to the next step.
- If the language you are looking for is not available,
[open an issue](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category%3AInternationalization). Notify our CrowdIn
administrators by including `@gitlab-org/manage/import` in your issue.
- After the issue/Merge Request is complete, restart this procedure.
1. Next, you can view list of files and folders.
Select `gitlab.pot` to open the translation editor.
### Translation Editor ### Translation editor
The online translation editor is the easiest way to contribute translations. The online translation editor is the easiest way to contribute translations.
![CrowdIn Editor](img/crowdin-editor.png) ![CrowdIn Editor](img/crowdin-editor.png)
1. Strings for translation are listed in the left panel - Strings for translation are listed in the left panel.
1. Translations are entered into the central panel. - Translations are entered into the central panel. Multiple translations are required for strings
Multiple translations are required for strings that contains plurals. that contain plurals. The string to translate is shown in the above image with glossary terms
The string to be translated is shown above with glossary terms highlighted. highlighted. If the string to translate isn't clear, you can request context.
If the string to be translated is not clear, you can 'Request Context'
A glossary of common terms is available in the right panel by clicking Terms. A glossary of common terms is available in the **Terms** tab in the right panel. In the **Comments**
Comments can be added to discuss a translation with the community. tab, you can add comments to discuss a translation with the community.
Remember to **Save** each translation. Remember to **Save** each translation.
...@@ -56,21 +48,18 @@ Be sure to check the following guidelines before you translate any strings. ...@@ -56,21 +48,18 @@ Be sure to check the following guidelines before you translate any strings.
### Namespaced strings ### Namespaced strings
When an externalized string is prepended with a namespace, e.g. When an externalized string is prepended with a namespace (for example,
`s_('OpenedNDaysAgo|Opened')`, the namespace should be removed from the final `s_('OpenedNDaysAgo|Opened')`), the namespace should be removed from the final translation. For
translation. example, in French, `OpenedNDaysAgo|Opened` is translated to `Ouvert•e`, not
For example in French `OpenedNDaysAgo|Opened` would be translated to `OpenedNDaysAgo|Ouvert•e`.
`Ouvert•e`, not `OpenedNDaysAgo|Ouvert•e`.
### Technical terms ### Technical terms
Some technical terms should be treated like proper nouns and not be translated. You should treat some technical terms like proper nouns and not translate them. Technical terms that
should always be in English are noted in the glossary when using
Technical terms that should always be in English are noted in the glossary when [`translate.gitlab.com`](https://translate.gitlab.com).
using <https://translate.gitlab.com>. This helps maintain a logical connection and consistency between tools (for example, a Git client)
and GitLab.
This helps maintain a logical connection and consistency between tools (e.g.
`git` client) and GitLab.
### Formality ### Formality
...@@ -78,36 +67,33 @@ The level of formality used in software varies by language: ...@@ -78,36 +67,33 @@ The level of formality used in software varies by language:
| Language | Formality | Example | | Language | Formality | Example |
| -------- | --------- | ------- | | -------- | --------- | ------- |
| French | formal | `vous` for `you` | | French | formal | `vous` for `you` |
| German | informal | `du` for `you` | | German | informal | `du` for `you` |
You can refer to other translated strings and notes in the glossary to assist Refer to other translated strings and notes in the glossary to assist you in determining a suitable
determining a suitable level of formality. level of formality.
### Inclusive language ### Inclusive language
[Diversity](https://about.gitlab.com/handbook/values/#diversity) is a GitLab value. [Diversity, inclusion, and belonging](https://about.gitlab.com/handbook/values/#diversity-inclusion)
We ask you to avoid translations which exclude people based on their gender or are GitLab values. We ask you to avoid translations that exclude people based on their gender or
ethnicity. ethnicity. In languages that distinguish between a male and female form, use both or choose a
In languages which distinguish between a male and female form, use both or neutral formulation.
choose a neutral formulation.
<!-- vale gitlab.Spelling = NO --> <!-- vale gitlab.Spelling = NO -->
For example in German, the word "user" can be translated into "Benutzer" (male) or "Benutzerin" (female). For example, in German, the word _user_ can be translated into _Benutzer_ (male) or _Benutzerin_
Therefore "create a new user" would translate into "Benutzer(in) anlegen". (female). Therefore, _create a new user_ translates to _Benutzer(in) anlegen_.
<!-- vale gitlab.Spelling = YES --> <!-- vale gitlab.Spelling = YES -->
### Updating the glossary ### Updating the glossary
To propose additions to the glossary please To propose additions to the glossary, please
[open an issue](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category%3AInternationalization). [open an issue](https://gitlab.com/gitlab-org/gitlab/-/issues?scope=all&utf8=✓&state=all&label_name[]=Category%3AInternationalization).
## French Translation Guidelines ## French translation guidelines
### Inclusive language in French
<!-- vale gitlab.Spelling = NO --> <!-- vale gitlab.Spelling = NO -->
In French, the "écriture inclusive" is now over (see on [Legifrance](https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000036068906/)). In French, the _écriture inclusive_ is now over (see on [Legifrance](https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000036068906/)).
So, to include both genders, write "Utilisateurs et utilisatrices" instead of "Utilisateur·rice·s". To include both genders, write _Utilisateurs et utilisatrices_ instead of _Utilisateur·rice·s_. If
When space is missing, the male gender should be used alone. there is not enough space, use the male gender alone.
<!-- vale gitlab.Spelling = YES --> <!-- vale gitlab.Spelling = YES -->
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