raw output

Galician, ranked 8th

By jacobo, on 2008-6-5 at 17:49, under Translation, Debian

Finally, Galician is 8th in the po-debconf translation ranking.

Galician, ranked 8th.

What makes it special is that I have finally overtaken Spanish, so Galician is the highest-ranking language from Spain in that list :)

Also, I am now less than 200 strings away from Russian. That had not happened for a very long time… ;)

Debconf template translations

By jacobo, on 2008-5-22 at 23:12, under Translation, Debian

I caught Swedish, so now I’m in 9th position. Only 269 strings left for overtaking Spanish.

Yes, I’m taking this as a competition :)

No Galician translations of Mozilla, apparently

By jacobo, on 2008-5-20 at 21:53, under General, Translation

It’s not every day that your work is ignored by a founder of Mozilla Europe. From El País:

En España un 23,5% de visitas se dan en Firefox, un índice que es superior al de EE UU, pero que no llega a los índices de Polonia donde el 40% del tráfico se da en el navegador de Mozilla. A pesar de estos aceptables datos [Tristan] Nitot ha recordado y prácticamente hecho un llamamiento para crear una versión del navegador en gallego: “Hay una versión en catalán de Firefox construidas por voluntarios que les importa su idioma, al igual que la hay de euskera. Pero aún no hay una versión en Galicia, muchas veces me lo preguntan y mi respuesta es que si nadie de Galicia se presenta no habrá una versión en gallego, estamos dispuestos a que la gente trabaje con nosotros".

Loosely translated:

“There’s a Catalan version of Firefox built by volunteers who care about their language, and there’s another one in Basque. But there’s no Galician version yet, I get asked this very often, and my answer is that if nobody from Galicia steps up there will be no Galician version. We would like people to work with us".

So, apparently, there’s no Galician translation of Mozilla. I guess that my more than three years’ worth of work were wasted (Dec 2001 - Jul 2004 and Jan 2006 - Aug 2006), that Xis and Galego21 did nothing back in the nineties and noughties, and that what mancomun.org is hosting is an empty XPI file.

To not speak of the paralysed/paralysing bureaucracy of the Mozilla Foundation when several groups of volunteers, one after the other, tried to reinstate the official Galician l10n team.

I would be pissed off if I cared about Galician. Because, you know, from reading my blog it’s obvious I don’t.

Galician debconf template translation workflow

By jacobo, on 2008-5-20 at 00:43, under Translation, Debian

One of the things I do when I’m at home is translating debconf templates into Galician. I’m not doing bad at all. Although it’s just me working alone (by choice), mine is the 10th most complete translation, and climbing :)

I’m going to document my workflow, for two reasons: one is that others may find it useful or may suggest improvements. The other is that, in this way, I won’t depend on my bash history not being erased :)

I have a compendium with almost all strings in all debconf templates I translated, and several scripts I use to maintain that compendium, apply it to translations, etc. It is available at http://darcs.tarrio.org/gl-templates/, and can be downloaded with Darcs using this command:

$ darcs get http://darcs.tarrio.org/gl-templates/

In my local machine I keep it in $HOME/pos.

(You may use this compendium and scripts freely, if you want, but be sure to change all appearances of “gl.po” into the appropriate file name for your language.)

Nowadays I’m mostly driven by bubulle’s NMU announcements. Whenever he announces a NMU for a package I haven’t translated or whose Galician translation is outdated, I work on it.

This is what I do to start a new translation for a package called “example":

  1. Extract the attached templates.pot file into $HOME/pos/example_templates.pot.
  2. Bootstrap the translation with my compendium, using this command:
    $ ./bootstrap-po example_templates.pot > gl.po

    The script is smart enough to know that a file called example_templates.pot is a templates file for a package called example. However, I can specify a different package name as its second argument:

    $ ./bootstrap-po nonsensicalfilename.pot example > gl.po
  3. The generated gl.po file is UTF-8 encoded. However, I use xemacs to translate, which cannot read that, so I encode it into iso-8859-1:
    $ msgconv -t iso-8859-1 gl.po -o gll.po
  4. Edit the file.
  5. Encode the edited file into utf-8:
    $ msgconv -t utf-8 gll.po -o gl.po
  6. Add the translations to my compendium:
    $ ./add-total-po

    (My compendium is the total.po.txt file, hence the name.)

  7. Optional: edit the compendium to remove obsolete strings or strings which may be ambiguous so I don’t want them in the compendium.
  8. Send the translated file to the package maintainer using the BTS:
    $ ./send-po example
  9. Record and push the changes to the compendium:
    $ darcs record -a
    $ darcs push -a

This is how I update an existing, outdated translation:

  1. Extract the file into $HOME/pos/gl.po.
  2. Most likely, it’s UTF-8 encoded. Encode it into iso-8859-1:
    $ msgconv -t iso-8859-1 gl.po -o gll.po
  3. Edit the file, fix only the fuzzy translations.
  4. Encode it back into UTF-8:
    $ msgconv -t utf-8 gll.po -o gl.po
  5. Update the translation using the existing translated strings and the compendium:
    $ ./refresh-po gl.po | msgconv -t iso-8859-1 -o gll.po
  6. Open the file. Hopefully you’ll have new fuzzy translations. Edit the translation and complete it, or do some strings then refresh again and edit and refresh again until the file is completed. If the file contains lots of similar sentences you can just translate a couple of them, refresh, and the other ones will then be all fuzzy. Magic!
  7. When I’m done, encode into UTF-8, update the compendium, send to maintainer, submit changes to compendium.

PO-debconf translation ranking

By jacobo, on 2008-4-27 at 15:29, under Translation, Debian

I haven’t had my virtual victory lap yet, so here it is:

Galician in 10th position, aiming for Spanish's position :)

Flags and languages

By jacobo, on 2008-1-20 at 13:36, under General, Translation, Web dev

Many languages are spoken in more than one country, and many countries have more than one language. When you forget this you do stuff like language selection menus that use flags to represent languages. This is problematic for several reasons, starting with having to ask yourself what flag you are going to use to represent English, and how to deal with the angry letters you’ll receive when you use the national flag to represent a regional language. So, using flags to represent languages is definitely discouraged.

This said, have a look at this small piece of the KDE l10n stats page:

Galician language with flag of Greenland

The funny thing is that the flag you see next to “Galician” is the flag of Greenland. And Galician is not spoken at all in Greenland! So, what happened? Why did they use so wrong a flag?

The problem is that the ISO 639-1 code for the Galician language is “gl”, which is the same as the ISO 3166-1 code for Greenland. So, when choosing the flag for Galician they confused the language code with the country code and selected the flag for “gl”: that is, for Greenland.

(I’m surprised that they used the Ukrainian flag (“ua”) for the Ukrainian language (“uk”), and not the Union Flag. Perhaps that would have been too obvious an error :) – although I have been told by email that the ISO 3166-1 code for the UK is “GB”, not “UK”)

So, my takeaway message is: don’t use flags to represent languages and if you do, make sure you use a flag of a place where the language is actually spoken!

Addendum: I have just seen that Basque is accompanied by the flag of the European Union! That’s because the language’s code is “eu”. Ah, and there are three variants of the Chinese language (Hong-Kong, Simplified and Traditional), all with the flag of the People’s Republic of China. Someone is bound to receive angry email – Taiwan is a political hot potato. I have sent email to the maintainer of the page.

ETOOCLEVER

By jacobo, on 2008-1-12 at 14:45, under Translation, Debian
msgid "Unable to cw::util::transcode package display format after \"%ls\""

WTF. That’s not even proper English. How am I supposed to translate it?

No, really. My mind boggles. I’m going out for a walk in the beautiful Dublin weather.

Eleventh

By jacobo, on 2007-7-23 at 03:17, under Translation, Debian

Just a brief note to announce that Galician has recently surpassed Brazilian Portuguese in the po-debconf translation page, and now it stands at the 11th position.

Yes, this is exciting for me :)

Only 264 strings left to catch up with Russian :)

