Единая точка входа

Все переводы, откуда бы их ни запустили, уходят одним путём: модуль собирает порцию текстов и отправляет её в сервис api.mrlexndr.com.

Почему одна точка

Переводить можно из шести мест: массовый прогон, очередь, кнопка на карточке, групповое действие в списке, редактор на сайте, фоновое задание. Если бы у каждого был свой путь к сервису, правило вроде «уменьшать пачку при обрыве» пришлось бы держать в шести экземплярах — и оно бы разъехалось.

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

Добавить новый вид перевода — значит дописать запись в этот реестр и метод обработки. Списки видов нигде больше не дублируются, и это проверяется автоматически.

Что уходит в сервис

Тексты, исходный и целевой язык, формат, выбранный движок, а также контекст проекта и глоссарий. Ключей движка на стороне сайта нет — сервис узнаёт сайт по хешу лицензии Битрикса.

Что возвращается

Массив переводов при успехе, описание ошибки при неудаче.

Расхождение количества отменяет запись целиком. Если ответов пришло не столько, сколько текстов отправлено, модуль не пытается разложить их по порядку — он отказывается писать. Иначе перевод названия попал бы в описание, и обнаружилось бы это через месяц.

Когда перевод не работает целиком

Отдельный случай, который выглядит загадочно: витрина переводит, админка открывается, а автоперевод, очередь и индексация отвечают ошибкой.

Почти всегда это версия PHP ниже требуемой. Модуль на такой версии сознательно остаётся наполовину рабочим и отказывает ровно в машинном переводе — см. Известные ограничения и Что делать, если.

Что дальше

Что происходит при обрыве связи Сеть, таймауты и повторы
Яндекс или Gemini Движки перевода
HTML, JSON, конструкторы страниц Форматы
Сколько это стоит Пополнение баланса