# KeywordGacha: an AI glossary generator for translation preparation

> KeywordGacha is a desktop application that reads novels, game scripts and subtitles, asks a large language model to extract names and terms, and writes a glossary you can hand to a translation tool. It saves the manual term list step, and it asks you for attribution and, for commercial work, permission before you use it.

**neavo/KeywordGacha** — 使用 AI 能力一键分析 小说、游戏、字幕 等文本内容并生成术语表的次世代翻译辅助工具

- Repository: https://github.com/neavo/KeywordGacha
- Stars: 925 · Forks: 39
- Language: Python
- License: not declared
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/neavo-keywordgacha

## The term list is the part of translation prep that eats the time

KeywordGacha, abbreviated KG, is a tool that uses AI to generate a terminology table automatically. The project argues the point in one line: a high quality glossary is the most important means of securing translation quality, and during the translation of long text a glossary achieves consistent naming, pronoun correction and character relationship guidance.

That framing tells you what the tool is and is not. It is not a translator. It is a preparation step that runs before translation and produces the artefact a translator, a translator tool or a reviewer then works from. The author describes it as a next generation tool for the Chinese community, and the interface is bilingual.

The claimed payoff is speed and coverage. The project states that a subtitle, novel or game text can be analysed within minutes, and that the result has a high hit rate with semantic matching and automatic summaries of character information, compared with traditional tools. It reports a hit rate of about 90 percent when the generated glossary is compared with manually corrected ones on a random sample of works from a book ranking list, which is a project claim rather than an independent measurement.

The interface is deliberately plain: out of the box, almost nothing needs configuring, and the functionality is not supposed to be hidden behind complicated settings.

## A Windows application you start by double clicking app.exe

This is a desktop application, not a library and not a service. The distribution step is to download the build from the releases page, and the running step is to double click app.exe.

The project layout confirms the shape of it. The repository root holds app.py as the entry point, alongside base, frontend, model, module, resource and widget directories, a requirements.txt, a version.txt and a Windows batch file used for development. The requirements file shows the stack.

```python
PyQt-Fluent-Widgets[full]
openai
anthropic
google-genai
tiktoken
opencc
openpyxl
lxml
beautifulsoup4
```

Three client SDKs for three model providers sit at the top of the dependency list, which matches the claim of compatibility with OpenAI, Google and Anthropic style interfaces. tiktoken suggests token counting for the model calls, opencc handles Chinese conversion, and the spreadsheet and parsing libraries account for the file formats the tool reads.

The workflow after launch is short. In the project settings you set the source language and the target language, you copy the text to translate into the input folder, which defaults to input, you press start, and the results are written to the output folder, which defaults to output.

## Where the model comes from decides both cost and quality

You need a model endpoint, and the project lists three routes with a clear order of preference.

The local route is free and needs a discrete graphics card with at least 8GB of video memory, with an Nvidia card described as the better choice. The VolcEngine route is paid but cheap, fast and high quality, needs no graphics card, and is the recommended option. The DeepSeek route is also paid and cheap with no graphics card requirement, and is marked as unstable during the day and offered as the backup.

Compatibility is described at the protocol level rather than the vendor level: the tool works with interfaces in the OpenAI, Google and Anthropic formats, whether they are local or online. That is what makes the three routes interchangeable, and it also means a provider that speaks one of those three shapes can be used even if it is not on the list.

The broader context matters here. The announcement at the top of the project notes that LinguaGacha now offers stronger fully automatic terminology generation, and the author suggests using that tool to complete terminology, translation and proofreading in one automatic flow. The same author publishes both tools, so the honest reading is that KG is the focused tool for the glossary step, while the sibling project covers the whole pipeline.

## Supported formats decide whether your game text is usable

When a task starts, the application reads every supported file in the input folder and its subdirectories. The list is long and specific, and it tells you what the tool is aimed at.

Subtitles are covered as .srt and .ass files, ebooks as .txt and .epub, and Markdown as .md. Game text has the widest coverage, because each engine and tool produces its own export format: .rpy files exported from RenPy, .json from MTool, .txt, .json and .xlsx from SExtractor, .json from VNTextPatch, the .trans project files of Translator++, the .xlsx export of Translator++, and the .xlsx export of the WOLF official translation tool. A wiki page documents the supported formats with examples, and the project says more formats will keep being added and asks for requests in issues.

Game text is the hard case, and the reason is not the format list but the export step. Game scripts usually have to be extracted first with a tool appropriate to the engine, and the extraction quality decides what the model ever sees. Subtitles and ebooks generally need no preprocessing at all.

## Best practices that amount to cleaning your input first

The frequently asked questions section of the project is short and mostly about input quality, which is the more useful signal about where this class of tool fails.

