My personal i18n: fixing xine-lib

Okay, so today I got CVS access to xine-lib, tonight I checked out a copy of the CVS, and started investigating a little glitch I seen the other day but never actually gone looking for it.

The first thing I gone to look for was an error about xine being unable to identify the current charset… this ended up being xine-lib relying on a gettext internal macro that, as any other gettext macro, is unreliable and often changes without notify. I replaced that with a proper check for nl_langinfo() function that finally solves the problem.

Then it was the time to understand why the translation although present and installed wasn’t used.. it ended up being the gettext domain used that was different from the one installed. Fixed that now on upstream CVS, going to put a patch for that in Gentoo.

Still, I do have problems with some strings not coming up translated, and I’m afraid that somehow xine is taking up the pre-built .gmo files that are not update with the new Italian translation for instance.

I’m going to fix that too, and also going to replace the old command used to find the translatable files with something that does not take three pointless commands (find, xargs, and an extra grep).

Anyway, the work to do is really a lot, I’ll try to do my best so that before 1.1.2 release i18n support is complete. I’m really looking forward if someone is going to provide new translations for xine-lib and xine-ui 🙂

Update: (time: 3:58 am) I finally fixed that problem, it was indeed caused by the pre-built .gmo files; unfortunately I also found that the file was regenerated by a command that considered two files that are not tarballed (because moved somewhere else), so I had to fix that, too. Unfortunately this broke my almost perfect Italian translation, so I had to fix the translation of the ~20 strings missing 🙂