web-dev-qa-db-fra.com

Obtenir les paramètres régionaux actuels de chrome

Je détermine les paramètres régionaux actuels du navigateur à l'aide de cette API:

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

Cela renvoie "fr-FR" dans IE, mais il ne renvoie que "fr" dans Chrome (et de même pour les autres paramètres régionaux).

Existe-t-il une autre API qui retournera "fr-FR" dans chrome également? Nous comptons sur cela pour charger les fichiers de culture appropriés.

14
Amar

Firefox et Chrome ont un tableau languages sur l'objet navigator. Normalement, le premier élément de ce tableau est la locale choisie par l'utilisateur (normalement héritée des paramètres du système d'exploitation) )

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

Le navigator.languages tableau dans chrome pour moi est ["en-GB", "en-US", "en"] tandis que navigator.language = "en-US", légèrement différent mais important

16
bm_i

Dans les dernières versions de Chrome,
il var language = window.navigator.userLanguage || window.navigator.language; renvoie 'fr-FR'.

Si vous rencontrez toujours le même problème, vous pouvez essayer var language = navigator.language;

6
Raveendra007