Как определить язык посетителя сайта

04.03.2013 20:59:48
Для корректной локализации сайта, необходимо узнать какой язык используется операционной системой посетителя.

Уточню, напрямую узнать язык нельзя, можно лишь получить локаль, которую нам отдает браузер

Способ первый:

Определение средствами PHP
Нам поможет $_SERVER['HTTP_ACCEPT_LANGUAGE'], но т.к. результатом будет строка вида ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3, лучше ее обрезать.
Пример кода:

1
2
3
4
5
6
7
8
9
10
11
$sLang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($sLang)
{
  case 'ru':
    // do something
  break;

  case 'en':
    // do something
  break;
}

Способ второй:

Определение средствами JavaSctipt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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>


Категории: Web
Яндекс.Метрика