← BackJan 6, 2026

Interpreter: A Fully Offline, Real‑Time Japanese Text Translator for Retro Games

Interpreter is a lightweight, cross‑platform application that captures text from any retro‑style game, performs OCR using a Japanese‑specific engine, translates the text to English, and displays the results in a floating overlay. With no internet dependency and full privacy, it’s ideal for developers and enthusiasts who need on‑device language support.

Interpreter is an open‑source, cross‑platform utility designed to translate Japanese text from classic video games on the fly. Built for Windows 10 (1903+), macOS, and Linux (X11, XWayland, Wayland), it requires no cloud services or online subscriptions, ensuring that all sensitive data stays on the user’s machine. ## Core Workflow 1. **Screen Capture** – The application captures the target window at a configurable refresh rate using OS‑native APIs. On Linux it optionally relies on GStreamer’s PipeWire plugin to support native Wayland capture. 2. **OCR** – A custom‑trained model called **MeikiOCR** extracts Japanese text pixel‑by‑pixel, tuned to the low‑resolution fonts common in retro titles. The GUI exposes a confidence slider that balances recall against precision. 3. **Translation** – Extracted text is fed to the **Sugoi V4** engine, which performs Japanese‑to‑English translation entirely offline. Initial launches trigger a ~1.5 GB model download; subsequent sessions reuse cached weights from the Hugging Face cache. 4. **Display** – Translated output is rendered in one of two overlay modes: * **Banner** – a central subtitle bar at the bottom of the screen. * **Inplace** – a transparent overlay that places translated characters directly over the original Japanese glyphs, maintaining click‑through support. ## Features * **Offline‑first** – After the initial setup, the tool needs no internet connection, eliminating API costs and latency. * **Privacy‑centric** – All text and translations remain local; no data leaves the host machine. * **Free and open‑source** – Distributed under an MIT license, encouraging community contributions. * **Optimized for retro games** – MeikiOCR’s training dataset focuses on pixel fonts and low‑resolution imagery, delivering higher accuracy than generic OCR solutions. * **Translation caching** – A fuzzy‑match cache prevents redundant translations for repeated or visually similar phrases. * **Multi‑display support** – Overlays appear on the same monitor as the captured window, accommodating multi‑monitor setups. ## Platform‑Specific Notes - **Global hotkeys** on Linux require group membership that grants input capture. The installer prints guidance on adding your user to the necessary group. - **Inplace overlay** on Wayland is limited to fullscreen windows due to the protocol’s security model, which prevents determining non‑fullscreen window positions. ## Installation Interpreters’ installation scripts provide a single‑liner experience: - **macOS / Linux**: ``` curl -LsSf https://raw.githubusercontent.com/bquenin/interpreter/main/install.sh | bash ``` - **Windows (PowerShell)**: ```powershell powershell -c "irm https://raw.githubusercontent.com/bquenin/interpreter/main/install.ps1 | iex" ``` After installation, launch the GUI with the command `interpreter-v2`. To upgrade, re‑run the same installation script. ## Using the Application The GUI presents a straightforward workflow: 1. **Select window** – Choose the game window you wish to capture. 2. **Configure settings** – Adjust OCR confidence, overlay mode, and caching options. 3. **Start** – Press the start button to begin real‑time translation. ### Overlay Modes - **Banner Mode** (default): A draggable, partially transparent subtitle bar displays translations at the screen’s bottom. - **Inplace Mode**: Overlay is click‑through; translated text is rendered over the original Japanese string, preserving the game’s visual context. ## Troubleshooting - **Low OCR accuracy** – Tweak the confidence slider. Lower values allow more detections (but may introduce noise), higher values restrict to higher‑confidence text. - **Initial performance lag** – The first launch must download language models; subsequent runs are faster as models are cached under `~/.cache/huggingface/`. ## Conclusion Interpreter demonstrates that sophisticated, real‑time language translation can be achieved entirely offline, even on resource‑constrained machines. By combining a game‑specific OCR model with an efficient translation engine, it offers developers a robust, privacy‑safe tool to localize retro gaming experiences without external dependencies.