Michal Čihař - Blog Archives for English

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 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.

Roadmap for Weblate 1.4

As Weblate 1.3 is out, it's time to think about features for next release. My current plan is to go more into two areas.

First is improving support for machine translations. I have some ideas how to integrate these in interesting ways, I just hope my (poor) Javascript knowledge will not prevent me doing it that way.

The second area is improving testsuite. Right now it really does not cover much and I'd like to cover at least basic functionality with different file formats. I'll see how much I will be able to cover, but at least I will try to cover as much as possible :-).

phpMyAdmin documentation now in Spanish

Since converting the phpMyAdmin documentation to new format and updating it's content, I was quite frightened how this will affect translated versions of it.

Fortunately giving it more attractive format and more advertisement lead to increased contributions. Since Friday, we already have one language which has reached 100% - Spanish. Matías Bellone simply did there awesome job and went through all fuzzy and new strings in just few days.

Now I'm looking forward to other contributors as well, I hope we will be able to deliver translated manual for phpMyAdmin 4.0 in many languages. I'll definitely try to translate to Czech, but any help with that is welcome.

Weblate 1.3

Quite on updated schedule (ie. one month later than originally planned), Weblate 1.3 has been released today. It comes with lot of improvements, especially in support of non gettext files, new quality checks and improved performance.

Full list of changes for 1.3:

  • Compatibility with PostgreSQL database backend.
  • Removes languages removed in upstream git repository.
  • Improved consistency checks processing.
  • Added new checks (BB code, XML markup and newlines).
  • Support for optional rebasing instead of merge.
  • Possibility to relocate Weblate (eg. to run it under /weblate path).
  • Support for manually choosing file type in case autodetection fails.
  • Better support for Android resources.
  • Support for generating SSH key from web interface.
  • More visible data exports.
  • New buttons to enter some special characters.
  • Support for exporting dictionary.
  • Support for locking down whole Weblate installation.
  • Checks for source strings and support for source strings review.
  • Support for user comments for both translations and source strings.
  • Better changes log tracking.
  • Changes can now be monitored using RSS.
  • Improved support for RTL languages.

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 will be soon available 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).

Key signing done

As I've mentioned before, there was a keysigning party in Prague yesterday. Though we were afraid that not so many people will arrive, in the end I have signed 19 keys and assured 13 people for CAcert.

The nice outcome of this is that I can now give up to 25 points when assuring for CAcert and altogether we are able to give you over 50 points in the Prague SUSE office.

Unfortunately this also reminded me my problems with Unicode on CAcert and quick look at the bug tracker showed me that my bugs 769 and 770 are still open, valid and did not receive any attention :-(.

PS: Of course after key signing, we had some fun with the openSUSE beer.