A next-generation desktop application for translating untranslated Visual Novels in real-time with transparent subtitles, zero-latency script knowledge base, and dynamic AI reasoning models.
โฌ๏ธ Download Latest Release โข ๐ Quickstart Guide โข ๐ก Best Practice Workflow โข โจ๏ธ Hotkeys
Note
Active Development: Visual Novel Translator is under active development. New features, UI polish, and performance optimizations are continuously added. Feedback, suggestions, and issue reports are warmly welcomed!
Visual Novel Translator allows you to read untranslated Japanese Visual Novels smoothly without modifying game archives or binary files.
Unlike traditional romhacking or script repacking tools (which require unpacking archive files, manipulating script bytecodes, and repacking everything), this application operates alongside your running game:
- Live Game Capture: Reads dialogue in real-time as you play via Textractor Memory Hooking (32-bit & 64-bit) or High-Speed Screen OCR (Windows 10 & 11).
- Transparent HUD Overlay: Displays smooth, customizable subtitles directly over your visual novel with click-through support.
-
Instant Script Knowledge Base: Matches lines against pre-loaded script files in
$< 0.1\text{ms}$ with zero network latency and perfect story consistency. - State-of-the-Art AI Translation: Leverages advanced LLMs and reasoning models (DeepSeek R1, OpenAI o1/o3, Claude 3.7 Sonnet, Gemini Flash) with custom style presets and multi-turn context memory.
- Click-Through Mode (
Ctrl + Shift + L): Seamlessly pass mouse clicks directly to the underlying game without interrupting choices or menu navigation. - Interactive Move & Resize: Toggle interactive mode to position, resize, and fine-tune your subtitle HUD with a visual drag handle.
- Built-in Aesthetic Presets: Choose from curated themes (Visual Novel Classic, Glassmorphism, Cyberpunk, Cinematic Widescreen, RPG Dialogue Box) or create custom designs.
- Full Customization & Custom CSS: Adjust fonts, outline thickness, text shadows, background blur, and inject custom CSS styles.
- Textractor Memory Hook (32-bit & 64-bit): Hooks directly into the visual novel process memory for instant, artifact-free text extraction.
- Supports combined speaker/dialogue streams (e.g.
ใๆบไปฃใใใใฏใใใ). - Supports separate thread pairing (capturing character name thread as ๐ค Speaker and text thread as ๐ฌ Dialogue with automatic synchronization).
- Supports combined speaker/dialogue streams (e.g.
- Native Windows OCR (Windows 10 & 11): High-speed screen OCR for non-hookable titles (browser games, emulators, engines with anti-hook protection).
- Dual region selection for dialogue box and speaker nameplate.
- Auto-scan timer or manual capture via hotkey (
F9).
- Adaptive OpenRouter Reasoning Engine: Automatically inspects model metadata to detect reasoning capabilities (Supported Efforts, Mandatory Reasoning, Token Budgeting, or Binary Toggle).
- Nested Hover Submenu Selector: Select model and effort level in 1 click via an intuitive flyout submenu (Default, Off, Minimal, Low, Medium, High, Max).
- Per-Model Preferred Effort Persistence: Remembers your preferred thinking effort individually for each model (e.g.,
Lowfor o3-mini,Mediumfor Gemini Flash Thinking,Maxfor o3-max).
- Curated Tone Presets:
- Standard Visual Novel: Natural flow balancing character nuance and readability.
- Light Novel & Expressive: Vivid emotional delivery and character vocal quirks.
- Erudite & Historical: Classic literature tone for period pieces and heavy lore.
- Casual & Modern Slang: Conversational tone with contemporary natural dialogue.
- Literal & Nuanced: Precise fidelity preserving original Japanese sentence structures.
- Custom User Presets & Variable Engine: Create and save your own translation system prompts with dynamic variable interpolation (
{{TARGET_LANG}},{{STYLE_INSTRUCTIONS}},{{GLOSSARY}}). - Live Interactive Preview: Test system prompts against mock dialogue lines in real-time before playing.
-
Sub-Millisecond In-Memory Lookup (
$< 0.1\text{ms}$ ): Pre-load translated script files (.json,.jsonl,.txt,.csv) into memory. Matching dialogue lines appear instantly on the overlay without making online API requests. - Multi-Tier Fuzzy & Canonical Matching: Compensates for line wraps, punctuation differences, and character prologue aliases (e.g. matching prologue alias ใใฏใฉในใกใคใใ with character name ใ็ซ ๅพใ).
- Auto-Learning Stream: Translations processed during your gameplay session can be automatically learned and saved to your local database for future playthroughs.
- Pre-Translate Entire Games: Translate extracted script files in bulk before playing.
- Concurrency & Resilient Retries: Multi-worker concurrent processing, automatic rate-limit backoff, and live token usage metrics.
- Auto-Save & Resume: Periodic checkpointing ensures long translation jobs never lose progress on unexpected interruptions.
- Terminology Consistency: Enforce strict character names, gender references, and route-specific terms across your entire playthrough.
- 1-Click VNDB Import: Enter any VNDB Visual Novel ID (e.g.
v17for Steins;Gate,v4for Fate/stay night) to instantly import official character names, aliases, and gender tags into your glossary.
- Furigana & Ruby Annotation Stripper: Automatically cleans pronunciation readings like
็ง(ใใใ),ๆผขๅญ[ใใใ], and<ruby>tags so the translator receives clean raw text. - Engine Formatting & Control Code Cleaner: Removes game engine formatting tags (e.g.
\c[2],\v[1], color/font codes), escape sequences, and null bytes. - Unicode NFKC & Japanese Punctuation Normalization: Standardizes half-width katakana, full-width characters, ellipses (
โฆโฆโโฆ), quotes, and strips decorative noise symbols (โช,โฅ,โ). - Custom Regex & Plain-Text Rules: Create custom replacement rules with source-specific targeting (Textractor, OCR, Batch, Manual) and test them live in the built-in interactive sandbox.
- Free Zero-Cost Translation: Instant out-of-the-box translation using Google Translate Web Stream and DeepL Free scraper (no API keys required).
- OpenRouter AI Gateway: Connect your OpenRouter API key to access 200+ state-of-the-art models with custom provider routing.
- Launch your Visual Novel game.
- Open Visual Novel Translator and navigate to ๐ฎ Textractor Input in the sidebar.
- Click Refresh Process List, choose your visual novel process, and click Attach Process.
- Advance dialogue in your game to populate the Detected Threads list:
- If the thread contains both speaker and dialogue (e.g.
ใ้ฅๆใใใใฏใใใ), set role to โจ Combined. - If speaker and dialogue appear on separate threads, assign one to ๐ค Speaker and the other to ๐ฌ Dialogue.
- If the thread contains both speaker and dialogue (e.g.
- Enable the In-Game Overlay (press
Ctrl + Shift + Lto reposition or resize). - Read smoothly! Subtitles update in real-time as you advance in-game dialogue.
- Launch your game.
- Navigate to ๐ท OCR Input in the sidebar.
- Click Select Dialogue Region and drag a bounding box over the game's text area.
- (Optional) Click Select Speaker Region if character names appear in a separate nameplate box.
- Set scan mode to Auto-Scan (Timer) or press
F9for instant manual capture. - Open the In-Game Overlay and enjoy.
For the ultimate reading experience with zero translation delay and maximum AI quality:
-
Extract game script files to
.txt,.json, or.jsonlusing extraction tools for your game engine. - Open โก Batch Translate to translate the script files using an AI model of your choice.
- Open ๐ Script Database, click Import Scripts, and add your translated files into the database.
- Launch your game and play with Textractor Hook:
- Every line of dialogue instantly matches your local database (
$< 0.1\text{ms}$ ) with zero API cost and no network lag. - Any unscripted lines gracefully fall back to live AI / MT translation.
- Every line of dialogue instantly matches your local database (
| Shortcut | Action |
|---|---|
Ctrl + Shift + L |
Toggle Overlay Click-Through / Interactive Move & Resize Mode |
Ctrl + Shift + P |
Pause / Resume Live Translation Stream |
F9 |
Trigger Instant Manual OCR Scan |
(Hotkeys can be customized under Settings โ General Settings)
Click to expand developer build instructions
- Node.js (v18.0 or newer)
- Rust & Cargo (v1.75 or newer)
- C++ Build Tools (Visual Studio Desktop Development with C++)
-
Clone the repository:
git clone https://github.com/acvirya/visual-novel-translator.git cd visual-novel-translator -
Install dependencies:
npm install
-
Run in development mode:
npm run tauri dev
-
Run automated test harness:
npx vitest run
-
Build production bundle (
.exe/.msi):npm run tauri build
Distributed under the GNU General Public License v3.0 (GPL-3.0). See LICENSE for full details.
Copyright ยฉ 2026 Anggatha Chandra Virya. All rights reserved.