Комментарии

Настройка многоязычности в Joomla 2.5

Rate this item
(29 votes)

Создать многоязычный сайт на Joomla 2.5 -стало довольно легко, так как эта версия Joomla уже содержит в себе все необходимое. Joomla 1.5, как известно, не поддерживала многоязычность и приходилось пользоваться сторонними компонентами. Я, например, использовал очень удобный компонент JoomFish. На момент написания этого поста, JoomFish для Joomla 2.5 еще не вышла и мне пришлось осваивать родной функционал CMS.

Курс JoomMaster от RadiusPRO

Сначала все кажется довольно просто (на самом деле так оно и есть), но все же подводных камней не избежать. Разработчики достаточно хорошо прокомментировали как настраивать плагин и модуль переключения языков, НО... они забыли напомнить, что  у Joomla может быть только один пункт меню по умолчанию (контроллер по умолчанию). Что это значит и при чем здесь этот пункт - будет понятно дальше.

Допустим,  у нас есть сайт с неким количеством контента, имеется два меню (верхнее и боковое), несколько модулей, которые содержат определенный (не важно какой) функционал. Наша задача - сделать его двуязычным, для примера англо-русский.Курс JoomMaster от RadiusPRO

Запомните! Прежде чем делать многоязычность необходимо установить языковые пакеты (локализации) тех именно языков, которые будут использоваться. Невозможно сделать турецко-русский сайт, если Joomla не имеет турецкой локализации - система будет искать то, чего нет.

Итак начнем... Устанавливаем Joomla, по умолчанию мы имеем только английскую локализацию.

1. Устанавливаем Русскую локализацию. Для этого заходим в Extensions->Extension Manager, и загружаем необходимый (в нашем случае русской) пакет локализации.

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeIdde8ff35c87

Пакет локализации загружен. Теперь у нас на сайте можно использовать 2 языка (RU/EN). Предположим, что языком по умолчанию у нас станет русский (отталкиваюсь от того, что чаще всего английский - второй язык, если конечно мы не в Англии Смеюсь).

2. Настраиваем языки. Идем в Extensions->Language Manager  и видим наши языки

 

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId1a09ff43c5

Здесь ВАЖНО понимать - что для чего настраивается.

Всего 3 настройки - язык для админки, язык для сайта  и язык контента, первые две определяют языки по умолчанию  для админки и сайта. В админки все будет видно сразу, а вот на сайте - только если компонент использует языковые константы и форматы (такие как "читать далее", системные ошибки и формат даты ). Языки сайта и админки могут отличаться, если это нужно.

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeIdd675cdcfef

Третья же настройка очень важна для решения нашей задачи. Здесь определяется Код языка для URL, Префикс изображения, Тег языка.

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId1aa87582f4

Код языка для URL -  будет добавляться в адресную строку при языковом переходе.

Префикс изображения - нежен для выбора правильной картинки (флага языка), дело в том, что изображения флагов имеют формат en.gif, ru.gif и т.д. Изображения хранятся по адресу корень_сайта/media/mod_languages/images/.

Тег языка - по сути - это названия всех языковых файлов локализации (ru-RU, en-GB и др.).

3. Включаем плагин (у нас админка уже на русском) Расширеия->Менеджер плагинов->Система - Фильтр языка.Курс JoomMaster от RadiusPRO

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId494a57b6fc

Сейчас нас интересуют настройки плагина (в правой части).

Выбор языка для новых посетителей: язык сайта - значит пользователь увидит тот язык, который МЫ ему предложим по умолчанию, настройки браузера - значит БРАУЗЕР пользователя "дернет" тот язык, который в нем стоит по умолчанию. Правильно выставлять настройки браузера, но мы пока выставим язык сайта. Вообще, данный выбор зависит от задачи....

Автоматическая смена языка - ставим "да".

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

4. Готовим структуру сайта и контент. Весь контент, модули, пункты меню, собственно меню - все у нас будет в 2-х экземплярах. Соответственно версиям (RU/EN) выставляем язык отображения. Так, если язык выбран - материал, модуль, пункт меню будет отображаться только в указанной языковой версии.

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeIde4b0db24e6

