Hacker News new | ask | show | jobs
by justinmayer 1554 days ago
I met one-on-one with Google’s senior leadership in 2000 to talk about their internationalization efforts. This was very early in their trajectory, so I even sat down with Larry Page and chatted with him for half an hour.

A year or two later I’m in Tokyo and talk to a new Google product manager based there. I tell her it is insane that Google serves me Japanese pages on my English-configured PowerBook just because I am in Japan. It doesn’t matter that I read Japanese just fine… Making this determination purely based on my IP address is madness, I tell her.

Over two decades later, nothing has changed. Each year I spend several months abroad, and this is one of the most infuriating experiences I encounter. Google is the offender that frustrates me the most, but they are far from the only company to engage in this abhorrent practice. I am tempted to create an Internationalization Wall of Shame just to embarrass the companies that do this. (Not that I expect them to care.)

Why do they do this? My theory has always been that in any given country, there are far more native speakers with misconfigured computing environments than there are visitors and nomadic folks like me. So it’s merely a numbers game: I may be frustrated, but at least Google and other companies aren’t losing business when folks with misconfigured computers close the tab because they got a page served to them in, say, English instead of their native language.

I can’t say for certain whether this is the actual reason for this behavior. What I can say, however, is that I absolutely loathe this practice and actively avoid doing business with any company that uses geo-IP location to serve me pages specific to that locale. If this frustrates you as well, be sure to vote with your feet!

29 comments

Better explanation: monolingual people thinks that computers will always be configured to the local language and any other setup is a "misconfiguration".

In real life a large number of corporations (and developers) have their computers configured with English as this is the main language of the coorporation and makes IT-support much easier. (we don't even need to talk about how badly botched many language translations are).

These users will still want Google to return results in their native language.

There is a much much larger number of users like this than travellers from USA.

One thing that bothers me a lot with US websites is that they always assume English language means 12-hour clock.

Apple has learned the above over time: it is much easier today to get a Mac running with English and 24-hour clocks.

"The local language" is already a problem. There are countries where there are multiple local/national languages! What does Google's homepage look like in Belgium?

> Mac running with English and 24-hour clocks

The UK locale (probably Ireland too) has provided a 24 hour clock in Windows for decades. Although thinking about it, little-endian dates (11 March, 11/03/2022) would probably annoy Americans as much as mixed-endian dates annoy me.

Am in Belgium. Google keeps serving me pages in Dutch. I don’t speak Dutch nor do the majority of people in my city / area. I speak French. And I don’t want results in French, I want results in English.

Google thinks they known better - they do not.

The trick is results in French are extremely bad quality, tech articles are dumbed down, tutorials in French lose nuance, and, well, good luck finding Hacker News in French. It was a revolution for me when I gained access to the English web, it’s the origin of the documents! I want results in English because the quality is higher in English!
>The trick is results in French are extremely bad quality

It depends. It is definitely the case for tech but not for everything. For philosophy, science, movie reviews, cooking, and of course anything related to French culture, there's a lot of high quality content.

Disclaimer: Choosing to reply here for "reasons" but there's lots of siblings I could've chosen.

Reading comments so far and the article I think we're mixing up many different use cases and choices.

If I set my browser to English, that means I want the interface language to definitely be English. Do no serve me the interface in Japanese just because I'm in Japan. I won't even be able to find the "Change language here" dropdown ...

Now search results are a different thing. If I type something into www.google.com while being on US soil with en-us as my language setting that is in French, isn't it obvious that I might primarily be served French language content and that is what I want too? While the interface of Google is still in English? Or vice versa? If I type an English language query into www.google.fr while fr-fr is my language setting, I expect worldwide results in English, while my interface is still in French. Sure, restaurant name search results I might want sorted differently based on location and that's a good thing overall, but leave my interface language alone!

This was one disillusionment of finally becoming fluent in a foreign language. I had kind of assumed all major languages would have similarly sized, disjoint bodies of content worth reading but English dominates everything, especially if the info is of any practical use, and only for particular cultural issues do we need to read in another language.
I think I was pretty lucky with the languages I chose. Whilst I find little good French content, the German and Russian webs are pretty well stocked.
It's not just Google, all of them, Switzerland /German by default including the information to switch language every where
If you're logged into a Google account, you can change the language in settings. (I'm in Poland, and I force Google to be in english this way)
The original article mentions that, as well as some shortcomings of this method.
Aw man, Google UK's search "tools" feature doesn't understand UK nor ISO date formats. Such a strange choice to make.
Works fine with the `before:` and `after:` filters for me
2022-March-11 is the master date format. No US injected ambiguity and no chance for misintrepretation.
2022-03-11, actually. It's an ISO standard, has no ambiguity, is more language agnostic, and alphabetical sort coincides with chronological sort.

https://www.iso.org/iso-8601-date-and-time-format.html

https://en.wikipedia.org/wiki/ISO_8601

I totally prefer this date format too when I need to be clear and communicate internationally (which is most of the time).

Consider this though: It's not an inherently unambiguous and language agnostic format. It just so happens that there is no country that would write the above date as 2022-11-03. If there was, we'd have the same issue again.

Apparently there are... shudder.

> Gregorian, year–day–month (YDM) This date format is used in Kazakhstan, Latvia, Nepal, and Turkmenistan

https://en.wikipedia.org/wiki/Calendar_date#Gregorian,_year–...

i use 2022-03mar-11 or 202203mar11

it most importantly sorts properly when used at the front of a filename, and it's surprisingly easy to read; and in context I'm mostly looking at the month-date which can be picked off the end, "march 11" which is how we say dates in English anyway

time of day can be appended without messing with the collation (usually i put a space)

>"march 11" which is how we say dates in English anyway

I think every time this topic comes up I come across someone with this misconception - usually from a country that celebrates the 4th of July.

i just looked up, the "American" confusion: we got our date order from the English long ago. Then the English changed their date order. That must have been most confusing

And month/day is not as confusing as day/month (widely used in Europe) since it doesn't correspond to how we say dates.

moving the year first then using the American MM/DD is the least confusing way to do it

It doesn't correspond to how _you_ say dates; I would write 11/03 for the date, and say "the eleventh of March", so it's internally consistent.

Not trying to argue one way or the other, just adding some extra context.

July 2nd

July 3rd

4th of July

July 5th ...

Also my experience is that only Americans say the month first. Today is the 11th of March.

Definitely not. Tons of non-english languages say month first.
Unfortunately the problem exists in both directions. I run my setup entirely in English and Google will still try to squeeze in the local non-english language.

Confusingly Google will also write some sentences half in english and half in the local language. E.g. "Google is also available in: <insert foreign language here>" (rather than the full sentence being in the foreign language.

It's the kind of attention to detail that I've become accustomed to from them

> E.g. "Google is also available in: <insert foreign language here>"

This specific one might be on purpose to avoid translating language names. If you land in page entirely in Chinese but you see the word "English" in Latin characters under a link, you can click it to escape. But if it's itself in Chinese you'll never find it. I do the same in applications, have a menu for languages but don't translate language names, if you change language by mistake you can always find your way back.

The whole sentence "This page in English" or "This page in Mandarin" should be in English or Mandrin respectively.

Compare "Rirgwyd rkrgru dlwhgi ro English" to "This page in English". Which is better for people that only read English?

They're pretty close.

And when a page is in the correct language, I would prefer not to have entire sentences in a different language.

If needs be put a "Language Settings" header above it or something, but if you can read the rest of the page then those sentences are not for you!
While I used this example, which one could explain as intentional for various reasons. There are myriad other examples where there are dual languages being interwoven across google properties. Including minutia in one language, but the body content in another. Facebook/Meta's properties are the worst for this however and will intermingle languages frequently despite being an account-based service (literally ignoring the user's preferences in favour of IP-based guess work.)

Back to Google - Algorithmically there are likely straightforward reasons for why this is happening. Clearly the contents of the pages are composed from a mixture of sources, for reasons unknown these sources may not be able to detect or receive the localisation settings of the end user. Recent changes to privacy protections and cookie limitations may also be a contributor to these issues. Including the obvious: getting ads in the wrong language.

