Du darfst nicht nur nach dem Vorkommen von
de
suchen, sondern musst auch die Reihenfolge der Sprachen im Accept-Language-Header beachten.
https://www.rfc-editor.org/rfc/rfc2616#section-14
... ist „sowas von 1999“. Soweit ich das Zeug verstehe soll das wohl wie folgt aufgelöst werden: (Darin sind wohl außerdem auch noch Leerzeichen erlaubt…)
String:
en-US,en-CA,en-AU;q=0.9;en;q=0.7,de;q=0.3
Resultat:
LANG | Quality |
---|---|
en-US | 1 |
en-CA | 0.9 |
en-AU | 0.9 |
en | 0.7 |
(+ en-*) | (0.7) |
de | 0.3 |
(+ de-*) | (0.3) |
Wer auch immer das erfunden hat gehört in die CSV-Parser-Hölle verbannt, sollte aber zuvor ausreichend lang wegen des Unsinns bezüglich der notlosen und sodann auch noch unsinnigen Reihenfolge und Zuordnung von Sprache und Wichtung (die auch noch mit einem Float!) beschimpft werden. Eine simple Reihenfolge der Präferenzen hätte völlig genügt...