Перейти к содержимому

Как перевести карту

razdor-translate делает переведённые копии карт: из Имя.DTm получается Имя_en.DTm (для английского) рядом с оригиналом. Перевод делает языковая модель, которую вы подключаете сами. Программа входит в каждый выпуск Раздора. Общие сведения и все настройки — в разделе «Переводчик карт» (см. Инструменты); здесь — порядок действий.

  • Установленная игра Discord Times (Community Update или другой мод с её картами) и Раздор. Программа ищет игру так же, как сам Раздор. Если не находит, укажите папку игры в переменной RAZDOR_DT_DIR.
  • Языковая модель с интерфейсом, совместимым с OpenAI. Два варианта:
    • на своём компьютере: Ollama или LM Studio. Адрес для Ollama — http://localhost:11434/v1, ключ не нужен. Модель надо скачать заранее (в Ollama: ollama pull <модель>);
    • в облаке: OpenAI, OpenRouter, DeepSeek и другие. Нужны адрес сервиса и ключ, а текст карты уходит на их сервер.
  • Место на диске: переводчик сохраняет прогресс после каждого ответа модели, так что перевод можно остановить и продолжить позже.

Программа без окна выводит карты и кампании установленной игры.

Windows (в папке, где лежит Razdor-translate-<версия>.exe, или с полным путём к нему):

Razdor-translate.exe --list

Если игра не находится, сначала укажите её папку. В PowerShell:

$env:RAZDOR_DT_DIR="D:\Игры\Discord Times"
.\Razdor-translate.exe --list

В командной строке cmd — set RAZDOR_DT_DIR=D:\Игры\Discord Times, затем Razdor-translate.exe --list.

Linux (в папке с программой razdor-translate):

./razdor-translate --list

Если игра не находится: RAZDOR_DT_DIR="/путь/к/игре" ./razdor-translate --list.

Кампания переводится вместе со всеми своими главами: переводчик берёт карту и все карты, на которые она ссылается.

Ниже — пример с локальной моделью Ollama. Замените Моя карта на имя файла карты или его начало, а <модель> — на модель, которую вы скачали.

Windows (PowerShell):

.\Razdor-translate.exe --map "Моя карта" --endpoint http://localhost:11434/v1 --model <модель> --language English --context 8192

Linux:

./razdor-translate --map "Моя карта" --endpoint http://localhost:11434/v1 --model <модель> --language English --context 8192

Что означают ключи:

  • --map — карта или её начало. Имя можно дать и без расширения .DTm.
  • --endpoint — адрес API. Для облака укажите его адрес (например, https://api.openai.com/v1) и ключ.
  • --model — имя модели на этом сервере. Значение по умолчанию — gemma4.
  • --language — язык перевода, по умолчанию English.
  • --context — объём контекста модели в токенах. От него зависит, сколько текста уходит за раз: при меньшем контексте запросы короче.

Ключ API лучше передавать через переменную, чтобы он не попадал в историю команд: RAZDOR_LLM_KEY (в PowerShell: $env:RAZDOR_LLM_KEY="ваш-ключ"), вместо --key.

Полезные ключи:

  • --notes "текст" — что модели важно знать о картах: кто есть кто, сюжет, какие имена не менять.
  • --style "текст" — пожелания к стилю, например "как летопись".
  • --no-write — только перевести, без записи файлов в папку карт.
  • --fresh — перевести всё заново, забыв прежний перевод. Нужно, если поменяли модель, стиль или контекст: старый перевод сам не обновится.
  • --show-prompt — вывести указания, которые получает модель, и остановиться.
  • --save-settings — запомнить адрес, модель, язык и прочие настройки для следующих запусков.
  • --help — полный список ключей.

Программа печатает ход работы: какие строки отправлены, сколько принято, и что модель не приняла (с причиной). Ответ с ошибкой запрашивается заново. Если что-то не вышло, запустите ту же команду снова: готовое сохраняется, и неудачные строки повторяются.

Когда всё переведено, английские копии записываются в папку карт игры, рядом с оригиналами. Прежние копии с тем же именем заменяются.

Запустите программу без ключей (двойной щелчок по Razdor-translate.exe или ./razdor-translate в Linux). В окне:

  1. Укажите адрес API и модель, нажмите «Проверить»: программа покажет, есть ли связь и нужная модель.
  2. В «Переводить на» выберите язык.
  3. В «Буквы» выберите «латиница или кириллица» (см. ниже).
  4. По желанию заполните «Стиль перевода» и «Контекст» (заметки о картах).
  5. Выберите карту или кампанию слева и нажмите «Перевести».
  6. Когда работа закончена, нажмите «Записать английские карты».

Для ещё одного языка переводчик сделает свои копии: Имя_german.DTm и так далее. Английский вариант всегда Имя_en.DTm.

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

Windows: .\Razdor-translate.exe --data --endpoint http://localhost:11434/v1 --model <модель> --language English

Linux: ./razdor-translate --data --endpoint http://localhost:11434/v1 --model <модель> --language English

В папке игры появятся файлы Eng_Units.ini, Eng_Artefacts.ini, Eng_Spells.ini и Eng_DiscordTimes.ini. Раздор находит их при запуске и добавляет язык в список языков. Оригинальная игра их не читает.

  1. Запустите Раздор. Язык переключается ссылкой с его названием в углу главного меню, или клавишей F2 на любом экране (по кругу по списку языков). В списке есть English и переводы данных, которые вы сделали.
  2. Откройте «Новая игра». Переведённая карта или кампания появляется в списке рядом с оригиналом: её файл называется Имя_en.DTm.
  3. Выберите её и начните игру. Проверьте, что текст читается: имена, диалоги, описания событий.

Если текста не видно или он выглядит как набор непонятных знаков, см. «Частые проблемы» ниже.

Переводчик не загружает ничего в каталог «Карты и моды» и не выкладывает переводы сам. Готовая копия — это файл Имя_en.DTm в папке карт игры.

  • Перед публикацией спросите автора карты: переводы его карт делаются с его текстом, и это его решение.
  • Отправьте файл Имя_en.DTm (и Eng_*.ini, если делали перевод данных) автору карты, на сервер сообщества в Discord или в обсуждение карты. Укажите, что это перевод, и назовите автора карты.
  • Если кто-то хочет поставить ваш перевод, пусть положит Имя_en.DTm в папку карт своей игры.
  • Файлы переводчика не нужно добавлять в свой архив мода: при сборке модов для каталога их пропускают.
  • Кракозябры в тексте. Оригинальная игра показывает только буквы кодировки Windows-1251 (кириллица и латиница без диакритики). Если в «Буквы» выбрано «любое письмо» (умлауты, деванагари, иероглифы), карта работает только в Раздоре: оригинал покажет эти тексты испорченными. Для карт, которые должны открываться и в оригинале, выбирайте «латиница или кириллица».
  • Текст не принят, в журнале причина. Переводчик не записывает в карту строку, в которой есть буква, которой нет в Windows-1251 (при «латиница или кириллица»). Если карта нужна только в Раздоре, выберите «любое письмо». Иначе смените стиль или заметки, чтобы модель обходилась латиницей, и запустите перевод снова.
  • Ошибка разметки или подстановки. Подстановки вроде #HERONAME, знаки разметки и переносы строк переводчик проверяет в каждом ответе модели. Если модель их испортила, ответ запрашивается заново. Если так и не вышло, в заметках («Контекст» или --notes) напишите, что эти знаки трогать нельзя.
  • Имена, которые не должны меняться. Названия, которые должны остаться как есть (имена героев, название карты в тексте, которое вы хотите сохранить), укажите в заметках. Переводчик старается писать одно имя одинаково во всей карте, но подсказка надёжнее.
  • Старый перевод после смены модели или стиля. Он не обновляется сам. Запустите перевод с ключом --fresh (в окне — «Перевести заново»).
  • Модель не отвечает или нет связи. Проверьте адрес, что сервер запущен и что модель скачана (в Ollama: ollama list). Кнопка «Проверить» в окне покажет то же самое.
  • Длинная кампания. Перевод большой кампании занимает время. Его можно остановить: готовые строки сохранятся, и при следующем запуске перевод продолжится.
  • Карта не появилась в списке новой игры. Проверьте, что переводчик записал файлы (строка wrote … в конце работы) и что они лежат в папке карт той игры, которую вы запускаете.