
Don't set the language of your website based on user location - pedrogpimenta
https://dev.to/bitdweller/stop-setting-the-language-of-your-website-based-on-my-location-31h0
======
est31
Microsoft is doing this as well. I google something in english, find an
english MSDN entry with english title and preview, but when I click on the
link, the language changes to German. I'm a native German speaker but having
read about technical topics almost exclusively in english for years, I'm just
much more comfortable in english now.

What makes it even worse is that often it's not properly translated, but just
Microsoft's translation machine applied to the English version. The result
isn't very good. And even if it were manually translated, the result would
likely end up a mixture of english and German. German is a very nice language,
as is english, but what I absolutely hate is the mix of the two, also called
denglisch.

~~~
Swizec
One day I was visiting Austria when I used my mobile browser to find something
on Google. The results came back in German.

Ok fine whatever, don’t really speak German but did enough in high school to
muddle through. Proba localization, will turn back when I go home.

2 years later and Google on my phone remains German. This is my life now ...
at least I get to practice a little german I guess

~~~
mynegation
Not a language, but hotels.com was quoting me prices to North American hotels
in Rupias months after my visit to India.

~~~
moepstar
Same for Tripadvisor after being in Mexico - all Hotel prices have been in
Pesos for a while (had to manually change it back)

~~~
ephimetheus
Uber is convinced I live in Brazil and speak Portuguese now.

~~~
jakub_g
Slightly orthogonal: live in France, bought a new phone just before
travelling. The first SIM card I put in it was a temporary travel card bought
upon arrival.

Now Google Maps shows me prices of hotels in Uzbekistani soms. Didn't find a
way to reset it in the UI, clearing GMaps cache didn't help either. It's been
a year already.

~~~
VBprogrammer
Having integrated with that API before, I would be totally unsurprised to find
the whole system was a complete mess.

------
Sevaris
One of the many reasons why I hate modern websites. They try to be too clever
and try to guess what language I want, despite my OS and browser being set to
en-US. And then make it particularly difficult to change the language manually
in a persistent way. Why even bother with region settings if they're not going
to be respected by websites or, hell, even games. I've noticed that if I have
my system language set to English and my region set to German, some games will
default to German. Which is annoying, but particularly infuriating when some
games don't even provide an in-game language select, instead forcing me to
Google for the right config file I need to change. And the only reason why I
sometimes have my region set to German? There's no other way to change the
MS/Xbox store region.

Actually, it's not just websites I hate. A lot of software makes me jump
through ridiculous hoops to do basic things.

~~~
xenomachina
This isn't a new thing. Google has been doing this for almost 20 years. I was
at Google at the time they first started doing this, and it was somewhat
controversial.

