Языковые фразы в битрикс - Сергей Житников: Web-разработчик

Языковые фразы в битрикс

Вроде ничего сложного, но есть пара моментов, на которые стоит обратить внимание:

Чтобы работать с языковыми фразами, нужно подключить пространство имен:

 use \Bitrix\Main\Localization\Loc;  

Можно передавать аргументы в языковую фразу. Например:

$MESS["SOA_ORDER_SUC"] = "Заказ <b>№#ORDER_ID#</b> от #ORDER_DATE# успешно создан."; //В языковом файле

Loc::getMessage("SOA_ORDER_SUC", array( // В файле
    "#ORDER_DATE#" => 'текст, который будет вставлен вместо ORDER_DATE',
    "#ORDER_ID#" => 'текст, который будет вставлен вместо ORDER_ID'
));

Чтобы получить все доступные в данном контексте языковые фразы, можно использовать следующий код:

echo '<pre>';
print_r($MESS);
echo '</pre>';

Для переопределения языкового сообщения из ядра Битрикс нет необходимости изменять класс или править ядро. Просто создайте файл /bitrix/php_interface/user_lang/#кодязыка#/lang.php и заполните его соответствующим образом (например, можно изменить текст ошибки при неправильном вводе логина или пароля при авторизации на сайте).

$MESS['/bitrix/modules/main/lang/ru/classes/general/user.php']['WRONG_LOGIN'] = 'Вы ввели неверный логин или пароль. Попробуйте проверить язык клавиатуры и используемый регистр';

Первый ключ — путь к языковому файлу, сообщение из которого мы меняем. Второй ключ – идентификатор сообщения.

В логике Bitrix, при поиске языковой фразы система работает так:

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

Сергей Житников
Об авторе

Сергей Житников - Веб-разработчик

Занимаюсь веб-разработкой более 5 лет. Специализируюсь на создании адаптивных сайтов и веб-приложений на HTML5, CSS3 и JavaScript. Работаю с популярными CMS и фреймворками, а также уделяю большое внимание оптимизации производительности и чистоте кода.

Есть проект или идея? Буду рад помочь!

Связаться со мной

Последние статьи

19.06.2026
В статье собрал шпаргалку по основным компонентам Bitrix: bitrix:menu, news.list, news.detail, sale.basket.basket.line, main.include и breadcrumb. Разобрал настройку меню из разделов и элементов инфоблока через файлы .menu_ext.php, показываю полные конфигурации компонентов с пояснениями ключевых параметров. Готовые примеры для быстрого копирования и использования в проектах.
19.06.2026
Купоны в Битрикс неразрывно связаны с правилами работы с корзиной — без привязки к правилу они не сработают, а правило без купонов применит скидку на все товары. Разбираю создание купонов через DiscountCouponTable::add(): обязательные и опциональные поля, типы купонов, флаги активности. Показываю примеры работы с датами через объект DateTime (прибавление дней, месяцев и минут).
19.06.2026
Разбираю готовые примеры работы с изображениями в PHP: сохранение на сервер, вывод в браузер, рисование линий и прямоугольников. Отдельно — нюансы с форматами файлов (JPEG/PNG) и поддержкой кириллицы через шрифты.