LunaTranslator 完整指南:从 HOOK 到 OCR,掌握视觉小说游戏翻译
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
LunaTranslator 是一款免费开源、面向 Windows 的视觉小说翻译器。它通过 HOOK 注入游戏进程直接读取内存文本,或通过 OCR 识别画面文字,再交给多种翻译引擎输出译文,让日文、英文的视觉小说(VN)无需等待汉化即可实时阅读。
如果你符合以下任一情况,这个项目值得试用:
- 你经常玩日文或英文视觉小说,不想等待官方或民间汉化
- 你希望译文随游戏文本同步刷新,而不是手动截图翻译
- 你想边玩游戏边积累日语词汇,并推送到 Anki 记忆
- 你的游戏不受 HOOK 支持,需要用 OCR 识别画面文本兜底
能力总览:场景与对应能力
下表把典型使用场景映射到具体能力,便于你判断它能否覆盖你的需求:
| 使用场景 | 对应能力 | 实际效果 | | - | - | - | | 玩日文 VN,想要实时中文字幕 | HOOK 文本提取 + 多翻译引擎 | 直接读取游戏内存中的文本,无截图环节,延迟低 | | 游戏不受 HOOK 支持 | 离线/在线 OCR | 框选识别区域即可自动识别,画面里任何文字都能读 | | 希望译文直接出现在游戏对话框 | 内嵌翻译 | 译文替换游戏内原文显示,无需切换窗口(部分游戏支持) | | 在 NS / PSP / PSV / PS2 模拟器上玩游戏 | 模拟器 HOOK | 注入模拟器进程提取原文 | | 边玩边学日语 | MeCab 分词 + 假名注音 + Anki | 译文展示分词与注音,生词可经 AnkiConnect 推送 | | 希望"听"到剧情 | 多引擎语音合成 | 将译文转成语音播放 |
快速上手:三步完成安装与启动
第一步:确认环境要求
| 项目 | 要求 | | - | - | | 系统 | Windows 10(1803 及以上)或 Windows 11,64 位 | | 旧系统 | 提供 Windows 7 / XP 兼容版,但功能与稳定性更差,非必要不建议 |
第二步:获取并解压
从项目发布页下载最新版本压缩包,解压到任意目录。注意两点:
- 不要放在
C:\Program Files等受保护路径,否则可能无法保存配置甚至无法运行 - 杀毒软件可能误报注入相关组件(如
LunaSubprocess32.exe、LunaHost32.dll),请将整个文件夹加入信任或排除项
第三步:选择启动方式
| 启动项 | 说明 | | - | - | |LunaTranslator.exe| 普通模式,日常使用这个即可 | |LunaTranslator_admin.exe| 管理员权限启动,仅当部分游戏必须以管理员权限运行时使用 | |LunaTranslator_debug.bat| 附带命令行窗口,用于排查问题 |
首次启动会自动更新必要组件;手动更新时只需将新版本解压覆盖原目录,且不要删除userconfig文件夹,否则已有设置会丢失。
核心工作流:按任务链路操作
以下五条链路覆盖了绝大多数使用场景。每条链路先给判断条件,再给步骤与成功标志。
链路一:HOOK 模式提取文本
适用判断:游戏已在 Windows 上运行,且为常见视觉小说引擎。
- 启动游戏后,在 LunaTranslator 中切换到 HOOK 模式
- 打开进程选择窗口,选中游戏进程并确认,软件会向游戏注入
- 让游戏运行并显示若干句文本,文本选择窗口中会出现若干候选文本行
- 选中与游戏画面相符的文本行,点击"显示"
- 若该条目带有"内嵌"按钮,可另行选择内嵌翻译
成功标志:游戏文本每变化一次,软件窗口同步显示译文,且刷新无感延迟。
链路二:拖拽启动游戏并自动 HOOK
适用判断:游戏尚未启动,且你希望省去手动选进程的步骤。
- 启动 LunaTranslator
- 将游戏可执行文件拖拽到软件窗口中松开
- 游戏以兼容方式启动并自动 HOOK,随后弹出文本选择窗口
- 按链路一的第 3、4 步操作
成功标志:无需手动选择进程,游戏启动后直接出现候选文本行。
链路三:内嵌翻译(游戏内显示译文)
适用判断:文本选择列表中该条目存在"内嵌"按钮,即游戏支持内嵌;没有该按钮则不支持。
- 选中对应文本条目,激活"内嵌"
- 若游戏内出现乱码:英文游戏通常缺中文字体,激活"修改游戏字体"并选择一个中文字体
- 若乱码来自字符集(常见于使用 Shift-JIS 的旧游戏),尝试"将汉字转换成繁体/日式汉字"
成功标志:译文直接显示在游戏对话框中;仅激活内嵌时,软件窗口不显示内容。注意内嵌有一定概率导致游戏崩溃,且并非所有游戏都支持。
链路四:OCR 模式识别画面文字
适用判断:HOOK 选不出候选文本行,或游戏引擎不受支持。
- 切换到 OCR 模式
- 在游戏画面中拖拽框选识别区域
- 选择自动化执行方式:不确定参数时选"周期执行",按固定间隔截图
- 识别结果自动送入翻译
成功标志:框选区域内的文字随游戏文本更新而被识别并翻译,全程无需操作鼠标。可选开启"原地显示翻译",让译文直接覆盖在选框内的原文位置。
链路五:模拟器游戏(NS / PSP / PSV / PS2 等)
适用判断:你在模拟器上玩游戏,且游戏在对应平台的支持列表中。
- 正常启动模拟器并进入游戏
- 在 HOOK 模式中选择模拟器进程
- 其余操作与链路一相同
成功标志与链路一相同。支持的平台与引擎清单见 模拟器支持文档。
参数速查表:HOOK 与 OCR 关键参数
大多数参数保持默认即可,仅在出现对应症状时调整:
| 参数 | 作用 | 建议值 | | - | - | - | | 刷新延迟 | 两次文本提取的间隔 | 默认;文本一次只出一两个字或一行时调高;提取偏慢时适当调低 | | 最大缓冲区长度 | 单条文本的缓冲上限 | 文本反复不停刷新时适当降低,但不要低于实际文本长度 | | 最大缓存文本长度 | 历史文本缓存大小 | 默认 1000000,一般可降至 1000 左右以减轻卡顿 | | 最大允许输出文本长度 | 过滤突发的大量文本 | 游戏常有 Skip 或历史文本回滚时设为合理上限 | | Win32 通用钩子 | 额外注入 GDI / D3DX / 字符串函数钩子 | 仅在提取不到正确文本时开启;默认关闭以避免拖慢游戏 | | 执行周期(OCR) | "周期执行"下的截图间隔 | 选与游戏文本节奏匹配的值,最省心的方式 | | 文本相似度阈值(OCR) | 抑制 OCR 微小抖动导致的重复翻译 | 默认;同一句被反复重新翻译时调高 | | 图像一致性阈值(OCR) | 判断游戏文本是否真正变化 | OCR 频率过快时调高;响应迟钝时调低 | | GPU / OpenVINO 推理(OCR) | 加速离线识别 | Win10 版或 Win11 可启用 GPU;Intel 平台可换 OpenVINO |
离线 OCR 默认内置 PP-OCRv5_mobile(中日英轻量模型);追求更高准确率可下载 PP-OCRv6_medium、PP-OCRv5_server 等模型,在线 OCR 则支持百度、腾讯、有道、Google Cloud Vision 等接口,详见 OCR 接口文档。
进阶能力:语音、词汇与翻译优化
- 语音合成(TTS):支持 Windows 自带 SAPI 与自然语音、VOICEVOX、VoiceRoid / A.I.VOICE、GPT-SoVITS 等引擎,可将译文转成语音播放,引擎清单见 TTS 文档。
- 日语学习:基于 MeCab 的分词、假名注音与语法加亮,配合内置辞书查词;通过 AnkiConnect 可将生词推送到 Anki 卡片,也支持 Yomitan 插件,见 分词注音文档。
- 语音识别:在 Windows 10 / 11 上可用 Windows 语音识别输入,见 语音识别文档。
- 翻译优化:翻译前替换、专有名词词典、翻译结果修正与自定义脚本,用于解决人名译名不一致、术语错误等典型问题,见 翻译优化文档。
- 大模型翻译:大模型通用接口可对接 OpenAI、Gemini、DeepSeek、Claude 等平台的接口,支持流式输出、上下文附带与自定义 prompt;另提供 Hy-MT2、Index-Translate、SakuraLLM 等离线翻译模型的专用接口,见 大模型接口文档。
架构与目录:代码如何组织
LunaTranslator 采用 Python + C++ 混合架构:界面、引擎编排与扩展部分用 Python,HOOK、注入与识别等性能敏感部分用 C++ 实现。
| 目录 | 职责 | | - | - | | src/LunaTranslator/translator/ | 翻译引擎实现:Bing、DeepL、百度、Google、大模型通用接口等 | | src/LunaTranslator/ocrengines/ | OCR 引擎:内置离线模型、manga-ocr、百度、腾讯、Google Cloud Vision 等 | | src/LunaTranslator/textio/ | 文本输入输出管道:HOOK / OCR / 剪贴板等文本源与输出目标 | | src/LunaTranslator/tts/ | 语音合成引擎封装 | | src/LunaTranslator/cishu/ | 辞书:mdict、有道、Jisho、Weblio 等 | | src/LunaTranslator/transoptimi/ | 翻译优化:前替换、专有名词、结果修正 | | src/NativeImpl/LunaHook/ | C++ HOOK 引擎:32/64 位注入与各游戏引擎适配 | | src/NativeImpl/LunaSubprocess/ | 子进程:DLL 注入、辅助识别与 TTS 接口 | | src/files/lang/ | 多语言 UI 资源(20 余种语言) | | docs/zh/ | 中文官方文档 |
排障手册:症状对照表
遇到报错时,按"症状 → 排查顺序 → 操作"三步定位:
| 症状 | 排查顺序 | 对应操作 | | - | - | - | | 提示 Missing embedded Python3 / 找不到重要组件 | 杀毒软件是否拦截了组件 | 将整个文件夹加入信任或排除项,重新下载解压 | | 一直停在"正在等待 DLL 注入到游戏中……" | 同上,注入文件被拦截 | 同上 | | 运行一段时间 HOOK 时出现 Error / FileNotFoundError | 组件在运行中被杀毒软件删除 | 添加信任后重新下载 | | 启动报 PermissionError | 安装位置是否在C:\Program Files等受保护路径 | 迁移到普通用户目录 | | HOOK 后选不出候选文本行 | 权限 → 引擎支持 → 钩子缺失 | 先用管理员版启动;仍无候选则开启 Win32 通用钩子;再不行提交 issue 请求引擎支持 | | 文本一次只提取一两个字 / 一行 | 刷新延迟过低 | 调高刷新延迟,或提高游戏内文本显示速度 | | 内嵌翻译出现乱码 | 字体 → 字符集 | 英文游戏激活"修改游戏字体";旧日文游戏尝试转换为繁体/日式汉字 | | OCR 识别率低 | 选区 → 模型 → 画面字体 | 框准文本区域;换更精确的模型或在线接口;调大游戏内字体 | | 同一句文本被反复翻译 | OCR 结果抖动 | 调高文本相似度阈值 | | 译文人名、术语不准确 | 引擎 → 词典 | 切换翻译引擎;在专有名词词典中添加词条 |
更完整的错误说明见 下载与常见问题。
能力边界:能做什么,不能做什么
可以做到的:
- 对受支持的 Windows 视觉小说做 HOOK 级实时翻译,覆盖多数常见与冷门引擎
- 对 NS / PSP / PSV / PS2 等主流模拟器游戏做进程级文本提取
- 离线 OCR 识别(内置模型无需联网),以及调用多家在线 OCR 接口
- 在线翻译、离线大模型翻译、TTS、Anki 同步等配套功能
做不到或需要留意的:
- 没有 macOS / Linux 版本,仅在 Windows 上运行
- HOOK 与内嵌翻译取决于具体游戏引擎,不是"任何游戏都支持";内嵌还可能导致游戏崩溃
- 它是实时阅读工具,不做整包文本提取,不能直接替代汉化组的专业提取工具
- 内置 OCR 模型面向中日英场景,小字号、复杂背景、艺术字需要更精确的模型或在线接口
- 在线引擎的效果受对应服务的可用性与条款约束,离线场景请以本地模型为主
社区与文档
- 基本用法:HOOK / OCR / 拖拽启动的操作细节
- HOOK 设置:通用设置与特殊码格式
- OCR 功能设置:四种自动化执行方法与阈值
- 内嵌翻译:字体与字符集问题处理
- 模拟器支持:各平台支持列表
- 核心翻译源码、HOOK 引擎源码
下载最新版本,把第一款游戏接进 HOOK 模式,看看你的文本能多快变成中文。
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考