AI-перевод
Автор пишет статью на одном языке и одним действием получает черновики на остальных языках вики (ru, uk, en,
es). AI ничего не публикует: каждый черновик автор вычитывает и публикует как обычно.
Как это работает
Заголовок раздела «Как это работает»Перевод асинхронный: запрос принимается сразу, переведённый текст приходит в черновики через несколько секунд.
- Автор запускает AI-перевод на статье-источнике. Языки можно выбрать; без выбора переводятся все остальные языки, у которых версии нет или она ещё черновик.
- Сразу, до перевода, на каждый целевой язык появляется черновик (
DRAFT) в той же группе переводов. Нет версии — она создаётся; есть черновик — он перезаписывается копией источника: текст, заголовок, описание, SEO. - Все языки переводятся параллельно и независимо: неудача одного не останавливает остальные.
- Когда перевод готов, он заменяет текст черновика. Статус запроса у черновика меняется с «переводится» на «готово» или «не удалось» с кодом ошибки.
- Пока автор сам не сохранит черновик, у него стоит пометка «AI-перевод, не вычитан». Публикуется он как любой другой черновик.
Slug перевода берётся от источника, если он свободен на целевом языке на том же сервере; иначе генерируется из переведённого заголовка. Автор может сменить его потом.
Что переводится
Заголовок раздела «Что переводится»Структура статьи сохраняется как есть, меняется только текст.
| Элемент | Что происходит |
|---|---|
| Заголовок, описание, SEO-заголовок, SEO-описание | переводятся |
| Абзацы и заголовки, в том числе внутри списков, таблиц, callout, спойлеров, цитат | переводятся |
Подписи картинок (alt, title) и заголовки спойлеров |
переводятся |
| Жирный, курсив, ссылки и другое оформление | остаются на тех же словах |
| Упоминания предметов, NPC и скиллов | не переводятся: карточка сама показывает имя на языке читателя |
| Упоминание другой статьи | ведёт на опубликованную версию той статьи на языке перевода, если она есть; иначе — на исходную |
| Блоки кода и инлайн-код | не переводятся |
| Картинки, таблицы, разметка | копируются как есть |
Глоссария игровых терминов нет: термины в обычном тексте модель переводит сама, автор их вычитывает.
Статусы запроса
Заголовок раздела «Статусы запроса»У каждого черновика свой статус; показывается последний запрос.
| Статус | Что значит | Что делать |
|---|---|---|
Переводится (PENDING) |
перевод идёт | ждать; правка черновика сейчас отменит его перевод |
Готово (DONE) |
перевод в черновике | вычитать и опубликовать |
Не удалось (FAILED) |
перевод не получился, черновик остался копией источника | запустить перевод этого языка ещё раз; причина — в коде ошибки |
Отменён (CANCELLED) |
автор сохранил, сменил статус или удалил черновик во время перевода | ничего: ручная правка побеждает, поздний перевод черновик не тронет |
Заменён (SUPERSEDED) |
перевод запустили заново, пока шёл прежний | ничего: применяется только последний запрос |
Лимиты и таймауты
Заголовок раздела «Лимиты и таймауты»| Что | Значение | При превышении |
|---|---|---|
| Переводимый текст статьи | 120 000 символов | отказ сразу (INPUT_TOO_LARGE), черновики не создаются |
| Размер запроса | 1 МБ | тот же отказ; бывает у статей с очень большим числом мелких фрагментов |
| Ожидание одного ответа модели | 70 с | вызов повторяется один раз; второй таймаут — язык «не удалось» (LLM_ERROR) |
| Перевод целиком | 5 мин | готовые языки сохраняются, недоделанные — «не удалось» (AGENT_TIMEOUT) |
| Результата нет совсем | 15 мин | запрос «не удалось» (TIMEOUT) |
| Права | ARTICLES_CREATE, если создаётся новая языковая версия; ARTICLES_UPDATE, если перезаписывается черновик |
403 |
В лимит считается только текст: упоминания, картинки и разметка в него не входят. Типичный гайд — около 14 000 символов разметки статьи — несёт примерно 1 000–2 000 символов текста.
Обычная статья переводится на три языка за 10–15 секунд, длинная (около 25 000 символов текста) — примерно за полторы минуты.
Особые случаи
Заголовок раздела «Особые случаи»| Ситуация | Поведение |
|---|---|
| Явно выбран язык, версия которого опубликована или в архиве | весь запрос отклоняется (TRANSLATION_NOT_DRAFT) со списком таких языков; ни один язык не меняется |
| Язык не выбран, его версия опубликована или в архиве | язык пропускается: опубликованную версию AI никогда не трогает |
| Явно выбран язык, версия которого удалена и ждёт окончательного удаления | запрос отклоняется (TRANSLATION_DELETED) |
| Переводить нечего: все остальные языки опубликованы | 400 |
| Выбран язык самой статьи, повтор языка или неизвестный язык | 400 |
| Системная статья (генерируется автоматически) | отказ (SYSTEM_ARTICLE_READONLY): такие статьи переводят их генераторы |
| Автор правит, меняет статус или удаляет черновик во время его перевода | перевод этого языка отменяется, правка остаётся; остальные языки продолжают |
| Автор правит источник во время перевода | перевод не отменяется: переводится текст на момент запуска |
| Перевод запущен повторно, пока идёт прежний | прежний заменяется, применяется только новый |
| Черновик уже есть и в нём есть ручные правки | он перезаписывается копией источника, правки теряются: не запускайте перевод на вычитанный черновик |
| Картинку загрузили или удалили во время перевода | перевод её не затирает |
| Модель сломала разметку | один повтор; если и он не удался — язык «не удалось» (TAGS_MISMATCH), черновик остаётся копией источника |
| Перезапуск сервиса между запуском и отправкой | запрос доставляется после перезапуска; повторный результат применяется не больше одного раза |
| Источник удалён насовсем после перевода | черновики и их история остаются, ссылка на источник пустая |
Коды ошибок
Заголовок раздела «Коды ошибок»При «не удалось» черновик не меняется: в нём по-прежнему копия источника. Почти всегда помогает повторный запуск этого языка.
| Код | Причина |
|---|---|
LLM_ERROR |
модель не ответила: сбой провайдера или дважды нет ответа за 70 с |
TAGS_MISMATCH |
модель дважды сломала разметку, или перевод не лёг на черновик |
AGENT_TIMEOUT |
язык не успел за 5 минут всего перевода |
TIMEOUT |
результата не было 15 минут |
INPUT_TOO_LARGE |
статья длиннее лимита |
MISSING_TRANSLATION, INVALID_RESULT, CONTENT_INVALID, ASSEMBLY_FAILED |
результат пришёл, но собрать из него черновик не удалось; если повтор не помог — в поддержку |
AGENT_FAILED и прочие |
сбой сервиса перевода целиком; если повтор не помог — в поддержку |
