We are having trouble understanding the best case for UX when it comes to default language/locale on a website

At the moment, the website behave like this:

a predefined list of languages is set - in this case, "en" ,"es" (English and Spanish)

  1. check browser accepted languages
  2. if the accepted lanagues contain spanish, set the language to spanish
  3. if not, set the language to be the first match of the predefined with the accepted languages (and if not found, set as english)

Our problem is - what is the best experience if the user know spanish, but their browser doesn't reflect that?

What is the recommend/best practice way of display many languages (for that user who knows spanish, but the site is in english - to let the user know that the interface is available in spanish (or other languages he/she may know)

At the moment, I have a "Languages" dropdown in the navbar of the site, when dropped-down there is a list of all available languages with each languages written it its own (English in English, Espanol in Spanish, etc).

  • Is using an additional domain an option? I've been told that many international users assume that a .com will be in English and that a country specific domain, such as .es for Spain, is assumed to be in that country's official language.
    – cimmanon
    Commented Dec 24, 2013 at 18:37
  • domain per language is not possible, since there could be many languages Commented Dec 24, 2013 at 19:05

4 Answers 4


In content oriented websites, it's not so important to let the users to change the language because most websites do not provide contents in many languages due to maintenance difficulties. However, it's different in an interactive web applications.

I agree that a language list is not so important to be the main element in a webpage, but it should be so accessible to the user.

Default language is the language the website defaults to if no other language is detected or a translation file is missing. Preferred language is the language the user prefers to read in. So while we are talking about users, we should say "Preferred language" instead of "Default language" so we are not supposed to guess it.

The best experience is to have a default language but let the user to choose a preferred language. So simply having an accessible list of languages is regular.

I just remember while I was using Google about two years ago and my browser language had been set to Persian (Farsi) because I'm a Persian User. It was always annoying to change Google language to English because I didn't want it to be Persian.

You can use something like cookie (If users don't register) to save the preferred language. But never try to guess it.

  • Default language is the language the website defaults to if no other language is detected or a translation file is missing. Preferred language is the language the user prefers to read in.
    – Soviut
    Commented Dec 24, 2013 at 21:10

Users don't generally switch languages very often so it doesn't make sense to have a languages list in the main UI. Instead, the user's prefered language should be a configuration option within the user's profile settings.

You could ask the user which language they prefer when they first register. Consequently, this could complicate the signup process with unnecessary extra steps for english users. To remedy this, you could refrain from displaying the language selection during registration unless their browser reports additional supported languages.

If your application has no registration process or user settings, then you could prompt them on first visit to choose a language. However, only prompt them if their browser indicates they support more languages than just the default. Finally, store the language token in a cookie so that users can at least switch languages by clearing their cookies for your site.

In all cases, the rules of thumb is to not present the user with the option unless they need/support it, and to only present it once if they do.

  • 1
    User registration is not a thing which exist in all websites. Not all websites provide a profile setting configuration.
    – Omid
    Commented Dec 24, 2013 at 11:03
  • While users are unlikely to switch back and forth between language settings, it is the #1 thing a user is going to want to change when the site has assumed the wrong language.
    – cimmanon
    Commented Dec 24, 2013 at 18:35
  • I've updated my answer to include a solution for sites that don't have a registration process. My point was that you shouldn't present the option to the user unless they need it and only present it once.
    – Soviut
    Commented Dec 24, 2013 at 21:05

You are correct in trying to determine the preferred language from the user's browser setting. This is typically the best option to determine what language to display to them. But the problem comes when either you cannot get a preferred language, or the list of preferred languages contains more than one language that your content is in. OR even that the user selects a different preferred language from your site language options.

The next thing to try should be the user's location. You can use a IP Address geolocation lookup to find the country code and then cross reference that with a language lookup table. This would give you a better guess at the user's preferred language.

And lastly, you should have a default language for the site. If the site is truly global, then I would suggest that language be English. If the site is expected to receive a majority of visitors from a specific area, then I would suggest using that area's language.

In this case where you were unable to guess at a preferred language, this has the highest likely-hood that the user would need to change the language setting. This should be very easy for them to figure out. Maybe a giant banner at the top of the page that shows the list of supported languages. Once they make a language selection, you could animate this language bar to minimize to the language drop down selector somewhere. This way they clearly see where they can go to change it again if need be. Although that will not happen very often.

You really only need to set the preferred language once for each user. This should be stored in a cookie, so you don't need to do these other things each time. If the cookie is not there, then you will need to do the guessing or offer the language bar. But once a preferred language is set, you can pretty much assume that it is not going to be changed, except for a very small number of users.

Now, if you find that you don't want the hassle of trying to guess the user's preferred language through browser settings or geolocation lookups, then I would strongly suggest the default language and a large language bar at the top of the page. Again, once the language is selected, set a cookie, and get the language bar out of the way. It should not be needed again.

Hope that all makes sense...


I'd recommend you use your language detection technique you described. I think it's the best way of making an informed decision. But you should not lock your user into that pigeonhole.

John Yunker, who has written a book about multilingual navigation, wrote directly on this topic of Spanish in the United States. I'd recommend giving it a read.

Also, if I could stress two things, it would be:

  1. People do switch languages. For instance, many companies in the United States offer Spanish content, but it won't be as complete or up-to-date as the English content. Even though American residents who speak Spanish as a first language may first choose to go to Spanish content, they will often find themselves switching to English if they can't find what they need. It's important to make sure that option is available to them and they are not locked in to a given language.
  2. Make your language content unique by URL. Having your content in /es and /en directories allows Google to index them and recognize the linguistic context. And since Google also tailors its results to its users, you'll have a better chance of attracting your Spanish-speaking users to the place they'd like. Google has some tips on their Webmaster Tools site.

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.