Not accepting Accept-Language is one of my major pet peeves. What makes it worse is that many multilingual websites translate their language-switching buttons and the list of languages to the current language .... which is beyond fucking stupid and defeats the purpose. Wikipedia does this right. The button to switch languages is clear, using a universal multilanguage icon, and a list of languages (using the name of the language in that same language) in alphabetical order, with the most likely candidates on the top (presumably based on geoip).
E.g. an English Wikipedia page will present me with the following language suggestions:
Suggested languages
Deutsch
Français
Nederlands
When you assume a language, you make an ass of you and of me. Don't be an ass. Be like Wikipedia.
A related issue that has me fuming is when, after arriving at a page of interest from a search engine, a modal popup forces me to select the country I'm from, and then promptly redirects me to the homepage of the regional website.
Some have a X button to close said dialog, but many don't which is really aggravating.
Google does this. I want to check out the new device they just released - "sorry, this product is not available in your country". I just wanted to read the specs, not buy.
Well, it's in an order, but I don't know about alphabetical. I clicked on today's English featured article and looked at the languages: "中文", "Italiano" are "suggested", then the remainder are grouped by geographic region, and aren't particularly alphabetical. They appear to be in groups which are still not alphabetical. Europe seems to have a Cyrillic group but "Қазақша" is shown after "Українська" which isn't accurate in Kazakh and probably also unexpected for anybody who isn't familiar with the letter Қ (Қ isn't a letter in Russian, this is probably why this happens). The Chinese languages don't seem to be in stroke order (no expert here), although Korean is below them (because of course, K for Korean alphabetizes after C for Chinese).
Anyways, no hate for Wikipedia; they do a great job of localizing. Just a bit of nuance/pedantry about how you can't "alphabetize" language names in their own language.
Not so, this sort order has been standardised as part of Unicode for at least 28 years. To see it in action, pipe the list of languages as a text file through a conforming tool like `ucsort`. When Қ is falsely sorted after Ч, then the wrong algorithm or no algorithm at all has been used.
> because of course, K for Korean alphabetizes after C for Chinese
It's a circular dependency: how do you sort and list the locales or languages for someone to pick one, when by definition you don't know their locale yet?
You have to either make some best-guess approximation (IP geo, browser headers, etc) or use a locale-invariant sort, both of which will be wrong in some cases.
can't you just sort all as int? the codepages usually come roughly sorted, and while no one knows which of 檎 or 橙 comes first, I don't think it'll be particularly offensive whichever way a random app did, to most.
That would be one locale-invariant sort as I said. Sure, you can pick some way of doing it that's least-bad. The codepages are roughly sorted, but what we're debating is the cases where that fails some definition of correctness. The point is there can be no universally correct answer for sorting locales before the user picks one, because that can depend on already knowing the locale itself.
We can find a sorting order with the minimal total distance between where we place a language entry and where this entry would be in that language. If there’s no pair of languages A and Ä such that A > Ä in one and Ä > A in the other, then (I guess???) this total distance will be zero.
Yes, the DUCET is bound to disappoint everybody (especially users of the Latin script with diacritics, as none of them agree on the sort order and everyone’s preferences are tied to the specific subset of diacritics they need), but at least it disappoints everybody more or less equally.
(Do yourself a favor, though, and use the CLDR root collation instead of the raw DUCET—they are basically the same, except, and I’m quoting the standard here[1], “the DUCET is not entirely well-formed”.)
Yes, that’s confusing and probably hard to find a good balance. Someone speaking Greek or Czech may expect to find their language around E (Ελληνικά) or C (Čeština), but nope, on Wiki it’s all the way after Z.
Don’t special characters always go after the Latin alphabet? I think this is pretty common, and fairly expected behaviour. Of course nothing is perfect but I feel like the way Wikipedia handles it is consistent.
Well in my language "é" is absolutely not special, and should definitively be placed near "e" (to the point that uppercase é is often written E instead of É)
> If you want to see bizarre sort rules, look up how french sorts accent characters.
I tried to do this, but there do not appear to be any sources addressing this question.
I did find a French Stack Exchange question asking for this exact information, and complaining that there are no sources (other than an uncited wikipedia page) that address it. There is no answer posted, but there is a comment from a French guy suggesting that there are no official rules.
If I recall correctly, the default propose a first list that push items which are guessed most likely what the user expect, then a list more complete, and in any case let you filter by typing. I think it also can change the way it behave if you are connected and tweaked your preferences in the matter for your account.
Wikipedia uses UCA sort order in categories (depending on which lang wikipedia you are reading). Most other lists just sort using unicode codepoint order (in NFC). So it depends, but yes, for generated lists other than categories ascii characters usually come first.
That’s English hegemony. Languages have their own sorting that they expect. You can’t impose rules to other languages.
Of course at some point Unicode needs to be ordered, but you don’t get to impose technical details to people around the world because it matches with how English does it.
That’s where geo-ip guessing becomes relevant. Show a list with the most likely languages at the top.
Or use the Accept-Language. Since we already know the User understands that one, it's probably a reasonable choice for which sort order they expect too.
> The Chinese languages don't seem to be in stroke order (no expert here)
They are for me. In the Asia section, 中文 ["Chinese"] is listed first, followed by 吴语 ["Wu"] and then 粤语 ["Cantonese"]. Stroke order is first by stroke count and then by an obscure criterion that I don't know (and that, in my experience, Chinese people living in China also don't know), but stroke count is unambiguous and these are in order: 中 4, 吴 7, 粤 12.
Note that they aren't in alphabetical order: 中 Z, 吴 W, 粤 Y.
Japanese appears between Wu and Cantonese for unclear reasons.
It is sorted FIRST by radical and SECOND by stroke order. This is roughly equivalent to the Unicode codepoint sort if you stay in the basic multilingual plane. The order also puts literary chinese afer wu Chinese, which breaks with a pure stroke-count sort:
Dictionary lookup is done first by radical and second by stroke count. Collation is not. Stroke count is first.
For example, I have a book of 成语 stories that gives its table of contents in non-alphabetical order. (Since nobody understands the traditional ordering, I also have several such books that put their table of contents in alphabetical order.)
Note that 三's radical is 一, the first Kangxi radical, and that 一 is listed first. Your theory is wrong. 三 isn't even first among the 3-stroke characters, which start (among these) with 口.
Why did you make up a false answer to this question?
The Wikipedia sort for the languages is as I stated above, with Literary Chinese and Japanese between Wu Chinese and Yue Chinese. I explained why it was sorted that way, because radical is considered first. You could not explain why Japanese appeared between Wu and Yue because you insisted and continue to insist that radicals are not used.
I didn't say sorting is never done by stroke count alone. But I have seen radical+residual stroke count much more often than stroke count alone. Probably a result of the content I'm accessing. It's mostly Japanese and not intended for children.
The dictionary and non-dictionary sorting distinction that you make doesn't sound like a real thing. The audience, the country, and the number of items sorted are bigger factors. But you're not wrong in that stroke count is sometimes used alone.
Oh nice! I never noticed that "Suggested languages" shows languages I previously selected.
But additionally, I like how it's not simply "pushing to the top", it does shows a previously selected language on the top, but it still keeps it duplicate in the list below, in case the user is going by muscle memory.
To me this is the best way.
Either make it VERY OBVIOUS that you're removing the item from the bottom of the list (which wouldn't be possible here), or don't remove it at all.
If I had a cent for each time a SaaS made my life harder by trying to "help me" I would be CEO of every SaaS I use.
I can give a perfect bad example: the Youtube app on my iPhone somehow determined to change to Amharic. This is the Google support article: https://support.google.com/youtube/answer/87604 telling me the buttons to press in English. Also, I don't know/speak Amharic, and so at the time had no idea what language it was, and the iPhone translate doesn't even recognize this Ethiopian language. Bit of a pickle that could have easily been mitigated by a universal multilanguage icon.
Or the ChatGPT app which can be baffling. My phone language is English, I've set ChatGPT app specifically to English in the app settings, I ask my questions in English, and every now and then it still decides to answer in German.
Yes, actually. Is there an article about it? After updating to iOS 18.4, Amharic was appended to the end of the list of preferred languages in the iPhone Settings app. However, what's interesting is it was ranked below English, and apps are supposed to use the languages list in order, but perhaps Youtube is alphabetically sorting the list?
Indeed. Wikimedia wikis' language selection feature relies on Unicode CLDR language-territory data. This is very complex to maintain (and there are still many mistakes to fix), because reliable data is expensive to collect.
Ironically, given TFA, it seems to be primarily using the user's IP:
> How does Universal Language Selector determine which languages I may understand
> ULS queries a service that determines your originating country based on your IP address. This is inaccurate in some cases. Based on the country code, most often spoken languages are suggested for you.
There are two levels of this. If I get some other European language, I can generally figure out which is their word for English and it's not a big deal to switch. But if it gives me a script I don't know, like Bengali or something, it's a problem.
Perhaps every "choose language" menu should include English and Chinese in non-localized form, as an escape hatch, since almost every web users can recognize enough of them to navigate a menu to find their actual language.
Just include languages in their own script only. Why would a user need to select a language from that menu for which they DON’T know the target script? Showing Bengali in Bengali script is exactly what you want.
My favorite is the sites who do parse Accept-Languages, but then pick the last one in the list instead of the first. I have mine in rough order of my competence in them, which gets me my least-competent language on some sites even when my most-competent is supported.
I get a kick out of it when I see it, because you can understand how it happens. "Well, at least you tried."
It is wrong to blame the server here. For better results in content-negotiation, a user-agent should allow you to assign numeric weights instead of just a list (implying the same level of preference). Example:
Accept-Language: en;q=0.7,pt;q=0.3
If you already send something similar to this, and the server gets it wrong, then this is an outright bug, the software or its operator is out of compliance with HTTP.
This parameter, at first glance, appears to be used as numeric weights for automatic translations served by default, what turns browsing very uncomfortable (wrong translations, distorted texts).
Ie. Google, Youtube, Reddit.
Automatic translations should never be served by default, but only be loaded if the user requests it. The classical "do you want translate".
99% agree, but there is a problem on mobile, to switch from Spanish to English when I click the glass to search for alternatives. I have to type "Ing" (that are the first letters of "Inglés") while it shows "English" in the list of matches. It would be better if I can type both "Ing" or "Eng".
It's even more amusing when the displayed list looks like it's sorted randomly, but in reality it's sorted alphabetically in a different language to the display language..
e.g.
Nederlands
English
Français
Deutsch
Espagnol
(but if sorted in English: Dutch, English, French, German, Spanish)
I don't understand why you would want to select Inglés instead of English? You want to selecf English, or Español, or Nederlands, or Deutsch, or whatever language. If makes no sense for it to be translated.
So much this. I also hate the implicit assumption that everyone understands just one language that's baked into this kind of design. I can comfortably read in four languages, and naturally prefer the original language to (typically) bad localization. So your guess at what language I would prefer based on my IP is virtually guaranteed to be wrong. Seriously, just look at what languages I'm already telling you work for me. There's no reason to assume I'm not smart enough to correctly configure my browser's language settings.
It gets even worse with YouTube and their awful AI dubbing that's always on by default. So now for solidly half the videos I watch, I need to (1) open it, (2) click through the settings to turn off the AI dubbing, and then (3) rewind back to the beginning and start over. It doesn't take a lot of time, but it's incredibly annoying.
YouTube‘s AI dubbing is truly awful. It took me 5 minutes to realize the audio I was hearing was coming from the video itself, and not some random ad in a different tab.
I also don‘t like that video titles are shown translated. It‘s so weird when I‘m watching a video in spoken English, yet the title is in a different language.
It's especially painful since they don't translate all subtitles.
I'm french, but my browsers are configured for English. Some (but not all!) english titles are translated to french, and some french titles are translated to english. This actually caused me to miss a few uploads from channels I'm subscribed to, as the language of the title is part of my mind-filtering for those channels.
I even have Spanish set in Google as one of my known languages and it still auto translates everything to English. I'm not fluent in Spanish, but one of the well known good ways to get there is to consume native content, but YouTube makes that hard.
Much more importantly: Never ever auto-translate content to the user's language.
Present what languages you actually have the data in. The user is smart enough to click the "translate" button in the web browser should they want. That translation is also likely to be better quality.
English is not my first language. Or my second. But I understand it well enough to work in it every day. And I never ever want to wade through auto-translated garbage just to find the right button to read the original English version. Because for some reason this is only a problem for English, web sites using other locales never do it, which should be indication enough that international visitors hate it.
If you ever think about using machine translation tools for you web site, first you must do a full translation round trip for every language before publishing. Translate, paste back the result and translate back. That is roughly what you intended to publish. Don't do it.
I hate reddit because it auto-translates to French and users have a specific style that would be hard or impossible to really human-translate anyway.
Even if I didn't speak English the translated content would not be worth it.
The feature to change the language or show original content is hard to find and it depends on wether it's the app or mobile web or desktop web.
They also try too hard to make us download the app but that's an other issue.
I also hate the youtube "feature" that translates the titles of videos to your setting's language. This is so annoying. I can understand English and don't need these automatic translations.
> I can understand English and don't need these automatic translations
I think it is far worse than that:
1. If I don't understand a language, probably that video is not for me. Most videos targeted for international audience are in English, or at least the author translated it by theirself.
2. Titles are small sentences, and they don't have enough context to be translated. Once I saw a video called something like "Vamos assistir uma conexão com o passado", which in Portuguese means "Let's watch a connection to the past". I needed to de-translate it in my brain to understand that the original title was "Let's play A Link to the Past"
3. Online resources are a great way to exercise a second language. So, please, don't underestimate my capabilities. At least let me try to read in the original language by myself, if I need the translation I how to use Google Translate or a dictionary.
I reckon that this feature makes the access to online content more democratic, it's ok. But at least let me disable that since it makes the experience worse
There's a video that Youtube keeps sending me with a translated title "O segredo das lavadouras" (what translates to "the secret of washing machines") that is about picking screw washers...
But the real problem is when it decides to translate the titles of some perfectly watchable videos in English into something that uses the Cyrillic alphabet, what has no relation to my accepted languages, and is only used half-way across the world from where I am.
And most of the times, the translation misses a core part of the title, making it harder or even impossible to understand. A recent example is "I booted windows from Google Drive (part 2)", which got translated to "inicié ventanas de Google Drive", which misses the whole point. Luckily for me, the miniature said what the video was about, and I could understand and watch it.
About the translation, sure, "boot" ≈ "iniciar", "window" = "ventana", but for (microsoft) windows, and other names in foreign languages, the same name must be kept.
I'm sure YouTube's algorithm rewards people for using this feature and making their "content accessible", but if you serve me up an ugly machine translated Norwegian title rather than the English one I could read just fine, that's from my experience a signal that your YouTube channel is low quality algorithm-chasing garbage, so I click "never recommend this channel".
What a catastrophe. You punish the wrong person, and even worse, a channel owner will not even receive that signal! The vast majority of channel owners with English content is not aware what's going on. A friendly e-mail to the channel owner explaining the problem and asking to manually disable auto-translation is much more likely to achieve what you want.
If you want to get rid of auto-translation on a systematic level, provide feedback to the operators of Youtube through their official communication.
So what you're saying: Please complain through proper channels and hope they accept your input?
Or should he just keep using the signals he gets and immediately clean up his feed?
I actually see this as a feature. YouTube recommends a lot of garbage. I suggested that they improved my feed but they implemented this signal instead. I use the exactly this method to weed out a lot of content I do not care for.
You cannot tell the 500 pound gorilla anything. I prefer my videos without subtitles. I have that set as a preference. Yet when chromecasting it is common for the subtitles to spontaneously turn on. And has done so for a long time.
English is not my first language and my first language is not widely used. Hence I am not used to dubbed movies/programming and I am used to seeing subtitles.
If a native english speaker could understand the horror show that the machine generated subtitles are. If you are used to subtitles they are extremely hard to ignore. You will then read and get the understanding (often hilariously wrong) before the audio catches up and you might end up rather confused.
I can understand an American might have a hard time watching a subbed German movie. Thats natural because it is not common. But when you grew up with subtitles it is actually effortless. Except when they are poor. Then it becomes worse because of the cognitive load of 2 languages and the effort to figure out what is correct.
Dear english only speakers: Translation is hard. A poor translation is worse that no translation as it obfuscates the message. AI is not there yet at all. Maybe impressive but often not helpful or plain and simply distorts the real message.
What I wanted to transport is the following idea: attacking a channel owner (who is most likely innocent and did nothing wrong) with a metaphoric sledge-hammer when a more gentle and precise tool will do is not a great way to conduct oneself in society. vintermann and clan have a feed now without content that bothers them, but at the cost of lowering the channel owner's reputation in the eyes of the operators of Youtube, with the effect of slashing recommendations for the videos of the channel owner at large and his earnings. That's not nice, we should be considerate of the consequence of our actions. Does this make sense, do you understand this perspective?
This behaviour rankles me, I think is on the same level as the misuse of the feature "report this as spam (to some upstream entity/3rd party)" for e-mail messages that are not actually spam.
The channel I'm interested in would be of great interest to English speakers. There are only a few people brave/stupid enough to travel to dangerous places (Ukraine near the front) to do a documentary. I cannot blame the author for turning on the translate, it likely overall expands his reach and is a good thing for those who are not interested in his native language. However I'm trying to learn his native language and getting dropped to English out of my control is not helpful to me.
Youtube really doesn't make it obvious that a title got auto-translated. I now realize that I've seen this happen before, with a video that had a different title on my TV than on my computer, but up until this very second I thought it was my TV's fault.
Even being aware of this - how do I know that it's an auto-translation, rather than someone making AI slop in my native language, without watching the video?
My computer is set to English even though I'm German, and sometimes Youtube will treat me to this really uncanny machine voice with really weird phrases because it auto-translated some German video or advert.
Lidl is worth it, ja!
> Why is it so hard to just add something as a setting/feature and offer it to people without forcing it on the user?
Office politics. Google is famously "performance-driven", so the manager in charge of that feature needs usage metrics to be high for the sake of their own career.
That's a funny idea—if the KPI was boosting adoption of a feature and the PM just made that feature the default and suddenly adoption was through the roof.
Same here. My native tongue is German, I live in Switzerland, but my settings on all devices are English.
I do this on purpose, because I find everything is more searchable. I don't even know any German terms for most technical things I might search or look for. So even if the automatic translations were good, which they aren't, this would be a non-feature.
My browser already tells them what my preferred language is. Just use it.
Living in Zurich (German part of Switzerland for those who don't know), Windows 10 in English, the built-in Microsoft Store used to offer content in... French.
Now it's a mix of German and English, e.g. 1 heading is "Spiele-Bestseller", and the next is "Best selling apps". And prices displayed as "28,00 CHF" (correct would be to use the decimal point).
Not only the titles, but also the audio track. There's a few youtubers I regularly watch who are trying to branch out into some additional languages by providing fan-made translated audio tracks, and english is sometimes one of those. Every single time I watch one of those videos, I have to manually set the language back to the original because often the translations lose some of the word play or hidden meaning in the original language. Often it also means I need to rewind the video because it started playing before all the controls have loaded (because youtube hates FF with youtube-related extensions) and I could swap the language track back.
One of the sister replies linked to an extension to help with that, which I'm going to give a try, but it's annoying that there's not a simple toggle in the youtube settings to tell it to always use the original language. On the rare occasion that I want to use the translated audio track, I can do _that_ on my own; I speak enough languages that this is a very rare occasion with the type of content I watch.
This isn't even something I can understand as them being hostile to ad blocking or wanting to push ads. This is a 'convenience' feature that is just poorly implemented. But I'm sure there's some PM that got a pat on the back for it.
Now Reddit results are translated as well in Google, Kagi, so you think you have found a relevant response in your language, but it's just a machine translation from an English post.
Leads to foreign-language posts on English-speaking small subreddits as well. I see plenty of Portugese, Spanish, Italian and German in communities that barely have enough traffic to debate in a single language.
Thanks for the link, good to know. Gives me a fuzzy feeling to pay for a search engine whose devs you can actually interact with and are actually working on improving their product.
It's even worse for videos with "official" dubs. I have been jump scared by German and French dubs on certain videos recently, I distinctly remember MrBeast, Mark Rober and Nick DiGiovanni. I have set my language to English and my Region to US (worldwide) I don't know what gave YT the idea to preselect these dubs for me, I have seldomly even watched a video that is not English.
Using Brave on iOS I haven't encountered it yet. Perhaps it strips some information? But with the official YT app I have, and it was both fascinating and annoying.
I don't even get the point of that. If I need a translation of the title, I won't be able to watch the video anyways. At least ot makes some sense with the horribly auto-translated videos now, but they had the title translation for a long time while the video was still the original language.
I get you and normally wouldn't either. I was a little impressed when I could switch to like 10 diff languages on the fly. As a foreign language learner seems like it could be pretty helpful.
It's probably most useful for utility or news content. Not 'high effort videos' about an interesting topic. I'm imagining you find a video in another language that fixes a problem you have and can switch to your language to watch.
I sometime watch videos in English with the automatic subtitles. Sometimes I can't understand a few words and the subtitles help me. Most of the time I watch them without subtitles, and rewind the video a few seconds to rewatch a short part with the subtitles enabled.
Worse is the auto-dubbing in some channels. Which cannot be disabled. That has resulted in me stopping to watch a channel completely due to the inability to select the original language (youtube mobile website).
What I don't get is how the feature works. I see it for veeery few videos and those are usually highly profitable clickbait and/or big budget productions, so my assumption has been this is actually something the uploader has to enable or even fill out. My language is very "small", so it makes sense that only the broadly-popuar and highly-profitable would be worth translating the titles for.
Unfortunately, all the translations are machine-translated garbage and there is no setting to turn this off as a viewer, so it's just incredibly annoying.
It is not just that these translations are not needed, they are often - in my case German - of a low quality, contain errors and lose information which the original language contained. And the roboter voices loses all the interesting modulations of the original voice. Even a Fireship video sounds terrible when translated.
While i appreciate the effort that Mark Rober puts in his Youtube videos making them multilanguage, i absolutely hate that native voice. It's one of the few Youtube shorts i have to play twice because of it.
Gosh this annoys me so much. I am native Portuguese speaker but have all my settings in English. It always tries to auto-dub Portuguese content into English, how do I turn that off?
So much this. I suspect the idea that a person speaks more than one language is absent in US silicon valley. Else I can't explain why youtube only lets you set one language. Heck, even google allows you to configure all spoken languages in your account, the very same google account you use for youtube. Yet youtube ignores it and has its own settings.
I think the issue is not speaking more than one language, but not preferring your native language over the original content's language. This is a very American-English-centric view of the world, where content is made for your language and your demographic. Consumption from outside the US is the exception.
In the rest of the world, and especially in Europe, this is the norm, not the exception. On one hand there is the prevalence of US English media (hello hollywood), US english literature (esp. in tech); and on the other hand cross-consumption between EU countries is much more common.
Oh, and the content ends up being in English too, because that's how to reach many people. We don't want those to be translated, because we don't want a double translation. This is something that the US / Silicon Valley mind cannot comprehend.
I think it's more a matter of "why would they have their system language set to X if they speak Y? If they want Y, they should just set their system language to Y!"
It's the idea that the user has a preference for something, and it applies always and everywhere, even when it's not applicable.
It should be absolutely clear, when i speak English and German, do not auto-translate any video title in those languages to the other. You wouldn't believe how bad the translations are, and how unwanted by me (the user). Worse when you speak a third or fourth language, and tend to watch videos. It gets messy.
It was more of an example in how they pick up on _some_ signal about a users language preference and then arrogantly assume they're correct in their decision, and that it's the user's fault if they assumed wrong.
Jesus H Christ, I once a month google to see if there's a proper way of stopping this (You can block this with TamperMonkey)
2 things that absolutely kill my experience,
1. Messing up with titles, specially if the contents of the video are still in a different language, Which Kurzgesagt will I get today? Only YouTube knows, this is annoying if I know the youtuber could use a different language in the title to make a joke
2. Messing up with the default audio tracks, I don't mind if the YouTuber has a dubbed track, that's awesome for getting more exposure, but I already know and expect a specific voice and it's extremely jarring
By the by, one quirk of poor language handling that I think it probably harming YouTube is advert language.
Every one of my subscriptions is an English language channel, and my language choice on all Google properties (where possible) including YouTube is English. It's not hard to judge that English is my favoured language.
And yet... every video advert I receive when travelling is served in the local country's language. It doesn't especially bother me, since I actively avoid listening to adverts (and indeed, now pay for Premium lite to avoid them almost altogether) but it's a weird not-so-edge case that I'd have thought a company as large as Google might have addressed already. They've absolutely got the tech to deliver adverts in any language. (And it could be powerful: imagine receiving adverts for local businesses in your native language while on holiday.)
Do you have en-US or en-GB as an alternate, lower-priority language?
If an English variant is in your Accept-Lang: headers, I'd hope YT wouldn't auto-translate English titles.
The other thing that Google might properly use is account-specific language settings. But if they're using GeoIP as has been suggested, I agree they're doing it wrong.
I mean, I can deal with the titles, but recently it has been auto selecting machine translated sound tracks, without any way to disable it. And they're bad, like maybe one level above 2010 phone TTS system
Hear! Hear! It enrages me. They also automatically turn the subtitles ON, making you constantly have to disable them. There is no way for multilingual users to add a list of the languages they understand, which is an insane limitation that's been driving me crazy for years at this point. Wtf are they even working on at youtube's HQ? Making video thumbnails larger still?
My biggest annoyance is with Google. They know who I am, they know I am traveling, they know my language preferences (English) and yet I still get language based on my location on certain pages.
I let you track me Google, please use it for some good UX and not just advertising.
Indeed. Catalan speakers have Spanish forced down their throat no matter if Spanish has never been associated to the Google account in any way, nor in the system or browser language preferences.
In my case, I live in the United States, but Google is determined to serve me Spanish results even for Catalan-related queries. E.g. preferring the Spanish Wikipedia. The search engine's behavior has had ups and downs over the years, but it has never been great.
This is very much a problem for my children, who don't understand Spanish, as well as for the Catalan-speaking regions of the world that are not in Spain, including Andorra.
In my experience, Gemini easily flags any Catalan content as unsafe and prevents the conversation from continuing. Even for prompts like "summarize this article". This may have improved lately, but still.
Google used to be an example in sensitivity to the world's diversity, being a responsible major player. Way back. Now, although I applaud some efforts multiple teams continue making, it is obvious this is no longer a priority.
Indeed, somehow Google is the worst offender with this.
Lately they've decided that auto translating the local language into English in Maps reviews is the wrong thing to do. They translate every other language into English but somehow since I live in this place I must speak the local language too, so I don't need that in English.
Ditto for search results. Surely you want Wikipedia in the local language! I mean you've been there for so long! You search for things in the local language, surely that's a sign of your preference and not the fact that searching for things locally requires use of the local language.
This also applies to so much other "we must make our software so smart and guess all your preferences". Google fails so consistently at this I cannot understand why they persist other than some sort of misplaced corporate self regard.
He told me that for efficiency, they had different stages in the content rendering and that the main page structure didn't have your user information yet. That's rubbish IMHO because the accept language header should be readily available in that phase.
I've seen similar dysfunctions in other big orgs where a feature or bugfix would need to cross team boundaries and the outcome inhabits zones of vaguely defined responsibility.
The guy you argued with sounds like they were semi-justifying this with the typical "noogler" rose colored glasses.
That's so annoying, every time I'm on a new device/browser, Google and all their services start in Hebrew. Even though I'm signed in and have changed it to English a million times already. It's not that I can't read it, I'd just rather have everything in a universal language rather than a translation
Its strange that Google knows I live in the UK and speak English. When I'm signed in to a TV in a hotel room in Spain watching English YouTube videos it then shows me a Spanish advert. Just feels really silly when I don't understand it and they know full well that I don't understand it - still they can charge the advertisers.
When I was in Romania for my IELTS, I could not use Google Maps. Despite my Google account specifying my preferred languages as English, Ukrainian, Russian in that order and my Accept Language header set only to English, that was not enough to not discount those preferences as a configuration error and serve me Romanian.
Using Google search, which luckily did not decide to show me "local" results to an English query like it often does home, I found a support thread suggesting I set my Accept Language to have something other than English as a second language. Lo and behold, the page decided to now respect it.
What incentives does Google have to improve UX in this way? I absolutely agree that it should be the case, but the people for whom it matters are (1) completely insignificant wrt to the whole user base and (2) mostly care about tracking and try to circumvent it.
There are 700+ million people living in Europe. The countries are tiny, most have bunch of official languages. The fix would be to use users selected language and not to flip flop it based on location. IP based location guessing doesn’t work even down to right country in here.
That is not an incentive. There is nothing in to for Google.
It is of course useful for those 700+million, but they are not customers of Google, they users/the product. So long as you won't go elsewhere (in mass) you don't matter.
>(1) completely insignificant wrt to the whole user base and
At any one time, there's got to be tens of millions of people accessing Google from a country which has a primary language unknown to the traveller. Even if this number is insignificant compared to Google's full user base, the cost for Google to service 20-30mn people with a feature is presumably lower than their annual ad revenues across 20-30mn people.
My worst experience was that after arriving in a new country the Play store didn't show local apps because my Google account was assigned to the old country. And changing the country wasn't easy and meant abandoning the old country and it's apps. Since I travel a bit back and forth I ended up buying a second phone and creating an account for the new country.
This is indeed extremely annoying and I never understood why so many apps are configured to only be available in specific countries. Like what at all do they stand to gain doing this?
Google will then go on to complain about users installing APKs from shady sources but this practice pushes users to do so. I'm sure a decent amount of users ended up with malware on their phones just because they wanted to install an app that wasn't available in their listed country.
You solve it the best way to fit your case I guess. On android I created a set of alternative accounts that each belong to a different country.
All accounts can be active at the same time on the same phone, there is a dropdown to switch in the Store app, and that works even with a work profile on the side. I've yet to see real downsides, except for course remembering which account is on which country and manually switching.
Yeah it's amazing that Google is the worst offender.
I think this is because half of Google live their entire career in California, so they don't know about other languages, units, time zones at all.
It's weird, because they employ SO many foreigners, bringing them to California. But somehow upon arrival they all get memory wiped about the existence of anything outside the bay area.
Other companies do this right. Google is user hostile.
No. I will NEVER navigate by bike, foot, or public transport in these strange America-only units.
I worked on a project where I was responsible for implementing accessibility and multiple language support for a government adjacent site. I used Accept-Language to decide which of our supported languages to use as the default. The PM over-ruled that decision and forced a EN default.
The accessibility auditor put "use Accept-Language" into they audit report as a "red" item and then ripped the company a new one when they found out it had been initially implemented that way but then reverted.
I got another couple of weeks of contract work for this and other such stupidity.
> Every browser sends an Accept-Language header. It tells you what language the user prefers, not based on location, not based on IP, based on their OS or browser config. And yes, users can tweak it if they care enough.
This is also a broken assumption.
First, Accept-Language is an ordered list, and most daily-multilingual people don't have an absolute order of preference, and more a topical list of preferences.
If I read an English news site that has a translated French version, it doesn't matter if I'm most proficient in French, I'll want the English version.
Then, as an affect of the first point, users will specify their most practical language, not some actual preference. For instance local non-English sites tend to do less shenanigans than international English ones, so having one's language set as English only will force English display for the former, with few impact on most other sites.
A French site ignoring all preferences and just pushing the French version by default actually helps in that case.
If anything, I just wish site owners stopped trying to be cute or clever and just had a very obvious and quick interface to switch to other versions. Wikipedia does it decently well for instance.
> If I read an English news site that has a translated French version, it doesn't matter if I'm most proficient in French, I'll want the English version.
The solution there is not to abandon the very useful Accept-Language header, but to never offer half-baked translations. Is your website multilingual? Fine, but only offer fully translated and verified translation sets. It's OK to have your UI and your own content translated in a few languages — for a company that may make sense depending on their target clientele — but you'll have to maintain all of these and keep them in sync.
However, user content is off-limits. No automatic translations unless you only offer those under a button to be helpful (like 'Spanish detected, click to show an automatic translation into English'), but really, leave that to the user's browser.
Use Accept-Language to pick a language, and then offer me a way to switch in addition to that. That's all there is to it.
> Wikipedia does it decently well for instance.
Wikipedia doesn't do that. Each language is its own instance, where content may be ported to by translating it (or parts of it), but outside of the Mediawiki UI texts, it is not a translation of the same content. The Dutch version of the lemma 'Language' is a different article in a different language with some overlap. There is no claim made that it is the same article in Dutch. It is hosted on a different sub-domain and path on purpose.
We can look at the reaction from smaller youtubers as auto-dub rolled out. Most are sympathetic to the quality issues but are seeing it as either a "good enough" or at least a "better than nothing" feature that helps them expand their audience with no visible cost on their side.
Or official government sites that have explicitely disclosed AI translations and didn't bother passing it through a regular translator.
This situation just won't get better. Except perhaps the day AI is actually intelligent and we have human being level translators running on cloud servers.
> Wikipedia
Yes, those are not translations, but in that specific case they also don't need to: the quality of the article will vary depending on the editor, but there's no "original" article, so nothing to translate from IMHO.
> Fine, but only offer fully translated and verified translation sets
No, I do not want the translation at all, unless I say so. Really. Even if it is the best translation in the world. I want and need to choose the language I will read or watching something in.
> First, Accept-Language is an ordered list, and most daily-multilingual people don't have an absolute order of preference, and more a topical list of preferences.
IMO there is a lot of improvements that can be made by both the browser and websites:
Websites should probably allow users to override the browser-requested language. But browsers should also allow users to choose between "Site default", "Request system default language", "Request English", "Request Chinese", "Request Spanish", etc. on a per site basis.
Most optimally however: sites should expose a list of supported languages, maybe in the manifest.json: https://developer.mozilla.org/en-US/docs/Web/Progressive_web... Format would be something like: `Map<iso639Code: string, Tuple<translationQuality: float, comments: string>>`
Language selection should be done on the client side, not on the server.
Fundamentally the issue for me is, this behavior can't be automated in an elegant way.
Having priorities and weight and language lists in the manifest help for negociation, but at the core of it, the user will want to choose language based on context and content.
> Language selection should be done on the client side, not on the server.
Yes.
Using a site specific list on the client side could also do it (let's say I always want Facebook in a language and Google in another, Linkedin in yet another etc.). It still will be pretty cumbersome, probably needs an auto-save and sync of the preferences, and still hits problematic cases, but it would be the most pragmatic solution.
The worst instance of it is IMHO the way Google Maps work, changing language based on the country gives the best display (local names in the proper writing, no internationalization), I wish there was an easier way than screwing with the Google account preferences. As you point out, having clients able to unambiguously request a specific version at each requests would gives us so many more options.
> Having priorities and weight and language lists in the manifest help for negociation, but at the core of it, the user will want to choose language based on context and content.
Yup, agreed. I highly doubt most websites even look at those weights in the Accept-Language header anyways.
Having a list of supported langs in the manifest costs nothing. Lazy-load the manifest when the user goes to use the language selection dropdown, or when the response from the server is in a different language than the one requested in Accept-Language (check Content-Language or html `lang` attr).
That's IMO the original sin: no automatic selection will cover 99% of use cases, that in itself it to me a fantasy that isn't worth pursuing.
People are complicated and having simple heuristics to predict what more than half of them want is not feasible at our level of technology.
Sure any single person will have somewhat simple rules to decide what languages they want, you could come up with simple rules for the people in your life. But you're not trying to solve it for a specific group of people. The target is 8 billion people, most of which we have no idea what their life is.
No, please, don't force a language list. I don't have a "ranking of the languages I want to read". I want the original language of the content, with a quick button to switch.
> Then, as an affect of the first point, users will specify their most practical language, not some actual preference.
Where does this assumption come from? Given the fact that many (most? almost all?) sites don't honor the Accept-Language header, I doubt that there's much game theory going on in users' head when deciding this configuration.
I'd assume most WordPress based sites handling multiple locales will switch based on the Accept-Language ? Same if they let a framework handle the switch instead of a home-baked solution.
Even for auto-translated content, I wouldn't be surprised if it was off-the-shelf plugins that handle the switch.
All in all, I think it takes more effort to ignore the Accept-Language header. That won't prevent sites from tweaking it or doing their own cooking, but it kinda requires intent.
They're right. Try to find a Dutch IT person with a laptop not set to English. Only a small fraction will realise you can set more than one language and put Dutch as a second, even though many struggle beyond basic reading comprehension in English. They're not picking it because they're just as good, much less better, at English compared to Dutch
We definitely pick languages that work as opposed to languages that we speak. Setting it to Dutch is just worse: UX doesn't fit, english search results wouldn't show up (way fewer results/content/info), and translations often don't make sense (imagine a button called "you shut it" on a modal window, it's a literal translation of one interpretation of the string "close it" but you'll be confused as to what that button will do)
The language set defaults to the language set in the OS, which is usually the preferred language for most users.
You have people working in IT who set their language to English for easier troubleshooting (i.e. not needing to Google error codes), but they're a small minority.
Anyone handling more than one language daily will be doing an explicit choice, and I wouldn't say they're a minority.
If your native tongue is Spanish but you live in the US for instance, the "preferred" language in your browser has IMHO a higher chance of being English. Same if you live in India probably.
Seems this is a free-for-all to drop language gripes, so here's mine about Apple TV.
Have a family member who only speaks Japanese. My Apple account is in Finland. We wanted to watch The Martian together, but can't select Japanese dub even though that audio track definitely exists. They just don't show you the options not relevant to your account country, and the only way around is to change your whole Apple account to a new country.
Which you cannot do while you have an active Apple TV subscription.
My guess is there's licensing issues, i.e. the Japanese language dub isn't licensed to be played in Finland... in this case the moronity is due to copyright laws/lawyers.
Netflix had a similar oddity, also in Finland: if I recall correctly there's an account language setting, and you have to set it to English to see Kim's Convenience. No need for a VPN, no need to claim you're in another country, but it's just hiding the content unless you've set the right language. Even if we're using English subs when watching content from the Finnish language UI.
I have told the story here before, but I built a neat little system to parse Accept-Language weighing the users priorities and using the closest thing we have on offer to the users preferences. As an example, we have a Brazilian Portuguese translation but not Portugal Portuguese, so we would offer the prior to users requesting the latter for instance unless they had a lower priority but more exact match.
From my technical standpoint it worked really well and the code was very slick. It was a lot of fun to build.
From a user standpoint most of our users really just wanted English regardless of their Accept-Language header. They had the option to change it in the footer but this apparently wasn't obvious enough.
You ask, as in, whenever I visit the site without having your cookies stored, I'll get a language selector wall first?
I run into those regularly and it's always a struggle to know how to stay on the damn page I clicked on: will the "continue" button use the preselected value or will it dismiss the pop-up and continue on the current page?If the former, is the preselected value the page I'm on or a different language? Can I guess which locale I'm on to select that and dismiss the pop-up then? Can I inspect-element→delete this modal and just sidestep the whole problem? Even just a small close button is a luxury on these language walls...
95 out of 100 times, I'm fine with whatever language I clicked on, and if I want your German version for locale-adjusted shipping info or payment options or whatnot, I'll look for a language selector on the top right or, alternatively, in the page footer. If it's in one of those two places, I'd be much happier about a web without JavaScript-based pop-ups constantly
We're a paid SaaS so I don't think it's as much of an annoyance to be asked once per browser.
It's just a separate page you hit after signing in if we don't have your preference. You click on the language you want and you are redirected to the dashboard.
The option to change it still exists in the footer.
Okay, must say that does sound like a very acceptable flow. You'll have the user logged in at that point so can store it and never need to ask again. Was expecting you built this for regular websites, my bad!
Yes! I still want to default to accept-language, but asking is key. What is your pattern for giving the user an option? I like this article in that it rejects icons, but I don’t like how they arrive at one language for multiple regions https://usersnap.com/blog/design-language-switch/
We literally just have a box that pops up with "<language> (<region>)" in each of the native languages. It gets saved to a long lived cookie rather than the user's account for some business reasons.
It's entirely ridiculous when you're abroad. Also annoying when in your home country, but the localized versions are not equivalent like e.g. programming documentation. Even in the ideal case you'd probably prefer the English original, but often they're machine-translated anyway and much worse.
Another extremely annoying thing I've noticed more often now are machine-translated versions of content in the search results. Reddit for example does this now, and it's just terrible. One of the main reasons I use non-English search terms is to get non-English results, e.g. because I'm looking for information on topics that is not globally applicable.
Right. You can basically hear the product team at Reddit humming star-spangled banner while conceiving this feature for themselves as monolingual people. The rest of the world can understand multiple languages just fine, thank you very much.
Yes, oh my Lord I've been getting seriously frustrated with Mongo's documentation lately. I'm not sure if it picks the language based on location or Accept-Language, never played around with it, but it's behavior is deeply rage-inducing.
I do a web search and get a list of results for the English version, open it and it automatically changes to PT-br as soon as JS loads, but then, after a few seconds, once the page is fully loaded, it jumps back to English, while keeping the /pt-br/ slug in the URL...
What the heck??
And yeah, the translation is very obviously not human made or reviewed. Furthermore, I'm PT-pt, so the differences to PT-br just make the experience even more annoying X)
I really wish for a language setting that says: If the original text is in one of the following languages, use the original text. I might not be equally fluent in all of those languages, but reading the original text is better than reading a translation most of the time.
Unfortunately, that just specifies which languages you prefer, regardless of what the original language is.
I speak Dutch and English, but have English set as my preferred language, because most of the time that multiple languages are available, that is the original language. However, sometimes I'll be visiting a Dutch site that has a (usually badly-)translated English version available, and I'd rather get the Dutch version.
This is expressed as the quality parameter. To make the system GP proposed work atop HTTP content-negotiation, a server operator should assign a very small number to the automatically translated content.
You could probably also trick websites into serving the original language by setting a language they probably don't support (how many websites have a version available in Akkadian anyway?) but you'd need to pick something that the Google Translate widget found on many websites doesn't pick up and try to use.
No, because then it will probably serve it in the original language regardless of the languages I speak. If the original language is French, I'd still prefer to have it in English.
(To be clear, with how widespread English is, and how often Dutch sites are Dutch-only, this is a minor issue - having English, then Dutch as my preference is usually good enough.)
MacOS has this feature under Settings -> General -> Language & Region -> Preferred Languages. Here you can have an ordered list of languages you wish apps and websites (I _think_ only works for Safari) to use. I don't know how widespread this is in other OS'es or browsers.
That's just the standard Accept-Language header, not unique to Safari or macOS at all. It's up to the server to interpret and respond to the header, and they mostly don't do what gp wants, i.e. they usually serve the translated language with a higher q rather than the original language even if it's in the list (and it's mostly ignored anyway in favor of geoip/manual region/language picker).
It is not the accept-languages header - it affects the accept-languages header. Like the parent said, it is also used for apps (which includes your browser's UI).
This. Related: if I had a penny for every time I needed a VPN just to load the payment method selection screen (but not for the actual payment, it's not geolocked) just to be able to pay somewhere, I'd get a lot of products for free by now...
Why not let germans select iDeal and dutch users Giropay? They'll not click it if it's not useful for them. Adjusting the sort for what's most commonly used makes sense, but why actively thwart users from paying by geolocking payment methods by IP address...
Because then companies would have to charge all users the same price for the exact same service.
Charging customers from countries with higher average purchasing power more and hiding the fact behind "charging people in the local currency for convenience" is much more profitable!
I'm talking about those online stores that don't have a (customer hostile) thought out price for every locale, but they have some auto conversion.
When price is set to $9.99 which works out to 47.89287237634 in your local currency. Although it would work out to 45.89327782 if you used your bank's conversion instead of the "helpful" service.
In those cases i don't think the seller makes any extra money, they get their $9.99 minus payment processor's fees. They just think they're helpful but make you spend more for no good reason.
As much as I agree Accept language should be enough, the problem is that English is the default value, so if it's default it's likely to be wrong so I understand guessing because most people don't know you can tell the browser what language you want to use. Partly to blame is also the websites that don't have other languages can't respect the header anyway. I've had plenty of users complain about localization issues and I have to explain that they can just tell the browser what language and region to use.
There should be some bit about the locale being default or not. If its not a default, then respecting it would be fine. If its the default, you could try guessing.
Websites can only guess the language until the user explicitly choses. Accept-Language is a good guess, but as you pointed out it often defaults to English, or it may transmit language codes the website doesn't support (It sends `es-MX`, but website only supports `es-ES`). The website still has to guess.
English is in fact my primary language. It may be the default, but I cannot set it to something else. I have explicitly chosen to leave it on the default, and would like websites to accept this.
There shouldn't be a default. By default, browsers should just not send the header, which would signal the web site to do whatever stupid thing its developers conjure up. But if the header is sent, it should override the server-side-stupidity. This would solve the "but by default it's English!" objection.
Yeah, this is has become of pet peeve of mine since moving to Spain. US sites that automatically redirect me to their Spanish site (which often doesn't have the actual article the original link pointed to!)
It does not "fix" that at all, and breaks so many other things. I don't wanna see US/UK/Australian prices just because I happen to live in Spain but prefer English when browsing the web (literally same boat as parent).
It's easy to make Django react to "Accept-Language" headers, I love how the LocaleMiddleware supports it out of the box [1]. I implemented automatic language detection to show either German or English content and was surprised how many users hated it. We're located in Germany but a lot of people have their browser set to English for some reason, yet they still expect to see pages in German. Of course I had provided an explicit language switch but many users did not like the site guessing their language.
One of the many, many tedious things about the modern globe-spanning internet, used by hundreds of millions of people who regularly travel far and wide, is this bizarre, stupid forced algorithmic balkanization in which you're pigeonholed right into either being denied access to certain content based on your location, or having your supposed language tendencies modified by default.
I'm not sure what the purpose of this idiocy is. Is it a dark pattern of some kind? Or is it just so hard for grey, cubicle-dwelling functionaries at companies that are themselves often very international to set systems for leaving one's language defaults static unless otherwise adjusted by said site user?
If you're already tracking me and every single one of my digital activities through my devices, then at least give me some modicum of convenience from all the bother.
Here is one big reason some sites do geolocation nevertheless: pricing and legal. Does not matter what language you speak - they still have to look up proper prices in your local currency and offer you country or region-specific deals and legal language. E.g. in Canada Quebec limits what kind of sales or raffles you can offer so websites prepare different site copy. Yes, there are French speaking people outside Quebec and English speaking people in Quebec, but company may not have resources and time to prepare 4 copies instead of 2.
The article is not against geolocation: it is about guessing the language!
In your example, there's only one language available, and it depends on your location, and that is fine.
What is NOT fine is the general case, where several languages are available, and you have already chosen the one(s) you prefer, but the site decides to ignore your choice because reasons.
While others have expressed sentiments about YouTube and Google, let me tell you what I really hate - translated reddit posts.
They're polluting search results and it's the ultimate disrespect against multi-lingual users... it's made my life hell when trying to find localized information (for example, in Portuguese), when my computer is set to Portuguese but I'm searching in English.
And of course in this case I explicitly searched for that, but the point is that if Google thinks Italian is your primary language, it will surface those results automatically, even when you might prefer the English original.
Probably this is caused by Reddit offering these pages to Google, rather than Google deciding to send you to a different URL on its own accord, but it's still annoying from an end user perspective.
Going one step further: do not guess my regional preferences from my language. I want to have an American English UI but use little-endian dates, whitespace and comma as thousands and decimal separators, ISO week numbers in calendars (with Monday being the first day of the week), and metric units. I want English subtitles, but not ones meant for the hearing impaired.
Mmm... understandable, but less trivial to implement than the OP. What you're requesting is quite a lot of localization customization. Reasonable to expect this from say, Google Sheets, but you might be out of luck with apps with smaller budgets.
This is a real pain in the ass in Belgium. Many websites assume I speak French while my native language is Dutch. Some websites only offer a French version of their Belgian storefront, even though Dutch accounts for ~60% of Belgians. I can't imagine what it's like for German-speaking Belgians.
This is not only an issue on websites but also on apps. For example, the Books and Podcasts apps on iOS show me both Dutch-speaking and French-speaking titles. I tried to raise this issue back when I worked at Apple but they only have 1 storefront per country and didn't feel like changing it.
Once upon a time French was used even in the Dutch speaking parts, in government, economy, high society. That was long before the internet got popular though. We've had a long fight to get rid of French in Flanders. Dutch is the only official language in Flanders, and it's the language people speak (except expats, or migrants who haven't learned the language yet).
So when companies still assume Belgium == French, it's not only wrong, but it comes across as very condescending. It feels like they haven't outgrown the times where Dutch was suppressed in favor of French.
And why? If a company wants to use only one language for the whole country, it's better of choosing Dutch (as we indeed account for about 60% of the population). Many of those companies do have a perfectly good Dutch translation, which they use for their site when viewed from the Netherlands. Even if they don't, I much prefer English over French.
You'll be glad to hear (I guess) that the pain is shared by french speaking Belgians.
It happens all the god damn time that the websites render in Dutch (or I guess Flemish) instead of the set Accept Language I have (EN then FR). Google is regularly showing me results in Dutch, most online stores default to Dutch even if they have English and French versions available.
Just imagine, all the websites that correctly (for you) display in Dutch, are websites that we have to change to French. I would guess there are more Dutch-defaulting websites than French ones, but I can't know for sure.
Btw, our neighbor is huge and french speaking too, so I'm not surprised companies coming from there favor French on their site. The same way that NL companies operate in Flanders but less so in Wallonia have their default to Dutch.
Also I'd argue that companies operating in Belgium should default to asking the language instead of guessing, otherwise you'll always anger half of the population.
I don't understand why Google, of all sites, picks your language based on your IP. It ignores not only Accept-Language, but my Google Language settings as well. Their language handling seems to be getting worse over time. Not to mention the long-gone days where you could go to google.co.uk to get UK content.
Before we even get as far as the wrong language being chosen; The GeoIP databases are rarely even up to date so they've got you in the wrong location to begin with.
I've been on static IPs for a decade or so; my last home's static IP was regularly Geo-located to Romania, the next one to the Netherlands, and sometimes even further afield; I'm in the UK.
I started to have a heart attack just yesterday because Zenarmor on my OPNSense box was suggesting that a particular device was sending traffic to a region it has no business sending traffic to; turns out the DB is just wrong and a quick search indicated it actually (currently) belongs to the UK.
In a separate incident (also yesterday, as I then got into investigative mode), I installed Rethink on my phone, which suggested, yet again, that devices (including my phone itself) were sending traffic to places they shouldn't be; again, false alarm, turns out they were all UK IPs, one of which being my own static IP which was being wrongly attributed to another region.
If this part of locating the IP can't even universally be done correctly; why on earth is anyone even considering trying to use it to guess a person's language.
EDIT: The result of these issues, particularly with my home IPs usually manifests in certain sites displaying in languages and with currencies neither I nor my family speak/read or understand, for me I'm used to it and will look for where/how to change the language/currency, but for my wife and kids it's just confusing.
Also: don't guess shipping options or other stuff based on my browser's language!
My computers are all set to English even though I'm a German living in Germany, and I absolutely hate it when local business websites give me the "we don't ship abroad, sorry" just because of my browser's language settings.
And also make it easy on the site to change languages. Just because my OS is in US English, doesn't mean that I don't prefer certain sites to be in other languages when I choose to. Many of us are multilingual.
That should not be the business of the site, but of the browser. It is precisely what Accept-Language is for. The site should respect the header, allowing circumvention should be a very low accessibility priority.
The site should respect explicit user actions. A get request to a /en/ domain, or a button click to a language icon should result changing to that language. Respecting implicit preferences that are more likely than not be just plain wrong anyways should be a very low priority, ideally shouldn't be done at all.
> No, “but the big websites do it” doesn’t make it right.
Also, it's only partially true, e.g. Amazon doesn't force the language at all, and while it presumes the country of delivery (which makes perfect sense as not all products are available everywhere), it explicitly nags me about it so I can change it with one click.
As someone who lives in Spain, but prefers to browse the web in English and has all my computing stuff setup in English, good look convincing the world to change this :) It's been utterly broken for as long as I can remember (back when I had a 56k modem) and it'll probably remain so.
It's a uphill battle where you cannot convince others, so the best thing you can do is figure out how to adjust your own setup to make it less of a hassle.
> Do it right or don’t do it at all.
I'm fairly sure we wouldn't have the internet nor the web if everyone thought like this. I personally also strive for making things as good, right and correct as possible, but obviously I cannot force others to think alike, especially for-profit businesses that don't really care about "correct", only about "good enough".
This was the bane of my existence when I lived in Uruguay! Despite having the Accept-Language header set permanently to en_US, Google would constantly reset my UI language to Spanish, despite being logged in and having the account language set to English.
The worst offender was eBay which would machine-translate listings from English to Spanish.
Can we also stop tying e-commerce languages to the commercial zones?
Yes, I want my HPE or Dell or FS.com website to be in English but still get the French catalog and warehouses and VAT. Especially for tech, where the lingua franca of english goes so deep that most people don't bother to translate technical terms to their native language. Heck, I don't know most of those in french!
There's also a commercial argument here. If your website or app sells stuff, you might want to care about your audience and addressing them in their own language.
There are hundreds of millions of people around the world that aren't fluent in the local language of wherever they are. Many of them probably speak English. Quite a few of those are possibly not that poor either and have disposable income.
So, if your business is selling stuff online, you could do worse than serving up stuff in English when being informed by the Accept-Language header that that is a preferred language. It's not that hard.
In Switzerland pretty much all sites have a setting for French, German, Italian and often English. It is very much a multi-language country.
It is great to be able to select individually per site. I often like to use the native French and just drop back to English if its technical language.
I do find that every site has the setting in a different place which is annoying, it would be great to be able to select it in a standard place on the browser.
The worst offenders are the single language per country sites. For example Ebay insists on only using German in Switzerland, which is rather frustrating since I only know English and French so far.
It is particularly annoying with Google. They recently forced results translations, which are of extremely bad quality. So, even if I'm searching for computer science topics or machine learning (where I'm only interested in English results) they insist that I must speak spanish and read useless translations.
I ended up switching to Bing just because this issue. Google is absolutely useless for me now.
Not just language. Some retailers' websites (e.g., Target, Home Depot) use IP geolocation to guess the nearest store to you. It'll even override your preferred store if you set it to the correct one earlier. If you're on a cellular connection, it's absolutely useless.
To anyone working in tech: stop trying to outsmart the user.
One reason this happens: the product is slightly different in every country due to market and regulatory nuances. Therefore the source content is different in every country also. We are not going to push every (country, language) permutation through legal review. Therefore we have a few "Accept-Language" values we respect for each IP geolocation. If it's not on the list, you get the country's default.
Once my Google suddenly turned into Hebrew (I'm Finnish so that was pretty wtf). It was around the 2023 Hamas attacks so I initially wondered if I'd been hacked by some pro-Israeli group. Soon I realized it only happened if I used my home network and then restarting my router to get a new IP fixed it.
I live in Finland where they have two native languages: Finnish & Swedish. In a lot of places you'll see both the Finnish & Swedish place name on road signs. Without getting into politics, it's a good assumption to assume that Finnish is the mother-tongue of most of the population - with some areas having Swedish as their native language but also perfectly capable of speaking Finnish fluently.
I have my phone's language set to English as a native English speaker. Google maps reads me the Swedish road signs, in English.
Fwiw, you can set (on Android at least) the language of Google Maps independently of the rest of the system. I also have my phone set to English, but maps set to Dutch because otherwise the reading out of street names can be incomprehensible compared to their proper pronunciation.
This does mean your navigation instructions are also in that language, which may or may not be a problem, depending on your fluency (but there's not really a whole lot of phrases to learn.)
Yes I discovered this, this weekend. As you mention, that relies on it being your native language. But it's absurd that if I'm in driving in a foreign country it would attempt to read the names of the streets in your own language's dialect.
I live in Ontario where major highway road signs are bilingual, e.g. “427 North/Nord”. Google has ingested these, blindly translates the French part, and tells me to take “427 North North”.
Maps is so annoying for that: I travel to France, Italy and Germany on the road, and language is set to English on the phone, so it tries to pronounce everything the English way, and I can’t understand anything.
I wish I could set a "read location/road names in local language" setting.
A sad example is Amazon Prime Video. 'I see you're from Belgium so I'll serve you a lott of films dubbed in French exclusively. My native tongue is Dutch, but I prefer watching films in their original version, not dubbed.
(Btw, my Prime sub is on the German Amazon, but they don't care. You're from Belgium so French it is)
In India, if you don’t know the user’s language precisely - just default to English which is the only business link language. Using an alien language like Hindi to non Hindi speakers will backfire badly.
I think this is a case where it is unfortunate that the biggest players are from the USA, because they are notoriously mono-lingual and cannot fathom what it means to know more than one language.
If they did understand, no site would ever propose you an automatic translation into your primary language over the original text written in any other of the languages you can read.
Every couple months, Facebook's web interface glitches out and displays the geolocation-based language instead of my preferred language in parts of the UI.
I don't know how that happens. Like, do individual teams within Meta have to re-learn that users in their own system have a language preference? (Not even talking about Accept-Language, it's a Facebook user setting.)
When we added translation features to our news site I went down this rabbit hole and wholly agree with the author. I checked what others were doing and very often there was this ip lookup happening, and then a redirect or other unnecessary behavior.
In our case, less is more. We decided to not do any of that, and were a bit paranoid that maybe we were going against a 'best practice' somehow?
All we do is look at navigator.language to get the language code:
and if we support that language then we will change the "Translate" button label to that language and default behavior to shortcut to that language version (you can still get the full list).
> If you want to use GeoIP, fine — but only for currency, shipping, legal stuff
Possibly not even then. Shipping should depend on the address it's shipped to, not the IP. Currency, I prefer in your original currency. I don't want you to convert currency for me, because my bank does it cheaper.
And of course geoIP can be wrong because of VPNs. Only use it when other methods like user preference and `Accept-Language` or similar have failed, and make it easy for the user to correct your wrong assumptions.
Yeah I've worked with geolocation databases in the past and they're essentially just hot air. It's wild that even google can't guess my location anywhere close to home. And I live in a big german city, it wouldn't be that difficult to be right. But they've actually never been right about my location. Sketchy is a fitting description.
Even Accept-Language isn't enough, although this probably falls under "respect it".
A lot of websites seem to assume if you have a non-English language in it, they should use that language, even if English has the highest score, because obviously it's your "real" language and English was just a default. E.g. `en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7` is read as "we should serve the Chinese version".
Accept-Language still cause quite a bit annoyance to me though. Because the fallback rule most implements still follows similar assumption as the first point in this article. Languages in the same group doesn't mean the user would accept it.
I don't care if there are any other auto-translated thing that you though it's close enough because they have same prefix that would help.
NO, absolutely NO.
I even specified the en-US or any other language that original content uses as the secondary candidates, then most just ignores it and serves randomly translated thing that you think would be close enough because you can't tell.
I hate that this is a thing on physical products aswell. Panasonic being the latest offender by "supporting" my language. Then, when opening the safety instructions for the machine it reads grammatically correct but materially incorrect advice. Someone not following through with enough critical thinking could end up killing themselves.
Reading up on the english version it becomes clear it was machine-translated with zero persion checking on if any of it was proper.
Me: Visits Morroco (or pretty much any other country), has smartphone set to english.
Also me: Gets youtube ads in Berber language. Has no idea what the ad is about or why someone would pay google to show it to me.
If language guessing is not ok, then why would currency and shipping guessing be ok? If you are VPN'd to Hong Kong and don't understand Chinese, how does it help to expect HKD payments?
Another annoying version of this is localized google results. I'm originally from country A, live in country B, but work in English, which is not the language of either place.
But google will then localize results to where I am, which typically deprioritizes English results because I'm not in an English speaking country.
You can set your google settings to act as if you're in the US permanently, but then googling anything local/regional will serve results aimed at people a continent away.
All this "guessing what the user wants" has become detrimental to actual UX.
Don't guess my anything. If you're not sure what I want, ask, or at best do nothing. You don't actually know what I want, and every time you decide you think you do, you make everything worse, not better.
The most useless thing Google Maps does on my US-localized phone here in Germany: literally translates the proper names of businesses. For example, listing Stoff Bauer as "Fabric Farmer" in the results when I search for "Stoff" - the reverse of helpful (Bauer is a very common German surname, but also literally means "farmer").
Whenever I've visited Aliexpress (for cheap ESP32s of course) I seem to only get served the French version of the site despite having a UK based IP, UK language flags and actually telling the site to use the GB store. Next time I visit though it will display in French again.
For a while, AliExpress was locked on Arabic for me when using my phone and Chrome and I couldn't tell why. I ended up using a different browser. It was set for sale in the US, but choosing Arabic.
I've since changed my setup. Now it offers two language choices, English or Español, and defaults to English.
Timely. I’m working on this right now for a product and have everything in place using the accept-language header and then adding a url param.
I’m currently agonizing about how to let the user change their language, because I want to respect locale as well (es-MX vs es-ES for example). And I haven’t found a good UX pattern for changing language+locale. I’ll likely just implement a big list that the user can select, and have the current language be a link that they can click to change via a modal.
As someone who lives in one of those locations mentioned in the article: split out locale and language into different settings. Because they are not the same thing. This article explains that nicely. [1]
You want your users to be able to change their location (and, therefore, locale) and their language independently. The Accept-Language header could be used as a sentinel for language. Then again, I wouldn't outright rely on geoIP to set the locale which is an umbrella for regional differing variables like timezone, date formatting, currency, VAT / Taxes,...
I think it's okay to have your content served, by default, in a language that reflects either the majority of your target audience; or the culture / place you're based in. Changing the locale / language should follow a clear UI pattern e.g. a language switcher & locale switcher in the header; or a clear navigational aid pointing to a context menu. That's how Hetzner works, for instance. Another example is Deliveroo.
Thanks for the advice! I wasn’t planning on using geoIP at all for several reasons - the main two being inaccuracies AND that I’d need to use a paid 3rd party.
Google is the biggest offender. If you have had legitimate use cases where you browsed sites or routed your traffic via a Cloud VM at different locations (or if you're one of those rare people like me that use a damn VPN!) you probably already know this. I have to memorize 'accept' (to accept their ToS prompt each time) and figure out how to change the language.
More generally, if you've never dealt with foreign languages (for real, not just in school), don't assume anything about multilingual support. You'll get it wrong.
Here I am losing my mind. My phone’s set to Portuguese (EU), I live in the US, and somehow I get ads in German and Spanish, and news exclusively for Portugal. No ties to Germany at all. Just lost in some algorithm’s fever dream.
As a bilingual Portuguese/English speaker who essentially spends most of his waking hours working in English but switching back when I leave my home office, I have been very much annoyed by this since the dial-up days.
Infuriatingly, there was a train of thought at one time that used website analytics as a justification for either setting the default language of a site or trusting an external third-party like IP addresses databases (often just relying on the free, unmaintained stuff that broke after 3 months as the Internet expanded).
Then came the browser geolocation prompts, etc. -- and most people, lacking a basic understanding of how HTTP works, preferred chunks of JavaScript they could "see" to HTTP header information they didn't understand, to the point where that got codified as "best practice".
It also doesn't help that most CMS frameworks completely fail to make use of that information and pass it down the stack, or that people have turned to doing SPAs (which _can_ just use navigator.language, but just do a search in any framework's source code and see how often that is used).
On a related note: whatever idiot started using keyboard language instead of system language for emoji autocompletion on certain MacOS and iOS Apps, please go die in hell somewhere... I have had this issue randomly pop up with the Telegram client I am using, and it infuriates me beyond belief. Every single setting on my machine indicates that the language I am using is English, why is the search text of emojis tied to the one setting I cannot reasonably change because it is tied to a physical property of my device and not the 4 settings I can and did change.
I suspect that many people who deal with languages only speak English and never left the US. They have been told that other languages exist and that foreign countries exist, and they have to do something about it, and they did... something.
I remember a company I worked with used to have its internet connection go through German servers, even though it was in France. I remember the presentation page for one of Google's phone was in German with no way to have it in anything else. Using a ".fr" domain, "accept-language", logged into a French Google account, I also tried English too, no luck. I only managed to get some UI elements in something other than German, it felt like a troll. I wonder how the Swiss (a small country with 4 official languages) are doing.
In addition to the idea that the IP address is a pretty bad indicator of the language you speak, some websites have trouble with the idea that people can understand more than one language.
Hey, YouTube, I know I have set my account to French, but I understand English and you know it, so please don't auto-translate video titles for me and do a terrible job at it. And I don't want to set my account to English, because I guess it would translate French titles into English, which I want even less.
And while we're at it: Google, you know literally everything about my life. You know which languages I speak, which countries I live or have lived in.
So why is it impossible to find results relevant to country A, in country A's language, while browsing from country B, but with both languages A and B in my "Accept-Language", and me having lived in both A and B for years?
Why does the "languages I speak" setting on Google's search settings, which seems to be the only way to maybe make Google get the message, auto-reset at random all the time? How is using a VPN to get around this limitation a thing in 2025?
Could we also agree that bilingual (or more) people exist? I hate playing whack-a-mole with YouTube captions: Apparently me turning them off on English videos means I only speak English, so the next time I watch a German video, I'll have to turn off captions again, which apparently means I forgot English and only understand German.
I mean, doesn't Google have employees from multiple countries? Shouldn't diversity fix this in the sense that some bilingual person there notices this?
I’m glad someone said this. As someone from Pakistan whose first language is Sindhi and who detests the imposition of Urdu as a ‘lingua franca,’ I find it very frustrating when Google forces Urdu on Gmail, YouTube, and Search.
It also flips the entire user interface to a right-to-left layout to match Urdu’s writing direction, which feels completely unfamiliar and disorienting to me.
Why oh why does Google Maps think that "miles", "feet", and "yards" are words that have any meaning at all?
Only like a 20th of the world even knows what these obscure things are. Just because I'm currently located in a country that nominally uses these arcane units doesn't mean that I know what they are.
Oh you can change it to real units temporarily. But if you look away for a split second it changes it right back.
What's really annoying is when it sets the script to the local language which could be something like telugu, and then the writing is unreadable if you can only read the latin alphabet.
And then the 'change language' menu is rendered in the unreadable script.
I mean, Google does it, and they employ some of the most brilliant people on the planet. Showing people their website in the wrong language is clearly losing them money, so minimizing that is a very direct way to increase profits. There must be some reason they rely on IP more than on Accept-Language. They don't leave money lying around, and there's no way Google engineers aren't aware of that header.
I don't know why they do it, but somehow Accept-Language must be less reliable than IP. No other explanation makes sense in this context.
> You don’t override screen resolution or color scheme with your own guess
They absolutely do lol.
Like it or not, people like you are outnumbered by people who set their Accept-Language header wrong and don't know how to fix it. Those people probably buy more too (or at least buy more that shows up in tracking, since you sound like the kind of person who disables cookies etc. too).
Then create some status bar (or even a popup if necessary) that informs the user about their Accept-Language header-IP address mismatch (in terms understandable to a non-technical user), offering the option to choose either page.
Actually, yes. Google and Facebook invests in translation significantly more than Microsoft in languages in Africa and Asia (to the point that you cannot set Windows do not have that language in question), for example, the various non-colonial languages in the African continent. In those countries, the computer is set to English/French because not of practicality but of significantly broken/no translation by Microsoft.
But my system language is English. Closest english speaking country is 2000+ km away.
And you know what? I didn't pay so much attention to what English I'm selecting so part of my devices are set to UK english and part to US english. It's all English to me, just don't translate my File menu!
Windows + Edge populates it for me. I consider it a form of tracking so I definitely will look into it how to override it, this hasn't happened yet tho.
Ideally a browser should ask for languages and country when being installed, in order to correctly fill the Accept-Language field. But that doesn't happen because it would introduce friction.
Why? Browsers already apply the setting from the operating system which is correct in almost 100% of cases, and if you need more options you can change it in the settings.
Linguistic nit: that's not what cargo cult means. Cargo cult refers to doing things that don't in themselves do anything, just because XYZ did them, in the mistaken belief that "showing signs of XYZ-ness" will lead to the same results that XYZ sees/produces.
Copying big-name-here's practice of localizing based on IP is not that. Copying "the way they comment the start of every file" would be. Or "using the same pep talk to the full company" would be. Actually using an approach that has both code that actually does something, and has an immediate and measurable effect on the user, isn't.
Not accepting Accept-Language is one of my major pet peeves. What makes it worse is that many multilingual websites translate their language-switching buttons and the list of languages to the current language .... which is beyond fucking stupid and defeats the purpose. Wikipedia does this right. The button to switch languages is clear, using a universal multilanguage icon, and a list of languages (using the name of the language in that same language) in alphabetical order, with the most likely candidates on the top (presumably based on geoip).
E.g. an English Wikipedia page will present me with the following language suggestions:
When you assume a language, you make an ass of you and of me. Don't be an ass. Be like Wikipedia.A related issue that has me fuming is when, after arriving at a page of interest from a search engine, a modal popup forces me to select the country I'm from, and then promptly redirects me to the homepage of the regional website.
Some have a X button to close said dialog, but many don't which is really aggravating.
Google does this. I want to check out the new device they just released - "sorry, this product is not available in your country". I just wanted to read the specs, not buy.
Products don’t get to be informed about the factory in which they are made, or which shop they are to be sold.
https://xkcd.com/869/
> in alphabetical order
Well, it's in an order, but I don't know about alphabetical. I clicked on today's English featured article and looked at the languages: "中文", "Italiano" are "suggested", then the remainder are grouped by geographic region, and aren't particularly alphabetical. They appear to be in groups which are still not alphabetical. Europe seems to have a Cyrillic group but "Қазақша" is shown after "Українська" which isn't accurate in Kazakh and probably also unexpected for anybody who isn't familiar with the letter Қ (Қ isn't a letter in Russian, this is probably why this happens). The Chinese languages don't seem to be in stroke order (no expert here), although Korean is below them (because of course, K for Korean alphabetizes after C for Chinese).
Anyways, no hate for Wikipedia; they do a great job of localizing. Just a bit of nuance/pedantry about how you can't "alphabetize" language names in their own language.
> how you can't "alphabetize" language names
Not so, this sort order has been standardised as part of Unicode for at least 28 years. To see it in action, pipe the list of languages as a text file through a conforming tool like `ucsort`. When Қ is falsely sorted after Ч, then the wrong algorithm or no algorithm at all has been used.
> because of course, K for Korean alphabetizes after C for Chinese
That's not how it works.
Sort rules are different in different locales.
It's a circular dependency: how do you sort and list the locales or languages for someone to pick one, when by definition you don't know their locale yet?
You have to either make some best-guess approximation (IP geo, browser headers, etc) or use a locale-invariant sort, both of which will be wrong in some cases.
can't you just sort all as int? the codepages usually come roughly sorted, and while no one knows which of 檎 or 橙 comes first, I don't think it'll be particularly offensive whichever way a random app did, to most.
That would be one locale-invariant sort as I said. Sure, you can pick some way of doing it that's least-bad. The codepages are roughly sorted, but what we're debating is the cases where that fails some definition of correctness. The point is there can be no universally correct answer for sorting locales before the user picks one, because that can depend on already knowing the locale itself.
We can find a sorting order with the minimal total distance between where we place a language entry and where this entry would be in that language. If there’s no pair of languages A and Ä such that A > Ä in one and Ä > A in the other, then (I guess???) this total distance will be zero.
Yes, the DUCET is bound to disappoint everybody (especially users of the Latin script with diacritics, as none of them agree on the sort order and everyone’s preferences are tied to the specific subset of diacritics they need), but at least it disappoints everybody more or less equally.
(Do yourself a favor, though, and use the CLDR root collation instead of the raw DUCET—they are basically the same, except, and I’m quoting the standard here[1], “the DUCET is not entirely well-formed”.)
[1] https://www.unicode.org/reports/tr10/#Well_Formed_DUCET
Yes, that’s confusing and probably hard to find a good balance. Someone speaking Greek or Czech may expect to find their language around E (Ελληνικά) or C (Čeština), but nope, on Wiki it’s all the way after Z.
I guess the default (when no language is specified) is Unicode order:
U+005A LATIN CAPITAL LETTER Z
U+010C LATIN CAPITAL LETTER C WITH CARON
U+0395 GREEK CAPITAL LETTER EPSILON
Don’t special characters always go after the Latin alphabet? I think this is pretty common, and fairly expected behaviour. Of course nothing is perfect but I feel like the way Wikipedia handles it is consistent.
Well in my language "é" is absolutely not special, and should definitively be placed near "e" (to the point that uppercase é is often written E instead of É)
Not in the Czech alphabet: a, á, b, c, č, d, ď, e, é, ě, ...
Also, we regard 'Ch' as its own letter. So yeah, try sorting alphabetically. I'll wait.
I love some perl on Monday morning but how does this work when you don’t know the locale?
Then a system should fall back to DUCET which produces more or less sensible results across all locales.
Digraphs like Ch are common in a lot of languages. Wikipedia supports that fine on category pages. E.g. https://cs.wikipedia.org/wiki/Kategorie:CHKO_%C5%A0umava
If you want to see bizarre sort rules, look up how french sorts accent characters.
> If you want to see bizarre sort rules, look up how french sorts accent characters.
I tried to do this, but there do not appear to be any sources addressing this question.
I did find a French Stack Exchange question asking for this exact information, and complaining that there are no sources (other than an uncited wikipedia page) that address it. There is no answer posted, but there is a comment from a French guy suggesting that there are no official rules.
https://french.stackexchange.com/questions/54217/french-dict...
How were you imagining I would look this up?
Here is a blog post talking about it https://archives.miloush.net/michkap/archive/2004/12/31/3447...
Or a more technical version at https://www.unicode.org/reports/tr10/#Backward
Another case that is kind of weird is thai https://www.unicode.org/reports/tr10/#Rearrangement
It depends on the language. Unicode defines rules for it: https://www.unicode.org/reports/tr10/
If I recall correctly, the default propose a first list that push items which are guessed most likely what the user expect, then a list more complete, and in any case let you filter by typing. I think it also can change the way it behave if you are connected and tweaked your preferences in the matter for your account.
Wikipedia uses UCA sort order in categories (depending on which lang wikipedia you are reading). Most other lists just sort using unicode codepoint order (in NFC). So it depends, but yes, for generated lists other than categories ascii characters usually come first.
That’s English hegemony. Languages have their own sorting that they expect. You can’t impose rules to other languages.
Of course at some point Unicode needs to be ordered, but you don’t get to impose technical details to people around the world because it matches with how English does it.
That’s where geo-ip guessing becomes relevant. Show a list with the most likely languages at the top.
Or use the Accept-Language. Since we already know the User understands that one, it's probably a reasonable choice for which sort order they expect too.
That’s not English sort order either.
Sorting by character codes, yes.
But in the language native locale, no.
When serving that many languages, a search bar is paramount.
> Well, it's in an order, but I don't know about alphabetical. I clicked on today's English featured article and looked at the languages
This depends on whether you are viewing desktop site or mobile site. It also depends on if you have a non-default skin set in your preferences.
Seems like desktop (vector-2023) does the region thing.
Mobile does alphabetical by language name (i imagine codepoint order but i didnt check)
Some other skins are alphabetical by bcp47 code.
> The Chinese languages don't seem to be in stroke order (no expert here)
They are for me. In the Asia section, 中文 ["Chinese"] is listed first, followed by 吴语 ["Wu"] and then 粤语 ["Cantonese"]. Stroke order is first by stroke count and then by an obscure criterion that I don't know (and that, in my experience, Chinese people living in China also don't know), but stroke count is unambiguous and these are in order: 中 4, 吴 7, 粤 12.
Note that they aren't in alphabetical order: 中 Z, 吴 W, 粤 Y.
Japanese appears between Wu and Cantonese for unclear reasons.
It is sorted FIRST by radical and SECOND by stroke order. This is roughly equivalent to the Unicode codepoint sort if you stay in the basic multilingual plane. The order also puts literary chinese afer wu Chinese, which breaks with a pure stroke-count sort:
中文 - 中 = 丨 + 3 strokes
吴语 - 吴 = 口 + 4 strokes
文言 - 文 = 文 + 0 strokes
日本語 - 日 = 日 + 0 strokes
粵語 - 粵 = 米 + 7 strokes
Dictionary lookup is done first by radical and second by stroke count. Collation is not. Stroke count is first.
For example, I have a book of 成语 stories that gives its table of contents in non-alphabetical order. (Since nobody understands the traditional ordering, I also have several such books that put their table of contents in alphabetical order.)
Here is the collation order in the book:
一 七 八 入 九 人 口 千 小 三 亡 大 不 专 天 井 见 毛 月 文 风 为 心 水 四 ...
Note that 三's radical is 一, the first Kangxi radical, and that 一 is listed first. Your theory is wrong. 三 isn't even first among the 3-stroke characters, which start (among these) with 口.
Why did you make up a false answer to this question?
The Wikipedia sort for the languages is as I stated above, with Literary Chinese and Japanese between Wu Chinese and Yue Chinese. I explained why it was sorted that way, because radical is considered first. You could not explain why Japanese appeared between Wu and Yue because you insisted and continue to insist that radicals are not used.
I didn't say sorting is never done by stroke count alone. But I have seen radical+residual stroke count much more often than stroke count alone. Probably a result of the content I'm accessing. It's mostly Japanese and not intended for children.
The dictionary and non-dictionary sorting distinction that you make doesn't sound like a real thing. The audience, the country, and the number of items sorted are bigger factors. But you're not wrong in that stroke count is sometimes used alone.
And it even remembers what you chose last time and pushes it to the top. That is UX. Being actually helpful and not fucking annoying.
Oh nice! I never noticed that "Suggested languages" shows languages I previously selected.
But additionally, I like how it's not simply "pushing to the top", it does shows a previously selected language on the top, but it still keeps it duplicate in the list below, in case the user is going by muscle memory.
To me this is the best way.
Either make it VERY OBVIOUS that you're removing the item from the bottom of the list (which wouldn't be possible here), or don't remove it at all.
If I had a cent for each time a SaaS made my life harder by trying to "help me" I would be CEO of every SaaS I use.
I can give a perfect bad example: the Youtube app on my iPhone somehow determined to change to Amharic. This is the Google support article: https://support.google.com/youtube/answer/87604 telling me the buttons to press in English. Also, I don't know/speak Amharic, and so at the time had no idea what language it was, and the iPhone translate doesn't even recognize this Ethiopian language. Bit of a pickle that could have easily been mitigated by a universal multilanguage icon.
Or the ChatGPT app which can be baffling. My phone language is English, I've set ChatGPT app specifically to English in the app settings, I ask my questions in English, and every now and then it still decides to answer in German.
> the Youtube app on my iPhone somehow determined to change to Amharic
Was this about 6 weeks ago?
Yes, actually. Is there an article about it? After updating to iOS 18.4, Amharic was appended to the end of the list of preferred languages in the iPhone Settings app. However, what's interesting is it was ranked below English, and apps are supposed to use the languages list in order, but perhaps Youtube is alphabetically sorting the list?
> Yes, actually. Is there an article about it?
Not that I know of. It just happened to me, too, around then. I thought it had to do with my pet fascination with the Ethiopian civil war and GERD.
You can set the language individually per app in the iOS settings. But I thought it defaulted to your global setting.
Indeed. Wikimedia wikis' language selection feature relies on Unicode CLDR language-territory data. This is very complex to maintain (and there are still many mistakes to fix), because reliable data is expensive to collect.
https://www.mediawiki.org/wiki/Universal_Language_Selector/F...
Ironically, given TFA, it seems to be primarily using the user's IP:
> How does Universal Language Selector determine which languages I may understand
> ULS queries a service that determines your originating country based on your IP address. This is inaccurate in some cases. Based on the country code, most often spoken languages are suggested for you.
(from https://www.mediawiki.org/wiki/Universal_Language_Selector/F...)
There are two levels of this. If I get some other European language, I can generally figure out which is their word for English and it's not a big deal to switch. But if it gives me a script I don't know, like Bengali or something, it's a problem.
Perhaps every "choose language" menu should include English and Chinese in non-localized form, as an escape hatch, since almost every web users can recognize enough of them to navigate a menu to find their actual language.
Just include languages in their own script only. Why would a user need to select a language from that menu for which they DON’T know the target script? Showing Bengali in Bengali script is exactly what you want.
True, but how often do you want to select a language you can't read?
My favorite is the sites who do parse Accept-Languages, but then pick the last one in the list instead of the first. I have mine in rough order of my competence in them, which gets me my least-competent language on some sites even when my most-competent is supported.
I get a kick out of it when I see it, because you can understand how it happens. "Well, at least you tried."
It is wrong to blame the server here. For better results in content-negotiation, a user-agent should allow you to assign numeric weights instead of just a list (implying the same level of preference). Example:
If you already send something similar to this, and the server gets it wrong, then this is an outright bug, the software or its operator is out of compliance with HTTP.This parameter, at first glance, appears to be used as numeric weights for automatic translations served by default, what turns browsing very uncomfortable (wrong translations, distorted texts).
Ie. Google, Youtube, Reddit.
Automatic translations should never be served by default, but only be loaded if the user requests it. The classical "do you want translate".
It was and still is used for manually translated text, among other things. Does this help you get the full picture?
99% agree, but there is a problem on mobile, to switch from Spanish to English when I click the glass to search for alternatives. I have to type "Ing" (that are the first letters of "Inglés") while it shows "English" in the list of matches. It would be better if I can type both "Ing" or "Eng".
It's even more amusing when the displayed list looks like it's sorted randomly, but in reality it's sorted alphabetically in a different language to the display language..
e.g.
(but if sorted in English: Dutch, English, French, German, Spanish)I don't understand why you would want to select Inglés instead of English? You want to selecf English, or Español, or Nederlands, or Deutsch, or whatever language. If makes no sense for it to be translated.
Funny. The Wikipedia home page has a "Language" button. Like that, in plain English. And it is translated to the language you switch to.
So much this. I also hate the implicit assumption that everyone understands just one language that's baked into this kind of design. I can comfortably read in four languages, and naturally prefer the original language to (typically) bad localization. So your guess at what language I would prefer based on my IP is virtually guaranteed to be wrong. Seriously, just look at what languages I'm already telling you work for me. There's no reason to assume I'm not smart enough to correctly configure my browser's language settings.
It gets even worse with YouTube and their awful AI dubbing that's always on by default. So now for solidly half the videos I watch, I need to (1) open it, (2) click through the settings to turn off the AI dubbing, and then (3) rewind back to the beginning and start over. It doesn't take a lot of time, but it's incredibly annoying.
YouTube‘s AI dubbing is truly awful. It took me 5 minutes to realize the audio I was hearing was coming from the video itself, and not some random ad in a different tab.
I also don‘t like that video titles are shown translated. It‘s so weird when I‘m watching a video in spoken English, yet the title is in a different language.
It's especially painful since they don't translate all subtitles.
I'm french, but my browsers are configured for English. Some (but not all!) english titles are translated to french, and some french titles are translated to english. This actually caused me to miss a few uploads from channels I'm subscribed to, as the language of the title is part of my mind-filtering for those channels.
I even have Spanish set in Google as one of my known languages and it still auto translates everything to English. I'm not fluent in Spanish, but one of the well known good ways to get there is to consume native content, but YouTube makes that hard.
Much more importantly: Never ever auto-translate content to the user's language.
Present what languages you actually have the data in. The user is smart enough to click the "translate" button in the web browser should they want. That translation is also likely to be better quality.
English is not my first language. Or my second. But I understand it well enough to work in it every day. And I never ever want to wade through auto-translated garbage just to find the right button to read the original English version. Because for some reason this is only a problem for English, web sites using other locales never do it, which should be indication enough that international visitors hate it.
If you ever think about using machine translation tools for you web site, first you must do a full translation round trip for every language before publishing. Translate, paste back the result and translate back. That is roughly what you intended to publish. Don't do it.
I hate reddit because it auto-translates to French and users have a specific style that would be hard or impossible to really human-translate anyway. Even if I didn't speak English the translated content would not be worth it.
The feature to change the language or show original content is hard to find and it depends on wether it's the app or mobile web or desktop web.
They also try too hard to make us download the app but that's an other issue.
I also hate the youtube "feature" that translates the titles of videos to your setting's language. This is so annoying. I can understand English and don't need these automatic translations.
> I can understand English and don't need these automatic translations
I think it is far worse than that:
1. If I don't understand a language, probably that video is not for me. Most videos targeted for international audience are in English, or at least the author translated it by theirself.
2. Titles are small sentences, and they don't have enough context to be translated. Once I saw a video called something like "Vamos assistir uma conexão com o passado", which in Portuguese means "Let's watch a connection to the past". I needed to de-translate it in my brain to understand that the original title was "Let's play A Link to the Past"
3. Online resources are a great way to exercise a second language. So, please, don't underestimate my capabilities. At least let me try to read in the original language by myself, if I need the translation I how to use Google Translate or a dictionary.
I reckon that this feature makes the access to online content more democratic, it's ok. But at least let me disable that since it makes the experience worse
There's a video that Youtube keeps sending me with a translated title "O segredo das lavadouras" (what translates to "the secret of washing machines") that is about picking screw washers...
But the real problem is when it decides to translate the titles of some perfectly watchable videos in English into something that uses the Cyrillic alphabet, what has no relation to my accepted languages, and is only used half-way across the world from where I am.
And most of the times, the translation misses a core part of the title, making it harder or even impossible to understand. A recent example is "I booted windows from Google Drive (part 2)", which got translated to "inicié ventanas de Google Drive", which misses the whole point. Luckily for me, the miniature said what the video was about, and I could understand and watch it.
About the translation, sure, "boot" ≈ "iniciar", "window" = "ventana", but for (microsoft) windows, and other names in foreign languages, the same name must be kept.
I'm sure YouTube's algorithm rewards people for using this feature and making their "content accessible", but if you serve me up an ugly machine translated Norwegian title rather than the English one I could read just fine, that's from my experience a signal that your YouTube channel is low quality algorithm-chasing garbage, so I click "never recommend this channel".
What a catastrophe. You punish the wrong person, and even worse, a channel owner will not even receive that signal! The vast majority of channel owners with English content is not aware what's going on. A friendly e-mail to the channel owner explaining the problem and asking to manually disable auto-translation is much more likely to achieve what you want.
If you want to get rid of auto-translation on a systematic level, provide feedback to the operators of Youtube through their official communication.
So what you're saying: Please complain through proper channels and hope they accept your input?
Or should he just keep using the signals he gets and immediately clean up his feed?
I actually see this as a feature. YouTube recommends a lot of garbage. I suggested that they improved my feed but they implemented this signal instead. I use the exactly this method to weed out a lot of content I do not care for.
You cannot tell the 500 pound gorilla anything. I prefer my videos without subtitles. I have that set as a preference. Yet when chromecasting it is common for the subtitles to spontaneously turn on. And has done so for a long time.
English is not my first language and my first language is not widely used. Hence I am not used to dubbed movies/programming and I am used to seeing subtitles.
If a native english speaker could understand the horror show that the machine generated subtitles are. If you are used to subtitles they are extremely hard to ignore. You will then read and get the understanding (often hilariously wrong) before the audio catches up and you might end up rather confused.
I can understand an American might have a hard time watching a subbed German movie. Thats natural because it is not common. But when you grew up with subtitles it is actually effortless. Except when they are poor. Then it becomes worse because of the cognitive load of 2 languages and the effort to figure out what is correct.
Dear english only speakers: Translation is hard. A poor translation is worse that no translation as it obfuscates the message. AI is not there yet at all. Maybe impressive but often not helpful or plain and simply distorts the real message.
As a fellow non English native speaker, I concur with all of the above. But if you only have time for one sentence:
> A poor translation is worse than no translation
What I wanted to transport is the following idea: attacking a channel owner (who is most likely innocent and did nothing wrong) with a metaphoric sledge-hammer when a more gentle and precise tool will do is not a great way to conduct oneself in society. vintermann and clan have a feed now without content that bothers them, but at the cost of lowering the channel owner's reputation in the eyes of the operators of Youtube, with the effect of slashing recommendations for the videos of the channel owner at large and his earnings. That's not nice, we should be considerate of the consequence of our actions. Does this make sense, do you understand this perspective?
This behaviour rankles me, I think is on the same level as the misuse of the feature "report this as spam (to some upstream entity/3rd party)" for e-mail messages that are not actually spam.
The channel I'm interested in would be of great interest to English speakers. There are only a few people brave/stupid enough to travel to dangerous places (Ukraine near the front) to do a documentary. I cannot blame the author for turning on the translate, it likely overall expands his reach and is a good thing for those who are not interested in his native language. However I'm trying to learn his native language and getting dropped to English out of my control is not helpful to me.
Youtube really doesn't make it obvious that a title got auto-translated. I now realize that I've seen this happen before, with a video that had a different title on my TV than on my computer, but up until this very second I thought it was my TV's fault.
Even being aware of this - how do I know that it's an auto-translation, rather than someone making AI slop in my native language, without watching the video?
One way to tell is when the video has text in the thumbnail. If it's in a different language than the title it has likely been auto translated.
I guess it's the default option. I've seen a few good channels that have that "feature" enabled. I hate it too.
My computer is set to English even though I'm German, and sometimes Youtube will treat me to this really uncanny machine voice with really weird phrases because it auto-translated some German video or advert. Lidl is worth it, ja!
I absolutely hate this. I have the exact same thing. Even if the technology was good, I speak both languages and want to see the original.
Why is it so hard to just add something as a setting/feature and offer it to people without forcing it on the user?
> Why is it so hard to just add something as a setting/feature and offer it to people without forcing it on the user?
Office politics. Google is famously "performance-driven", so the manager in charge of that feature needs usage metrics to be high for the sake of their own career.
(Speculating, of course.)
That's a funny idea—if the KPI was boosting adoption of a feature and the PM just made that feature the default and suddenly adoption was through the roof.
The sad part is we can't rule that out.
I wonder if Lidl or the other advertisers know and approve of this.
I mean it's probably somewhere, deep in the ToS but pretty sure if you showed that machine voice to the advertisers they wouldn't approve.
This would also be good for movies :D
I can speak german, I don't need forced subtitles for the nazis
Sometimes we do, when actors actually don’t speak German very well (or Russian or Chinese or French)
Same here. My native tongue is German, I live in Switzerland, but my settings on all devices are English.
I do this on purpose, because I find everything is more searchable. I don't even know any German terms for most technical things I might search or look for. So even if the automatic translations were good, which they aren't, this would be a non-feature.
My browser already tells them what my preferred language is. Just use it.
Living in Zurich (German part of Switzerland for those who don't know), Windows 10 in English, the built-in Microsoft Store used to offer content in... French.
Now it's a mix of German and English, e.g. 1 heading is "Spiele-Bestseller", and the next is "Best selling apps". And prices displayed as "28,00 CHF" (correct would be to use the decimal point).
Like Van Halen's brown M&Ms, it just shows how sloppily this thing is programmed: https://www.snopes.com/fact-check/brown-out/
I thought I was the only one getting such a messy ads.
At least I know I didn't mess anything on my WebOS TV.
its especially funny with asmr video, not gonna lie the first time I was beyond confused
idoundernotstandwhothisfeatureisdivisiblebytwoinproductionandi
just dislike video and move on. I'm guessing Google wants uploader penalized, and I do feel sorry but it's not my problem.
Not only the titles, but also the audio track. There's a few youtubers I regularly watch who are trying to branch out into some additional languages by providing fan-made translated audio tracks, and english is sometimes one of those. Every single time I watch one of those videos, I have to manually set the language back to the original because often the translations lose some of the word play or hidden meaning in the original language. Often it also means I need to rewind the video because it started playing before all the controls have loaded (because youtube hates FF with youtube-related extensions) and I could swap the language track back.
One of the sister replies linked to an extension to help with that, which I'm going to give a try, but it's annoying that there's not a simple toggle in the youtube settings to tell it to always use the original language. On the rare occasion that I want to use the translated audio track, I can do _that_ on my own; I speak enough languages that this is a very rare occasion with the type of content I watch.
This isn't even something I can understand as them being hostile to ad blocking or wanting to push ads. This is a 'convenience' feature that is just poorly implemented. But I'm sure there's some PM that got a pat on the back for it.
Now Reddit results are translated as well in Google, Kagi, so you think you have found a relevant response in your language, but it's just a machine translation from an English post.
Leads to foreign-language posts on English-speaking small subreddits as well. I see plenty of Portugese, Spanish, Italian and German in communities that barely have enough traffic to debate in a single language.
But nobody pays to get answers, so it's alright.
At least for Kagi they seem to working on solution[0]. But Reddit seems to be fighting back by translating server side so it's no longer detectable.
[0] https://kagifeedback.org/d/5212-low-quality-translated-reddi...
Thanks for the link, good to know. Gives me a fuzzy feeling to pay for a search engine whose devs you can actually interact with and are actually working on improving their product.
I've been noticing the same, this completely breaks searching for reddit results for me
Try "Reddit Untranslate" addon.
I'm a bit fed up with having to use a million plugins to make the web usable.
You can filter them out by adding this operator to the query:
duckduckgo seems to do it as well
Yep, this is coming from Reddit itself. It's using different URLs, and they seem to be making an effort to SEO-rank those translations.
It's even worse for videos with "official" dubs. I have been jump scared by German and French dubs on certain videos recently, I distinctly remember MrBeast, Mark Rober and Nick DiGiovanni. I have set my language to English and my Region to US (worldwide) I don't know what gave YT the idea to preselect these dubs for me, I have seldomly even watched a video that is not English.
Yep. Youtube is the worst:
- If I select German subtitles for a German video, it will auto-translate all English subtitles to German in the future.
- If I select subtitles for an English video, same.
- If the video has an Arabic, Hindi, French human-made subtitle to help that audience, it shows it to me instead of the automatic captions
Horrible.
And you can't turn it off. I really hate this non-feature.
Agreed. I use https://addons.mozilla.org/de/firefox/addon/youtube-anti-tra... to work around it.
Using Brave on iOS I haven't encountered it yet. Perhaps it strips some information? But with the official YT app I have, and it was both fascinating and annoying.
I don't even get the point of that. If I need a translation of the title, I won't be able to watch the video anyways. At least ot makes some sense with the horribly auto-translated videos now, but they had the title translation for a long time while the video was still the original language.
There's been automatic subtitle translation for a long time.
Good point, I didn’t even think about that because I would never watch a video in a foreign language with auto-translated subtitles.
I get you and normally wouldn't either. I was a little impressed when I could switch to like 10 diff languages on the fly. As a foreign language learner seems like it could be pretty helpful.
It's probably most useful for utility or news content. Not 'high effort videos' about an interesting topic. I'm imagining you find a video in another language that fixes a problem you have and can switch to your language to watch.
I sometime watch videos in English with the automatic subtitles. Sometimes I can't understand a few words and the subtitles help me. Most of the time I watch them without subtitles, and rewind the video a few seconds to rewatch a short part with the subtitles enabled.
Worse is the auto-dubbing in some channels. Which cannot be disabled. That has resulted in me stopping to watch a channel completely due to the inability to select the original language (youtube mobile website).
There are a few browser extensions to fix this, I use this one: https://addons.mozilla.org/en-US/firefox/addon/youtube-no-tr...
Thanks! This is great. Although embarrassing for YouTube.
I can also recommend FreeTube
What I don't get is how the feature works. I see it for veeery few videos and those are usually highly profitable clickbait and/or big budget productions, so my assumption has been this is actually something the uploader has to enable or even fill out. My language is very "small", so it makes sense that only the broadly-popuar and highly-profitable would be worth translating the titles for.
Unfortunately, all the translations are machine-translated garbage and there is no setting to turn this off as a viewer, so it's just incredibly annoying.
Can't recommend "DeArrow" browser extension enough. YouTube is a miserable experience without it (and its sister extension SponsorBlock).
It is not just that these translations are not needed, they are often - in my case German - of a low quality, contain errors and lose information which the original language contained. And the roboter voices loses all the interesting modulations of the original voice. Even a Fireship video sounds terrible when translated.
While i appreciate the effort that Mark Rober puts in his Youtube videos making them multilanguage, i absolutely hate that native voice. It's one of the few Youtube shorts i have to play twice because of it.
Gosh this annoys me so much. I am native Portuguese speaker but have all my settings in English. It always tries to auto-dub Portuguese content into English, how do I turn that off?
So much this. I suspect the idea that a person speaks more than one language is absent in US silicon valley. Else I can't explain why youtube only lets you set one language. Heck, even google allows you to configure all spoken languages in your account, the very same google account you use for youtube. Yet youtube ignores it and has its own settings.
I think the issue is not speaking more than one language, but not preferring your native language over the original content's language. This is a very American-English-centric view of the world, where content is made for your language and your demographic. Consumption from outside the US is the exception.
In the rest of the world, and especially in Europe, this is the norm, not the exception. On one hand there is the prevalence of US English media (hello hollywood), US english literature (esp. in tech); and on the other hand cross-consumption between EU countries is much more common.
Oh, and the content ends up being in English too, because that's how to reach many people. We don't want those to be translated, because we don't want a double translation. This is something that the US / Silicon Valley mind cannot comprehend.
> I suspect the idea that a person speaks more than one language is absent in US silicon valley.
Which has been baffling to me considering how many foreigners work at these companies.
I think it's more a matter of "why would they have their system language set to X if they speak Y? If they want Y, they should just set their system language to Y!"
It's the idea that the user has a preference for something, and it applies always and everywhere, even when it's not applicable.
It should be absolutely clear, when i speak English and German, do not auto-translate any video title in those languages to the other. You wouldn't believe how bad the translations are, and how unwanted by me (the user). Worse when you speak a third or fourth language, and tend to watch videos. It gets messy.
Yeah I know, I watch videos in six different languages and the automatic translation are pretty universally bad.
> why would they have their system language set to X if they speak Y? If they want Y, they should just set their system language to Y!
If only they respected my system language. All my language settings are set to English, yet I routinely get autotranslated crap to my native language.
It was more of an example in how they pick up on _some_ signal about a users language preference and then arrogantly assume they're correct in their decision, and that it's the user's fault if they assumed wrong.
> I suspect the idea that a person speaks more than one language is absent in US silicon valley.
Exactly, it's like they've never left their own state levels of ignorance
Jesus H Christ, I once a month google to see if there's a proper way of stopping this (You can block this with TamperMonkey)
2 things that absolutely kill my experience,
1. Messing up with titles, specially if the contents of the video are still in a different language, Which Kurzgesagt will I get today? Only YouTube knows, this is annoying if I know the youtuber could use a different language in the title to make a joke
2. Messing up with the default audio tracks, I don't mind if the YouTuber has a dubbed track, that's awesome for getting more exposure, but I already know and expect a specific voice and it's extremely jarring
I know what Mark Rober sound like, leave it be
By the by, one quirk of poor language handling that I think it probably harming YouTube is advert language.
Every one of my subscriptions is an English language channel, and my language choice on all Google properties (where possible) including YouTube is English. It's not hard to judge that English is my favoured language.
And yet... every video advert I receive when travelling is served in the local country's language. It doesn't especially bother me, since I actively avoid listening to adverts (and indeed, now pay for Premium lite to avoid them almost altogether) but it's a weird not-so-edge case that I'd have thought a company as large as Google might have addressed already. They've absolutely got the tech to deliver adverts in any language. (And it could be powerful: imagine receiving adverts for local businesses in your native language while on holiday.)
Do you have en-US or en-GB as an alternate, lower-priority language?
If an English variant is in your Accept-Lang: headers, I'd hope YT wouldn't auto-translate English titles.
The other thing that Google might properly use is account-specific language settings. But if they're using GeoIP as has been suggested, I agree they're doing it wrong.
> If an English variant is in your Accept-Lang: headers, I'd hope YT wouldn't auto-translate English titles.
Your hope is unfortunately entirely misplaced. Google is one of the worst offenders for assuming language and region from users' IP.
I mean, I can deal with the titles, but recently it has been auto selecting machine translated sound tracks, without any way to disable it. And they're bad, like maybe one level above 2010 phone TTS system
Even reddit does that now and for some reason shows the translated version by default when I search a post through google.
Very annoying, because instead of just seeing the english post, which I'm easily able to understand, I see half-broken german...
Hear! Hear! It enrages me. They also automatically turn the subtitles ON, making you constantly have to disable them. There is no way for multilingual users to add a list of the languages they understand, which is an insane limitation that's been driving me crazy for years at this point. Wtf are they even working on at youtube's HQ? Making video thumbnails larger still?
My biggest annoyance is with Google. They know who I am, they know I am traveling, they know my language preferences (English) and yet I still get language based on my location on certain pages.
I let you track me Google, please use it for some good UX and not just advertising.
Indeed. Catalan speakers have Spanish forced down their throat no matter if Spanish has never been associated to the Google account in any way, nor in the system or browser language preferences.
In my case, I live in the United States, but Google is determined to serve me Spanish results even for Catalan-related queries. E.g. preferring the Spanish Wikipedia. The search engine's behavior has had ups and downs over the years, but it has never been great.
This is very much a problem for my children, who don't understand Spanish, as well as for the Catalan-speaking regions of the world that are not in Spain, including Andorra.
In my experience, Gemini easily flags any Catalan content as unsafe and prevents the conversation from continuing. Even for prompts like "summarize this article". This may have improved lately, but still.
Google used to be an example in sensitivity to the world's diversity, being a responsible major player. Way back. Now, although I applaud some efforts multiple teams continue making, it is obvious this is no longer a priority.
Indeed, somehow Google is the worst offender with this.
Lately they've decided that auto translating the local language into English in Maps reviews is the wrong thing to do. They translate every other language into English but somehow since I live in this place I must speak the local language too, so I don't need that in English.
Ditto for search results. Surely you want Wikipedia in the local language! I mean you've been there for so long! You search for things in the local language, surely that's a sign of your preference and not the fact that searching for things locally requires use of the local language.
This also applies to so much other "we must make our software so smart and guess all your preferences". Google fails so consistently at this I cannot understand why they persist other than some sort of misplaced corporate self regard.
I've had this argument with a Google Developer.
He told me that for efficiency, they had different stages in the content rendering and that the main page structure didn't have your user information yet. That's rubbish IMHO because the accept language header should be readily available in that phase.
I've seen similar dysfunctions in other big orgs where a feature or bugfix would need to cross team boundaries and the outcome inhabits zones of vaguely defined responsibility.
The guy you argued with sounds like they were semi-justifying this with the typical "noogler" rose colored glasses.
> He told me that for efficiency, they [had to make a broken product]
That's called premature optimization.
That's so annoying, every time I'm on a new device/browser, Google and all their services start in Hebrew. Even though I'm signed in and have changed it to English a million times already. It's not that I can't read it, I'd just rather have everything in a universal language rather than a translation
Its strange that Google knows I live in the UK and speak English. When I'm signed in to a TV in a hotel room in Spain watching English YouTube videos it then shows me a Spanish advert. Just feels really silly when I don't understand it and they know full well that I don't understand it - still they can charge the advertisers.
When I was in Romania for my IELTS, I could not use Google Maps. Despite my Google account specifying my preferred languages as English, Ukrainian, Russian in that order and my Accept Language header set only to English, that was not enough to not discount those preferences as a configuration error and serve me Romanian.
Using Google search, which luckily did not decide to show me "local" results to an English query like it often does home, I found a support thread suggesting I set my Accept Language to have something other than English as a second language. Lo and behold, the page decided to now respect it.
What incentives does Google have to improve UX in this way? I absolutely agree that it should be the case, but the people for whom it matters are (1) completely insignificant wrt to the whole user base and (2) mostly care about tracking and try to circumvent it.
There are 700+ million people living in Europe. The countries are tiny, most have bunch of official languages. The fix would be to use users selected language and not to flip flop it based on location. IP based location guessing doesn’t work even down to right country in here.
That is not an incentive. There is nothing in to for Google.
It is of course useful for those 700+million, but they are not customers of Google, they users/the product. So long as you won't go elsewhere (in mass) you don't matter.
>(1) completely insignificant wrt to the whole user base and
At any one time, there's got to be tens of millions of people accessing Google from a country which has a primary language unknown to the traveller. Even if this number is insignificant compared to Google's full user base, the cost for Google to service 20-30mn people with a feature is presumably lower than their annual ad revenues across 20-30mn people.
My worst experience was that after arriving in a new country the Play store didn't show local apps because my Google account was assigned to the old country. And changing the country wasn't easy and meant abandoning the old country and it's apps. Since I travel a bit back and forth I ended up buying a second phone and creating an account for the new country.
This is indeed extremely annoying and I never understood why so many apps are configured to only be available in specific countries. Like what at all do they stand to gain doing this?
Google will then go on to complain about users installing APKs from shady sources but this practice pushes users to do so. I'm sure a decent amount of users ended up with malware on their phones just because they wanted to install an app that wasn't available in their listed country.
You solve it the best way to fit your case I guess. On android I created a set of alternative accounts that each belong to a different country.
All accounts can be active at the same time on the same phone, there is a dropdown to switch in the Store app, and that works even with a work profile on the side. I've yet to see real downsides, except for course remembering which account is on which country and manually switching.
Thank you. I may try the same when the time comes to ditch the old phone.
Sad fact: most people don’t go anywhere.
People like us are an edge case.
One don't need to travel to be multilingual.
Many EU country have more than one official languages.
Most previous colony is bilingual.
I was replying to doix, not TFA.
Yeah it's amazing that Google is the worst offender.
I think this is because half of Google live their entire career in California, so they don't know about other languages, units, time zones at all.
It's weird, because they employ SO many foreigners, bringing them to California. But somehow upon arrival they all get memory wiped about the existence of anything outside the bay area.
Other companies do this right. Google is user hostile.
No. I will NEVER navigate by bike, foot, or public transport in these strange America-only units.
I worked on a project where I was responsible for implementing accessibility and multiple language support for a government adjacent site. I used Accept-Language to decide which of our supported languages to use as the default. The PM over-ruled that decision and forced a EN default.
The accessibility auditor put "use Accept-Language" into they audit report as a "red" item and then ripped the company a new one when they found out it had been initially implemented that way but then reverted.
I got another couple of weeks of contract work for this and other such stupidity.
> Every browser sends an Accept-Language header. It tells you what language the user prefers, not based on location, not based on IP, based on their OS or browser config. And yes, users can tweak it if they care enough.
This is also a broken assumption.
First, Accept-Language is an ordered list, and most daily-multilingual people don't have an absolute order of preference, and more a topical list of preferences.
If I read an English news site that has a translated French version, it doesn't matter if I'm most proficient in French, I'll want the English version.
Then, as an affect of the first point, users will specify their most practical language, not some actual preference. For instance local non-English sites tend to do less shenanigans than international English ones, so having one's language set as English only will force English display for the former, with few impact on most other sites.
A French site ignoring all preferences and just pushing the French version by default actually helps in that case.
If anything, I just wish site owners stopped trying to be cute or clever and just had a very obvious and quick interface to switch to other versions. Wikipedia does it decently well for instance.
> If I read an English news site that has a translated French version, it doesn't matter if I'm most proficient in French, I'll want the English version.
The solution there is not to abandon the very useful Accept-Language header, but to never offer half-baked translations. Is your website multilingual? Fine, but only offer fully translated and verified translation sets. It's OK to have your UI and your own content translated in a few languages — for a company that may make sense depending on their target clientele — but you'll have to maintain all of these and keep them in sync.
However, user content is off-limits. No automatic translations unless you only offer those under a button to be helpful (like 'Spanish detected, click to show an automatic translation into English'), but really, leave that to the user's browser.
Use Accept-Language to pick a language, and then offer me a way to switch in addition to that. That's all there is to it.
> Wikipedia does it decently well for instance.
Wikipedia doesn't do that. Each language is its own instance, where content may be ported to by translating it (or parts of it), but outside of the Mediawiki UI texts, it is not a translation of the same content. The Dutch version of the lemma 'Language' is a different article in a different language with some overlap. There is no claim made that it is the same article in Dutch. It is hosted on a different sub-domain and path on purpose.
> never offer half-baked translations
Sadly that ship has sailed.
We can look at the reaction from smaller youtubers as auto-dub rolled out. Most are sympathetic to the quality issues but are seeing it as either a "good enough" or at least a "better than nothing" feature that helps them expand their audience with no visible cost on their side.
Or official government sites that have explicitely disclosed AI translations and didn't bother passing it through a regular translator.
This situation just won't get better. Except perhaps the day AI is actually intelligent and we have human being level translators running on cloud servers.
> Wikipedia
Yes, those are not translations, but in that specific case they also don't need to: the quality of the article will vary depending on the editor, but there's no "original" article, so nothing to translate from IMHO.
> Fine, but only offer fully translated and verified translation sets
No, I do not want the translation at all, unless I say so. Really. Even if it is the best translation in the world. I want and need to choose the language I will read or watching something in.
> First, Accept-Language is an ordered list, and most daily-multilingual people don't have an absolute order of preference, and more a topical list of preferences.
Technically Accept-Language allows you to specify a "quality value"/weight for each language... https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/...
IMO there is a lot of improvements that can be made by both the browser and websites:
Websites should probably allow users to override the browser-requested language. But browsers should also allow users to choose between "Site default", "Request system default language", "Request English", "Request Chinese", "Request Spanish", etc. on a per site basis.
Most optimally however: sites should expose a list of supported languages, maybe in the manifest.json: https://developer.mozilla.org/en-US/docs/Web/Progressive_web... Format would be something like: `Map<iso639Code: string, Tuple<translationQuality: float, comments: string>>`
Language selection should be done on the client side, not on the server.
Fundamentally the issue for me is, this behavior can't be automated in an elegant way.
Having priorities and weight and language lists in the manifest help for negociation, but at the core of it, the user will want to choose language based on context and content.
> Language selection should be done on the client side, not on the server.
Yes.
Using a site specific list on the client side could also do it (let's say I always want Facebook in a language and Google in another, Linkedin in yet another etc.). It still will be pretty cumbersome, probably needs an auto-save and sync of the preferences, and still hits problematic cases, but it would be the most pragmatic solution.
The worst instance of it is IMHO the way Google Maps work, changing language based on the country gives the best display (local names in the proper writing, no internationalization), I wish there was an easier way than screwing with the Google account preferences. As you point out, having clients able to unambiguously request a specific version at each requests would gives us so many more options.
> Having priorities and weight and language lists in the manifest help for negociation, but at the core of it, the user will want to choose language based on context and content.
Yup, agreed. I highly doubt most websites even look at those weights in the Accept-Language header anyways.
Having a list of supported langs in the manifest costs nothing. Lazy-load the manifest when the user goes to use the language selection dropdown, or when the response from the server is in a different language than the one requested in Accept-Language (check Content-Language or html `lang` attr).
Looks like there's a name for this, but no standard: https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Con...
It cannot be fully automated but if we can automatically select a language based on native or translated it would cover 99% of use cases
That's IMO the original sin: no automatic selection will cover 99% of use cases, that in itself it to me a fantasy that isn't worth pursuing.
People are complicated and having simple heuristics to predict what more than half of them want is not feasible at our level of technology.
Sure any single person will have somewhat simple rules to decide what languages they want, you could come up with simple rules for the people in your life. But you're not trying to solve it for a specific group of people. The target is 8 billion people, most of which we have no idea what their life is.
No, please, don't force a language list. I don't have a "ranking of the languages I want to read". I want the original language of the content, with a quick button to switch.
> Then, as an affect of the first point, users will specify their most practical language, not some actual preference.
Where does this assumption come from? Given the fact that many (most? almost all?) sites don't honor the Accept-Language header, I doubt that there's much game theory going on in users' head when deciding this configuration.
I'd assume most WordPress based sites handling multiple locales will switch based on the Accept-Language ? Same if they let a framework handle the switch instead of a home-baked solution.
Even for auto-translated content, I wouldn't be surprised if it was off-the-shelf plugins that handle the switch.
All in all, I think it takes more effort to ignore the Accept-Language header. That won't prevent sites from tweaking it or doing their own cooking, but it kinda requires intent.
They're right. Try to find a Dutch IT person with a laptop not set to English. Only a small fraction will realise you can set more than one language and put Dutch as a second, even though many struggle beyond basic reading comprehension in English. They're not picking it because they're just as good, much less better, at English compared to Dutch
We definitely pick languages that work as opposed to languages that we speak. Setting it to Dutch is just worse: UX doesn't fit, english search results wouldn't show up (way fewer results/content/info), and translations often don't make sense (imagine a button called "you shut it" on a modal window, it's a literal translation of one interpretation of the string "close it" but you'll be confused as to what that button will do)
The language set defaults to the language set in the OS, which is usually the preferred language for most users.
You have people working in IT who set their language to English for easier troubleshooting (i.e. not needing to Google error codes), but they're a small minority.
Anyone handling more than one language daily will be doing an explicit choice, and I wouldn't say they're a minority.
If your native tongue is Spanish but you live in the US for instance, the "preferred" language in your browser has IMHO a higher chance of being English. Same if you live in India probably.
Seems this is a free-for-all to drop language gripes, so here's mine about Apple TV.
Have a family member who only speaks Japanese. My Apple account is in Finland. We wanted to watch The Martian together, but can't select Japanese dub even though that audio track definitely exists. They just don't show you the options not relevant to your account country, and the only way around is to change your whole Apple account to a new country.
Which you cannot do while you have an active Apple TV subscription.
End result: unable to watch Apple TV as a family.
My guess is there's licensing issues, i.e. the Japanese language dub isn't licensed to be played in Finland... in this case the moronity is due to copyright laws/lawyers.
I don’t buy that argument. Sometimes if you buy the movie you have more audio choices, on the same platform.
If you buy the Blu-ray, you likely have tons of languages not present in the streamed video.
And streaming vs. distribution licensing laws differ... ask a copyright lawyer near you.
If buying on the same platform unlocks more languages, that sounds even more like a copyright thing
Netflix had a similar oddity, also in Finland: if I recall correctly there's an account language setting, and you have to set it to English to see Kim's Convenience. No need for a VPN, no need to claim you're in another country, but it's just hiding the content unless you've set the right language. Even if we're using English subs when watching content from the Finnish language UI.
I have told the story here before, but I built a neat little system to parse Accept-Language weighing the users priorities and using the closest thing we have on offer to the users preferences. As an example, we have a Brazilian Portuguese translation but not Portugal Portuguese, so we would offer the prior to users requesting the latter for instance unless they had a lower priority but more exact match.
From my technical standpoint it worked really well and the code was very slick. It was a lot of fun to build.
From a user standpoint most of our users really just wanted English regardless of their Accept-Language header. They had the option to change it in the footer but this apparently wasn't obvious enough.
We just ask now, and our users are happier.
You ask, as in, whenever I visit the site without having your cookies stored, I'll get a language selector wall first?
I run into those regularly and it's always a struggle to know how to stay on the damn page I clicked on: will the "continue" button use the preselected value or will it dismiss the pop-up and continue on the current page?If the former, is the preselected value the page I'm on or a different language? Can I guess which locale I'm on to select that and dismiss the pop-up then? Can I inspect-element→delete this modal and just sidestep the whole problem? Even just a small close button is a luxury on these language walls...
95 out of 100 times, I'm fine with whatever language I clicked on, and if I want your German version for locale-adjusted shipping info or payment options or whatnot, I'll look for a language selector on the top right or, alternatively, in the page footer. If it's in one of those two places, I'd be much happier about a web without JavaScript-based pop-ups constantly
We're a paid SaaS so I don't think it's as much of an annoyance to be asked once per browser.
It's just a separate page you hit after signing in if we don't have your preference. You click on the language you want and you are redirected to the dashboard.
The option to change it still exists in the footer.
Okay, must say that does sound like a very acceptable flow. You'll have the user logged in at that point so can store it and never need to ask again. Was expecting you built this for regular websites, my bad!
Yes! I still want to default to accept-language, but asking is key. What is your pattern for giving the user an option? I like this article in that it rejects icons, but I don’t like how they arrive at one language for multiple regions https://usersnap.com/blog/design-language-switch/
We literally just have a box that pops up with "<language> (<region>)" in each of the native languages. It gets saved to a long lived cookie rather than the user's account for some business reasons.
I expect many people will have it set to their OS default, and they are just accustomed to it, and don't know how to change it.
It's entirely ridiculous when you're abroad. Also annoying when in your home country, but the localized versions are not equivalent like e.g. programming documentation. Even in the ideal case you'd probably prefer the English original, but often they're machine-translated anyway and much worse.
Another extremely annoying thing I've noticed more often now are machine-translated versions of content in the search results. Reddit for example does this now, and it's just terrible. One of the main reasons I use non-English search terms is to get non-English results, e.g. because I'm looking for information on topics that is not globally applicable.
Right. You can basically hear the product team at Reddit humming star-spangled banner while conceiving this feature for themselves as monolingual people. The rest of the world can understand multiple languages just fine, thank you very much.
Yes, oh my Lord I've been getting seriously frustrated with Mongo's documentation lately. I'm not sure if it picks the language based on location or Accept-Language, never played around with it, but it's behavior is deeply rage-inducing.
I do a web search and get a list of results for the English version, open it and it automatically changes to PT-br as soon as JS loads, but then, after a few seconds, once the page is fully loaded, it jumps back to English, while keeping the /pt-br/ slug in the URL...
What the heck??
And yeah, the translation is very obviously not human made or reviewed. Furthermore, I'm PT-pt, so the differences to PT-br just make the experience even more annoying X)
I really wish for a language setting that says: If the original text is in one of the following languages, use the original text. I might not be equally fluent in all of those languages, but reading the original text is better than reading a translation most of the time.
You’re in luck!
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/...
I wrote about it once; https://dijit.svbtle.com/trusting-the-user-they-know-what-la...
Outlook web actually respects this, which is refreshing.
Unfortunately, that just specifies which languages you prefer, regardless of what the original language is.
I speak Dutch and English, but have English set as my preferred language, because most of the time that multiple languages are available, that is the original language. However, sometimes I'll be visiting a Dutch site that has a (usually badly-)translated English version available, and I'd rather get the Dutch version.
I think thats bad logic on the server side and not to do with the concept of Accept-Language though.
I would think the ideal prioritisation should probably be:
* Exact (en_GB)
* Exact (fr_CA)
* Soft (en_*) // Any variant of English you might have available
* Soft (fr_*) // Any variant of French you might have available
* Translated. (to first preferred)
for Accept-Language: “en_GB,fr_CA”
I don't think Accept-Language supports "Translated", "Exact" or "Soft"? But yes, that would match the language setting that GGP asked for.
This is expressed as the quality parameter. To make the system GP proposed work atop HTTP content-negotiation, a server operator should assign a very small number to the automatically translated content.
Isn't that what `Accept-Language: *` is for?
You could probably also trick websites into serving the original language by setting a language they probably don't support (how many websites have a version available in Akkadian anyway?) but you'd need to pick something that the Google Translate widget found on many websites doesn't pick up and try to use.
No, because then it will probably serve it in the original language regardless of the languages I speak. If the original language is French, I'd still prefer to have it in English.
(To be clear, with how widespread English is, and how often Dutch sites are Dutch-only, this is a minor issue - having English, then Dutch as my preference is usually good enough.)
Modern browsers with auto-translation features always offer the option to "Never translate X" — never translate a language the user speaks.
If websites really need translation (which they very likely do not!), this should be the norm as well.
MacOS has this feature under Settings -> General -> Language & Region -> Preferred Languages. Here you can have an ordered list of languages you wish apps and websites (I _think_ only works for Safari) to use. I don't know how widespread this is in other OS'es or browsers.
That's just the standard Accept-Language header, not unique to Safari or macOS at all. It's up to the server to interpret and respond to the header, and they mostly don't do what gp wants, i.e. they usually serve the translated language with a higher q rather than the original language even if it's in the list (and it's mostly ignored anyway in favor of geoip/manual region/language picker).
It is not the accept-languages header - it affects the accept-languages header. Like the parent said, it is also used for apps (which includes your browser's UI).
This has been OS-independent since the dawn of time (see the Accept-Language header specification), but sites rarely use it
I think the date might be later definitely after the adoption of unicode characters.
Don't guess what currency I want to pay in either by the way.
Your payment provider's automatic conversion is most likely more predatory than my bank's so I don't want to use it.
And even if you guess my location right, how do you know I want a badly/machine translated web site?
This. Related: if I had a penny for every time I needed a VPN just to load the payment method selection screen (but not for the actual payment, it's not geolocked) just to be able to pay somewhere, I'd get a lot of products for free by now...
Why not let germans select iDeal and dutch users Giropay? They'll not click it if it's not useful for them. Adjusting the sort for what's most commonly used makes sense, but why actively thwart users from paying by geolocking payment methods by IP address...
Because then companies would have to charge all users the same price for the exact same service.
Charging customers from countries with higher average purchasing power more and hiding the fact behind "charging people in the local currency for convenience" is much more profitable!
I'm talking about those online stores that don't have a (customer hostile) thought out price for every locale, but they have some auto conversion.
When price is set to $9.99 which works out to 47.89287237634 in your local currency. Although it would work out to 45.89327782 if you used your bank's conversion instead of the "helpful" service.
In those cases i don't think the seller makes any extra money, they get their $9.99 minus payment processor's fees. They just think they're helpful but make you spend more for no good reason.
OVH is awful for this. I’ve given up trying to use their site and always have to open a support ticket any time I want to give them money.
There may not be any conversion at all. I have cards able to carry balances in multiple currencies. I also have foreign bank accounts.
Billing address is not a sure way to predict currency.
As much as I agree Accept language should be enough, the problem is that English is the default value, so if it's default it's likely to be wrong so I understand guessing because most people don't know you can tell the browser what language you want to use. Partly to blame is also the websites that don't have other languages can't respect the header anyway. I've had plenty of users complain about localization issues and I have to explain that they can just tell the browser what language and region to use.
There should be some bit about the locale being default or not. If its not a default, then respecting it would be fine. If its the default, you could try guessing.
Where and what browser are you thinking about when you say English is the default value?
You mean for software distributed in the US?
Websites can only guess the language until the user explicitly choses. Accept-Language is a good guess, but as you pointed out it often defaults to English, or it may transmit language codes the website doesn't support (It sends `es-MX`, but website only supports `es-ES`). The website still has to guess.
English is in fact my primary language. It may be the default, but I cannot set it to something else. I have explicitly chosen to leave it on the default, and would like websites to accept this.
There shouldn't be a default. By default, browsers should just not send the header, which would signal the web site to do whatever stupid thing its developers conjure up. But if the header is sent, it should override the server-side-stupidity. This would solve the "but by default it's English!" objection.
Yeah, this is has become of pet peeve of mine since moving to Spain. US sites that automatically redirect me to their Spanish site (which often doesn't have the actual article the original link pointed to!)
yeah tailscale/wireguard/vpn usually fixes this
but then you have to -know- at which geo you want to operate.
The internet has long been broken as a global field imho
> yeah tailscale/wireguard/vpn usually fixes this
It does not "fix" that at all, and breaks so many other things. I don't wanna see US/UK/Australian prices just because I happen to live in Spain but prefer English when browsing the web (literally same boat as parent).
sorry, yes does not fix the language stuff
i meant it fixes allowing you to pretend to be phsycally somewhere else, but as you say introduces a whole can of new problems/hurdles
idk man i just switch it on and off depending on site
It's easy to make Django react to "Accept-Language" headers, I love how the LocaleMiddleware supports it out of the box [1]. I implemented automatic language detection to show either German or English content and was surprised how many users hated it. We're located in Germany but a lot of people have their browser set to English for some reason, yet they still expect to see pages in German. Of course I had provided an explicit language switch but many users did not like the site guessing their language.
[1] https://docs.djangoproject.com/en/5.1/topics/i18n/translatio...
One of the many, many tedious things about the modern globe-spanning internet, used by hundreds of millions of people who regularly travel far and wide, is this bizarre, stupid forced algorithmic balkanization in which you're pigeonholed right into either being denied access to certain content based on your location, or having your supposed language tendencies modified by default.
I'm not sure what the purpose of this idiocy is. Is it a dark pattern of some kind? Or is it just so hard for grey, cubicle-dwelling functionaries at companies that are themselves often very international to set systems for leaving one's language defaults static unless otherwise adjusted by said site user?
If you're already tracking me and every single one of my digital activities through my devices, then at least give me some modicum of convenience from all the bother.
Here is one big reason some sites do geolocation nevertheless: pricing and legal. Does not matter what language you speak - they still have to look up proper prices in your local currency and offer you country or region-specific deals and legal language. E.g. in Canada Quebec limits what kind of sales or raffles you can offer so websites prepare different site copy. Yes, there are French speaking people outside Quebec and English speaking people in Quebec, but company may not have resources and time to prepare 4 copies instead of 2.
The article is not against geolocation: it is about guessing the language!
In your example, there's only one language available, and it depends on your location, and that is fine.
What is NOT fine is the general case, where several languages are available, and you have already chosen the one(s) you prefer, but the site decides to ignore your choice because reasons.
Quoted from TFA
> If you want to use GeoIP, fine — but only for currency, shipping, legal stuff, never for language
While others have expressed sentiments about YouTube and Google, let me tell you what I really hate - translated reddit posts.
They're polluting search results and it's the ultimate disrespect against multi-lingual users... it's made my life hell when trying to find localized information (for example, in Portuguese), when my computer is set to Portuguese but I'm searching in English.
Honestly, I don't even know what you're talking about – I don't have anything like that. Maybe it can be changed in the settings?
It's in the Google index, not on Reddit itself. For example: https://www.google.com/search?q=site%3Areddit.com+inurl:?tl=...
...will show you posts that have been translated into Italian, most of which were originally in English or a different language.
For example: https://www.reddit.com/r/horror/comments/1k2fotl/welcome_to_...
And of course in this case I explicitly searched for that, but the point is that if Google thinks Italian is your primary language, it will surface those results automatically, even when you might prefer the English original.
Probably this is caused by Reddit offering these pages to Google, rather than Google deciding to send you to a different URL on its own accord, but it's still annoying from an end user perspective.
Going one step further: do not guess my regional preferences from my language. I want to have an American English UI but use little-endian dates, whitespace and comma as thousands and decimal separators, ISO week numbers in calendars (with Monday being the first day of the week), and metric units. I want English subtitles, but not ones meant for the hearing impaired.
Mmm... understandable, but less trivial to implement than the OP. What you're requesting is quite a lot of localization customization. Reasonable to expect this from say, Google Sheets, but you might be out of luck with apps with smaller budgets.
This is a real pain in the ass in Belgium. Many websites assume I speak French while my native language is Dutch. Some websites only offer a French version of their Belgian storefront, even though Dutch accounts for ~60% of Belgians. I can't imagine what it's like for German-speaking Belgians.
This is not only an issue on websites but also on apps. For example, the Books and Podcasts apps on iOS show me both Dutch-speaking and French-speaking titles. I tried to raise this issue back when I worked at Apple but they only have 1 storefront per country and didn't feel like changing it.
This drives me nuts.
Once upon a time French was used even in the Dutch speaking parts, in government, economy, high society. That was long before the internet got popular though. We've had a long fight to get rid of French in Flanders. Dutch is the only official language in Flanders, and it's the language people speak (except expats, or migrants who haven't learned the language yet).
So when companies still assume Belgium == French, it's not only wrong, but it comes across as very condescending. It feels like they haven't outgrown the times where Dutch was suppressed in favor of French.
And why? If a company wants to use only one language for the whole country, it's better of choosing Dutch (as we indeed account for about 60% of the population). Many of those companies do have a perfectly good Dutch translation, which they use for their site when viewed from the Netherlands. Even if they don't, I much prefer English over French.
You'll be glad to hear (I guess) that the pain is shared by french speaking Belgians.
It happens all the god damn time that the websites render in Dutch (or I guess Flemish) instead of the set Accept Language I have (EN then FR). Google is regularly showing me results in Dutch, most online stores default to Dutch even if they have English and French versions available.
Just imagine, all the websites that correctly (for you) display in Dutch, are websites that we have to change to French. I would guess there are more Dutch-defaulting websites than French ones, but I can't know for sure.
Btw, our neighbor is huge and french speaking too, so I'm not surprised companies coming from there favor French on their site. The same way that NL companies operate in Flanders but less so in Wallonia have their default to Dutch.
Also I'd argue that companies operating in Belgium should default to asking the language instead of guessing, otherwise you'll always anger half of the population.
It's exactly the same problem on lots of websites if you're a french speaking belgian don't worry, you just don't notice it in that case.
I don't understand why Google, of all sites, picks your language based on your IP. It ignores not only Accept-Language, but my Google Language settings as well. Their language handling seems to be getting worse over time. Not to mention the long-gone days where you could go to google.co.uk to get UK content.
Before we even get as far as the wrong language being chosen; The GeoIP databases are rarely even up to date so they've got you in the wrong location to begin with.
I've been on static IPs for a decade or so; my last home's static IP was regularly Geo-located to Romania, the next one to the Netherlands, and sometimes even further afield; I'm in the UK.
I started to have a heart attack just yesterday because Zenarmor on my OPNSense box was suggesting that a particular device was sending traffic to a region it has no business sending traffic to; turns out the DB is just wrong and a quick search indicated it actually (currently) belongs to the UK.
In a separate incident (also yesterday, as I then got into investigative mode), I installed Rethink on my phone, which suggested, yet again, that devices (including my phone itself) were sending traffic to places they shouldn't be; again, false alarm, turns out they were all UK IPs, one of which being my own static IP which was being wrongly attributed to another region.
If this part of locating the IP can't even universally be done correctly; why on earth is anyone even considering trying to use it to guess a person's language.
EDIT: The result of these issues, particularly with my home IPs usually manifests in certain sites displaying in languages and with currencies neither I nor my family speak/read or understand, for me I'm used to it and will look for where/how to change the language/currency, but for my wife and kids it's just confusing.
Also: don't guess shipping options or other stuff based on my browser's language!
My computers are all set to English even though I'm a German living in Germany, and I absolutely hate it when local business websites give me the "we don't ship abroad, sorry" just because of my browser's language settings.
And also make it easy on the site to change languages. Just because my OS is in US English, doesn't mean that I don't prefer certain sites to be in other languages when I choose to. Many of us are multilingual.
That should not be the business of the site, but of the browser. It is precisely what Accept-Language is for. The site should respect the header, allowing circumvention should be a very low accessibility priority.
The site should respect explicit user actions. A get request to a /en/ domain, or a button click to a language icon should result changing to that language. Respecting implicit preferences that are more likely than not be just plain wrong anyways should be a very low priority, ideally shouldn't be done at all.
The browser just looks at the system language. That may be US English, but you want to read the site in Spanish for example.
It defaults to it, but the preferred language can be changed in all major browsers, though currently not on a per-website basis.
I am using Chrome and I have no idea how to change the browser language. I mean, I could probably find out.. digging into Preferences.
That's a silly solution in any case, since you literally use the browser for other sites. Dozens of tabs.
Which browser, if any, even allows you to modify this header per-website?
Firefox with this addon: https://addons.mozilla.org/en-US/firefox/addon/accept-langua...
One example is qutebrowser:
https://qutebrowser.org/doc/help/settings.html#content.heade...
I assume other developer-centric browsers have similar options.
> No, “but the big websites do it” doesn’t make it right.
Also, it's only partially true, e.g. Amazon doesn't force the language at all, and while it presumes the country of delivery (which makes perfect sense as not all products are available everywhere), it explicitly nags me about it so I can change it with one click.
As someone who lives in Spain, but prefers to browse the web in English and has all my computing stuff setup in English, good look convincing the world to change this :) It's been utterly broken for as long as I can remember (back when I had a 56k modem) and it'll probably remain so.
It's a uphill battle where you cannot convince others, so the best thing you can do is figure out how to adjust your own setup to make it less of a hassle.
> Do it right or don’t do it at all.
I'm fairly sure we wouldn't have the internet nor the web if everyone thought like this. I personally also strive for making things as good, right and correct as possible, but obviously I cannot force others to think alike, especially for-profit businesses that don't really care about "correct", only about "good enough".
This was the bane of my existence when I lived in Uruguay! Despite having the Accept-Language header set permanently to en_US, Google would constantly reset my UI language to Spanish, despite being logged in and having the account language set to English.
The worst offender was eBay which would machine-translate listings from English to Spanish.
Can we also stop tying e-commerce languages to the commercial zones?
Yes, I want my HPE or Dell or FS.com website to be in English but still get the French catalog and warehouses and VAT. Especially for tech, where the lingua franca of english goes so deep that most people don't bother to translate technical terms to their native language. Heck, I don't know most of those in french!
There's also a commercial argument here. If your website or app sells stuff, you might want to care about your audience and addressing them in their own language.
There are hundreds of millions of people around the world that aren't fluent in the local language of wherever they are. Many of them probably speak English. Quite a few of those are possibly not that poor either and have disposable income.
So, if your business is selling stuff online, you could do worse than serving up stuff in English when being informed by the Accept-Language header that that is a preferred language. It's not that hard.
In Switzerland pretty much all sites have a setting for French, German, Italian and often English. It is very much a multi-language country.
It is great to be able to select individually per site. I often like to use the native French and just drop back to English if its technical language.
I do find that every site has the setting in a different place which is annoying, it would be great to be able to select it in a standard place on the browser.
The worst offenders are the single language per country sites. For example Ebay insists on only using German in Switzerland, which is rather frustrating since I only know English and French so far.
It is particularly annoying with Google. They recently forced results translations, which are of extremely bad quality. So, even if I'm searching for computer science topics or machine learning (where I'm only interested in English results) they insist that I must speak spanish and read useless translations.
I ended up switching to Bing just because this issue. Google is absolutely useless for me now.
Not just language. Some retailers' websites (e.g., Target, Home Depot) use IP geolocation to guess the nearest store to you. It'll even override your preferred store if you set it to the correct one earlier. If you're on a cellular connection, it's absolutely useless.
To anyone working in tech: stop trying to outsmart the user.
One reason this happens: the product is slightly different in every country due to market and regulatory nuances. Therefore the source content is different in every country also. We are not going to push every (country, language) permutation through legal review. Therefore we have a few "Accept-Language" values we respect for each IP geolocation. If it's not on the list, you get the country's default.
How many other things are websites guessing?
Are biased heuristics for the benefit of (a) the website user (the ad target) or (b) the so-called "tech" company and its advertiser customers?
What other HTTP headers are websites ignoring?
Once my Google suddenly turned into Hebrew (I'm Finnish so that was pretty wtf). It was around the 2023 Hamas attacks so I initially wondered if I'd been hacked by some pro-Israeli group. Soon I realized it only happened if I used my home network and then restarting my router to get a new IP fixed it.
I live in Finland where they have two native languages: Finnish & Swedish. In a lot of places you'll see both the Finnish & Swedish place name on road signs. Without getting into politics, it's a good assumption to assume that Finnish is the mother-tongue of most of the population - with some areas having Swedish as their native language but also perfectly capable of speaking Finnish fluently.
I have my phone's language set to English as a native English speaker. Google maps reads me the Swedish road signs, in English.
Fwiw, you can set (on Android at least) the language of Google Maps independently of the rest of the system. I also have my phone set to English, but maps set to Dutch because otherwise the reading out of street names can be incomprehensible compared to their proper pronunciation.
This does mean your navigation instructions are also in that language, which may or may not be a problem, depending on your fluency (but there's not really a whole lot of phrases to learn.)
Yes I discovered this, this weekend. As you mention, that relies on it being your native language. But it's absurd that if I'm in driving in a foreign country it would attempt to read the names of the streets in your own language's dialect.
I live in Ontario where major highway road signs are bilingual, e.g. “427 North/Nord”. Google has ingested these, blindly translates the French part, and tells me to take “427 North North”.
Maps is so annoying for that: I travel to France, Italy and Germany on the road, and language is set to English on the phone, so it tries to pronounce everything the English way, and I can’t understand anything.
I wish I could set a "read location/road names in local language" setting.
I remember a period where local city names were getting auto-translated. Christmas, Brazil. Holy Sunday, DR.
A sad example is Amazon Prime Video. 'I see you're from Belgium so I'll serve you a lott of films dubbed in French exclusively. My native tongue is Dutch, but I prefer watching films in their original version, not dubbed.
(Btw, my Prime sub is on the German Amazon, but they don't care. You're from Belgium so French it is)
In India, if you don’t know the user’s language precisely - just default to English which is the only business link language. Using an alien language like Hindi to non Hindi speakers will backfire badly.
I think this is a case where it is unfortunate that the biggest players are from the USA, because they are notoriously mono-lingual and cannot fathom what it means to know more than one language.
If they did understand, no site would ever propose you an automatic translation into your primary language over the original text written in any other of the languages you can read.
Every couple months, Facebook's web interface glitches out and displays the geolocation-based language instead of my preferred language in parts of the UI.
I don't know how that happens. Like, do individual teams within Meta have to re-learn that users in their own system have a language preference? (Not even talking about Accept-Language, it's a Facebook user setting.)
Same happens for YouTube and Google, which sometimes switch to Russian or Ukrainian despite my preference for English.
When we added translation features to our news site I went down this rabbit hole and wholly agree with the author. I checked what others were doing and very often there was this ip lookup happening, and then a redirect or other unnecessary behavior.
In our case, less is more. We decided to not do any of that, and were a bit paranoid that maybe we were going against a 'best practice' somehow?
All we do is look at navigator.language to get the language code:
and if we support that language then we will change the "Translate" button label to that language and default behavior to shortcut to that language version (you can still get the full list).Thats it. Keep it simple.
Example: https://restofworld.org/2024/filipino-ai-chatbot-launches-20...
(translation UI in the byline area, under lead image)
Author is not wrong, but boy do I get annoyed with tech articles with this sort of "listen up you dumb f*cks..." tone.
> If you want to use GeoIP, fine — but only for currency, shipping, legal stuff
Possibly not even then. Shipping should depend on the address it's shipped to, not the IP. Currency, I prefer in your original currency. I don't want you to convert currency for me, because my bank does it cheaper.
And of course geoIP can be wrong because of VPNs. Only use it when other methods like user preference and `Accept-Language` or similar have failed, and make it easy for the user to correct your wrong assumptions.
Yeah I've worked with geolocation databases in the past and they're essentially just hot air. It's wild that even google can't guess my location anywhere close to home. And I live in a big german city, it wouldn't be that difficult to be right. But they've actually never been right about my location. Sketchy is a fitting description.
Bold of you to assume Google would actually show your their most precise and accurate guess.
Even Accept-Language isn't enough, although this probably falls under "respect it".
A lot of websites seem to assume if you have a non-English language in it, they should use that language, even if English has the highest score, because obviously it's your "real" language and English was just a default. E.g. `en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7` is read as "we should serve the Chinese version".
> Let the user change it if needed (and remember that choice with a cookie or URL param)
As a reminder, such a cookie would not require a cookie banner.
https://commission.europa.eu/resources/europa-web-guide/desi...
Accept-Language still cause quite a bit annoyance to me though. Because the fallback rule most implements still follows similar assumption as the first point in this article. Languages in the same group doesn't mean the user would accept it.
I don't care if there are any other auto-translated thing that you though it's close enough because they have same prefix that would help.
NO, absolutely NO.
I even specified the en-US or any other language that original content uses as the secondary candidates, then most just ignores it and serves randomly translated thing that you think would be close enough because you can't tell.
Just please, follow what user asked first.
Edit: formatting
I hate that this is a thing on physical products aswell. Panasonic being the latest offender by "supporting" my language. Then, when opening the safety instructions for the machine it reads grammatically correct but materially incorrect advice. Someone not following through with enough critical thinking could end up killing themselves.
Reading up on the english version it becomes clear it was machine-translated with zero persion checking on if any of it was proper.
Me: Visits Morroco (or pretty much any other country), has smartphone set to english. Also me: Gets youtube ads in Berber language. Has no idea what the ad is about or why someone would pay google to show it to me.
If language guessing is not ok, then why would currency and shipping guessing be ok? If you are VPN'd to Hong Kong and don't understand Chinese, how does it help to expect HKD payments?
Another annoying version of this is localized google results. I'm originally from country A, live in country B, but work in English, which is not the language of either place.
But google will then localize results to where I am, which typically deprioritizes English results because I'm not in an English speaking country.
You can set your google settings to act as if you're in the US permanently, but then googling anything local/regional will serve results aimed at people a continent away.
All this "guessing what the user wants" has become detrimental to actual UX.
Don't guess my anything. If you're not sure what I want, ask, or at best do nothing. You don't actually know what I want, and every time you decide you think you do, you make everything worse, not better.
The most useless thing Google Maps does on my US-localized phone here in Germany: literally translates the proper names of businesses. For example, listing Stoff Bauer as "Fabric Farmer" in the results when I search for "Stoff" - the reverse of helpful (Bauer is a very common German surname, but also literally means "farmer").
Whenever I've visited Aliexpress (for cheap ESP32s of course) I seem to only get served the French version of the site despite having a UK based IP, UK language flags and actually telling the site to use the GB store. Next time I visit though it will display in French again.
For a while, AliExpress was locked on Arabic for me when using my phone and Chrome and I couldn't tell why. I ended up using a different browser. It was set for sale in the US, but choosing Arabic.
I've since changed my setup. Now it offers two language choices, English or Español, and defaults to English.
Timely. I’m working on this right now for a product and have everything in place using the accept-language header and then adding a url param.
I’m currently agonizing about how to let the user change their language, because I want to respect locale as well (es-MX vs es-ES for example). And I haven’t found a good UX pattern for changing language+locale. I’ll likely just implement a big list that the user can select, and have the current language be a link that they can click to change via a modal.
As someone who lives in one of those locations mentioned in the article: split out locale and language into different settings. Because they are not the same thing. This article explains that nicely. [1]
You want your users to be able to change their location (and, therefore, locale) and their language independently. The Accept-Language header could be used as a sentinel for language. Then again, I wouldn't outright rely on geoIP to set the locale which is an umbrella for regional differing variables like timezone, date formatting, currency, VAT / Taxes,...
I think it's okay to have your content served, by default, in a language that reflects either the majority of your target audience; or the culture / place you're based in. Changing the locale / language should follow a clear UI pattern e.g. a language switcher & locale switcher in the header; or a clear navigational aid pointing to a context menu. That's how Hetzner works, for instance. Another example is Deliveroo.
[1] https://translatepress.com/locale-vs-language/
Thanks for the advice! I wasn’t planning on using geoIP at all for several reasons - the main two being inaccuracies AND that I’d need to use a paid 3rd party.
Google is the biggest offender. If you have had legitimate use cases where you browsed sites or routed your traffic via a Cloud VM at different locations (or if you're one of those rare people like me that use a damn VPN!) you probably already know this. I have to memorize 'accept' (to accept their ToS prompt each time) and figure out how to change the language.
More generally, if you've never dealt with foreign languages (for real, not just in school), don't assume anything about multilingual support. You'll get it wrong.
Here I am losing my mind. My phone’s set to Portuguese (EU), I live in the US, and somehow I get ads in German and Spanish, and news exclusively for Portugal. No ties to Germany at all. Just lost in some algorithm’s fever dream.
Hey, at least you're not living in Portugal and getting US news like me...
Just as bad - don't guess my location based on my IP address.
My own law: "Few things are as annoying as software trying to be helpful."
The reverse is also a problem. If I set my accept-language as en-AU, many sites assume I’m geolocated in Australia regardless of where I actually am.
I first used Uber while on holiday in Poland and consequently every email I got from them was in Polish until I worked out how to cancel that account.
As a bilingual Portuguese/English speaker who essentially spends most of his waking hours working in English but switching back when I leave my home office, I have been very much annoyed by this since the dial-up days.
Infuriatingly, there was a train of thought at one time that used website analytics as a justification for either setting the default language of a site or trusting an external third-party like IP addresses databases (often just relying on the free, unmaintained stuff that broke after 3 months as the Internet expanded).
Then came the browser geolocation prompts, etc. -- and most people, lacking a basic understanding of how HTTP works, preferred chunks of JavaScript they could "see" to HTTP header information they didn't understand, to the point where that got codified as "best practice".
It also doesn't help that most CMS frameworks completely fail to make use of that information and pass it down the stack, or that people have turned to doing SPAs (which _can_ just use navigator.language, but just do a search in any framework's source code and see how often that is used).
Kinda great to annoy me as a web-scraper using a mobile IP in the Philippines
On a related note: whatever idiot started using keyboard language instead of system language for emoji autocompletion on certain MacOS and iOS Apps, please go die in hell somewhere... I have had this issue randomly pop up with the Telegram client I am using, and it infuriates me beyond belief. Every single setting on my machine indicates that the language I am using is English, why is the search text of emojis tied to the one setting I cannot reasonably change because it is tied to a physical property of my device and not the 4 settings I can and did change.
I suspect that many people who deal with languages only speak English and never left the US. They have been told that other languages exist and that foreign countries exist, and they have to do something about it, and they did... something.
I remember a company I worked with used to have its internet connection go through German servers, even though it was in France. I remember the presentation page for one of Google's phone was in German with no way to have it in anything else. Using a ".fr" domain, "accept-language", logged into a French Google account, I also tried English too, no luck. I only managed to get some UI elements in something other than German, it felt like a troll. I wonder how the Swiss (a small country with 4 official languages) are doing.
In addition to the idea that the IP address is a pretty bad indicator of the language you speak, some websites have trouble with the idea that people can understand more than one language.
Hey, YouTube, I know I have set my account to French, but I understand English and you know it, so please don't auto-translate video titles for me and do a terrible job at it. And I don't want to set my account to English, because I guess it would translate French titles into English, which I want even less.
Yes, please.
And while we're at it: Google, you know literally everything about my life. You know which languages I speak, which countries I live or have lived in.
So why is it impossible to find results relevant to country A, in country A's language, while browsing from country B, but with both languages A and B in my "Accept-Language", and me having lived in both A and B for years?
Why does the "languages I speak" setting on Google's search settings, which seems to be the only way to maybe make Google get the message, auto-reset at random all the time? How is using a VPN to get around this limitation a thing in 2025?
Could we also agree that bilingual (or more) people exist? I hate playing whack-a-mole with YouTube captions: Apparently me turning them off on English videos means I only speak English, so the next time I watch a German video, I'll have to turn off captions again, which apparently means I forgot English and only understand German.
I mean, doesn't Google have employees from multiple countries? Shouldn't diversity fix this in the sense that some bilingual person there notices this?
I’m glad someone said this. As someone from Pakistan whose first language is Sindhi and who detests the imposition of Urdu as a ‘lingua franca,’ I find it very frustrating when Google forces Urdu on Gmail, YouTube, and Search.
It also flips the entire user interface to a right-to-left layout to match Urdu’s writing direction, which feels completely unfamiliar and disorienting to me.
Ouch. So we europeans have it easy. At least all the languages are left to right.
Yes 100% this, Geo-location != language. I wonder why this isn't common sense to be honest
Also: Don't guess my units.
Why oh why does Google Maps think that "miles", "feet", and "yards" are words that have any meaning at all?
Only like a 20th of the world even knows what these obscure things are. Just because I'm currently located in a country that nominally uses these arcane units doesn't mean that I know what they are.
Oh you can change it to real units temporarily. But if you look away for a split second it changes it right back.
I'm LOGGED IN. How could you not remember?!
What's really annoying is when it sets the script to the local language which could be something like telugu, and then the writing is unreadable if you can only read the latin alphabet.
And then the 'change language' menu is rendered in the unreadable script.
<Cough> google maps, in fact most google apps.
Totally agree. Who can send this article to Google?
Clearly there is some reason to do this.
I mean, Google does it, and they employ some of the most brilliant people on the planet. Showing people their website in the wrong language is clearly losing them money, so minimizing that is a very direct way to increase profits. There must be some reason they rely on IP more than on Accept-Language. They don't leave money lying around, and there's no way Google engineers aren't aware of that header.
I don't know why they do it, but somehow Accept-Language must be less reliable than IP. No other explanation makes sense in this context.
Can't tell if this is sarcasm or not.
Spotify is the worst.
EDIT: not any longer?
IP doesn't even tell you where a request comes from, IP just (usually) tells you what network sent it to you.
How does this relate to the film The Dreamers? I did watch that film when I was a teen, but I didn't pay attention to the story.
> You don’t override screen resolution or color scheme with your own guess
They absolutely do lol.
Like it or not, people like you are outnumbered by people who set their Accept-Language header wrong and don't know how to fix it. Those people probably buy more too (or at least buy more that shows up in tracking, since you sound like the kind of person who disables cookies etc. too).
Then create some status bar (or even a popup if necessary) that informs the user about their Accept-Language header-IP address mismatch (in terms understandable to a non-technical user), offering the option to choose either page.
> people like you are outnumbered by people who set their Accept-Language header wrong and don't know how to fix it
Is this actually something that you can back up with data, or are you just guessing?
I find it hard to imagine that would be the case, considering this header generally gets populated by the user's system locale/language.
Actually, yes. Google and Facebook invests in translation significantly more than Microsoft in languages in Africa and Asia (to the point that you cannot set Windows do not have that language in question), for example, the various non-colonial languages in the African continent. In those countries, the computer is set to English/French because not of practicality but of significantly broken/no translation by Microsoft.
But my system language is English. Closest english speaking country is 2000+ km away.
And you know what? I didn't pay so much attention to what English I'm selecting so part of my devices are set to UK english and part to US english. It's all English to me, just don't translate my File menu!
Only thing is when suddenly “colour” and “centre” pops up in the menu that makes you double check what is actually meant
I tend to write british spelling, possibly because that's how they taught me in school. But I never notice the difference when reading.
I have to run into strong britishisms* like lad, tad, cuppa to remember there are differences across the pond.
* strong britishisms to me the non native speaker, at least.
Windows + Edge populates it for me. I consider it a form of tracking so I definitely will look into it how to override it, this hasn't happened yet tho.
Ideally a browser should ask for languages and country when being installed, in order to correctly fill the Accept-Language field. But that doesn't happen because it would introduce friction.
Why? Browsers already apply the setting from the operating system which is correct in almost 100% of cases, and if you need more options you can change it in the settings.
> Ideally a browser should ask for languages and country when being installed
Yet in reality, a browser asks for language before you download it. (Or buy on the cases that come pre-installed.)
Some sites ignore en-US because so many devices ship that as a default. The Internet becomes a bit better if you set your language to en-AU.
But yes, many ignore the selected language or units completely.
Oh god please, this is so important!
Linguistic nit: that's not what cargo cult means. Cargo cult refers to doing things that don't in themselves do anything, just because XYZ did them, in the mistaken belief that "showing signs of XYZ-ness" will lead to the same results that XYZ sees/produces.
Copying big-name-here's practice of localizing based on IP is not that. Copying "the way they comment the start of every file" would be. Or "using the same pep talk to the full company" would be. Actually using an approach that has both code that actually does something, and has an immediate and measurable effect on the user, isn't.
[dead]