I still need people to do some translating for MojoSetup. If you are bilingual
and can spare a few minutes to write or review some sentences, I'd appreciate
Here are some things I've discovered with this experiment so far.
First: launchpad.net's translation service is awesome
Part of the reason that so many programmers don't care about i18n is not just
because they've never been explained the basics of Unicode, but also because
they'll just never find someone to localize their text. The dirty secret of
open source is that the masses of people generally don't
show up to
contribute, unless you're a Big Important Package like Gnome or the Linux
kernel. I think a lot of people with good ideas and sweet code have been
shocked to find that they're the only one that ever commits patches on their
Do more than one project and you can get cynical pretty quickly.
I've needed translation for projects before, and inevitably you end up begging
someone you know from France, on IRC, usually at the last minute, to translate
crap for you. At best, it's humiliating for you and annoying for them.
...so I was a little surprised to find, 21 hours after launchpad approved
MojoSetup for translation work, I had 13 different languages in progress, most
by people I've never heard of before.
Second: if you want to localize your program, don't make up words.
Programmers are notorious for this. It seems that the last MojoSetup string to
get translated in any language contains the word "rollback." Even the supplied
paragraph of explanation about the word's intent
doesn't change the fact that
it's a made-up fantasy word. Launchpad might as well supply a website where
you can request real photographs of unicorns and mermaids.
Okay, okay, "rollback" is actually in the dictionary
, but it's only a few
decades old. Also, do you think the guy translating into Russian read this
Third: the best thing about launchpad is the low barrier to entry.
You have to create a (free) account, but otherwise, you can pretty much
go into a nice web-based interface, see what's left to be done, and fill in a
piece or two without any big commitment of time. It even gives you suggestions
from other packages (since everyone has already translated "OK" and "Cancel"
18 million times), which is good for potential context, and efficiency (if you
know that's a good translation, just click a radio button and move on).
Fourth: the worst thing about launchpad is the low barrier to entry.
I don't really have any way to verify that the Simplified Chinese
translation is well-done, and worse: I have no way to verify it isn't
malicious. If the Russian strings all turn out to be variations on "Fuck You
Yankee Blue Jeans" ... well, I'll find that out when people complain about
shipping packages. I'm hoping the trolls will stay out (optimism!), but I'm
more concerned that someone will try to be earnestly "helpful" and just do a
copy/paste from Google's translator, causing some remote user to read
baby-talk and nonsense in their native tongue. I have
people are still editing in languages that are otherwise flagged as
completed...my hope is they are incrementally improving the text, in the best
spirit of open source, but they could just be inserting curse words.
noticed places where people have misunderstood the intent of a
string in ways that are apparent without speaking the language. Thankfully you
can check a box to note that a translation needs a review, and hopefully
someone with a good understanding will come along and do just that...on my
end, I can improve my comments to be more clear. You take a lot for granted
in your own language.
I would feel better about it if there were two things in place on launchpad.
For one, a way to easily discuss minutia (do you mean this string to be used
in this context or that one? "Property" can mean something you own, or a file's
attribute, etc)...you can probably track down and contact people, if they want
to be found, but it'd be better to just have a simple talkback thing that
eventually lets people update the comments for a given string, delivered in
the UI and in the downloaded .po files. The other useful thing: a rating
system: call it "karma" or whatever, but it'd be nice if you can assign
translations a level of trust based on the translator's rating, which changes
as they contribute (quantity) and as others sign off on their work (quality).
It would be nice to know that the stranger has translated 50 other projects
and all the Gnome developers considered it good work. Otherwise...you take what
you get and hope for the best.
Fifth: rambling about language follows.
Apparently many languages have a "proper" syntax that no one actually speaks--
American high schools teach that to their students--and a syntax that isn't
but just the way one would expect even formal documentation
to read. Spanish is apparently notorious for this, from what I can gather; the
best English example I can conjure up here is if you said "thy" when you meant
"your." Sure, it's correct English--if you're William Shakespeare--but
everyone in the room would laugh if you seriously used that in modern English.
I'm not sure Spanish has examples that dramatic, but apparently the proper
language is very stilted compared to the way it is spoken and written, even in
Also, apparently there is "German" and "Computer German." At least, that's
what I've been told this week.
Also, I thought it was really strange that someone did a UK English translation
of my US English...but there were some notable differences. "License" is a
spelling error in Great Britain, for example, and I bet seeing the word "color"
drives the English crazy in the same way that "colour" drives the yanks batty.
Finally: Dan Olson noted, wisely, that localization is a project that NEVER ENDS
. He's right. You find yourself thinking "how can I reuse
an existing string so I don't have to get more translations done? Will someone
show up to do this new string in 15 different languages?" You start to have
delusions about how to choose universal graphics in lieu of new text (are
there any symbols that are actually universal?). The upside is that you find
yourself slashing down your UI; after all, you don't need to translate
something you didn't say in the first place, and then, hey, do I really even
need to pop up a message box here? Does the user really
care how many bytes
the garbage collector algorithm reclaimed anyhow?
Out it goes.
Honestly, the restraint might prove to be a bettering experience.