Перенаправление на языковую версию сайта, в зависимости от локали браузера

Опубликовано: 19 Мар 2016

Довольно простенькое решение, по перебрасыванию пользователя на нужную языковую версию в зависимости от локали браузера.

<?php
// Создаем массив с адресами для каждого языкового кода
    $sites = array(
    "ru" => "http://ru.somesite.com/",
    "en" => "http://somesite.com/",
 
);

// получаем язык
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); // вырезаем первые две буквы

// проверяем язык, если не определен переправляем на версию по умолчанию (в данном случае английскую)
if (!in_array($lang, array_keys($sites))){
    $lang = 'en';
}

// если нет данных в сессию, записываем и перенаправление на нужную версию, если данные есть не делаем ничего
session_start();
if(!isset ($_SESSION["lang"])){
  $_SESSION["lang"] = $lang;
  header('Location: ' . $sites[$lang]);
}

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: