Мультиязычность сайта средствами CMS Joomla предполагает дублирование структуры контента сайта для каждого языка.
Мультиязычность сайта на CMS Joomla может быть реализована несколькими способами. Один из них - средствами самой системы, без использования сторонних расширений. Такой способ реализации предполагает практически полное дублирование структуры контента сайта для каждого языка.
Предыдущий материал посвященный реализации мультиязычности сайта на CMS Joomla, относился в основном к ЛЮБОМУ способу этой реализации (за исключением, возможно, автоперевода а-ля «Google Translate»). В этой статье опишу особенности построения структуры сайта для реализации мультиязычности именно средствами CMS Joomla.
Но предварительно о ценности такого подхода. Реализация мультиязычности сайта средствами самой CMS Joomla, при определенной дополнительной трудоемкости работы, дает владельцу сайта полный контроль за независимым выводом данных на каждом языке. Что это значит?
При полном дублировании контента сайта каждая страница сайта, на каждом языке, может быть заполнена отдельной информацией (текстом, изображениями) предназначенной для разной аудитории, а так же для каждого языка свои теги title, keywords, description и другие настройки (например дата публикации, индексирование, авторские права, права доступа …). Фактически у Вас на одной площадке несколько независимых сайтов и это дает возможность продвигать раздельно каждый язык, для своей аудитории.
Реализация мультиязычности сайта средствами самой CMS Joomla так же годится и случае если Ваш сайт имеет основное наполнение материалами на одном языке (например русском), но в то же время Вы хотите обратить на себя внимание и аудитории на других языках. В этом случае нет необходимости полностью дублировать контент. На страницы для других языков можно вывести некую приветственную страницу на этих дополнительных языках, чтобы оказать уважение аудитории этих языков.
В этом состоит главное отличие реализация мультиязычности сайта средствами самой CMS Joomla от применения сторонних расширений. Например, при использовании компонента FaLang, в случае если для страницы на основном языке не сделан перевод на другие языки сайта, она будет выведена в неизменном виде (на основном языке).
Меню мультиязычного сайта на CMS Joomla.
На мультиязычном сайте, функционал которого создается средствами CMS Joomla для создания независимой языковой структуры, меню дублируется столько раз, сколько на сайте устанавливается языков.
Дублируются те меню, пункты которых которые будут содержать текст выводимый на разных языках. Например в меню RU есть пункты «Главная», «Контакты», в меню EN это пункты «Home», «Contacts», в меню LV «Sākums», «Kontakti» и т.д. Так же на сайте могут присутствовать меню, доступные для ВСЕХ языков, например меню с пунктами ссылками на социальные сети в виде их логотипов.
В списке пунктов меню мультиязычного сайта, функционал которого создается средствами CMS Joomla появляется два дополнительных столбца - «Язык» с меткой (текстом и флагом) в соответствии с назначенным языком и «Связи» - показывающий установленные для пункта меню связи.
На странице «Менеджер меню: Редактирование пункта меню» мультиязычного сайта, функционал которого создается средствами CMS Joomla, для пункта меню любого типа обязателен выбор соответствующего языка и присутствует дополнительная вкладка «Связи», для связи между собой аналогичных пунктов меню, соответствующих меню «Главная» => «Home» => «Sākums», «Контакты» => «Contacts» => «Kontakti» и т.д.
Отсутствие связей приводит к сбою переключения языков на сайте, как правило с такой страницы происходит переадресация на вышестоящую в иерархии структуры страницу или на главную.
Категории мультиязычного сайта на CMS Joomla.
На мультиязычном сайте, функционал которого создается средствами CMS Joomla создается отдельная структура категорий для каждого установленного языка.
Дублируются все категории сайта. Технически на сайте могут быть и категории доступные для ВСЕХ языков, но практическое их применение на усмотрение пользователя. Например в Категории для ВСЕХ языков могут располагаться Материалы для ВСЕХ языков, если таковые нужны на мультиязычном сайте.
В списке Категорий мультиязычного сайта, функционал которого создается средствами CMS Joomla появляется два дополнительных столбца - «Язык» с меткой (текстом и флагом) в соответствии с назначенным языком и «Связи» - показывающий установленные для категории связи.
На странице «Менеджер категорий: Изменить категорию» мультиязычного сайта, функционал которого создается средствами CMS Joomla, для каждой категории обязателен выбор соответствующего языка и присутствует дополнительная вкладка «Связи», для связи между собой аналогичных категорий. Отсутствие связей приводит к сбою переключения языков на сайте. У категорий, для которых созданы пункты Меню (типа "блог", например) связи могут не создаваться, это будет сделано в самих пунктах меню.
Материалы мультиязычного сайта на CMS Joomla.
На мультиязычном сайте, функционал которого создается средствами CMS Joomla дублируются материалы для каждого установленного языка.
Дублируются все материалы сайта. Технически на сайте могут находится материалы доступные для ВСЕХ языков, которые должны быть расположены в категориях для всех языков.
В списке Материалов мультиязычного сайта, функционал которого создается средствами CMS Joomla появляется два дополнительных столбца - «Язык» с меткой (текстом и флагом) в соответствии с назначенным языком и «Связи» - показывающий установленные для материала связи.
На странице «Менеджер материалов: Изменить материал» мультиязычного сайта, функционал которого создается средствами CMS Joomla, для каждого материала обязателен выбор соответствующего языка и присутствует дополнительная вкладка «Связи», для связи между собой аналогичных категорий. Отсутствие связей приводит к сбою переключения языков на сайте.
Для материалов, вывод которых обеспечен созданием собственного пункты меню (типа "полный вид материала"), связи могут не устанавливаться. Но надежнее для работы мультиязычного сайта связи устанавливать.
Модули мультиязычного сайта на CMS Joomla.
На мультиязычном сайте, функционал которого создается средствами CMS Joomla дублируются практически все модули выводящие информацию на страницы сайта для каждого установленного языка.
В первую очередь дублируются модули выводящие меню мультиязычного сайта. Если модуль вывода меню для ВСЕХ языков (изображения со ссылками на социальные сети) выводится с заголовком, то его так же нужно дублировать для каждого языка.
Дублируются модули типа «HTML-код», содержащие текстовую информацию для каждого языка мультиязычного сайта. Нет необходимости дублировать модули типа «HTML-код», выводимые на сайте без заголовков и содержащие только цифры (например номера телефонов в верхней части страницы) или модули содержащие код (например карту Google Map).
Не дублируются, как правило модули типа «Навигатор сайта» или «Вход на сайт», если они выводятся без заголовка. Так же модули сторонних разработчиков (например для вывода формы обратной связи) могут обладать встроенными средствами перевода и могут быть выведены на страницах любых языков без дублирования.
На странице «Модули» мультиязычного сайта, функционал которого создается средствами CMS Joomla, для модулей соответствующих языков обязателен выбор языка, а метка языка появится в списке Модулей.
Модуль переключения языков мультиязычного сайта на CMS Joomla.
Для переключения языков на сайте, функционал которого создается средствами CMS Joomla используется встроенный в систему модуль типа «Переключение языков», публикуемый для всех языков и на всех страницах сайта.
На вкладке «Модуль» есть несколько настроек специфических для этого модуля, но они не требуют изменения при использовании сайта. На остальных вкладках состав полей аналогичный описанным в статье о модуле «HTML-код»