Joomla 3. Мультиязычность. Многоязычный сайт ч.2. Мультиязычность joomla 3


Joomla 3. Мультиязычность. Многоязычный сайт Первая часть

Сайт будет двуязычным. Языки русский(ru) и английский(en). Joomla 3 у нас уже установлена так, как описано в статье «Установка Joomla 3». В процессе установки можно было сразу включить многоязычность.

Но мы этого не сделали и сделаем это сейчас. Войдём в административную часть сайта и для неё же включим модуль «Multilanguage status». Этот модуль предназначен для контроля настройки мультиязычности, мы будем использовать его, как подсказку. Переходим в «Расширения», «Менеджер модулей».

В левой части окна отфильтровываем модули для панели управления.

Включаем модуль «Multilanguage status» и видим, что в нижней панели вместо ссылки «Просмотр сайта» появилась ссылка «Мультиязычность». Кликаем на этой ссылке и получаем сообщение: «Ваш сайт не является мультиязычным». Что ж, продолжим. Вернём переключатель видимости фильтра менеджера модулей в значение «Сайт», чтобы впоследствии не было путаницы.

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

Отобрались два плагина: «Система - Фильтр языка» и «Система - Подмена кода языка». Включаем оба.

Открываем плагин «Система - Фильтр языка» для редактирования и настраиваем его.

Рассмотрим настройки плагина.

Сохраняем и закрываем плагин. Кликнем теперь на ссылке «Мультиязычность» в нижней панели админки Joomla.

Видим, что процесс пошёл, но есть еще, чем заняться. Во-первых, у нас пока не включен модуль переключатель языков, а во-вторых, у нас всего один язык контента. Язык контента не надо путать с языком сайта или языком админки. Давайте его установим. Переходим в «Менеджер языков» и в левой части окна выбираем «Языки контента». Видим, что английский язык уже есть.

По кнопке «Создать» добавляем новый язык контента. В нашем случае это будет русский. Вкладку «Подробно» заполняем следующим образом:

Давайте разберемся с настройками "Язык контента" подробнее:

Второй вариант. Если языковый пакет уже установлен. Из статьи «Joomla 3 Структура каталогов» мы знаем, что в Joomla существует каталог «language». Он содержит подкаталоги для установленных языковых пакетов. Смотрим, как называется нужный подкаталог.

Теперь установим переключатель языка. Переходим в «Менеджер модулей» и создаём новый модуль.

В появившемся окне выбираем «Переключение языков».

Оставляем настройки модуля по умолчанию. В таком виде он будет отображаться в виде значков флагов.

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

Опять проверим статус мультиязычности.

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

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё статьи о Joomla 3

www.aitishnik.ru

Мультиязычный сайт на Joomla 3

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

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

Чем меньше материалов, категорий, пунктов меню, модулей и других элементов - тем проще и быстрее создать английскую версию сайта.

В Joomla 3 мультиязычность уже включена в стандартные возможности.

Подготовка к мультиязычности

Самое первое что нужно сделать - это провести инвентаризацию сайта. Удалить всё ненужное, всё то что не используется или устарело.

Заодно сразу подумайте, как и где будут располагаться материалы на английском языке. Это будет одна-две категории или будет полная копия существующего сайта, только на английском.

Шаг 1. Создаём язык контента.

Переходим Менеджер расширений - Языки - Языки контента. Создать.

Указываем:

настройка мультиязычности в joomla 3

На вкладке "Метаданные" можно указать мета теги description и keywords для всего сайта, когда он отображается на этом языке. И также можно указать название сайта на этом языке. При переключении языка название сайта будет изменяться.

Шаг 2. Устанавливаем языки для категорий.

Для категорий, которые будут на русском ставим язык - русский. Для категорий на английском - английский.Категории для материалов на английском можно сразу создать.

Шаг 3. Устанавливаем язык для материалов.

Для материалов на русском языке тоже изменяем язык со значения Все на Русский.

Это делаем через пакетную обработку материалов. Т.е. ставим галочки на всех материалах (либо по частям, если материалов много) и жмём вверху пакетная обработка.

пакетная смена языка материалов

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

мультиязычность в joomla 3

Шаг 4. Создаём модуль переключения языков.

Идём в менеджер модулей и создаём новый модуль с типом Переключение языков.

В настройках модуля выбираем:

мульти язычный сайт на joomla 3

Шаг 5. Включаем плагин мультиязычности.

Идём в плагины, фильтруем по типу System.

