Новые форматы и движки
Что можно добавить на стороне проекта, а что живёт только на стороне сервиса.
Новый вид перевода
Состав видов перевода — фразы, элементы, разделы, SEO-шаблоны — описан данными в одном реестре: вид порции, допустимые режимы, обязательные поля, дополнительные проверки, обработчик.
Добавить свой вид — значит дописать запись в этот реестр и метод обработки. Зарегистрировать его можно и из стороннего кода, не трогая модуль.
Списки видов нигде больше не дублируются, и это проверяется автоматически: отдельный сценарий следит, чтобы перечисления не завелись снова внутри запроса или обработчика входящих вызовов.
Новый формат содержимого
Ключи конструктора страниц добавляются на стороне сервиса, в его разборщике. На стороне Битрикса менять нечего: модуль передаёт содержимое целиком и о его внутреннем устройстве не знает.
Это сознательное разделение. Знание о формате блоков живёт в одном месте, а не в каждой установленной копии модуля — иначе поддержка нового ключа требовала бы обновления у всех клиентов.
Новый движок перевода
Тоже на стороне сервиса. В модуле нет ни интерфейса переводчика, ни каталога драйверов: он лишь называет движок в поле запроса.
Всё остальное — нарезка, повторы, сверка разметки, запасной машинный перевод, счёт денег — делает сервис.
Чтобы добавить третий движок, расширяется сервис. На стороне модуля после этого хватает одной строки в списке доступных движков и пары фраз в языковых файлах; договор между модулем и сервисом при этом не меняется.
См. Движки перевода.
Своя обёртка вокруг словаря
Единственное расширение, которое делается целиком на стороне проекта: Своя обёртка для переводов.
Не забудьте про второй шаг — научить индексатор её видеть, иначе ваши фразы будут числиться мусором.