User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In a website that offers translated versions of the website in various languages (6), how should we handle language detection and suggestion?

My theory is that:

  • Users hate splash screens in which you have to choose a language before you arrive at the website/page.
  • Users may arrive at the English version of a page, while they would prefer a different language.
  • Users like to be in control of the language version of a website, and do not expect to see a Korean version of a page, if they clicked an English page link in Google Search results while browsing from South Korea. The Korean version of the page would not match expectations of the page link, title and description that were in English.

My solution is:

  • Do not use splash screens

  • Do not auto-change language based on geo location when a user arrives at a page.

  • Offer a non-obtrusive way of notifying the user of a possible preferred language:
    A user from South Korea arrives on English page of the website that also offers a Korean translation. Determine user's geo location and if country of visit does not match the active language and the language of the country of visit is available; offer a message (overlay pop-up, cookie-like bar at the top or bottom?) that notifies the user of the available language and offer to switch.

Is this a good practice or are there more user friendly solutions?

share|improve this question
Are there any statistics on the accuracy of Accept-language browser settings of users? Do users have to manually set this? – user30102 Mar 29 '13 at 6:24
I do not know of any hard figures, however all major browsers do their best to set this property right. At installation the language is set to the default language of the operating system (the idea being: if you have OS in language X, you probably know X); if the browser notices that you frequent pages in language Y, it might suggest to change this setting to Y; finally the user can always override this setting if he knows how. – Pasha S Mar 29 '13 at 7:58

There is an Accept-language HTTP field sent to your web server with every user request. This field is controlled by the browser, and nowadays is very accurate at describing user's language preferences. The only time it wouldn't work could be if someone accessed your website from a public computer: for example from a library or internet cafe. For those users you should have an explicit language selector. Check these questions:

share|improve this answer
I found this to be a useful reference on the topic: – JohnGB Mar 29 '13 at 1:42

There are two scenarios:

  1. The request contains a language identifier. This will happen on search result pages as well as on external links. Then use that language.

  2. The request does not contain a language identifier. Then use the HTTP Accept-Language header to determine, which language to choose.

This procedure will meet the user's expectation. Nevertheless, a language selector should be provided, so the user can switch to a language, (s)he is more comfortable with.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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