Как определить язык посетителя сайта
04.03.2013
Для корректной локализации сайта, необходимо узнать какой язык используется операционной системой посетителя.
Уточню, напрямую узнать язык нельзя, можно лишь получить локаль, которую нам отдает браузер
Способ первый:
Определение средствами PHP
Нам поможет $_SERVER['HTTP_ACCEPT_LANGUAGE'], но т.к. результатом будет строка вида ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3, лучше ее обрезать.
Пример кода:
1 |
$sLang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); switch ($sLang) { case 'ru': // do something break; case 'en': // do something break; } |
Способ второй:
Определение средствами JavaSctipt
1 |
<script type="text/javascript"> var lang; if (navigator.userLanguage) lang = navigator.userLanguage; else if (navigator.language) lang = navigator.language; else lang = "en" ; lang = lang.substr(0, 2); alert(lang); if (lang == 'ru') { // do something } </script> |