Translating GitLab
For managing the translation process, we use Crowdin.
To contribute translations at 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. To select a language to contribute to:
-
Find the language that you want to contribute to, in the GitLab Crowdin project.
- If the language you want is available, proceed to the next step.
- If the language you want is not available,
open an issue.
Notify our Crowdin administrators by including
@gitlab-org/foundations/import-and-integrate
in your issue. - After the issue and any merge requests are complete, restart this procedure.
-
View the list of files and folders. Select
gitlab.pot
to open the translation editor.
Translation editor
The online translation editor is the easiest way to contribute translations.
- Strings for translation are listed in the left panel.
- Translations are entered into the central panel. Multiple translations are required for strings that contain plurals. The string to translate is shown in the above image with glossary terms highlighted. If the string to translate isn’t clear, you can request context.
A glossary of common terms is available in the Terms tab in the right panel. In the Comments tab, you can add comments to discuss a translation with the community.
Remember to Save each translation.
Context
In Crowdin, each string contains a link that shows all instances of the string in the entire GitLab codebase. When you translate a string, you can go to the relevant commit or merge request to get more context.
When you select the link, code search results appear for that string. You can view Git blame from code search to see the commits that added the string. For a list of relevant merge requests, select a commit.
General Translation Guidelines
Be sure to check the following guidelines before you translate any strings.
Namespaced strings
A namespace precedes the string and is separated from it by a |
(namespace|string
). When you see
a namespace before an externalized string, you should remove the namespace from the final
translation. For example, in OpenedNDaysAgo|Opened
, remove OpenedNDaysAgo|
. If translating to
French, translate OpenedNDaysAgo|Opened
to Ouvert•e
, not OpenedNDaysAgo|Ouvert•e
.
Technical terms
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
translate.gitlab.com
.
This helps maintain a logical connection and consistency between tools (for example, a Git client)
and GitLab.
To find the list of technical terms:
- Go to
translate.gitlab.com
. - Select the language to translate.
- Select Glossary.
Formality
The level of formality used in software varies by language:
Language | Formality | Example |
---|---|---|
French | formal |
vous for you
|
German | informal |
du for you
|
Spanish | informal |
tú for you
|
Refer to other translated strings and notes in the glossary to assist you in determining a suitable level of formality.
Inclusive language
Diversity, inclusion, and belonging are GitLab values. We ask you to avoid translations that exclude people based on their gender or ethnicity. In languages that distinguish between a male and female form, use both or choose a neutral formulation.
For example, in German, the word user can be translated into Benutzer (male) or Benutzerin (female). Therefore, create a new user translates to Benutzer(in) anlegen.
Updating the glossary
To propose additions to the glossary, open an issue.
French translation guidelines
In French, the écriture inclusive is now over (see on Legifrance). To include both genders, write Utilisateurs et utilisatrices instead of Utilisateur·rice·s. If there is not enough space, use the male gender alone.