Live data from Hacker News

What they don’t tell you when you translate your app

ericwbailey.design

21–30 of 236 posts

Re: What they don’t tell you when you translate your app

#21
post #5

> People may prefer the English experience because they expect the translated version to be inferior As an Italian, I can relate so much to this, because translated apps will happily treat verbs as adjectives and vice versa. A couple example: * Flixbus' app translates "Open ticket" to "Biglietto aperto" (treating "open" as an adjective, not as an imperative verb). Correct translation should be "Apri biglietto". Nothi…

I think the issue is many translation databases just hold the English text and then all the translations. So the entry is “Open ticket” and then you just drop in the translation anywhere that phrase shows up. But sometimes “open” is a verb, sometimes a noun. The actual identifier should be something like “Open a ticket (imperative, button)” and then that phrase has translations, including the English “Open ticket”.

That's actually a nice idea in forcing even the default language to be handled by the same workflows, processes, and tools as the other languages. I've found that in a lot of those cases there simply is lots of context missing from the strings that should be translated. If all you get is the English text without any indication of how and where it's used in the UI, you're bound to make such mistakes in the translation.

For example, it took me a while to figure out why Word 2007 in its German version used the word »Gliederung« for the stroke of a shape. But translating »outline« in a word processor to mean »document outline« instead of »shape outline« is actually quite understandable.

Back then I tried thinking about automatic or semi-automatic solutions to get a bit more context for the translator. The trouble is that most UI toolkits make it very hard to impossible to solve this, unless the developer actually knows enough about the problem to always include context and a description. Qt has (had? That was pre-QML, I think) a nice mode in its translator UI where the XML UI description could be used to show the string in its UI context. Windows Forms had a way of changing the form's language and simply replacing all strings directly in the designer (which has the problem that the translator might accidentally destroy all layout). Most things that are used just from source code have no visual way of relating strings to UI at all.

Re: What they don’t tell you when you translate your app

#22
post #5

> People may prefer the English experience because they expect the translated version to be inferior As an Italian, I can relate so much to this, because translated apps will happily treat verbs as adjectives and vice versa. A couple example: * Flixbus' app translates "Open ticket" to "Biglietto aperto" (treating "open" as an adjective, not as an imperative verb). Correct translation should be "Apri biglietto". Nothi…

I think the issue is many translation databases just hold the English text and then all the translations. So the entry is “Open ticket” and then you just drop in the translation anywhere that phrase shows up. But sometimes “open” is a verb, sometimes a noun. The actual identifier should be something like “Open a ticket (imperative, button)” and then that phrase has translations, including the English “Open ticket”.

Or maybe the translator should get annotated screenshots of the app. Laid out in a story board.

If you just hand someone a list of strings to translate, there's no way you'll get sensible results.

Also, you should test you translations. Some of the translations that I've seen (even from reputable companies) are so bad that it's pretty obvious no native speaker has ever looked them over.

Re: What they don’t tell you when you translate your app

#23
post #5

> People may prefer the English experience because they expect the translated version to be inferior As an Italian, I can relate so much to this, because translated apps will happily treat verbs as adjectives and vice versa. A couple example: * Flixbus' app translates "Open ticket" to "Biglietto aperto" (treating "open" as an adjective, not as an imperative verb). Correct translation should be "Apri biglietto". Nothi…

I wish the users could edit the text and then the app would take over a text the users agreed upon in majority. It cant be that hard.

Re: What they don’t tell you when you translate your app

#24
post #5

> People may prefer the English experience because they expect the translated version to be inferior As an Italian, I can relate so much to this, because translated apps will happily treat verbs as adjectives and vice versa. A couple example: * Flixbus' app translates "Open ticket" to "Biglietto aperto" (treating "open" as an adjective, not as an imperative verb). Correct translation should be "Apri biglietto". Nothi…

I think the issue is many translation databases just hold the English text and then all the translations. So the entry is “Open ticket” and then you just drop in the translation anywhere that phrase shows up. But sometimes “open” is a verb, sometimes a noun. The actual identifier should be something like “Open a ticket (imperative, button)” and then that phrase has translations, including the English “Open ticket”.

Yep, there's a ton of software that wants to use the english text as the translation key, which leads to all sorts of bad results.

Things like Open Ticket used as a verb to create a bug report, or open a bug report, or as an adjective to indicate a bug report is still active. Or similar when ticket means a transportation or entertainment event. If your key is the English text, you can't translate those three usages differently which is not good.

But also, minor edits to the English text are hard to manage for the translations, some systems have a way to suggest an existing translation, but it requires a translator to affirmatively select it. If the key doesn't change, you can still use the existing translations until the translators review the English change and decide if they want to also make a similar change or not.

Of course, the worst thing that people try to do is numbers; there are tools for that, but trying to do Open Ticket vs Open Tickets as singular vs plural falls over with languages that have a form for one, two, three, or more, or even more forms.

