LunaTranslator一篇讲透:Galgame实时翻译神器,HOOK注入+OCR识别,5分钟跑通
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
你刚打开游戏,满屏日文,对话框还没亮起来,翻译就已经弹出来了——这不是汉化组的功劳,是 LunaTranslator。一个免费开源的视觉小说实时翻译工具,HOOK 注入抓文本、OCR 识别兜底,专治各种看不懂的日文 Galgame。
HOOK、OCR、剪贴板:三条路都能把台词截下来
先说最顺的这条路:HOOK 注入。LunaTranslator 会在你启动游戏时往游戏进程里注入一段代码,游戏引擎每往外输出一句台词,都相当于路过一个"监听器",文本当场被截住送去翻译。整个过程走的是内存读取,不碰屏幕像素,所以延迟极低,连逐字打出来的字都能完整捕获。你可以把它理解成给游戏的"语音通道"上装了个分线器,游戏自己照常播放,翻译那边同步收到一份。
第二条路是 OCR 图像识别。有些游戏把文字直接画进纹理里,或者用了特殊渲染引擎,HOOK 抓不到干净的文本流。这时就退而求其次:对着屏幕上的对话区域定期截图,用 OCR 引擎(系统自带的 Windows OCR、本地模型等都行)把图里的字读出来。这条路慢一点、偶有识别错误,但什么游戏都能试试,是兼容性最强的方案。
第三条路最朴素:剪贴板监控。部分老游戏或网页游戏支持复制文字,LunaTranslator 就盯着剪贴板,你一复制,它就翻译。配置最省事,适合应急。
| 捕获方式 | 适用对象 | 优点 | 短板 |
|---|---|---|---|
| HOOK 注入 | 绝大多数标准 Galgame | 零延迟、文本干净 | 少数特殊引擎抓不到 |
| OCR 识别 | 特殊渲染、RPG Maker 等 | 什么游戏都能试 | 有延迟,偶有识别误差 |
| 剪贴板监控 | 支持复制文字的游戏 | 零配置 | 依赖游戏本身功能 |
从零到跑通:5步装好并连上游戏
- 下载并解压:从 gitcode 仓库拉取最新版本(如需 clone,仓库地址是 https://gitcode.com/GitHub_Trending/lu/LunaTranslator),解压到非系统盘目录,避免权限问题。
- 启动主程序:双击启动,按向导选界面语言、选一个默认翻译引擎。新手建议先用免费额度足、出结果快的在线引擎,之后再换。
- 连接游戏进程:游戏先启动(或把游戏可执行文件直接拖进 LunaTranslator 窗口,它会自动帮你启动并注入)。已启动的游戏则在"选择游戏进程"窗口里手动选一下。
- 挑选目标文本行:注入后会弹出文本选择窗口,让游戏显示几句台词,候选行里会出现若干条——选那条和画面台词吻合的,点"显示"即可开始翻译。
- 调整显示:翻译结果会出现在独立的翻译窗口,位置、字体、大小都可以调,窗口拖到屏幕角落就不挡游戏了。
提示:如果选择文本窗口里空空如也,九成是权限不够——游戏以管理员运行时,LunaTranslator 也必须以管理员运行,用管理员模式重新启动软件再注入一次。
提示:选文本行时别急着点第一条,等游戏多显示两三轮对话,对比画面确认哪条才是台词正文,避免选到系统日志类的杂文本。
真实场景实战
标准 Galgame:HOOK 注入直接拉满
- 适用对象:RPG Maker 之外的主流视觉小说引擎(KiriKiri、Ren'Py 等)
- 用 HOOK 模式连接游戏,文本选择窗口里选对台词行
- 翻译引擎选稳定的在线服务,追求低延迟就开流式输出
- 游戏支持内嵌翻译的话,直接激活"内嵌"按钮,中文字会盖在原对话框上
预期效果:台词逐字弹出时翻译同步跟上,几乎感觉不到等待。
RPG Maker / 特殊渲染游戏:OCR 识别区域框选
- 适用对象:HOOK 抓不到文本的同人游戏、特殊渲染作品
- 切到 OCR 模式,框选对话区域,选"持续自动识别"那个按钮(别点成只识别一次的临时按钮)
- 自动执行方式用默认的"周期执行",识别频率别拉太高,够跟得上打字速度就行
- 引擎优先选系统自带的 Windows OCR,无配置零成本
预期效果:每句台词稳定出现后一两百毫秒内被读出并翻译,动态背景多的游戏偶尔跳字属正常。
模拟器里的 PSP/NS 老游戏
- 适用对象:PS2/PSP/PSV/NS 等模拟器上跑的日文游戏
- 模拟器本身支持 HOOK 就直接 HOOK,和连原生游戏一样操作
- 模拟器不支持注入就转 OCR:把窗口分辨率固定住,框选对话条
- OCR 频率调低一点,模拟器吃 CPU,别两头都拉满
预期效果:模拟器游戏同样能实时看中文,代价是识别稍有延迟。
踩坑与调优
1. 文本一次只蹦出一两个字,或一行顶掉上一行原因:游戏台词是逐字打出来的,而 HOOK 的刷新延迟设得太短,字还没出完就急着刷新了。解法:在 HOOK 设置里提高"刷新延迟",直到一句完整台词稳定出现为止;或者在游戏里把文本显示速度调到最快。
2. 文本反复不停刷新、刷屏原因:游戏在持续重绘同一段文本,缓冲机制没兜住。解法:适当调低"最大缓冲区长度",注意别设得比实际台词还短;同时可以把"最大缓存文本长度"从默认的百万级降到 1000 左右,历史文本查看会明显流畅。
3. OCR 识别率低,字认不全原因:框选区域太大(背景复杂)或太小(截断文字),也可能是截图时机赶在文字半渲染时。解法:重新框选,只包住文字本身、尽量避开动态背景;自动执行方式换成"分析图像更新",让它在画面稳定后再截图识别;还差劲就换一台引擎再试。
4. 内嵌翻译出来全是乱码方块原因:内嵌把中文塞进游戏自己的字体渲染,而游戏字体里没有中文字形。解法:激活"修改游戏字体",选一个带中文的字体文件,乱码立刻变正常文字。英文游戏尤其常见这个坑。
5. 注入后游戏崩溃或无法启动原因:极少数游戏对进程注入敏感。解法:先确认不是权限问题(管理员双开),仍不行就放弃 HOOK 走 OCR 路线——翻译照样能跑,只是多了点延迟。
延伸资源
- docs/zh/basicuse.md:HOOK/OCR/快捷启动三种模式的操作图解,第一步卡住先看它
- docs/zh/hooksettings.md:刷新延迟、缓冲区这些参数逐个讲清楚,调 HOOK 时的说明书
- docs/zh/ocrparam.md:OCR 的四种自动执行方式和稳定性阈值怎么配
- src/LunaTranslator/defaultconfig/:默认配置文件集合,想手动改参数前先看看出厂值
三条技术路线摆在这里,90% 的日文游戏至少有一条走得通。先拿你手头最容易上手的一部游戏把流程跑一遍,遇到抓不到文本的就切 OCR,识别不准的再回来调参数。工具已经把最难的部分干完了,剩下的就是几分钟的事——现在就去试试。
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考