DEV Community

Discussion on: What do American developers get wrong about internationalization?

Collapse
 
renae_jones profile image
Renae Jones

I work in web development and my encounters really reflect that.

  1. Assume everything is a translation of English. Create situations where even if you don't need the application in English, you're supposed to enter the English strings, then translate.

  2. Can't cope with an administrative user using a different language for UI than the content they're entering.

  3. Assume one translation per language is enough. This causes problems when multiple countries use the same official language but have tiny dialect differences, different currencies, etc, ie. most of South America and everywhere once colonized by Brits.

  4. Assume language dictates location, ie. only showing locations in Germany to someone with a German system language.

  5. Don't change fonts or font sizes/styling between languages. Reading Chinese or Japanese with styles created for English, it's too small, too close together, and fonts like Arial mostly support the characters but look bad.

  6. Forget to mock up designs in multiple languages. Tabs, navigation that can't wrap, and narrow sidebar menus are usually doomed. Chinese and german words can be very very long compared to English. French sometimes uses long phrases for simple concepts--a UI link might be one word in English but like 6 words after translated to French.

  7. Use flags for anything. Some flags are a political landmine in their country.

  8. Hard restricting people to the language configured as system language or browser language. This should be a suggestion (ie. that's the default but you can change it). If not, it becomes a nightmare to test and also leads to frustrating edge cases for certain people, ie. someone who prefers German but needs to get a link to the English content for their colleague. Or someone who speaks English trying to use Google Translate to get shop hours while traveling in Japan.

Collapse
 
sapegin profile image
Artem Sapegin

Opposite of 4 is also true: assuming that I speak German only because my IP is German is pretty naive.

Just two example why this is wrong:

  1. I live in Germany but don’t speak German and don’t even have it in Accept Languages list in the browser settings. Keep seeng German versions of sites.

  2. We have a weird network configuration in the office and many sites think I’m in the Netherlands.

Collapse
 
sohayb profile image
Sohayb Hassoun

Same thing is happening with me in Japan when I use Amazon Prime Video app, the region is Japan but the language is English, yet the app is in Japanese and there's no way I can switch languages! (I know 0 Japanese)

Collapse
 
davewallace profile image
Dave Wallace

Yep, or even just working at a distributed site or on vacation, making use of local networks.

Collapse
 
dmitriid profile image
Dmitrii 'Mamut' Dimandt

Waze in notorious in this regard. Travel from Sweden to Germany by plane. Turn your phone on: ooooh, let's download German voices while you are roaming. Also, let's not let you switch back to Swedish/English/whatever your previous language was.

Collapse
 
ben profile image
Ben Halpern

Wow, number 4 is shocking. That just seems so fundamentally misguided as a way to go about developing for real users of the world.

Collapse
 
maryannepeters profile image
Macpeters

Geofencing makes it almost impossible to access foreign language versions of any of the major sites. I can't get German music in Canada, because I'm directed to the Canadian site, which doesn't sell German music. Same goes for amazon, netflix, and a whole list of others.

Thread Thread
 
sapegin profile image
Artem Sapegin

They may just have no rights to sell German music in Canada. Of course this should be independent from the UI language.

Collapse
 
renae_jones profile image
Renae Jones

It sounds pretty dumb when I generalize it that way, but when I've actually run into it, it made perfect sense how the developers got where they did.

I think there it's technical particulars that lead to this scenario. For web, people don't like to choose their language or country manually. And also for web, there will be multiple different applications kind of strung together through APIs, etc. But the two pieces of information available to everyone is either browser language or geoIP/location. A lot of problems come from one app using browser language and another app using location. And even when you make a bad choice about which to use, it still works for 98%+ of users, so it can be a while until you get a complaint.

Thread Thread
 
ben profile image
Ben Halpern

Yeah, I figured there was more to it. There are, of course, always is tradeoffs and existing constraints. Really helpful list, either way. 👌