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:
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
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!
- 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 cater for OUTSIDE THE BOX use cases, such as Spanish speakers in Korea, or English speakers in Europe!
- DO offer a fallback to English!