Мультиязычность Альто

Подскажите, кто знает, возможно ли сайт на Альто последней версии сделать мультиязычным? Как сделать на самом сайте перключалку с одного языка на другой. Можно еще задублировать контент блогов, т.е. на английском и на русском, чтобы при переключении менялись не только названия в меню, но и сам контент.

9 комментариев

0
Данная возможность имеется из коробки, например чтобы перейти на английскую версию вашего сайта достаточно приписать /en к корню вашего сайта, т.е site.ru/en/
Добавить другие языки вы можете в .../common/templates/language/
Отредактирован:
0
Это все понятно, но, наверное, я не правильно оформил топик. Я имею в виду. как сделать на самом сайте перключалку с одного языка на другой. Можно еще задублировать контент блогов, т.е. на английском и на русском, чтобы при переключении менялись не только названия в меню, но и сам контент.
0
Тут уже только написанием дополнения, из коробки такого функционала нету
0
это по-любому)
+2
Сама по себе переключалка языков — это всего лишь небольшая доработка шаблона. Можно добавить в шаблон примерно такой код:
<a href="?lang=en">EN</a>
<a href="?lang=ru">RU</a>

А в app/config/config.local.php задаете:
$config['lang']['allow'] = array('ru', 'en');   // какие языки доступны на сайте
$config['lang']['in_get'] = true; // проверка языка в GET-параметре: 'lang=ru'
$config['lang']['save'] = '1 year';  // сохранение языка в куках 1 год

И при клике интерфейс будет переключаться на нужный язык и он будет сохраняться в куках юзера, так что при последующем заходе на сайт он уже будет видеть интерфейс на том языке, на который переключался.

Контент по выбранному языку при этом не фильтруется. Функционал, позволяющий фильтровать контент по языку будет реализован в следующей версии.
0
А в какой файл шаблона лучше всего вставить код
<a href="?lang=en">EN</a><br>
<a href="?lang=ru">RU</a> ?<br>
<br>

>Контент по выбранному языку при этом не фильтруется. Функционал, позволяющий фильтровать контент по языку будет реализован в следующей версии.

это было вообще круто!
Но а если пойти меньшей кровью, например, написать плагин, по типу как это реализовано в ВП?
Отредактирован:
+1
А в какой файл шаблона лучше всего вставить код
Лучше всего в «мастер-шаблон» (layout), от которого все остальные файлы шаблонов наследуются. Если это experience-simple, то для дефолтной темы это будет common/templates/skin/experience-simple/themes/default/layouts/default.tpl. Там перед вставкой верхних меню, например, можно:
        {* Строим менюшки *}
        <div class="container">
            <a href="?lang=en">EN</a>
            <a href="?lang=ru">RU</a>
        </div>
        {include file='commons/common.header_nav_pages.tpl'}
        {include file='commons/common.header_nav.tpl'}

Но а если пойти меньшей кровью, например, написать плагин, по типу как это реализовано в ВП?
Ключевая проблема сейчас в том, что в базе не сохраняется язык контента. Если делать все аккуратно, без костылей, то по времени это все равно займет немало. Лучше уж само ядро доработать, на мой взгляд
0
Понял. Спасибо!
0
И все таки не совсем понимаю, как правильно добавить
<a href="?lang=en">EN</a>
<a href="?lang=ru">RU</a>


в код. Выдает ошибку синтаксиса.

Exception: Syntax error in template «C:/OpenServer/domains/мойсайт.ru/common/templates/skin/experience-simple/themes/default/layouts/default.tpl» on line 121 «{EN» — Unexpected «<»

Подскажите, через какую функцию это делать?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.