Michal Čihař - Blog Archives for Weblate

Improvements in Weblate master

As there is still some development ongoing in Weblate, it's time to share information about some of the features you can expect in upcoming release.

Recently, Weblate gained ability to display changes which caused string to be fuzzy. This currently only works with Gettext PO files as no other format provides this information. If this is available Weblate shows differences between current and previous string, what allows translator to easily spot what has been changed. Example can be seen on Uzbek translation of phpMyAdmin (until somebody translates that).

While working on this feature, I've realized, that Django does not include this information in PO files. Fortunately it was pretty easy to fix and I've created a pull request to implement this. Looking at this file made me fix another thing which annoyed me since I've used translations in Django for first time - it generates POT file for every language, making the updates really slow. Fortunately it was also easy to fix and pull request is here. So if you feel makemessages is too slow, this is patch for you.

But back to Weblate as there are more changes. For example automatic locking now works more fine grained and uses AJAX to update lock period. This means translation will be unlocked much faster if you close browser with Weblate.

Also searching for messages has been updated to include substring search as well as it is sometimes more useful than fulltext search.

Going to FOSDEM 2013

I've just confirmed my flight and hotel bookings for FOSDEM 2013, so I'm looking to meet all great people there again.

This year my schedule is not that packed as I have no talks (Weblate lightning talk was not accepted) and also there will be no big phpMyAdmin team meeting, so get in touch if you want to discuss anything with me.

As most of the rooms still don't have a schedule, I can't give you hint where I will be present, but I definitely won't miss Friday beer event and Dieter's talk about phpMyAdmin in MySQL room. The rest pretty much depends on who I will meet :-).

Free software plans for 2013

Year 2013 has just started and it's time to think how to spend my free time during this year.

Weblate

Weblate was my toy project number one in last year and I expect it to stay for next year as well. I have several ideas for new features, but all that depends on free time. I will most likely spend my hackweek on that as well.

phpMyAdmin

I think my involvement will stay at about same level at phpMyAdmin - doing few random bugfixes, mostly security ones, taking care of infrastructure for translations and wiki and mentoring few GSoC students.

Gammu and Wammu

Gammu and Wammu has not seen much activity from me in past year and it will probably not change. I don't use the program anymore and this pretty much limits my interest in adding new features. In case somebody active will pop up on mailing list, I'd be happy to transfer the project ownership.

Mobile apps

I'd like to make some progress here, I was also thinking about making some of them working on Android as well, but this involves lot of learning and time is always an issue here. Anyway this might be good challenge for hackweek as well.

Debian

No changes expected here :-).

Others

I consider pretty much anything else from my software projects abandoned or finished.

PyGtk in virtualenv on Travis

Weblate is using Travis CI for continuous integration. That in turn uses virtualenv to test against different Python version.

Unfortunately one of dependencies in Weblate are PyCairo and PyGtk (actually Pango for text rendering) and these does not support installation using distutils. Fortunately this can be workarounded, but it took me some time to make all this properly. Ffirst you need to choose correct versions not as I did mistakenly mixed PyGObject 3 with PyGtk 2. The next step is to manually run configure and make with correct paths to install within virtualenv.

For example for Gtk it looks like following:

wget http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.bz2
tar xf pygtk-2.24.0.tar.bz2
cd pygtk-2.24.0
export PKG_CONFIG_PATH=/home/travis/virtualenv/python$TRAVIS_PYTHON_VERSION/lib/pkgconfig
./configure --prefix=/home/travis/virtualenv/python$TRAVIS_PYTHON_VERSION/
make
make install

The complete Travis configuration file can be found in Weblate's Git repository.

Flexible commit messages in Weblate

Next release of Weblate, the web based translation tool, will bring more flexibility in creating commit messages to allow include there whatever your project would like to see.

Originally commit message was fixed string hardcoded withing the code. Later it has been moved to configuration file to be finally placed into database to allow per project customization.

During these steps, it was also possible to add some basic information into the message (project and language code at the beginning). Weblate 1.4 will add some more options to add there, including translation stats. You can find all supported format strings in our documentation.

The default value now includes language name and translation status as can be seen in Weblate repository.

Multi part progress in Weblate

Weblate is still evolving and it recently got new feature to allow better overview of translation status - multi part progress bars.

The motivation to show more information is to have better overview of the translation. The numbers have been always shown withing Weblate, but making it graphical gives it much better visibility:

Multi part progress in Weblate

I'm still unsure about colors to use for highlighting different state - the failed checks should not be too different from translated strings as they might contain quite some false positives while fuzzy strings need to be really different as they absolutely need attention from translator. If you have better ideas about color scheme, please let me know!

You can see live example at Polish summary at l10n.cihar.com.

Weblate 1.3 at SUSE Studio

Finally, I've managed to update SUSE Studio images with Weblate to recently released 1.3. So you can now fetch there various images for your virtual machines or clouds.

There is also new support for SUSE Cloud or OpenStack in SUSE Studio, so you can enjoy these as well.

Within this version, I've upgraded the system to openSUSE 12.2 and included MTA in the image, so that you can send out registration emails.

You can find more information about Weblate at http://weblate.org/.

Weblate available as BitNami stack

Weblate is now available for your cloud or virtual machines - BitNami has published Weblate stack.

BitNami stack allows you to install native application on Linux or Mac OS X as well as provides images for virtual machines or to be run within cloud (some of these options are still waiting to be built).

Also I wanted to finally release SUSE Studio images, but all I get out of that are HTTP 500 errors (whenever I tried since Friday). Luckily today I at least managed to build one image to test. This allowed me to reproduce bug with broken registration as mailserver was missing in the image.

Weblate hook at Github

Github now provides native hook for Weblate. This means that all you need to do to link these two together is to enter URL of your Weblate installation and you are done.

This was actually my first code in Ruby and I don't think I will start to like it, Python still looks nicer to me :-). However it was not that hard as I expected and I've even contribute (simple) testcase for this service.