news 2026/9/13 11:20:00

如何上手 LunaTranslator:视觉小说实时翻译的三条路径,从剪贴板到 HOOK

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何上手 LunaTranslator:视觉小说实时翻译的三条路径,从剪贴板到 HOOK

如何上手 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 LunaTranslator
python 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 11:13:51

OLAP技术架构与多维数据建模实战指南

1. OLAP技术基础与层次结构解析在大数据时代,OLAP(联机分析处理)技术已经成为企业数据分析的核心引擎。作为从业15年的数据架构师,我见证了这个领域从传统数据仓库到现代湖仓一体的演进过程。OLAP的本质是通过多维数据模型&#x…

作者头像 李华
网站建设 2026/9/13 11:13:49

SAP HCM自定义薪资函数开发与优化实践

1. SAP HCM自定义薪资函数开发全流程解析在SAP HCM模块实施过程中,标准薪资计算功能往往无法完全满足企业的个性化需求。以某跨国制造企业为例,其复杂的跨地区补贴计算规则(涉及工龄、职称、绩效等多维度条件)就要求开发人员必须掌…

作者头像 李华
网站建设 2026/9/13 11:13:17

FunASR HTTP 离线转写运行时:依赖安装与编译环境配置实战指南

FunASR HTTP 离线转写运行时:依赖安装与编译环境配置实战指南 【免费下载链接】FunASR Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving. …

作者头像 李华
网站建设 2026/9/13 11:09:56

LLM与Jaccard算法在智能运维中的实践

1. 项目概述:当大模型遇见Jaccard算法去年处理某金融系统故障时,我花了整整6小时才定位到根因。而今年引入LLMJaccard方案后,同样量级的故障平均定位时间缩短到47秒——这正是智能运维革命的缩影。传统运维依赖人工经验匹配日志特征&#xff…

作者头像 李华