GitLab is continuously translated by our global community of translators and proofreaders. Through Crowdin, they help make our product more accessible to the world by translating it into 78 languages. GitLab translation community members are volunteer translators, working professionals who are GitLab users, and even university students contributing to translators as part of their classroom projects.
How the GitLab open-core model supports translators
While this community collaboration is powerful, translators often face a crucial challenge: understanding the full context of the text that they are translating.
Great translation isn't just about converting words – it's about preserving meaning, intent, and usability in a target language. Software translation requires a unique blend of skills. Great translators usually specialize in multiple linguistic domains as well as the technical domain of the product itself. They perform myriad translation-adjacent tasks such as:
- ensuring accuracy and consistency of technical terminology
- creating new glossary terms for new concepts
- adhering to the style and tone
- navigating the complexity of CLDR pluralization rules
- understanding the translatability of composite messages and how to provide feedback to improve the source by making it localizable
Translators spend lots of time researching context, asking questions, and reading GitLab product documentation. Without proper context, even simple phrases can be mistranslated, potentially confusing or disrupting user workflows. What sets GitLab apart is its open-core model, which allows translators to access most of the product development context directly at the source. This transparency empowers them to actively contribute as true co-creators of the GitLab global product.
Introducing our new context-enhancement feature
To support these needs and empower translators with context, GitLab has developed a new feature: we now embed into each translatable string a contextual link (more specifically, a link to our global in-product search) that lets translators locate all instances of that string in the codebase. These links allow translators to rely on Git blame to trace every string's history – from its current location in code, through commits in merge requests, and all the way up to the original planning discussions.
For example, when you are translating Rotate, the AccessTokens| namespace suggests that the context is, well, access tokens. However, there is no additional visual context for what Rotate means, and translators are left to wonder, guess, and provide the best possible assumption in a target language.
With the new context enhancement, here is what translators are now able to do:
- Click the URL in the See where this string is used in code section.
- Review the result of the code search, and click the View blame icon:
- Follow the link with the relevant merge request (Introduce rotation of personal tokens in UI):
- On the Commits page, follow the link to the actual merge request:
- Watch the screen recording that the software engineer added to the merge request:
- Research even further by going to:
a. The linked issue Introduce renew expired token capability in UI or its parent epic Rotate Token through the UI:
b. The related merge request that updates the GitLab product documentation:
All these research steps will lead translators to better understand the technical concept of access token rotation and why the token rotation functionality was added, how it works, and what problem it solves for users.
With this rich research trail, translators get the maximum amount of context that will help provide the technically accurate and linguistically correct translation for the seemingly simple word Rotate.
This approach goes far beyond traditional translation aids like providing screenshots or exploring the product user interface. Translators can now fully understand the context by:
- deriving context from paths and naming conventions used in code
- viewing screenshots or video recordings that are added to original merge requests
- reading original planning and development discussions
- following the engineering, copywriting, and product management decision-making process that has led to specific wording
More AI-powered contextual features coming up
The GitLab Localization team isn't stopping here. We are working on more context-enhancement features, including AI-powered tools to help translators understand string usage and placement. Imagine a system where translators could interact with an agent by asking questions or proactively receiving immediate code-aware responses about where and how strings are used in the product UI.
Join our community on Crowdin as a translator or a proofreader, try these new context features, and let us know how we can make the translation experience and our product even better.