Русификация расширений Joomla (компонентов, модулей, плагинов).

Русификация расширений Joomla - урокиДоброго времени суток, уважаемые пользователи сайта Max-Joomla.ru. В данном уроке мы разберемся в том, как русифицировать расширения Joomla, а если точнее - вы узнаете как перевести расширения на любой нужный вам язык. В уроке будет показано 3 способа русификации компонентов, модулей, плагинов Joomla:

1) Переопределение констант
   2) Русификация уже установленных расширений
   3) Полная русификация расширений Joomla

Где находятся файлы локализации Joomla и ее расширений

  • Для административной области сайта, локализации можно посмотреть по следующему пути - ваш сайт/administrator/language/ru-RU (здесь лежат все файлы русской локализации).
  • Для внешней части сайта (видимой для посетителей) - ваш сайт/language/ru-RU.

 

В самих расширениях Joomla - все языковые локализации, так же лежат в папке "language", которая в свою очередь может находится и в другой папке, например "site" или "administrator" (или в обеих, соответственно для внешней части сайта и для административной). Что бы посмотреть на какие языки переведено расширение, нужно открыть архив расширения, найти папку "language" и открыть ее. Далее вы увидите там языковые пакеты, например: ru-RU - русский язык, en-GB - английский, de-DE - немецкий и так далее.

Открыв например английский языковый пакет (en_GB) расширения, вы можете увидеть несколько файлов:

языковые пакеты расширений Joomla

  1. en-GB.mod_dn.ini - языковый файл расширения (в нашем случае, наше расширения - модуль, mod - модуль, com - компонент, plg - плагин и так далее). 
  2. en-GB.mod_dn.sys.ini - системный языковый файл, чаще всего он используется для - админ-панели, перевода названия расширения или перевода меню (настроек). Обратите внимание размер файла чуть менее предыдущего - в основном все тоже самое, чуть менее длинный код перевода.
  3. Заглушка - обеспечивает некоторые функции по безопасности в Joomla. Такая заглушка, должна быть в каждой папке.

 

Если с теорией все понятно, давайте приступим непосредственно к практике.

Как русифицировать расширение Joomla или его отдельную часть

Я покажу вам три способа русификации расширений и каждый можно использовать в отдельных случаях:

  1. Переопределение констант - данный способ подходит, если нужно русифицировать несколько слов или фраз из расширения, при этом вам не нужно открывать файлы ядра Joomla или файлы расширения, все делается из админ-панели сайта.
  2. Изменение английского (или другого) языкового пакета в корневой папке "language" - данный вариант подходит, если расширение которое нужно русифицировать, уже установлено на ваш сайт. Можно русифицировать - только необходимый текст.
  3. Полная русификация расширения - под этим понимается, создание русского (другого нужного вам языка) языкового пакета и изменение файла .xml нужного расширения. Данный метод отлично подходит - если вы собираетесь выложить русифицированное расширение в общий доступ.

 Перевод расширений joomla с помощью "Переопределения констант". (Способ 1).

Как я уже отметил выше, данный способ подходит если вы хотите перевести несколько слов или фраз из расширения, к тому же вы вряд ли сможете изменить что то в админ-панели (допустим в настройках модуля). Этот способ более подходит - для изменения во внешней части сайта (frontend). Пример:

Пример для JComments

У меня есть заголовок "Comments" для комментариев компонента JComments. Я хочу сменить название заголовка, допустим на - "Добавить комментарии".

Что бы изменить заголовок с помощью "Переопределения констант", на необходимо зайти в админ-панель -> "Расширения" -> "Менеджер языков" -> "Переопределение констант" -> "Создать".

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

значения и контсанты

Так как нам известно только "Значение", то мы выбираем пункт "Значение", далее вводим наш текст "Comments" и нажимаем найти. В результатах поиска отобразится константа отвечающая за наше значение (может случиться что констант с одинаковым значением будет несколько, выбрать правильное вам поможет интуиция Подмигиваю). Нажимаем на константу - после чего происходит автоматическое заполнение полей "Языковая константа" и "Текст".

значения и константы, изменение поле текст Изменяем название в поле "Текст" - в нашем случае на "Добавить комментарии!!!" и нажимаем "Сохранить". Результат на картинке ниже:

Измененная надпись заголовка

Примечания: все изменения проведенные с помощью переопределения констант, не будут затронуты в случае обновления расширения; после того как вы будете переопределять константы, данные о этих изменениях будут хранится по пути - ваш сайт\language\overrides и ваш сайт\administrator\language\overrides (для сайта и админ-панели).

Русификация расширений Joomla, с помощью изменения файла языкового пакета, в корневой папке "language" или "administrator". (Способ 2).

Данный способ больше всего подходит, если вы хотите русифицировать уже установленное расширение Joomla. Все языковые пакеты установленных расширений, находятся в корневой папке "language" или "administrator -> language". Чаще всего языковые пакеты плагинов Joomla - размещаются в папке "administrator", а модули и компоненты в папке - "language", но могут быть и исключения. Давайте рассмотрим на примере:

Пример:

У меня установлен плагин - "JComments Avatar", нужно русифицировать настройки.

Русификация плагина JComments - Avatar