The rationale (which I still don't agree with) was that many browsers would
send "en-US" by default, and so it wasn't a reliable indication of the user's
actual language. If you set your Accept-Language to anything else, then Google
would pay attention to it, but en-US was treated as if it wasn't set at all.

~~~
swilliamsio
> The rationale (which I still don't agree with) was that many browsers would
> send "en-US" by default, and so it wasn't a reliable indication of the
> user's actual language.

Sounds like a potential workaround is to set your language to another flavour
of English like "en-CA" or "en-GB".

~~~
paranoidrobot
Unfortunately various sites, particularly Google's, gatekeep functionality
behind the language/region setting.

Browser set to en-au? "Oh, I'm sorry, you can't use this feature yet because
it's not in your region." for years after launch.

~~~
cma
So they set your location from your language and your language from your
location...

------
tduberne
There is worse: websites that redirect you to the homepage in your detected
language, rather than the same page in "your" language if it exists, or the
original if not.

I often have this problem with web shops with my wife, who has a different
mother tongue: she sends me a link to eg. a piece of furniture she likes, and
all I can see is the homepage of the bloody shop, with no clear way to just
say "show me the damn page I asked for".

Another fun experience was a short text on an airline website (cannot remember
which one) which ended being in 3 different languages, sometimes switching in
the middle of a paragraph, depending on whether it was using the language of
my location, my browser or my OS. At least that was fun.

~~~
woutr_be
Kind of unrelated, but I'm unable to shop on Amazon because of this. As soon
as I click on an Amazon link anywhere on the web, it opens the mobile app and
enters this weird redirection loop where it keeps asking me if I want to
switch to my local Amazon store.

~~~
5Qn8mNbc2FNCiVV
Uninstall the app?

------
bonestamp2
Agreed, location should not be the primary way to decide which language is
served up, but it's also not as simple as the article suggests.

I have been building web apps for a couple decades and have some that operate
in dozens of languages. My best practise is to only look at your region when
your selected language has regional variations. However, that's true for most
of the popular languages which is why it isn't as easy as the article
suggests.

For example, your browser's language is set to English. Cool. But, are you in
America or somewhere else? Oh you're in Canada, no problem neighbour. Spanish?
Are you in Mexico or Spain? Don't worry, I'll give you the appropriate version
of our Spanish translations then. French? You in Canada or France? Portuguese,
Brazil or Portugal?

Not to mention, when you're operating in a lot of languages, and your
application is in active development, you're constantly sending out copy for
translation. Different translators have different turnaround times and they
don't always make it into the release schedule. So, what happens when a
translation is missing in a particular language? First we fall back to another
region for the same language, then we fall back to English. American English
to be specific -- that's the language the developers and product managers
write in so there's always an American English translation.

Then, we also allow the user to override their browser settings and pick
whichever language they want. That is saved to their user profile so wherever
they're logged in they'll get the language they have set for our applications.

So ya, we give you your configured language whenever possible. But asking us
to ignore region is not ideal for most users either.

~~~
marcus_holmes
>> For example, your browser's language is set to English. Cool.

That's where this example should stop. Your site should then serve me English,
because that's the language I've told you that I understand.

Why are you changing it based on my location? Why are you serving an English-
speaking tourist in Mexico "the appropriate version of our Spanish
translations" when their browser just fucking told you THEY WANTED THE ENGLISH
VERSION?!!

~~~
shannongreen
You must have stopped reading at that point because the comment went on to
talk about using the location to select a _regional dialect_ only.

Your browser's language is set to English. Do you serve UK, US, Australian or
Canadian English?

~~~
marcus_holmes
Then we should have browser settings for regional dialect, because the same
thing holds true. I don't stop being a British English speaker just because my
IP address is in Toronto.

Language is a property of people, not place.

edit: Also, I'm an English speaker living in Berlin. This shit happens to me
all the time, and it's a trigger. Apologies for blowing my cool.

And I'm used to reading any flavour of English. The regional dialects really
don't matter. Colour can be color and I'll still understand. I won't
understand "Farbe".

~~~
bonestamp2
> Then we should have browser settings for regional dialect

We do, and that's what I'm using. Sorry if my example was confusing, I should
have worded it better. I am using the regional setting from the browser to
determine the correct region for your language, I'm not using your physical
location in any way.

My comment was an outline for the right way to do it and I blew it when my
example had the person with their region set to mexico actually in mexico
(which is true most of the time, and true in my example, but is not how the
app logic works because it's not true for everyone all the time). Either way,
I think the actual logic agrees with what you would expect -- you get the
language your browser is set to regardless of where you're connecting from.
Additionally, if you have your region selected, we'll also tune your desired
language for the right region of that language too regardless of where you are
physically.

~~~
marcus_holmes
Apologies for not reading your post right, then. Like I said, this is a bit of
a trigger for me because I live in a country where I don't speak the language,
and deal with this shit all the time.

Your site is an outlier if you ignore the user's location. Most tend to take
the IP address as more important than the browser settings (looking at you
Google, Amazon).

The Amazon case is especially weird. I can talk English to Amazon.com, but as
soon as I set up a Berlin delivery address it wants me to switch to Amazon.de.
Which speaks German to me. There is a switch for language there, but that only
works for some parts of the interface, and not things like reviews, etc, which
are all still in German. It knows I speak English, because it keeps offering
to translate these German reviews into English for me. But if I go to the same
product on the .com site, there's a ton of English reviews for the same
product. I must admit, I don't understand the logic behind it all.

But the same problem is at the core: assuming that because someone lives in
Germany, they speak German. Again, language is a property of people, not
places.

~~~
beojan
> Which speaks German to me. There is a switch for language there, but that
> only works for some parts of the interface, and not things like reviews,
> etc, which are all still in German.

It's worse than that. The Amazon interface on amazon.de is clearly a
translated version of amazon.com, but the English option is a machine
translation of the German amazon.de (which was originally manually translated
from English). Why?

And then amazon.fr just doesn't give you an English option at all. Again, why?

~~~
marcus_holmes
haha that's hilarious. I hadn't caught that it was that bad.

I always figure I must be a tiny minority market for Amazon to not have
optimised my experience.

------
pier25
God I hate this. Show me your website based on the language of my browser, or
in English. Period.

Yes, I live in Mexico, and yes I speak Spanish, but no I don't want to see
your terrible translation.

~~~
jobigoud
I find it rare, have you configured the language used by the browser when it
request pages? It's different from the language user interface.

------
sn41
Yeah, this is pretty horrible. Many applications try to be friendly and show a
Hindi webpage just because you are in India or in particular, Northern India.
India has around 25 major languages, and people from all over the country work
in all parts of the country, so assuming Hindi as the default language for
every person currently present in North India is not correct.

Language is a sensitive issue in several parts of India. Why not be polite and
ask the user for language preference first?

~~~
theawless
Seriously. I'm a Hindi speaker living in South India and I keep getting Google
search results. Facebook also thinks I must understand the language.

------
deanmkenzey
And stop disallowing me to paste into password fields please. I use Keepass..
..ever tried to enter by hand secure passwords like this: cw-
ZY~!$m=#3RM4",Y9Mpcd\\_!+z;FN]p

They actually trying to force me to use more insecure passwords.

~~~
peteretep
I'd like Apple's App Store review process to turn down apps that do this or
don't allow 1Password integration

------
imedadel
G Suite does this and never saves my preferences! I'm in Tunisia and the
business language is French. My PC and my browser are both set to English.
Yet, Google insists on showing me the Arabic page!

Not only that, but their translation is terrible. Plus, since Arabic is not
the business language here, most of the terms used on their site are quite
ambiguous to most Tunisian users.

Ugh.

------
bmn__
Expert advice incoming to alleviate the suffering. How to determine the locale
correctly in a Web application: try the following steps, in order.

1\. locale preference stored in session of the Web application

2\. locale preference stored in user settings of the Web application

3\. locale preference advertised in browser

3\. a) Accept-Language header

3\. b) language/territory in User-Agent header

3\. c) IP address lookup/geoip

3\. d) Geolocation API

4\. default locale of the Web application

You will notice that Google tries to be "smarter", to the detraction of the
user, as shown in many comments in this thread.

Implementation notes: 1. and 2. require a locale selection somewhere as part
of the Web application, 3. is browser settings, 4. is hard coded in the Web
application.

\----

From the article:

> Don't set the language of your website based on user location

This is an extreme/absolute prohibition and therefore almost certainly
false/useless. Done correctly, user location is one clue in a chain.

> why would I have my machine in that language? And if it's not, I will change
> it myself.

Sometimes, it is not possible or feasible. Be aware of these situations.
Examples:

* You are in an internet cafe or corporate environment and the browser settings are locked down by admin policy.

* You borrow someone else's mobile phone or tablet for a few minutes.

~~~
tvaughan
As someone who has traveled and lived abroad the past 10 years, please, never
ever use physical location to set the language. Yes, never ever. Why assume
everyone at an internet cafe speaks the same language as determined by its
physical location? Why assume either person involved in this borrowed tablet
situation speaks the predominant language of wherever they happen to be
physically at that moment, like a business trip, or vacation? What about
VPN's? Use a cookie and Accept-Language, and provide a menu of language
choices where each choice is in that language, e.g. Español not Spanish.

~~~
XCSme
I live in the Netherlands, so Google keeps showing me Dutch results first,
Dutch videos on YouTube and Dutch ads, even though I don't know Dutch and I
did set all my preferences everywhere to English, but it seems to be stubborn
to show me Dutch content even though it's just a waste of bandwidth and ad
budget.

------
yarinr
While annoying, I don't even care about websites setting the wrong language as
default. What I absolutely HATE, though, is websites and apps that FORCE you
to view them in a certain language, based on either location or on OS locale.

