Request Header: Accept-Language
Accept-Language: de, en-gb;q=0.8, en;q=0.7
q gibt einen Fließkommawert zwischen 1.0 (default) und 0.? an

Response Header:
Content-Type: text/html; charset=utf-8 Content-Language: en

Annahmen bzgl. der gewünschten Locale aus anderen Quellen wie
sind Quatsch.

Der User sollte immer die Möglichkeit haben die Locale umzustellen.
Dabei sollte der Kontext so gut wie möglich erhalten bleiben.