- Видео урок.
- Настройки языка контента.
- Плагин Фильтр языка.
- Модуль Переключение языков Joomla.
- Распространение связи.
- Другие опции мультиязычности.
В предыдущей статье «Мультиязычность Joomla. Как перевести сайт на несколько языков» мы рассмотрели процесс настройки мультиязычного сайта, а также поговорили о его преимуществах и предварительных шагах, которые необходимо сделать до непосредственной работы с самой Джумла.
Видео урок
- Настройки языка контента – с 00:00:49.
- Плагин Фильтр языка – с 00:04:23.
- Модуль Переключение языков Joomla – с 00:06:17.
- Распространение связи – с 00:08:58.
- Связь элементов – с 00:10:48.
- Модуль админки Multilanguage status – с 00:11:52.
Видео лучше просматривать с качеством 720 HD. Этот и другие видео уроки Вы можете найти на каналах сайта Aleksius.com в YouTube и Mail.ru.
Ссылки из видео:
В этой статье рассмотрим настройки языка контента, плагина Фильтр языка и модуля Переключение языков.
В статье «Настройка мультиязычности Joomla 4» есть видео урок в котором рассмотрен процесс настройки мультиязычности в 4-й версии Джумла.
Под мультиязычным сайтом подразумевается сайт на нескольких языках (перевод, а не локализация). Для упрощения я не разделяю понятия «языковая версия сайта» (перевод) и «региональная версия сайта» (локализация). Но разница есть.
Перевод сайта – это создание эквивалентной версии сайта на другом языке (максимально точный перевод).
Локализация сайта – это создание соответствующей (похожей) версии сайта, но с учётом языковых, культурных, правовых и других особенностей той аудитории (местности), на которую ориентирована версия сайта. В данном случае контент сайта может существенно отличаться. Например, страница контактов будет содержать другие адреса, телефоны, почту и имена сотрудников, соответствующие региону сайта. Список товаров и даже сами товары могут отличаться по цене, характеристикам, внешнему виду и ассортименту.
Предлагаю ознакомиться со статьёй «Укажите Google локализованные версии своей страницы» справочной системы Google. Это поможет в понимании настройки перевода сайта Joomla с учётом SEO рекомендаций.
Настройки языка контента
Перейдите в Расширения – Языки – Языки материалов. Тут собраны опции установленных Вами языков сайта. Если каких-то языков нет, их можно создать. Рассмотрим настройки языка на примере русского (рисунок ниже).
Опции разделены на три вкладки и оснащены подробными русскоязычными всплывающими подсказками. Рассмотрю только те настройки, которые являются наиболее интересными (или наименее понятными), на мой взгляд.
- Заголовок. Отображается в списке языков контента в административной части сайта. Рекомендую задавать название языка так, чтобы его поняли все, у кого есть доступ к админке.
- Заголовок на 'Родном' языке. Отображается в модуле переключения языков (рисунок ниже), если в его настройках активирована опция Включить выпадающий список. В моём примере ниже указано «Русский».
- Код языка для URL. Код языка, согласно ISO 639-1, который отображается в URL адресе страниц сайта. Например, для русского это – «ru» («https://site.com/ru/stranitsa-2»), а для украинского – «uk» («https://site.com/uk/storinka-2»).
- Префикс изображения. Позволяет выбрать изображение флага языка. Файлы изображений, в формате GIF, находится в папке «media/mod_languages/images». Поместите в эту папку файл, его можно будет выбрать в спадающем списке Префикс изображения, чтобы он отображался для этого языка в админке и во фронтальной части сайта. Если у Вас уже был открыт язык, сохраните его настройки, и файл должен появиться в списке.
Обратите внимание на опцию Тег языка. В документации Google есть примечание:
Не указывайте код страны. Google не может автоматически определить язык по коду страны. Используйте код языка и добавляйте после него код страны, чтобы открыть доступ к странице только для отдельного региона.
Примеры:
- be – содержание на белорусском языке для любого региона (не бельгийский французский);
- nl-be – содержание на нидерландском для пользователей из Бельгии;
- fr-be – содержание на французском для пользователей из Бельгии.
То есть, вместо «ru-RU» рекомендуется указывать «ru» - русский язык для любого региона. На данный момент (23.10.2019) это нельзя сделать в настройках языка контента. Но можно сделать в настройках плагина «Система - Подмена кода языка». Активируйте этот плагин и сохраните его. После этого в его настройках на вкладке Код языка для опции ru-RU можно задать «ru». В большей степени это актуально, когда у Вас нет привязки к конкретной стране, например, информационный сайт.
Примечание (на 29.12.2019, Joomla 3.9.14). У Вас могут возникнуть проблемы с автоматическим формированием алиасов категорий, материалов и т.д., если Вы измените тег языка. Например, если для русского языка вместо «ru-RU» (русский язык для России) задать «ru-UA» (русский язык для Украины), то Joomla может перестать автоматически формировать алиасы вида «zagolovok-materiala». Вместо этого она будет формировать алиасы вида «29-12-201-09-55». Плюс, при смене тега языка для всех элеемнтов (материалов, пунктов меню, модулей и т.д.) нужно будет заново присваивать этот язык. После присвоения языка связи, если они были настроены, вернутся сами.
Примечание (на 14.09.2020, Joomla 3.9.21). У Вас могут возникнуть проблемы со вкладкой Связи в категориях, материалах и т.д., если Вы измените тег языка. Эта вкладка может не отображаться или в ней ничего не будет. Также могут не создаваться связи в компоненте Многоязычные ассоциации.
На вкладке Метаданные и Название сайта (рисунок ниже), есть опции, которые позволяют перевести значение соответствующих полей, которые находятся в Система – Общие настройки – Сайт.
На рисунке ниже показаны поля общих настроек сайта, которые можно перевести при помощи одноимённых полей в настройках языка.
Ниже приведу пример настроек языка контента для русского (для страны Россия), украинского (для страны Украина) и английского (для страны Великобритания) языков.
Русский:
- Заголовок – Русский.
- Заголовок на 'Родном' языке – Русский.
- Тег языка – ru-RU.
- Код языка для URL – ru
- Префикс изображения – ru.
- Состояние – Опубликовано.
- Доступ – Public.
Украинский:
- Заголовок – Українська.
- Заголовок на 'Родном' языке – Українська.
- Тег языка – uk-UA.
- Код языка для URL –
- Префикс изображения – uk_ua.
- Состояние – Опубликовано.
- Доступ – Public.
Английский:
- Заголовок – English.
- Заголовок на 'Родном' языке – English.
- Тег языка – en-GB.
- Код языка для URL – en.
- Префикс изображения – en_gb.
- Состояние – Опубликовано.
- Доступ – Public.
Плагин Фильтр языка
Перейдите в Расширения – Плагины и найдите плагин «Система - Фильтр языка» (рисунок ниже).
Все опции оснащены подробными русскоязычными всплывающими подсказками. Рассмотрю только те настройки, которые являются наиболее интересными (или наименее очевидными), на мой взгляд.
- Связь элементов. Позволяет задавать связи между разными элементами (пунктами меню, материалами, категориями и т.д.). Связь элементов доступна в настройках элементов. Например, на рисунке ниже показан пример настройки связи для пункта меню.
- Добавлять мета-тег 'alternate'. Позволяет указать альтернативные страницы. В HTML код будут добавлены специальные строки, указывающие, что для страницы есть версии на разных языках. Это первый способ, которым Google рекомендует указывать версии страниц, предназначенные для пользователей из разных регионов, говорящих на разных языках (способ «Теги HTML»). Для работы данной опции необходимо задать связи для пунктов меню. Пример тегов в коде страницы:
<link href="https://site.com/uk/storinka-3" rel="alternate" hreflang="uk-UA" />
<link href="https://site.com/ru/stranitsa-3" rel="alternate" hreflang="ru-RU" />
- Добавить Meta-тег x-default. Google рекомендует: «Также можно создать резервную страницу для языков, которых нет на вашем сайте, особенно для выбора языка/страны или главной страницы с автоматической переадресацией. Для этого используйте значение x-default: <link rel="alternate" href="http://example.com/" hreflang="x-default" />». То есть, на эту «резервную» страницу будут перенаправлены пользователи, если их язык не соответствует ни одному из языков, которые есть у Вас на сайте. Определение языка пользователя происходит на основании настроек языка его браузера (и то, если для опции Выбор языка для новых посетителей выбрано Настройки браузера). Опция Добавить Meta-тег x-default работает в связке с опцией Язык x-default.
- Язык x-default/ Вы можете указать, какая языковая версия сайта является версией по умолчанию (для мета-тега «x-default»). Если выбрано Язык сайта по умолчанию, то будет применяться язык, который отмечен языком по умолчанию для сайта в Расширения – Языки – Установлено (рисунок ниже). Вот пример строки из кода страницы: «<link href="https://site.com/ru/stranitsa-3" rel="alternate" hreflang="x-default" />».
- Удалять префикс языка по умолчанию. На моём тестовом сайте два языка (русский и украинский, русский является языком по умолчанию). Если опция Удалять префикс языка по умолчанию отключена, то URL адреса страниц выглядят так: для русской версии «https://site.com/ru/stranitsa-2», а для украинского «https://site.com/uk/storinka-2». А если включена, то URL адреса страниц выглядят так: для русской версии «https://site.com/stranitsa-2», а для украинского «https://site.com/uk/storinka-2». То есть, была удалена часть адреса – «ru» из URL страниц на русском языке.
- Доступ. Можно указать уровень доступа к языку и тем самым ограничить доступ к языковой версии для пользователей, чья группа не входит в указанный уровень.
Для проверки правильности настройки мультиязычности я использую WebSite Auditor (рисунок ниже). Это платная программа для комплексного SEO-аудита сайта. В плане мультиязычности она проверяет 10 «пунктов»:
- Языковые версии.
- Страницы с элементами hreflang.
- Неправильные коды языков.
- Невалидные URL.
- Отсутствие обратной ссылки.
- Конфликтующие элементы hreflang.
- Неканонические страницы с элементами hreflang.
- Отсутствие «x-default».
- Неполные значения элементов hreflang.
- Страницы без элементов hreflang.
Каждый из «пунктов» оснащён небольшими поясняющими подсказками.
Есть бесплатная SEO программа с похожими функциями - SiteAnalyzer.
Модуль Переключение языков Joomla
Перейдите в Расширения – Модули и найдите модуль тип Переключение языков (рисунок ниже).
Все опции оснащены подробными русскоязычными всплывающими подсказками. Рассмотрю только те настройки, которые являются наиболее интересными (или наименее очевидными), на мой взгляд.
- Начальный текст. Заключительный текст. Текст, который отображается над и под переключателем языков в модуле.
- Включить выпадающий список. Позволяет отображать переключатель языков в виде названий или флагов языков в строку или в виде спадающего списка.
- Включить изображения флагов. Можно отображать переключатель языка в виде списка флагов или названий. Названия задаются в поле Заголовок на 'Родном' языке в настройках языка в Расширения – Языки – Языки материалов.
- Активный язык. Если опция включена, то в переключателе языков будет отображаться язык, на котором в данный момент отображается сайт у пользователя.
Порядок следования языков в модуле можно менять путём их перетаскивания в Расширения – Языки – Языки материалов.
Распространение связи
Начиная с Joomla 3.9.0, для упрощения создания связей между элементами была добавлена функция «Распространение». Подробнее о ней можно прочесть тут.
Распространение работает только если у Вас три и более языков на сайте. Оно работает для встроенных расширений:
- категории контактов.
- Контакты.
- Категории материалов.
- Материалы.
- Пункты меню.
- Категории лент новостей.
- Ленты новостей.
На вкладке Связи добавляется кнопка Распространение (рисунок ниже).
Эта кнопка отображается, кода для элемента выбраны связи между всеми языками, кроме одного. По нажатию на эту кнопку Joomla попытается «угадать» связь для языка, для которого связь ещё не установлена. Нажатие на эту кнопку не изменит уже заданные связи. Плюс, если Вы нажали на эту кнопку и система установила связь на своё усмотрение, Вы всегда сможете её изменить вручную.
Рассмотрим шаги, необходимые для использования распространения. На моём тестовом сайте уже полностью настроена мультиязычность, включая связи между элементами, для русского и украинского языков. Я буду добавлять третий – английский. Предполагается, что он уже установлен в системе и сконфигурирован в языках материалов.
Шаг 1. Создайте новый элемент на английском языке, например, категорию материала. В его настройках на первой вкладке укажите английский язык в спадающем списке Язык.
Шаг 2. Сохраните категорию (не закрывая её).
Шаг 3. Перейдите на вкладку Связи и установите связь для любого из языков. Например, для русского.
Шаг 4. Рядом с русским языком появится кнопка Распространение. Нажмите на неё. Система автоматически подставит в связь для украинского языка. Если эта связь выбрана правильно, сохраните категорию.
Другие опции мультиязычности
Связь элементов. Ещё одной опцией, которая может упростить перевод сайта Joomla, является кнопка Связь элементов, которая появляется в верхней панели инструментов некоторых элементов. На рисунке ниже показана эта кнопка для категории материалов.
По нажатию на неё, если для категории задан язык, откроется компонент Многоязычные ассоциации, где в качестве ссылки (исходного элемента) будет отображаться эта категория (рисунок ниже). Вам останется выбрать, где открывать ссылку (язык), и настроить новую категорию (задать перевод).
Модуль админки «Multilanguage status» (мультиязычность). Перейдите в Расширения – Модули и в спадающем списке слева от поиска (в верхней части экрана) выберите Панель управления (рисунок ниже). Найдите модуль «Multilanguage status» и опубликуйте его. Если такого модуля нет, создайте его точно так, как модули сайта. Выберите тип модуля Мультиязычность. Позицию укажите «status» (без кавычек).
Когда модуль создан и опубликован, то в нижней части страницы админки появится ссылка Мультиязычность. Нажмите на неё, и Вы увидите информацию о статусе мультиязычности Вашего сайта. Если она работает неправильно, то в этом окне могут быть сообщения об ошибках. Плюс, там можно увидеть, что ещё нужно сделать для настройки перевода. Список далеко не исчерпывающий и затрагивает только основные моменты.
На рисунке ниже показан пример окна в ситуации, когда система не нашла ошибки.
Надеюсь, что эта и предыдущая статьи помогли Вам осуществить перевод Джумла на разные языки. Если у Вас есть вопросы, задавайте их в комментариях. В следующей статье «Обзор Falang Free. Многоязычный сайт Joomla» мы рассмотрим стороннее расширение, которое поможет упростить процесс перевода.
| Похожие материалы |
|---|
| Автор статьи – Хорошевский Алексей |
|---|
Кандидат технических наук, преподаватель Харьковского национального университета радиоэлектроники, веб-мастер и SEO-оптимизатор с опытом более 15 лет. Специалист по созданию сайтов на Joomla и WebSite X5. Автор научных публикаций, видеокурсов и обучающего контента по веб-разработке и SEO. Ведёт блог и YouTube-канал, где делится своими знаниями и практическим опытом. Предоставляет услуги по созданию, доработке, сопровождению и продвижению сайтов. Подробнее об авторе… Публикации и работа: |
Полезные ссылки:
- Справка Google «Укажите Google локализованные версии своей страницы».

