Перевод RPG Maker MV против MZ: что меняется для переводчиков
Оба движка делят большую часть поверхности перевода, но параметры плагинов, управляющие коды и раскладка папки данных в MZ смещаются. Практические заметки для переводчиков, переходящих между проектами RPG Maker MV и MZ.
Что касается перевода RPG Maker MV против MZ, два движка на 90% одинаковы. Оба хранят диалоги, варианты выбора, предметы, навыки и термины как JSON, используют одни и те же коды команд событий и соблюдают одни и те же управляющие коды (\C[1], \N[2], \V[3] и т. д.). Оставшиеся 10% — раскладка папки и формат параметров плагинов — вот что спотыкает переводчиков при переходе между двумя. Этот пост — быстрая справка.
Раскладка папки: самое заметное различие
- MV хранит данные в
www/data/*.json, с ресурсами, плагинами и встроенной средой выполнения рядом. - MZ сбрасывает обёртку
www/и хранит данные вdata/*.jsonнапрямую.
Для RuneTranslate это невидимо — определение проверяет оба пути и выбирает тот, что существует. Это имеет значение, только если вы инспектируете файл вручную: помните про префикс.
Диалоги, варианты выбора и коды событий
Структура команд событий одинакова в обоих движках, поэтому поверхность перевода идентична. RuneTranslate читает:
401— строка Show Text. Каждая видимая строка — свой401.405— строка Show Scrolling Text (титры, длинные прокрутки монологов).102— текст варианта выбора (и402, метка ветки каждого выбора).320,324,325— Change Actor Name, Nickname и Profile (используются для переименований и биографий персонажей).108/408— комментарии. Они не для игрока, поэтому исключены по умолчанию и никогда не переводятся автоматически (вы можете включить строку, если нужно).
RuneTranslate парсит все эти одинаково на MV и MZ. На MZ 101 также несёт имя говорящего, показываемое над окном сообщения, которое тоже подхватывается.
Перенос по словам для окна сообщения
И MV, и MZ переносят диалоги по краю окна сообщения — стандартное окно вмещает примерно 46 однобайтовых символов на строку. RuneTranslate автоматически переносит диалоги при экспорте (применяется к строкам 401 / 405), чтобы переведённый текст не переполнял окно речи.
Ширина переноса настраивается для проекта — увеличьте её для более широкого окна или отключите перенос полностью для игры, которая сама обрабатывает переводы строк. RuneTranslate также внедряет опцию автоподгонки уменьшением шрифта при экспорте (MV и MZ), которая масштабирует негабаритные строки вниз, чтобы они помещались, а не обрезались, что покрывает большинство случаев с кастомными шрифтами без ручного сокращения.
Строки параметров плагинов
Оба движка хранят конфигурацию плагинов в js/plugins.js (под www/ на MV) как блок PluginManager.parameters на каждый плагин, с видимыми строками инлайн.
RuneTranslate сопоставляет значения параметров верхнего уровня, чьи ключи читаются как отображаемый текст — text, message, label, caption, title, description, tooltip, button, menu и подобные. Он не рекурсивно декодирует вложенные JSON-кодированные структуры параметров; плагин, который упаковывает японский в более глубокую структуру, выводит эти строки как исключённые строки, которые вы можете включить и исправить вручную в редакторе. Так что ничего не теряется молча — всё, что белый список не переводит автоматически, всё равно видно для проверки.
Управляющие коды: идентичны, никогда не дайте им потеряться
Оба движка поддерживают одно и то же семейство управляющих кодов:
\C[n]— переключить цвет текста на индекс палитрыn.\N[n]— вывести имя актёраn.\V[n]— вывести значение игровой переменнойn.\.,\|,\^— модификаторы паузы / ожидания.
Они обязаны пережить перевод дословно. Если провайдер отбрасывает или портит \N[1], игра выводит сырой мусор с обратным слэшем вместо имени игрока. RuneTranslate маскирует каждый управляющий код непрозрачным плейсхолдером перед отправкой провайдеру, затем восстанавливает их точно — и если какой-либо плейсхолдер не проходит круговой обход, единица помечается неудавшейся, чтобы остался оригинальный японский.
Упакованные exe (Enigma Virtual Box)
Некоторые игры MV/MZ поставляются с папкой data/, встроенной внутрь .exe через Enigma Virtual Box, поэтому нет россыпных файлов JSON, на которые навести инструмент. RuneTranslate определяет их, распаковывает встроенные данные встроенным сайдкаром и переводит их как обычно — экспорт записывает полную распакованную, играбельную копию с пропатченной переведённой data/.
Практические советы по рабочему процессу
- Не редактируйте файлы JSON вручную. Используйте встроенный редактор для ручных правок — он отслеживает, какие единицы вы отредактировали, поэтому повторный запуск переводчика сохраняет вашу работу.
- Переводите параметры плагинов последними. Большинство — это конфиг / текст интерфейса; сначала прогоните диалоги, затем плагины отдельным проходом с дешёвым провайдером.
- Сохраняйте сейвы между переводами. RPG Maker загружает сейвы по индексу строки данных, а не по строке, поэтому пока вы не переупорядочиваете события, игроки сохраняют свои сейвы при повторном переводе.
Для полного разбора RPG Maker смотрите страницу движка RPG Maker или скачайте RuneTranslate (бесплатно — каждый движок и провайдер включён) и попробуйте на своей игре. Чтобы сравнить провайдеров для RPG Maker, см. Лучшие провайдеры для перевода японских игр.
Готовы попробовать RuneTranslate?
Бесплатный тариф открывает все движки и всех провайдеров перевода. Supporter ($3/mo) открывает полную скорость.
Скачать для Windows
