Translate RPG Maker MV/MZ/VX Ace/2000/2003, Ren'Py, TyranoScript, SRPG Studio, Kirikiri, and Crowd engine games using local or cloud LLMs.
Local LLM (Ollama + Qwen 3.5 — free, private, no content filters) or Cloud API (OpenAI, Gemini, DeepSeek, Anthropic — experimental, pay-per-token).
Auto-tuned to maximize GPU speed. Pronoun-aware. Glossary-driven. Batch translation with resume.
Per-engine settings, prompts, and model selection via the Engines tab.
Designed by a human, coded with Claude Code.
Cloud API engine ported from DazedMTLTool (MIT).
Built solo with local LLMs and Claude Code. If this saved you hours of work, consider supporting development:
Open a game folder. Hit Batch Translate. Get a playable translation. Supports 9 engines — auto-detected on open.
| 1 | |
| Local LLM (free) | Ollama + Qwen 3.5:9b on your GPU — auto-tuned for your hardware, no API keys, no content filters, no account bans. Your data never leaves your PC |
| Cloud API (experimental) | OpenAI, Gemini, DeepSeek, Anthropic — DazedMTL-compatible batch mode with live cost tracking |
| Per-engine settings | Each engine has its own context, batch size, workers, word wrap, model, and system prompt — configurable in the Engines tab |
| Pronoun system | Actor genders, speaker detection, \N[n] character mapping — the LLM knows who's "he" and who's "she" |
| Glossary-driven | Two-layer glossary auto-built from translated DB names — "Potion" stays "Potion" everywhere |
| Open in RPG Maker | One-click workspace with directory junctions — edit and playtest translations in RPG Maker's visual editor |
| Crash-proof | Auto-saves every 25 entries, project resume, translation memory deduplication |
- Key Features
- Quick Start
- Recommended Models
- Cloud API Providers
- Translation Workflow
- Glossary System
- Open in RPG Maker
- Settings Reference
- Supported Formats & Languages
- Troubleshooting
- Acknowledgments
- Pronoun-aware gender system — Assigns actor genders, detects speakers from dialogue headers, maps
\N[n]codes to characters so the LLM uses correct pronouns. - Two-stage workflow — Translate database names first (items, skills, enemies), then dialogue. DB names auto-populate the glossary.
- Two-layer glossary — General glossary (shared, ~100 presets) + project glossary (auto-built from DB translations). Smart injection — only matching terms sent per request.
- Batch by Actor — Groups dialogue by speaker gender (female > male > unknown) for maximum pronoun accuracy.
- Translation memory — Deduplicates identical strings before batch. If 50 NPCs say the same line, the LLM translates it once.
- Translation history — Last 10 translations sent as context so the LLM maintains consistent tone and pronouns across sequential dialogue.
- Auto-retry — Detects leftover Japanese in output and retries with a stronger prompt.
- Auto-save & checkpointing — Saves every 25 entries during batch. Crash-proof.
- Auto-tune — Tournament-style calibration finds your GPU's optimal batch size automatically. Just hit translate and it figures out the fastest settings.
- Per-engine configuration — Each engine gets its own context window, batch size, workers, word wrap, model override, and system prompt via the Engines tab in Settings. A "Default (All Engines)" row lets non-tinkers set everything at once.
- DazedMTL Mode — One-click toggle: batch 30, 4 workers, DazedMTL prompt. Works with both local Sugoi and cloud APIs.
- Open in RPG Maker — Creates a workspace with directory junctions so you can QA and playtest translations in RPG Maker's visual editor. Auto-detects MV vs MZ.
- Cloud cost tracking — Real-time token count and USD cost during batch translation.
- Translation variants — Generate 3 different translations per entry and pick the best one.
- Word wrap plugin — Auto-injected JS plugin wraps dialogue at render time using pixel measurements. Also hooks Window_Help for skill/item descriptions. No manual line break guessing.
- Post-processor — Automated fixes after batch translate: placeholder leaks, collapsed color codes, missing spaces, spurious newlines, skill message spacing, and more.
- Grammar polish — English-to-English LLM pass to fix awkward phrasing without retranslating from Japanese.
- Prompt presets — Default, Sugoi (DazedMTL Full), DazedMTL Simple, or Custom. Reset Default and Clear buttons.
# Install Ollama: https://ollama.com/download
# Then grab Qwen 3.5 (best JP→EN model):
ollama pull qwen3.5:9bpip install -r requirements.txt
python main.py- Project > Open Project — point to your game folder (any supported engine auto-detected)
- Assign actor genders in the popup dialog (RPG Maker engines)
- Batch DB (
Ctrl+D) — translate names/items/skills first - Batch Dialogue (
Ctrl+T) — translate dialogue with auto-glossary - Game > Apply Translation (
Ctrl+E) — write back to game files - Game > Open in RPG Maker (
Ctrl+R) — QA in the visual editor (MV/MZ only)
Best JP→EN model available locally. 262K native context window, multimodal (also used for image OCR), handles honorifics, adult content, and RPG Maker control codes. Works for all 24 supported target languages.
| GPU VRAM | Model | Command |
|---|---|---|
| 6GB | Qwen 3.5:9b Q4_K_M | ollama pull qwen3.5:9b |
| 10GB | Qwen 3.5:9b Q8_0 | ollama pull qwen3.5:9b-q8_0 |
| 12GB | Qwen 3.5:14b Q4_K_M | ollama pull qwen3.5:14b |
| 16GB | Qwen 3.5:14b Q8_0 | ollama pull qwen3.5:14b-q8_0 |
| 24GB | Qwen 3.5:30b Q4_K_M | ollama pull qwen3.5:30b |
The 9b model is the sweet spot — fast, fits in 6GB VRAM, and produces excellent translations.
In Settings, switch Provider to OpenAI/Gemini/DeepSeek/Anthropic, enter your API key, and go. Same workflow, same features, pay per token. Cheapest option: Gemini 2.0 Flash at $0.10/$0.40 per 1M tokens.
Note: Cloud APIs may refuse or filter adult content and can ban accounts for repeated NSFW requests. For unrestricted translation of all content types, use Local LLM — everything runs on your GPU, nothing is sent to the cloud.
Experimental: Cloud API support is functional but less battle-tested than local Ollama. Expect occasional edge cases. Cloud APIs may also refuse or filter adult content — see Local LLM note above.
| Provider | Models | Pricing (per 1M tokens) |
|---|---|---|
| Google Gemini | gemini-2.0-flash, 2.5-flash, 2.5-pro | $0.10–$1.25 in / $0.40–$10.00 out |
| OpenAI | gpt-4.1-mini, gpt-4.1, gpt-5 | $0.40–$2.00 in / $1.60–$10.00 out |
| DeepSeek | deepseek-chat | $0.27 in / $1.10 out |
| Anthropic | claude-sonnet-4.5 | $3.00 in / $15.00 out |
All providers use the OpenAI SDK as a universal abstraction. Switch in Settings > Provider, enter your API key, and the rest is automatic — batch size, workers, and prompt presets auto-configure.
- Batch DB (
Ctrl+D) — Translates database entries: item names, skill names, enemy names, system terms. These become glossary entries. - Review DB names — Fix any mistranslations in the table. Corrections auto-update the glossary.
- Batch Dialogue (
Ctrl+T) — Translates dialogue, events, and plugin text using the glossary built in step 1.
This prevents inconsistencies like an NPC saying "Take the Holy Sword" when the inventory calls it "Sacred Blade".
- Batch All (
Ctrl+Shift+T) — DB + dialogue in one pass (skips manual review step) - Batch by Actor (
Ctrl+Shift+A) — Groups by speaker gender for best pronoun accuracy. Shows a breakdown before starting.
- Translate Selected — Translate specific rows
- Retranslate with Correction — Hint what was wrong ("use she/her", "too literal")
- Show Variants (3 options) — Pick from 3 different translations
- Mark Reviewed / Skip — Track QA progress
- Polish Grammar — English-to-English cleanup pass
The glossary forces the LLM to use specific translations for Japanese terms. Only terms that appear in the current text are injected — a 200-entry glossary doesn't bloat prompts.
Two layers:
- General Glossary (Settings) — Shared across all projects. ~100 presets for common RPG terms.
- Project Glossary (Settings) — Per-project. Auto-populated from translated DB names.
Project entries override general entries for the same JP term.
Glossary menu:
- Import/Export vocab files (DazedMTL-compatible format)
- Scan a translated game folder for JP→EN pairs
- Build glossary from this project's translations
- Apply glossary to fix inconsistent translations
Game > Open in RPG Maker (Ctrl+R) creates a workspace folder with directory junctions pointing to the game's data and assets. RPG Maker opens it as a project — you can playtest, inspect events, and verify translations in the visual editor.
- Auto-detects MV vs MZ engine
- Zero disk space (junctions, not copies)
- Edits in RPG Maker write directly to game files
- Works with RPG Maker MV ($6 on sale) or MZ
| Setting | Default | Description |
|---|---|---|
| Provider | Ollama (Local) | Translation engine — Ollama, OpenAI, Gemini, DeepSeek, Anthropic, Custom |
| Model | (auto-detected) | LLM model. Qwen 3.5:9b recommended for JP→EN |
| Prompt Preset | Default / Sugoi | Preset prompt or Custom. Reset Default / Clear buttons |
| DazedMTL Mode | Off | One-click: batch 30, 4 workers, DazedMTL prompt |
| Target Language | English | 24 languages with quality ratings |
| Context window | 10 | Recent dialogue lines as context (higher = better coherence) |
| Workers | 2 | Parallel translation threads (auto-set by provider) |
| Batch size | 5 | Lines per request (auto-set: 5 local, 30 cloud) |
| Auto-tune batch size | Off | Tournament calibration tests batch sizes 5-30 and picks the fastest for your GPU |
| Translation history | 10 | Recent translations sent as assistant messages |
| Dark mode | On | Catppuccin dark theme |
Per-engine overrides for Context, Batch Size, Workers, Word Wrap, and Model. A Default (All Engines) row sets values for all engines at once — individual engines can override specific settings. Each engine also has its own system prompt that evolves independently.
| Engine | Files | Status |
|---|---|---|
| RPG Maker MV | .json | Supported |
| RPG Maker MZ | .json | Supported |
| RPG Maker VX Ace | .rvdata2 | Supported |
| RPG Maker 2000/2003 | .ldb, .lmu | Supported |
| Ren'Py | .rpy | Supported |
| TyranoScript | .ks | Supported |
| SRPG Studio | data.dts | Supported |
| Kirikiri | .ks (KAG) + .xp3 archives | Supported |
| Crowd | .sce | Experimental |
All engines auto-detect when you open a game folder — no manual configuration needed.
RPG Maker MV/MZ — Separate engine handlers with independent system prompts. Full plugin extraction, speaker detection, namebox handling, face-aware word wrap, and patch zip export.
RPG Maker VX Ace — Parses Ruby Marshal binary files via
rubymarshal. Full database + event support (actors, items, skills, maps, common events, troops). Same two-stage DB → Dialogue workflow as MV/MZ. Window Scaler auto-injected on project open — VX Ace games run at tiny resolutions (544x416 or 640x480), so a Win32 API script is injected intoScripts.rvdata2that adds: PgUp/PgDn to scale the window (1x / 1.5x / 2x / 2.5x / 3x), F3 to cycle borderless fullscreen (ratio-kept → stretched → off). Pick your default scale in the dialog.
RPG Maker 2000/2003 — LCF binary parser for
.ldband.lmufiles. Word wrap at 50 chars/line. EasyRPG Player auto-downloaded on export for locale-free play on non-Japanese Windows.
Ren'Py — Parses
.rpyscript files for dialogue, narration, choices, and character definitions. Preserves{i},{b},{color=...}inline tags. Language-agnostic prompt (works for any source language, not just Japanese). Backup togame_original/, idempotent re-export.
TyranoScript — Auto-extraction from NW.js executables,
[r]/[p]/[emb]tag preservation via«CODE»placeholders, self-calibrating word wrap from original JP line lengths, VN-specific LLM prompt, and a dedicated post-processor for tag leak cleanup.
SRPG Studio — Decrypts and parses
data.dts(AES-128-CBC encrypted, zlib-compressed XML). Translates all text content and exports directly back to the encrypted format.
Kirikiri — Parses KAG3 script files in both
@name chara=/@eand[cn name=]/[en]dialogue formats. Built-in XP3 archive extraction — packed games are auto-extracted on open, no external tools needed. Auto-detected viastartup.tjsengine marker or[cn name=tags. Shares the visual novel LLM prompt with TyranoScript. Backup toscenario_original/, idempotent re-export.
Crowd (Experimental) — Reverse-engineered XOR cipher for
.sceencrypted script files (X-Change series, late 1990s–2000s). Auto-extracts the decryption key from the game exe — no manual configuration. Parses dialogue with 62+ speakers, narration, scene titles, and sound effects. Backup tosce_original/, idempotent re-export with re-encryption. Caveat: The Crowd engine's text renderer treats ASCII spaces as page breaks, so re-injecting English text into the original exe does not produce playable results without binary patching. Translation extraction and review works fine — consider using the translated script as a base for porting to Ren'Py or another modern engine.
24 languages supported. English is the primary target (use Sugoi for best quality). Other languages use Qwen3 with quality rated 2-5 stars in Settings.
Top tier: English, Chinese (Simplified/Traditional), Korean, Spanish, Portuguese, French, German Good: Russian, Italian, Polish, Dutch, Turkish, Indonesian, Vietnamese, Thai, Malay Fair: Arabic, Hindi, Ukrainian, Czech, Romanian, Hungarian, Tagalog
| Problem | Fix |
|---|---|
| "Cannot connect to Ollama" | Run ollama serve in a terminal first |
| Translations are slow | Use Qwen 3.5:9b with batch size 5+ or enable DazedMTL Mode (batch 30, 4 workers). Auto-tune finds your GPU's sweet spot |
| Wrong pronouns | Assign correct genders in the actor dialog, or use Batch by Actor mode |
| Missing control codes | Right-click > Restore Missing Codes, or they auto-restore at checkpoints |
| Cloud API errors | Check your API key in Settings. Test Connection button verifies connectivity |
| Plugin translations break game | Plugin entries are skipped by default. Only unskip display text (menu labels, descriptions) |
| RM2K game won't launch | Japanese locale issue — use EasyRPG Player (auto-copied on export) or Locale Emulator |
- DazedMTLTool (MIT) — Cloud API engine, batch translation approach, prompt presets, and pricing config ported from DazedMTL. DazedMTL Mode mirrors their exact translation pipeline.
- Sugoi Toolkit — Fine-tuned JP→EN translation models optimized for visual novels and RPGs.
- Ollama — Local LLM inference server that makes GPU translation free and private.
- rubymarshal — Ruby Marshal binary format parser, used for RPG Maker VX Ace
.rvdata2files. - pycryptodome — AES decryption for SRPG Studio
data.dtsfiles. - EasyRPG Player — Open-source RPG Maker 2000/2003 runtime, used for locale-independent play of translated RM2K games.
MIT

