Главная » Joomla » Настройка мультиязычности стандартными средствами CMS Joomla 2.5/3.0

Настройка мультиязычности стандартными средствами CMS Joomla 2.5/3.0

В сегодняшней статье хотелось бы затронуть еще один немаловажный момент – создание сайта на разных языках. Когда это необходимо? Во-первых, такой подход часто используется для сайтов компаний, которые хотят продвигаться как по русскоязычному сегменту так и, например на украинском или английском языках.

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

CMS Joomla, позволяет нам реализовать различные языки на сайте несколькими способами. С версии Joomla 2.5 в данной CMS предусмотрена встроенная мультиязычность, но говорить об удобстве ее использования еще рано, поскольку на данный момент, лично для меня не очень удобно. Хотя небольшой проект на 10 -20 страниц вполне можно настроить с помощью этой встроенной возможности и не перегружать систему дополнительными модулями.

Другим решением, которое я наиболее часто использую, является компонент Joom!Fish. Его установку и настройку мы рассмотрим позже.

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

Давайте сделаем наш сайт на трех разных языках: русский (по умолчанию), украинский и английский.

Для того чтобы мы могли дальше работать нужно установить украинский и русский язык, так как за умолчанием в Joomla установлен английский. Детально об установке пакетов локализации я писал в этой статье. Там нет ничего сложного, на примере вы можете почитать, как установить русский язык, а украинский устанавливается аналогично. Итак, установив все необходимые локализации, мы переходим во вкладку «Расширения» — «Менеджер языков».

Вы должны четко понимать для чего предназначены вкладки:

«Языковые пакеты сайта» — задается язык, который используется для определения переменных на сайте, то есть на фронтальной части сайта;

—  «Языковые пакеты управления» — задается язык панели управления. Тут стоит понять, что для этого и предыдущего пункта языки могут быть разными, тут уже каждый подстраивает под себя.

«Языки контента» — вкладка, с которой мы будем работать для настройки мультиязычности.

multi

Шаг 1

Перейдя во вкладку «Языки контента», мы видим, что там не добавились остальные языки, все потому, что их нужно забивать в ручную. Для этого сверху нажимаем кнопку «Создать» и выставляем следующие настройки:

— для русского языка

multi2

— для украинского языка

multi3

Шаг 2

Далее переходим в раздел «Расширения» — «Менеджер плагинов», находим плагин «Система – Фильтр языка» и публикуем его.

multi4

Также зайдя в настройки, этого плагина вы можете выставить, по какому принципу пользователю будет выбираться язык сайта. Для того чтобы было лучше понятно, я приведу пример. Выбрав опцию – «Настройки браузера», пользователю будет предоставляться тот языковый пакет сайта, который предусмотренный его браузером по умолчанию. Я всегда выставляю значение в «Язык сайта», например, русский, он будет отображаться для всех посетителей, а по желанию они смогут его сменить.

multi5

Также, вам обязательно нужно выставить значение «Связь пунктов меню» в «Да». Если не поставить этот параметр и не связать пункты меню между собой, то пользователь при смене языка будет перенаправляться на главную страницу. Как связать пункты меню между собой мы рассмотрим ниже.

Шаг 3

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

multi6

multi7

У вас должно получиться следующее:

multi8

multi9

multi10

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

Шаг 4

Работаем с меню. Мы уже с вами создали три меню в разделе «Меню» — «Менеджер меню». Теперь давайте их заполним пунктами меню, которые относятся к их языковой локализации. Например, создадим пункты меню под английский язык. Для этого переходим в:

multi11

И нажимаем «Создать пункт меню».  Здесь не забывайте указать «Язык» и выбрать правильный материал. Смотрите на картинке ниже.

multi12

Тут можно добавить еще один не маловажный факт. Как вы знаете в CMS Joomla нельзя создать пункты меню с одинаковым алиасом, но именно при реализации мультиязычности это правило не действует и вы можете создавать связные пункты с одинаковыми алиасами.

Шаг 5

Связываем пункты меню между собой. После того как вы создали все пункты меню на разных языках давайте их свяжем между собой. Для этого наживаем на пункт меню и справа, в его настройках выбираем вкладку – «Связи пункта меню». На скриншоте ниже, я пример подвязки пункта меню.

multi14

Такую операцию стоит проделать для каждого из пунктов.

Привязав пункты меню, идем в «Расширения» — «Менеджер модулей» и задаем для модулей языковое меню. На картинке думаю все будет понятно.

multi22

Шаг 6

Создаем дефолтное меню (или как его еще называют меню по умолчанию). В нашем случае это будет Main Menu и в середине него создаем один пункт меню, у меня он ведет на главную. Основное что нужно сделать – это назначить этот пункт по умолчанию. Пример на рисунке ниже.

multi15

multi16

Модуль под это меню создавать не нужно!

Шаг 7

Подключаем модуль переключения языков на Joomla. Для этого идем в раздел «Расширения» — «Менеджер модулей» и нажимаем «Создать».Из списка выбираем «Переключение языков»

multi17

и делаем следующие его настройки. Только позицию указываем ту, которая нужна вам.

multi18

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

Шаг 8

Задаем дефолтные пункты для всех меню. Я покажу на примере английского меню.

multi19

Для того чтобы появился флаг, вам просто нужно клацнуть по звездочке.

Проделываем такие операции для трех локализаций и если вы все правильно делали, то увидите картинки флагом при наведении на раздел «Меню».

multi20

Если вы все это правильно повторили то я вас поздравляю! Вы настроили мультиязычности стандартными средствами Joomla 2.5.

Я думаю теперь вы понимаете почему я говорил, что этот метод не очень удобен. В следующей статье я расскажу вам как настроить компонент Joom!Fish. Обещаю, там все будет намного проще. Подписывайтесь на обновления моего блога.  И оставляйте свои комментарии.

10 комментариев

  1. А материалы в joomla 2.5 можно связать? Если да, то как?

  2. Материалы связываются без проблем, если Вы имели в виду подвязку с различными языками. В Шаге 5. Я об этом говорил и на изображении показал как это сделать.

  3. Спасибо большое за статью!
    Все работает 🙂
    Хоть и трудоемко жжуть.

  4. Огромное спасибо за статью!!! Самое главное всё понятно, мультиязычность настроила с первого раза!!! И впредь буду читать статьи вашего блога!

  5. Отличная инструкция!

  6. Да, было не легко, но я это сделал. Спасибо за урок.

  7. Здравствуйте!Делала мультиязычность на сайте по описанной выше информации, только проблема в том, что ссылки для продвижения не индексируются..

  8. Спасибо за инструкцию!
    Подскажите как вывести ukr язык тоже, т.к. только отобразился рус язык?

    Спасибо!

  9. Огромное тебе спасибо! Просто выручил с этими гадскими значками стран. В жизнь бы не догадался, что они в меню включаются.

  10. Отлично! Как раз то что нужно.
    Большое спасибо!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *