Замена стандартных фраз

Урок 3 из 8

8 мин

Нормально

Немного теории

Выделение языковых фраз в отдельные lang-файлы используется во всем фреймворке. Это требование не только к разработчикам решений на основе «1С-Битрикс: Управление Сайтом», но и к ядру продукта.

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

Суть технологии в переопределении стандартных языковых переменных из массива $MESS, где бы в файловой структуре эти переменные не были объявлены — в /local/ или в ядре продукта.

Вам достаточно создать файл дополнительного перевода в знакомой папке php_interface и точно задать “координаты” переменной. В отличие от обычного файла переводов указывается не только код фразы (например, MAIN_AGENT_LAST_EXEC) но и путь к языковому файлу ядра (например, bitrix/modules/main/lang/ru/admin/agent_list.php).

Подробнее о структуре файла и его размещении можете прочитать в заметке «Тайные технологии локализации». Разработчику требуется только выполнить следующие шаги:

  1. Увидеть фразу в интерфейсе и скопировать для поиска.
  2. Найти фразу в файлах продукта. Можно воспользоваться встроенным в систему поиском по файлам. Найтись может несколько вхождений, нужно определяется простым перебором или анализом содержимого файла.
  3. Определить путь к lang-файлу и код lang-фразы.
  4. Добавить свой перевод в php_interface.

В реальных проектах такая задача может возникнуть в нескольких случаях, например:

  1. Пользователям административного раздела непонятны какие-то из стандартных формулировок. Чаще всего это касается сообщения об ошибках при заполнении форм.
  2. Какие-то из стандартных сущностей платформы требуют переименования по корпоративным стандартам заказчика.
  3. При переопределении других функций из ядра продукта. Например, при замене обычной CAPTCHA (деформированный текст на картинке) на стороннюю (голосовую или любую интерактивную) системные компоненты продолжают в случае ошибки выводить текст “Неверно введено слово с картинки”.

Практика

Покажем замену фразы в административном разделе. Любые другие системные фразы заменяются аналогично.

Замена стандартных фраз

5 мин

Полезные ссылки и материалы