2014-09-01 19 views
7

Ich bin die aktuelle Gebietsschema des Browsers determininig diese API verwenden:Holen Sie sich aktuelle locale von Chrom

var language = window.navigator.userLanguage || window.navigator.language; 

Diese Rückkehr "fr-FR" in IE, aber es nur "fr" in Chrome liefert (und ähnlich für andere Ländereinstellungen).

Gibt es eine andere API, die "fr-FR" auch in Chrom zurückgibt? Wir verlassen uns darauf, um die entsprechenden Kulturdateien zu laden.

+0

Nur als Tipp Wenn Sie sich auf diese Informationen verlassen wollen, um das Gebietsschema des Benutzers herauszufinden, würde ich es nicht empfehlen. Die meisten Benutzer ändern diese Einstellung nie, daher wird sie wahrscheinlich "en-US" finden, was der Standardwert ist. – melancia

+0

Bitte beantworten Sie diesen Beitrag http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference –

Antwort

3

In den neuesten Versionen des Chrome-Browsers
gibt es var language = window.navigator.userLanguage || window.navigator.language; gibt 'fr-FR' zurück.

Wenn Sie immer noch das gleiche Problem konfrontiert sind, können Sie versuchen var language = navigator.language;

6

Firefox und Chrome haben eine languages Array auf dem navigator Objekt. Normalerweise ist das erste Element in dieser Anordnung ist die Benutzer gewählten locale (normalerweise von den Betriebssystem-Einstellungen geerbt)

var language; 
if (window.navigator.languages) { 
    language = window.navigator.languages[0]; 
} else { 
    language = window.navigator.userLanguage || window.navigator.language; 
} 

Die navigator.languages Array in Chrom für mich ["en-GB", "en-US", "en"] während navigator.language = "en-US", etwas anders, aber wichtige

Verwandte Themen