molily: Browser-Sprache ermitteln: navigator.language.indexOf

Beitrag lesen

man kann auch mehrere Sprachen angeben.

Das ist falsch, denn navigator.language bzw. navigator.browserLanguage gibt nicht die Sprachen wieder, welche der Browser akzeptiert und der Benutzer versteht, sondern allein die Sprache der Browser-UI (bzw. des Betriebssystems). Das ist natürlich nur eine.

Da es durchaus üblich ist, dass etwa Deutschsprachige einen Browser mit englischsprachiger UI verwenden, eignen sich die Eigenschaften nicht, um Rückschlüsse auf die vom Nutzer verstandenen Sprachen zu machen. Im IE gibt es navigator.userLanguage, was schon näher dran wäre, das ist eine in der Windows-Systemsteuerung angegebene Sprache.

Am zuverlässigsten ist aber der HTTP-Header Accept-Language, welcher sich via JavaScript aber nicht so einfach auslesen lässt - jedoch sehr einfach serverseitig.

Außerdem gibts z.B. "en" und "en-us", für Englisch und Amerikanisches-Englisch.

Das ist richtig.

Mathias