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

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Сайт на двух языках (php-скрипт для определения языка)

Ответить
Настройки темы
Сайт на двух языках (php-скрипт для определения языка)

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


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

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


Есть вопрос. Помогите разобраться.
Необходимо создать сайт на двух языках, сайт должен грузиться на английском языке, но если заходит наш юзер (русскоязычный), тогда необходима автоматическая загрузка страниц на русском. Есть ли возможность реализовать это средствами php или есть какой-нибудь оптимальный способ это сделать без установки на сервер дополнительных компонентов и какой вид тогда будет иметь синтаксис объекты сайта (кнопки, ссылки, статьи)?
Извините, если немного запутанно написал...

Отправлено: 16:08, 28-08-2007

 

Аватара для Coutty

Кот Ти


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

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


Смотря как определять русского пользователя. Может быть проще будет предложить на главной странице выбор - EN|RU?

Можно в начале скрипта проверить предпочтения клиента на принимаемые языки, и в зависимости от ответа загрузить русский или английский файл (тут перенаправление):
PHP код: Выделить весь код

<?php

if (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 05) == "ru_RU")
  
Header ("Location: rus.php");
else
  
Header ("Location: eng.php");

Ну или просто присвоить результат переменной, а потом уже смотреть, какие данные подсовывать клиенту:

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

<?php

if (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 05) == "ru_RU")
  
$lang "rus";
else
  
$lang "eng";

Но это сработает только если браузер передаёт строку с предпочтениями)) Например, у меня Опера передаёт. Насчёт других - не знаю. Попробуйте.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:55, 28-08-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


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


Сообщения: 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



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Сайт на двух языках (php-скрипт для определения языка)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Скрипт определения внешнего IP stolyar Скриптовые языки администрирования Windows 9 21-09-2010 12:09
Любой язык - Скрипт Visual Basic для определения IP в Windows 7 и XP Hitsi Скриптовые языки администрирования Windows 8 20-02-2010 23:23
Проблема с PHP(не передаются переменные из формы в PHP- скрипт) Kirander Вебмастеру 21 03-08-2009 01:11
Как сделать интерфейс на двух языках???? Zero93 Программирование и базы данных 4 23-12-2006 14:18
Нужен поисковый скрипт на сайт koresaram Вебмастеру 18 18-11-2003 19:03




 
Переход