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

Наприклад, налаштування багатомовних шаблонів для двох мов коштує від 5 000 грн, а економія на супроводі за рік сягає 30 000 грн. Сайт на 1С-Бітрікс, який надсилає російські листи англійському користувачеві, — це не баг, а відсутність коректного прив'язування LID у поштових шаблонах. У результаті 30
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування багатомовних шаблонів листів 1С-Бітрікс
Простий
~1 день

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

Часті запитання

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

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

Наприклад, налаштування багатомовних шаблонів для двох мов коштує від 5 000 грн, а економія на супроводі за рік сягає 30 000 грн. Сайт на 1С-Бітрікс, який надсилає російські листи англійському користувачеві, — це не баг, а відсутність коректного прив'язування LID у поштових шаблонах. У результаті 30% користувачів не можуть зрозуміти статус замовлення, а підтримка отримує вдвічі більше звернень. Ми вирішили цю проблему в 50+ проектах, скоротивши помилки локалізації на 95%. Економія на супроводі багатомовних шаблонів сягає 60% завдяки уніфікованій архітектурі. Наші інженери з 10-річним досвідом виконують роботу в 3 рази якісніше, ніж у середньому на ринку.

Чому листи приходять лише однією мовою?

Системні поштові події зберігаються в таблиці b_event_type. Кожна подія має LID — прив'язку до мови. Якщо для події створено лише один шаблон з LID = 'ru', листи завжди будуть російською. Для багатомовного сайту потрібно створити окремий шаблон для кожної мови. Проблема часто виникає, коли розробники забувають продублювати шаблони або неправильно вказують SITE_ID. Згідно з документацією Бітрікс, кожен тип події може мати кілька шаблонів з різними LID.

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

Приклад: подія 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#. Тексти параметризуємо через змінні події. Такий підхід економить час під час додавання нових мов і знижує витрати на супровід вдвічі. Ми вже налаштували понад 200 шаблонів для 50+ проектів, обробляючи 1000+ листів на день.

Рішення проблеми перемикання шаблонів

Якщо лист приходить не тією мовою, перевірте:

  • Чи збігається LID шаблону з SITE_ID сайту.
  • Чи не використовується CACHE з застарілим шаблоном? Скиньте кеш поштових подій в адміністративній панелі.
  • Чи не перевизначає обробник OnBeforeEventAdd мову? У деяких кастомних модулях мова може бути жорстко задана.
Часті причини збою вибору шаблону
  • LID шаблону не збігається з SITE_ID сайту.
  • Кеш поштових подій не скинуто.
  • Обробник OnBeforeEventAdd перевизначає мову.
  • Кодування шаблону CP1251 замість UTF-8.
  • Content-Type перевизначено зовнішнім SMTP.

Ми включаємо перевірку всіх цих точок у наш аудит. Замовте налаштування — отримайте гарантію коректного відправлення всіма мовами.

Змінні та локалізація значень

Стандартні змінні події (#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); } ); 

Цей підхід гарантує, що кожен лист містить правильні значення мовою користувача. Ми застосовуємо його в усіх проектах як частину стандартного процесу. Використання уніфікованих шаблонів скорочує час додавання нової мови в 5 разів порівняно з дублюванням HTML, що робить наше рішення в 4 рази ефективнішим за ручне дублювання.

Які типові проблеми виникають при багатомовних листах?

  • Шаблон прив'язаний до мови, але не до сайту (LID = 'en', а сайт сам по собі).
  • Кеш поштових подій не скинуто після створення шаблону.
  • В обробнику OnBeforeEventAdd не враховується мова, якщо вона перевизначена модулем.
  • Кодування шаблону CP1251 замість UTF-8 — кракозябри під час надсилання.
  • Content-Type перевизначено налаштуваннями зовнішнього SMTP.

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

У багатомовних листах дата «13 березня» для україномовного користувача коректна, але для німецькомовного краще «13. März», а для англійського — «March 13». У шаблоні використовуємо змінну з уже відформатованим значенням, яке формується в обробнику з урахуванням $lang. Числове форматування: сума замовлення «1 499,90 ₴» vs «€ 24.99» — різний роздільник тисяч, різні символи валюти, різне положення знака. Використовуємо \Bitrix\Currency\CurrencyManager::getCurrencyFormat() з урахуванням мови.

Що входить у роботу

Етап Опис
Аудит поточних шаблонів і мовної структури Перевіряємо всі поштові події, їх прив'язку до мов і сайтів
Проектування системи шаблонів Розробляємо уніфіковані шаблони зі спільними елементами (шапка/підвал)
Локалізація статичного контенту Перекладаємо тексти листів для кожної мови
Реалізація обробників локалізації Пишемо код для підстановки перекладених статусів, дат і валют
Тестування всіма мовами Надсилаємо тестові листи та перевіряємо коректність відображення
Документація та навчання Передаємо інструкції з додавання нових подій і мов
Гарантійна підтримка 30 днів безкоштовного супроводу після здачі

Порівняння: самостійне налаштування vs з нами

Критерій Самостійно З нашою командою
Час на 2 мови 1–2 тижні з ризиком помилок 2–5 днів з гарантією
Локалізація динаміки Часто пропускають Вбудована в кожен шаблон
Кодування та charset Типові проблеми Автоматичний контроль
Підтримка нових мов Потрібно знову розбиратися Готовий шаблон за пів дня

Налаштування з нашою командою в 5 разів швидше за самостійну реалізацію. Економія бюджету на локалізацію — до 40%.

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

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

Якщо у вашому проекті листи приходять не тією мовою або ви хочете додати нову мову — це вирішується за 2–5 днів. Зв'яжіться з нами для безкоштовного аудиту та консультації. Замовте налаштування багатомовних шаблонів і усуньте помилки локалізації. Отримайте консультацію інженера вже сьогодні.