Автоматическое определение языка Opencart 2
Если нужно сделать автоматическое определение языка пользователя на Opencart 2, то есть два варианта решения:
1. Определения языка по IP (стране или региону)
2. Определения языка по языку браузера
Мы будем использовать второй способ, так как считаем его более точным.
Каждый браузер передает строку с ISO-кодами используемых языков и их приоритетами. В приведенном примере будем брать язык с самым высоким приоритетом использования.
Пример кода, который поможет автоматически определить язык браузера и переключать язык сайта на Opencart 2:
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 куда нибудь в функцию index().
Популярные модули Opencart 2