Commit 0a7f27e1 authored by James Ramsay's avatar James Ramsay

Docs: add translation and proof reading guidelines

parent 6b45a012
Pipeline #12484727 passed with stages
in 13 minutes and 13 seconds
......@@ -65,7 +65,9 @@
## i18n
- [Internationalization for GitLab](
- [Introduction](i18n/
- [Externalization](i18n/
- [Translation](i18n/
## Compliance
# Translate GitLab to your language
The text in GitLab's user interface is in English by default.
Each string can be translated to other languages.
As each string is translated, it is added to the languages translation file,
and will be available in future releases of GitLab.
Contributions to translations are always needed.
Many strings are not yet available for translation because they have not been externalized.
Helping externalize strings benefits all languages.
Some translations are incomplete or inconsistent.
Translating strings will help complete and improve each language.
## How to contribute
### Externalize strings
Before a string can be translated, it must be externalized.
This is the process where English strings in the GitLab source code are wrapped in a function that
retrieves the translated string for the users language.
As new features are added and existing features are updated the surrounding strings are being
externalized, however, there are many parts of GitLab that still need more work to externalize all
See [Externalization for GitLab](
### Translate strings
The translation process is managed at [](
using [Crowdin](
You will need to create an account before you can submit translations.
Once you are signed in, select the language you wish to contribute translations to.
Voting for translations is also valuable, helping to confirm good and flag inaccurate translations.
See [Translation guidelines](
### Proof reading
Proof reading helps ensure the accuracy and consistency of translations.
All translations are proof read before being accepted.
If a translations requires changes, you will be notified with a comment explaining why.
Community assistance proof reading translations is encouraged and appreciated.
Requests to become a proof reader will be considered on the merits of previous translations.
- Bulgarian
- Chinese Simplified
- [Huang Tao](
- Chinese Traditional
- [Huang Tao](
- Chinese Traditional, Hong Kong
- [Huang Tao](
- Dutch
- Esperanto
- French
- German
- Italian
- Japanese
- Korean
- [Huang Tao](
- Portuguese, Brazilian
- Russian
- [Alexy Lustin](
- [Nikita Grylov](
- Spanish
- Ukrainian
If you would like to be added as a proof reader, please [open an issue]( and add the `internationalization` label.
### Release
Translations are typically included in the next major or minor release.
# Translating GitLab
For managing the translation process we use [Crowdin](
## Using Crowdin
### Sign In
To contribute translations at [](
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.
1. Select the language you would like to contribute translations to by clicking the flag
1. You will see a list of files and folders.
Click `gitlab.pot` top open the translation editor.
### Translation Editor
The online translation editor is the easiest way to contribute translations.
![Crowdin Editor](img/crowdin-editor.png)
1. Strings for translation are listed in the left panel
1. Translations are entered into the central panel.
Multiple translations will be required for strings that contains plurals.
The string to be translated is shown above with glossary terms highlighted.
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.
Comments can be added to discuss a translation with the community
Remember to **Save** each translation.
## Translation Guidelines
### Technical terms
Technical terms should be treated like proper nouns and not be translated.
This helps maintain a logical connection and consistency between tools (e.g. `git` client) and
Technical terms that should always be in English are noted in the glossary when using
### Formality
The level of formality used in software varies by language.
For example, in French we translate `you` as the informal `tu`.
You can refer to other translated strings and notes in the glossary to assist determining a
suitable level of formality.
### Updating the glossary
To propose additions to the glossary please
[open an issue](
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