Подробная инструкция по созданию мультиязычного сайта на Joomla 4/5: установка языков, настройка языковых плагинов, настройка меню и модулей для переключения языка, а также советы по управлению стилями шаблона для каждого языка.

Установка языков

После того как вы определились с нужными языками, их нужно установить. 

Автоматическая установка

  1. Перейдите в СистемаУстановкаЯзыки.
  2. Установите необходимые языки, нажимая на кнопку Установить.

Обратите внимание!
Если языковые пакеты не скачиваются автоматически, их можно установить вручную.

Ручная установка

  1. Скачайте языковые пакеты с официального сайта Joomla Language Packages.
  2. Загрузите и установите файлы через СистемаУстановкаРасширения.
  3. Опубликуйте загруженный язык в СистемаУправлениеЯзыки контента.

Активация языковых плагинов

Для корректной работы мультиязычного сайта требуется настроить и опубликовать соответствующие системные плагины Joomla.

  1. Перейдите в СистемаУправлениеПлагины.
  2. Найдите и включите плагины:
    • Система - Подмена кода языка
    • Система - Фильтр языка

Настройки плагинов

Система - Фильтр языка

После включения данного плагина настройки по умолчанию обеспечивают нормальную работу мультиязычности сайта. Обычно их изменять не требуется.

Язык для посетителей
Язык сайта или язык браузера. Определяет, какой язык будет применен для посетителей сайта: язык сайта по умолчанию, либо автоматически определять его на основе настроек браузера пользователя.
Автоматическое переключение языка
Эта опция позволяет менять язык контента на сайте автоматически, если пользователь меняет язык сайта на другой (влияет на отображение на главной странице).
Связи элементов
Активация опции позволяет устанавливать связи между пунктами меню, материалами и категориями на различных языках, чтобы указывать поисковым роботам, что у страницы есть альтернативная версия на другом языке.
Добавление метатега alternate
Активирует добавление метатега alternate для пунктов меню, которым установлены связи.
Добавление значения x-default
Если пользователь не использует язык, представленный на сайте, он будет направлен на версию сайта, установленную в опции Язык для x-default.
Язык для x-default
Выбор языка по умолчанию, который будет использоваться, если язык пользователя не соответствует ни одному из установленных.
Удаление кода языка из URL
Включение этой опции уберет языковой префикс для языка сайта по умолчанию, например: web.site/en. Для всех остальных языков префикс останется. Желательно оставлять префикс и для версии сайта по умолчанию, это улучшает SEO и более очевидно указывает пользователям, что сайт мультиязычный.
Время жизни cookie
Срок действия cookie для языка: можно выбрать, чтобы они истекали либо по окончании сеанса, либо через год.

Система - Подмена кода языка

Если версия вашего сайта ориентирована на конкретный регион, в этом плагине Joomla можно задать код языка для этого региона, что улучшит видимость сайта в поисковых системах.

Язык для существующих элементов

После включения языковых плагинов Joomla для категорий, материалов и пунктов меню станет доступна опция Язык, а также вкладка Связи, для модулей только Язык

По умолчанию для всех элементов контента опция Язык имеет значение Все, что делает эти элементы доступными для всех языков, поэтому первым делом необходимо назначить язык существующим элементам. Сделать это можно быстро, используя функцию Пакетная обработка.

  1. Перейдите к списку элементов (материалов, категорий или пунктов меню).
  2. Отметьте все элементы, для которых в дальнейшем потребуется создавать связанные элементы на другом языке/языках.
  3. В панели инструментов кликните Действия Пакетная обработка.
  4. В опции Установить язык выберите нужный язык (если элементы на русском, то Russian) и нажмите Выполнить.
  5. Теперь все эти элементы будут доступны, если на лицевых страницах включен соответствующий язык (с помощью модуля Переключатель языка, или автоматически, в зависимости от настроек плагина Фильтр языка).

К сведению
Начиная с версии Joomla 5.2 можно размещать пункты меню на разных языках в одном меню. Однако мы не рекомендуем этого делать, так как управлять пунктами проще, когда они распределены по отдельным меню, соответствующим своим языкам.

Многоязычные связи

После установки языка уже существующим элементам необходимо создать альтернативы этих элементов для другого языка/языков.

Кроме обычного способа создания элементов контента, их можно создавать через компонент Многоязычные связи. Этот компонент становится доступен после включения плагина Фильтр языка и позволяет редактировать контент двух версий элемента на одной странице, что очень удобно. 

  1. Перейдите в Компоненты Многоязычные ассоциации.
  2. В фильтре выберите Тип контента и Язык.
  3. Из появившегося списка элементов кликните по тому, для которого хотите создать связанный элемент на другом языке.

Внимание!
Если для всех элементов на сайте для опции Язык указано значение Все, то список элементов на странице Многоязычные связи будет оставаться пустым. Сперва необходимо назначить определённый язык существующим элементам.

Создание модуля переключателя языка

  1. В КонтентМодули сайта создайте новый модуль Переключение языков.
  2. Настройте модуль и выберите его позицию.

Модули для разных языков

Для модулей так же, как и для других элементов ядра Joomla, можно определять язык, для которого они должны быть задействованы. Кроме этого в настройках модулей можно настраивать привязку к определённым пунктам меню.

Внимание!
Если на сайте используется Advanced Module Manager, то в этом случае потребуется добавлять язык в условия показа модуля.

Стили шаблона Joomla для каждого языка

Если на сайте не используется стандартный шаблон Cassiopeia, возможно вам потребуется создать и настроить стиль шаблона для каждого языка отдельно. Это позволит точно контролировать отображение элементов сайта для разных языков:

  • Отображение пунктов меню: каждому языковому стилю можно привязать своё меню, чтобы посетители видели только те пункты, которые соответствуют выбранному языку.
  • Настроить уникальный контент в заголовках и подвале: если у сайта есть информация, специфичная для определённых стран или языковых групп, разные стили помогут добавить нужные данные в области шапки и подвала для каждого языка.
  • Оптимизировать пользовательский опыт: разные стили позволяют адаптировать сайт под культурные и региональные особенности, что улучшает восприятие сайта аудиторией.

Обязательно укажите, для каких страниц/пунктов меню привязывается тот или иной стиль шаблона Joomla.