For novels, the advice is to remove text unrelated to the story before running the tool, such as author comments and publisher information. That is not a cosmetic tip. A glossary is only as good as the text it was derived from, and boilerplate front matter is exactly the material that produces confident nonsense entries.

For game text, the project recommends the RenPy .rpy export, the Translator++ .trans project file and the Translator++ .xlsx export, and tells you to avoid the MTool .json export. If the extraction result looks poor, the suggestion is to try several export tools and formats, because sometimes that makes a difference.

There is also a fallback inside the application itself. When a task cannot continue, the log files in the program directory, named with the .log extension, are what the project asks you to attach when reporting a problem, alongside the option of discussing it in the project group.

## Attribution is required and commercial use needs permission

The special notice at the top of the project is the governance fact that matters most, and it is easy to miss because it is short. If you used KeywordGacha in a translation process, the project asks you to state that in a visible place in the work information or release page. If your project involves any commercial activity or commercial benefit, the project asks you to contact the author for authorisation before using it.

That is not the same as an open source licence, and the licence field on the repository carries no value that GitHub can classify, and there is no LICENSE file among the top level entries of the repository. So the terms you actually have are the two sentences in the notice, not a standard permission grant.

For a translator working on a personal project, the practical effect is a credit line. For a studio, a localisation team or anyone shipping a commercial release, the practical effect is that you need a conversation with the author before you start, and a published glossary produced with the tool may carry obligations you cannot meet by simply adding a credit.

The release naming makes the same point from a different angle. The three most recent tags are named MANUAL_BUILD_v0.20.2, MANUAL_BUILD_v0.20.1 and MANUAL_BUILD_v0.20.0, which says the builds are published by hand rather than from an automated pipeline.

## Code moved in 2026 while the last published build is from June 2025

The activity dates are worth separating. The last push was on 2026-09-22, so the repository is receiving work, and the most recent tagged build is MANUAL_BUILD_v0.20.2 from 2025-06-13, with v0.20.1 and v0.20.0 from the days before that. The last changelog entry in the project describes v0.20.2 as fixing the problem where a task could not continue, and v0.20.1 as adding output of candidate data and of KVJSON files, with v0.20.0 being the rewrite with a bilingual graphical interface, a much smaller application size, custom term types and multi-language analysis.

So the working tree is a year ahead of the newest downloadable build. For a tool distributed as a Windows executable rather than as a package, that matters, because the usual way to pick up a fix is to download a build, and the newest published build is old enough that it predates whatever has changed since.

The version file in the repository root, version.txt, and the application itself are where the running version can be confirmed, and the logs are the place to look when reporting a problem. There is no public homepage for the project, so the repository and its wiki are the documentation.

## Conclusion

Adopt KeywordGacha when you translate long text and your bottleneck is building the term list by hand, when you already have a usable model endpoint, and when you are prepared to credit the tool in your release notes. Do not adopt it for commercial work without contacting the author first, because the project asks for authorisation ahead of any commercial use, and do not adopt it if you cannot run a Windows desktop application, since the deliverable is an executable rather than a library. Before the first run, pick the model backend, read the wiki pages for the provider you intend to use, and check the output format against the translator you plan to feed, since the results are written to an output folder in a form that has to import cleanly into the tool that follows.

## FAQ

### What does KeywordGacha do and what does it not do?

It analyses text with an AI model and generates a terminology glossary, which the project presents as the key preparation step before translation. It does not translate the text itself; the results are written to an output folder to be imported into a translation tool such as LinguaGacha.

### How do I run KeywordGacha?

Download the application from the project releases page and double click app.exe. In the project settings you set the source and target languages, copy the files to translate into the input folder, press start, and the results are written to the output folder.

### Which AI model backends does KeywordGacha support?

It is compatible with interfaces in the OpenAI, Google and Anthropic formats, local or online. The project suggests a local interface needing at least 8GB of graphics memory, VolcEngine as the recommended paid option with no graphics card requirement, and DeepSeek as a paid backup.

### Which file formats can KeywordGacha read?

Subtitles as .srt and .ass, ebooks as .txt and .epub, Markdown as .md, and game text in the exports of RenPy, MTool, SExtractor, VNTextPatch, Translator++ and the WOLF official translation tool. Game text generally has to be exported with a tool for its engine first.

### Can I use KeywordGacha for a commercial project?

The project asks you to contact the author for authorisation before using it in any commercial context, and to state the use visibly in the work information or release page. The licence field on the repository carries no value and there is no LICENSE file among the top level entries.

## Sources

- [Issues](https://github.com/neavo/KeywordGacha/issues)
- [neavo/KeywordGacha on GitHub](https://github.com/neavo/KeywordGacha)
- [README](https://github.com/neavo/KeywordGacha/blob/main/README.md)
- [Releases](https://github.com/neavo/KeywordGacha/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/neavo-keywordgacha
