If you have country / language specific settings that you want to allow users to select so they can view the relevant content, is it standard to ask them in a dialog box (or on the page) when they first access the site (i.e. when you first detect their ip address) or should it be a language/location option somewhere in the menu or clearly marked?

This is similar to a previous question, I guess what I want to know is whether it is implied that if there is a country flag symbol displayed somewhere clearly then you don't need to present users with a popup for them to make the selection because you can detect IP address information. Also, whether it is better to use things like URL information and display contact details so that it is obvious that location/language options are available.

Is there a situation that is necessary to ask users to provide this information directly (perhaps on first visit of the website), or are alternative cues more user friendly and less intrusive?

  • possible duplicate of What is the best mechanism for language and country selection?
    – rk.
    May 8, 2013 at 1:02
  • @rk. I think this question's different from that one. This one's asking when about the method of presenting the selection options (in a dialog or a menu) whereas the older one is asking about what would appear inside that dialog or after clicking on that menu. May 8, 2013 at 1:30
  • @3nafish The answers also discuss the method of asking. Hence my flag.
    – rk.
    May 8, 2013 at 1:37
  • I like the flag selection at the home page.
    – user28446
    May 8, 2013 at 2:20
  • Is the question about under which conditions to ask for a locale? I guess it depends on the kind of application and target user ("super users" want configuration, most Facebook users may just appreciate a transparent mechanism, etc). Can you sharpen the question? May 8, 2013 at 5:35

2 Answers 2


Any request from a browser is (should be) accompanied with an Accept-Language header. On first visit, that header should be used to determine the preferred language, if and only if there is no language parameter in the URL. Additionally, a language selector should be provided to change the current setting. So the priorities are

  1. Does the URL have a language parameter (lang=en or *.en.html)? Then use that.
  2. Does the request contain an Accept-Language header? Then use that.
  3. Use your preferred language.

In any case, provide the user with the possibility to change the language preferrence.


HTTP Standard 1.1

The standard method involves listening to the browser because it provides its own language during the page request. The problem with this is that you have to have a translated version of every page on the site in any languages that you plan on accepting. This is expensive to maintain and time consuming.

Google Translate

One of the approaches that we've been taking with some of my clients is implementing Google's translate widgets on the site. When a user visits the page they're presented with the option to translate the page on the fly. It has it's bugs and only translates text (not images).

Positives to this method:

  1. We don't have to translate anything and can edit the content in our native language.
  2. Google's translation is always being updated, so any changes to their main dictionary are dynamically updated in the copy upon the next translation of the document. It helps with local and regional phrasing differences.
  3. If someone's using a browser like Chrome they have a chance of getting a potentially better translation with up-to-date content upon first request if they select "translate this page" (a feature of the browser).

Some of the drawbacks to this are:

  1. With any service you're receiving from the internet at any point in time the service provider can discontinue service. Then you would need to go through your analytics, analyse the traffic and see which languages you want to throw your capital at for translation.
  2. The translations are not industry specific, so if you have complex messages you're trying to convey you must use simpler language in your original content (fewer locale/region specific terminologies and keywords).

Since our world is getting smaller in terms of information exchange I don't think we'll see Google Translate go away anytime soon. They may restrict the service to a pay service for websites or to their own browser (which they use for user tracking).

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.