Определение языка браузера

Тема в разделе "OpenCart", создана пользователем slava_573, 5 апр 2015.

  1. slava_573

    slava_573

    Регистрация:
    25 мар 2015
    Сообщения:
    72
    Симпатии:
    40
    Подскажите пожалуйста возможно ли изменять язык сайт в зависимости от языка выбраного в браузере?
    ocStore 1.5.5.1.2

    Заранее спасибо!
     
  2. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    По идее так и происходит
    Код:
    $detect = '';
    
    if (isset($request->server['HTTP_ACCEPT_LANGUAGE']) && $request->server['HTTP_ACCEPT_LANGUAGE']) {
        $browser_languages = explode(',', $request->server['HTTP_ACCEPT_LANGUAGE']);
       
        foreach ($browser_languages as $browser_language) {
            foreach ($languages as $key => $value) {
                if ($value['status']) {
                    $locale = explode(',', $value['locale']);
    
                    if (in_array($browser_language, $locale)) {
                        $detect = $key;
                    }
                }
            }
        }
    }
    
    if (isset($session->data['language']) && array_key_exists($session->data['language'], $languages) && $languages[$session->data['language']]['status']) {
        $code = $session->data['language'];
    } elseif (isset($request->cookie['language']) && array_key_exists($request->cookie['language'], $languages) && $languages[$request->cookie['language']]['status']) {
        $code = $request->cookie['language'];
    } elseif ($detect) {
        $code = $detect;
    } else {
        $code = $config->get('config_language');
    }
     
  3. slava_573

    slava_573

    Регистрация:
    25 мар 2015
    Сообщения:
    72
    Симпатии:
    40
    у вас меняет язык в зависимости от языка браузера?
    хм. значит у меня что-то не работает.
     
  4. chukcha

    chukcha

    Регистрация:
    9 окт 2014
    Сообщения:
    281
    Симпатии:
    85
    Это происходит если вы в первый раз заходите в магазин
    1 проверяется текущая сессия
    2 проверяется кука
    3 и только теперь проверяется зык браузера.