Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Автоматическое определения языка в мульти-магазине


Keyua

Recommended Posts

Делаю магазин (ocstore 2.3.0.2 Шаблон moneymaker)на двух языках - украинский и русский. Хочу реализовать автоматическое переключение языка. Почитал форум и решил, что оптимальный вариант призываться не к ip пользователя, а к языку браузера. Нашел статью, в которой предлагается такой код

if (!isset($this->session->data['language_change'])) {    
    $this->session->data['language_change'] = '0'; } if ($this->session->data['language_change']=='0') {
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $this->session->data['language_change']='1'; if ($lang=='ru' || $lang=='uk' || $lang=='be' || $lang=='ky' || $lang=='am' || $lang=='ab'){ 
        $_SESSION['language'] = 'ru';
        $this->session->data['language']='ru';
        $this->session->data['language_code']='ru'; } else { 
        $_SESSION['language'] = 'en'; 
        $this->session->data['language']='en';
        $this->session->data['language_code']='en'; }
    $this->response->redirect($_SERVER['REQUEST_URI']); }

По инструкции его нужно вставить в catalog/controller/common/header.php.

В исходном варианте код не срабатывает. Я попробовал переделать его под себя (php не владею) - убрал лишние переменные языков - оставил только русский и украинский. Код по прежнему не работает. После сброса кеша модификаторов и системы

Прошу у знающих помощи закоментировать данный код что бы разобраться в чем причина.

Надіслати
Поділитися на інших сайтах


Думаю лучше по ip, в документации сказано про определение на офф сайте, и там же есть ссылка на платную версию базы данных и на бесплатную. А если вообщем ошибки могут быть везде браузер может дать не верно и так же ip. Лучше реализовать как то так.

Зашел я с определенного ip сверил со своей базой если Россия то русскую версию сайта если то другую

Как то так...
 

Надіслати
Поділитися на інших сайтах


А чем дефолтное определение языка по ['HTTP_ACCEPT_LANGUAGE'] не устраивает?
Работает корректно, если локали в настройках языка в админке не трогали.

Надіслати
Поділитися на інших сайтах

  • 1 year later...
В 13.02.2017 в 00:25, pashast сказал:

А чем дефолтное определение языка по ['HTTP_ACCEPT_LANGUAGE'] не устраивает?
Работает корректно, если локали в настройках языка в админке не трогали.

можно подробней как активировать дефолтное определение языка по ['HTTP_ACCEPT_LANGUAGE']

Надіслати
Поділитися на інших сайтах


Он из коробки включен и работает. Если в магазине есть язык, который совпадает с локалью пользователя, то показывается сайт на этом языке. Если языка нет, то показывается язык по-умолчанию.

Надіслати
Поділитися на інших сайтах


  • 4 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.