Tor, предыдущий язык в куках хранится
Tor, мультиязычность автоматом проверяет язык твоего браузера и выдает нужный
Если в смартфоне стоит украинский язык, но заходишь с оперы или например с узбека, то все равно сайт выдаст русский, так как браузеры эти не поддерживают украинский язык, а автоматом определяет как ru
Установи
CM Browser, поставь в смартфоне украинский язык.... и сайт будет на украинском
Так что в джоне мультиязычность правильно работает, и выдает тот язык - на котором браузер. А если этого языка нет, то отображается язык по умлчанию
привет какие нужно поставить настройки PHP на сервере чтоб джон роботал?
djorj9, а он не работает? какое ошибки выдает?
Tor, /incfiles/classes/core.php
/*
-----------------------------------------------------------------
Определяем язык
-----------------------------------------------------------------
*/
private function lng_detect()
{
$setlng = isset($_POST['setlng']) ? substr(trim($_POST['setlng']), 0, 2) : '';
if (!empty($setlng) && array_key_exists($setlng, self::$lng_list)) $_SESSION['lng'] = $setlng;
if (isset($_SESSION['lng']) && array_key_exists($_SESSION['lng'], self::$lng_list)) self::$lng_iso = $_SESSION['lng'];
elseif (self::$user_id && isset(self::$user_set['lng']) && array_key_exists(self::$user_set['lng'], self::$lng_list)) self::$lng_iso = self::$user_set['lng']; elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$accept = explode(',', strtolower(trim($_SERVER['HTTP_ACCEPT_LANGUAGE'])));
foreach ($accept as $var) {
$lng = substr($var, 0, 2);
if (array_key_exists($lng, self::$lng_list)) {
self::$lng_iso = $lng;
break;
}
}
}
}
Заменить на
/*
-----------------------------------------------------------------
Определяем язык
-----------------------------------------------------------------
*/
private function lng_detect()
{
$setlng = isset($_POST['setlng']) ? substr(trim($_POST['setlng']), 0, 2) : '';
if (!empty($setlng) && array_key_exists($setlng, self::$lng_list)) $_SESSION['lng'] = $setlng;
if (isset($_SESSION['lng']) && array_key_exists($_SESSION['lng'], self::$lng_list)) self::$lng_iso = $_SESSION['lng'];
elseif (self::$user_id && isset(self::$user_set['lng']) && array_key_exists(self::$user_set['lng'], self::$lng_list)) self::$lng_iso = self::$user_set['lng']; elseif self::$lng_iso = 'en';
}
Вроде так. Забекапить файл обязательно!
self::$lng_iso = 'en';
en заменить на предпочтительный язык.
Tor, Попробуй заменить последний elseif на else
private function lng_detect()
{
$setlng = isset($_POST['setlng']) ? substr(trim($_POST['setlng']), 0, 2) : '';
if (!empty($setlng) && array_key_exists($setlng, self::$lng_list)) $_SESSION['lng'] = $setlng;
if (isset($_SESSION['lng']) && array_key_exists($_SESSION['lng'], self::$lng_list)) self::$lng_iso = $_SESSION['lng'];
elseif (self::$user_id && isset(self::$user_set['lng']) && array_key_exists(self::$user_set['lng'], self::$lng_list)) self::$lng_iso = self::$user_set['lng']; else self::$lng_iso = 'en';
}
# Jane (17.11.2014 / 12:41)
djorj9, а он не работает? какое ошибки выдает?
500 Internal Server Error
# djorj9 (17.11.2014 / 19:44)
500 Internal Server Error
.htaccess менял? Хост какой?