Supported engine · RPG Maker XP / VX / VX Ace
RPG Maker XP, VX and VX Ace are the Ruby generation of RPG Maker — RGSS1, RGSS2 and RGSS3 — and they store their game data in a completely different format from the JavaScript-based MV and MZ. Instead of readable JSON, everything lives in Ruby Marshal binaries under Data/: Map001.rxdata on XP, .rvdata on VX, .rvdata2 on VX Ace, alongside the database files and System. A released game usually ships those files inside an encrypted RGSSAD archive — Game.rgssad (XP), Game.rgss2a (VX) or Game.rgss3a (VX Ace) — sitting next to the executable. RuneTranslate handles both layers itself, in pure TypeScript. It reads the archive directly, with no Ruby install, no RPG Maker editor and no separate unpacking tool, and it parses the Marshal 4.8 data inside with an in-house reader and writer that rewrites only string leaves — floats, tables and every other object body are re-emitted byte-for-byte, so the file the game loads is structurally the one it shipped with. From there it pulls map event dialogue (packed in event code 101 on XP, 401 and 405 on VX and VX Ace), Show Choices lists, event and map names, the database — actor, item, skill, weapon, armor, enemy and state names, nicknames, descriptions and notes — and the System vocabulary plus element names. Control codes such as \C[1], \N[2] and \V[3] are masked before text reaches a provider, and dialogue is word-wrapped on export so it fits the message window. One caveat stated plainly: VX Ace runs Ruby 1.9 and tags every string with its encoding, so it is Unicode end to end. XP and VX run Ruby 1.8 and store text as untagged Shift-JIS byte strings, which makes them more prone to encoding edge cases — English and romaji targets are the safest choice there. The newer MV and MZ generation is covered on the RPG Maker MV / MZ page.
Ruby-era RPG Maker games are long and repeat the same nouns everywhere — a skill name written in one event appears again in the database, the battle log and a shop menu. Add the party's names, town names, key items and signature skills to the glossary once and every provider renders them identically across all of Data/. This matters more on XP and VX than on VX Ace, because their Shift-JIS text leaves less room to notice a name that drifted halfway through a 40-hour game. Glossary 101 →
Open the game folder and look at Data/. Files ending .rxdata mean RPG Maker XP, .rvdata mean VX, and .rvdata2 mean VX Ace. If Data/ is missing, look next to the executable for Game.rgssad (XP), Game.rgss2a (VX) or Game.rgss3a (VX Ace) — the data is inside that archive. If instead you see www/data/*.json or data/*.json, you have MV or MZ; use the RPG Maker MV / MZ page for those.
Launch RuneTranslate, click New project and point it at the folder containing the game executable. Detection is automatic and reports which of the three versions it found and whether the data is loose or archived. An encrypted RGSSAD is read directly and its Data files are decrypted into a per-project workspace — no Ruby runtime and no external unpacker are involved.
Choose your target language, then a provider: Google and the free DeepL options need no API key at all, the DeepL API gives balanced quality, and OpenAI, Anthropic Claude, DeepSeek, any OpenAI-compatible endpoint or a local model through Ollama or LM Studio handle long dialogue with context. Japanese is the default source language; any supported source can be set per project.
RuneTranslate batches the strings out to the provider and writes them back into the project. Map dialogue, choices, database entries and System terms are grouped so you can review a map or a database table at a time, edit any line by hand, and retry failed batches. Control codes are masked throughout, so \C[1], \N[2] and \V[3] survive the round trip intact.
Export writes a full runnable copy of the game with the translated Marshal data in place. For an archived game the archive is decrypted to loose files in Data/ and the archive itself is dropped, which is how RGSS loads a game with no archive present. Dialogue is word-wrapped on the way out. The result is a playable translated build you keep, with the original untouched.