[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Альтернативное решение для мультиязычности.
captainluzik
Привет форумчанам! Обслуживаю некий сайт, написан на php с использывание ionCube для шифровки некоторых файлом, в частности function.php в инклюдах.
Стал вопрос о добавлении энного количества новых языков.
Дефолтно в скрипте прописаны два языка - русский и инглиш. Естественно, код выполняющий оное, зашифрован.
Так как сайт активно использует куки в разных направлениях было принято решение в index.php решить вопрос таким способом :
if (( $_GET['lang'] == 'zh' || $_GET['lang'] == 'en' )) {
setcookie( 'lng', gs_html( $_GET['lang'] ), time( ) + 25920000, '/' );
$lng = gs_html( $_GET['lang'] );

if (false);


if (( $_COOKIE['lng'] == 'zh' || $_COOKIE['lng'] == 'en' )) {
$lng = gs_html( $_COOKIE['lng'] );

if (false);

$lng = cfgSET( 'cfgLang' );
@include( 'includes/lng/' . @substr( $lng, 0, 2 ) . '.php' );
}

Вроде бы все логично и должно работать - но нет. Не работает. Куки записывает, но при выборе нового языка массив нового языка попросту не инклюдится, и в каждой строчке текста выдает первую букву массива - например z.
Вариант с использываниям сессии - не проканал).
Самое простое полурабочее решение было таким -
if (@$_GET['lang'] == 'uz') include('includes/lng/uz.php');

И действительно, новый язык переключается, но естесвенно работает все только на одной странице и при перезагрузке или переходе на другую - все возвращается к дефолтному.
По сему мастера - прошу свежих мыслей на этот счет. Ибо уже много времени бьюсь с этой проблемой. Спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.