Находим плагин Система - Фильтр и настраиваем его.

настройки такие:

мультиязычный сайт на joomla 3

Далее включаем плагин "Подмена языка".Он нужен для подстановки языка в htm код страницы

Теперь трюк.

Шаг 6. Создаём "заглушку" меню.

а) Создаём меню, называем как нибудь и в нём создаём какой нибудь пункт меню, я например создал страницу поиска.

Это меню. 

как создать мультиязычный сайт на joomla 3

Это пункт-заглушка в нём, с типом - Форма поиска

мультиязычный сайт на joomla

В пункте меню устанавливаем Язык - Все. Сохраняем и делаем этот пункт главной страницей сайта, кликая по звёздочке напротив.

многоязычный сайт на joomla 3

Шаг 7. Изменяем язык для пунктов меню.

Идём в пункты меню, те которые для русского языка, выделяем все и через пакетную обработку изменяем язык на Русский.

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

 

После смены языка у всех пунктов на Русский, находим тот пункт, который раньше был главной страницей и жмём на звёздочку, снова назначая его главным в Русской версии сайта.

И лёгким движением мыши звёздочка превращается в флажок РФ)

русский и английский язык для сайта joomla

Шаг 8. Создаём новое меню для английской версии сайта.

Его можно назвать как угодно, например MainMenu.

Русское меню у меня переименовано в Главное меню. Это чтобы не запутаться в них.

Далее в английском меню создаём первый пункт, который будет главным в английской версии сайта.Не забывайте указать для него язык - English.

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

После чего вместо звёздочки появится иконка с британским флажком.И после этих манипуляций у вас меню будет такого вида, а в модуле переключения языков будет видно флажки для переключения языков.

английская версия сайта на joomla 3

Далее можете добавлять в английское меню новые пункты.

Но это ещё не всё.

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

Кроме этого в каждом пункте меню нужно установить связи с аналогичными пунктами, но с другим языком.

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

Установить связи достаточно в одной языковой версии меню.Т.е. связать английские пункты с русскими. И потом связывать русские пункты с английскими уже не нужно. Связи уже будут установлены.

мультиязычные связи пунктов меню в joomla

Рекомендации.

Теперь при создании новых элементов: статей, пунктов, модулей не забывайте указывать язык. Если забудете, то элемент будет показываться на обоих версиях сайта.

При редактировании материалов сразу фильтруйте их по языку. Так будет удобнее работать и будет меньше путаницы.

По сути у вас стало две версии сайта. Соответственно и две версии элементов: статей, модулей, пунктов и т.д.

Возможные ошибки.

The requested page can't be found (404) - такая ошибка может появляться если вы создали новые меню для английского языка путём копирования русских пунктов. 

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

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

Если остались вопросы - задавайте в комментариях.

Желаю вам успехов!

С уважением, Олег Касьянов

Сохраните эту информацию к себе, чтобы не потерять:

И подписывайтесь на наш онлайн-журнал.С уважением, Олег Касьянов.

joomlatown.net

Joomla 3. Мультиязычность. Многоязычный сайт Вторая часть

Переходим в «Менеджер материалов» и создаём новый материал. Это будет главная страница для английской версии сайта.

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

По аналогии создаём главную страницу для русской версии. Не забываем указать русский язык.

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

При установке Joomla 3 уже было создано главное меню и его модуль. Это меню не трогаем, оно будет играть роль общего меню. Для того чтобы всё правильно работало нам нужно ещё два меню, по одному для каждого языка. Переходим в «Менеджер меню» и создаём меню для английского языка.

А затем для русского языка

Вот что у нас получилось.

В английском меню (Main Menu (EN)) создаём пункт меню, тип – «Материал» и присваиваем ему материал главной страницы для английской версии. Указываем, что это главная страница и указываем язык.

Производим аналогичные действия с русским меню (Главное меню (RU)). Только выбираем материал главной страницы для русской версии и указываем русский язык.

Но это ещё не всё, надо связать эти пункты меню. Когда устанавливается связь пунктов меню, CMS понимает, что это связанные страницы. И при переключении языка на лицевой стороне сайты, вы попадете не на главную страницу (что весьма раздражает), а на ту же страницу, только на другом языке. И хоть в этой статье рассматривается пример простейшего, одностраничного сайта, читатель должен знать об этой особенности.

Здесь же, в пункте меню для главной страницы русского языка, переходим на вкладку «Связи» и в выпадающем списке выбираем Home.

Сохраняемся. Проверяем мультиязычность.

