If I prefer to read English texts in their original form (because I understand it perfectly clear) but read texts in my native language in that original language, there is no single setting.
It feels weird saying this, but it reeks of a very anglo-american worldview to have a single language preference.
> It feels weird saying this, but it reeks of a very anglo-american worldview to have a single language preference.
This is a the browser-side problem[1], so perhaps the browsers authors have an anglo-american worldview? You could file a bug/feature request with your favourite open-source browser. Alternatively, an extension that selectively sends per-website "Accept-Language" headers would work - I haven't checked if one exists but it can be written in a weekend (not sure if Firefox new extension framework will allows messing with the headers).
1. Some sites work around this by allowing you to have a choose a language that overrides the one requested by the browser and persist this in a cookie or your profile. Defaulting to the language requested by the browser is a sane default compared the other alternatives (like Geo-IP look-ups: "Oh, I see you are visiting Germany. I will assume your browser requested English in error and will serve you the German version of the article instead")
No, it sounds like a protocol problem to me. How do I state in an HTTP request: "I speak English and German; if you can serve both and the article was written in one and translated to the other, then give me the original please".
That was a long sentence, but it wouldn't have been particularly hard to define well and put into the protocol when it was originally drafted. It's a bit late now, obviously.
For example, one could define provenance of a translation much like NTP defines strata. Accept-Language could then have taken this into account.
That is a problem with the quality of the translation/translators - not the protocol. The protocol is neutral on languages and considers all versions as equivalent, it only expects that you would pick one. The specific behaviour you are expecting can be trivially built into the server side without modifying the current protocol.
While third-party extensions allow to switch Accept-Language, it is not in the standard UI of modern browsers. For people like me, an advanced setting of Accept-Language per top-level domain would reduce the number of times I have to find the language switcher on the web page to a minimum.
There's many sites that force the local language down your throat and it's sooooo annoying...
Citation needed. I'm pretty certain there are many proponents for a rather tight mapping from URL to content. Just imagine how hard it is for a search engine to index websites that deliver content based on unpredictable (anything else than URL) input variables.
https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
It's no different (arguably a lot better) than cookies.
In my opinion, there is very limited applicability of Accept-Language. Just because this header exists does not mean you need to make use of it at the slightest perceived opportunity (If all you have is a hammer...).