but then you have to -know- at which geo you want to operate.
The internet has long been broken as a global field imho
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).
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
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).
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.
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!
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.
I let you track me Google, please use it for some good UX and not just advertising.
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.
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.
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.
People like us are an edge case.
Many EU country have more than one official languages.
Most previous colony is bilingual.
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.
The guy you argued with sounds like they were semi-justifying this with the typical "noogler" rose colored glasses.
That's called premature optimization.
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.
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.
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.
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.
https://qutebrowser.org/doc/help/settings.html#content.heade...
I assume other developer-centric browsers have similar options.
That's a silly solution in any case, since you literally use the browser for other sites. Dozens of tabs.
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?
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...
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!
When price is set to $9.99 which works out to 4.789287237634 in your local currency. Although it would work out to 4.589327782 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.
Billing address is not a sure way to predict currency.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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...
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.
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.
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.
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.
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
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.
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.
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.
Why is it so hard to just add something as a setting/feature and offer it to people without forcing it on the user?
I can speak german, I don't need forced subtitles for the nazis
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.)
The sad part is we can't rule that out.
just dislike video and move on. I'm guessing Google wants uploader penalized, and I do feel sorry but it's not my problem.
At least I know I didn't mess anything on my WebOS TV.
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.
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/
Exactly, it's like they've never left their own state levels of ignorance
Which has been baffling to me considering how many foreigners work at these companies.
It's the idea that the user has a preference for something, and it applies always and everywhere, even when it's not applicable.
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.
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.
But nobody pays to get answers, so it's alright.
[0] https://kagifeedback.org/d/5212-low-quality-translated-reddi...
-inurl:?tl=
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.
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.
If you want to get rid of auto-translation on a systematic level, provide feedback to the operators of Youtube through their official communication.
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?
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.
> A poor translation is worse than no translation
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.
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.
- 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.
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
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
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.
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.)
Very annoying, because instead of just seeing the english post, which I'm easily able to understand, I see half-broken german...
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.
Your hope is unfortunately entirely misplaced. Google is one of the worst offenders for assuming language and region from users' IP.
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.
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 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.)
I have my phone's language set to English as a native English speaker. Google maps reads me the Swedish road signs, in English.
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.)
I wish I could set a "read location/road names in local language" setting.
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.
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:
const userLanguage = navigator.language.split('-')[0]
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)
The worst offender was eBay which would machine-translate listings from English to Spanish.
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.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.
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.
Also, we regard 'Ch' as its own letter. So yeah, try sorting alphabetically. I'll wait.
perl -E'Unicode::Collate::Locale->new(locale => 'cs')->sort … … …'
works. Test cases at https://prirucka.ujc.cas.cz/?action=view&id=900If you want to see bizarre sort rules, look up how french sorts accent characters.
But in the language native locale, no.
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.
U+005A LATIN CAPITAL LETTER Z
U+010C LATIN CAPITAL LETTER C WITH CARON
U+0395 GREEK CAPITAL LETTER EPSILON
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.
(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”.)
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.
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.
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.
中文 - 中 = 丨 + 3 strokes
吴语 - 吴 = 口 + 4 strokes
文言 - 文 = 文 + 0 strokes
日本語 - 日 = 日 + 0 strokes
粵語 - 粵 = 米 + 7 strokes
Was this about 6 weeks ago?
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.
I get a kick out of it when I see it, because you can understand how it happens. "Well, at least you tried."
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.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".
e.g.
Nederlands
English
Français
Deutsch
Espagnol
(but if sorted in English: Dutch, English, French, German, Spanish)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.
Some have a X button to close said dialog, but many don't which is really aggravating.
> 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...)
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.
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'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.
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.
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.
And then the 'change language' menu is rendered in the unreadable script.
<Cough> google maps, in fact most google apps.
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.
> If you want to use GeoIP, fine — but only for currency, shipping, legal stuff, never for language
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?!
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".
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.
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.
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.
But yes, many ignore the selected language or units completely.
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.
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.
...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.
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
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.
If you buy the Blu-ray, you likely have tons of languages not present in the streamed video.
Reading up on the english version it becomes clear it was machine-translated with zero persion checking on if any of it was proper.
You mean for software distributed in the US?
Yet in reality, a browser asks for language before you download it. (Or buy on the cases that come pre-installed.)
I've since changed my setup. Now it offers two language choices, English or Español, and defaults to English.
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.
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.
EDIT: not any longer?
I ended up switching to Bing just because this issue. Google is absolutely useless for me now.
As a reminder, such a cookie would not require a cookie banner.
https://commission.europa.eu/resources/europa-web-guide/desi...
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.
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.
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.
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 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.
To anyone working in tech: stop trying to outsmart the user.
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".
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!
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).
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?
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.
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.
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.
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.
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?
(Btw, my Prime sub is on the German Amazon, but they don't care. You're from Belgium so French it is)
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?
vaylian•6h ago
lblume•6h ago
If websites really need translation (which they very likely do not!), this should be the norm as well.
watson•5h ago
oefrha•5h ago
happytoexplain•5h ago
Aachen•5h ago
detourdog•5h ago
dijit•5h ago
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.
Vinnl•5h ago
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.
dijit•5h ago
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”
Vinnl•3h ago
bmn__•2h ago
jeroenhd•3h ago
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.
Vinnl•3h ago
(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.)