So, why do websites have to ask (spoken) language and country when the browser can tell them that?

Edit: Specifically, I mean why not use the accept-language section in the http header, set by the language settings in the browser, not based on the IP address. This question focuses the websites that put up a wall, forcing the user to select a language before using the website, that should instead make available an easily accessible setting.

Edit: This is a user experience question, focused on the point that the user should have set the language settings in the browser when they first set up their computer (if the user is smart enough, or can ask someone smart enough).

  • 15
    So you've never used the Internet while on holiday? One instance of Google in German just because that's where your hotel is would answer the question for you. Aug 16, 2011 at 22:27
  • 2
    Funny, I like it better if they ask. My default locale is German, but some information I prefer in English. Changing the locales / settings in the browser sucks. Aug 16, 2011 at 22:44
  • 3
    For me, some websites have better content in Japanese, while others have better content in English. I like to leave my Windows settings set to Japanese (or Korean when I'm feeling masochistic), but websites I usually want in English. Aug 17, 2011 at 0:05
  • 3
    The answers are so wrong: talking about IP while OP means Accept-Language.
    – seriousdev
    Aug 17, 2011 at 1:02
  • 1
    because that's inaccurate
    – tactoth
    Aug 17, 2011 at 2:49

17 Answers 17


The sites that do are really really annoying!

Google who are pretty much the state of the art as far as Web UI is concerned get this consistently wrong as far as I (and many other people) are concerned.

I travel a lot and it really annoys that I need three clicks to get to "google.com"

  1. Intial www.google.com which redirects to www.google.co.?? with all menus in local language and script.
  2. Click on the "www.google.co.?? in english " link.
  3. Click on the "go to www.google.com" link.

In Belgium they get it really wrong, the first page is nearly always in Flemish. With 40% of the population speaking French and language being a hot political issue they manage to upset a considerable number of people.

The point here is that if Google with all their resource and expertise can get this wrong what chance have ordinary mortal web designers. The simplest easiest solution is to default sensible, reasonable language(s) for your home page and allow the user to choose how they view the rest of the site.

  • Same in Switzerland (well, it's not a hot political issue, but), they give us German by default...
    – Benjol
    Aug 17, 2011 at 6:50
  • 1
    So basically, the accept-language information in the header and geolocation via IP address can conflict. So now my opinion is that websites prioritize the accept-language data. Also, companies might want to say "look at all this work we put into internationalizing our website, aren't we special?"
    – forivall
    Aug 17, 2011 at 6:58
  • 2
    @James Anderson - You probably use Google on a daily basis, and it routinely picks the correct site. You are talking about the 1% of cases where you use Google while on holiday. Would you prefer Google to ask you which site to use EVERY time you visit, just so it gets it right on the 1% of cases where you are on holiday? Aug 17, 2011 at 10:25
  • 3
    @JamesAnderson: I'm sorry, but what you're complaining about means the people whose country you're holidaying in must be happy with what YOU expect Google to default to?
    – Marcel
    Aug 17, 2011 at 10:48
  • 6
    I have to say, I don't understand why this answer was accepted or even how it was upvoted so much: it doesn't even try to answer the question and in fact has no link to the question beyond complaining about the same issue.
    – 3Doubloons
    Aug 17, 2011 at 12:54

Right now I am browsing this website through my company's VPN which gives me an English IP. While I am in fact a native Hungarian, working physically from Hungary. Is this a good enough example? ;-)

  • 1
    That'll do, Peter. That'll do.
    – Geoffrey
    Aug 17, 2011 at 6:47
  • 4
    That's an edge case, and my original intention wasn't about IP addresses.
    – forivall
    Aug 17, 2011 at 7:02

Several reasons:

  • The person using the browser may not speak the language that the browser uses. (Say, someone who is French on an English machine...)
  • The location/language information may not be accurate (for any number of reasons: VPN, proxy, etc.)
  • You could call it laziness on the part of the developer(s), EXCEPT that it is always best not to ASSUME, and that I might very well be interested in a country / language other than the one my browser is in.

When in doubt, ask.

Among other things, the browser does not always get the information right. My locale on my computer is set to the United States but the language on my computer is German.

I regularly use two different browsers at the same time. One seems to go by my set locale and the other goes by the language I use.


Adding to the other answers, because in some countries people don't speak the same languages (think about Switzerland where some people speak French, others German, others Italian).

Also, if you are in Vatican City, should pages be displayed in Latin? :P


So, why do websites have to ask (spoken) language and country when the browser can tell them that?

Asking for the country can be beneficial even if the language doesn't change; for example, there're a lot of sites offering different services and products for different regions. I don't like to be bothered with the products that aren't available for me in general. However, what if on the next day one of my friends will tell me that they will travel to X country and he could pick something for me while he's abroad? Valid user case for changing country for checking availability.

Spoken language is another thing; sites can offer multiple languages if they have a good system for doing that (that's quite a problem even in the most popular systems like Wordpress and Drupal, just do a quick search). And even if they have the right system it's quite likely that the same content is going to be slightly different on the different languages.

Example situation - Site for a Hungarian company targeting international market

Imagine that you're a native Hungarian like me. You speak some English, enough to communicate, but not on a native level. You get a job for building a site for a Hungarian company which would like to target both Hungarian and international market. So you will have to make a multilanguage site. But what if the content creators at the company aren't speaking English well? The content qualities won't be the same in Hungarian and English. Maybe you'll have some mistranslated stuff as well. Even in the best case it could take some time to translate the content. It's possible that the new content won't be uploaded in every supported language at the same time.

Reverse: international company targeting a new region

The reverse situation is possible, to, for an international company with a new Hungarian office. If I would like to read their site, I'm almost sure that I would change to English immediately. It's likely that they won't be able to translate every article to Hungarian if they have a really tight timeframe.


Basically the more freedom people has with choosing the language and region, the better. It's not recommended to rely only on environmental settings like browser settings, OS settings, since it's quite common that a language switch is needed. (It can happen even in the midst of reading an article when you suddenly realize that you're not good enough in that language to read that article.) The content creator most likely won't be able to support all the languages at a time, so it's likely there will be some delay in translating content - another reason why you should allow switching.

Of course you should try to guess which should be the default language for the user. In this case, using the browser's language detection should be a good starting point.


Im sorry but I need to completely disagree with almost all of the answers to this question. Some of them present perfectly good situations where you may not wish to use the default language, but these situations account for less than 5% of use cases. Why bother the 95% of cases where the default is acceptable?

Imagine that the language of the page and default location was set in line with the browsers configuration. 95% of people will now be able to browse the website in their desired language without having to specify it. To cater for the 5% who wish to change language, simply display a prominent "switch language" or similar button.

The alternative is to ask every single user to pick a language, inconveniencing 95% of the user base who simply select the default anyway.

Why would you choose to inconvenience every user, when you can only inconvenience 5%?

Unfortunately web developers tend to follow existing trends rather than think about what they are doing and provide appropriate solutions.

Also, bear in mind the OP is talking about setting the language based on the browsers language setting, and NOT based on IP address. Therefore working over VPNs, proxys, travelling abroad etc will not affect this setting, and will continue to display the appropriate language to you.


Simple example: I'm living in Flanders (Dutch speaking Belgian part) and when visiting ibood (an internet store) I'm presented with a country choice.

How could they know my choice?

  • Browser language? I prefer to see all my programs in English, not Dutch.
  • Country language? Do you show it in Dutch, French or German? All three are correct.

In fact, this often leads to websites forcing me to see a website in French. Games for Windows live comes to mind, I haven't even found a way to change my language to Dutch.

In my opinion it's best to let the user choose once and remember it.


Not to mention that some people speak/read multiple languages as well so the browser language setting and the desired language might not agree.


The bottom line in all of this is: Computers are dumb. Despite all the major advances that have taken place, there are some things where a computer's ability to adequately judge a situation and make the proper decision is limited because of numerous obstacles. Personally I find that applications and websites which take too much control are down right annoying. Its a natural instinct as a programmer to want to automate as much as possible under the premise of "its more efficient this way". But thinking this way, IMO, sometimes causes programmers to forget that some decisions aren't as simple as they might first seem to be, thus resulting in frustration rather than simplicity. Besides... having to answer an occasional "stupid" question keeps the mind fresh! ;)


The browser can have conflicting information though. What if the IP is in one country but the accept-language is something else? For example, while I am in Alberta, Canada, I am very used to seeing computers being set to "en-US" so that the US will load even though I am in Canada. Which piece of data should trump the other?

While it may be trivial, if you can't give the algorithm to determine which country is right then that is why the site has to ask as it can't determine the answer with any confidence. It is just as simple to take a new PC in any country and wonder if it defaults to US English for a language though I wouldn't say that I've tried that outside of Canada.

  • Sorry, but the example is a bit too trivial.
    – forivall
    Aug 17, 2011 at 7:41

A very simple answer to this question is that very possibly, the business users concerned have demanded it for reasons which may be unclear to you. And that very often, they will require inclusion a cookie so that the preference is remembered in the future.


Personally, I like that websites explicitly ask me what language I want their content to be displayed in. Even though I am a native Spanish speaker, I find Spanish grammar and syntax unsuitable for technical communication because of its excessive rigidity. It also does not help that the Spanish Royal Academy still believes it has the sacred duty to contain the menace posed by terms and idioms of foreign origin (Anglicisms in particular). Basically, I can choose between using "illegal" Spanish and not saying anything useful at all! In practice, I have switched to English for most of my online interactions, including content consumption. So, at least in my case, "I am a native speaker of language X" does not necessarily mean "I want to consume content in language X".

With respect to asking users what their country is, this has never affected me, as I am not a frequent traveler, and, when I do travel, I only rarely use the Internet. But some people are simultaneously much more frequent travelers than I am, and much heavier Internet users when abroad. I cannot tell what their experiences are, but I guess most of them want to be able to visit the versions of websites associated to their countries or regions of origin/residence.


Real world example: The web interface to the company e-mail system used the browser info to decide what language to send, no way to override it. I was using an internet cafe in a country where I don't speak the language.

I ended up having to use a personal account to tell some coworkers things because while I could figure out how to read a message despite the language barrier I couldn't figure out how to reply.

Had I been just an average user I doubt I could have even figured out how to get into the account at all.


Also, multilingual people notice which of their languages is being given first-class status. I may prefer to read in language N, but if it's going to be a clumsy translation, or if their language N content isn't being kept up to speed, it's in the site's best interest to allow me to switch language rather than loose me altogether.

  • no one said it wouldn't be possible to switch languages. The OP just asked why it was not set to the browsers configured language by default Aug 17, 2011 at 10:19

Now that I think about it, there's probably a Firefox plugin to change the Accept-Language on a per-site basis, but in general browsers don't support that easily. If you've ever tried following instructions in one language for doing something on a site which has decided to show you another language you'll know how useful the ability to quickly and temporarily switch language can be.


I can see 4 reasons for this:

  • None of the languages in Accept-Language are available
  • The developer is not aware that such a HTTP header exists
  • The developer does not have the time to implement it (we are not master of our time)
  • The technology used strips/mangles the HTTP header (erf...)

That said, even though one can correctly detect the Accept-Language does not mean it should be the sole way to set a language.

A user may have a good reason to want to change of language. For example, what if I am browsing from a Chinese Cyber-Cafe ? I can probably find the browser (thanks for icons), but being that I don't speak chinese, I doubt I'll be able to change the settings... even if I were allowed to!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.