Всё в порядке. Переходим на лицевую часть сайта.

В заданной позиции видим переключатель языков. Посмотрим английскую версию сайта.

В общем и целом всё, но есть ещё некоторые моменты. Обратите внимание на опубликованные модули в правой части страницы сайта. У модуля «Вход на сайт» при переключении языков соответственно изменяются ссылки и надписи на элементах управления, но при этом не изменяется заголовок модуля. Есть два пути, чтобы исправить это. Первый – можно отключить показ заголовка, если он не нужен и оставить один модуль для всех языков. Второй – сделать дубликат модуля. В первом модуле написать заголовок по-русски и в настройках установить русский язык, а во втором модуле написать заголовок по-английски и установить английский язык. Дубликат модуля сделать очень просто. Заходим в «Менеджер модулей», отмечаем галочкой нужный модуль и кликаем на кнопке «Дублировать» в верхней части окна. Копия модуля будет иметь такой же заголовок, что и оригинал, но к нему в скобках будет добавлена цифра. Если это второй модуль, такой же, как оригинал, то добавится 2, если третий, то 3 и т.д. Копия модуля автоматически будет снята с публикации. Вносим соответствующие изменения в оба модуля, сохраняем, публикуем. Всё!

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

Вот теперь всё в порядке!

Версия для английского языка.

Версия для русского языка

На этом прощаюсь и желаю вам удачи!

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё статьи о Joomla 3

www.aitishnik.ru

Мультиязычность в Joomla 3

В Joomla 3 версии мультиязычность уже встроена и остаётся лишь правильно настроить её и опубликовать необходимые плагины и модули. Сделать это очень просто, по сравнению даже с Джумла 1,5. Главное в этом деле не забыть ничего. Начнём.

Настройка мультиязычности сайта на Joomla 3 базовыми встроенными средствами.

Установка языка

Итак, в первую очередь нужно установить выбранные языки на сайт. Делается это через Расширения» -> «Менеджер языков». Если нет необходимого языка, нужно установить через кнопку слева вверху Install, ищем нужный и инсталлируем. После этого открываем ссылку «Языки контента» (там же) в новой вкладке, чтобы легче было по аналогии настроить новый язык. Поля, отмеченные звездочкой обязательны для заполнения. Все настройки интуитивно понятны. Единственное, что нужно правильно посмотреть тег языка при инсталляции, чтобы не ошибиться в настройках языка контента или посмотреть его в той новой вкладке, что мы открыли.

Создание модуля переключения языков

Расширения» -> «Менеджер модулей» и жмем по кнопочке «Создать». В открывшемся списке выбираем тип модуля «Переключение языков». Естественно, нужно указать ему удобную для пользователей позицию, чтобы она всегда была видна и каждый смог сразу же переключиться на более понятный ему язык. Обычно такие переключатели располагаются вверху страницы справа. Кстати, называется в оригинале этот модуль Language Switcher.

Включение плагина Фильтр языка

Ещё необходимо включить плагин фильтра языков: «Расширения» -> «Менеджер плагинов» -> «Система — Фильтр языка». Именно в его настройках можно удалить префикс языка для тех страниц, язык которых установлен на сайте главным (основным, по умолчанию).

Связывание разных языковых версий материалов

Связываются 2 (или больше) языковые версии одной статьи посредством указания во вкладке Связи (Associations) связываемой странички. Эта вкладка появится при редактировании или создании материала только после того, как будет настроена мультиязычность сайта.

Да, не забудьте теперь каждую страничку верно настраивать, для каждой нужно будет выбрать язык, на котором статья представлена. Кстати, не пугайтесь, если после публикации модуля не видите его работающим на сайте. Нужно ещё немного донастроить контент в админке. Для этого следует все статьи переопределить на нужный язык (массово это сделать можно через кнопку Batch), а далее для каждого языка создать своё меню на данном языке.

Настройка главного меню для каждого языка

И в каждом языковом меню следует сделать свою главную страничку. Главную страничку делать нужно уже при закрытии созданной главной и путём нажатия на звёздочку напротив неё (Home, Главная, Set default). В каждом языковом меню должна быть своя главная по умолчанию. Если всё будет верно настроено, она будет подсвечиваться флагом языка данного меню. Если этого не сделать, флажки во фронт-энде (пользовательской части сайта) не будут выведены для выбора языковой версии сайта.

Успехов в настройке!

lora.in.ua


Prostoy-Site | Все права защищены © 2018 | Карта сайта