Уважаемые инстантоведы!
Такой вопрос, практическая задача.
Буду благодарен за ЛЮБЫЕ идеи, наводки, подсказки по решению.
— — — — -
Я создаю с тремя языками интерфейса: русским, английским и немецким.
Саму мультиязычность я настраиваю с помощью компонента «Языки 2.0».
Вернее, частично мультиязычность зашита в движок, а данный компонент предоставляет удобный интерфейс для перевода информации на разных языках. Плюс в нём есть интеграция с Яндекс.Переводчиком и Google Translate API, и переводить можно одним кликом, а затем лишь корректировать перевод.
На мой взгляд очень удобный компонент.
— — — — -
Но! Он работает лишь поверх функционала мультиязычности самого движка.
А в движке есть такая особенность.
Когда включаешь опцию «Разрешить смену языка пользователями (подстановкой префикса в URL)» (подробнее на скриншоте), то по сути языком по умолчанию И в админке, И на публичной части сайта — становится английский.
По адресу «названиесайта.de» — становится доступна именно английская версия.
По адресу «названиесайта.de/ru» — русская, а по адресу «названиесайта.de/de» — немецкая.
Причём от того, какой язык на момент включения опции «Разрешить смену языка пользователями (подстановкой префикса в URL)» указан в соседнем поле «Локализация» — вообще ничего не зависит.
В локализации остаётся указанным другой язык, но раскладка по префиксам языка работает однозначно: основным языком становится английский, а все остальные — дополнительными.
— — — — -
Скриншот настроек:
— — — — -
Мне нужно настроить движок сайта так, чтобы был такой расклад (при сохранении другого функционала, конечно):
По адресу «названиесайта.de» — немецкая версия.
По адресу «названиесайта.de/ru» — русская, а по адресу «названиесайта.de/en» — английская.
Насколько я понимаю, для реализации допилов кода движка нужно копать примерно сюда.
В файле конфигурации опции «Разрешить смену языка пользователями (подстановкой префикса в URL)» настроек сайта соответствует переменная «is_user_change_lang».
Далее эта переменная используется в функции detectLanguage() в файле system/core/core.php.
Вот где-то там нужно напильником подточить код.
Но если кто-то из коллег подскажет, что именно, или альтернативные решения — буду очень признателен.