Часто на сайте требуется автоматическое определение языка пользователя, в одном из проектов потребовалось решить эту задачу. Как всегда на ум пришло самое быстрое решение, определить язык с помощью константы HTTP_ACCEPT_LANGUAGE одного из суперглобальных массивов, она содержит в себе строку типа “en-US,en;q=0.8″. Это значение берётся из заголовков запроса страницы. Браузер отправляет соответсвующий заголовок исходя из собственных языковых настроек и не учитывает локаль ОС (если хотите протестировать решение, достаточно поменять языковые предпочтения браузера)

PHP

Этот код просто определяет, присутствует ли запись о языке в заголовке запроса и если да, то скрипт перенаправляет пользователя в соответствующий раздел сайта. Англоязычные пользователи будут перекинуты на http://site.com/en

Переменная $lang извлекает значение константы HTTP_ACCEPT_LANGUAGE. Тут мы используем функцию substr с тремя параметрами для того, чтобы извлечь нужный нам язык.
читать далее »