Model or dataset
GalTransl/GalTransl avatar
GalTransl/GalTransl

GalTransl: an automated translation pipeline for visual novel patches

支持GPT-4/Claude/Deepseek/Sakura等大语言模型的Galgame自动化翻译解决方案 Automated translation solution for visual novels supporting GPT-4/Claude/Deepseek/Sakura

2,266 stars158 forksPythonGPL-3.0

At a glance

What is it?
GalTransl is a Python tool that turns extracted Japanese visual novel scripts into Chinese ones using GPT-4, Claude, Deepseek or Sakura models, then helps you pack the result back into the game. It ships a Tauri desktop app, but the hard part is still the engine work around it.
Who is it for?
GalTransl fits people who already know how to unpack a visual novel engine and want the translation and dictionary layer handled for them, and it fits developers who want the plugin and cache internals. It is a poor fit if you expect one click from a game folder to a finished patch, because the README's own workflow spends most of its length on engine identification, script extraction and re-injection, none of which GalTransl does by itself.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 16, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What GalTransl actually automates in a visual novel translation

The README describes the project as a set of automation scripts that solve most of the known problems with using ChatGPT to translate a Galgame, plus a desktop GUI built on Tauri and React so the workflow can run without a command line. The scope is deliberately narrow: GalTransl handles the middle of the pipeline, where Japanese script text becomes Chinese script text. It does not identify the engine, unpack the resource archive, or repack it.

The README's own four-step outline makes that boundary explicit. Step one is engine identification and unpacking, step two is script extraction, translation and rebuilding the Chinese script, step three is packing the archive, and step four is dealing with Shift JIS engines that cannot display Chinese. GalTransl owns step two. For steps one and three it points at other projects, including GARbro, KirikiriTools, UniversalInjectorFramework, VNTextProxy, SExtractor and msg-tool, listed in a useful-tools table.

That makes the audience fairly specific. If you have never unpacked a visual novel, the README's tutorial chapters are written for you, but you will spend most of your time on tools that are not GalTransl. If you already know which archive holds the scenario files, GalTransl is the part that saves you weeks of manual editing.

How the translation pipeline and GPT dictionary work

The core is prompt engineering over a chat model. GalTransl sends script text to a configured engine, and the README states that its prompt design improves GPT translation quality compared with naive prompting. The feature list names GPT-4, Claude, Deepseek and Sakura as supported model families, and the configuration section of the README is where per-engine API settings live.

The distinctive mechanism is the GPT dictionary, which the README calls a first of its kind. Its purpose is to let the model know a character's persona so that names, pronouns and unusual words are translated consistently rather than guessed per line. Around that sit pre-translation and post-translation dictionaries plus conditional dictionaries, which the README describes as a flexible automated dictionary system. In practice this is where a translation patch stops reading like machine output: recurring names and honorifics get pinned down by rule instead of by model whim.

Two operational features matter for long runs. Caches are saved in real time, and translation resumes automatically from a breakpoint, so a run that dies partway through does not restart from zero. The README also mentions a plugin system introduced in v4 and file-based multithreading introduced in v3, which is how the tool scales across a script directory rather than a single file.

Input formats go beyond game scripts. The README lists direct support for srt, lrc and vtt subtitle files, mtool json files, t++ excel files and epub files. That is a wider net than the project name suggests, and it means the dictionary and cache machinery is reusable for subtitle work.

Installing the GalTransl desktop app or the command line version

The README recommends the desktop build for normal use. You download the latest archive from the Releases page, extract it, and double-click GalTransl Desktop.exe. The README states that this requires no Python installation and no dependencies, and that the desktop app starts the backend service itself.

If you want the command line version or plan to modify the code, the README specifies Python 3.11.9, with the installer option to add Python to PATH, and a dependency step. The repository ships a batch file for this, and the manual equivalent is pip install -r requirements.txt.

bash
pip install -r requirements.txt

Running the desktop app from source is a separate, heavier path. The README requires Python 3.11.9 and Node.js LTS on PATH, plus Rust with the default Windows MSVC toolchain if you want the native window rather than the browser development page. Environment setup is done once from the repository root:

powershell
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
npm.cmd --prefix desktop ci

Day-to-day startup is a single batch file. The README notes the script activates the repository .venv and looks for Cargo under %USERPROFILE%\.cargo\bin.

powershell
.\run_desktop_dev.bat

The backend listens on http://127.0.0.1:12333 and the frontend development page on http://127.0.0.1:1420/. If Cargo is present, a Tauri window is compiled and opened; if not, the script falls back to browser development mode, which the README says needs no Rust, C++ build tools or WebView2. Frontend edits hot reload, Rust edits recompile, and Python backend edits require restarting the backend. Stopping the desktop window alone does not stop a separately running Python backend, so the README tells you to press Ctrl+C in both consoles.

Before translating a whole game, the README advises translating only the first script file, or injecting a small amount of Chinese text and confirming the game displays it, then running the full translation. That ordering is worth following literally.

Where GalTransl stops and other tools must take over

The most honest limitation is structural. GalTransl translates text; it does not get text out of a game or put it back. The README's step one and step three depend on external tools, and its own tutorial says VNTextPatch, the general extractor and injector it builds on, fails on some games in practice. The README states plainly that not every supported engine works and that extraction failures happen. A failed extraction is not a GalTransl bug, but it blocks the entire workflow.

