ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

LunaTranslator 配置方法:从 HOOK 取词到视觉小说实时翻译的完整流程

LunaTranslator 配置方法:从 HOOK 取词到视觉小说实时翻译的完整流程

LunaTranslator 配置方法:从 HOOK 取词到视觉小说实时翻译的完整流程

【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator

LunaTranslator 是一款视觉小说翻译器,主打 HOOK 取词、OCR 识别和多种翻译引擎,帮助你在游玩日文原版游戏时获得实时译文。这篇文章带你走完“启动验证 → 获取文本 → 翻译 → 显示结果”这条主线,并附上常见问题排查方法。

先判断它是否适合你

  • 适合:想在 Windows 上实时翻译日文视觉小说(Galgame)的玩家;玩 NS/PSP/PSV/PS2 模拟器游戏并希望 HOOK 读取文本的用户。
  • 核心能力:HOOK 提取游戏文本、部分游戏内嵌翻译、内置高精度 OCR 模型加多种在线/离线 OCR 引擎、覆盖面很广的翻译接口(含大语言模型、离线翻译)、TTS 语音合成、日语分词与假名注音。
  • 不适合:非 Windows 平台用户;需要翻译长文档、网页、字幕文件的场景——它围绕“游戏内实时文本”设计,不是通用翻译工具。

启动验证:能不能跑起来

日常使用推荐官方文档提供的打包版本:

  • 从文档页(见 docs/zh/README.md)下载对应 Windows 版本的压缩包,解压到任意普通目录;
  • 避免放在C:\Program Files等受保护路径下,否则可能无法写入配置和缓存,甚至无法运行;
  • LunaTranslator.exe以普通权限启动;仅当游戏需要管理员权限才能被 HOOK 时,才用LunaTranslator_admin.exe。

如果你习惯从源码运行,仓库里提供了 src/run.bat,实际就是在src目录下执行:

python.exe -B LunaTranslator\main.py

需要自己准备 Python 环境并补齐依赖(仓库未附带 requirements 清单)。

验证标准:主窗口正常打开、能切换到 HOOK / OCR 模式,即算可用。

第一步:获取游戏文本

LunaTranslator 的取词方式有三条路,按优先级选其一即可。

方式一:HOOK 模式(首选)

HOOK 直接从游戏进程内存提取文本,覆盖了绝大多数常见和冷门引擎。操作步骤:

  1. 对已启动的游戏,进入 HOOK 模式,弹出“选择游戏进程”窗口后选中游戏进程;或者把游戏主程序直接拖拽进 LunaTranslator 窗口,自动完成注入并转区启动;
  2. 注入成功后弹出选择文本窗口,让游戏先显示一些对白;
  3. 窗口里会出现若干候选文本行,挑出与游戏对白相符的那一条,点击“显示”即可开始翻译。

模拟器游戏(NS/PSP/PSV/PS2)走的是同一条 HOOK 路径,官方文档列出了各平台支持的模拟器(docs/zh/emugames.md)。

方式二:OCR 模式

当游戏无法 HOOK,或文本是图片时改用 OCR。切换到 OCR 模式后框选识别区域,软件会按设定频率自动截图识别。内置本地 OCR 模型可在离线环境工作,也可以接入在线服务。自动化方式里有“周期执行”(最简单,只需设执行周期)、按文本变化触发等多种模式,细节见 docs/zh/ocrparam.md;各引擎的申请入口整理在 docs/zh/useapis/ocrapi.md。

方式三:文本后处理(取词后的清理)

HOOK 有时会读到重复内容或乱码。文本处理区提供了过滤非日语字符、过滤控制字符、去除花括号注音、字符串替换、自定义 Python 处理等手段,可以组合并调整执行顺序来清洗文本,参考 docs/zh/textprocess.md。

第二步:选择翻译引擎

引擎源码集中在 src/LunaTranslator/translator/,常见选择:

  • 在线接口:Google、Bing、DeepL(含免费版接口)、百度、有道、阿里云、火山、Azure 等,接入后一般无需额外配置即可用;
  • 大模型接口:通过“大模型通用接口”填写 API 地址、API Key 与模型名,支持多个 Key 轮询、流式输出、附带上下文优化和自定义 prompt,配置说明见 docs/zh/guochandamoxing.md;
  • 离线与本地方案:仓库内置 llama.cpp 本地模型支持以及离线翻译能力,适合对隐私敏感或网络不稳定的场景。

新手建议先用一个稳定在线引擎跑通流程,确认取词正常后再换引擎对比效果。

第三步:决定结果怎么显示

  • 软件窗口内显示:默认行为,翻译结果列在文本行下方,可查历史、复制原文与译文;
  • 内嵌翻译:部分游戏支持把译文直接写回游戏画面,沉浸感最好。注意并非所有游戏都支持(选择文本窗口中没有“内嵌”按钮即不支持),且内嵌有一定概率导致游戏崩溃。内嵌后出现乱码通常是字符集或字体问题:英文游戏多为缺中文字体,可开启“修改游戏字体”;古早日系游戏可尝试“将汉字转换为繁体/日式汉字”。详见 docs/zh/embedtranslate.md;
  • OCR 原地显示译文:开启后译文直接覆盖在原图上,字号自适应、支持倾斜文本;
  • 语音合成(TTS):支持 Windows 自然语音、edge-tts、VoiceRoid 等多种引擎,引擎清单与配置见 docs/zh/ttsengines.md。

按场景快速选型

| 你的场景 | 建议路线 | | - | - | | 常见引擎视觉小说(KiriKiri、Ren'Py 等) | HOOK 模式,显示窗口看译文;支持的游戏开内嵌 | | 模拟器游戏 | HOOK 模拟器,先确认目标模拟器在支持列表中 | | 文本是图片 / HOOK 无候选文本 | OCR 模式,先试内置本地模型,再试在线服务 | | 在意隐私或经常断网 | 本地 OCR + 离线/本地模型翻译 | | 想要“读”出来 | 在 TTS 设置里启用一个引擎,与翻译流程并行工作 |

排障:现象、检查项与建议

启动报“找不到重要组件 / Missing embedded Python3”,或卡在“等待 DLL 注入”优先检查杀毒软件:HOOK 需要注入 DLL,组件容易被误杀。把软件所在文件夹加入杀毒排除项(Windows Defender 路径:病毒和威胁防护 → 排除项 → 添加文件夹),然后重新下载解压。

HOOK 后候选文本里没有游戏对白检查游戏权限(必要时改用管理员模式启动 LunaTranslator)、代码页设置;若仍取不到,通常是引擎适配问题,建议直接向作者提交 issue。注意:修改代码页对已使用 UTF-16/UTF-32 或引擎已指定编码的情况没有意义,通常是徒劳的。

文本一次只出一两个字,或刷新太慢调整 HOOK 设置的“刷新延迟”:取字太碎就调高,或调快游戏文本显示速度;取字正确但慢就适当调低。文本反复刷屏时再配合调低“最大缓冲区长度”。完整参数解释见 docs/zh/hooksettings.md。

PermissionError 或无法保存配置通常因为安装在了C:\Program Files等受保护目录。把软件移到普通用户目录再启动。

内嵌后游戏乱码先开“修改游戏字体”选一个中文字体;日系老游戏再试“繁体/日式汉字”转换。

下一步建议

  1. 精读两篇官方文档建立完整印象:docs/zh/basicuse.md(基本用法)与 docs/zh/README.md(下载与常见错误);
  2. 对照 src/LunaTranslator/translator/ 与 src/LunaTranslator/ocrengines/ 的文件名,确认你手上可用的引擎,选 1 个翻译 + 1 个 OCR 组合长期使用;
  3. 跑通后再回头配置文本后处理、TTS 和内嵌翻译这些增强项,避免一次改太多参数导致定位困难。

【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进