2014-09-01 19 views
7

ja determininig bieżące locale w przeglądarce za pomocą tego API:Get bieżące locale chromu

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

Ten zwrot "fr-FR" w IE, ale zwraca tylko "FR" w Chrome (i podobnie w przypadku innych ustawień regionalnych).

Czy istnieje inne API, które zwróci "fr-FR" również w chrome? Opieramy się na tym, aby załadować odpowiednie pliki kultury.

+0

tylko jako wskazówka , jeśli planujesz polegać na tych informacjach, aby właściwie określić lokalizację użytkownika, nie poleciłbym tego. Większość użytkowników nigdy nie zmienia tego ustawienia, więc prawdopodobnie znajdzie "en-US", co jest wartością domyślną. – melancia

+0

Proszę odpowiedzieć na ten wpis http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference –

Odpowiedz

3

W najnowszych wersjach przeglądarki Chrome:
to var language = window.navigator.userLanguage || window.navigator.language; zwraca "fr-FR".

Jeśli nadal stoi ten sam problem, można spróbować var language = navigator.language;

6

Firefox i Chrome mieć languages tablicę na obiekcie navigator. Zwykle pierwszy element w tej tablicy jest użytkownicy wybrane ustawienia narodowe (zazwyczaj dziedziczone z ustawieniami systemu operacyjnego)

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

Tablica navigator.languages w chromie jest dla mnie ["en-GB", "en-US", "en"] natomiast navigator.language = "en-US", nieco inaczej, ale ważne

Powiązane problemy