French native speaker here. UX consistency, shared Internet culture, habits from the early 90's and error messages I can actually find on the Web are the reasons why I always set my computing to the english language.

I'm trying to have English language but metric units, 24 hour clock and ISO dates... Seldom can I achieve that.

On the French-language mandatory corporate Windows laptop, Excel formulas are translated in French - so when searching for recipes on the web I have to translate them !

I enjoy sites such as Thomann.de which have separate settings for language, country and units of measurement.

Tip:Pretend to be Irish. You get English, but you also get SI and euro.
> Tip:Pretend to be Irish

Best tip I've seen all day!

I just have a custom locale for any UNIX-like systems I use. American English, UTF-8, 24-hour time, RFC-3339 dates, SI units, '.' decimal point, '_' thousands separator. I call it en_ENG, for the fictional land of Engineeristan.
I just use en_DK which (while not perfectly named) is exactly there to solve this.
That doesn't have `_` as the thousands separator. It uses ISO 8601 for date/times instead of RFC 3339 (so "2022-03-14T15:06:03 EDT" instead of "2022-03-14 15:06:03-04:00"), etc.

I just happen to want slightly different choices than it allows.

Mind to share your LC_ settings?
An explanation of all the valid fields can be found at [1]. Copy an existing locale, modify it to suit your needs. Don't forget to escape all characters as Unicode if you want it to support unicode. Compile & install as normal with localedef, add to `/var/lib/locales/supported.d`, run locale-gen, set the various `LC_` variables you want to use in `~/.profile` or `/etc/envionment` or whatever.

This[2] askubuntu answer goes into more detail.

[1] https://lh.2xlibre.net/locale/en_US/ [2] https://askubuntu.com/a/162714

> I'm trying to have English language but metric units, 24 hour clock and ISO dates... Seldom can I achieve that.

I do the same. There is usually a locale available with that, look for English (Ireland), English (Europe), English (Denmark), or English (Germany).

The problem with monolingual is the thought that there is One True Language.

It isn't so. I write half my emails in one email, the other half in another. Often emails will have sections in one language (e.g. quote from another email) and other sections in a different language.

Spelling tools must be able to detect language automatically to be of any value and be able to handle multiple languages within a single sentence!

I use LanguageTool [0] as an extension, it never has issues detecting if I’m currently writing in English or German. I sadly have yet to find a solution that works as well on my Android.

[0]: https://languagetool.org/

I've managed to set my phone to accept and suggest both in English and Dutch. Works reasonably well.
> These users will still want Google to return results in their native language.

Says who? This is a baseless assumption.

Just listen to the settings that specify what language the user wants. That's what it's for. And the browser should ask the OS or the user for their language preference. And if IT-support wants one language for the interface in order to facilitate support, they can still set the other language for browser preference.

Just ignoring all settings and making blind assumptions will guarantee you will be wrong many times.

> Just listen to the settings that specify what language the user wants. That's what it's for.

In case you haven't noticed: Users lie. All the time. Every day.

If Google found that "just listening to the settings in the HTTP request header" helped more users than it hurt, Google would have switched to using it a long time ago. The web is a messy place - sometimes you can't even trust a website to report its own encoding correctly.

> Says who?

The browser setting that every browser sends to any server it requests data from. Usually this defaults to the system language, but you can add more languages with a priority. Mine is English (prio 1), German (prio 2), yet I for some reason get tons of spanish content as I am going back and fourth between countries these days just based on Geolocation.

I think you're indirectly agreeing with the parent (and great-grandparent); both are saying "Google (and others) shouldn't just use the IP; use the browser's language setting, and if that hasn't been set, the OS setting", which you also seem to be agreeing with.

The only one differing is the grandparent, which was asserting first that users might think showing anything other than the local language is an error, and then asserting that users want their native language, and so I'm not really certain what they're asserting since those two are not always the same (maybe that the first is the reason Google does it, the second is asserting the preferred behavior, which is nearly agreement, in that the latter is doable via OS or browser preferences).

