Определение языка средствами PHP

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

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

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

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

<?php
// список языков
$sites = array(
    "en" => "http://en.mysite.com/",
    "es" => "http://es.mysite.com/",
	"fr" => "http://fr.mysite.com/",
);

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

// проверяем язык
if (!in_array($lang, array_keys($sites))){
    $lang = 'en';
}
// перенаправление на субдомен
header('Location: ' . $sites[$lang]);

?>

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/Vw48D30CFbw/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Определение языка средствами PHP | | 2012-06-19 12:04:43 | | Статьи Web-мастеру | | Я давно искал способ, который позволил бы мне автоматически определять язык страницы для пользователя. Убив на это немало времени, я натолкнулся на следующее решение. Изъятие значения константы | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: