Translating Japanese visual novels and games on Linux
Most Japanese visual novels run fine on Linux. Proton handles the Steam releases, and Wine or Bottles handles most of the rest, sometimes with a Japanese locale (LC_ALL=ja_JP.UTF-8) so the game shows its text correctly.
Getting the text out is the harder part. The tools VN readers rely on, Textractor and LunaTranslator, are Windows programs. On Linux you either bring them along into Wine, or you use something that reads the screen instead.
Two ways to get the text
A text hooker reads the line from the game’s memory, so you get exact text with no recognition errors. It has to run in the same process space as the game, which on Linux means inside the same Wine prefix. An OCR tool reads the pixels on screen. It doesn’t care how the game runs, but it can misread decorative fonts. We went through the trade-offs in more detail in Text hooking vs OCR.
Option 1: the hooker inside Wine
You install Textractor or LunaTranslator into the same prefix (or the same bottle) as the game and run both there. When it works, you get the same setup Windows users have, Yomitan lookups included.
The catch is that it’s per game. Some engines hook cleanly; others need the game and the hooker to agree on the locale, the prefix and the Wine version, and a Proton game lives in its own prefix that Steam manages. If you already like Textractor and your game hooks, this is still the most accurate route. If it doesn’t hook after a few tries, OCR is less work than fighting the prefix.
- Textractor: https://github.com/Artikash/Textractor
- LunaTranslator: https://github.com/HIllya51/LunaTranslator (on Arch, the AUR package
luna-translatorwraps it in Wine)
Option 2: OCR that runs natively
These run as Linux programs, outside Wine, and read the game window or a region of the screen.
| Tool | What it does | Linux notes |
|---|---|---|
| owocr | Japanese-focused OCR. Reads the clipboard, a screen region or a window and sends the text to the clipboard or a websocket, where a texthooker page and Yomitan pick it up. Many OCR engines to choose from. | Runs on Wayland and X11; the README notes that clipboard and keyboard features differ on GNOME. |
| Interpreter | OCR plus offline translation (Sugoi V4 by default, or your own LLM endpoint) shown as a subtitle bar or over the game. Tuned for pixel fonts in retro games. MIT licensed. | X11, XWayland and Wayland; on Wayland the in-place overlay needs a fullscreen window. |
| Playto | Reads the game screen, translates with a local model, shows the line over the game, and keeps the lines you save for review. | KDE Plasma and GNOME, Wayland or X11. Details below. |
owocr is the one to pick if you already mine sentences with Yomitan and Anki: you keep your dictionary workflow and only replace the hook. Interpreter is a good fit if you mostly want to follow the story in English with as little setup as possible.
Where Playto fits
Playto is built for learning the language rather than only reading the story. You set a capture area over the text box, and each new line appears with its translation over the game and in the Log. When a word or line is worth keeping, you save it, and it comes back later in Practice, or as an Anki deck with the screenshot on every card.
On Linux it reads text with PP-OCR and translates with a local model on Vulkan or the CPU, so there is no API key and the text stays on your PC. A visual novel running through Proton or Wine is an X11 window to Playto, so it is read straight from the window on both KDE and GNOME. KDE Plasma gets the most complete setup; on GNOME, a game that runs natively on Wayland keeps the translation at the bottom of the screen. The Linux docs list what works on each desktop.
A few limits worth knowing. OCR depends on the font, so a heavily stylised font reads worse than a plain one. Short lines and words come out reliably; a long line’s translation is better treated as a hint. The Linux version is part of Playto Standard on Steam; Playto Lite, the free version, has no Linux build, and the Steam Deck is not supported.
Which to pick
If your game hooks under Wine, keep the hooker: exact text beats any OCR. If it doesn’t, or you play across several engines and don’t want to set each one up, use OCR. Among the OCR tools, choose by what you do with the text afterwards: Yomitan and your own Anki setup (owocr), a quick English read (Interpreter), or a translation over the game plus saved lines to review later (Playto).