При создании меню ВАЖНО создавать их по одному экземпляру для каждого языка. Это необходимо для корректной настройки связей.

Вот что должно получиться:

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId0658f748d1

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

У нас уже было 3 меню, мы создаем еще 3 точно такие же, но уже на английском языке. Все эти меню имеют идентичные пункты на своих языках (соответственно они ссылаются на материалы и категории своей языковой локализации). Всем пунктам меню необходимо присвоить нужную локализацию (иначе в 9-м пункте ничего не получится).

Как известно Алиасы пунктов меню не могут повторяться, однако в случае многоязычности это позволительно. Алиасы "зеркальных" меню должны быть идентичны. Системные же имена (задается при создании в поле  Тип меню) самих меню должны быть уникальными, для удобства я предлагаю снабдить их префиксами -en, -ru.

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

7. Создаем дефолтное меню - это обязательное меню с одним пунктом назначенным по умолчанию, причем модуль для него назначать не надо, оно нигде не должно отображаться.

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId4ef3d82e44

Главная задача дефолтного меню - назначение контроллера по умолчанию. Поэтому создаем там один единственный пункт и назначаем его главным.

8. Настраиваем языковое переключение. Плагин у нас уже включен, так что создаем модуль. Нам нужен модуль  "Переключения языков":

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId8c9d25421d

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

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

Идем дальше...Курс JoomMaster от RadiusPRO

9. Настраиваем локализации. Выбираем (в нашем случае) Главное меню->Главная и назначаем ее пунктом по умолчанию!!! Как говорилось выше у Joomla не может быть 2 главных меню, но если все сделано правильно - то вместо звезды отобразится флаг языка.

 

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId97f1eba8f5

Соответственно в Main menu назначаем пункт меню Home по умолчанию. Вместо звезды получаем Британский флаг.  Теперь при выборе меню мы можем видеть, что 2 меню у нас имеют маркеры языковых локализаций. С другими меню этого делать не надо!

Если вместо флагов появляется звезда, то проверьте выбран ли "Язык" меню!

10. Настраиваем связи. Каждый пункт меню нужно связать с  его "зеркалом" в другой локализации. Связи настраиваются в правой панели настроек в пункте Связи пункта меню (этот пункт появляется только после включения плагина Система - Фильтр языка и если в нем  выбран  параметр Связь пунктов меню). Если данный пункт отсутствует проверьте настройки плагина (п.3)!

 

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId810ebc44ba

Связи настраиваем только в одной локализации, причем в той, которая не стоит по умолчанию. У нас локализация по умолчанию - русская, поэтому работаем только с английскими "зеркалами". После назначения в них связей автоматически проставятся связи и в русских "зеркалах".

Ну вот, если все сделано, то модуль переключения языков отобразится и будет работать. Осталась самая малость.

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeIda6f80eff56

11. Делаем привязку модулей.  Как обычно в Joomla модули отображаются там, куда их привязали. Однако не забываем, что у нас кроме пунктов меню есть еще и языки.  Модули так же можно привязывать к локализации.

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeId95330ab31a

Что касается модулей, тут важно определить как и где они будут отображаться. В отличии от пунктов меню модули имеют более гибкую настройку и жесткая привязка к языку для них не обязательна. Модуль можно привязать к определенному или к нескольким пунктам меню, и определить отображение только в одной локализации,  или же привязать ко всем и отображать в любой локализации.Курс JoomMaster от RadiusPRO

View the embedded image gallery online at:
http://radiuspro.net/item/13-joomla-multylang#sigFreeIdea392ecda9

Например у нас модуль переключения языков отображается везде и на всех языках, т.к. он не имеет заголовка. Если этот же пункт предусматривал бы наличие заголовка, то пришлось бы создавать для него зеркало и привязывать отображение к пунктам меню и к языку. А вот для  правого меню у нас создано 2 модуля в одной и той же позиции. Для модуля "Правое меню" назначаем язык - Russian(RU) и (на всякий случай) назначаем привязку к пунктам меню только в "русских зеркалах", соответственно для модуля "Right menu" язык будет English(UK) и привязка к "английским зеркалам".

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

Вот вроде бы и все. Жду комментариев.

Read 88672 times

Комментарии   

