Translation tool with version control



Weblate considers translatable content in principle to be a Project , which is assigned all the parts to be translated that belong together (Figure 1). One example is the translation of an application into several languages with the corresponding documentation.

Figure 1: The Weblate Dashboard lists the projects being translated. Clicking on a project name shows the components and the progress of their translations.

The project forms the basis, above which are the components and the individual translations (Figure 2). The components define the VCS repositories, which in turn contain the files to be translated. The tool supports a whole range of translation formats.

Figure 2: Adding an individual translation to a project (F-Droid) component (Data).

The translation process is based on Git's push and pull principle. When developers make changes, they push them into the VCS repositories. Weblate pulls the changes from the repositories. If Weblate finds changes in the translations, it informs the translators, depending on the settings. The translators in turn deliver their work in the interface.

When the translation is finished, the commit follows through Weblate to the local repository. Depending on the settings, the tool then pushes back the finished translation. Weblate is thus suitable for continuous localization.

Conflict Potential

The merge phase is not completely free of potential conflicts. Users are therefore advised to make sure when updating the translation files that one component does not have multiple change files outstanding (Figure 3). To prevent this state, all existing changes can be pushed, during which the translation is locked until the desired changes have been made.

Figure 3: A component with more than one translation file.x.

Weblate has set up a demo system [5] that you can manage online. There you will find the basic user interface with menu navigation and translation tasks. You can also make entries, look at the suggestions of other participants, and define languages.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Unprecedented built-in support for diverse languages
    Thanks to the efforts of the Drupal 8 Multilingual Initiative, you can install Drupal in at least 100 languages and exercise granular control over the languages on your website.
  • Comparing Ceph and GlusterFS
    Many shared storage solutions are currently vying for users’ favor; however, Ceph and GlusterFS generate the most press. We compare the two competitors and reveal the strengths and weaknesses of each solution.
  • Porting CUDA to HIP

    Give your proprietary CUDA code new life with an open platform for HPC.

  • HTML to database with a Perl script
    A Perl script strips HTML markup, creating text files, and makes each file an entry in a database.
  • Lua for Apache

    Lua is a small, lean, and fast scripting language – ideal for working with web servers. Version 2.4 of the Apache web server is the first to offer a matching module that has a few quirks – and pitfalls, if you dig more deeply.

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>


		<div class=