I wonder if it isn't better to generate the messages as an AST, and have a language generator, the back-end of a compiler really, that generates strings for each language. I'm sure there will be less edge cases that way. /edit: wow, downvotes.
A Localization Horror Story: It Could Happen to You
161–170 of 257 posts
Re: A Localization Horror Story: It Could Happen to You
#162Earlier quoted context omitted.
ICU's messageformat solves this easily. One project that supports ICU's messageformat is L10ns http://l10ns.org
This looks quite nice and powerful and indeed an elegant way of solving the problem with multiple plural forms in a string. The only concern I have with that syntax is that it's yet another DSL, or markup language and translators need to know it, or could get it wrong. Granted, a program for helping translators might do automatic linting (much as Qt's Linguist already warns if you omit placeholders from the translate…
The way L10ns try to mitigate the complexity of the markup language is to provide buttons for pasting the correct markup for translators. Also a developer translates on his own language first. And this example will always be visible to the translator of an another language for easy reference. So the programmer offloads the logic thinking from the translator.
IMO ICU's messageformat markup is also slowly becoming the standard for localizing strings. It is already used widely by big organizations such as Apple, Google and Yahoo.
L10ns pre-compiles all message string. So it offloads the parsing performance.
Re: A Localization Horror Story: It Could Happen to You
#163Kudos to the author of the article for his perseverance in decorating message to fit grammar. I'd go another way, just using more formal and dry format: Number of scanned directories: %g Number of found files: %g That solves the problem with Slavic languages at least. Italian aversion to 0 may be mitigated with printing 'none', I guess. Please correct me if this form does not fit other languages.
Re: A Localization Horror Story: It Could Happen to You
#164Earlier quoted context omitted.
And then you have the exact same problem as if you'd write that logic in your source code. Just with half a dozen layers of abstraction, a more cumbersome way of displaying strings in your application and another programming language on top. I'd say that's not a net positive.
I disagree. That logic has to go somewhere anyway - you can't skip it because it's inherent in the problem of displaying a proper message. So you could at least write it in an expressive language instead of encoding it into what looks almost as readable as regular expressions.
Re: A Localization Horror Story: It Could Happen to You
#165Earlier quoted context omitted.
I agree. Frozen, and other Pixar/Disney/Dreamworks children movies (like Shrek) tend to be of awesome quality in all languages. But I attribute this to the fact that those movies are not translated - they're being localized , which by definition requires much more work and paying much closer attention.
The Latin American Spanish localization of Dreamworks's Shrek is a great example. They brought in Eugenio Derbez, a Mexican comedian, to voice Donkey (voiced in English by Eddie Murphy). Donkey in particular speaks in colloquialisms and pop culture references with wordplay, so Derbez wrote a bunch of new lines and jokes that referenced Latin American colloquialisms and pop culture. Children learn different fairy tale…
Re: A Localization Horror Story: It Could Happen to You
#166When I was in Japan I did proof reading for a Japanese feature phone. A major Japanese brand, actually. That was really comical. There was an Australian guy for English, an German guy, an Italian lady, and me for French. What they did prior to the meeting is: * translate from Japanese to English by Japanese people with a poor English level (maybe the software engineers actually) * translate from weird English to othe…
I kid you not, the way we translate is to use Google translate as a first pass and then the screens get reviewed by people who know the language. I guess somethings slip through and we evidently pissed off a lot of Chinese folks because of a similar flub. The folks doing the first pass don't know any other languages.
It's quite comical but also a real pain. One of the things I had to work into our code was the left-to-right vs. the right-to-left; you would think it would be just a C-style string but we have to know for text justification semantics.
I don't actually do translations but work on the HMI where the text is displayed. Another pain point is that we have a certain space where text needs to be displayed and everything is fitted using English but after translating to other languages, some strings are much longer than the allotted space.
Re: A Localization Horror Story: It Could Happen to You
#167Earlier quoted context omitted.
I agree. Frozen, and other Pixar/Disney/Dreamworks children movies (like Shrek) tend to be of awesome quality in all languages. But I attribute this to the fact that those movies are not translated - they're being localized , which by definition requires much more work and paying much closer attention.
The Latin American Spanish localization of Dreamworks's Shrek is a great example. They brought in Eugenio Derbez, a Mexican comedian, to voice Donkey (voiced in English by Eddie Murphy). Donkey in particular speaks in colloquialisms and pop culture references with wordplay, so Derbez wrote a bunch of new lines and jokes that referenced Latin American colloquialisms and pop culture. Children learn different fairy tale…
I just have to ask: How do you know this?
Re: A Localization Horror Story: It Could Happen to You
#168Earlier quoted context omitted.
I disagree. That logic has to go somewhere anyway - you can't skip it because it's inherent in the problem of displaying a proper message. So you could at least write it in an expressive language instead of encoding it into what looks almost as readable as regular expressions.
Now you need to find a translator who knows Lisp
Also, I advocate closer work between translators and developers. Let the translators give the text and explain corner cases to someone who can code up the logic.
BTW. Lisp is only hard for people who acquired this stupid meme that "Lisp is weird/for crazy people". You'd be hard-pressed to find something which is simpler in terms of syntax and readability.
Re: A Localization Horror Story: It Could Happen to You
#169Earlier quoted context omitted.
You know what multi-million movie has a translation that isn't total crap? Frozen . They really put resources into that. You can look up random Disney songs on Youtube in different languages, and then look up the Frozen songs, and you can sort of tell that they've done a better job even if you don't speak the language. Even relatively obscure languages like Dutch where they usually just watch English-language movies:…
I agree. Frozen, and other Pixar/Disney/Dreamworks children movies (like Shrek) tend to be of awesome quality in all languages. But I attribute this to the fact that those movies are not translated - they're being localized , which by definition requires much more work and paying much closer attention.
Re: A Localization Horror Story: It Could Happen to You
#170When I was in Japan I did proof reading for a Japanese feature phone. A major Japanese brand, actually. That was really comical. There was an Australian guy for English, an German guy, an Italian lady, and me for French. What they did prior to the meeting is: * translate from Japanese to English by Japanese people with a poor English level (maybe the software engineers actually) * translate from weird English to othe…
@eloisant: I work in automotive where I deal with translations for automotive clusters for one of the largest auto makers. Automotive companies are going to what are called reconfigurables which is basically an instrument cluster with no mechanical gauges; just a screen with gauges rendered by 3D engine. Center stacks too. I kid you not, the way we translate is to use Google translate as a first pass and then the scr…
BTW. half of the files and directories were named in Chinese which made my work very "fun", but that's another story...