Проблема с языком сайта

131
.
mishaua
На сайте когда зоходить гость ему выбивает английский или другой язык а не ту что я в админке ставил
.
(\/)____o_O____(\/)
mishaua, гостю показывается сайт для установленной локали арбузера, обычно подобное на линуксах
.
Koenig, а можно по подробнее
.
Ей 25
# mishaua (22.01.2015 / 21:26)
Koenig, а можно по подробнее
В общем гостю показывается тот язык сайта, на котором у него браузер, система(Винда там или андроидфон и т.д.) и всё остальное. Это для удобства сделано. А на сколько верно оно определяется, я не знаю.

П.С.
Почему сайты на Джоне, созданные иностранцами, у меня всегда открываются на их языке. Не всегда английском... Так что точно ХЗ от чего это всё зависит.
.
# ValekS (22.01.2015 / 21:31)
В общем гостю показывается тот язык сайта, на котором у него браузер, система(Винда там или андроидфон и т.д.) и всё остальное. Это для удобства сделано. А на сколько верно оно определяется, я не знаю
еее не очень хорошо
.
# Tor (23.01.2015 / 06:54)
mishaua, [php]Меняем функцию авто определения языка по браузеру на принудительное назначение языка системы из админки
Родная функция движка в /incfiles/classes/core.php:
/*
------------------
спасиб
.
ramzes
# Tor (23.01.2015 / 06:54)
mishaua,
Меняем функцию авто определения языка по браузеру на принудительное назначение языка системы из админки
Родная функция движка в  /incfiles/classes/core.php:
/*
    ------------------

хреновая функция (оригинальная которая) кривая и неточная
function LocaleAuto(){
        if(!isset($_SESSION['accept_language'])){
            preg_match_all('|([a-z\-]+);q=([\d\.]+)|i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $match_lang);
            $selected = 'ru';
            $level = 0;
            foreach( $match_lang[1] as $n=>$v){
                if($match_lang[2][$n] > $level){
                    $level = $match_lang[2][$n];
                    $selected = $v;
                }
            }
            $language = explode('-', $selected);
            $_SESSION['accept_language'] = ($language[0]!='') ? $language[0] : $selected;
        }
        $this->language = $_SESSION['accept_language'];
        return $_SESSION['accept_language'];
    }

вот нормальная, с учетом приоритетов (не дефолтная локаль, там по другому расчитывается, похоже что от % софта на том или ином языке, установленном на компе)
Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,cs;q=0.2,de;q=0.2,ja;q=0.2,ms;q=0.2,pl;q=0.2,th;q=0.2,zh-CN;q=0.2,zh;q=0.2,vi;q=0.2,es;q=0.2,sk;q=0.2,uk;q=0.2,bg;q=0.2,he;q=0.2,pt;q=0.2
Всего: 7