Новая версия Joomla имеет большое количество полезных нововведений, среди которых - функция создания сайта с поддержкой нескольких языков. Если вы собираетесь продвигать свои товары или услуги не только в своей стране, но и за рубежом, то вам просто необходимо иметь возможность перевода сайта на другой язык. Благодаря обновленной системе, создание многоязычного сайта через Joomla 2.5 становится реальным и достаточно простым. Единственная сложность, которая может возникнуть - это перевод контента.
Первым делом, следует установить необходимые языковые пакеты через Менеджер расширений. Установленные языки можно затем посмотреть в Менеджере языков.
Затем нужно убедиться, что необходимые языки присутствуют на вкладке Языки контента. Если язык отстутвует, то его необходимо создать, нажав иконку Создать.
Плагин Фильтр языка
Для полноценной работы многоязычного сайта необходимо включить плагин Фильтр языка, который можно найти в Менеджере плагинов: Система - Фильтр языка. Плагин имеет свои параметры:
- Выбор языка для новых посетителей - способ определения языка: по умолчанию или определять язык браузера
- Автоматическая смена языка - при изменении языка сайта пользователем, произойдет смена языка
- Связь пунктов меню - для включения механизма связей пункта меню с различными языками
- Удалять префикс языка по умолчанию - например mysite.com/ru/ - для удаления /ru/ должно быть включено формирование ЧПУ
- Добавлять мета-тег 'alternate' - к связанным пунктам меню будут добавлены к заголовкам ссылки rel="alternate", которые сообщают браузеру о различных языках
При включении пункта Связь пунктов меню, при создании пункта меню, появляются дополнительные настройки:
Здесь устанавливается связь языков с пунктами меню других языков.
Используя плагин Фильтр языка, должен обязательно быть включен модуль Переключатель Языка.
Модуль Переключатель языка
Для создания модуля - перейдите в Менеджер модулей и нажмите иконку Создать. После создания модуля выберите позицию для него и сделайте доступным на всех страницах. Далее можно перейти к настройкам его параметров:
- Начальный/Заключительный текст - указать тексты, которые будут доступны перед/после выбора языков
- Включить выпадающий список - если включить, то пункты ниже будут игнорироваться
- Включить изображения флагов - требуется ли показ флагов стран
- Показывать строкой - при активации языки будут показаны в одной строке
- Активный язык - если Да, то класс lang-active будет присвоен активному языку
- Полные названия языков - использовать или нет полные названия языков
Пример создания многоязычных страниц
Для того, чтобы модуль работал нужно создать отдельные меню, в которых пункты будут иметь различные между собой языки. А также одному из пунктов, нужно присвоить главную страницу.
Таким образом, для создания страницы сайта на английском языке, делаем следующее:
- Создаем материал, в котором выбираем язык - English (UK)
- В новом меню нужно добавить пункт, который обозначить по-умолчанию и установить для него язык - English (UK)
- Точно так же создать в другом меню ещё один пункт, которому будет присвоен язык - Russian (RU)
Если у вас не отображаются флаги в модуле перепроверьте всё:
- Активны ли языки во вкладке Менеджер языков - Языки контента
- Включен ли плагин в Менеджере плагинов - Фильтры языка
- Активирован ли и привязан ко всем страницам модуль Переключатель языка
- Привязаны ли языки к пунктам меню и являются ли они пунктами по умолчанию
Любой зарегистрированный пользователь может изменить язык сайта. Для этого ему нужно перейти в свой профиль и в пункте Язык сайта из выпадающего списка выбрать нужный.
Комментарии
Для адресной строки префикс убирается, и выглядит так:
www.example.com/en/ - английская страница
www.example.com/ - русская страница
но для вывода rel="alternate" префикс "/ru/" остается (
Этот плагин не верно обрабатывает параметр “Добавлять мета-тег ‘alternate’ и верно выводит все URL только на странице дефолтного языка, а на всех остальных страницах альтернативного языка в rel=”alternate” оставляет этот префикс /ru/.
Как это исправить?
Выходит, что страницы связаны не верно, ибо должны ссылаться друг на друга ((, но с перфиксом не выйдет.
Но вот когда добавляю казахский в языки контента, - ругается:
Сохранить не удалось из-за ошибки: Обнаружен язык контента в котором уже используется выбранный Код языка для URL
В чем может быть проблема? Кто знает?
Посмотрите в менеджере языков - языки контента. Правильно ли прописан Тег языка? Должен быть как в папке language
Леонид, подскажие пож . как вы справились с этой проблемой.
А в смысле связать материалы? Можете показать пример такой реализации?
Что не так?
Проверьте еще раз все, что именно проверить - написано в конце статьи
Создал материал - текст, как при смене иконки рус-англ. сделать. чтобы переводилось?