Google has literally billions of users. There are people who are worse at using computers than anyone you've ever met.

I'm as irritated as anyone when something doesn't cater to "power users". But if we're trying to understand the reason behind the decision instead of just venting, then it's instructive to consider just how computer-illiterate the non-power-user is for a product as massive as Google Search, and how annoying characteristics may be a consequence of trying to satisfy both you and them.

This isn't about power users. This will affect anyone who finds themselves in a country with a different language. Migrants, expats, refugees, people on vacation, people living in a country with multiple official languages; there are a lot of people for whom Google's way of handling this will give bad results. And it gives bad results in a way the user can't fix. If Google listened to the language settings, the user would have some control over it.
It's a setting that you can't change. You can't override it. You can't say "yes I'm really really really sure I want Google to always be in English."

It's beyond nuts. And "catering to the computer illiterate" can't be the explanation.

At least for google.com, you can use google.com/ncr to get it[1] in English (just tested in incognito mode from a non-English location).

[1] it = the front page. No guarantees that it'll work for other parts or other Google sites like Google Maps[2]. I remember noticing years ago that even with the /ncr, when the front page had a doodle, mousing over it still showed the tooltip in the local language. Billions of dollars, and can't even program a website.

[2] Yeah it still gives me my local currency for hotels in Google Maps. I live in country A, I was visiting country B, and I needed to find a hotel in my home country A. I was logged in. Google knows my address and that my account is tied to Country A (because... Play Store region locking for content, blah blah), but it still showed me the hotel prices for the country I live in and was looking for hotels in, in the foreign currency of the place I was currently sitting at. Fuck you very much, Google!

you can use google.com/ncr to get it[1] in English

I just tried, and while the page is in English, the top search results it returned are localized results to the country I happen to live in.

That's okay, but when I go out of my way to actively set the language in a service's settings, shouldn't that be honored over an assumed local-by-default? Because that's what I do with Google (individually on Search and YouTube), and it somehow forgets it quite frequently.
But Google is a bit unusual in that they both produce a very popular browser and very popular sites. Even if we suppose they know it's the case internally that many people have their browsers set to English but nevertheless want results in their local language ... they're also the ones producing a browser which allows one to set the preferred language which they then disregard.
> "The local language" is already a problem. There are countries where there are multiple local/national languages!

I have this issue with Microsoft. The national language in my country is English. However, Microsoft's store defaults to a local language that I don't speak every single time. My IP is also not from a part of the country that speaks that language either.

These users will still want Google to return results in their native language.

There are several layers available to Google though -

- They could use the system language setting

- They could use the browser's language setting

- They could use the user's Google account setting if the user is logged in

Corporations could set the system language, or the browser language, and it could still be overridden by the user in their Google account if they wanted to do that. Instead though, Google chooses to geolocate the user's IP address and use that which works for no one.

But they already have a solution for this. They have a domain with the local country TLD for people who want that language. Why do they keep fucking with people accessing the english domain?
They should give people the option at the top, and repeat it as necessary. They shouldn't just assume.

That's the most annoying thing. When I travel, I still want to see stuff in imperial units, and Google just switches to Metric and stays stuck that way.

…but chances are you are logged into Gmail which should know better… its just embarrassing honestly.
I worked at Google in 2000, and I found this annoying too, so I asked about it. The official reason was that a lot of browsers defaulted to en-US, so Google effectively treats an Accept-Language of en-US as a no-op, and then it falls through to location-based. (I don't agree with this rationale, and said as much, but there you have it.)

Note that other values for Accept-Language are not ignored. I haven't tried it myself, but I've heard some people say that setting their language to en-GB or en-CA works well.

You can also use &hl=en-US, which always takes precedence.

Interesting! Thanks :)

One sad thing is localization for Canada is kind of broken for a lot of platforms it seems? For a lot of people that I help having their locale has Canada seems to usually base it off of United Kingdom stuff including setting paper size as A4(!)

Which… I wish we used but unfortunately we don’t - we use the US paper system. this causes problems with stricter printers and printing and also just manufacturing stuff like PDFs

