"Stop guessing languages based on IP address" misses the target by going a bit too far. IMHO it should be "Stop guessing languages", because that's the root cause of this issue.
It stems from making assumptions on the human and her intentions based on the computer settings or network location. We know better than that.
Problem is design is made based on metrics and tracking, and things are tailored to the largest user base and the rest is an afterthought.
The main roadblock is the current lack of a way to ask the visitor for her language of choice in a way that does not involve words nor country flags. Tackling this in an almost universal way is not that easy and obvious, but even a partial success is better than having an automated way force a broken choice upon the human visiting the website.
Thank you. That is it. As the world goes global, who speaks what gets impossible to guess. I had a friend from Barcelona (Spain), that lives in Sweden, temporarily relocated to Shangai. To guess his preferred language is impossible. Sometimes he can prefer to read something in English to send it to colleagues. Other times he is more comfortable reading Spanish, or maybe Catalan. But can also want to read in Chinese, as sometimes it is better to read the original language - even with a very low understanding of it - than to read a really bad translation.
> The main roadblock is the current lack of a way to ask the visitor for her language of choice in a way that does not involve words nor country flags.
To show every user of your website a long list of languages each time you get a visit is overkilling. I understand that a website will show by default a reasonably guessed language, it is going to work for 90% of your users, but changing to any other language should be fast and easy. The worse I have seen is websites that don't allow you to change the language, so you are trapped for whatever guess they did.
> The main roadblock is the current lack of a way to ask the visitor for her language of choice in a way that does not involve words nor country flags
The whole point of the blog was that the browser already has asked the user that question in the sense that it defaults to the system language setting, i.e. the first things you do on a computer when you open it for the first time.
> but even a partial success is better than having an automated way force a broken choice upon the human visiting the website.
I don't understand. What you're proposing as a solution (asking visitors their language on first entry) is essentially the fallback scenario for guessing incorrectly.
I try to think of the number of different websites I visit and thinking of every single one asking me for a language preference makes me feel not good about using the web. Right now, the worst case scenario is when chrome automatically detects that the website doesn't match my language and gives me a popup asking me if I want to translate.
I definitely agree with you here, the first 2 nano-seconds of the article says to use the language header. I thought everyone already did that! :) Even if that metric isn't perfect, I don't know any browser that doesn't let you change that. Further, if it's a user preference to quickly see a website in a different language, get this extension:
https://chrome.google.com/webstore/detail/quick-language-swi...
> You can set Chrome to show all settings and menus in the language you want. This option is only available on Windows and Chromebook computers.
> On Mac or Linux? Chrome will automatically display in the default system language for your computer.
Obviously it's different for different OS and browser combos, but the important thing I think is that it's a browser setting and not something that needs to be configured on every site.
I was playing with this today: at least on OSX, I couldn't find a browser that reasonably handled "I speak more than one language comfortably" out of the box (eg, using the OS settings).
Safari: sends the primary OS/environment language, and nothing else. (the OS allows for a weighted list of multiple languages, Safari honours only the primary language). There is no configuration option for this.
Chrome: sends the primary OS/environment language, then en_US, then en. If you had a second preference that wasn't english (eg Belgium, Switzerland, etc), tough. It is atleast configurable (if you look hard enough)
Firefox: entirely ignores the OS environment; uses the localization you downloaded. But is also configurable.
What I love about Firefox in this space is that it lets you configure fonts per-language, which is important because default fonts are often not that great.
I've never found sites that actually use Accept-Language properly, so I care as much if that works well.
> The main roadblock is the current lack of a way to ask the visitor for her language of choice in a way that does not involve words nor country flags.
Whatever happens, you still want an option to change language on a given website, even if browser preferences are different.
E.g. my default language is English, but for certain websites I prefer Polish.
How about using the language of the browser used? This is the language I am comfortable reading my GUI in. Provide a language selector in that language or display by default using it.
It stems from making assumptions on the human and her intentions based on the computer settings or network location. We know better than that.
Problem is design is made based on metrics and tracking, and things are tailored to the largest user base and the rest is an afterthought.
The main roadblock is the current lack of a way to ask the visitor for her language of choice in a way that does not involve words nor country flags. Tackling this in an almost universal way is not that easy and obvious, but even a partial success is better than having an automated way force a broken choice upon the human visiting the website.