LunaTranslator 5 分钟上手:未汉化视觉小说如何实时变中文
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
LunaTranslator(月下酱)是一款主打视觉小说翻译的工具,它能从还没汉化的游戏里把外文对白"抓"出来,实时翻成中文显示在屏幕上,也支持把译文直接写回游戏画面里。下面按"下载 → 跑起来 → 调成自己的口味 → 避坑"的顺序讲一遍,全程不需要任何编程基础。
先弄清它是怎么"抓"到游戏文字的
打开一款没有中文的视觉小说,画面里的对白其实就存在游戏内存里。LunaTranslator 用两种方式拿到这些文字:
- HOOK 模式(默认,推荐):往游戏进程里注入一个小模块,直接读取游戏内存里的文本。文本准、延迟低,大多数游戏都适用。相关实现就在 src/NativeImpl/LunaHook/ 这个原生 C++ 工程里。
- OCR 模式:把屏幕上的一块区域当截图做文字识别,适合 HOOK 不生效的场景。内置了微软、Tesseract、Google Lens 等十几套识别引擎,代码在 src/LunaTranslator/ocrengines/。
你只需要记住:先试 HOOK,不行再切 OCR,完整操作见官方文档 docs/zh/basicuse.md。
三步跑起来
第一步:下载解压,别放进"受保护"的目录
去官方文档 docs/zh/README.md 按你的系统版本下载,解压到任意普通目录即可。这里有个新手最容易踩的雷:
不要放在
C:\Program Files这类系统保护路径下。程序运行时要往自己所在目录写配置和缓存,放进保护目录会被 Windows 拒绝,轻则设置存不住,重则直接跑不起来。
第二步:三个启动入口,双击哪个?
| 文件 | 什么时候用它 | | - | - | |LunaTranslator.exe|平时就用这个,普通权限启动 | |LunaTranslator_admin.exe| 个别以管理员运行的游戏,HOOK 注入会失败,这时换它 | |LunaTranslator_debug.bat| 调试用,会多一个命令行窗口,新手用不上 |
软件默认每次启动会自动检查更新;想手动更新,把新版本解压覆盖旧目录就行。
第三步(可选):想从源码跑一遍
如果你以后想改代码,仓库地址是https://gitcode.com/GitHub_Trending/lu/LunaTranslator,clone 下来后,src/run.bat 就是源码模式的启动器,全部就一行:
python.exe -B LunaTranslator\main.py也就是说,整个程序的入口是 src/LunaTranslator/main.py。它负责:检查配置完整性 → 初始化 Qt 界面环境 → 防止重复启动 → 加载主界面。
顺手看一眼项目骨架,知道"改东西去哪找":
LunaTranslator/ ├── docs/zh/ # 中文文档,遇到问题先翻这里(basicuse、transoptimi 等) ├── src/LunaTranslator/ │ ├── main.py # 程序入口 │ ├── translator/ # 各个翻译引擎的实现(bing.py、deepl、google 等,换引擎看这里) │ ├── ocrengines/ # 各 OCR 引擎的实现 │ ├── tts/ # 朗读(TTS)引擎 │ └── defaultconfig/ │ ├── config.json # 界面/显示/历史记录的默认设置 │ └── translatorsetting.json # 各翻译引擎的默认参数(API 地址、端口等) └── LICENSE # GPLv3 开源协议启动后:HOOK 模式选对"文本行"就能翻译
游戏先跑起来(把游戏 exe 直接拖进 Luna 窗口,它会自动转区启动并注入),然后会弹出选择文本窗口:
- 让游戏里说几句话,窗口里会出现若干"候选文本行";
- 点开每行的"显示"按钮,屏幕角落会浮现一行译文,哪行长得像游戏对白就选中哪行;
- 如果该游戏支持内嵌翻译,选中后还能点"内嵌",把中文直接写进游戏画面里,比浮层更沉浸(原理见 docs/zh/embedtranslate.md)。
OCR 模式则更简单:切到 OCR 页签,框选对白区域即可自动识别翻译,参数调优看 docs/zh/ocrparam.md。
🔧 改哪三处,把它调成自己的口味
换翻译引擎,改翻译设置页
翻译引擎决定"谁帮你翻"。软件内置了几十种,从免费的(Google、Bing、Lingva)到需要 API Key 的(百度、DeepL、Azure),再到本地大模型,全部实现在 src/LunaTranslator/translator/,每个文件对应一个引擎。各引擎的默认参数(比如 Lingva 的host服务器地址、DeepL 的api地址和debugport端口)都写在 src/LunaTranslator/defaultconfig/translatorsetting.json 里。
日常你不需要手改这个 JSON,在程序的翻译设置页选引擎、填 Key 即可;引擎之间怎么选,文档 docs/zh/transoptimi.md 有详细对比。
换界面语言,背后是languageuse2这个字段
程序第一次启动会根据系统语言自动定好界面语言(main.py 里的checklang()函数干的活),之后记录在用户配置里,字段名是languageuse2,取值zh、en、ja等。界面支持的语言包在 src/files/lang/,一语言一文件(zh.json、en.json、ja.json……)。在"关于"设置页里就能切换,不用碰文件。
调译文显示效果,动rendertext配置
浮层译文看着费劲(花背景上白字看不清),可以在显示设置里换字体方案。这些方案定义在 src/LunaTranslator/defaultconfig/config.json 的rendertext段里,比如yinying(阴影字体)就带填充颜色、阴影强度、阴影半径等参数,游戏画面越花,阴影强度调得越高越清楚。
⚠️ 三个高频坑,先知道能少走很多弯路
- 杀毒软件误杀,提示"Missing embedded Python3"或"正在等待 DLL 注入……"HOOK 注入相关的文件(如
LunaSubprocess32.exe、LunaHost32.dll)行为天然敏感,很容易被当病毒删掉。处理办法:在杀毒软件里把 Luna 的整个文件夹加入信任/排除项,然后重新下载解压。Windows Defender 的路径是"病毒和威胁防护 → 排除项 → 添加排除项 → 文件夹"。 - 报 PermissionError:目录选错了基本就是软件放在了
C:\Program Files等特殊目录,按前面说的挪个位置即可。 - 重新安装时千万别删
userconfig文件夹你所有的个性化设置都存在这个文件夹里(程序启动时也可以用它当互斥标识来区分多开实例,见 main.py 中checkrunning()的实现)。删了等于一切设置从头再来。
想再深入一点,按这个顺序翻文档
- 基础操作:docs/zh/basicuse.md
- 翻译优化(断句、错误修复、缓存):docs/zh/transoptimi.md
- 各模拟器(PSP/PS2/NS 等)的支持情况:docs/zh/emugames.md、docs/emusupportlist/all.md
- 外置 API 服务(把 Luna 的 OCR/翻译能力开放给别的程序):docs/zh/apiservice.md
有问题也可以先翻 docs/zh/qa1.md 和 docs/zh/qa2.md,官方 FAQ 覆盖了大部分"为什么我的不行"。
【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考