The second limitation is the Shift JIS problem. If the engine cannot render Unicode, the README's step four says you must try one of two routes to make it display Chinese, using injection frameworks such as UniversalInjectorFramework or VNTextProxy. That is engine-level hacking, not translation, and no amount of prompt tuning helps.

Third, the README attaches a publishing condition to output: if you release a translation without full proofreading and polishing, it asks you to label it prominently as a GPT or AI translation patch rather than as a personal or AI human-translation patch. That is a statement about expected quality, and it should temper any plan to ship raw model output.

Finally, the desktop GUI is recent. The README dates it to the v7 update in 2026.4, while the command line path has existed since v1 in 2023.6. Anyone depending on the GUI is depending on the newest and least battle-tested surface of the project.

GalTransl compared with AiNiee and other translation front ends

AiNiee appears in the search terms people use around this project, and the comparison is fair because both wrap large language models for game translation. The difference is in what surrounds the model call. GalTransl's self-described core is prompt engineering plus a dictionary system built for visual novels: a GPT dictionary for persona and proper nouns, pre and post dictionaries, conditional dictionaries, and a cache that resumes after interruption. Its documentation is organized around producing an embedded patch, with chapters on unpacking, extraction and re-injection.

A generic subtitle or document translator tends to treat each line independently and offers a glossary at most. GalTransl's conditional dictionaries and persona dictionary are aimed at the specific failure mode of visual novels: the same character name or first-person pronoun rendered three different ways across a long script. If your problem is a one-off srt file, that machinery is overhead, and the README's own subtitle support means you could still use it, but a lighter tool would do.

Within the GalTransl ecosystem there is also a model choice rather than a tool choice. The README lists GalTransl-7B-v3.5 and GalTransl-14B-v3, local models tuned for visual novel translation, with the 7B variant deployable on GPUs with more than 6 GB of VRAM. The README states the 14B version is better overall thanks to a larger base model and improved alignment training. That gives you a local, no-API-cost path that a hosted-only front end does not.

Licence, maintenance and the cost of keeping up

GalTransl is GPL-3.0. If you distribute a modified version, or bundle it into something you ship, the licence's copyleft terms apply to that distribution. This is a real consideration for anyone building a commercial patching service on top of the code rather than just running the tool locally. Nothing here is legal advice; read the LICENSE file in the repository root before you redistribute anything.

On maintenance, the signals are current. The repository is not archived, the last push was on 2026-09-15, and the most recent release is 7.4.0 from 2026-09-06, following 7.3.0 in May 2026 and 7.2.0 in April 2026. The release cadence over 2026 is roughly monthly to quarterly.

Upgrade cost depends on which path you use. The desktop build is a downloaded archive, so upgrading means replacing it. The source path is heavier: the README warns that after updating the source you should re-run the Python dependency install and npm.cmd --prefix desktop ci if dependencies changed, and that the startup script does not install Python dependencies for you. A ModuleNotFoundError after an update almost always means the dependencies went somewhere other than the repository .venv. The requirements.txt is also not trivial, pulling in openai, tiktoken, fasttext-predict, vaporetto, budoux and others, with optional tokenizers such as jieba, pkuseg and hanlp commented out and hanlp flagged as very heavyweight and best installed manually.

Editorial conclusion

GalTransl fits people who already know how to unpack a visual novel engine and want the translation and dictionary layer handled for them, and it fits developers who want the plugin and cache internals. It is a poor fit if you expect one click from a game folder to a finished patch, because the README's own workflow spends most of its length on engine identification, script extraction and re-injection, none of which GalTransl does by itself. Before committing to a full run, translate a single script file, inject it back, and confirm the game renders the Chinese text; the README recommends exactly that check before translating everything.

Frequently asked questions

Which translator is the most accurate in the world?

GalTransl does not rank translators. The README names GPT-4, Claude, Deepseek and Sakura as the model families it can call, and it also lists the local GalTransl-7B-v3.5 and GalTransl-14B-v3 models, stating that the 14B version is better overall thanks to a larger base model and improved alignment training.

What is the best AI language translator?

The README does not compare translators on quality. It describes GalTransl as combining small innovations with prompt engineering, and it supports GPT-4, Claude, Deepseek and Sakura engines, with a GPT dictionary for persona, names and pronouns that is meant to keep a translation consistent across a long script.

What language cannot be translated on Google Translate?

The README does not discuss Google Translate or its language coverage. GalTransl's documented direction is Japanese visual novel scripts translated into Chinese, with direct support for srt, lrc and vtt subtitle files, mtool json files, t++ excel files and epub files.

How does DeepL Translator work?

The README does not describe DeepL. It documents GalTransl's own mechanism instead: script text is sent to a configured engine such as GPT-4, Claude, Deepseek or Sakura, with pre-translation, post-translation and conditional dictionaries applied around the model call, and caches saved in real time so a run resumes from a breakpoint.

Official sources

  1. GalTransl/GalTransl on GitHub
  2. Issues
  3. License: GPL-3.0
  4. README
  5. Releases
Community notes

Community notes