03:40
I also see why they have a really rigorous interviewing process. You can’t really afford to hire people who don’t know crap.
All the work really is taken up by going from langs=1 to langs≠1. The actual count isn’t that big of a deal.
It also really helped, much more than they would ever have anticipated, that lang#2 was Spanish. We had a native speaker do the basic initial translations, but I caught a hundred things that would have been missed by someone less than very well schooled in Spanish.
The guy who had been going to do it was the previous new-hire. He’s smart, probably damned smart, but his Perl is not quite as strong as mine and he is a French speaker not a Spanish speaker, so wouldn’t have realized errors looking him in the face.
They didn’t hire me for Spanish, of course. It has just been really lucky.
Getting used to gettext took a while. It is not very friendly, because too “C-minded” if you take my meaning.
The only always-good translations were when the translator was given entire sentences or paragraphs. You just cannot do single words, because without context, there is on way to know what word to pick.
The gettext supports that, allowing for a compound key lookup by not just "msgid", essentially the English text, but also by a message context, which is arbitrary but could be something like "noun" versus "verb".
Imagine a UI element that says "View" in English. Which one should that be?
It most other languages, you have to pick the noun or the verb. And in fact, in some places in your UI, it will be one and not the other.
So somebody who didn’t know Spanish wouldn’t have realize how wrong those would have been.
I bitched the other day about how dreadfully long “hover for tooltips” becomes in Spanish. Or French. Or anything but English.
Turning “hover for tooltips” into “Pase el cursor por encima para ver las direcciones emergentes” simply will not fit in a UI element. Just fill it with eels and call it good.