Facts about Rosetta and Kubuntu l10n

Facts

  • Kubuntu (needs to) import KDE’s translations (+po templates, +desktop file translations, +desktop file po templates) into Launchpad’s translations system Rosetta
  • Those translations then can be changed and/or enhanced
  • Changed translations don’t automagically get overriden by a new upstream import but have to be reviewed by the translation team
  • Changed translations have to be manually upstreamed by the translator or the translation team (thus implying that one should either have direct access to upstream’s po files or file loads of bug reports)
  • Rosetta makes new contributors contribute to out-of-date translations
  • Rosetta failed to properly support KDE 3’s po format for years
  • Rosetta’s interface is difficult to use
  • Rosetta has no clue when a package gets removed from the archives or superseded with a new major version that does not ship the once available translation template
  • Kubuntu’s localization breaks at least once every release cycle, always as close to release as possible
  • Kubuntu string changes/additions don’t get translated at times
  • Kubuntu needs to maintain patches to keep that whole construct of import-breakage-export working

Rants

Import

Having to import all main applications’ l10n related data to a distribution specific tool for enhancement and bug fixing is a completely sane thing to do. Of course, if the whole process would not be bound to the build process (i.e. if it could be supervised outside the build process) it would be a lot easier to notice/track/find issues, and god knows there are loads of those (at least for KDE imports). It probably would also help if rosetta wouldn’t need ages to process the data for import. But hey, what can you do, it’s a bottlenecked design.

Rosetta

So, assuming that the data ended up properly in Rosetta (which is not always the case, though it arrived there … I guess you can imagine what I’m talking about), now a nice community member can start fixing bugs or enhance the translation (to pick up on the bottleneck: if the template is imported but the po is not, there will be loads of untranslated strings … again I’m quite confident that you see the implication here).


Let’s use the following example:

Leon is Kubuntu user. He is speaking German and wants to help translate KDE. Being a user who actually knows about the need of translation he knows that the translations are being handled over at Launchpad. So he commands to konquer launchpad.net. Right at the top there is a link to Translations. Leon clicks.

On the translations main page he finds a link to the translations for Ubuntu 9.04. Again he follows that link.

Oh dear, what a load of red!!!!

Anyway, he scrolls down and eventually finds german.

So far so good, now Leon just needs to find some KDE application.

Hum… Leon reads kdesktop and kicker, having used KDE for quite some time he knows that this stuff was replaced in KDE 4 and is not even available in the archives anymore, so he avoids them, luckily they are fully translated anyway.

On the very same page he finds konqueror with one untranslated string. He thinks that one untranslated string would be a perfect starting point so he wants to give it a shot.

Our character filters for untranslated items having no clue what the guide filter means as there is only none or german.

The suggested translation “Textmarken” from openoffice’s translations sounds about right so he applies that. For those who don’t know, the KDE default translation for bookmark in german is “Lesezeichen”, Leon doesn’t know that, and neither does Rosetta. JohnTooray suggested “Lesezeichen” but that was almost 2 months ago, so one must assume it was not very much liked, so for the scenario’s sake we will just ignore that there is already a suggestion.

Leon submits his suggestion “Textmarke” and goes on walking through >20 pages of templates trying to find more KDE stuff to translate.

[timelaps]

3 months later still no one approved his suggestions (in Rosetta someone from the managing team, i.e. the ubuntu translation team for $language, needs to approve the translation … those poor people have to know all common translations for GNOME, KDE, GNU, $someothersoftwarestackinmain). Leon is right now pretty pissed off and decides to never try helping again.

I hope you see the flaws I tired to highlight, in that very simple example use. Those are mostly non-technical problems, I have talked about the technical ones so often on IRC and in various meetings that I am simply tired of repeating myself all the time.


Export

If we are super lucky someone didn’t decrease the translations quality and the language teams were not too busy fighting with Rosetta’s interface to not be able to approve new suggestions. At some point (post string freeze, so someone like Apachelogger, who would actually care if import and export are working correctly before that, doesn’t have a chance to fix quirks before translators start working there arse off) a ubuntu langpack gets generated and spit upon the archives.


Communication

Ubuntu must be high on something since it seems pretty much impossible that Ubuntu and Kubuntu communicate just for once. It goes like that: Ubuntu does something -> Kubuntu notices it -> hell breaks loose -> Kubuntu tries to catch up -> Kubuntu barely (read: only partially) manages to catch up before release. That seems to be some kind of law of nature.

Latest example: “lets go rape our packages of their desktop file translations” which was done less than one month before release of 9.04 without any warning.

Result: Systemsettings was speaking english most of the time, so did the menu, so did loads of other stuff

Cause: The Kubuntu patch for grabing desktop file translations from .mo files was not working + the translations were not imorted + the templates were not imported + no-one ever warned us

This isn’t news at all. A flickr image set is watching the progress of Kubuntu since 8.04 (though it is, with exception of 8.10, mostly tracking in-development progress, then again how much localization QA can you expect when it is horribly broken half the time).

Also if you speak german you might want to check out the latest KDE-de thread about Kubuntu’s state of translation, they also had a similar one for 8.10, where they considered various crude but understandable actions in how to handle this issue. After all the KDE l10n teams probably get most of the complaints, because the user is lead to believe that it’s a problem there.

Conclusion

So, finally just let me get my position straight.

  1. Rosetta is the best example why rolling release does not work in every case
  2. I raised my concerns about the constant issues and lack of quality coming out of Rosetta… for I think the last year or so
  3. Most people do not speak English, and if they do as second language I find it doubtable that they do well enough to use an operating system in English
  4. Ubuntu touts itself as believing it’s important for everyone to have a computer that works in their own language, yet the project as whole (Kubuntu being part of that larger Ubuntu) fails to meet that very claim most of the time
  5. I pity all those that have to use Rosetta in order to make their desktop not speak 2 languages at the same time, as well as those that have to live with constant complaints coming from Kubuntu users
  6. I am deeply sorry that I can’t help either of them, due to the very nature of Rosetta still not being open source
  7. Should this crap continue I am going to leave the Project and join Debian or Fedora, I am not going to waste my time on a system that is constantly breaking due to external (meaning not caused by the Kubuntu crew) screwups
  8. Comments on how to improve the situtation (i.e. what Kubuntu should do in order to get out of all this) are greatly, because I’d rather not leave a project I have spent most of my spare time on for the last couple of years

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s