Localization : You’re doing it wrong.

I can’t really help but notice how many sites and services incorrectly implement localization. If you’re a developer. I urge you to please pay attention to this, especially if you work for Google!

Yes that is right even the big players in the game, such as Google haven’t yet learnt how to localize correctly.

Here is the typical incorrect approach:

Localization - New PageThis is the typical approach you see. Many web sites incorrectly implement this, but even services such as the Google Play store employ this method, and it is incorrect, let’s examine a bit further.

Consider Bob,  an American who travels a lot mainly through Europe. Bob primarily speaks English. Actually he only speaks english but frequents many websites that target an international audience, he’s also a Google fanboy, and has an Android phone and tablet. Bob takes a train from Paris, France and ends up in Prague, Czech Republic. The train has free public wifi, and Bob is pretty much sorted, except he notices that as he travels from country to country, the web sites he’s frequenting change language. Some sites deploy a cookie to keep track, others don’t bother. Bob notices that sub menus in his Google play store app on Android too appear in languages he simply cannot understand. He double checks his user settings, and sure enough he’s set them to English. There is nothing that Bob can do to fix this his side – the reason? Poorly implemented localization! Bob decides to invest $50 dollars a month in a VPN solution, so that to these sites and services it appears he is browsing from his home in the US.

What’s wrong with this approach?

  • Assumes the user is a native speaker of the local language in the country of request.
  • Assumes only 1 language per country
  • Bob can’t override his settings with a language preference

Localization done correctly

Localizationcorrect - New PageJust a few extra steps and not only Bob but everyone on the planet is content.

Why this works?

In the above correct implementation Bob continues his travels throughout Europe. Because Bob has already registered for Google applications and services and set his language preference to English – ALL offerings now pull his language preference correctly from his user profile.

When Bob visits a local news site in Germany, he doesn’t want to register. Instead on his first visit he is greeted with an overlay that asks him to select his language. He does and continues across to Czech Republic. On his return visit, Bob decides to check the news site again. With the cookie in place he views the site in English.

Bob decides to register. During registration the language preference is defaulted to the value set in the cookie. The site also has an Android app. Bob downloads it, and has to login. After login, Bob notices that the application is in his preferred language without any additional hassle.

Localization is semi useless if it’s not done correctly!

Final tips

  •  DON’T implement based on lazy IP check.
  • DO use an IP check to get most frequently used languages in that country
  • DO show a user a visible way to set language prior to showing them content on the site / service
  • DO use system settings to pull language preferences where possible – useful during app development
  • DO use cookies to allow the user to set a language preference without going through a registration process
  • DO cater for OUTSIDE THE BOX use cases, such as Spanish speakers in Korea, or English speakers in Europe!
  • DO offer a fallback to English!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s