> Browsers set required values for this header according to their active user interface language. Users rarely change it, and such changes are not recommended because they may lead to fingerprinting.
> The content of Accept-Language is often out of a user's control (when traveling, for instance). A user may also want to visit a page in a language different from the user interface language.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Ac...
:shrug:
Edit: and ‘a user might not be the owner of the computer and therefore the accept language might be wrong‘ sounds like a UI problem that a ‘file -> set language’ workflow would solve.
That said: There's a reason I am going to google.com and not google.co.jp, fucking thanks fucking good day fucking fuck.
From experience watching other people use computers, most people don't even know WTF "locale" is or anything even tangentially related. More than likely they just use whatever was configured by default, which most of the time makes sense for them but it's not a given.
Hence, it's unreliable.
IP geolocation on the other hand, you can at least assume the broad region where they are connecting from (VPNs and proxies aside).
english + metric || gtfo
1. I'm in (east of) France geo
2. My system is set to en_GB
Yet some websites insist in putting me in Germany. Sometimes it even changes between requests (web pages), some are extra nutty and I even get mixed content within the same page.
For the love of all that is holy, please stop being clever. UAs have had Accept-Language headers ever since RFC3282. Use that hint.
Old articles like yours can be read to the end, but with a banner blocking a third of the page, and nearly 100% of new articles I've come across in the past year get a nice paywall right at the entire reason I clicked on the article. All the new articles that aren't blocked are worthless content I wish I hadn't clicked on.