Saturday, July 8

Localization coordination for Debian #4

This was a week of prototyping.

I performed some more basic changes to the API. I introduced folders so that arbitrary tree-like grouping structures would be possible. I also moved the language layer below the module layer (previously it was above, like in pootle), because it eliminates parallel hierarchies in the whole structure. It also just appears more logical to me. While the bottom-most TranslationUnit class needs more work until it's complete, I hope that the container interfaces will not need to be changed much more, as there would be more and more work to update the corresponding implementations.

I have written a prototype .po parser that uses Wordforge's tools to parse a .po file and converts the result into structures defined by the new API. Admittedly it's at a very early stage. There is also a preliminary implementation that can read Pootle's backend storage directory structure. It is read-only at the moment, and does not read Pootle's metadata files yet, but it is usable. There's also an XML-RPC server that demonstrates this backend: you can send XML-RPC requests to translate words in specified Pootle projects.

After having dealt with containers this week, next week I will probably concentrate on the actual translation objects and look deeper into structure of XLIFF to ensure decent compatibility. I would like to accommodate most of what Wordforge currently supports in this regard. I will also probably start thinking about the security subsystem (I have a feeling that this will spur a few discussions on the mailing list).

I have also tried to gently push Wordforge to migrate to Subversion. Sourceforge has its own migration facilities, so hopefully the transition will be easy and painless. CVS has been a little of a pain, and now I noticed that it's actually threatening me!

revision 1.1
date: 2006/07/08 12:06:43;  author: gintautasm;  state: dead;
branches:  1.1.2;

There was some interest on the Wordforge mailing list about using the XML-RPC interface to co-operate with thick clients (KBabel, etc.). For the moment I have enough work on Pootle itself and XML-RPC is not a priority, but if anyone would be interested in implementing the client side for some translation application, I would be very happy to cooperate and coordinate the server's XML-RPC interface.

Hopefully next week the weather will be a bit cooler too: it's so hot that it is difficult to fall asleep because of the heat. The heat definitely does not help to get actual work done.