I need my users to choose their country to use my site. The French version has a totally different setup to the English version, for example.

I'm The trouble is, if I merely ask the user for their country, it doesn't necessarily imply what language to use. For example, the Swiss speak English, French and German depending on the region. Also, a Dutchman living in the UK may prefer to see the site in Dutch.

My manager is saying I should make the user click again, to select their prefered language. But I'm keen to avoid making the user click twice. Especially since, most of the time, the user will be happy with the default language.

I can think of three options:

  1. Always make the user choose two things- Country and langauge
  2. Make the user choose a country, assign the default language for that country and let them change it within the site.
  3. Make the user choose a country, attempt to work out their language programmatically (although this is not 100% reliable) and let them change it within the site.

What is the most user-friendly mechanism? Would users be confused or irritated by being asked their language as well as their country?

  • This is quite a common issue. Have a check of other posts tagged internationalisation
    – JonW
    Apr 10, 2013 at 12:37
  • As well as those on the Related list on the right -->
    – JonW
    Apr 10, 2013 at 12:38
  • @JonW I've already looked. I couldn't see a silimar question. Can you?
    – Urbycoz
    Apr 10, 2013 at 12:47
  • possible duplicate of Choose Your Country: Best Usability approach Apr 10, 2013 at 12:48
  • 1
    @BennySkogberg It's not a duplicate, but it's definitely relevant and useful. Thanks for posting.
    – Urbycoz
    Apr 10, 2013 at 13:26

5 Answers 5


I've been in a similar situation with a client once. The country was important because the services and products available were based on that. The language was important because languages spoken in certain areas of Europe don't match the countries (parts of Germany and Italy speak either, you've got Switzerland, etc.). So, really, language and location are separate concepts that are only looses related in practice and you need to offer them as such.

This doesn't mean you have to overwhelm your users with choices. In many cases you can make a pretty good guess based on the location, which you can guess by IP adresses among other things. You can look at language settings, but do not use the language settings to determine location. The client I mentioned did that in a previous version of their site and it would send me to their US website because that's how my computer/browser are set up (apparantly, I never made any conscious choices there).

So, you could have a default match (Netherlands -> Dutch) or a short list of options (Switzerland -> German, French, English). This tends to be sensitive so be careful in picking a default language. If unsure, I'd say default to English but ask your user for their preference.

I figured, let's see how the big guys handle this. Well, it ranges...:

  • Thanks. So even the big guys only achieve "ok-ish" status. Looks like there's no perfect answer.
    – Urbycoz
    Apr 10, 2013 at 12:50
  • Well, perhaps I'm a bit critical ;) You basically don't want your user to have to deal with such a screen, but that doesn't mean this is all you can do with it. Then again, I bet they've got the conversion numbers and A/B-tests to back up these decisions. Apr 10, 2013 at 13:14

The normal solution of showing the user a list of countries is terrible UX. The foced choice creates a cognitive load, and for many use cases, the country isn't relevant at all.

The best solution is to put the choice off until the very last moment. Map out what use cases your website can cover without knowing where the user is or what language she speaks. Show what you can do, what you're about, and how things work.

In the end it's just like making a payment or asking the user to register. You're asking for an investment, and you're more likely to get it, and in a more accurate way, after you've shown some of yourself and of what the user will get in return. Ask for the investment upfront, and you'll at best get a grudging effort.

And of course, while they're exploring the international version of the website, you can show an inobtrusive widget for location/language selection, so they'll know what to do when they're ready to interact. Put a best-guess in the widget as a default value to minimize the effort even more.


I would streamline the process as much as possible for users. If you can geolocate their country by IP, do that. Then based on the country, pick the default language for them. Is it a perfect solution? Of course not. IP geolocation isn't perfect. South Africa has 11 national languages. But for most of the users, most of the time, you should be able to get them into the right version of your website.

For the edge cases where you can't tell exactly what country users are in, force those users to make the decision up front. For everybody else, make the best guess you can and let users change it if you're wrong.

I'd argue that you would lose more users by introducing two barriers to your site (picking country and language up front) than you would for making an incorrect choice about where they are located.


I can tell you we did something similar at our big corporation. Apple did a pretty interesting approach. To minimize on the number of clicks, they listed the countries and for certain countries they had a different selection. Hong Kong for example had Chinese and also English because it had been a British Country. So this is a way of forcing a country and language selection at the same time.


You should automatically preselect an available combination of country and language based on

  • geo location from IP lookup services for the country
  • user preference settings in the browser for the language (HTTP Accept-Language)

and then ask the visitor in a non-blocking, non-modal manner whether they want to keep that selection, otherwise let them change either choice.

Browsers nowadays may expose the geographical location of the host device to sites, if the user allows this. The current APIs (available since c. 2010) are tailored to provide rather accurate positioning information, not for vague info like country, state, region, county, … (e.g. as an ISO 639 code). This user confirmation, strongly required for privacy, is too disruptive to be used for a mere country selection.

By BCP-47, the country code may also be part of the Accept-Language code (e.g. fr-CH for French in Switzerland), but it more often is not, so sites should not rely on (only) that.

Note that it’s illegal in some jurisdictions, e.g. the EU, to redirect a user to a site specific to a country without giving them a choice beforehand or letting them return to another variant afterwards.

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.