MOD-TRANSLATE — Автоперевод
Лицензия: Платный
Модуль, который делает контент платформы многоязычным. Переводится не интерфейс (для него есть словари), а пользовательские данные: сообщения чата, названия задач, карточки — всё, что люди пишут сами. Модуль-источник после записи кладёт текст в очередь translate.request (fire-and-forget) и не ждёт результата, а при чтении забирает готовые переводы батчем через translate.get. Какие модули переводить — решается настройкой, без правки кода.
Перевод привязан к версии оригинала: вместе с текстом хранится его хэш, и запрос с orig_hashes вернёт только переводы актуальной версии — устаревший перевод не подменит собой новый текст. Изменился или удалён исходник — кэш сбрасывается через translate.invalidate.
Отдельный контур — защита данных. Перед отправкой во внешний переводчик текст проходит PII-гейт: персональные данные не уходят наружу, а при неверной конфигурации модуль честно отказывает, а не переводит «как получится». Провайдер выбирается настройкой: внутренний llm-gateway по умолчанию, а также DeepL, Google Translate и self-hosted LibreTranslate.
Именно этот модуль обеспечивает трёхъязычность (русский, английский, сербский) этого сайта и документации, которую вы читаете.
Возможности
- Асинхронный перевод полей сущностей: очередь и фоновый воркер
- Батчевое чтение готовых переводов при отрисовке списков
- Привязка перевода к версии оригинала по хэшу исходного текста
- Синхронный перевод произвольного текста без записи в базу
- Сброс кэша переводов при изменении или удалении оригинала
- Провайдеры: внутренний llm-gateway, DeepL, Google Translate, LibreTranslate
- PII-гейт перед внешним провайдером с честным отказом при небезопасной конфигурации
- Выбор переводимых модулей настройкой
enabled_modules - Языки как открытый список строк — новый язык добавляется без миграций
Основные MCP-инструменты
| Инструмент | Назначение |
|---|---|
translate__translate.request | Поставить поле сущности в очередь перевода |
translate__translate.get | Получить переводы из кэша (батчем, с проверкой версии) |
translate__translate.text | Перевести текст синхронно, без записи в базу |
translate__translate.invalidate | Сбросить кэш переводов записи |
translate__settings.get | Текущие настройки модуля |
translate__settings.set | Изменить провайдера, языки и PII-режим |
translate__check_ready | Проверка готовности модуля |
Связанные модули
- MOD-CHAT — сообщения, переводимые на язык собеседника
- MOD-TASK — названия и описания задач на языке пользователя
- MOD-RAG — многоязычный корпус знаний
- MOD-ASSISTANT — ответы ассистента на языке пользователя