Немного теории
Выделение языковых фраз в отдельные lang-файлы используется во всем фреймворке. Это требование не только к разработчикам решений на основе «1С-Битрикс: Управление Сайтом», но и к ядру продукта.
В некоторых случаях вам может потребоваться изменить эти фразы. Это решаемо и существует механизм, позволяющий обойтись без правки языковых файлов ядра. А модификация ядра продукта, напомним, категорически запрещена, хоть она и выглядит всегда более простым решением.
Суть технологии в переопределении стандартных языковых переменных из массива $MESS, где бы в файловой структуре эти переменные не были объявлены — в /local/ или в ядре продукта.
Вам достаточно создать файл дополнительного перевода в знакомой папке php_interface и точно задать “координаты” переменной. В отличие от обычного файла переводов указывается не только код фразы (например, MAIN_AGENT_LAST_EXEC) но и путь к языковому файлу ядра (например, bitrix/modules/main/lang/ru/admin/agent_list.php).
Подробнее о структуре файла и его размещении можете прочитать в заметке «Тайные технологии локализации». Разработчику требуется только выполнить следующие шаги:
- Увидеть фразу в интерфейсе и скопировать для поиска.
- Найти фразу в файлах продукта. Можно воспользоваться встроенным в систему поиском по файлам. Найтись может несколько вхождений, нужно определяется простым перебором или анализом содержимого файла.
- Определить путь к lang-файлу и код lang-фразы.
- Добавить свой перевод в php_interface.
В реальных проектах такая задача может возникнуть в нескольких случаях, например:
- Пользователям административного раздела непонятны какие-то из стандартных формулировок. Чаще всего это касается сообщения об ошибках при заполнении форм.
- Какие-то из стандартных сущностей платформы требуют переименования по корпоративным стандартам заказчика.
- При переопределении других функций из ядра продукта. Например, при замене обычной CAPTCHA (деформированный текст на картинке) на стороннюю (голосовую или любую интерактивную) системные компоненты продолжают в случае ошибки выводить текст “Неверно введено слово с картинки”.
Практика
Покажем замену фразы в административном разделе. Любые другие системные фразы заменяются аналогично.
Замена стандартных фраз
5 мин
Полезные ссылки и материалы