Настройка многоязычных шаблонов писем 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка многоязычных шаблонов писем 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка многоязычных шаблонов писем 1С-Битрикс

Многоязычные сайты на 1С-Битрикс отправляют системные письма — подтверждение заказа, смена пароля, регистрация — но часто делают это только на одном языке. Пользователь выбрал английскую версию сайта, оформил заказ, получил письмо на русском. Задача настройки многоязычных шаблонов — устранить именно эту ситуацию.

Как 1С-Битрикс выбирает шаблон письма

Системные почтовые события (тип \Bitrix\Main\Mail\Event) хранятся в таблице b_event_type. Каждое событие имеет LID — привязку к языку. Для многоязычного сайта нужно создать отдельный шаблон события для каждого языка.

Пример: событие SALE_NEW_ORDER (новый заказ). По умолчанию один шаблон с LID = ru. Для английской версии создаём второй шаблон того же события с LID = en. При отправке письма Битрикс выбирает шаблон по LID сайта, на котором был оформлен заказ.

Критически важно: LID в шаблоне — это идентификатор сайта (b_lang.LID), а не языка системы. На многоязычных сайтах с одним SITE_ID и несколькими языками через Bitrix\Main\Application::getInstance()->addApplication() или языковой SITE_ID — нужно проверять, как именно организована многоязычность в конкретном проекте.

Создание шаблонов для нескольких языков

Переходим в Настройки → Почтовые события → Типы почтовых событий. Для каждого системного события создаём шаблоны:

  1. Открываем событие (например, SALE_NEW_ORDER)
  2. Добавляем новый шаблон через «Добавить шаблон»
  3. В поле «Сайт» выбираем языковую версию (или SITE_ID если разные домены)
  4. Заполняем тему и тело письма на нужном языке

Для технически корректной реализации не дублируем HTML-вёрстку в каждом шаблоне. Вместо этого:

  • Общие элементы (шапка, подвал, кнопка) выносим в PHP-шаблон, подключаемый через #INCLUDE_FILE#
  • Тексты параметризуем через переменные события

Переменные и локализация значений

Стандартные переменные события (#ORDER_ID#, #PRICE#) подставляются одинаково для всех языков. Но некоторые значения требуют локализации. Например, статус заказа «Обрабатывается» на русском и «Processing» на английском.

Для локализации динамических значений обработчик события (OnBeforeEventAdd) получает языковый контекст и подставляет переведённые строки:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'main', 'OnBeforeEventAdd',
    function (\Bitrix\Main\Event $event) {
        $fields = $event->getParameter('FIELDS');
        $lang = $fields['LID'] ?? 'ru';
        // Переводим статус заказа
        $fields['ORDER_STATUS'] = getLocalizedStatus($fields['ORDER_STATUS_ID'], $lang);
        $event->setParameter('FIELDS', $fields);
    }
);

Форматирование дат и чисел

В многоязычных письмах дата «13.03.2026» для русскоязычного пользователя корректна, но для немецкоязычного лучше «13. März 2026», а для английского — «March 13, 2026». В шаблоне используем переменную с уже отформатированным значением, формируемым в обработчике с учётом $lang.

Числовое форматирование: сумма заказа «1 499,90 ₽» vs «€ 24.99» — разный разделитель тысяч, разные символы валюты, разное положение знака. Используем \Bitrix\Currency\CurrencyManager::getCurrencyFormat() с учётом языка.

Типичные проблемы

Кодировка. Шаблоны с кириллицей должны сохраняться в UTF-8. Если через старый интерфейс администрирования шаблон был сохранён в CP1251 — письма придут с кракозябрами в части текста.

Заголовок Content-Type. Битрикс по умолчанию отправляет text/html; charset=UTF-8. Для мультиязычных шаблонов это корректно. Но если отправка идёт через внешний SMTP (SendGrid, Mailgun), проверяем, что charset не переопределяется настройками SMTP-модуля.

Ориентиры по срокам

Задача Срок
Локализация системных писем (5–10 событий, 2 языка) 2–5 дней
Разработка унифицированной системы шаблонов для 4+ языков 1–2 недели

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