0 #195 aOwencienitef 12.11.2019 15:02
Keywords-Club.ru - Как в AdWords исключить запрос.
Инструмент Moz также предоставляет данные по доменам, которые показывались в выдаче по выбранному ключевому слову и последние упоминания этих ключевых слов. Как и другие вышеперечисленные сервисы, WordStream выдает нам 100 запросов бесплатно. Ключевые слова — это обязательные словосочетания или отдельные слова, которые должны быть в создаваемом тексте. Не знаю, но это так!!! И вот какая картина сложилась. Кентауский Канал Статья сейчас актуальна?

Источник: Как смотреть статистику по «Not Provided»

Теги: ключевые слова расизм , запрос ключевых слова , ключевое слово это в русском языке , ключевые слова для сайта рефератов , значение синтаксиса в ключевых словах , ключевые слова росстат , как создать ключевые слова на вторую страницу в конструкторе юкоз , ключевые слова в стихотворении на холмах грузии , анализ статьи ключевые слова , ключевые слова для информационный сайт
Цитировать
0 #194 BaradVIFS 03.11.2019 22:08
30 Nov 2018 Whether you want to know how to get rid of scars on your legs or other areas, heres Acne scars and chickenpox scars fall under this category. Second- and third-degree burns are more severe and often require medical care. . aad.org/public/skin-hair-nails/injured-skin/wound- care; Rabello FB, et al.
how to get rid of acne scars
Цитировать
0 #193 Justineagew 03.11.2019 05:23
http://mysite.ru
Цитировать
0 #192 KoLyCom 25.10.2019 02:48
Miami University of Ohio off campus college student rental apartments. CKC Rentals is the best choice in housing for multi-tenant units and providing
Low income housing college students
Цитировать
0 #191 KoLyCom 24.10.2019 00:20
Student Success: Read about students who have achieved success at COCC. professional development, youth programs and small business development.
College housing near me: http://housingforcollege.cf/college-housing-near-me/1/
Цитировать
0 #190 FukoKice 01.10.2019 09:53
Dosage. – Adult: one injection of 2.5 mg. Subsequent doses, if needed, should be promethazine, ritonavir (increased plasma concentrations of haloperidol);
haldol im
Цитировать
0 #189 ToriRew 30.09.2019 02:07
Why Does Your Face Become Flushed? Your face become flushed when blood rush to the blood vessels on the surface of the face. Know its major causes and find out the best treatments to rid it. Sudden, unexplained reddening of the skin can be extremely emba
How to get pregnant really fast and easy
Цитировать
0 #188 JoniMiz 21.09.2019 09:43
Since 1932, Gerber plumbing has been manufacturing professional bathroom, kitchen, and commercial plumbing fixtures. View all products and finishes online.
Bathroom sink drain leaking around threads: http://sinkfaucets.cf/art/bathroom-sink-drain-leaking-around-threads1/
Цитировать
0 #187 MikoDunk 20.09.2019 03:52
Comprehensive long‐term safety of adalimumab from 18 clinical trials in adult patients with moderate‐to‐severe plaque psoriasis British Journal of Dermatology, 2019 Jan;180(1):76-85 2019年2月
Psoriasis in children and diet
Цитировать
0 #186 Villadom 12.09.2019 21:54
66% of people say that a persons class affects their . across classes, evident in key measures of life chances ranging from educational attainment to health subjective social class – nearly half of the British population is reticent to do so.
How does social class affect people's lives
Цитировать
0 #185 Craftval 07.09.2019 16:01
Includes: 1TB Xbox One S console, wireless controller, full game download of Minecraft, Minecraft Starter, and Creators Pack, 1,000 Minecoins, 14-day Xbox Live Gold and 1-month Xbox Game Pass trial. 1,000 MINECOINS: Use them to get maps, skins, textures packs and more from the in-game Marketplace!
casas minecraft
Цитировать
0 #184 Larryhousy 04.09.2019 10:24
pharmacy technician online courses prescription drugs online tricare online pharmacy
Цитировать
0 #183 JosephBotly 03.09.2019 03:36
trust pharmacy online rx pharmacy online legal online pharmacy
Цитировать

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


Защитный код
Обновить