Мультиязычный сайт. Русский-Английский

  • Автор темы sherman
  • Дата начала
S

sherman

#1
Друзья! Буду признателен за помощь, или совет- ссылку на решение моей задачи. Она в следующем. На страницу регистрации равно как и логина попадает юзер используя кнопку

<a href="register.php?l=Russian&lc=ru_RU">Russian</a> |
<a href="register.php?l=English&lc=en_US">English</a>

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

<?php
if (!defined('SCRIPT_IN_SYSTEM')) {
exit;
}

$lang = (isset($_GET['l'])) ? addslashes($_GET['l']) : 'Russian';
$locale = (isset($_GET['lc'])) ? addslashes($_GET['lc']) : 'ru_RU';

define('SYS_CURRENT_LANG', $lang);
setlocale(LC_ALL, $locale);
?>

Но дальше независимо от того на какую страницу попадает юзер member.php в случае успешного логин либо при прохождении регистрации

: echo REGISTER_SUCCESS_USER_ACTIVATION;

Он видит русский текст, а хотелось-бы английский, несмотря на то что в файле register.php стооит

<?php
if ($locale=="ru_RU") {
include_layout_template('navig_menu.php');
include_layout_template('right_column.php');
} else {
include_layout_template('navig_menu_en.php');
include_layout_template('right_column_en.php');
}
?>
<div id="content">
<h1><?php echo REGISTRATION_FORM ?></h1>

Я слышал о том что нужно чтобы URL файла имел переменную чтобы быть уверенным что язык его будет отличным, либо должны быть установлены куки. Вопрос как это сделать... :)
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#2
куки устанавливаются массивом $_COOKIES[];
Но вам это не нужно. Просто каким образом ваш регистер.пхп узнает о переменной локале, которая устанавливаеттся в бланк.ленг.пхп?
Если все эти файлы н\где-то инклюдятся, то вам просто нужно переменную локале сделать глобальной, иначе, можете использовать сессии например.