I translate this to "localisation should be done right and is a lot of work".
I really meant to say that it's a lot of shit, but you can translate it to "does not work, adds more trouble, and besides is not done properly anywhere" if it makes you feel better.
One of the biggest issues I have with localization, ignoring the technical aspects for a moment, is that I'm unable to understand what some of the weird, made-up words refer to at all. In case you assumed something different, my native language is German, by the way. English is only my third language, yet I'm able to understand technical documents in their original language better than the raped-language localizations. Try and find a German D&D rulebook (I may be 15-20 years late, does that still exist nowadays?) in your local bookstore. You'll be wondering whether you're reading Chinese.
Another issue I have with localization, especially with software, is that in addition to being ultra-hard, the people implementing it are just dumb. I don't know why it is that way. Try and use Excel (or OO Calc, if you will) in German, and do something real
, that is something other than adding 3 numbers. You will go mental. If that isn't enough yet, take a spreadsheet from an English machine, edit a formula on the German installation, and take it back to the original one. I've seen people who have 10+ years of 40-hour-per-week work experience despair on this one.
Now, for the technical issues, it's not just encodings and different words, or pure GUI issues (such as right-to-left text or messages that surprisingly take twice as many words or characters, which suddenly won't fit) you're dealing with, but also entirely different word order / syntax as well as some really strange bends (as e.g. the same word being spelled differently under some condition or mandatory ligatures, and other oddities).
So really, replacing "Warning" with "Warnung" just won't cut it. Incidentially it probably does
in this very simple case, but once you start allowing localization, you must also support the 7,512,134 non-trivial cases. Which means that every time it does not work because Chinese mandates that "fung" must use a different symbol after "wang" but not if "zong" follows, except on tuesdays, in which case you must write all numbers in reverse order, too
, someone will complain. And, honestly, they will have every right to complain, because you tell them it works, yet it doesn't, all they get is nonsense.
So, my stance is that since everyone else fails more than miserably at doing it, and you will therefore likely fail too, it's just best to use something that works. Fine with translating menu items if people really feel uncomfortable not having these in their own language, fine with translating some dialogs, but when it comes to the real programming stuff that must work, such as communicating with a sub-program -- stop. Otherwise, one could as well localize C, replacing int
The best solution would of course be to communicate with sub-programs in a language-agnostic way, using some binary interface. Since this doesn't exist (and if it did, there would never be an agreement on a standard, at least not in this millenium), English is the least troublesome. Incidentially, it's the best choice for users too, since they will be able to google some weird error message more easily in case they don't understand them.
But, this is just my opinion, and I very much realize that I'm probably alone in the world. Same for smartphones and tablet PCs, and Kindle. And goatees, and tattoos. O tempora, o mores.