Настройка мультиязычности Joomla
Joomla — единственная крупная CMS с полноценной мультиязычностью из коробки, без платных плагинов. Поддержка нескольких языков встроена в ядро: переводятся статьи, меню, категории, модули, шаблоны.
Установка языковых пакетов
Расширения → Языки → Установить языки. Выбрать нужные языки (русский, украинский, английский), нажать установить — Joomla скачает пакеты с официального сервера.
Или вручную:
# Через CLI (Joomla 4+)
php cli/joomla.php extension:install --url https://download.joomla.org/...
Настройка Content Language
Расширения → Языки → Языки контента → добавить языки с настройками:
-
Языковой тег:
ru-RU,en-GB,uk-UA -
URL код:
ru,en,uk— используется в URL - SEF prefix: то же самое
Языковой фильтр
Компоненты → Языковые ассоциации → включить плагин Language Filter (Плагины → System → Language Filter):
Automatic language change: Yes
Remove URL language code for default language: Yes (главный язык без префикса)
Show language code in URL: Yes
Мультиязычные статьи и меню
Для каждого языка создаётся отдельный вариант статьи. Joomla связывает их как языковые ассоциации.
- Создать статью для русского: язык = ru-RU
- Создать статью для английского: язык = en-GB
- Компоненты → Языковые ассоциации → выбрать русскую статью → ассоциировать с английской
Меню: создать отдельное меню для каждого языка. Пункты меню привязаны к конкретному языку.
Переключатель языков
Добавить модуль Language Switcher (mod_languages) в позицию шаблона:
// В шаблоне index.php
<jdoc:include type="modules" name="language-switcher" style="none" />
Параметры модуля:
- Использовать изображения флагов: по желанию
- Горизонтальное положение
- Использовать выпадающий список: для большого количества языков
Контентная модель для мультиязычных сайтов
Для сложных сайтов рекомендуется структура:
Категории (по языку):
├── Новости (ru-RU)
├── News (en-GB)
└── Новини (uk-UA)
Меню:
├── Главное меню (ru-RU)
├── Main Menu (en-GB)
└── Головне меню (uk-UA)
Переопределение языковых строк
; language/ru-RU/ru-RU.com_content.ini
COM_CONTENT_ARTICLE_MORE_DETAILS="Подробнее"
COM_CONTENT_ARTICLES_FILTER_SEARCH_DESC="Введите поисковый запрос"
Или через Расширения → Языки → Переопределения.
SEO для мультиязычных сайтов
Hreflang добавляется автоматически Joomla для языковых ассоциаций. Проверить:
curl -s https://yourdomain.com/ | grep hreflang
# <link rel="alternate" hreflang="ru" href="https://yourdomain.com/ru/" />
# <link rel="alternate" hreflang="en" href="https://yourdomain.com/en/" />
Сроки
Настройка мультиязычности Joomla для 2–3 языков с переводом меню, категорий и базового контента — 2–3 дня.







