Загрузка...





Как определяется язык пользователя на PHP?

Если создаваемый вами сайт рассчитан на посетителей с разных стран мира вам обязательно требуется автоматическое определение языка пользователя, в одном из проектов потребовалось решить эту задачу. О том, как определяется язык пользователя на PHP, я и расскажу в данной статье.

Чтобы определить язык пользователя на PHP, надо воспользоваться следующим кодом:

<?php
  preg_match_all('/([a-z]{1,8}(?:-[a-z]{1,8})?)(?:;q=([0-9.]+))?/', strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"]), $matches); // Получаем массив $matches с соответствиями
  $langs = array_combine($matches[1], $matches[2]); // Создаём массив с ключами $matches[1] и значениями $matches[2]
  foreach ($langs as $n => $v)
    $langs[$n] = $v ? $v : 1; // Если нет q, то ставим значение 1
  arsort($langs); // Сортируем по убыванию q
  $default_lang = $langs[0]; // Берём 1-й элемент (он же максимальный по q)
  echo $default_lang; // Выводим язык по умолчанию
?>


В основе лежит константа $_SERVER["HTTP_ACCEPT_LANGUAGE"], которая как раз и содержит сведения о предпочитаемых языках пользователя. Выглядит она примерно так: "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3". Здесь перечисляются языки и регионы, а также приоритет q. Чем больше q, тем больше пользователь предпочитает данный язык. Если q нет, значит, оно равно 1. Например, у ru-RU нет q, значит, оно равно 1, и данный язык наиболее подходящий.

Получив язык по умолчанию, мы можем сразу же установить его и на сайте, тем самым, выводя контент для пользователя на том языке, который он предпочитает. Таким образом определяется язык пользователя на PHP, что очень пригодится мультиязычным сайтам.шаблоны для dle 11.2


    Устанавливаем проверку повторных регистраций по WMIDу пользователя

    Устанавливаем проверку повторных регистраций по WMIDу пользователя
    Как вы уже заметили, в скрпитах SoooFast нет проверки наличия пользователя с введённым Вами WMID при регистрации. Иными словами: если попробовать зарегистрироваться с одним кошельком два раза - то нас скрипт пошлёт - но если с одним WMID'ом - то скрипт

    Ошибка в работе капчи скрипта MFS SeoEdit

    Ошибка в работе капчи скрипта MFS SeoEdit
    Многие пользователи, которые скачивали и установили скрипт MFS SeoEdit, обратились ко мне с таким вопросом как ошибка в работе капчи. По их заявкам я решил опубликовать сегодня статью в которой и расскажу как исправить ошибку с неверным числом

    Плагин автосохранение корзины для VirtueMart 2

    Плагин автосохранение корзины для VirtueMart 2
    Плагин автосохранение корзины для VirtueMart 2. После установки плагина, корзина автоматически сохраняется. То есть, при возвращении пользователя на сайт, он увидит в корзине те товары, которые он положил в корзину при прошлом посещении сайта.

    Узнаем браузера пользователя с помощью PHP

    Узнаем браузера пользователя с помощью PHP
    В этой статье я раскажу как определить браузер пользователя с помощью PHP. Начнём с того что Браузер это клиент, а любой сервер имеет полное право знать информацию о клиенте, который к нему подключается.

    Внешние ссылки как правильно сделать ссылку на сайт

    Внешние ссылки как правильно сделать ссылку на сайт
    В этой статье я поделюсь с вами как грамотно сделать внешние ссылки! На что это повлияет. Куда их стоим размещать и в каком количестве и куда не стоит ляпать. Начнём с того что ссылки на ваш сайт должны быть как можно разнообразнее. Не надо повторять


Просмотров: 1 925
Добавлено: 22-07-2013, 17:48
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.


Наверх
[X]
Добро пожаловать на сайт!

Войти | Зарегистрироваться