And once a rationale like this has become part of company culture for >20 years, there is almost no way it is ever changing.
Thank you for effectively confirming what I long suspected. Much appreciated.
en-NL worked perfectly, thanks for this tip!
This will make your browser very fingerprintable because it’s very uncommon.
I have an extension to override the locale per-site.
Trying to guess the user's language is ok as long as the user has some way to override your guess.

DDG does the same, and adds a switcher so you can change between your local language and English. That's great, because depending on the search you want, it may be better done on either language.

The Microsoft site uses your language header on their .Net documentation. That is very bad because no matter what your browser says you prefer, the only document with any reasonable quality is the English one. There is a language switcher that takes some 20 seconds to use (hurrah, javascript!) and they don't bother to save for your next access. That makes the site barely usable instead of completely useless.

What I don't get is, with the amount of information Google makes sure to collect about me, how does it not know that I prefer results not on my main language and verbatim search terms? That is even after I tell them that on their settings.

> DDG does the same, and adds a switcher so you can change between your local language and English. That's great, because depending on the search you want, it may be better done on either language.

DDG also has local and global search that you can switch, without switching the language of the site (so if I do a search with !ddgde I get German results but the DDG interface is still in English). Kagi does the same thing with !reg (for regional)

> There is a language switcher that takes some 20 seconds to use

They've finally added back the "Read in English" button they removed years ago for some dumb reason when they migrated the .NET docs to a new domain.

> My theory has always been that in any given country, there are far more native speakers with misconfigured computing environments than there are visitors and nomadic folks like me.

But then why doesn't Google just make it easier to set that setting? Honestly, when I'm in another country, I don't get too upset that Google results are in another language, I just get upset that I can't seem to find a simple way to change it.

Even then I'm probably giving Google too much of a pass, because they know everything about me. This happens even when I'm logged into Chrome. If they're able to target hyper-personalized ads to me, surely they know I'm an English speaker even when I'm in Mexico.

Google's answer to this problem is, "Just log in! Then we will always know what language you prefer." So Google doesn't make it easier to change that setting because they want you to be logged in all the time so they can track you better.
I had a fascinating issue with Google.

I am a monolingual English speaker. I visited Iceland, and as happens, Google started serving UIs in Icelandic even while I was logged in.

What was interesting was this continued for weeks after returning to my home country. There was no setting I could find to go back to English; I got good at the specific Icelandic keywords I needed to navigate the UI. Then without any ceremony, things suddenly reverted back to English.

Back in the mid-2000s, I remember there being 3 different language settings in your Google account, the one on the security page completely ignoring whatever language settings you had and always using geo-ip instead. And I couldn’t even figure out why there were 3 different settings for language.
I had a similar experience with (enterprise paid) Outlook365 Webmail (but in Italian, which I do not read). It persisted for several days and then went away before I bothered to chase it down.
Logging in does not completley solve this with google. A number of pages languages are still IP based.
It doesn't always work. When I'm in Spain, with my Google account configured to use English, Youtube search returns videos in Spanish (even though the Youtube interface is displayed in English).
Logging in doesn't solve it.
It's a mistake a lot of companies make. They are so proud of their ability to lookup a country from an ip address that they forget that there are hundreds of millions of migrants living on this planet who probably speak something else. Not to mention tourists, business travelers, etc. I'm a non German living in Germany, I have to deal with this all the time. It's a combination of corporate stupidity, rookie & clueless product management, and just indifference. It's wrong every time. No buts. No ifs. No exceptions.

Use browser and OS settings, always. Anything else is a mistake that will cost you users and business.

And they're wrong. I'm in Romania, but I use everything in English. Google is mostly in English, but sometimes decides to switch back to Romanian. Pretty decent , right? Until it decides to switch to Hungarian or German for whatever reason, two languages I have nothing do to with.
There are also plenty of countries with multiple official languages.
Well configured web sites in such countries usually offer a choice of (major) languages on the landing page.

See https://www.apple.com/ch/ (you can also type apple.ch) for an example.

It gives me a choice to choose between French and German. Where’s Italian?

Apple is rarely a good example of giving user a choice.

Having been involving in some internal projects and done the data analysis (not in Search, other areas), your guess is correct - far more people get (clearly) wrong results if you serve what the browser is asking for due to mis configuration. It’s easy to tell due to differences in various conversion metrics and huge increases in clicks to language change buttons.

It drove me crazy too before I saw the data. Geo-IP, while not awesome for exactly the scenario you are describing, is more predictable since it gives a set of baseline language/settings that are ‘right’ based on norms in the area, and people know how to navigate out of generally if they’re not the ‘baseline’ user there. (An English speaker in Japan pretty quickly needs to know how to switch languages or learn Japanese or they aren’t going to be able to even navigate the subway/buy tickets for instance!)

Many of the browser based settings get people stuck, especially since most large websites do the same geoip thing now.

It does make it awkward for folks not doing ‘the norm’ in their area, or who have an IP improperly categorized, but statistically they aren’t as common and they figure out how to handle it usually.

At least it's not as bad as Aliexpress.

They have randomly served me the page in Russian, Turkish, Spanish, Portugese, Thai, German and Romanian. The only good thing is that the menu to change back to english is less hidden nowdays.

Yet to see it in my native Finnish. And all these without a VPN and from a domestic consumer ISP connection.

I thought Aliexpress was just trying to subtly say "FU, we're the new dominant culture now" to western Europeans by randomly switching to Chinese like 25% of the time...

Guess they just have one of the buggiest locale detections in the world :)))

EDIT+: ...or maybe too many Chinese users leave their proxy/VPN on when using their site too

I can tell you, that I saw my native Polish, and I wish I didn't. The automatic translation is so bad, that I automatically rush to switch to English.
> Romanian

They figured out that "la naiba" is better than "perkele" :-p

Aliexpress also doesn’t allow me to use my normal email, I think they have a whitelist of known email provider domains or something like that. It’s a pretty atrocious website all around.
This IP based personalisation is such a pain especially if you work remotely and need to use VPN to connect to company network that happens to be based in different country. Worst thing is that Google knows very well who am I (due to me being logged in to GMail), knows what language I use, but still serves me completely wrong results only because my IP is suddenly from different country.
The ad market for lang=x, location=y must be abysmally small, even for tourist destinations. When you pretend that you didn't notice that the user is not a local you can still bill the impression and most importantly the occasional accidental click as a "mission accomplished".
The fraction of site visitors who are tourists may be low, but I expect it to be a segment with relatively more money that also is in the mood to spend on certain things. Looks like an audience google can charge more for.
I wrote a script for ViolentMonkey to force "hl=en" to appear in the query string for all google services which has been the most reliable way for me to overcome the problem.

It doesn't work for some services though but aside from signing in to google there's nothing else I can do.

I suspect they'll shut that down at some point too.

Yes, I also find this infuriating. The list of languages I speak is sent with every request, in the Accept-Language header. And ignored.

My suspicion is that people who actually write code related to this only speak a single language and only use sites in a single country.

The VPN exit point for the big tech company I work in Europe for seems to be in Poland for whatever reason. I had to switch to duckduckgo to not be served search results in Polish all the time.
I don't even care that much about the IP vs System Language part of it tbh, what REALLY pisses me off is that despite having configured my Google Account to only show me english results, it will serve me Portuguese search results just because I live in Brazil.

That is truly maddening

Can I add a category for your wall of shame? Services that couple language and location, so that even though they have done the work of having an English localization, it's not available in my location.

Financial services and airlines are the worst offenders. SAS, Degiro, Amazon off the top of my head all do this.

Degiro has the added bonus of totally breaking under Google Translate so I went to the trouble of using a browser extension to rewrite the request for their localisation strings file to fetch the English version. I'm sure there are some legal disclaimers that are missing here and there but it works fine.

I have faced the problem in steroids in India, where there are 22 scheduled languages. While I can read 3 local languages, one cannot be expected to know every single language in the general area. Keeping my computers in English doesn't help, changing the languages to the one that I can actually read doesn't help. It is sad that Google has harvested enough data about me to make a highly accurate profile of mine but can't be arsed to make usage of their products a little convenient for me by just respecting my language settings.
Browser install wizards already configure the default chosen language to the OS language, which should already be the preferred language, so I'd be very surprised if that was the reason they never bothered to fix this behaviour.

