Michal Čihař - Blog Archives for Weblate

RSS feeds and feature freeze of Weblate 1.3

Yesterday I've completed last big feature I wanted to have for Weblate 1.3 - improved changes tracking and exporting this as RSS feed.

You can find example of this feature on data exports page on demo server, it is also covered in the documentation. I think there is not much to describe here, these are simple RSS feeds which will contain all important things happening to translation.

This being last major feature, we're now aiming at stabilization and bug fixes. I expect this phase will take two weeks where I plan to deploy new version to http://l10n.cihar.com/ (probably next week).

If you can help with testing, you're welcome to help and report bugs.

Weblate brings source strings checks and review

Weblate 1.3 will bring several new features. One of recently implemented parts is source strings review.

Translators quite often find some problems with original string. Be it typo, wrong wording or simply the message is hard to understand. In Weblate 1.3 they will have an option to push feedback to developers. The feedback is stored within Weblate and optionally can be sent to configured email.

In addition to this, there are now checks for source strings as well, which might help you to improve quality of them. New checks are of course covered in the documentation.

You can already try current Weblate on http://demo.weblate.org/, though there are still some things which need polishing.

oSC12 wrap up

As the openSUSE Conference and all related events are over, it's time to share my thoughts how it was.

This was actually first conference ever where I helped with organizing, so it was quite new experience for me. Week before it has happened I expected quite a lot of problems, but in the end everything went more or less smoothly.

Having something like 700-800 visitors is IMHO great for first year of LinuxDays, even though it has been collocated with other conferences. Most people came on Saturday and there were less of them on Sunday. Maybe it was result of the party, which lasted for many of them till early morning (I've left around 1 AM and there were still lot of people drinking).

Besides organizing stuff, I also had my own talk about Weblate. Unfortunately not much people has attended it, but those who did gave me some valuable feedback which will be reflected in next Weblate release. Anyway if you want to see my slides from this talk, they are now available on my website.

Weblate 1.2

Quite on schedule, Weblate 1.2 has been released today. It comes with lot of improvements, especially for project admins, handling of po files and improved performance.

Full list of changes for 1.2:

  • Weblate now uses South for database migration, please check upgrade instructions if you are upgrading.
  • Fixed minor issues with linked git repos.
  • New introduction page for engaging people with translating using Weblate.
  • Added widgets which can be used for promoting translation projects.
  • Added option to reset repository to origin (for privileged users).
  • Project or subproject can now be locked for translations.
  • Possibility to disable some translations.
  • Configurable options for adding new translations.
  • Configuration of git commits per project.
  • Simple antispam protection.
  • Better layout of main page.
  • Support for automatically pushing changes on every commit.
  • Support for email notifications of translators.
  • List only used languages in preferences.
  • Improved handling of not known languages when importing project.
  • Support for locking translation by translator.
  • Optionally maintain Language-Team header in po file.
  • Include some statistics in about page.
  • Supports (and requires) django-registration 0.8.
  • Caching of counted units with failing checks.
  • Checking of requirements during setup.
  • Documentation improvements.

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. Ready to run appliances can be found in SUSE Studio Gallery.

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

If you are free software project which would like to use Weblate, I'm happy to help you with set up or even host Weblate for you (this will be decided case by case as my hosting space is limited).

Update: Weblate appliace has been updated to 1.2 as well.

Weblate in numbers

About month ago, I wrote that there were over 20000 translations done using Weblate in three months. It looks like I was too pessimistic with future as in slightly more than month l10n.cihar.com has reached 30000 translations.

This is quite great achievement and shows big user base. Especially together with rising number of third-party installations of Weblate (still some of the big ones do not want to be mentioned).

On the other side, there have already been around 100 issues open, out of which most were fixed (1.2 release already includes 30 fixed issues). Still I'm sure there is lot of place for improvements :-).

Anyway if you are looking for more numbers, you can find them on Ohloh :-).

Mailing list for Weblate

More and more people seem to be interested in Weblate and it is becoming less and less comfortable to handle all this communication privately in my mailbox.

That's why I've decided to open up mailing list for Weblate. It is now available at weblate@lists.cihar.com, you can subscribe at https://lists.cihar.com/cgi-bin/mailman/listinfo/weblate (request to add this list to Gmane is pending).

I hope this will attract more interested people and open up wider discussion about some features.

PS: Now there is also #weblate on freenode if you are interested in chatting about Weblate.

Weblate hacking #5

Last day of Hackweek VIII is over and I think Weblate is pretty much ready for 1.2 release.

Today I continued to analyzing performance and did few optimizations of some frequently used code paths. There is still lot of area for improvement, but I think Weblate is now fast enough for daily usage on even quite big projects.

Rest of the day was spend by looking at various questions which people have asked me and distilling that into documentation. The most extended part were frequently asked questions, which now includes some hints for setup.

Of course the demo server is running latest and greatest git version, I will probably push it soon to http://l10n.cihar.com/ as well.

Weblate hacking #4

Fourth day of Hackweek VIII was for me again mostly spent on Weblate. This time there are no new nice features, but rather general improvements to the code.

First task was to add support for django-registration 0.8. Originally my plan was to support both 0.7 and 0.8, but that proven to be too complicated so Weblate now requires 0.8, which brings quite a lot of differences in API.

Later I've installed django-debug-toolbar and looked at some bottlenecks in some hot paths. This resulted in few optimizations of translations merging and new caching for translation stats. This turned out to be too expensive for bigger translations and caching these can save few seconds on page load.

I will probably focus more on performance tuning tomorrow as I don't plan to add any new features to 1.2 release.

Weblate hacking #3

As you can see on github, there are currently no open issues for Weblate's 1.2 milestone. Looks like I've done most of my Hackweek VIII project faster than expected, but I might add some more improvements.

Everything went quite smoothly, but anyway I've decided to postpone some issues. The major reason is that I'm not really sure whether these are good ideas and won't implement something until I'll get more feedback. You can find such issues labeled "needs decision". Comments there are especially welcome :-).

On the code side, I've improved support for po file headers, did various improvements on maintenance scripts and improved about page.

Also current code from git is now deployed at demo.weblate.org, so feel free to test it. I'm especially curious how the simple and stupid spam protection will work in reality.

Now it's time for ice cream and then I'll think what to implement next :-).

Weblate hacking #2

Second day of Hackweek VIII is over and there has been again great progress on Weblate.

I've started with improving documentation. Most of improvements were possible by using djangodocs extension for Sphinx, which allows better documenting of Django admin commands and settings.

Then I've focused on handling languages as there were some things which I did not like. Most importantly, Weblate will now try to use existing languages even if used code does not 100% match (eg. cs_CZ and cs-CZ are treated equal). Also with help of locale aliases, some specific variants won't be created and generic one used instead (eg. cs_CZ will use cs, as these are actually same). If there will be need to differentiate them, you still can create language manually and Weblate will use matched one.

Last thing is translation locking - translator can now lock translation for exclusive use and nobody else will be able to work on that. This will help in situations where more people started to work on same translation and basically duplicated the effort.

There are 3 open issues targeted for 1.2 release, but I'm not sure if some of these are good ideas, let's keep the decision for next days.