Google Maps is the worst. I live in Israel, so I obviously want to see street
names in Hebrew. My Android device locale is set to English (Because that's
the way I prefer, and I also rather not see everything flipped because of the
RTL nature of Hebrew). This FORCES me to view street names in English, and
there simply NO WAY around it other than changing the device language. It has
been this way for years, and it's painful. Why not just let us modify the
language on per-app basis?

~~~
yosito
I'm an American with Hungarian roots. I spend a lot of time in Hungary and I'm
currently trying to learn Hungarian. I hate that Google Maps translates all of
the local names into my device language, making it impossible to navigate by
local names. I've tried setting my phone's default language to Hungarian. That
worked well a decade ago when I was learning Spanish. But since my phone is
associated with my Google account, as soon as I set my phone to Hungarian, a
bunch of other apps suddenly assume I want Hungarian, even when I'm on my
desktop. Once while traveling in Thailand, I set my phone to Hungarian for
practice, and suddenly Jira on my desktop was in Hungarian. I switched the
language back to English on my phone, and Jira still assumed I wanted
Hungarian. If you don't know anything about Hungarian, it's a very difficult
language to navigate in if you don't speak it because it shares almost no
roots with Latin or Germanic languages. It took me weeks to figure out how to
get my Jira back into English.

------
JonRB
I experienced this a lot while growing up in a country with ~4 national
languages - I spoke one of them well, but sadly only about 20% of the
population speak it, so most websites will default to using the bigger
national language (~70% pop) regardless of what your computer is set to.

It's really not that hard to find the language switcher on _most_ websites,
but it's still a bit annoying.

~~~
1bc29b36f623ba8
Yeah, it's annoying as hell. I especially despise when sites force me to
manually select another country from a list, in order to get an interface in
my native language.

The country selection itself is trivial, but often the content will be geo-
specific as well, and you might end up with things like the wrong currency and
so on.

~~~
Spivak
Ahh the “is it the US or British flag next to English” problem.

I’m genuinely surprised that there’s not a falsehoods article that includes
things like:

* The mapping between languages and countries is 1-1.

* Every language has a mother single mother country.

* “English” refers to a single language.

* “US English” is good enough for all English speakers.

* US English is well defined and refers to a single language.

* You can partition a map into areas for which there is a single reasonable default language.

And so on.