BTW I’m in Sunnyvale (California, US) until Aug 10th. If someone wants to meet, just email me. My email address should be relatively easy to find. If it isn’t, leave a comment or something.

A little bit of everything

By jacobo, on 2007-6-29 at 00:50, under General, Translation, Debian

July 5th, 2007 will be the 10th anniversary of the Debian Social Contract.

Also, on July 5th, 2007, I will be flying to Dublin to start a new job at Google Ireland the following Monday.

Today (well, technically yesterday now) was my last day at Allenta. It’s been several good years, with nice and funny coworkers (and friends), learning and doing lots of very varied stuff. However, after several years I felt a need to do something a bit different. It appears that working at Google is all the rage now, so I decided to jump on the bandwagon ;)

Oh, yeah, I’m excited about living in Dublin, and about working at Google. I already have so many plans, I’ll be happy if I manage to undertake 1/10 of them ;-)

If you live in or near Dublin and want to meet, feel free to call or email me. My Spanish phone number is in the Debian developer database or in all of my domains’ WHOIS records. My email addresses are all easy to find.

As I don’t know what kind of Internet access I’ll have outside of work (assuming I will not be out exploring the city when not working), it’ll probably be a bit hard for me to keep up with mail and with the Galician debconf template translation stuff. Today I’m in the 12th position in the ranking, with only 12 strings left to catch the Brazilian Portuguese team. I know that the Catalan team wants revenge from when I overtook them. It’s your opportunity, nois! :-)

Twelfth position

By jacobo, on 2007-3-11 at 15:01, under Translation, Debian

12th position! w00t!

44 translated template files remain in the BTS. I will rest and wait for them to be uploaded.

It’s not yet the time for Russian translators to panic :-)

Climbing positions

By jacobo, on 2007-3-8 at 22:42, under Translation, Debian

From the po-debconf language ranking page:

Catalan and Italian defeated; now after Danish!

Afterwards, I will rest.

(I’m going after the 12th position. Three weeks ago I had fewer than 2800 strings translated. Not bad for a language you didn’t even know existed).

Above the Spanish translations and other unpurposes

By jacobo, on 2006-11-17 at 14:42, under Translation

The last fashion in certain channel of IRC is disemboweling the Spanish translation of subversion. I refer myself to that is so strange and twisted and full of anglicisms, that it gives laughter.

In an opinion poll improvised, nobody has wanted to recognize that they use Linux in Spanish. I, personally, do not utilize those translations because my refined sensibility excites itself (negatively) at the time of seeing certain barbarities.

To share the pain, especially among the monolingual English speakers who never have seen software translated, I have written this story in Spanish and later I have translated it semiliterally to English utilizing techniques as advanced as the employed in the translation of subversion.

If wishes to rip your eyes out have entered you, I have accomplished my objective.

(It sees itself that I know the English too much well, for that my first sketch was too much correct and I had to revise it various times).

More articles, please

By jacobo, on 2006-5-31 at 10:48, under Translation, Debian

When one is translating software, some times the original strings are not clear enough.

#. Type: text
#. Description
#. Menu entry
#. Use infinitive form
#: ../partman-lvm.templates:45
msgid "Delete volume group"
msgstr ""

For example, what’s this? Is this the option to delete a volume group you have selected, or is this the option to select a volume group and then delete it? Because the translation for each case would be different: “Borrar o grupo de volumes” versus “Borrar un grupo de volumes”. The difference is just a definite vs. an indefinite article.

In fact, it could have been clear in the original English text:

msgid "Delete a volume group"

or

msgid "Delete the volume group"

Well, at least it has a note saying it’s infinitive, not imperative. I won’t translate it erroneously as if it read “you, user, delete the volume group at once!”.

This message was paid for by the Platform For More Articles In Program Text.

Configuration duhs

By jacobo, on 2006-5-14 at 20:29, under Translation, Debian

While translating ClamAV’s debconf templates I found this:

msgid "Gracefully handle left-over Unix socket files?"

I wonder what the alternative is. Crash and burn?

This message was paid for by the Platform For Fewer Configuration Questions Through Saner Defaults.

Trademarks

By jacobo, on 2006-1-11 at 01:34, under General, Translation

So after feeling motivated again, I’ve updated my old Galician translation of Mozilla Firefox 0.8 for Firefox 1.0.7, I have some people testing the translation and will soon update it for Firefox 1.5.

As I’m keeping my translation strictly unofficial (I want nothing to do with upstream Mozilla), it’s possible that I’ll receive some messages about how I’m infringing on the Mozilla Foundation’s holy trade marks, and how I’m not keeping the standards of extremely high quality that the Mozilla Foundation guarantees, yadda yadda yadda., so I’m already prepared for that eventuality:

The Firechicken web browser

I don’t know the English idiom for “tocar las narices”, but if they do it to me, I’ll adopt this name and logo for my translation. And then, if I translate Thunderbird, I’ll call this one “Thunderchicken” :-)

Hacking on my own

By jacobo, on 2006-1-3 at 17:54, under Translation

Four years ago I started translating the Mozilla suite into Galician, and from that point on I managed to keep the translation completely up-to-date, even being one of the fastest ones to create translations (when Mozilla 1.0 was released, three translations for it were released at the same time: Chinese, Asturian and Galician), and later expanding my efforts into Firefox and Thunderbird.

However, after two years, things started to go wrong: support for translations was starting to fail without warning, there were some undocumented changes to the language pack format and there was a movement to integrate translations officially into the Mozilla organization that would make it extremely inconvenient for me to go on working in Mozilla, so in July 2004 I resigned from the effort and stopped updating the translations.

Well, it was not exactly a thing of “oh, now it is not worth the effort", but “those SOBs are taking all my past hard work down the crapper and they were supposed to stop updating the suite so why are they releasing a fucking new version?". And also “I’m here translating this shit and nobody appreciates it so fuck it all” Much angst and stuff, and I not only stopped with Mozilla: I stopped translating pretty much anything else and almost vowed not to translate again. And I made the T-shirt and all (some of you saw it in DebConf 5).

During the Christmas break I didn’t have much to do, and it had been very long since I had last programmed for pleasure, so I decided to create a set of scripts for converting Mozilla XPI language packs into a huge PO file and back (days later I was told about translation-tools, but I was in the mood to hack and it worked with a lot of small PO files, which I didn’t want). Then, I imported my old Firefox 0.8 translation, created a POT for 1.0.7 and updated the translation.

I may well start making Galician Firefox translations again – but unofficially. There’s already an official Galician team, which intended to start after my resignation but is, apparently, stuck in bureaucratland. Also, some horror stories I’ve heard about make me want not to work officially with Mozilla. Plus, some of the things that made me angry back in the days are still there. For example, the documents about translating Mozilla all newbies are referred to are badly outdated. And there are no new, unified documents. But I intend to take it easy. I will not invest emotionally on this again, because I don’t want to go back to spending a couple of months playing Frozen Bubble while I think bad thoughts about Mozilla developers.

Anyway, I’m moderately happy now. I’ve hacked on my own, for pleasure, for the first time in months; I achieved a goal and I’m slowly regaining my motivation to do other stuff. I hope.

That was all.

How to drive your translators insane

By jacobo, on 2005-6-14 at 14:42, under Translation

Translators are these people who spend multiple hours reading strings that are output by your program, and converting them into strings in another language, for those users who don’t speak English.

As a software developer, you have the opportunity to spice up your translators’ jobs, and make their labours more challenging. I assure you that your name will constantly be in their minds and their mouths. Also, your family will be the target of their affection. To achieve this, you only have to follow this simple piece of advice:

