Category Direction - Internationalization

Last Reviewed: 2020-08-07


Thanks for visiting the direction page for Internationalization in GitLab. This page belongs to the Import group of the Manage stage and is maintained by Haris Delalić who can be contacted directly via email. This vision is a work in progress and everyone can contribute. If you'd like to provide feedback on this page or contribute to this vision, please feel free to open a merge request for this page or comment in the corresponding epic for this category.


As GitLab evolves, we'd like anyone around the world to be able to use the application and contribute to it. In order for us to accomplish this together, our goal is to translate the GitLab application into many languages. To support this vision, the product should be built with internationalization in mind as the default (e.g. by continually externalizing strings).

We also would like to localize GitLab for as many cultures as possible. To support this vision, in addition to translating the product, we should present data, such as numbers, date, and time, in the locally expected format.

Target Languages

The following languages have been identified as our primary targets for translations:

These languages have been targeted due to usage (as measured on and country profile (large number of native speakers and a strong domestic software development industry). While these target languages will get additional focus, we will continue to support any language community that wants to translate GitLab.

Maturity Plan

Internationalization is a non-marketable category, and is therefore not assigned a maturity level. However, we use GitLab's Maturity framework to visualize the current state of the category and discuss the future roadmap.

The Internationalization category is currently a Viable feature in GitLab. Most of the strings are externalized and available for translations. Several languages are mostly translated (Japanese, Chinese, Ukrainian, Spanish). New translations are being merged on a montly cadence.

We are now working on achieving the Complete maturity level for Internationalization. This includes externalizing all the strings and automating most of the process for merging new translations.

What's next & why

Internationalization is a community-driven effort maintained by the Import group. While the GitLab team regularly schedules issues to support this project, no significant changes to our Crowdin program are currently planned. Although we may consider hiring an internationalization company to translate GitLab in the future, internationalization remains a community-driven effort that can only succeed with the involvement of the wider community.

While large internationalization improvements are not being actively prioritized in the Import group, we intend to prioritize several key improvements for the remainder of 2020:

What is not planned right now

The translation of our documentation and contribution guidance has been discussed on several occasions. However, we currently do not have a goal to include GitLab documentation into our crowd-sourced translation effort. While this would be a valuable resource for our international contributors, we do not feel that we can ensure the quality, nor the timely updates to our documentation.

How you can help

We're always looking for contributions to help us translate GitLab. Here's how you can help:

  1. Externalize strings in GitLab. Before we can translate a string, we first need to mark it so the application is able to retrieve an appropriate translation in another language.
  2. Contribute translations at Crowdin. You can help contribute new translations to a variety of languages and vote up/down on existing translations.
  3. Become a proof reader. All translations are read by a proof reader before being accepted, and we're always looking for help across a number of languages.

Current translation status

This is the overall translation level for all target languages:

Translation Status