views:

374

answers:

8

Geo-location has been used most by Websites to do redirection, but I have found that several IP addresses locate a country which has using several languages.

Meantime, some users prefer to using the language setup in their system. For example, a person from United States goes to Japan and using the Internet connection from there to surf Website, but the Website redirects him to Japanese language.

So, should I give the web user a choice to select the language detected on their browser or force them to the website detected by IP address?

+4  A: 

Use the browser language to suggest.

OscarRyz
So, I gotta pop up a message for my web visitor selection to either surf my website by the language detected on their Web Browser or the language detect on IP address they are using?
SuperRomia
Pop up a message is annoying too. Auto-detect (according to browser settings), then let the user to change the language if need. No need to explicitly asking what language must be used.
MainMa
@MainMa: Exactly, for instance I prefer google.com in english than in Spanish, but when I open it in a new browser ( for instance in a new machine or something ) it opens by defualt http://www.google.com.mx After I select *"Google in english"* the site shows me it honors my selection *"http://www.google.com"* every time.
OscarRyz
+3  A: 

Forcing things on the user is asking for them to leave your page.

lhf
+1  A: 

I prefer detecting language by what is provided by the browser. There's a setting in most browsers that can be changed, thus the user remains in control.

Anyway, always offer a link or something to change the language.

jeanreis
I have found the MSN.com is using some kind of giving the user to select the site language by popping up a message box.
SuperRomia
I guess that's one way to do it. If you *have* to provide a starting language, before the user can choose or for some other case, use the one provided by the browser, otherwise use the one specified by the user.
jeanreis
+9  A: 

I'm in France, but browse mostly websites in English. When I have choice, I choose English too. It's very annoying and impolite for a website to force me to use the language I don't want to use.

IMHO, the best thing to do is:

  • Let the user choose the language he want. Everytime.
  • Remember his choice. Either in his profile, or in cookies. Or, better, in both.
  • If there are no cookies for the user, trust browser settings. If a user specified precisely that his preferred language is English, there is no reason to force him to view a website in another language.
  • At the very last case, geo-location may be used.
MainMa
So, I can use MSN.com as example for enhancing my website to let my web visitor choices to select the language first and keep their cookies or something else?Google.com is always showing the particular language once detect my IP address.
SuperRomia
msn.com is quite strange, because when arriving the very first time (from France), it asks if you want to visit the website in French this time only, in en-us this time only, in French every time or in en-us every time. Maybe this approach is quite difficult. Google let choose the language (and remembers the choice), but the link is at the bottom, and not at the top. IMHO, the best and most familiar way to do the things is to add a "Language (Change)" link to the top of the website, like on Microsoft website (top right) or Adobe website (top left).
MainMa
Using the link on top for user select by themselves is common and I have already knew it. Now I am interesting to know more about geo-location service and how to implement it be more useful to my Website.
SuperRomia
+1  A: 

See RFC 2616 HTTP/1.1 Accept-Language.

The Accept-Language request-header field is similar to Accept, but restricts the set of natural languages that are preferred as a response to the request.

From the user's perspective, language switch is really annoying, especially if it guesses wrong; however, there may be legal or business case for redirecting Japanese traffic to Japanese branch.

For example, if I type "google.com" in Japan, it redirects to http://www.google.co.jp/ automatically. This may be because it uses GeoIP or whatever to display Japanese ads. Similarly, it may need to block certain websites/contents within some jurisdiction.

eed3si9n
Google always not giving me some options to choose the language I want, and I found the MSN.com is an example for let me select the language choices.
SuperRomia
This is more of pointing something interesting out then trying to argue, but through URL hacking, you can get [Google.co.jp in English](http://www.google.co.jp/webhp?hl=en "Google.co.jp in English")
MiffTheFox
+1  A: 

Always go with the language the user's browser presents. As others have said, it's rude not to.

If you can target content based on geo-location, that's one way to go. It shows the reader that at least you're paying attention.

And I second the comment about giving the user the choice of changing languages.

Julie in Austin
Where can I get some programming codes for detecting my visitors' browser present and display the content? I feel that detect my visitors by IP address and redirect them will more better, just I'm not sure which one more benefits to public.
SuperRomia
+1  A: 

There is a difference between sending the user to a country-specific site, and choosing a language.

Which is your intention here?

Country-specific sites are something you can sensibly default with geolocation, though you may still need to give an option to persistently override it using cookie or user profile as the other posters have suggested. An example of this is google.com redirecting me to google.co.nz based on my location - still in English. (Getting sidetracked: they actually don't let me override it once I'm at google.co.nz, maybe because my google profile knows my location and language; some of the other sites such as google.co.jp DO have a magic 'In English' link back to google.com which does not then auto-redirect.)

Setting language should certainly not use geolocation, maybe not even as a fallback. It's extremely rude to assume someone wants to see, say, British English or Japanese just because they're currently in London or Tokyo. Better information is almost always going to be available from the browser headers; when it's not, I'd suggest it's better to have a 'select your language' landing page if there's no cookie, rather than defaulting with geolocation.

memorius
A: 

I find it super annoying when sites like google go off of IP address, rather than my browser settings. I am in France and never read the news in French. I have Firefox set to English because that's what I want to see.

All of the websites I worked on, I always use the browser settings first, and if necessary then go after IP address. For instance, if the browser setting is a language I don't offer, then perhaps the IP address would make sense.

NinjaCat