Поддерживаемый движок · RPG Maker XP / VX / VX Ace
RPG Maker XP, VX и VX Ace — это Ruby-поколение RPG Maker, то есть RGSS1, RGSS2 и RGSS3, — и они хранят игровые данные в совершенно ином формате, чем MV и MZ на JavaScript. Вместо читаемого JSON всё лежит в бинарниках Ruby Marshal внутри Data/: Map001.rxdata на XP, .rvdata на VX, .rvdata2 на VX Ace, рядом с файлами базы данных и System. В released-сборке эти файлы обычно упакованы в зашифрованный архив RGSSAD — Game.rgssad (XP), Game.rgss2a (VX) или Game.rgss3a (VX Ace), — лежащий рядом с исполняемым файлом. RuneTranslate работает с обоими слоями сам, на чистом TypeScript. Он читает архив напрямую — без установленного Ruby, без редактора RPG Maker и без отдельной утилиты распаковки — и разбирает данные Marshal 4.8 внутри собственными ридером и райтером, которые переписывают только строковые листья: числа с плавающей точкой, таблицы и тела всех остальных объектов переиздаются байт в байт, так что файл, который загружает игра, структурно тот же, с каким она вышла. Дальше он вытаскивает диалоги событий карт (код события 101 на XP, 401 и 405 на VX и VX Ace), списки Show Choices, имена событий и названия карт, базу данных — имена, прозвища, описания и заметки персонажей, предметов, навыков, оружия, брони, врагов и состояний — и словарь System вместе с названиями стихий. Управляющие коды вроде \C[1], \N[2] и \V[3] маскируются до того, как текст уйдёт провайдеру, а диалоги при экспорте переносятся по словам, чтобы помещаться в окно сообщения. Одна оговорка прямым текстом: VX Ace работает на Ruby 1.9 и помечает каждую строку её кодировкой, то есть он полностью в Unicode. XP и VX работают на Ruby 1.8 и хранят текст непомеченными байтовыми строками Shift-JIS, из-за чего они чувствительнее к краевым случаям кодировок — там безопаснее всего цели «английский» и ромадзи. Более новое поколение MV и MZ описано на странице RPG Maker MV / MZ.
Игры RPG Maker на Ruby длинные, и одни и те же существительные повторяются повсюду: название навыка, написанное в одном событии, всплывает снова в базе данных, в боевом логе и в меню магазина. Внесите имена группы, названия городов, ключевые предметы и фирменные навыки в глоссарий один раз — и каждый провайдер передаст их одинаково по всей папке Data/. На XP и VX это важнее, чем на VX Ace: их текст в Shift-JIS оставляет меньше шансов заметить имя, которое поплыло на середине 40-часовой игры. Глоссарий: основы →
Откройте папку игры и посмотрите на Data/. Файлы с расширением .rxdata означают RPG Maker XP, .rvdata — VX, а .rvdata2 — VX Ace. Если папки Data/ нет, поищите рядом с исполняемым файлом Game.rgssad (XP), Game.rgss2a (VX) или Game.rgss3a (VX Ace) — данные лежат внутри этого архива. Если же вы видите www/data/*.json или data/*.json, у вас MV или MZ; для них используйте страницу RPG Maker MV / MZ.
Запустите RuneTranslate, нажмите New project и укажите его на папку с исполняемым файлом игры. Определение автоматическое: оно сообщает, какая из трёх версий найдена и лежат ли данные россыпью или в архиве. Зашифрованный RGSSAD читается напрямую, а его файлы Data расшифровываются в рабочее пространство проекта — ни среда Ruby, ни внешний распаковщик не задействованы.
Выберите целевой язык, затем провайдера: Google и бесплатные варианты DeepL вообще не требуют API-ключа, API DeepL даёт сбалансированное качество, а OpenAI, Anthropic Claude, DeepSeek, любой OpenAI-совместимый эндпоинт или локальная модель через Ollama либо LM Studio справляются с длинными диалогами с учётом контекста. Исходный язык по умолчанию японский; для проекта можно задать любой поддерживаемый исходный язык.
RuneTranslate отправляет строки провайдеру пакетами и записывает их обратно в проект. Диалоги карт, варианты выбора, записи базы данных и термины System сгруппированы, поэтому можно проверять по одной карте или одной таблице базы данных за раз, править любую строку вручную и повторять неудавшиеся пакеты. Управляющие коды маскируются на всём пути, так что \C[1], \N[2] и \V[3] переживают круг целыми.
Экспорт записывает полную запускаемую копию игры с переведёнными данными Marshal на месте. Для игры в архиве архив расшифровывается в россыпь файлов в Data/, а сам архив отбрасывается — именно так RGSS загружает игру, у которой архива нет. Диалоги на выходе переносятся по словам. Результат — играбельная переведённая сборка, которая остаётся у вас, при нетронутом оригинале.