LunaTranslator:游戏实时翻译与内嵌翻译实操指南
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
LunaTranslator 是一款运行在 Windows 上的视觉小说与文字游戏实时翻译工具。它通过 HOOK 注入直接读取游戏进程内存中的文本,或用 OCR 识别画面文字,再对接在线或离线翻译引擎,实时给出译文。既适合读不懂原文的玩家,也适合需要查词、注音的语言学习者。
🎯 能力全景
基于 HOOK 的内存文本直读
解决"游戏窗口里选不中、复制不了文字"的问题。向游戏进程注入 DLL 后拦截文本显示调用,从内存中直接取出字符串,延迟接近于零,且对各类视觉小说引擎的覆盖面最广。
内嵌翻译:把译文写回游戏对话框
翻译结果可以直接写进游戏自己的文本框,不用在翻译窗口和游戏之间来回切。该能力只支持部分引擎,且官方文档明确提示存在一定崩溃风险。
OCR 模式与其他文本来源
无法 HOOK 的游戏可以框选文本区域做持续识别,OCR 引擎包括内置本地模型、百度 OCR、腾讯 OCR 等在线服务。另外还有剪贴板模式、Windows 语音识别,以及面向日语学习的分词、假名注音和 Anki 同步。
⚙️ 上手路径
获取与启动
从官方渠道下载发行包,解压到一个普通目录(避开C:\Program Files这类特殊路径),也可以直接拉源码:
git clone https://gitcode.com/GitHub_Trending/lu/LunaTranslator双击LunaTranslator.exe启动;游戏要求管理员权限时改用LunaTranslator_admin.exe。踩坑点:把软件放进特殊路径会报PermissionError,配置和缓存也保存不了。
启动游戏并挂钩
两种做法:在 HOOK 模式下打开"选择游戏进程"窗口挑选已运行的游戏;或把游戏 exe 直接拖进软件窗口,自动转区启动并挂钩。挂钩成功后会弹出"选择文本"窗口。
选择文本并接入翻译引擎
让游戏先显示几句对话,选择文本窗口里会出现若干候选行,选中与游戏文本一致的那一行即可开始翻译,每行右侧有"显示"按钮,支持内嵌的游戏还会有"内嵌"按钮。再到设置里选翻译引擎:在线服务、离线模型、大语言模型都有对应选项。
配置文本处理与专有名词
读出来的文本带注音、重复字符或乱码时,在文本处理里启用对应过滤器,例如"去除花括号{}""过滤非 shift-jis 字符"。要固定角色名译法,在翻译优化里添加专有名词词条。
🔍 原理速览
HOOK 注入机制
HOOK(向目标进程注入代码以拦截其内部调用)的流程是:LunaSubprocess把 DLL 注入游戏,定位到负责显示文本的函数,把即将显示的字符串截出来。它绕过界面直接读内存原文,因此不受各引擎 UI 实现方式的限制。
内嵌翻译如何写回
游戏显示文本前,程序在显示函数处暂停,把文本发给翻译引擎,把翻译结果改写到这段内存,再放行让游戏继续显示。所以翻译慢会直接变成游戏卡顿,设置里可以限制内嵌的等待时间。
OCR 与文本清洗
OCR 模式按所选的自动化方法(如周期执行)定时截取选区,把图像交给本地或在线 OCR 引擎识别。HOOK 读出的文本则先经过过滤链——去控制字符、去重复字符、去注音括号——再进入翻译环节,这是处理"读到乱文本"的主要手段。
🧩 实战配方
Unicode 字符集现代视觉小说的 HOOK
适用于 Unity、Ren'Py、KiriKiri、TyranoScript、RPG Maker MV 等引擎。
- 把游戏 exe 拖进软件窗口启动并挂钩,在选择文本窗口里挑持续更新的那条候选行
- 文本刷新过快或过慢时,调整 HOOK 设置里的"刷新延迟"
- 为角色名添加专有名词词条,保持译名一致
- 给"自动模式""显示/隐藏翻译"配置快捷键,随时暂停和切换
注意:文本行上出现"内嵌"按钮才能用内嵌显示,否则只能窗口显示。
古早 Shift-JIS 字符集日作的内嵌翻译
适用于年代较早、内嵌中文常出现乱码的日文 galgame。
- 激活"修改游戏字体",选一个包含中文字形的字体
- 仍乱码(旧引擎的字符集问题)时,激活"将汉字转换成繁体/日式汉字"
- 开启"限制每行字数",防止译文超出文本框被截断
注意:按官方文档的提示,内嵌有一定概率导致游戏崩溃,先存好档再试。
模拟器游戏的文本读取
适用于 NS、PSP、PSV、PS2 平台的游戏,具体范围见支持列表。
- 选择模拟器进程进行 HOOK,不需要先进入游戏
- 文本处理与翻译优化配置和普通游戏相同
注意:兼容性按模拟器区分,不在列表内的机型/版本先查一遍对应平台页面再试。
🛠️ 避坑与调优
杀软误报、卡在"正在等待DLL注入"、运行一段时间报 FileNotFoundError
现象是启动提示"找不到重要组件"、注入一直等待、或选取进程后才报错。原因是 HOOK 依赖 DLL 注入,正是杀毒软件警惕的行为。
- 把软件文件夹加入 Windows Defender 的"病毒和威胁防护 -> 排除项",其他杀软加入白名单
- 删除后重新下载,解压到干净目录
- 游戏需要权限时用
LunaTranslator_admin.exe启动
每次只提取出一两个字、文本行互相顶掉
现象是译文一闪一闪地出现几个字符,或上一行刚显示就被顶走。原因是游戏逐字显示文本的节奏慢于提取的刷新延迟设置。
- 调高HOOK 设置里的"刷新延迟",或调快游戏内文本显示速度
- 文本反复刷新不收尾时,调低"最大缓冲区长度"
- Skip 或翻看历史文本时一次性涌出大量文本,可用"最大允许输出文本长度"过滤
内嵌翻译显示乱码
现象是游戏内嵌的中文显示为方块或乱码。原因通常是游戏字体不含中文字形,或旧字符集编码不了简体中文。
- 激活"修改游戏字体"并选择带中文字形的字体
- 仍乱码时激活"将汉字转换成繁体/日式汉字"
- "代码页"设置只有极少数古老引擎的官方中文才需要动,一般保持默认
OCR 选区后只识别了一次
现象是框完区域识别了一回,之后不再更新。原因是两个 OCR 按钮含义不同,后一个只用于临时识别一次。
- 换成用于自动持续识别的那个按钮
- 在OCR 设置里选择自动化执行方法(推荐周期执行)并调整间隔
📌 边界与延伸
不太适合的场景
内嵌翻译只覆盖部分引擎,且有崩溃风险,不能当通用方案;HOOK 的优势在"文字游戏",对文本不经过界面渲染的游戏(如纯过场动画)无效,只能退回 OCR;Win7/XP 兼容版性能更差、功能更少、更容易被误报,现代系统直接用 Win10/11 64 位版。
语言学习向用法
翻译之外,可基于 MeCab 与 unidic 词典做日语分词、假名注音和语法加亮,见日语分词及假名注音;查过的词可通过 Anki 同步导入卡片,也可衔接 Yomitan 浏览器插件。
项目基本面
LunaTranslator 采用 GPL v3 协议开源,当前版本为12.1.2.3。内置自动更新,失败时下载新版解压覆盖即可;配置与缓存在userconfig文件夹,重装时不要删掉它。仓库内docs/目录就是官方文档源(含中文、英文、繁体等版本),入口是软件下载 & 常见问题;核心代码在src/LunaTranslator/(Python 主程序)与src/NativeImpl/(C++ 的 HOOK 引擎与原生模块)。
无论目标是 HOOK 一款视觉小说、OCR 一个老游戏,还是顺手把生词同步进 Anki,第一步都一样:跑通"启动软件、挂钩游戏、选中文本行、激活翻译"这条主流程。卡在哪一步,基本用法和常见错误都有带截图的分步说明。
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考