Если вы создаете сайт рассчитанный на многоязычность, при этом хотелось бы, чтобы сайт автоматически определял языки для пользователя, тогда данный пост будет вам интересен. В нем мы рассмотрим как сделать автоматическое определение языка пользователя средствами php, а точнее небольшого кода.  Этот код просто определяет, присутствует ли запись о языке в заголовке запроса и если да, то скрипт перенаправляет пользователя на соответствующий субдомен. Англоязычные пользователи будут перекинуты на en.site.com и так далее.

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

Выше приведенный код, в котором мы проверяем, поддерживается ли язык пользователя на нашем сайте. Если да, то перенаправляем его на соответствующий субдомен, если нет, выставляем язык по умолчанию. Материал взят из зарубежного источника. И представлен исключительно в ознакомительных целях.