One more application fully localized, one started!

Still actually working on that new project of mine, we (Pockey and I) finished Gcompris localization in Chinese last Saturday. Ok, most of the work was done with 98% completed, which shows a huge increase from 6 months ago actually where less than half was translated into Chinese. Gcompris is an educational software suite which proposes different activities to children from 2 to 10 years old. Gcompris po files are available from the Gnome website where you can find a few other languages that need completion. Coordinating the Gnome Chinese translation effort it is worth mentioning that you can find BLUG member and occasional presenter Funda Wang (Yeah BLUG again).

This being said we have also started localizing Hex-a-hop, a puzzle game with 100 levels. The internationalization process was completed last year in July by Jens Seidel, who has developed the patches for making it work with SDLPango and to support all the spectrum of Unicode characters. With debian packages, the process of getting the po file is a big more “complicated”. In fact there are two ways, one given to me by Miriam Ruiz (Hex-a-hop maintainer at debian) and one by Anthony Fok (BLUG member among so many other things, and great Linux contributor). So here we go (for those who would like to actually translate other debian projects):

miriam@miriam:~/tmp$ apt-get source hex-a-hop
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 1020kB of source archives.
Get:1 http://ftp.de.debian.org sid/main hex-a-hop 0.0.20070315-6 (dsc) [1004B]
Get:2 http://ftp.de.debian.org sid/main hex-a-hop 0.0.20070315-6 (tar) [892kB]
Get:3 http://ftp.de.debian.org sid/main hex-a-hop 0.0.20070315-6 (diff) [127kB]
Fetched 1020kB in 1s (577kB/s)
dpkg-source: extracting hex-a-hop in hex-a-hop-0.0.20070315
dpkg-source: info: unpacking hex-a-hop_0.0.20070315.orig.tar.gz
dpkg-source: info: applying hex-a-hop_0.0.20070315-6.diff.gz
miriam@miriam:~/tmp$ find . -name "*.po"
./hex-a-hop-0.0.20070315/debian/i18n/bg.po
./hex-a-hop-0.0.20070315/debian/i18n/ru.po
./hex-a-hop-0.0.20070315/debian/i18n/ja.po
./hex-a-hop-0.0.20070315/debian/i18n/vi.po
./hex-a-hop-0.0.20070315/debian/i18n/ta.po
./hex-a-hop-0.0.20070315/debian/i18n/pl.po
./hex-a-hop-0.0.20070315/debian/i18n/nl.po
./hex-a-hop-0.0.20070315/debian/i18n/es.po
./hex-a-hop-0.0.20070315/debian/i18n/de.po
miriam@miriam:~/tmp$ find . -name "*.pot"
./hex-a-hop-0.0.20070315/debian/i18n/hex-a-hop.pot

Then you just need to open the .pot file with poedit. Second method is to convert the .mo file which you can get from the binary deb file back into a .po file typing:

wget http://ftp.tw.debian.org/debian/pool/main/h/hex-a-hop/hex-a-hop_0.0.20070315-6_i386.deb
dpkg-deb -x hex-a-hop_0.0.20070315-6_i386.deb testdir
cd testdir/usr/share/locale/de/LC_MESSAGES
msgunfmt hex-a-hop.mo > hex-a-hop.po

Now there is a good explanation here on the translation process used in FOSS for those of you wanting to understand more. Should you want to join us and help, please don’t hesitate to contact me. If you want to translate other applications that you feel should be in your language but are having problems with it, I won’t mind helping out neither.

Localizing HTML documents

Continuing my search into internationalizing and localizing the 48 lessons for RUR-PLE and asking all around I have raised a few very meaningful feedbacks from my community: it’s a lot of work to recode HTML pages and insert language tags, it also makes authoring a lot more complicated and not for everyone. Imagine a teacher wanting to add lesson No.49, he’ll have to understand the technique behind it and thus learning a bit of HTML is probably a lot easier. So what you gain from simplifying the work for translators is lost in hindering authoring.

Well actually NO! A big THANK YOU to Elly for pointing out this great Java application to me: OmegaT. OmegaT let you open XHTML, HTML, Microsoft Office 2007 XML, OpenOffice.org/StarOffice, XLIFF (Okapi), MediaWiki and plain text files and hides the code to the translator. Translators just see what needs to be translated, can use shared memory per project (you create projects inside the application) and thus avoids you to re-translate something you already translated, and export in the same format as the original document without touching the markup. I’ve tried with HTML and presentation files and wow it just works as it should. Great gain of time, no need to internationalize anything for your project (and mine) and anyone can now generate new lessons without having to worry about the translators.

This is also going to help me in my daily work, where I get presentation files in different languages all the time and spend hours editing them slide by slide. On top of that, this is Open Source Software (GPL) and cross platform (using Java). What else could you ask for? I just regret to have discovered it so late. 😉