Investigate i18n tooling
We've decided to start using crowdin:
To do to start using Crowdin:
Crowdin Side
-
Set up Bot integration -
Add existing translations to Crowdin - Proofreaders
-
For specific languages -
For all languages
-
GitLab Side
-
Validate that new translations are coming from Crowdin. (So files stay in sync) (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13000) -
Write docs for developers on how to add new strings to translate (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14570) -
Write documentation on how to translate using Crowdin. (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/14570) -
Don't litter the locale
directory on GDK update (gitlab-development-kit!340 (merged)) -
Automate merging translations -
Automate porting translations from EE -> CE
Decide on tooling:
As part of https://gitlab.com/gitlab-org/gitlab-ce/issues/4012 we need to offer a standard set of tooling for translations. Right now we are just we're currently recommending using a downloadable PO editor such as https://poedit.net/. This doesn't assist with workflow and sourcing.
Tools such as Pontoon, Transifex & Zanata will help to streamline this process.
Worth noting is that our community have already adopted Zanata and it is a free and open source product, which fits well with our culture and philosophy at GitLab.
Note there is an additional issue for developer process, which may be strongly related to this here: https://gitlab.com/gitlab-org/gitlab-ce/issues/33513
Considerations
- Workflow
- Pricing
- Open source
- Self-hosted or cloud-hosted
Please review the tools and write up pros and cons for each below and the approach to how we should be using them.
Review
Overall approach and workflow
Zanata
Pros
- Our community has already adopted it - how do we get "control" or access to this?
- We can use the cloud-hosted version and not have to worry about another tool to run
- It's both free and open source
Cons
- If we ran our own, could we contribute and customise it such that people could
Login With GitLab
and not use the other identities. Or could Zanata themselves implement this for us on the hosted version? - I tried to create an account and I can't seem to login even after clicking the activation link. I've reset my password, still can't login. Is this a poor quality product if just creating an account is difficult? Also, the Login with Gmail link just doesn't work as it's not supported, so why is it displayed? Sorry to be negative, but this isn't a good experience. Can anyone help or comment?
- No search feature for strings to translate (it's hard to make an application wide change for a term you want translated in the same way)
- No voting mechanism or way to discuss specific terms/translation
- Confusing old (bad UI) / new (alpha) editor
Pontoon
Pros
- On the surface, the WYSIWYG editor looks cool
- Is it actually possible to wire this in easily so that you got a WYSIWYG translatable GitLab or is this just for more static sites?
- In reality, does it work? I can't even figure out what I assume is the demo
- Can be used with regular
.po
translation demo - Search feature for strings to translate (see cons in Zanata)
- Translation Memories
- Open Source
- "Quality Checks" feature (looks like we can set-up some rules to prevent non complaint submissions)
- Is it actually possible to wire this in easily so that you got a WYSIWYG translatable GitLab or is this just for more static sites?
Cons
- There seems to be no tutorial on how to use it with a Rails project for the WYSIWYG
- We need to run it on our own as the hosted service is for Mozilla projects only
- No voting mechanism or way to discuss specific terms/translation
Transifex
Pros
- Would we get some level of "commercial" support and assistance from the kind folks at Transifex, who have already offered us their assistance?
From https://gitlab.com/gitlab-org/gitlab-ce/issues/33521#note_33023606:
-
Uploading a source language file (
.pot
). This updates/merges with all the localization for you, so you don't have to upload the translation files. - Workflow Automation through the command-line client: Upload source files and download translations
- Discussions on specific translations typically happen on a phrase-level if possible, to help translators be efficient and encourage more lightweight communication. Big topics are usually discussed outside of tool.
Cons
- It's not open source, but I believe it may be free for us and open source projects
- Risk that we know little about the company and it's longevity
- Their pricing is based on "collaborators" which doesn't work in a more "community" level
Crowdin
Pros
- GitLab Integration
- Support for Translation Memories (can import from previous versions, we can feed from similar software etc)
- Can compare how translation for same term was made in other languages
- Machine translation as suggested translation to guide translators or speed up translation process
- They have a CLI you can integrate in CI for example to synchronize translations
- We can define glossaries for common terms, which brings a small tooltip context when they appear in a text to be translated, so translators will not get confused when term has different meanings in different areas.
- There is a voting mechanism so community can help reviewing translations
- Unlimited collaborators
- A lot of automation in "QA Checks" feature like requiring variables not to be modified etc.
Cons
- Price is based on "translation strings", which means more languages we support, more we pay (ex: 80k strings is 450 USD per month)
- Not an open source project