Розробка модулів в joomla 2

Ми звичайно хочемо, щоб наш модуль можна було з легкістю перевести на будь-який інший мову. І все що для цього необхідно - це всього лише винести тексти в окремий файл, а не прописувати в коді. Це дасть можливість робити переклад без редагування основного коду, що під силу навіть далекому від програмування користувачеві. Розробники Joomla вже подбали про цю можливість.

Створюємо файл language / en-GB / en-GB.mod_helloworld.ini. для англійської мови

І файл language / ru-RU / ru-RU.mod_helloworld.ini для російського (кодування UTF-8)

Зверніть увагу, що мовні рядки починаються з MOD_HELLOWORLD. MOD - тип розширення (в нашому випадку модуль), HELLOWORLD - назва розширення. Цього правила потрібно дотримуватися, щоб уникнути перетину з іншими мовними файлами.
Щоб забезпечити переведення процесу установки, а також в «Менеджері розширень» і меню, нам знадобитися ще один мовний файл для «Панелі управління»: language / en-GB / en-GB.mod_helloworld.sys.ini і language / ru-RU / ru-RU.mod_helloworld.sys.ini. Важливо розуміти, що ці файли будуть використовуватися в «Панелі управління». Відповідно вони містять набагато менше мовних рядків, але вони все таки необхідні якщо ми хочемо щоб в «Панелі управління» все що пов'язано з нашим модулем було на мові обраним користувачем.
Створюємо файл language / en-GB / en-GB.mod_helloworld.sys.ini. для англійської мови

І файл language / ru-RU / ru-RU.mod_helloworld.sys.ini для російського (кодування UTF-8)

Внесемо необхідні зміни в файл шаблону виведення модуля tmpl / default.php:

Якщо в налаштуваннях модуля не задано вітання, ми просто виводимо вітанні за замовчуванням. Функція JText :: _ ( 'MOD_HELLOWORLD_GREETING_DEFAULT') поверне нам рядок тексту відповідає мові, який вибрав користувач. Якщо такий рядки не знайдеться то, буде братися рядок з мовного файлу для англійської мови, якщо і там її не буде, то повернеться сама рядок (в нашому випадку 'MOD_HELLOWORLD_GREETING_DEFAULT').

Ну і звичайно необхідно внести зміни XML файл опису модуля mod_helloworld.xml

Тут ми додали вказівку, що потрібно скопіювати каталог language (рядок 20). І, замінили всі описи на мовні константи (рядки 3, 14, 29, 30, 31), які вже описані в мовних файлах.

Як бачите, нічого складного в додаванні в модуль можливості переведення на інші мови немає. Необхідно лише дотримуватися деяких правил.

Схожі статті