~~~
JimDabell
It (long) predates "falsehoods" style articles, but this article is pretty
commonly cited: [http://jkorpela.fi/flags.html](http://jkorpela.fi/flags.html)

~~~
Dylan16807
That article is more about aesthetics than anything.

Also:

> There is a perfect symbol for any language which you can use on the Web: the
> name of the language in the language itself, such as English (or British
> English or US English, if needed). Be careful with the grammatically correct
> use of upper and lower case here! If a reader doesn't know the name of
> language X in X, he probably does not know X enough for the link to be of
> use to him.

So now that I'm on this Korean site, with no idea how "Korean" looks in
Korean, how am I supposed to find the language picker?

~~~
ronsor
I believe you misunderstood the author.

He is not saying to use the current language's hame for the language picker's
icon (I would use a globe, personally), but instead to use the language's name
in the list.

For example:

    
    
        [GLOBE]
        >English
        >日本語

------
kiliancs
So many websites do this. It's been very frustrating for years. I have
everything set up to Catalan or otherwise English, but so many websites decide
they should force me into their Spanish version. I don't even live in a
Spanish-speaking country. I get it, you see Catalan and think, hey, we don't
have Catalan, but we can offer Spanish! Well, not all Catalan speakers live in
Spain. Catalan has been spoken for centuries in other areas. Consider the case
of my kids who read and speak Catalan and English, but not Spanish.

~~~
enriquto
I'm in the exact same situation and it is terribly infuriating! As a good
thing, this has somewhat forced me out of google search and now I get to enjoy
duckduckgo which does not seem to pull this kind of shit on you.

------
woutr_be
This is one of my main pain points with a lot of websites, including Google. I
live in Hong Kong, and it constantly keeps setting itself in Chinese. Quite a
few websites do this, even though my browser is set to English.

Worst of all, even when I set Google to English, the OAuth popups remain in
Chinese with no option to change.

~~~
AlchemistCamp
My favorite was getting a recaptcha in Thai when logging into LinkedIn during
my first week in Chiangmai.

------
zerof1l
On a related note, always leave the text on the page as an actual text. Don't
put it into an image. This gives visitors a chance to easily translate the
text. I've had this horrible experience so many times in a foreign country.

Somewhat ironically most of the time those would be governmental websites or
some important announcements.

If you've made this fancy image that looks like a brochure and you must put it
on a website and you can't be bothered making it in HTML with text, at least
write all the text on the image in alt attribute or under the image.

~~~
akiselev
I think this goes back to the early days of web development. Before we could
add fonts with CSS @include and had to write progressive websites (yay
800x600), everyone who wished to use custom or platform specific fonts had to
generate images with that text using a php script or some such. Since
government IT is chronically underfunded (IMO) and the web hit critical mass
late 90s/early 2000s - long before best practices or new technologies could be
widely disseminated - most of them are stuck in that time period because
that's when they were first forced to support the web.

------
Raed667
Youtube has this "feature" where it translates video titles for me (and it is
always horrible). I feel like it never occurred to them that a person could
speak more than one language.

~~~
alpaca128
Ah yes, that's horrible. No matter if the user couldn't understand a word in
the video itself if he needed that translation, let's just deceive him by
showing him a badly translated video title in the wrong language. Meanwhile I
have to set the site to dark mode and English again multiple times a year
because Google struggles to persistently store this simple user setting.

~~~
liziwizi
Ow, yes, the translated titles are so confusing. You think you're getting a
video in your language, but no, you don't. It's just a badly translated title
and captions.

And don't get me started on those captions! Youtube, please stahp! Why do you
keep forcing these? I don't want them, stop pushing them.

Whenever we use Chromecast with multiple people, Youtube enables the auto-
translated captions. So, we turn it off, next video youtube turns it on again,
we turn it off again, next vid, it's there again. arrgghhhhhh

~~~
glandium
The youtube app recently got awful wrt caption. It always enables them now, so
I end up disabling them manually. But then if there's an ad in the middle of
the video, after the ad, they're back! And that's with subtitles being
disabled in the app settings!

------
Pmop
I couldn't agree more. When I began to use the internet to read, learn and
communicate with people, I eventually found the anglophone community to be
bigger and wiser. Also, any content would have its counterpart written in
English, which was more detailed and better at explaining the concept. So, now
a big chunk of the concepts I know I've learned by reading works written in
English. One of the consequences is that every time I need to search for
something, I'm not going to write the query in my native language. In this
regard, Google wants to be helpful in advance and will rank up results written
in my native language, which isn't helpful at all since I'll take longer to
understand something written in the former, specially if it's something
complex. I switched to DuckDuckGo.

Also, now many documentation websites will try to serve their content based on
your location. I'm always clicking around.

~~~
ithkuil
I have the same experience, I use exclusively English to search and read the
internet (and also set English as the language on all my devices, forcing it
also on my wife's phone, not least because it makes it easier to search for
error messages and related solutions).

That said, I found it sufficient to switch Google to English and I didn't have
to ditch that search engine just because of that reason alone (you might have
other good reasons to do it though).

I think I used [https://google.com/?hl=en](https://google.com/?hl=en) to set
the language; but since it remembers that setting honestly I have no idea if
it's still the way to switch languages

~~~
account42
Google will regularly forget your language setting if you're not logged in.

------
pabs3
The browser vendors don't make it easy to change the browser language (and
especially not on a per-site basis) so users are unlikely to be able to change
the language if it is wrong, so if decide to use the browser language instead
of the location, please also have an option in your site to set a cookie that
overrides the browser settings.

You can even do this on completely static HTML-only websites that don't use
JavaScript or server-side code. Debian is an example of this:

[https://www.debian.org/intro/cn#override](https://www.debian.org/intro/cn#override)
[https://salsa.debian.org/dsa-team/mirror/dsa-
puppet/-/raw/ma...](https://salsa.debian.org/dsa-team/mirror/dsa-
puppet/-/raw/master/modules/roles/templates/apache-www.debian.org.erb)

~~~
jobigoud
> The browser vendors don't make it easy to change the browser language

In Firefox it's in the first page of the settings: Tools > Options > Language
and appearance, there you can change the language of the UI and the preferred
language for displaying pages.

~~~
ken
I have my Firefox "Language and Appearance" language set to "English (United
States)". I'm not sure why this setting even exists, because the operating
system also has a language setting, which I've also set to "English (US)". Yet
somehow, some parts of my Firefox UI are still in Japanese. Nobody has ever
been able to explain why, or how to fix it.

I don't understand why a web browser (or any application) needs a custom
language setting, much less a prominent one. It's just one more place that can
fail.

~~~
account42
> I don't understand why a web browser (or any application) needs a custom
> language setting, much less a prominent one. It's just one more place that
> can fail.

For entertainment including games I want them to be in the original
languaugage they were developed in (if it's one I can speak fluently) even if
that differs from my system language (which differs from my native language
(which at many points in my life has differed from the default language for my
location)).

I don't personally have a reason to have a different language for my browser
UI though, but perhaps someone else does. However I agree that the default for
application languages should be "use the system default" \- not whatever was
the system default at installation time or some other fixed language.

------
swebs
Google is the absolute worst with this. I have to remember to put ?hl=en to
the end of every URL for every product they own.

~~~
adrianh
Have they ever provided a public explanation for their fundamental
incompetence here? There’s got to be a good reason, right...?

~~~
watwut
They are bad at anything user interface related in general. There is no reason
to assume good reason.

------
s9w
God yes.. in particular Google is horrible with this. They have the interface
language and the search language as different setting, both default to German
if you're in Germany. Have you tried using German google? It's abysmal. Try
googling for Any piece of open source Software. You'll end up at a third party
clickbait website that offers an infested download (often chip.de). That's why
many Germans end up with horribly infected PCs.

~~~
gmueckl
Chip.de is a reputable site. I see your argument for going tonthe primary
source of a software and this is what I always try to do. But I don't get your
hate. They don't repackage things the way Sourceforge tried to or anything
like that. So all the downloads I made from their site were maybe outdated,
but they were all genuine.

~~~
s9w
I stand corrected if that changed. I definitely remember that they offered
some own binary downloader in the past (might have been a decade though). SEE
EDIT

At the very least they should not be the first hit if you search for the
program name. I don't get how that could possibly change with language
selection.

edit: Inkscape results in a "Inkscape - CHIP-Installer.exe" download with my
antimalware immediately sprinting to my rescue.

~~~
gmueckl
Whoa, I cannot reproduce that. I don't doubt your report, but I see a
completely different behavior.

When I want to download Inkscape for Windows, I get a zip file. When I
download GIMP for Windows, I seem to get a genuine installer with the same
size and filename as what is offered on gimp.org. I didn't download these
files on Windows, though.

~~~
rndgermandude
I can reproduce this easily.

I went to their website[1], and clicked the prominent Download button[2]. Next
to that button it says "Sicherer Download" (secure download). The executable
file downloaded is not the original installer but the a binary with their chip
icon and signed by Chip GmbH.

Running that "installer" then asked me if I wanted an amazon desktop icon
(with their affiliate link in it, I am sure), and clicking just Next asked me
again if I wanted it because I "did not make a selection". Then it offered to
"block annoying ads" (the irony!) by installing Opera (again asking me again
when I clicked next).

Then it finally downloaded something. Says that something was checked by
Kaspersky. The download progress screen also asked me if my PC was slow, and
if I wanted to call some "free" number to have experts check my computer for
free(!) (via Teamviewer or telephone, wat). And if I did call those experts,
I'd even get a free McAfee license! (what do Kaspersky, who scanned the
download, think about that?). The "free" number is actually a number somewhere
in Frankfurt am Main, so it's not actually toll free as far as I can tell; if
I am correct, this would be a direct violation of German law which states that
ads giving you a number to call have to correctly state the charges associated
with a call.

I eventually ended up with a .zip file that contains the actual Inkscape
installer. Or rather installers; it contained both the 32 bit and 64 bit
installers. Those installers are not launched automatically by the way. So the
usual "unsavvy" user will end up with two files in a zip with no idea what to
do next. So the Chip "installer" is just for displaying those ads, pushing
their crapware, but will not actually help you install the software you
wanted.

Here are some screenshots
[https://imgur.com/a/tyIopku](https://imgur.com/a/tyIopku) .

And rather on-topic it displayed the UI as a mix of English and German because
I was using an English language Windows Sandbox...

If you just want the zip without the adware "installer", you have to click the
regular "Manuelle Installation" link (far less prominently featured than the
crapware button), then again click something, and then it will download the
same zip without the "installer".

[1]
[https://www.chip.de/downloads/Inkscape_15274752.html](https://www.chip.de/downloads/Inkscape_15274752.html)

[2] [https://i.imgur.com/Bn2GU3A.png](https://i.imgur.com/Bn2GU3A.png)

[3] [https://imgur.com/a/tyIopku](https://imgur.com/a/tyIopku)

~~~
gmueckl
Okay, everything in your lengthy post was exactly NOT what I was seeing. And I
finally figured out the reason for it: the site behaves completely differently
if it doesn't think the browser accessing it is running on Windows. Then you
get the actual installers for download. But if it DOES think you're running
windows, the site hands out the wrapper executable. My guess is that the
wrapper only works on Windows and they don't want to appear broken for users
on other operating systems.

------
eska
Google sends me emails and shows me webpages that are English, German _and_
Japanese at the same time..

I'm in Germany, my browser is set to English, and I bought a play store app
while I was in Japan using Japanese money.

The other day I wanted to install the "Too Good To Go" app but I had to
sideload it because Google thinks the app is not "compatible with your
device". It's just region locked and the app should be available to me because
I'm not in Japan.

When I tried to change the settings on various Google websites, the language
kept switching between the three languages. A forward even failed because of
this and I had to find out the next URL and manually edit it so that the
language didn't change and thereby restart the settings wizard.

In the end I couldn't figure it out and gave up.

------
andrewstuart
Just this morning I was getting annoyed about exactly this.

If I want the Australian site I'll go to the .au domain name. If I go to .com
then I want the global/USA site.

It is SO annoying when going to .com redirects to .au

Maybe this is what happens when companies stockpile so many developers that
they have more than they need - everything that can be written does get
written.

~~~
MattGaiser
But then what do you do for some of my relatives who are not making that
decision based on the domain and then get made when they can't get the .com
stuff in Canada?

~~~
bald42
I think amazon makes this right. If you go to a amazon.com page it shows you
the actual page but also asks you if you would rather go to your local
amazom.whatever site.

------
qwerty456127
I've been saying this for years. Every browser offer to configure a whole set
of preferred languages, including dialects and the order of preference. Every
website should respect that choice (unless they didn't have time to implement
more than one language at all).

------
m463
I have a theory that if there are many ways to do something, but one retrieves
more data about the user, that way will win.

For example, cisco webex turns on 24/7 microphone access "to find nearby
displays".

this could be a funding model - if your app can plausibly access (contacts,
location, microphone, camera, photo library, ...) then it should get more
funding (because you can slap on an advertising SDK to "coincidentally"
extract more user data)

~~~
dylanowen
Your theory sounds reasonable but in the case of webex it's using ultrasound
put out from the displays to figure out which room you're in.

[https://help.webex.com/en-us/WBX89838/What-is-Cisco-
Intellig...](https://help.webex.com/en-us/WBX89838/What-is-Cisco-Intelligent-
Proximity-Content-Sharing)

~~~
Spivak
Like this kind of feature should really be “only when I click the scan button”
but I have to say it’s pretty neat in practice.

Short distance data channels that solve the “two computers physically next to
each other can’t communicate frustration” are always welcome in my book.

------
tluyben2
Yes, please! It is incredibly annoying, especially when it is hard to find the
button to change it. Google seems a big offender; I have to fix it many times.
Very weird as they also present localised ads which I cannot read...

------
jacknews
Yes this is super annoying, especially if you're in a country with it's own
alphabet, and the 'change language' menu item is written in that script which
you can't read.

Google maps, for example.

------
julianlam
Why does setting the language based on location even happen? It seems like far
more work to do that instead of just checking the `Accept-Language` header.

When I did it, I just mapped the browser language to our languages and called
it a day, no complaints so far. So far as I know, most browsers send that
header in.

~~~
latchkey
That's exactly what should happen, the problem is a lot of sites don't do
that. I'm US, living in Vietnam and half the time the Facebook login screen
turns up with Vietnamese and no way to change the language. If anything, this
forced me to learn those 'login' words in Vietnamese.

~~~
yakshaving_jgt
I'm British and also living in Vietnam currently, and this has also been my
experience. Also, if I'm in Thailand all the Google search results are
returned with timestamps converted to Buddhist calendar years. Genius.

Is it unreasonable of me to be _less_ tolerant of this brokenness when it
comes from companies with all the money in the world, and also all the highest
paid developers in the world?

Imagine being able to invert a binary tree on a whiteboard, but _not_ being
able to follow a basic HTTP specification. Insane.

------
dijit
I posted about this 3 years ago[0] and I was met with the following (not
verbatim):

> "The amount of people who live in the world who do not change their default
> OS settings is higher than those who live in foreign countries"

> "it is computationally expensive to read Accept-Language vs geoIP"

> "obviously companies know what they're doing here"

I have seen only a few applications using the accept-language header, Grafana
and Outlook Web Access are notable, but they wouldn't necessarily have the
luxury of using GEOIP as they're typically hosted on-prem.

[0]: [https://blog.dijit.sh/trusting-the-user-they-know-what-
langu...](https://blog.dijit.sh/trusting-the-user-they-know-what-language-
they-speak)

~~~
marcosdumay
> "The amount of people who live in the world who do not change their default
> OS settings is higher than those who live in foreign countries"

They'll get computers with an OS and a browser on their language.

There are people claiming that in some places the computers will be in English
even though people do not speak English... But this is such a suboptimal
situation that I can't believe it happens in any large place, and those people
will certainly learn how to set their browser locale.

Much more likely is that people will get a computer on a different variant of
their language, like many countries in Africa that get computers set for the
European variants of their language, so ignoring the variant may make some
sense. But still it would make much more sense to not ignore the variant, and
let people change it on your interface.

> "it is computationally expensive to read Accept-Language vs geoIP"

The cost difference is included on the page processing already... and in your
firewall, and in your HA proxy, it's so cheap that every node on the path pays
it just in case you want it for something.

> "obviously companies know what they're doing here"

Oh, sure.

------
cstuder
Minor pet peeve of mine: Some websites put the language selector on the bottom
of the page.

I usually first look it up on the top right. Then I go back to editing to URL
before scrolling all the way down. (And hoping it doesn't use infinite
scrolling...)

------
Agentlien
Nintendo is the one that bothers me the most. Their website defaults to your
local language and if you switch they throw up a huge overlay warning that
your language doesn't match your location and wouldn't you rather switch back?

------
apexalpha
"A much better way (and probably easier) is to use the user's browser/system
language. That's the language I want to read on 99% of the time. Otherwise,
why would I have my machine in that language? And if it's not, I will change
it myself."

I would disagree with this and propose a clear choice. Many people speak 2 or
3 languages. The only reason my browser / OS is in English is because it's
easier to troubleshoot or Google error messages that way. Just a bigger pool
this fish in for answers.

A little flag in the top corner is best.

------
NicoJuicy
I recently launched a belgian beer shop.

The way i thought it was best:

\- Give users the option to change

\- If the main user browser language is different than the current one,
suggest it more on top:

[https://www.belgianbrewed.com/nl](https://www.belgianbrewed.com/nl) \- will
suggest english for the majority here.

[Screenshot]
[https://gyazo.com/0372490df1b033ac42c8cb7aa3a4198b](https://gyazo.com/0372490df1b033ac42c8cb7aa3a4198b)

My entry page is google. So if they find something in English, i suppose they
want the english site.

If they don't, i give them the option to change it to the most obvious
"supported" option.

I do redirect them to the main page, so they see an overview of the shop.
Showing them the translated (current) page is not a priority (right now)

PS. Google has the option for /ncr . They obviously forgot the use-case where
my proxy of work redirects to Paris.

PS2. /ncr changed to
[https://www.google.com/?gws_rd=cr&safe=active&ssui=on](https://www.google.com/?gws_rd=cr&safe=active&ssui=on)
=> No Country Redirect.

~~~
umanwizard
My suggestions:

* Make the "continue in English" button easier to find. It does not stand out visually, and I had to search for it.

* In the languages dropdown, use the native name for each language (e.g. français, deutsch, English, Nederlands) instead of the Dutch name for all of them.

------
vidanay
Could be worse....every few months, my corporate VPN decides I am at HQ in
Switzerland, even though I am still in the US. Ich spreche kein Deutsch.

------
alpaca128
Microsoft Visio set itself to English on my computer even though its
(Microsoft Windows) system language was set to German. The reason? It didn't
recognise the region-specific language setting "German (Austria)". There was
no way of setting or changing the program language other than reinstalling the
whole thing with a different system language set.

------
cientifico
What should I do if I have different markets? Should I translate all the
markets to all languages?

In my experience, the problem is different. Company X does not want to
translate into different languages, different markets. For example: Apple,
Microsoft, Samsung. Amazon video. If you want to see German available products
or prices, it have to be in German.

------
FraKtus
I am living in Belgium exactly on the linguistic border. My side of the road
is French, the other size is Dutch. Almost all Belgium web sites are in Dutch
and google ads keep showing me ads in Dutch that are irrelevant. I try to
train google ads but there is no option to say don't show me ads with this
language...

~~~
Onanymous
It could be much worse. I for one often get web sites open in French...

~~~
dirkf
Same thing here. I'm in Flemish Brabant, very close to the Antwerp border.
Google Maps geoip puts me even more north. I have an English browser and OS
(granted, with some Belgian regional settings). Yet a lot of web sites choose
to show their French version as default.

And to top it off the language switch is often hidden away in some bottom
corner so it takes you way too long to find it.

Give me back my old internet!

------
jve
> That's the language I want to read on 99% of the time. Otherwise, why would
> I have my machine in that language?

In the era of Windows 7 and before. Maybe Windows 8 - don't remember when it
changed, BUT someone at Microsoft considered localization a premium feature of
Windows Ultimate. What a "great" idea.

End result in our small country? Understand you English or not, but that was
the version on majority of PCs sold on retail stores and used at home. The
other part of the issue is techies don't love localized Windows here. But even
if it did, it costs you money no-one will be spending to switch that language
for their Mom/Dad/Uncle/... or myself.

Luckily Windows lets you set Country or region apps should use. Don't know if
browser takes data from that setting or not.

------
kps
Related: if you're going to use location, then use the location my browser
gives you¹ rather than pulling something out of your ass based on my IP
address, especially if you're trying to sell me something. My ISP spans the
country, and if you insist my ‘local store’ is 2000 miles away — well, I'll
shop somewhere closer.

¹ Firefox: config setting geo.provider.network.url returns JSON in the form of
[https://ichnaea.readthedocs.io/en/latest/api/geolocate.html#...](https://ichnaea.readthedocs.io/en/latest/api/geolocate.html#response)
— e.g. set the config value to:
data:application/json,{"location":{"lat":43.5,"lng":-80.5},"accuracy":1000}

------
cromulent
Question: When is it appropriate, or not, to use language negotiation?

Answer: The short answer is: always.

[https://www.w3.org/International/questions/qa-when-lang-
neg](https://www.w3.org/International/questions/qa-when-lang-neg)

------
egorfine
Absolutely. Not only stop showing me cyrillic letters when I click on a
clearly english page; but also please bear in mind that sometimes you cannot
guess which language is correct. Some countries have troubles identifying even
their own language, like mine.

------
K0nserv
I've always been annoyed at this too, especially when I was using a VPN with
an exit node in Finland even though I don't speak Finnish myself.

I've asked localisation experts about this and the answer I've gotten is that
`Accept-Langauge` and other signals that are available to provide a hint as to
the user's preferred language are teribble. For most people they are
incorrectly set to some form of English(en-US, en-GB) even though this is not
what the user wants. For this reason the IP/geolocation method is preferred,
it also generates false negatives but per the people I've spoken too they are
fewer than if you just respect `Accept-Language`.

~~~
marcosdumay
> For most people they are incorrectly set to some form of English(en-US, en-
> GB) even though this is not what the user wants.

This stopped being true a long time ago. It was once a problem, but not during
the last decade, and certainly not now.

~~~
K0nserv
If that's the case I guess the industry has not caught up. I had these
conversations about 4 years ago FWIW

------
IshKebab
Ironically just below the article is this "helpful" hint:

> Sore eyes? Go to the "misc" section of your settings and select night theme

If only there were some built in way for browsers to tell sites that user's
want dark themes. If only...

------
qwerty456127
By the way, it also is important to distinguish between the preferred language
for the UI, the preferred language of the content, the preferred localization
(geographical relevance) of content, the preferred currency etc.

------
ArchD
Perhaps for some of these websites, this annoying design is helping improve
monetization? Perhaps the users being inconvenience by this design is only a
small minority and what they perceive of as a flaw could be the result of A/B
testing with increasing profit as a goal?

Alternatively, some website consultant/'expert' is charging by the hour and
adding this 'features' is a way for them to charge more?

Or, some technically clueless manager is asking the consultant why the website
is not showing up in the local language when it is his browser that is
misconfigured?

------
woutr_be
From a UX perspective, what is the best way to indicate a user can change the
language on a website? I see websites using the globe icon a lot.

But what I see more, is; websites translating "change language" into the
language the website is currently in. How does this even make any sense, if
your website is in German, the people who would want to change the language
most likely don't speak German. So why is the "change language" link
translated in German?

------
jjp
Depending on your website market you also shouldn't set language based on
browser preferences, but should be user selectable.

I've spent years working with desktops builds from US-based IT teams that have
then been deployed globally (so language is US and paper size is letter). And
then access control is added over the top to prevent end-users changing those
settings because when they get it wrong it causes excessive support calls.

------
Normille
Yandex Browser has been serving me up random websites in Russian for years
now. I don't know what algorithm it's using to do so. My system language,
browser language and Yandex profile language are all set to UK English and I'm
located in the UK. So it's quite a feat of getting it completely wrong, for
the browser to still think I might want to see the Russian versions of so many
sites!

~~~
aembleton
If you go to [http://myhttpheader.com/](http://myhttpheader.com/) and look at
'Accept Language' what value does it give? On Firefox I get `en-GB,en;q=0.5`.
Maybe Yandex is serving up ru-ru to websites

~~~
Normille
Nope. Accept language[s]are as expected:

en-GB,en;q=0.9,ga;q=0.8,es;q=0.7

I could be wrong. This is a complete guess, but my suspicion is that Yandex
Browser is doing some very lazy checking of a user's language preferences and
defaults to Russian if the visited site is not available in the user's
preferred language[s]and user hasn't got 'en-US' defined as a fallback.

[My language preference are set to: English UK > Irish > Spanish > English]

------
aiibe
This also applies to currencies. I'd rather have a popup modal that tells me I
can choose another currency later. By default leave it set to USD.

~~~
chakerb
Yes, please. I don't mind even if you set it it by location, but at least
provide me a way to change it manually. I live in a north African country, but
I get the currency set to south Africa (looking at you origin) without the
ability to override!

~~~
shultays
Not being able to override it part sounds intentional since those stores has
regional prices and they don't want people to change currency/region easily.

------
nounaut
Surprisingly many sites also change the content and layout of the site
completely. Nvidia for instance turns from a site with company news and a
clear path to download your drivers on the US site, to essentially an online
store as it defaults to Swedish. The link to download drivers is then moved
from the top of the site to the very bottom, where a link to the UK download
site is discretely placed.

------
beshrkayali
Some websites (Mozilla) doesn't even show a language change option on all of
their deep link, which is annoying on a whole new level.

------
mumblemumble
On the other side of the coin: Don't try to guess the user's location based on
the browser's language preference.

It's not as common, but plenty of e-commerce type sites try to redirect me to
their site for a country that's on an entirely different continent, based on
my browser being set for a language that's spoken plenty of other places, too.

------
markosaric
Completely agree! I run ProtonVPN pretty much at all times and they have the
option to simply connect to the fastest server. Often it happens that it is
from a country I don't speak the language to so I hate when sites
automatically show me that language. I understand the idea but there are
better ways of doing this.

------
nickcw
I guess this begs the question of why this is so widespread?

Is it common for users to have the language preferences of their browsers
misconfigured?

If so then I can see why this is common practice.

If not then we should stop using the users' location.

Are there any stats anywhere on how likely a user is to have their language
preference configured in their browser / OS correctly?

~~~
ACS_Solver
My feeling is that it's very rare for people to configure their preferred
language in the browser. It's a setting buried somewhere in the menus, and
anecdotally I would say most people don't even know such a setting exists. I
suspect that, for the vast majority of people, their preferred language list
is the default, which is then one entry, the same as the browser's UI
language.

------
esotericn
The site shouldn't even bloody know my location. Most of the time geolocation
seems to completely cock it up anyway because it thinks an IP is based
somewhere when it's not.

Google like to think I'm Arabic at the moment, bouncing around various Middle
Eastern countries. Google Maps sends me to the UAE right now. Y tho?

------
kristopolous
I did a writeup about this 3 years ago:
[https://news.ycombinator.com/item?id=14175238](https://news.ycombinator.com/item?id=14175238)
... I thought "ok, that's it! Things will change now! done and done!" well ok,
alright, I only fantasized it...

------
gield
Belgian here. This has gotten considerably better over the years. 10-15 years
ago, it felt like every website threw a 2-sided dice to decide between Dutch
and French. Even though I'm in the Dutch-speaking part, and not particularly
close to the French-speaking part (for Belgian standards).

~~~
roelschroeven
Still happens. Even worse, there are sites that still think French is the only
language in Belgium. Sometimes they offer French and English for Belgium, even
though they do have a Dutch-language site if you choose the Netherlands
instead of Belgium. I don't understand where they get their info on languages
in Belgium.

For those who don't know: in a long gone past, any official business in
Belgium was done in French, even though about half of the population spoke
Dutch. But that's long gone, and certainly dates from long before the rise of
the world wide web. These days we have three official languages: Dutch, spoken
by about 40% of the population; French, about 40%; German, less than 1%.

EDIT: Example: Nvidia's site. Opens in French for me, and the "Select your
location" page has only "Belgique (Belgium)" for Belgium, which links to a
site in French. For our Dutch neighbors in the Netherlands they do have a site
in Dutch. I don't even understand why they don't just offer a language choice
instead of a location/language choice. The specs and drivers for a video card
are the same whether the card is in Belgium or in the USA or anywhere else.

------
mD5pPxMcS6fVWKE
If this affected the language only. I had a creditcarma US account. But when
in Canada, they automatically redirect you to creditcarma canada, which has a
completely different user database. So there was no way to log into my
account, apart from using a VPN and selecting a US IP address.

~~~
jobigoud
This makes me wonder if Quebec uses the comma as a decimal separator as in
France? That could yield to some serious mishaps.

------
dybber
When I access Google News, I get it in Norwegian, with news from Norway, even
though I live in Denmark (they don't support Danish news). I use a browser
with English language settings. I'm interested in getting world news, not
something country specific.

------
makach
Don't assume any language based on your location. It's a personal preference
whatever language you want to use, please respect and allow for me to use the
language I am comfortable with.

There is only so much EXCEL formula translation I can cope with pr. week.

------
sgt
What's worse is Facebook's automatic translations of things you post in a
different language. Depending on language, the quality is terrible. And if
language X is translated into language Z, bypassing English, it's usually even
worse.

------
el-salvador
I'm from El Salvador and our country ISO code is "sv" which some websites
confuse for the ISO language code for Swedish (Svenska) "sv".

It took Spotify a long time to fix that! MSN/Microsoft used to have that issue
too.

------
nottorp
Related:

Android and iOS, change your spell checkers to accept multiple languages in
the same phrase. Lots of people mix English with their native language, and
how about, say, Belgium where they speak 3-4 languages regularly?

------
luord
It's worse when the language is only in half of the interface. I often see
sites in "spanglish" and that "language" never fails to make me want to tear
my eyes out.

------
Polylactic_acid
aliexpress had the worst version I had ever seen. I clicked on a link to the
French site and got the french version, then I tried to find a way to switch
it, saw nothing (couldnt access the footer due to infinite scroll) so I went
to the .com version and it was still in french. Cleared my cookies for that
site and it was STILL in french for the main page on the .com domain. No idea
_what_ they were doing, must have been browser fingerprinting or saving it by
IP address. I was not logged in.

------
RedShift1
nvidia.com always lands me on their french homepage even though I speak Dutch,
live in the Dutch speaking part of my country and have my browser preferred
language set to English.

------
scotty79
Site language while I'm there is one thing but Czech language adverts followed
me around for quite a while after I came back home after a few day trip to
Czech Republic.

------
tallanvor
Food Network is also horrible at this. You try to go to a .com URL and it
forces you to .co.uk, where the page doesn't even exist, so you get a 404
instead!

------
vivekv
Yes Completely agree. I live in India - we have 30 + languages. I speak and
read 3 of them.. So most of the time when sites try this, I am struggling.

------
ungerik
Also love those Chinese e-commerce websites that use automated translations
based on location for every text on their website, even on product names...

------
jeffrallen
Especially if you think that just because Swisscom routes my traffic from
Lausanne through Zurich that I speak German, damn it.

------
pi-victor
*looks confused at this while living in Switzerland as a foreigner.

------
turnipla
Yes and no.

I’m in Switzerland, please follow my browser language. Don’t guess whether I
speak Swiss, French, Italian, etc

I’m in Laos, my OS is in English. Please show me Laotian.

However, do make it easy for anyone to change the language. I shouldn’t have
to hunt the settings page when traveling.

~~~
DXA9zE
Why would you want to see Laotian?

Agree with the op. Not only do I regularly struggle with location-based
internationalization, sometimes I can't even /see/ pages depending on
location. Tried to find the product page for new google ear buds thing (in
Korea) and they refuse to even display it. Of course, setting up local ssh
tunnel to ec2 machine based in US takes < 60sec but it's still annoying.

~~~
turnipla
> Why would you want to see Laotian?

Statistically speaking, Laotian users speak Laotian. As a traveler, I’m the
minority.

Regarding the rest, I feel you. They can guess whatever language as long as
they make it easy to change it, without unnecessary redirection games.

Apple.com is relatively good with this:

> Hey I see you’re in Thailand, maybe you want to check out the Thai site.

~~~
DXA9zE
I thought you were suggesting that you would prefer to see Laotian despite
OS/browser language settings, nvm

------
bamboozled
Foreigner living abroad, can confirm this sucks.

------
keymone
software UX suffering doesn't nearly enough translate to software developers'
suffering.

~~~
kps
Oh, it translates into software developers' suffering, it just doesn't
translate into project managers' suffering.

------
brokenkebab
This, and currency too.

------
joeythegod
True

------
johnnyo
This is only a good suggestion if all the other people in Germany that want
German content have their browser languages correctly configured.

My guess is that they don’t, and this fix would hurt more users than it helps.

~~~
oxguy3
Why wouldn't people have their language set correctly? Usually your browser
language defaults to your system language, and presumably when you bought your
computer, you selected your preferred language during the initial setup. If
you had your browser set incorrectly, you would probably have dealt with that
problem immediately when you saw all the menus and such in an unfamiliar
language.

Perhaps some multilingual users might have one of their secondary language(s)
set instead of their primary/preferred one, but at least it'll be a language
they speak.

More importantly, even if the user has their browser screwed up, it's
something that can be easily fixed on their end. But on sites that set
language based on location, there isn't such an easy fix available; short of
relocating or using a VPN, people in OP's situation are kinda screwed.

~~~
johnnyo
I don't run a German website, so I can't give you exact numbers, but in my
experience, software can often default to something like 'en-US' in a variety
of cases where you might not expect it to.

This is especially common in poorly localized tools. For example, a poorly
implemented browser component inside some other tool or phone app might not
properly set this value, and instead default to en-US.

Switching to the proposed method might fix the author's problem, but create a
bunch of problems for other users in other scenarios.

------
lazerlapin
He's missing the _why_ they're doing this.

Tons of websites are server-rendered, which means the decision of which
language to show has to be made upfront: at the time of the first HTTP
request, so before sending the page to the user. And we don't know the user's
language preferences until we reach the browser and can execute some
JavaScript. If we do as he suggest, it would paradoxically lead to the very
behavior he is criticizing in the post: page loads default (e.g english),
(then reads user preferences with JS, e.g german), then reloads to show german
instead.

So why pre-populating the page with the langage the users in that particular
country are most likely to wanna use a bad 'default'? Would it be worth it to
rather worsen their experience by forcing all german users to load english
first, and then repaint the page with german?

I think only SPAs could afford to implement the whole thing based on user
local preferences without major UX drawbacks.

~~~
marticode
> we don't know the user's language preferences until we reach the browser and
> can execute some JavaScript

This is untrue: the HTTP "Accept-Language" header tells the server what
language the browser wants to get, right before any request get served. There
is no need for Javascript.

~~~
lazerlapin
Alright, fair enough

