Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Переделанный мной вариант

PHP код: Выделить весь код

preg_match('/^\w{2}/',$_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);

switch (
strtolower($matches[0])){
    case 
"ru"$accept_lang="ru";break;
    case 
"de"$accept_lang="de";break;
    case 
"en": case "uk": case "us"$accept_lang="en";break;
    default: 
$accept_lang="de";break;
}

if (isset(
$_REQUEST["lang"])) $_SESSION["lang"] = $_REQUEST["lang"];
elseif(!isset(
$_SESSION["lang"])||($_SESSION["lang"]=='')) $_SESSION["lang"] = $accept_lang;
$lang=$_SESSION["lang"];
if (
$lang!='ru'&&$lang!='de'&&$lang!='en'$lang=$accept_lang;
$_SESSION["lang"] = $lang

затем просто
HTML код: Выделить весь код
<a href="?lang=de">Немецкий</a> <a href="?lang=ru">Русский</a> <a href="?lang=en">Английский</a>

Таким образом, язык сначала определяется и ставится на старте. Затем записывается в сессию и остается в ней до конца, или пока пользователь сам не переключит язык.
Если пользователь думает, что он самый умный и пытается выставить что то типа "?lang=bb" , то включается язык браузера.
Новый язык записывается в сессию.
Но можно например записывать и в куки...

Отправлено: 15:36, 22-11-2009 | #3