Інтеграція машинного перекладу контенту для 1С-Бітрікс

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

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

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

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

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

Інтеграція машинного перекладу контенту для 1С-Бітрікс

Перекласти каталог із 20 000 товарів трьома мовами силами перекладачів — це місяці роботи та значний бюджет. Машинний переклад закриває 80–90% обсягу за кілька годин, залишаючи перекладачам лише коректуру критично важливих текстів: головна сторінка, лендінги, юридичні документи. Але інтеграція MT-сервісу з 1С-Бітрікс — це не просто «викликати API», там є нетривіальні технічні завдання.

Вибір MT-сервісу: що важливо для 1С-Бітрікс

Основні кандидати: DeepL, Google Cloud Translation, Yandex Translate. Усі три надають REST API, але відрізняються якістю для конкретних мовних пар та ставленням до специфічних проблем контенту e-commerce:

DeepL — найкраща якість для європейських мов (DE, FR, EN, PL). API v2 підтримує формат text/html — перекладає текст, зберігаючи HTML-теги. Це критично для описів товарів із версткою.

Google Cloud Translation — широке охоплення мов (200+), підтримка мов СНД (KZ, UZ, AZ). Базова модель (translate/v2) дешевша, NMT-модель (translate/v3) точніша.

Yandex Translate — оптимально для пари RU→KZ, RU→BE. API v2 підтримує пакетну передачу до 10 000 символів за запит.

Проблема №1: HTML в описах товарів

Описи в b_iblock_element полі DETAIL_TEXT часто містять HTML-розмітку. Якщо передати такий текст у MT-API як plain text — теги перекладуться буквально: <strong> стане <сильный> (у Yandex це реальний кейс при передачі без вказівки формату).

Рішення для Google Translation v3:

$client = new TranslationServiceClient();
$response = $client->translateText([
    'parent' => 'projects/{project}/locations/global',
    'contents' => [$htmlContent],
    'mimeType' => 'text/html',  // Критично!
    'sourceLanguageCode' => 'ru',
    'targetLanguageCode' => 'en',
]);

DeepL: параметр tag_handling=html у запиті. З цим прапором DeepL перекладає лише текстові вузли, не чіпаючи атрибути тегів та структуру розмітки.

Проблема №2: змінні та шорткоди в контенті

В описах товарів зустрічаються внутрішні підстановки: {SIZE_GUIDE}, [product_id=123], <!--#include file="..."-->. MT-сервіс може «перекласти» ці конструкції — зламавши функціональність.

Рішення: перед надсиланням у MT замінюємо всі службові конструкції на плейсхолдери, які MT-сервіс не чіпає. Для DeepL використовуємо ignore_tags або обрамлюємо конструкції в теги <keep>. Після перекладу робимо зворотну заміну.

$placeholders = [];
$pattern = '/\{[A-Z_]+\}|\[product_id=\d+\]/';
$text = preg_replace_callback($pattern, function ($match) use (&$placeholders) {
    $key = 'PLACEHOLDER_' . count($placeholders);
    $placeholders[$key] = $match[0];
    return $key;
}, $originalText);

// Перекладаємо $text...

// Відновлюємо плейсхолдери
foreach ($placeholders as $key => $value) {
    $translatedText = str_replace($key, $value, $translatedText);
}

Пакетна обробка та ліміти API

Для каталогу з 20 000 позицій не можна перекладати по одному запиту на товар — це і повільно, і дорого. Пакетна обробка:

  • Google: до 1024 рядків за запит
  • DeepL: до 50 текстів за запит
  • Yandex: до 10 000 символів сумарно за запит

Реалізуємо чергу перекладу: кожен товар — завдання в черзі. Воркер бере пакет, надсилає в MT-API, зберігає результат. При помилці — повтор з експоненційною затримкою.

Переклади зберігаємо в мовні версії елементів (b_iblock_element_lang) через CIBlockElement::SetPropertyValues() із зазначенням LANGUAGE_ID. Після збереження інвалідуємо кеш елемента.

Постредагування: прапори для перекладача

Машинний переклад не є фінальним. Потрібна можливість для перекладача позначити переклад як «потребує перевірки» або «відредаговано вручну». Додаємо властивість інфоблоку MT_STATUS (список: auto, reviewed, manual) для кожної мови. Перекладач бачить лише елементи зі статусом auto — не перебирає весь каталог.

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

Сценарій Термін
Інтеграція MT-API, пакетний переклад назв і описів 2–4 тижні
+ обробка HTML, плейсхолдери, черга з ретраями 4–6 тижнів
+ інтерфейс постредагування в адмінці 1С-Бітрікс +2–3 тижні

Вартість розраховується індивідуально. Враховуються: обсяг контенту, кількість мов, обраний MT-сервіс та вимоги до якості перекладу.