This might be a bit of a rant, because it’s about something that I encounter very often spending a lot of time where the main language is not my native tongue. It’s about geo-location using IP addresses, and the subsequent use of that location to determine which language to display content in.

For the uninitiated (and simplifying things a little) every computer connected to the internet access it via a TCP/IP address of some kind. Essentially this is the sign post that tells all the web servers you visit where to send the pages to. They are called IP addresses for short. They also, for the most part, country specific.  So, in theory, if you know the IP address of a computer, you know the country it is in. Websites you visit know the IP address of your computer (they have to in order to send you the web page you asked for), and so in theory they can look up your country, and they use that to decide what language to show you. Simples.

Except it’s not ‘simples’ because knowing which country you are in does not tell the website which languages you speak or understand. Even if you do happen to speak the language of the country you are in, you might want to read the website in a different language, perhaps your native one. Put simply, websites who use this mechansim to decide which language the user is forced to view are frankly stupid. Why? Because there is a much better solution for them.

All modern web browsers support setting the language in the browser. In fact most of the time the language gets set correctly without the user even needing to be aware – it usually defaults to the language of the operating system but you can change it. Web sites can use this information to decide which language to give, it’s even explained really well by the body which sets web standards, the W3C.

So why do large ‘web savvy’ companies like Google, who are also responsible for YouTube, Yahoo and all the rest, insist on using crappy IP based language selection. It really annoys me when I go to say, to search for the Coke World Cup Song, and it redirects me to a German language site because it thinks “you are in Germany right now, you must want to speak German”. It’s rubbish and there’s no excuse for it. It annoys me more because I travel a fair amount and am often in countries where English is not the native language and so I’m fighting this crapness all the time.

I’ll say it one more time, for the stress relief. Knowing the country I’m in does not tell you the language I speak. Try using the bit of information designed for exactly that purpose to determine what language I might want to view your website in.