Michal Čihař - Blog Archives for Weblate

Weblate 0.8

After quite big delay, Weblate 0.8 is finally ready. There are many fixes and improvements like grouping of Git commits, improved checks or activity logging. All in all this should be feature complete for 1.0 release.

Now it's time to stabilize all the features and release 0.9 (AKA 1.0rc) and then we'll be ready to fire 1.0.

Full list of changes for 0.8:

  • Replaced own full text search with Whoosh.
  • Various fixes and improvements to checks.
  • New command updatechecks.
  • Lot of translation updates.
  • Added dictionary for storing most frequently used terms.
  • Added /admin/report/ for overview of repositories status.
  • Machine translation services no longer block page loading.
  • Management interface now contains also useful actions to update data.
  • Records log of changes made by users.
  • Ability to postpone commit to Git to generate less commits from single user.
  • Possibility to browse failing checks.
  • Automatic translation using already translated strings.
  • New about page showing used versions.
  • Django 1.4 compatibility.
  • Ability to push changes to remote repo from web interface.
  • Added review of translations done by others.

You can find more information about Weblate on it's website, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user.

Weblate is also being used https://l10n.cihar.com/ as official translating service for phpMyAdmin, Gammu, Weblate itself and others.

PS: If you're about to use Weblate, rather use Git version than tagged 0.8, you will get bunch of bug fixes for free :-).

Quality assurance of translations with Weblate

One of features I wanted to introduce with Weblate is ability to do some quality checks while translating. We want contributors to have easy access to translating, but still we need to ensure some quality of translations. That's why Weblate comes with set of quality checks which are performed on every translation unit. The current set of checks (see documentation) is pretty basic and more might be easily added in the future pretty easily.

There are two ways how checks are used in Weblate. During translating, if any of checks fires, translator stays on current translation with warning that something might be wrong. This is not a hard error as he still can be correct, but should at least prevent accidental mistakes like corrupted format strings or missing trailing colon.

The other way is to do review of a translation. Failing checks are shown on each translation page or you can browse them by project to give you overview what can be wrong.

For example with phpMyAdmin this helped me discover that there were few languages where almost half of translated strings are actually not translated but simply copied from English. There were also other problems like inconsistent translations across branches. All in all using these features helped me to improve quality of translations in phpMyAdmin quite a lot and I hope we will keep it for the future.

Roadmap for Weblate

There were no big updates from me on Weblate this week. I decided to settle down a bit and focus on bringing it close to 1.0 release. I plan to release 0.8 in one or two weeks, which should include all features. After it receives some testing and bug fixes, 0.9 will be released and if no major problems occur 1.0 will follow shortly.

Right now most of the core for all features is prepared, just some user interface is missing for most of them. The 0.8 release will come with rewritten full text search (now is based on Whoosh), changes tracking (for possible review of changes made by others) and built in dictionary for frequently used terms. Along with these changes there are smaller ones as well like improvements to various consistency checks, cleaned up translate page or faster loading of translation services.

Anyway if you feel something is done wrongly, it is now last chance to complain so that it is possible to do some bigger change for 1.0 release.

Weblate 0.7

Continuing at same pace (one release every two days), I can announce Weblate 0.7. The major change is built in full text search and displaying of context for currently translated message (either based on location in po file or by string similarity based on full text data).

Full list of changes for 0.7:

  • Direct support for GitHub notifications.
  • Added support for cleaning up orphaned checks and translations.
  • Displays nearby strings while translating.
  • Displays similar strings while translating.
  • Improved searching for string.

You can find more information about Weblate on it's website, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user.

Weblate is now also being used https://l10n.cihar.com/ as official translating service for phpMyAdmin, Gammu, Weblate itself and others.

Weblate 0.6

Continuing with fast release pace for Weblate, I've just released version 0.6. It brings few bug fixes adds quality checks for translations and configurable access control.