My theory is that yes, they don't lose business because of this so why fix it, but mostly because the most valuable country-markets in the world tend to be monolingual, and the US is the most profitable of them all. And everyone uses Google despite of this because well, what else?

> My theory has always been that in any given country, there are far more native speakers with misconfigured computing environments than there are visitors and nomadic folks like me. So it’s merely a numbers game: I may be frustrated, but at least Google and other companies aren’t losing business when folks with misconfigured computers close the tab because they got a page served to them in, say, English instead of their native language.

If you're right and they're following a numbers-game, Google's reasoning could only make the tiniest bit of sense if they were a disruptive minor player facing stiff competition. As it stands though, however frustrated a native speaker with a misconfigured browser may become, they're not going to flock to an alternative service. Plus, I would argue that a user that is not technically competent enough to change their own browser's language preference is the user least likely to even know where to look for alternatives to Google's services.

This is all the worst considering that a user whose browser is configured for the wrong language only needs to change their settings once. However, a user who happens to physically be in the wrong place for their language does not have the luxury of fixing the problem, short of using a VPN or travelling to a location that Google has decided speaks their language.

Well, try living in a country with two or more official languages. What you get is basically a random language. Anyone in those places suffers from such bad design choices.
> Google is the most prominent offender. If I’m signed in to my browser profile in Chrome, the search engine is served in English. No problem. The moment I try to access it from incognito, or Firefox, however, I get the Spanish language version of Google.

What if it's a dark pattern to have more people signed in?

I just hate that google makes me more ignorant that I want to be. I speak multiple languages. Nothing fancy, just related ones. I want google to search in all the languages I use and know, and not arbitrarily filter my internet into a location-specific bubble.
Businesses usually put out their SEA ads in only the local language. All the people who have their device language set to one different from the current country's language won't see those ads. I could see that being a reason.
In general I totally agree with your sentiment. As you seem quite knowledgeable in the subject I want to nitpick your choice of words in your closing statement.

> any company that uses geo-IP location to serve me pages specific to that locale

A company should serve you content based on your geographic location. That's exactly what "localization" is for. E.g. the content should be adapted to local regulations and law whenever necessary and it makes total sense to do that based on the visitors physical location and geo-IP is often the best approximator you have for that. What should be adapted to user's choice is language.

I firmly disagree with all of the above. If a site absolutely needs to know where I am in that moment, they can ask me, and I will decide where I am for the purposes of that particular site.

To pick one of a myriad of examples, I often buy software, books, etc. via the web. I don't need sites to assume I want to pay in Euro just because my IP address in that moment happens to be associated with a European IP address block. Paying with my home currency is often much easier. I should not be forced to use a VPN just to avoid this silliness.

I understand where you are coming from, but using IP addresses to determine what "locale" to use is simply not a good practice, and not just for language determination.

Well, your example will be in many cases against the law. Netflix isn't allowed to let me choose which countries catalogue I want to watch. A website isn't allowed to choose which VAT to charge and who they owe it to. In an Arabic country you might not be allowed to serve images of women in swimwear (or other revealing images). There are many more examples like that and the applicable law is usually based on your physical location at that point in time (i.e. the jurisdiction you are in). While I agree IP isn't the best choice, it is often the best available and letting the user just choose these things is in many instances simply illegal.
> Netflix isn't allowed to let me choose which countries catalogue I want to watch.

That has nothing to with the choice of language. Unless you're using some antique HTTP server that doesn't support it, use Accept-Language.

If you have reasons for filtering content based on geographic location, and you absolutely can't trust the user to tell you, perhaps you shouldn't be serving content over HTTP; the IP address is a poor proxy for geographic location. It's perfectly posible to buy an IP block in one country, and have it routed to another.

> In an Arabic country you might not be allowed to serve images of women in swimwear (or other revealing images).