Так, как мы хотим русифицировать плагин, то мы должны искать его языковый пакет, по следующему пути - "корневая папка вашего сайта" -> "administrator" -> "language" -> "en-GB" и ищем наш файл -                                en-GB.plg_jcomments_avatar.ini. Теперь нам нужно открыть файл и изменить язык настроек плагина. Советую пользоваться программой Notepad++, но можно и использовать обычный "блокнот".

Русификация плагина JComments - Avatar

Обратите внимание - файл языкового пакета, состоит из констант и их значений. Изменять нужно именно значения (слова которые находятся между двойными скобками). Если вы хорошо знаете английский, можно переводить слова значений сразу, если нет - то воспользуйтесь онлайн переводчиком.

 Русификация - JComments Avatar

После перевода значений, сохраняем файл и смотрим результат:

Результат перевода языкового пакета, для плагина JComments Avatar

Как видите, русифицировать установленное расширение Joomla - очень просто и довольно быстро.

Примечания:

  • Если вместо "значений" у вас вылазят "кракозябры" - проблема в кодировке. Измененный языковый файл, должен быть сохранен в кодировке - "UTF-8 (без BOM)".
  • Если вместо "значений" у вас показываются "константы" (например - PLG_JCOMMENTS_AVATAR), то вы скорее всего допустили пунктуационную ошибку - например, удалили случайно двойную скобку или знак равно - перепроверьте файл.

Полная русификация расширений Joomla. (Способ 3).

Данный способ применяется - если нужно русифицировать расширения, до его установки на сайт. Дальше уже русифицированное расширение можно выкладывать в общий доступ, всем желающим.

Что бы русифицировать расширение данным способом, нам необходимо:

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

 

Рассмотрим на примере выше рассмотренного плагина - JComments Avatar:

Распаковум наш архив с расширением Joomla - в нашем случае, это - plg_jcomments_avatar_j25_v4.1.2.zip.

Распаковуем архив с расширением

Как видим, архив расширения содержит всего 4 файла. Для русификации нам необходимо 2:

  • Папка "language" - содержит все языковые пакеты расширения. Данная папка может находится и в другой папке, например "admin", "site". В папке "language" мы создадим еще одну папку (ru-RU), где будет располагаться наш языковый пакет (ru-RU.plg_jcomments_avatar.ini).
  • Файл "avatar.xml" - файл отвечающий за описание расширения. Данный файл может называться по разному, но всегда находится в корневой директории архива и имеет расширение .xml. В данный файл мы добавим одну строчку кода.

 

1) Открываем папку "language" - там мы увидим все папки отвечающие за языки расширения. В нашем случае там только одна папка en-GB, открываем папку и видим файл en-GB.plg_jcomments_avatar.ini (в папке может быть и второй файл с окончанием sys.ini - системный языковый пакет). Далее копируем файл en-GB.plg_jcomments_avatar.ini.

Создаем в папке "language" - папку "ru-RU" куда и вставляем скопированный файл. Переименовуем файл в            ru-RU.plg_jcomments_avatar.ini. Далее открываем файл программой Notepad++ и изменяем "значения" на русский язык. Сохраняем и не забываем проверить кодировку - UTF-8 (без BOM).

 2) Открываем файл "avatar.xml", находим теги отвечающие за язык расширения - <languages>, </languages> и вставляем между ними строку с кодом отвечающим за русский языковый пакет, см. изображение ниже:

Вставляем строку с кодом отвечающим за русский языковый пакет

Как видим, нужно скопировать строку отвечающую за английский языковый пакет и изменили в ней "en-GB" на "ru-RU". Все, сохраняем файл avatar.xml, потом запаковуем все файлы расширения в архив и наше русифицированное расширение готово.

P.S. Если остались вопросы или дополнения к уроку, то пишем в комментариях. Надеюсь урок будет вам полезный и интересный.


Используйте кнопочки - буду очень благодарен!!!

Комментарии   

Василий
0 # Василий 14.10.2016 12:20
Все сделал как автор написал. в момент правки периодически проверял как отрабатывает замена языка. Все было хорошо, но потом вдруг стал отображаться только англиЦкий язык. Помогите
Ответить | Ответить с цитатой | Цитировать
Елена
0 # Елена 14.08.2016 10:00
Спасибо, очень помогли!
Все очень четко и понятно.
Ответить | Ответить с цитатой | Цитировать
unsubtika1974
0 # unsubtika1974 19.04.2016 16:03
да да да ща поглядим Оцените пожалуйста мой сайт http://seo-yes.ru
Ответить | Ответить с цитатой | Цитировать
cesslandmiddly1970
0 # cesslandmiddly1970 22.03.2016 14:38
автора. )) Добавила ваш блог в закладки, стала постоянным читателем :) Процитировал вас на моем сайте http://cpnal.ru
Ответить | Ответить с цитатой | Цитировать
Александр
+2 # Александр 31.12.2015 15:03
Спасибо. Очень толково. Вы прирожденный просветитель.
Ответить | Ответить с цитатой | Цитировать
Imon
0 # Imon 01.06.2015 23:26
Как поступают умные люди с англоязычными шаблонами?
Хотя бы в пользовательской части сайта.
Ответить | Ответить с цитатой | Цитировать

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


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