: What's the best way to determine users' preferred language? In determining which language to display content in by default, there are, as far as I know, three basic methods: Examine the Accept
In determining which language to display content in by default, there are, as far as I know, three basic methods:
Examine the Accept headers sent by the browser.
Use IP geolocation to determine the user's location and guess an appropriate language.
Force the user to explicitly select a language, as exemplified by Wikipedia.
It seems to me that option 1 is far more reliable, as the default headers sent by the browser are the same as the OS's interface language, which will normally be a language the user understands. On the other hand, geolocation doesn't reveal anything about an individual user's preferences; it only reveals what the majority in a location prefer and has a tendency to annoy and/or confuse people who may be traveling (how come Facebook suddenly changed to Korean?).
For these reasons, it would seem obvious that all the major sites would be using option 1. However, my experience as an English speaker living in Korea shows that the major sites (such as anything by Google, Facebook, Skype, etc) all use option 2. Why? If I create a multilingual site, should I risk annoying users such as myself and choose option 2, as well?
EDIT: As for option 3, I think there's a good reason why most sites don't follow Wikipedia: It's a terrible way, because it forces the user to configure something that the site should figure out.
Many people in the answers and comments have mentioned making it easy to change the language. I agree that it's important, but I think it's a bit off-topic unless you're recommending option 3, because this question is about choosing the default language.
EDIT 2: I'm especially interested in the reasons why many sites do things the way they do. Option 2 seems incredibly obvious to me, but I assume that the major sites that have chosen option 1 must have some sort of reason for their choice.
More posts by @Sarah324
2 Comments
Sorted by latest first Latest Oldest Best
What's the best way to determine users' preferred language?
Ask - include a language selection dialog on every page and abide by the user's choice.
The easiest way to to manage user preferences with this method is to host localized/internationalized content under distinct domains or URI's - e.g. "domain.com":"domain.kr" or "domain.com/en/index.htm":"domain.com/ko/index.htm").
There is no need to redirect users who land on a page if you include a language selection dialog and you will not have to worry about issues with search engines indexing all of your content.
Wikipedia offers a great example of this technique in practice (though the "Languages" dialog which appears in the left navigation for a specific Wikipedia article could be improved upon).
Edit:
... my experience as an English speaker living in Korea shows that the
major sites (such as anything by Google, Facebook, Skype, etc) all use
option 2. Why?
Are you browsing to the .kr or .co.kr top level domain? (If so, this would be the expected behavior for a site which maintains multiple top-level domains to assist localization/internationalization - i.e. here in the USA I can browse to google.co.kr and see the Korean-language version without being redirected to English content)
Edit #2 :
I think there's a good reason why most sites don't follow Wikipedia: It's a terrible way, because it forces the user to configure something that the site should figure out.
Maintaining a direct correlation between URI's and localized content (as Wikipedia does) is the gist of my suggestion, not the Wikipedia home page (which could just as easily redirect based upon the user's request headers).
Most Wikipedia users do not arrive at the homepage by typing in the domain name, they're following links or entering searches in their native language (which is why having a distinct URI scheme for each language makes so much sense) - you could use content negotiation instead of a distinct URI:language mapping, but then you've created the problem you claim to wish to solve (getting the user to content they can read) and, whatever you do, you do not want to redirect a user who already knows what he or she wants.
I'm not certain, but I suspect that the answer is most users don't bother to configure their browser's language settings, so the geolocation is as accurate if not more averaged over all users.
It doesn't really matter much whether you use the browser headers or geolocation to select the default. The two things which really matter are:
Make it easy for the user to override the default. Note that this applies not just to language settings but also, if relevant, currency settings in a shopping checkout.
Do a good job. I've seen websites where the "Spanish" localisation also includes some sentences in Catalan and others in Italian: that screams, "this site was made by idiots".
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.