Full list of changes for 0.6:

  • Added various checks for translated messages.
  • Tunable access control.
  • Improved handling of translations with new lines.
  • Added client side sorting of tables.
  • Please check upgrading instructions in case you are upgrading.

You can find more information about Weblate on it's website, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user.

Weblate is now also being used https://l10n.cihar.com/ as official translating service for phpMyAdmin, Gammu, Weblate itself and others.

Weblate 0.5

Continuing with fast release pace for Weblate, I've just released version 0.5. It brings lot of bug fixes (thanks for everybody who has provided feedback), lot of new translations (thanks to translators) and as a special bonus it can use few machine translation services.

Full list of changes for 0.5:

  • Support for machine translation using following online services:
    • Apertium
    • Microsoft Translator
    • MyMemory
  • Several new translations.
  • Improved merging of upstream changes.
  • Better handle concurrent git pull and translation.
  • Propagating works for fuzzy changes as well.
  • Propagating works also for file upload.
  • Fixed file downloads while using FastCGI (and possibly others).

You can find more information about Weblate on it's website, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user.

Weblate is now also being used https://l10n.cihar.com/ as official translating service for phpMyAdmin, Gammu, Weblate itself and others.

Weblate 0.4

Yesterday, I've finalized Weblate 0.4. It improved handling of plural strings, added documentation and implemented support for secondary languages. If you ask for 0.3, well I managed to release two versions in the day, but I expect to slow down this pace.

Full list of changes for 0.3:

  • Better display of source for plural translations.
  • New documentation in Sphinx format.
  • Displays secondary languages while translating.
  • Improved error page to give list of existing projects.
  • New per language stats.

Full list of changes for 0.4:

  • Added usage guide to documentation.
  • Fixed API hooks not to require CSRF protection.

You can find more information about Weblate on it's website, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user.

Weblate is now also being used https://l10n.cihar.com/ as official translating service for phpMyAdmin, Gammu and others.

l10n.cihar.com switched to Weblate

I've just switched https://l10n.cihar.com/ to Weblate as I think it's stable enough to replace Pootle installation there. This change immediately affects translation of all projects which were done there - phpMyAdmin, Gammu, Wammu, GePeS or Ukolovnik. In addition Weblate itself is also being translated there.

Your old usernames and passwords should be valid (in case you've activated the account and used it in last year), but you might want to adjust your profile as the settings were intentionally not imported (many users had corrupted name in Pootle and hope this will let them fix it).

Let's see how many bugs will this switch reveal, but I expect it will work quite smoothly.

Weblate 0.2

Thanks to great feedback I've received on Weblate, I've decided to release 0.2 version quite soon to fix things where people complained most. It improves validation of some forms and there are lot of improvements in editing translations, especially plurals.

Full list of changes includes:

  • Improved validation of several forms.
  • Warn users on profile upgrade.
  • Remember URL for login.
  • Naming of text areas while entering plural forms.
  • Automatic expanding of translation area.

You can find more information about Weblate on it's website, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user.

PS: As a special bonus, Weblate now comes also with documentation (also available in docs directory in sources).

Announcing Weblate

After about week of (not so heavy) development, I can announce availability of Weblate - web based translation tool with tight Git integration.

The project was started because I was not happy with existing solutions (see my blog post) as all of them was missing some features I find useful. I started with quite simple definition:

Minimalistic web based translation with direct commit to git on each translation made. There is no plan in heavy conflict resolution as these should be primarily handled on git side.

Also the project started with defined list of features:

  • Easy web based translation
  • Propagation of translations across sub-projects (for different branches)
  • Tight git integration
  • Usage of Django's admin interface
  • Upload and automatic merging of po files
  • Links to source files for context

Pretty much all of that is completed right now, however there will be definitely some issues which will need fixing.

All important information about the project are available on it's website, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user.

Please give it some testing as I plan to deploy it on http://l10n.cihar.com/ pretty soon.