Рассмотрим как добавить в CMS новый язык, что бы сайт стал мультиязычным.
Последовательность действий:
- Установка файлов локализации языков, которые будут присутствовать на сайте (Русский и Английский)
- Языки контента: заполняем все графы со звездочкой, в заголовке пишем «Русский», тег языка копируем ru-RU, должен появиться соответствующий флажок языка напротив «префикс изображения», сохранить и закрыть (с английским заголовок English, тег языка en-GB), в результате появятся два языка контента с соответствующими флажками.
- Модуль переключения языков: Заголовок «переключение языков», заголовок скрываем, выставляем позицию right, сохранить и закрыть
- Системный плагин: включаем плагин «Система-фильтр языка», включено, сохранить и закрыть
- Категории: создаём категорию с заголовком «Категория 1» для русского языка, выбираем язык «Русский» вставляем текст на русском языке, сохранить и создать (с английским заголовок Category 1, текст, переведенный на английский, язык English, сохранить)
- Материалы: создаём материал с заголовком «Материал 1», выбираем «категорию 1», язык «русский», сохранить и создать (английский заголовок Material 1, категория category 1, язык English)
- Связываем материалы: открываем на редактирование любой материал, вкладка «Связи», выбрать соответственно материал или Material, сохранить и закрыть. В графе связи появятся связанные языки.
- Категории: аналогично материалам делаем связи.
- Модуль формы авторизации: создаем с заголовком «Форма входа» выбираем позицию, язык «русский», опубликовать, сохранить и закрыть, дублировать модуль (английский с заголовком Login form, выбираем позицию, опубликовать, язык English, сохранить и закрыть)
- Меню: Создаем одно общее меню с одним пунктом и заголовком «Главное меню по умолчанию», языки пункту выставляем «Все», создаем меню с заголовком «Главное меню RU», тип меню «mainmenu», сохранить и создать (английский с заголовком «Main menu EN», тип меню «mainmenu_en»)
- Пункт меню: заходим в созданное английское меню и нажимаем создать пункт с заголовком «Home», тип пункта меню выбираем из списка как у главного меню («избранные материалы»), главная страница переключаем в положение «Да», язык «English», сохранить и закрыть (в русском меню создаем пункт меню по аналогии, заголовок «Главное»)
- Связываем пункты меню: открываем любой пункт, закладка «связи»
- Создаем в каждом меню пункт меню с заголовком «ссылку на категорию», выбираем категорию «категория 1», язык русский, сохранить (На английском с заголовком «Link to the category», категория category 1, язык English)
- Связываем пункты меню.
- Дублируем модуль главного меню для каждого языка (Менеджер меню> модуль для «Главное меню по умолчанию») заходим в изменить модуль и перемещаем его в английское меню. Дублируем данный модуль в русское меню, выбираем «меню RU» язык «русский», опубликовано, сохранить и закрыть. Не забывайте, что модуль должен содержать нужную позицию. О позициях - тут.
- Обновляем сайт и видим форму
Под созданием многоязычного сайта, понимается создание новой версии сайта на втором языке. Другими словами, необходимо создать дубль контента вашего сайта на втором языке.
ВНИМАНИЕ: очень важно создать резервную копию сайта перед включением мультиязычности.
Для того что бы создать копию сайта обратитесь к инструкции – тут.
Идем по пути Расширения> Языки
Здесь видим, что у нас установлен Русский язык по умолчанию
- Установленные языки — задается перевод видимой части сайта;
- Языки контента — языки контента необходимы для организации мультиязычного сайта;
- Переопределение констант — позволяет создать новый перевод, который перезапишет стандартный из установленных языковых пакетов.
Чтобы установить дополнительный язык для сайта (например чешский), нажимаем на кнопку «установить язык» и из списка выбираем нужный и нажимаем «Установить».
Ждем сообщение об успешной установке и проверяем в менеджере языков появился ли новый язык в списке установленных
Заходим во вкладку «Языки контента»
Заголовок — здесь вводим любой заголовок;
Заголовок на родном языке — здесь вводите название сайта на данном языке
Тег языка — берем из колонки «Тег языка» в менеджере языков.
Заполняем все поля, которые помечены звездочкой, выбираем из выпадающего списка состояние «Опубликовано» и жмем сохранить
Публикация модуля типа «Переключение языков»
Идем по пути Расширения> Модули> Создать и выбираем тип модуля «Переключение языков»
Публикуем модуль. Настройки оставляем по умолчанию, выбираем позицию
Далее идем в «Расширения» -> «Плагины» -> «Система — Фильтр языка».
Настройки плагина так же рекомендуется оставить по умолчанию
- Язык для новых посетителей — здесь Вы выбираете, как будет определяться язык сайта по умолчанию: из настроек браузера, или будет установлен язык по умолчанию, установленный в менеджере языков (по умолчанию у нас стоит русский)
- Удалять код языка - site.ru/en или site.ru/ru, т.е. добавляется суффикс языка к адресу сайта. Включаем эту настройку.
Выбираем включить и сохранить плагин.
Идем в «Материалы» -> «Менеджер категорий» и создаем категорию. В настройках категории присваиваем язык категории.
Делаем копии данной категории и создаем аналогично на других языках. Содержание категории, заголовок и описание заменяем в соответствии с языком, который выбираем в настройках «язык».
Так же необходимо создать материалы для доступных языков. В настройках материалов тоже выставляется язык.
Чтобы пользователь имел возможность зайти на версию сайта с нужным языком, создаем соответствующий модуль входа на сайт. Также как и для статей создаем модуль авторизации на сайте и присваиваем нужный язык в настройках каждого модуля.
Далее нам необходимо сделать следующее: дублируем главное меню столько раз, сколько у нас будет языков (пункты меню должны быть в разных меню, а не в одном.), т.е. под каждый язык создается меню и дублируются пункты. Оставляем одно общее меню с одним единственным пунктом — «Главная».
Заходим в пункт «Главная» и выставляем значение главная страница в положение — «Да» и значение языка — «Все». Присвоив статус пункту «Главная страница», мы делаем его главным (помечено иконкой домика), а меню становится главным по умолчанию.
Теперь нужно связать между собой пункты меню. Заходим в настройки созданного меню. Закладка «связи»
Открываем любой пункт одного меню и связываем пункты с аналогичными пунктами других меню. Таким же образом связываем наши категории и статьи. Сначала заходим в категории и открываем категорию на любом языке для редактирования. Находим вкладку «Связи» и также связываем категорию аналогичной ей на другом языке. В материалах делаем все по аналогии.
В результате при входе на сайт появится форма входа на сайт, модуль переключения языков и главное меню с пунктами.