Live data from Hacker News

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

ericwbailey.design

181–190 of 236 posts

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

#181
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”.

I think Mozilla's translation system called Fluent can handle that.

https://projectfluent.org/

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

#182

Hmm, haven’t come across the language icon before: http://www.languageicon.org/ >. Unfortunately, it looks rather shabbily done and very abandoned. Serving a JPEG for the large image instead of a PNG (to get an alpha channel while still being easily copyable) or SVG (for best results except for most copy-and-paste purposes), speaking of 2013 in the present tense, no HTTPS, claiming “copyright and hassle free” but it’…

If you actually care about people being able to find the switch language button, use flags. Usability trumps correctness here.

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

#183
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”.

> The actual identifier should be something like “Open a ticket (imperative, button)”

The identifier should be a GUID with an option for tagging and comments for developers and translators. Other languages depend on other contexts which are not represented here, like multiple forms of "present" tense, or the current time of day. Keying translations on English-language concepts is a bad idea, as a lot of languages are unlike English. Treating English as one of the translations (and not the reference) is a good idea that will prevent problems with future translations and avoid re-architecting your whole localization pipeline (and code base).

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

#184
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.

Thank you for providing a translation of that. Traitor.

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

#185
post #56

Earlier quoted context omitted.

That's also one of the reasons why I don't use a localised version of a desktop OS. Especially on Linux, where everything follows the OS locale and the translations of many open source applications are either only half-done or leave a bit to be desired in terms of quality, the original English strings are just a better experience if you're proficient enough. I'm not saying this to bash open source translations (let a…

I wonder if there is just any point in doing translations for software unless you are fully committed to having full time I18n people testing the actual app in the language. At my past job it was basically a throw over the wall thing where we send them yml files and they send us back yml files without the translators ever touching the app. The translators also likely did not understand which words were key app terms…

> Seems like it would be better just convincing everyone to use the English versions of everything since those are perfect and the majority of the world knows it now.

There are lots of e.g. elderly and less educated people in non-English speaking countries who don't speak or understand much English, at least not enough to be comfortable. You don't even have to go further than Europe for that. The aging might not be a key target audience for many apps and it might make business sense to not bother with translation, but there's a significant number of people who might be excluded by that, and it would be difficult to accept that as a solution at least for the most commonly needed apps.

It also seems a little presumptuous that English should be pushed as a general solution to everyone in the first place, but you don't even have to go there before you get into practical problems.

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

#186
post #161

Earlier quoted context omitted.

If a ticket is closed upon completion, it stands to reason that creating a ticket is "opening" it.

> If a ticket is closed upon completion, it stands to reason that creating a ticket is "opening" it. That's faulty reasoning. At the inception of a ticket, it is first created and then opened. It is common to have these programmed to work as a single button push, but they are two actions, and creation always happens first, even when the ticket is not opened. Later, when the ticket is completed, it gets closed. When y…

Not faulty reasoning, good UX.

What you’re describing is putting a priority on technical correctness instead of how the user will experience it.

Open and Close are natural opposites, and intuitive UX. Does the user care that technically the ticket needed to be created before it could be opened?

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

#187
It’s unfortunate that by default a lot of systems just gather strings into a pile for translation, as if all strings are created equal. But if you have two uses of the same text with different meanings, you have to be careful (e.g. put them in separate translation tables or something). Even for single words, e.g. somewhere there’s a button named “Open” but elsewhere there is a status text indicating that the current state of something is “Open”; lots of things like that. Just because it’s the same in one language, it may not be in another.

It would also be nice to have more context besides, say, just a comment. For example, things in toolbars ought to be short (ideally one word), things in menu items might be medium (a few words tops), things in notifications might be medium-to-long, and stuff in a window might have no restrictions at all. When you start from just a string, you do not necessarily know how much space you have and even if your UI can auto-resize, that doesn’t mean you’d want it to in every case.

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

#188
post #60

Earlier quoted context omitted.

I've had issues with Google's localization choices for a long time. I wonder if anyone else has had this issue with other language combinations. I'm a bilingual Japanese/English speaker. Searching Google's search languages to English and Japanese causes the following: - Random Japanese words show up in things such as Google Maps, even though my display language is set to English. - Japanese results will be prioritize…

I’m learning Japanese and I’ve had a very similar experience... although I haven’t noticed the Chinese results, which is surely a result of my slow progress! (o_0)

In my experience, the Chinese results tend to happen when the entire query is in kanji. Queries that have at least some kana generally aren't an issue. If it doesn't make sense to use kana, then I'll sometimes add "site:jp" as a workaround, since most Japanese-language sites do use the .jp TLD.

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

#189
post #136
post #115

Earlier quoted context omitted.

It's not that German has a "unique word" for things, it's that they use compound words: multiple words written together without space to form a new word. This is a feature found in most Germanic languages except English, because reasons. It's just that German is the most commonly translated of them. So, for example, in Dutch you would write sciencefictiontelevisieserie instead of "science fiction television series";…

You add a reference but never refer to it! Let me explain for the English here :) The Twitter link shows a picture taken at a race event, where it says on the door: wedstrijd secretariaat , meaning secretariat competition in English. It's two words, so the first modifies the second (adjective) rather than forming a compound noun, thus some wedstrijd (competition) of the secretariat seems to be held there. Writing wed…

Ah yeah, I started writing an example of how making a space can make a difference in meaning with that as a somewhat humorous example, but I couldn't really come up with a good way to explain it in English last night so I removed that part, but seems like I forgot to remove the reference.

meervoudigepersoonlijkheidsstoornisbehandelaaropleiding is a bit of a contrived example, it's just an example of how you can "invent" compound words on the spot and how you can have quite a lot of words in a compound word.

> Also, if you have a reason why you didn't put an "s" between behandelaar and opleiding I'd be interested! It feels to me like there should be one but I don't know the rule.

No reason; there probably should be an "s" (I think?) The previous comment went through quite a few revision before the final version that I posted; I just missed it.

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

#190
post #182

Hmm, haven’t come across the language icon before: http://www.languageicon.org/ >. Unfortunately, it looks rather shabbily done and very abandoned. Serving a JPEG for the large image instead of a PNG (to get an alpha channel while still being easily copyable) or SVG (for best results except for most copy-and-paste purposes), speaking of 2013 in the present tense, no HTTPS, claiming “copyright and hassle free” but it’…

If you actually care about people being able to find the switch language button, use flags. Usability trumps correctness here.

Please don't. Flags are not languages. (http://www.flagsarenotlanguages.com/) There are many languages which cannot be clearly distinguished with a flag icon -- for example, there are dozens of languages which could be represented by an Indian flag (Hindi, Bengali, Telugu, Urdu...), and some languages which don't have any clear flag, or whose flag could be politically complicated to display (like Catalan, Romani, or Tibetan).

Use the localized name of a language to indicate the language (e.g. English, Español, Svenska, 中文). It's unambiguous and takes very little effort to implement.

Post reply on HN