Make intensive use of abbreviations.
This will not only help you to save keystrokes, this will make your translators think twice about what they write. Most European languages use more characters per word than English (this is true of Spanish, and even truer of French), so if the translators do not resort to use abbreviations too, they will end up with a three-line long translation to a five-word English sentence.
Use slang, verb nouns and use command and function names as real words.
Translators will eventually learn the beauty of sentences like “Could not grok results of statting file %s”. Shame on them if their language does not allow these useful constructions, or if colloquial language would be inappropriate. This will teach them to stick to English or loosen up.
Your translators love tight length limits.
Oh, yes, they do. Oh, the joy of translating a table with fixed column widths and headers such as “Layout” which translate to “Disposición”. Of course, the “Layout” column is only 6 characters wide. But now that I think of this, they can use “Esquema”, which is shorter… but one character too long! Extra joy if you combine tight length limits with abbreviations.
Make your translators taste code every once in a while.
When translators stumble upon a sentence like “Modify hostname” they are happy, because now they have a reason to open a real source code file with their editor and look for the sentence to learn what it means. Is it a button the user must press to edit a host name? Is it the name of a step in a setup wizard? Is it the computer asking if it should modify the host name by itself? Only a look at the code will tell.
Build sentences dynamically.
It’s really neat, this code that allows you to have just a “New %s” string and a “Delete %s” string instead of separate “New mail”, “New appointment”, “New file”, “Delete mail”, “Delete appointment”, “Delete file”. Plus, translators will appreciate that they will have to translate less strings. Sometimes they’ll complain because “New” will translate differently in “New mail” and in “New appointment”, but if they cannot fix it themselves, they are not so good after all. Heck, it’s their work, not yours! Plus, everyone knows that all languages use the singular form for 1 element and the plural form for everything else. The “%d file%s created” string is very clever too, why should some Russian who says that his language has three different plural forms and wacky rules for choosing among them spoil it for you and force you to use gettext_plural?

Well, these were only a few rules of thumb, but if they follow them faithfully, I can guarantee you many nights of ringing ears or tickling nose or whatever it is in your culture. Good luck!

(Update: sorry for the previous “” brokenness. And “blank” was meant to be “target”. Beware of false friends!)

Mono savant

By jacobo, on 2005-2-18 at 00:42, under Translation, Mono & .NET, Debian

I think I’m going to cry. I not only understand the words of what this blog entry says, I can even understand the code! My reading .NET books is paying off!

By the way, has anyone got an idea for a simple ASP.NET web application I could create? The idea would be:

  1. to learn Mono
  2. to make a simple documented example of an ASP.NET application for everyone to see and comment on and learn, too :-)

I was thinking of an Internet pizza delivery service (a simple thing which would only collect orders, without the full back-end tracking pizzas, orders, drivers, etc), but if someone has thought of anything else…

On the Debian front, I’m still translating. I’m currently with d-i level 2 (applications which are not part of debian-installer itself but everyone interacts with), and when I have the iso-codes finished (country, region and language names), I will pass to level 3 :-)

O instalador de Debian xa fala galego

By jacobo, on 2005-2-14 at 11:28, under Translation, Debian

I’ve finished updating the Galician translation of debian-installer —for now :-) Now it’s time to see how many packages in d-i get rebuilt before the next d-i release, including my updated translations.

I have revised all strings in the package, converting them to a formal style (the computer is not your buddy) and turning the sentence structures into another ones which are more natural in Galician (we don’t use passive forms as much as in English, and we don’t go saying “please” all the time…). They are not fully compliant with the new ortographic rules yet, but it doesn’t matter very much as the old ones are still accepted (the ortographic reform is backwards-compatible).

And, of course, I should now start translating base packages, and think about studying the new ortography…

Currently translating d-i

By jacobo, on 2005-2-10 at 23:41, under Translation, Debian

So I vowed to never translate anything else into Galician. You know: it’s hard work, and nobody seems to appreciate it, and there was a recent change in the ortography which I haven’t digested well yet, so I basically stopped translating.

That is, until Christian Perrier came saying that the Galician translation of d-i was incomplete. And as I had made the translation of woody’s boot-floppies and I had recently been told that the new Galician translation was not very good, I decided to fix that.

(Indeed, the translation was not very good. I think that every no-no we had enumerated when we started translating and founded the “Proxecto Trasno” was there).

I intend to go on translating, but only for Debian. Don’t count on my l33t translating 5ki11z for anything else, thankyouverymuch.