Vivaldi and the broken by design Accept-Language HTTP header
jtsn last edited by
Well, the most broken invention of HTTP is the "Accept-Language" header. Sadly, Chrome and Vivaldi set it based on the spell checking options. Lets say you have set the Accept-Language header to French: Some websites now present you with a lousy French translation of their content. Or lead you to another section with entirely different content in that language. What they don't do is present you with the content you actually requested with the URL you sent in the GET request (coming through a search engine for example). Now lets work around this and set Accept-Language to English instead. Great! Now you visit a French site (.fr) and the same things happens, but you get some English ersatz content. What you actually want to see is the native language content of the website. You wouldn't visit a french website without knowledge of that language. The whole HTTP Accept-Language concept is completely broken by design, because it removes the 1:1 relation between an URL and the content. On top of that it's just causing trouble for polyglots (mostly everyone except American users). The solution for the problem is just as simple: Entirely remove the broken Accept-Language header from your HTTP requests. Then websites just deliver the content they also delivered to the search engine you came through. In Opera 12 it is possible, by removing all languages from the "Preferred languages for websites" list. In Vivaldi this is currently only possible by removing all spell checking languages. @Vivaldi Please do something about that annoying non-feature.