Browsers already send Accept-Language: headers. Just use that. Why complicate your UI? It's at best redundant and at worst annoying when a web site chooses to ignore my preference and rolls its own.
Browsers already send Accept-Language: headers. Just use that. Why complicate your UI? It's at best redundant and at worst annoying when a web site chooses to ignore my preference and rolls its own.
By all means default to the Accept-Language header, but let me change it (and remember that choice)
I suppose browsers could/should add support for this use case, none of the major ones do as far as I know.
At the very least, I maintain that sites should use Accept-Language: as a default, absent any site-specific configuration that they offer. One of the huge things I hate about Google and a few other sites is that they deliberately ignore my Accept-Language: header and instead rely on IP-Geolocation. So if I'm traveling in another country, suddenly Google and those other sites change to a different language on me. Maddening.
And second, because many corporations conflate language with region, so they redirect me to the wrong country-specific site, or at least one useless to me compared to the global (which usually means US) one.
I absolutely love when websites randomly pick a language I can't read, which is not anywhere in my accept-languages (which does contain languages they do support), with a language selector hidden somewhere unspecified on the page. It's even better when I need to go through a cookie popup I can't bypass in that language I can't read without a language selector before I can do anything else.
That second paragraph is sarcastic, just in case.
But if you could read, you wouldn't consent to it...
But they're not. Library computers exist. Shared office computers exist. Internet cafes exist. Let's call these "kiosk computers."
The optimal way to balance access needs here, IMHO, would be for either Operating Systems on kiosk computers, or maybe specifically browsers on kiosk computers, to offer a very quick, session-ephemeral toggle for what language the current user wants to see UI and content in.
(Probably, given that kiosk computers are almost always left on default settings of the OS, while personal computers are, well, personalized, such a toggle should be on by default, with users of personal computers expected to disable it.)
But until such a time as that ever happens, I would expect that websites will continue to simulate this thing the OS isn't offering.