This page contains guidelines for localization at GitLab. This page is currently maintained by the Globalization & Localization team.
GitLab is a global company that does business around the world. In order to best serve our global customers, we localize some of our content and campaigns into non-English languages.
Our current localization capablities are limited due to resources and bandwidth. Currently, we are focused on translating content that aligns to our Tier 1 and some Tier 2 countries. The Integrated Marketing team typically drives which translations are required, based on current campaigns and regional need. We are currently building a next generation technology platoform for localization, with a bias for speed and automation. As we transition from our old platform, some steps for fulfilling localization requests are manual but will not remain as such. We are working with a new suppliuer, Translated (#translated-team), for translation. You may reach out to the Translated team directly in Slack, but would prefer that you submit requests in our tracker located here.
We are currently moving the internal review process over to language leads and constractors, so that our in-market GitLab teams can focus on their normal duties. Please note, however, that we may need to engage the internal review team from time to time, as our new teams ramp up and build the context they need to successfully localize our content in a way that aligns to GitLab and local expectations.
At the moment, our internal reviewers are volunteers. We completely appreciate that this task is on top of your day job and will continue to respect that. Both translation and reviews are conducted in Translated tooling; processes for review are currently a work in progress.
Annually we prioritize countries that we believe offer the most opportunity for GitLab. A listing of those countries and our expected level of investment are tracked in an internal document called: Globalization Tracker.
Vendor | Capabilities | How to Access |
---|---|---|
Translated | Localization platform | v2 currently in development |
We use Slack internally as a communication tool. The Localization channels are as follows:
#localization
: General localization channel.#translated-team
: For communication with our langauge services provider, Translated.#spartan-software
: For communication with our technology partner, Spartan.#oban-international
: For communication with our copywriting and digital marketing agency, Oban International.#crowdin_gitlab
: For communication with our technology provider specifically for product string localization, CrowdIn.Localized campaigns currently follow the integrated campaign process. The Integrated Marketing team is responsible for content localization for integrated campaigns.
In order to offer content and events in preferred languages where available, we have a Language Preference
Segmentation created in Marketo. Only Marketing Ops can edit these segments. Available languages for this segmentation can be found on the Marketo page. A person will be added to a Language Preference
segment if they complete a form on our website or respond to a campaign that was offered in one of the available languages.
All translated pages live in a sub-folder dedicated to a specific language. These sub-folders use ISO 639-1 codes. For example, German pages live in the /de-de/
sub-folder.
Here is where all translated content exists in the Buyer Experience repository:
You can verify what translated pages are live on production by viewing our Buyer Experience sitemap @ https://about.gitlab.com/buyer-experience/sitemap.xml. All german URLs are listed together, so search for /de-de/
and you'll be brought to the line where we start listing German translated pages. Same goes for other langauages.
Search engines use the hreflang
tag to determine a canonical version for translated pages. We'll use hreflang
on our translated pages.
hreflang
tags start with declaration <link rel="alternate"
, adds URL href={{url}}
, and ends with hreflang={{language ISO}}
Example of a hreflang tag for a URL translated to German.
<link rel="alternate" href="https://about.gitlab.com/de-de/warum/nutze-continuous-integration-fuer-schnelleres-bauen-und-testen/" hreflang="de" />
The canonical version of our site will the United States English version on about.gitlab.com
. We need to add all versions of a page under the page title and link to each one with the appropriate language noted. Google provides this example:
<head>
<title>Widgets, Inc</title>
<link rel="alternate" hreflang="en-gb"
href="http://en-gb.example.com/page.html" />
<link rel="alternate" hreflang="en-us"
href="http://en-us.example.com/page.html" />
<link rel="alternate" hreflang="en"
href="http://en.example.com/page.html" />
<link rel="alternate" hreflang="de"
href="http://de.example.com/page.html" />
<link rel="alternate" hreflang="x-default"
href="http://www.example.com/" />
</head>
It's important to note we need to declare the default page from our repository as the canonical version to avoid penalities across Google properties.
Aleyda Solis maintains a great tool to build hreflang
tags we can use for reference as well.
Language | Localized Landing Page | Status |
---|---|---|
French | https://about.gitlab.com/fr-fr/ | Live |
Japanese | https://about.gitlab.com/ja-jp/ | Live |
German | https://about.gitlab.com/de-de/ | Live |