And then you get people trying to do string math. Delete this ticket vs Delete this image need to be translated as whole units, you can't add 'delete this' to the type name, gendered verbs and objects and sometimes even more complex stuff makes it not work.

Re: What they don’t tell you when you translate your app

#25
> Translation and localization costs money

If you have a fan base, you can leverage it to get some amount of translation done. A lot of users are happy to help the product they like get better. Granted, the quality will not be as good as the quality you get with professional translators.

The article also did not talk about the actual the translation process, which in the case of a product that is released but keeps getting updates is not trivial.

There are tools that exists, but I personally decided to build a workflow around git, with a python scripts that generates a status of all the translations: https://github.com/jyaif/ppl-i18n#status

The downside is that contributors need to figure out how to use github to contribute. The upside is that it's free, you get auditability, versioning, and the barrier of entry may actually increase the quality of translations.

Re: What they don’t tell you when you translate your app

#26
post #5

> People may prefer the English experience because they expect the translated version to be inferior As an Italian, I can relate so much to this, because translated apps will happily treat verbs as adjectives and vice versa. A couple example: * Flixbus' app translates "Open ticket" to "Biglietto aperto" (treating "open" as an adjective, not as an imperative verb). Correct translation should be "Apri biglietto". Nothi…

“Open ticket” doesn’t even really make sense in English. Maybe “Buy ticket” or “View ticket” or similar would make sense there. Flux bus is German, I suspect the translation was from German and not English in this case?

In German adjectives and verbs are easily distinguishable without context. The verb "open" would be "öffne" and the adjective "open" would be "geöffnet". So it's unlikely this mistake would happen if you translate from German to Italian.

It's common to talk about "opening" files to view them, so I assume that's why the developer chose that term, even tough "view" would have been better.

Re: What they don’t tell you when you translate your app

#27
post #5

> People may prefer the English experience because they expect the translated version to be inferior As an Italian, I can relate so much to this, because translated apps will happily treat verbs as adjectives and vice versa. A couple example: * Flixbus' app translates "Open ticket" to "Biglietto aperto" (treating "open" as an adjective, not as an imperative verb). Correct translation should be "Apri biglietto". Nothi…

My Italian teacher in college had the following saying: "Traduttore, traditore": the translator is a traitor.

Re: What they don’t tell you when you translate your app

#28
post #5

> People may prefer the English experience because they expect the translated version to be inferior As an Italian, I can relate so much to this, because translated apps will happily treat verbs as adjectives and vice versa. A couple example: * Flixbus' app translates "Open ticket" to "Biglietto aperto" (treating "open" as an adjective, not as an imperative verb). Correct translation should be "Apri biglietto". Nothi…

I set my Android phone to English mostly to avoid badly translated apps. Not so much for the major ones, but you never know if you might get some really bad machine-translated stuff in some apps.

As there isn't an easy way to set this per app, it makes more sense to me to just switch the phone entirely to English.

Re: What they don’t tell you when you translate your app

#29

All of this is so recognizable, but I'd add one more: Make sure the user has a way to switch the translation back to English. I have some sites showing in, say, Chinese, where even the current language is a Chinese glyph. Nothing on such a page is readable for a non-Chinese speaker. So you get to click around randomly until some menu opens where you see the word 'English' which brings you to a page you can read enoug…

I've run into this problem but I don't know there is a good solution. Let's say for whatever reason the app guesses the user wants Japanese. The app has no way to know what to present to allow to user to switch languages. Should they put a button that says "Language", how does that help a Chinese language person, a Korean person, a Thai person? Should they put "English"? Same point as above. As you complain, they'll likely put 言語, the Japanese for "language" and only if you click it will you see other languages, and it may be buried under 設定 (settings). Sure it's not useful for you, but neither is "English" or "Language" useful for a large part of the world.

I don't know there is a good solution. Checking my iPhone it's 設定ー>一般ー>言語と地域ー>iPhoneの使用言語 so fairly buried in language not useful for someone who doesn't know Japanese. Checking apple.jp, the place to switch is at the bottom right and it just says 日本, no indication that if you click it you'll get a list of countries and if you don't know Japanese you'd likely not know that means "Japan".

Re: What they don’t tell you when you translate your app

#30

All of this is so recognizable, but I'd add one more: Make sure the user has a way to switch the translation back to English. I have some sites showing in, say, Chinese, where even the current language is a Chinese glyph. Nothing on such a page is readable for a non-Chinese speaker. So you get to click around randomly until some menu opens where you see the word 'English' which brings you to a page you can read enoug…

Some sites, like Google, will helpfully change the language depending on your current IP address. Trying to find how to switch to English from say, Korean, when Google surely knows that I'm English and don't speak Korean (I'm reminded of this[1]) should be forced upon the chimps writing their UIs.

What's wrong with using national flags? It's so easy for the user, don't designers care about us?

[1] https://news.ycombinator.com/item?id=28336850

Post reply on HN