Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Why do so many companies get basic language detection wrong
1 point by stephenr on Dec 12, 2013 | hide | past | favorite | 13 comments
I am Australian, but for the last 14 months I have lived in Thailand.

I am now frequently presented with webpages in Thai, for two reasons:

* The local companies default to Thai (for obvious, understandable reasons), but 99% have a "TH | EN" toggle on every page - I can accept and deal with this.

* "Global" sites/companies, like Google, EA, etc have an annoying habit that some of their pages will GeoIP detect my location as Thailand, and then present me with a page full of Thai, ignoring the Accept-Language header and not even presenting a manual "change language" option.

If a company like Google or EA thinks enough to offer different languages, which idiot engineer made the logical conclusion that everyone in country X speaks the same language!? Have these people never left their home country?

[Update: re-phrased title, fixed typo]



Can't you override GeoIP detection manually (and persistently using cookies)?

While this is annoying, I don't think engineers are necessarily idiots. To the first approximation, nobody knows what Accept-Language is. I think it is more likely that Accept-Language is wrong because one installed the English version of operating systems or browsers, but wants the local version of websites, but does not know how to configure Accept-Language, than that Accept-Language is right because one moved to foreign countries and configured Accept-Language to one's preference. Do you have the evidence it is otherwise?


> Can't you override GeoIP detection manually

No - as I said the pages I'm talking about provide no method to change the language.

> To the first approximation, nobody knows what Accept-Language is.

By nobody, you mean end users? No, of course they don't, but they know if their device displays english or thai menus/buttons/etc to them.

So you're suggesting that this is not a case of idiot developers but instead that the Accept-Language header is not reliable, because there are whole countries of non-english speakers using devices that are mistakenly set to English, and they never worked out how to change the language to their local language, so they just randomly hit buttons/menu items they don't understand?


Jap, that might be the case ... for 0.001% of the users. I think using the browsers "Accept-Language" (beside manual language switch in the page) is the only way to go, because it respects the user decision. If the user is not able to make the decision: who are you (=developer) to make this decision?


You can't claim to respect user decision when users don't know how to set what is supposedly "user decision".


Jap, i think "users agree" is more to the point (i'm not nativ english speaking). The user "agrees" in some way (because he does not change, or let it change) to the "Accept-Language" header sent by the browser (which correlates to the used browser language (developers switching this value excluded))


No, there are whole lot of non-English speakers whose chrome is set to English but prefers content to be local. (I am one of them.) Accept-Language is definitely not reliable. The only question is which is more reliable, compared to GeoIP.


Can you explain your setup by example? I don't get it. Your Chrome is using english for menues but your are natively speaking "france" for example?

Can you explain why your are not switching Chrome to use "France" as your default language?


I speak Korean. For me, it's a personal taste. I actually set Accept-Language to Korean even if my browser UI is English.

This is becoming less a problem than in the past, but consider the case that your browser of choice is not available in your language of choice. For example, you speak Korean but there is no Korean version of the browser. Then it is natural to have English browser UI with preference for Korean content.

More commonly, the browser may be available in your language but translation can be incomplete (only half the menu is translated, etc.), wrong (two different menu items are translated same -- did and does happen), or ugly (your language is going through the turbulent time debating how best to translate computer terms, and browser was translated by particularly opinionated people whose opinion you disagree with). Or some site may have compatibility problem with localized browser (getting rarer, but was problematic in the past). Or...


Actually i still don't get it. The two described use cases result in a "Accept-Language" header that will be send to the server. So its the best choice to deliver the content in the language that the "Accept-Language" header says to use.

If we are talking about location based content, for example sports news, its a slightly different story and needs a additional user option, or forced user option (like netflix videos that are only allowed to be viewed in US).


What I have written so far is based on my direct experience. Here are some other cases:

You absolutely need to run program X, which only runs on English version of Windows. (Developers of program X do not know nor care about internationalization). Therefore you run English version of Internet Explorer.

Older versions of Internet Explorer only sends language(en) without sending locale(en-US). You speak English, live in England (or India), and don't want to get US page.

You are bilingual (remember, lots of people outside US are bilingual), for example live in India and speak English and "mother tongue" very well. You prefer English for computer user interface, but prefer content in local languages.


Hi, i think its a mix of narrow minded developer / developer who does not know which source to trust (IP or Browser) / developer who uses the wrong CMS. These three factors influence each other.

Beside that, setting up a multilingual page prepares several questions for a developer like Toplevel Domain vs. Subdomain vs. Path vs. nothing to enable diffrent languages. Therefor all those SEO Questions and Text encoding questions come into the game. And at the end: Does my CMS support my well thought solution?

Developers are lazy and they usally take the easiest way ... even many of Googles own pages are not SEO optimized!

Greets!

Chris


I can understand (to some extent) a junior dev using some flavour of the month framework/cms not getting this stuff right.

But this is not some "oh the framework does it that way" issue - Google are well known for hiring excessively smart people, and building their own tech when whats available isn't "good enough" - and yet this shit is pervasive through their pages.


Like i said, even many Google pages are not SEO optimized... also in big companies there are big structures and you have to know this structures to properly use them. Multilingual is a extension of single Lingual and if you do not set up something as multilingual (may because its to much overhead for a small project) its pretty much work to fix it later on... and sometimes its not even possible, because your desired my domain.fr (fr = france tld) is already sold ...)

By the way: being smart does not mean anything as long as you can't show it. And being smart in one thing does not mean you are smart in every way. There are just ordinary people at google who do not SEO optimize their pages and make mistakes setting up multilingual pages ... just normal.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: