Посмотрел я код движка — нет там никакого функционала по запоминанию выбранного языка и его последующему восстановлению. Разрабы сделали в лоб — либо даем волю браузеру и он ставит язык на свое усмотрение, не давая юзеру его сменить, либо при каждом посещении сайта попадаем на страницу с дефолтным языком и меняем его руками.
Почему так сделали, проделав столько остальной работы — не знаю, видать спешили выкатить релиз.
Т.к. времени на то, чтобы сделать все по нормальному через передачу доп параметров при выборе языка у меня нет, то реализовал через небольшой костыль. Работает исправно, но есть ограничение — после смены языка должно пройти 30 сек до следующего посещения сайта чтобы произошло автоматическое переключение на этот язык с другого. Например, мы переключились на русский, потом открыли новую вкладку и вставили в строку адреса ссылку на английскую страницу сайта. Если с момента переключения прошло 30 сек, то сайт переключиться на русский, если нет, то откроется английская версия сайта и будет запомнен английский. Соответственно, если с момента открытия страницы до переключения на другой язык пройдет более 30 сек, то переключения не произойдет и его нужно будет произвести повторно.
Файлы с исправлениями в архиве во вложении. Заменить надо следующие системные файлы (правились оригинальные, без изменений):
system\core\core.php
system\controllers\languages\hooks\engine_start.php