Новые форматы и движки

Что можно добавить на стороне проекта, а что живёт только на стороне сервиса.

Новый вид перевода

Состав видов перевода — фразы, элементы, разделы, SEO-шаблоны — описан данными в одном реестре: вид порции, допустимые режимы, обязательные поля, дополнительные проверки, обработчик.

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

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

Новый формат содержимого

Ключи конструктора страниц добавляются на стороне сервиса, в его разборщике. На стороне Битрикса менять нечего: модуль передаёт содержимое целиком и о его внутреннем устройстве не знает.

Это сознательное разделение. Знание о формате блоков живёт в одном месте, а не в каждой установленной копии модуля — иначе поддержка нового ключа требовала бы обновления у всех клиентов.

Новый движок перевода

Тоже на стороне сервиса. В модуле нет ни интерфейса переводчика, ни каталога драйверов: он лишь называет движок в поле запроса.

Всё остальное — нарезка, повторы, сверка разметки, запасной машинный перевод, счёт денег — делает сервис.

Чтобы добавить третий движок, расширяется сервис. На стороне модуля после этого хватает одной строки в списке доступных движков и пары фраз в языковых файлах; договор между модулем и сервисом при этом не меняется.

См. Движки перевода.

Своя обёртка вокруг словаря

Единственное расширение, которое делается целиком на стороне проекта: Своя обёртка для переводов.

Не забудьте про второй шаг — научить индексатор её видеть, иначе ваши фразы будут числиться мусором.