Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Continuous translation with Weblate

Continuous translation with Weblate

Translating actively developed project can be sometimes challenging, but there are ways to improve the workflow. With Weblate you can boost your translators community by giving them instant access to edit current strings and pushing them directly to your VCS.

Tired of manual merging of translations, pulling them from third party services or receiving them by email? With Weblate the translations are instantly available in the VCS repository and translators automatically follow your development. Weblate can help you with other parts of the translation process as well - keeping in sync translations of multiple branches or doing quality checks on the translations. On top of that it retains proper attribution for translations as they are the authors of VCS commits.

More information:

Details on my website
Weblate website
Weblate demo
Weblate on GitHub
Weblate documentation

Michal Čihař

January 31, 2016
Tweet

More Decks by Michal Čihař

Other Decks in Technology

Transcript

  1. 3 Translating (not only) software • Internationalization – Preparing the

    software for localization. • Localization – Writing the translations and local formats. • For i18n you need developers – Ideally experienced with the topic. • For l10n you need translators
  2. 4 Translators in software project • Separated from development •

    No developer knowledge • Good language knowledge • They need proper context • New translations for every release • Need to submit translations
  3. 5 Choices for handling translations • No translations – Everybody

    speaks English, right? • Manually accepted patches/updates – Just grab sources and send us updates • Web based solution – We want to provide some comfort
  4. 6 Manual handling of translations • Translators send updated files

    – What if the file has changed in the repository? • Translators send patch / pull request – Usually too complex task. • Fits technically skilled translators
  5. 7 Web based translation • Low entry barrier – If

    we want, translations can be quite open. • Attract non technical people – No need to checkout… • Need to synchronize translations – How to get translations to our repository?
  6. 8 Synchronizing translations • Manually uploading files – Easy to

    forget to update • Hook the tool into your VCS – Automatic updates • Let the tool push to your VCS – Translations appear automatically
  7. 9 Easiest workflow for translations • Translation tool talks to

    VCS – We want to automate it all • Get benefits of distributed VCS – Translations as a separate branch • Still using centralized VCS? – Consider switching to Git, it is way better
  8. 10 Introducing Weblate • Built to integrate with Git –

    VCS is not addon, it's in the core – Now supports Mercurial as well • Easy integration – Supports GitHub, GitLab and Bitbucket – Anything else by URL hooks • Every commit is properly credited – Translators are authors of commits
  9. 11 How does Weblate work? Developers VCS repository 1. Push

    Translators Weblate 5. Translate 2. Updating translations 3. Pull 4. Notification 6. Push
  10. 12 But what about quality? • It all depends on

    people – Managing people is always the hardest part • But it's easy to track authors – Use git blame as with code • And tool can always help..
  11. 13 Translations quality with Weblate • Translation approval – Accepting

    translations after more approvals • Review tool – Check what others have changed • Quality checks • Access control • Providing good context
  12. 14 Quality checks in Weblate • Built in check for

    message correctness – Thinks like spacing, format strings or XML • Include language specific rules – Eg. colon spacing rules • Translator is notified of new violations – Some are even automatically fixed • It is easy to add custom checks – Few lines of Python code
  13. 15 Access control in Weblate • Choose what fits best

    your project • Open translation – Anybody can register and translate • Moderated translation – Members approval • Closed translation – Invite only
  14. 16 Translation context in Weblate • Source code context –

    Links to source code • Nearby strings – See strings in same dialog • Similar strings – Using translation memory • Glossary – Use consistent terminology
  15. 17 I want to use my offline editor • No

    problem, Weblate can help – Export and import is there • Imported translations are rebased – No more outdated translations files • You can still make any changes in VCS – Once Weblate pulls VCS, all changes are visible in the interface
  16. 18 Supported formats in Weblate • Based on translate-toolkit –

    Provides great base • Most frequently used formats – Gettext, Android, iOS, Java, XLIFF, JSON, … • Features slightly differ per format – Plurals are not available in all formats – Source string location is not available
  17. 20 Options to run Weblate • Hosted Weblate for free

    software – Free, but slightly limited features • Commercial Hosted Weblate – Hosting plans starting at 19 EUR / month • Run your own instance – It's free software
  18. 21 Thanks • More information is available: – Website: https://weblate.org/

    – Demo: https://demo.weblate.org/ – Documentation: https://docs.weblate.org/ – Git: https://github.com/nijel/weblate – Mailing list: [email protected] – My mail: [email protected]