如何上手 LunaTranslator:视觉小说实时翻译的三条路径,从剪贴板到 HOOK
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
打日文 Galgame 时逐句截图查词,体验基本报废。LunaTranslator 是一款开源的视觉小说翻译器,用 HOOK、OCR、剪贴板三种方式把游戏里的文本拿出来,再交给翻译引擎出译文,让你不用会日语也能跟上剧情。这篇按"先跑起来 → 选提取方式 → 配引擎和附加功能 → 遇到毛病怎么办"的顺序讲,读完你就能让游戏字幕变成中文。
安装与启动:两条命令的事
先把仓库拉到本地,再用 Python 直接跑主程序:
git clone https://gitcode.com/GitHub_Trending/lu/LunaTranslator cd LunaTranslatorpython src/LunaTranslator/main.py如果你是在 Windows 上玩,仓库里其实带了现成的启动脚本,双击src/run.bat即可,它做的事情就是调用python.exe -B LunaTranslator\main.py后暂停窗口,方便你看报错。环境方面建议 Python 3.8 以上,个别缺失的依赖包按启动时的报错提示装就行。主界面打开后,最显眼的选择就是文本提取方式:剪贴板、OCR、HOOK 三选一,新手建议先从剪贴板开始,后面两个随时能切。
从剪贴板起步,再换到 HOOK
三种提取方式的差别,本质是"游戏里的字以什么形式存在"。
- 剪贴板:你复制,它翻译。兼容性 100%,但每句话都要手动复制,适合先熟悉界面。
- HOOK:软件注入游戏进程后,从内存里持续读出候选文本行。对已启动的游戏,点"选择游戏进程"窗口选中进程并确认,随后弹出的"选择文本"窗口里会出现若干候选行,选中与游戏文本对应的那一行,翻译就开始跟着剧情走了。部分游戏还支持内嵌翻译,直接把译文画回游戏画面里。
- OCR:在画面上框选一个区域,软件持续截图识别。文字以图片形式渲染、或者 HOOK 失败的游戏走这条路。注意区分两个图标相近的按钮:一个是持续识别,另一个只临时识别一次。
怎么选?大多数常见和冷门的视觉小说用 HOOK 就能覆盖,实时性和准确度都最好;HOOK 抓不到字时切 OCR;剪贴板是保底方案。提取相关的实现在src/LunaTranslator/textio/和src/LunaTranslator/ocrengines/下,想深入可以看这里。
翻译引擎怎么选:云端、本地、自建
拿到文本后,翻译交给哪个引擎在设置里切换。内置的有百度、谷歌、DeepL、腾讯这类云端接口,速度快、覆盖面广;怕断网或者想离线跑,有基于本地模型的 Sakura 方案;如果你有自己调好的翻译 API,也可以按自定义引擎接入。每个引擎都是一个独立实现,集中在src/LunaTranslator/translator/目录,加引擎就是照着现有实现写一个同类文件。
OCR 引擎的逻辑类似:Windows OCR 是系统自带的,开箱即用;Tesseract 开源可本地部署;百度 OCR 准确率高但走网络;也支持你自己训练的模型。引擎的取舍没有绝对答案,同一个句子多换两个引擎对比一下,比纠结"哪个最好"有效得多。
让翻译更像"人话":词典、后处理与语音
裸翻译最大的问题是专名乱翻。LunaTranslator 的词典系统支持 MDict 格式(.mdx/.mdd文件)、JSON 之类的自定义格式,也接了 Weblio、Jisho 这类在线词典,把人名、地名、道具名固定住之后,译文会稳定一个档次。
翻译后的自动优化在src/LunaTranslator/transoptimi/里:常见翻译错误的自动修复、专名替换、格式整理,默认开着通常比手动关更省心。
想让角色"开口说话",可以看src/LunaTranslator/tts/下的 TTS 引擎,Windows 自带语音合成和 Edge TTS 都不需要额外配置,也支持接第三方服务。另外软件把翻译、词典、OCR、TTS 都暴露成了网络服务(src/LunaTranslator/network/),还带 WebSocket 实时推送原文和译文,写个小工具接进来就能做自己的字幕管道。
每个游戏建议在游戏管理器里存独立配置:HOOK 参数、引擎选择各存各的,切换游戏一键完成,管理器代码在src/LunaTranslator/gui/gamemanager/。
调优与避坑:四个高频症状
以下按"症状 → 原因 → 解法"列,都是实际用下来最常见的。
HOOK 刷不出文本:多半是游戏不兼容或选错了候选行。先把"选择文本"窗口里的其他候选行挨个点一遍;不行就调 HOOK 参数——延迟注入(等游戏加载完 DLL 再注入)、增强钩子、缓冲区大小,刷新频率建议落在 50–100ms;再不行检查游戏本身的编码设置。以上都失败,直接切 OCR,框住对话区域即可。
译文不准或专名乱翻:先切一两个别的引擎排除"引擎抽风",然后配专名词典、确认翻译后处理处于开启状态。这个顺序排查基本能解决绝大多数情况。
OCR 速度慢:识别区域框太大是最常见原因,把选区缩到只覆盖文字行;再按需换引擎、调二值化阈值,有独显就开 GPU 加速。
启动报错:先确认 Python 版本不低于 3.8,按报错补装依赖,日志里通常直接写着缺哪个包。性能上还有个隐藏坑:把软件目录加进杀毒软件的信任列表、别装在系统特殊目录、非必要时不用管理员权限跑,能少掉很多玄学故障。
走到这里,三条提取路径、引擎切换、词典后处理和 TTS 都过了一遍。官方文档按语言分目录放在docs/下,中文文档从 docs/zh/basicuse.md 开始,卡住时按目录翻一遍比到处搜更快。遇到某个游戏怎么都挂不上 HOOK,把现象和游戏名写清楚提交问题,社区里大概率有人踩过。现在就可以打开软件,挂上你的第一个游戏了。
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考