If you're running your HTTP server in a Moslem[0] country, perhaps you shouldn't be serving those images to anyone. But if not, then it's your user's responsibility to comply with local law.

If the diversity of content that the internet brings is unacceptable to some nation, they can either try to do without the internet (good luck with that!), or try some kind of filtering regime like the Chinese have set up.

> the applicable law is usually based on your physical location at that point in time

"Your", i.e. the site user's location. But if you're geared-up to charge VAT in the first place, then you're able to handle things like delivery addresses in EU countries. At any rate, if your site visitor fails to pay VAT on purchases, it's the user that has committed VAT fraud, not the server operator. So operators should simply ask users where they are, for those purposes.

[0] Not all Moslems are Arabs, and not all Arabs are Moslems.

> That has nothing to with the choice of language

That is exactly my point. Localization isn't about choice of language and thus the choice of words of GP was wrong. He was talking about language, translation or internationalization. Localization is about adapting your website to a different local target market. The whole premise is of course that the company wants to do business in that area and then they have to follow the local law.

My comment was a response to the GP stating he wants it to be the users choice to set their location, but a company doing business in different countries can't just allow the user to choose with which entity it wants to interact through their website (Netflix being a prime example).

I explicitly said Arabic and "might" as I only know it's a problem in some countries in that geographic region, which is probably due to religious reasons, but I explicitly didn't want to bind it to religion. The biggest Muslim country is afaik Indonesia and they are not nearly as strict in these regards except for maybe the Aceh region.

My ISP covers two jurisdictions with different primary languages. IP geolocation often places me in the wrong one.
You know exactly how to get to Google in English though, don't you? A new person picking up a misconfigured laptop seems much more likely to get lost than a temporary visitor to another country.
Google is built entirely upon the idea that they know their users and can therefore serve effective advertisements to them. The idea that they don't know what language their user wants seems absurd.
The fact that they don't know what every single new visitor to their site wants before they even get there is absurd?
That's not the point. People should not be forced to switch from one language to another, multiple times, for every site they visit, when in a country that speaks a different language than the one for which their computer is configured.
Your justification works for both sides.

You shouldn't have to change this setting multiple times when you're in a country that speaks (well, writes, really) a different language than your computer is configured for. You would like the web to respect your configuration.

On the otherhand, the general public shouldn't have to change this setting multiple times when they're in a country that writes a different language than their computers are configured for. They would like the web to respect their location. Even though they imported a computer configured for English and don't know how to (or don't want to) configure the language options for the whole computer or the browser.

If language settings were easily and often set, they'd be respected more; but if there's a good chance people are more likely to want a local language than what the computer thinks they want, then ignoring the preferences is the right thing for most users. Even if it's infuriating for those it missed. When I had the fortune of working on multi-language sites, I would try to have each site have their own urls, but some places insisted on one url, multiple languages. Trying to make a reasonable initial language decision and then a language picker with a cookie was the best I could do.

I think this is the answer ('misconfigured' local machines). For mobile phones at least, my understanding is that many bilingual people will set their phone up as American English because they believe the phone experience will be better, but then search primarily in their native language (like Hindi for example). Having location trump the language settings here makes more sense- however it should be configurable for logged in users. If it's not that's madness.
Google and other internationalisation efforts are absolutely a mess in India. India has many states based on languages - 22 listed languages - essentially each state has its own language and its own script, except in the Hindi belt.

Its not fun to be a North Indian to work in the South or vice versa- you may often be served a page in a script you cannot decipher fast enough or read at all.

Indeed, I once read a story that said there are a lot of misconfigured computers specifically in Japan, so that's why they ignore `Accept-Language` if it's set to English. But yes, this is incredibly frustrating for power users like me who are fluent in English and prefer not to deal with half-baked translations.
> native speakers with misconfigured computing environments

How many of those are "misconfigured" and how many are set to en-US because that's the language they want for their computer.

I mean, what's actually stupid here is that there isn't any way to configure this properly. It's wild that the default behavior is the only behavior. I'm not even sure I believe it.
I think they do this to force people to login to their Google account (in order to change the language setting.)