Налаштування багатомовних шаблонів листів 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування багатомовних шаблонів листів 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування багатомовних шаблонів листів 1С-Бітрікс

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

Як 1С-Бітрікс вибирає шаблон листа

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

Приклад: подія SALE_NEW_ORDER (нове замовлення). За замовчуванням один шаблон із LID = ru. Для англійської версії створюємо другий шаблон тієї ж події з LID = en. При надсиланні листа 1С-Бітрікс вибирає шаблон за 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 ₽» проти «€ 24.99» — різний роздільник тисяч, різні символи валюти, різне положення знака. Використовуємо \Bitrix\Currency\CurrencyManager::getCurrencyFormat() з урахуванням мови.

Типові проблеми

Кодування. Шаблони з кирилицею повинні зберігатися в UTF-8. Якщо через старий інтерфейс адміністрування шаблон було збережено в CP1251 — листи прийдуть із кракозябрами в частині тексту.

Заголовок Content-Type. 1С-Бітрікс за замовчуванням надсилає text/html; charset=UTF-8. Для багатомовних шаблонів це коректно. Але якщо надсилання відбувається через зовнішній SMTP (SendGrid, Mailgun), перевіряємо, що charset не перевизначається налаштуваннями SMTP-модуля.

Орієнтири за термінами

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

Вартість розраховується індивідуально після аудиту існуючих шаблонів і мовної структури сайту.