Перевод сообщений
Marinara Engine умеет переводить сообщения чата с одного языка на другой. Это руководство показывает, как выбрать сервис перевода, задать языки, включить автоматический перевод и перевести одно сообщение.
Перевод настраивается отдельно для каждого чата. У каждого чата свой сервис, свои языки и свои ключи. Чтобы начинать новые чаты с теми же настройками, сохраните их как настройки перевода по умолчанию.
Где находятся настройки перевода
- Откройте чат в любом режиме (Conversation, Roleplay или Game).
- Откройте Chat Settings (настройки чата).
- Найдите раздел Translation (перевод).
Все описанные ниже настройки находятся в этом разделе.
Выбор провайдера
В списке Provider (провайдер) четыре варианта.
| Провайдер | Что нужно | Примечания |
| Google Translate | Ничего | Вариант по умолчанию. Бесплатно, ключ не нужен. До 5000 символов на запрос. |
| DeepL API | Ключ API DeepL | Качество выше. Подходят и бесплатные, и платные ключи. |
| DeepLX (self-hosted) | Адрес сервера DeepLX | Для сервера DeepLX, который вы поднимаете сами. |
| AI (via connection) | Аккаунт ИИ | Переводит с помощью одной из ваших моделей ИИ. |
Google Translate работает без настройки. Другой вариант выбирайте, только если вам нужно то, что он дает.
Настройка языков
Языки задают два поля. В обоих по умолчанию стоит en (английский).
- Model Language (язык модели) – это язык, который понимает модель ИИ и на котором она отвечает. Когда вы пишете на своем языке, сообщение переводится на этот язык, прежде чем его прочитает ИИ. Его используют Translate My Messages (переводить мои сообщения) и Translate draft (перевести черновик).
- My Language (мой язык) – это язык, на котором читаете вы. Ответы ИИ переводятся на этот язык. Его используют Auto-Translate Responses (автоматический перевод ответов) и кнопка Translate (перевести) у каждого сообщения.
Например, если вы пишете по-испански, а ИИ лучше всего работает на английском, задайте для Model Language значение en, а для My Language – es.
Для Google Translate, DeepL API и DeepLX введите короткий код, например en, ja, es, de, fr, zh или ko. Для AI (via connection) введите название языка, например English, Japanese или Spanish.
Если не получилось: при неверном коде или названии появляется ошибка или текст остается без изменений. Проверьте формат для своего провайдера.
DeepL API
Выберите DeepL API и вставьте ключ от аккаунта DeepL в поле DeepL API Key (ключ API DeepL). Ключ, который заканчивается на :fx, – это ключ бесплатного тарифа, и Marinara отправляет его в бесплатную службу DeepL. Любой другой ключ считается платным.
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:fxDeepLX
DeepLX – это бесплатный сервер перевода, который вы поднимаете у себя сами. Выберите DeepLX (self-hosted) и укажите адрес своего сервера в поле DeepLX URL (адрес сервера DeepLX), например http://localhost:1188.
У сервера DeepLX на вашем компьютере или в локальной сети локальный адрес. Из соображений безопасности Marinara по умолчанию блокирует локальные адреса. Чтобы их разрешить, добавьте эту строку в файл .env и сохраните его. Перезапуск не нужен. Изменение обычно начинает действовать в течение нескольких секунд, максимум примерно через 30 секунд. Где лежит этот файл, описано в руководстве Настройки сервера: справочник.
DEEPLX_LOCAL_URLS_ENABLED=trueСерверу DeepLX с публичным адресом в интернете эта настройка не нужна.
AI (via connection)
Выберите AI (via connection), чтобы переводить с помощью одной из ваших моделей ИИ. Появятся три поля.
- Connection (подключение): какой аккаунт ИИ переводит. Это поле обязательно. Если оставить его пустым, перевод завершится ошибкой "Connection ID is required for AI translation". См. Подключение к провайдеру ИИ.
- Outgoing Message Prompt (промпт для исходящих сообщений) и Incoming Response Prompt (промпт для входящих ответов): указания, которые получает ИИ, когда переводит ваши сообщения и свои ответы. В обоих сначала стоит встроенный текст по умолчанию, который можно изменить для этого чата.
{{targetLanguage}}превращается в Model Language или My Language. После изменения промпта Restore (восстановить) возвращает его к исходному. Промпт по умолчанию:
You are a translator. Translate the given text accurately into {{targetLanguage}},
preserving formatting, markdown, and any special characters like *asterisks* for actions.
Output ONLY the translated text, nothing else -- no explanations, no extra commentary.Включение автоматического перевода
Под настройками провайдера расположены четыре переключателя. Все они изначально выключены.
- Auto-Translate Responses: переводит каждый ответ ИИ сразу после генерации. В режиме Game Marinara сначала убирает из повествования теги, предназначенные только для Game Master (ведущего игры).
- Translate My Messages: переводит ваше сообщение на Model Language прямо перед отправкой ИИ и заменяет им набранный текст. Если перевод не удался, Marinara отправляет исходный текст и показывает ошибку.
- Show Draft Translate Button (показывать кнопку перевода черновика): добавляет кнопку Translate draft рядом с Send (отправить), чтобы вы могли проверить и поправить перевод до отправки. Это ручная замена Translate My Messages.
- Show Only Translation (показывать только перевод): показывает перевод переведенного сообщения вместо оригинала, а не оригинал и перевод вместе.
В режиме Conversation всегда можно перевести неотправленный черновик через кнопку со смайликом у поля ввода, затем Tools → Translate draft (инструменты → перевести черновик), на компьютере или телефоне. Ни один из этих переключателей для этого не нужен. Действие использует настройки перевода исходящих сообщений этого чата и заменяет черновик, чтобы вы его проверили. Оно ничего не отправляет. При ошибке перевода черновик остается как был.
Настройки перевода по умолчанию для новых чатов
Save translator defaults (сохранить настройки перевода по умолчанию) под переключателями сохраняет настройки перевода этого чата для новых чатов во всех режимах. Настройки из мастера настройки и из профиля настроек имеют приоритет. Существующие чаты сохраняют свои настройки. Forget saved defaults (забыть сохраненные настройки по умолчанию) удаляет их. Noodle использует те же настройки по умолчанию.
Ключ API DeepL и адрес DeepLX остаются в этой установке Marinara. Экспорт чатов, экспортированные профили настроек и файлы Export Profile (экспорт профиля) их не включают, а импорт любого из них никогда их не задает. После переноса чата в другую установку введите их заново.
Перевод одного сообщения
У каждого сообщения – и у вашего, и у ответа ИИ – есть кнопка Translate (значок с языками) в панели действий. Она работает без любого из переключателей выше.
- Наведите указатель на сообщение или коснитесь его на телефоне, чтобы показалась панель действий.
- Нажмите Translate.
- Перевод появляется под сообщением или, при включенном Show Only Translation, вместо него.
- Нажмите кнопку снова, чтобы скрыть перевод. Ее надпись тогда сменится на Hide translation (скрыть перевод).
Перевод сохраняется вместе с сообщением и остается после обновления страницы и переключения чатов. Он использует тот же провайдер и My Language, что заданы в разделе выше.
Ограничения провайдеров
- Google Translate отклоняет текст длиннее 5000 символов с ошибкой "Text too long for Google Translate (max 5000 characters). Use DeepL or AI provider for longer texts."
- DeepL API, DeepLX (self-hosted) и AI (via connection) принимают текст подлиннее – до серверного предела 50000 символов на запрос.
- Google Translate, DeepL API и DeepLX (self-hosted) прерываются с ошибкой через 15 секунд.
- AI (via connection) следует собственному тайм-ауту вашей модели ИИ, а не пределу в 15 секунд.
- DeepLX (self-hosted) с локальным адресом заблокирован, пока не задано
DEEPLX_LOCAL_URLS_ENABLED=true.
Смежные руководства
- Действия с сообщением: редактирование, удаление, свайпы, повторная генерация
- Обзор панели Chat Settings
- Подключение к провайдеру ИИ
- Настройки сервера: справочник