В данном руководстве вы узнаете, как установить русский язык (осуществить русификацию сайта) на Joomla 3, а также об особенностях установки русского языка для сторонних расширений и о переопределении языковых констант.
Русский язык для ядра Joomla
Ядро Joomla (админка, плагины, модули и компоненты из коробки) предусматривает наличие официального перевода на языки практически всех стран мира, в том числе и на русский.
Установка русского языка при инсталляции CMS
Последние версии Joomla предусматривают установку русского языка при инсталляции CMS из коробки. На последнем этапе установки Joomla предлагается выбрать язык:
Установка русского языка из админки
Если же каким-то образом ваш сайт на Joomla использует английский (или другой, но не русский) язык во внешнем интерфейсе и (или) админке, то установить русский язык можно следующим образом (на примере английского языка):
- переходим в Extensions → Languages(s)
- жмем Install Languages
- находим русский язык (через поле поиска или в списке) и жмем Install
- на той же странице появится оповещение об успешной установке языка
- возвращаемся в Extensions → Languages(s)
- для применения русского языка во внешнем интерфейсе сайта:
- в выпадающем списке в фильтре должно быть выбрано значение Site
- отмечаем Русский из списка установленных языков
- жмем Default
- для применения русского языка в админке сайта:
- в выпадающем списке в фильтре должно быть выбрано значение Administrator
- отмечаем Русский из списка установленных языков
- жмем Default
Установка языкового пакета
Если по какой-то причине русский язык на Joomla не устанавливается через админку, то есть еще один способ: скачать файл языкового пакета и установить его через менеджер расширений.
Также русский язык можно установить вручную:
- скачать архив языкового пакета;
- предварительно распаковать;
- создать папки /ru-RU/ в папках сайта /language/ и /administrator/language/, если они еще не созданы;
- скопировать файлы языкового пакета следующим образом:
- admin_ru-RU → administrator/language/ru-RU
- site_ru-RU → language/ru-RU
После этих действий все элементы панели управления сайтом будут переведены на русский язык. Если же в лицевой части сайта некоторые (или все) элементы останутся на предыдущем языке, то это значит, что русский языковой пакет не включает перевод этих элементов (разработчики шаблона не позаботились об этом). Выход один: переопределение констант из файла с английским переводом (Расширения → Языки → Переопределение констант).
Русский язык для сторонних расширений
Необходимо понимать, что далеко не все сторонние расширения имеют русский языковой пакет в дистрибутиве, но если он имеется, то после установки расширения его административная часть и элементы во внешнем интерфейсе сайта будут на русском языке, если он установлен по умолчанию для всего сайта.
Есть расширения, для которых русский языковой пакет можно скачать и установить отдельно (например, Akeeba Backup).
Если же русский язык не предусмотрен разработчиком расширения, то, как правило, с отсутствием перевода администраторской части данного расширения можно смириться, но если оно применяется в лицевой части, то желательно перевести необходимые константы.
Для этого потребуется открыть файл с языковым пакетом для родного языка расширения (как правило это английский), найти необходимую переменную по значению, после чего создать константу со значением на русском языке (Расширения → Языки → Переопределение констант).
Переопределение языковых констант в Joomla
Сайт на Joomla содержит статический и динамический текстовый котент. К статическим текстовым элементам относятся:
- названия пунктов меню, опций и настроек в админке
- кнопки или другие элементы во внешнем интерфейсе
Текст для данных элементов хранится в виде констант и их значений, размещенных в ini-файлах языковых пакетов.
Например, заглянем в файл ru-RU.tpl_protostar.ini (языковой файл для шаблона Protostar), размещенный в папке /language/ru-RU/:
В файле мы видим набор констант и их значений, применяемых в коде шаблона Protostar. Пример константы и значения:
TPL_PROTOSTAR_BACKTOTOP="Наверх"
В коде применяется константа TPL_PROTOSTAR_BACKTOTOP, а в лицевой части отображается значение Наверх.
Переопределить значение константы можно непосредственно в данном файле, однако предыдущее значение вернется сразу после обновления Joomla (файл ядра будет перезаписан).
Чтобы определённые вами значения языковых констант сохранялись, Joomla предусматривает соответствующую функцию:
- перейдите в Расширения → Языки → Переопределение констант
- в фильтре выберите, для какой области сайта (админка или лицевая часть) и для какого языка создаётся константа и нажмите Создать
- введите название константы и её значение в соответствующие текстовые поля и сохраните
- проверьте, стало ли применяться новое значение в лицевой части
Названия INI-файлов языковых пакетов Joomla имеют свою спецификацию:
- сперва идёт префикс языка и точка(например: ru-RU или en-GB) и точка
- после точки идёт системное название расширения (например: com_content или mod_menu)
- если файл содержит константы системных сообщений, то после названия расширения дописывается значение .sys (например: ru-RU.protostar.sys.ini)
INI-файлы языковых пакетов размещаются в:
- корневой папке /language/ (языковые пакеты ядра Joomla, применяемые во внешнем интерфейсе)
- папке administrator/language/ (языковые пакеты ядра Joomla, применяемые в админке)
- подпапках /language/, размещенных в папках отдельных расширений (например: /modules/mod_roksprocket/language)