wykryć język przeglądarki tak:Przeglądarka wykrywanie języka: niespójność pomiędzy agentem użytkownika i window.navigator.language
var language = window.navigator.userLanguage || window.navigator.language
Potem wysłać tę wartość do mojego serwera WWW z AJAX rozmowy.
Po sprawdzeniu wyników zobaczyłem dziwną rzecz. Na przykład agent użytkownika przeglądarki mówi, że bieżącym ustawieniem narodowym jest tr-tr
, ale kiedy sprawdzam dla window.navigator.language
, otrzymuję wynik jako en
.
Wszystkie te przeglądarek mówi, że ich język jest en
:
Mozilla/5.0 (Linux; U; Android 2.2.2; tr-tr; GM FOX Build/HuaweiU8350) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1,
Mozilla/5.0 (Linux; U; Android 2.2.2; tr-tr; LG-P503 Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MMS/LG-Android-MMS-V1.0/1.2
Mozilla/5.0 (Linux; U; Android 2.3.4; tr-tr; GT-S5670 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; U; Android 2.3.6; tr-tr; GT-S5360 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (Linux; U; Android 2.3.6; tr-tr; GT-S5830i Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S7233E/S723EJVKB1; U; Bada/1.0; tr-tr) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WQVGA SMM-MMS/1.2.0 OPN-B
Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/S8500JVJE6; U; Bada/1.0; tr-tr) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WVGA SMM-MMS/1.2.0 OPN-B
Mozilla/5.0 (X11; U; Linux x86_64; tr-tr) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36 Puffin/3.7.0.177AP
Mozilla/5.0 (Series40; NokiaC2-02/07.63; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/5.0.0.0.31
Mozilla/5.0 (Series40; Nokia311/07.36; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.3.0.0.54
Mozilla/5.0 (Series40; NokiaC3-00/08.70; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.3.0.0.49
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko
powinienem rozważyć nic więcej do wykrywania języka w przeglądarce?
Mój problem polega na wykrywaniu języka przeglądarki. W przypadku programów klienckich obecny język to "tr", ale window.navigator.language
oznacza "en". Czy jest to znany problem? Czy nie powinienem ufać wartości window.navigator.language
? Czy powinienem przeanalizować program użytkownika dla języka?
Edytuj:
Sprawdziłem również nagłówek Accept-language dla tych żądań. Te wartości są zgodne z łańcuchem użytkownika klienta.
Tak więc, window.navigator.language
mówi "en", Accept-language
nagłówek to "tr-TR, en-US", ciąg agenta użytkownika ma słowo "tr-tr".
Przeglądarka będzie ... – epascarello
@trante już przeszedłeś to: http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference? – caramba
A nawet ta konkretna odpowiedź http://stackoverflow.com/a/4079798/941240 –