三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

快速上手 YUKI:让日文 Galgame 实时翻译变简单的完整指南

快速上手 YUKI:让日文 Galgame 实时翻译变简单的完整指南

快速上手 YUKI:让日文 Galgame 实时翻译变简单的完整指南

【免费下载链接】YUKIYUKI Galgame Translator项目地址: https://gitcode.com/gh_mirrors/yu/YUKI

一句话给你结论:YUKI 是一款免费开源、基于 Electron 的 Galgame 实时翻译器。它能在游戏运行时自动钩取屏幕上的日文对话,把多引擎译文浮动显示在游戏窗口上方,让你不用查词典、不用复制粘贴,就能一路把剧情读下去。这篇指南会带你从下载解压、添加第一个游戏,到把翻译配置调成自己的手感,全程不需要写一行代码。


先聊聊它到底解决了什么痛

玩日文原版 Galgame 的痛,玩过的人都懂:

  • 看不懂:五十音都认不全,剧情全靠脑补和存档
  • 来回切换毁沉浸:截图 → 粘贴到网页翻译 → 切回游戏,一晚上玩成了网页刷新大赛
  • 老工具实在劝退:Visual Novel Reader 界面卡顿、官网失联、想改个功能得翻半天 Python 2 源码

YUKI 的解决方案很直接:用 Electron 做轻快的界面,用 Windows API 做底层文本钩取,两边各取所长。这也是它和同类工具最本质的区别。


一图看懂它的工作状态

上图是 YUKI 的真实运行截图:游戏「SPIRAL!!」正常跑着,翻译浮动窗口贴在画面上方,同一句日文同时给出有道、沪江、谷歌、JBeijing四个来源的译文,哪个更顺眼一眼就能比出来。

五个让你立刻想装它的理由

卖点具体说明
实时文本钩取基于 Textractor 技术,兼容 VNR 特殊码,免手动复制
多引擎同屏对比谷歌、有道、百度、腾讯、彩云等在线 API 可同时开启
浮动翻译窗口置顶悬浮、可调透明度字号颜色,不挡游戏操作
离线也有兜底内置 JBeijing 本地词典,断网照样出基础译文
可编程翻译 API用 JS 文件自定义任意在线接口,不再受制于「死 API」

三步让第一个游戏跑起来

第一步:拿到程序。到项目 Releases 页面下载最新版 ZIP 压缩包,解压即用,绿色免安装。

第二步:添加游戏。打开 YUKI 主界面,在「游戏」页添加游戏并指定可执行文件路径。如果游戏在中文系统下乱码或无法启动,可以在配置里挂上 Locale Emulator 或 Ntleas 这类区域转换器,让它以日文区域启动。

第三步:开玩。从 YUKI 里启动游戏,浮动窗口就会跟着对话自动刷新原文与译文。个别用特殊引擎的游戏钩不到文本时,可以试着给它配上特殊码(Textractor 兼容 VNR 特殊码体系)。

想从源码体验最新特性?装好 Node.js 和 yarn 后执行:

git clone https://gitcode.com/gh_mirrors/yu/YUKI cd YUKI yarn yarn dev

三个值得手动调的配置

YUKI 的配置集中在程序根目录的config文件夹,核心是config/config.json。给你三条实操建议:

1. 按需开关翻译引擎。onlineApis数组里把想用的引擎enable设为true、不用的设为false。建议常开两个技术路线不同的引擎(比如谷歌 + 有道)互相校验,比单引擎准得多。

2. 把窗口调「透明」。窗口位置、背景色等记录在gui.json;在翻译器窗口的「翻译器设置」里拖动 Alpha 滑条即可调节透明度(0 为全透明、1 为完全不透明),让译文盖在画面上也不遮挡立绘。

3. 干掉烦人的叠字。快进剧情时有些游戏会刷出AAABBBCCC这类重复文本,把texts.json里的modifier.deduplicate设为true即可自动去重。

💡 小贴士:改完 JSON 后记得重启 YUKI才会生效。另外建议只增改配置项、别删项,部分功能不校验缺失项,删了容易出问题。


进阶玩法:从「能用」到「顺手」

自己写翻译接口。config目录下的youdaoApi.jstencentApi.js就是「外部 API」的现成范例。很多在线翻译接口要求动态计算 sign、timestamp 这类参数,纯 JSON 配置根本表达不了,而外部 API 可以直接写函数生成。这种设计还把翻译接口与主程序解耦——就算哪天主程序停止维护,接口坏了你自己改 JS 就能续命。

给译文加日语分词。启用 MeCab(把mecab.path指向包含libmecab.dll的目录),译文上方会多出分词与词性标注,边玩游戏边学日语非常方便。

理解中间件流水线。文本从钩取到上屏会依次经过 Merger(合并)→ Interceptor(拦截)→ Modifier(修改)→ Mecab → Filter(过滤)→ Publish 六个环节,texts.json里可单独调每一环。比如用interceptor.shouldBeIgnore把菜单、系统提示这类「无效文本」拦在翻译流程之外,界面立刻清爽很多。


高频问题急救站

问:某个翻译引擎动不动就没结果?答:百度和沪江这类引擎常因同设备日均调用次数限制而罢工。建议放慢推文本速度、换用其开放平台私有 API,或先关掉它改用其他引擎。

问:翻译窗口挡住游戏操作了?答:点浮动窗口右上角的锁形按钮,切换「窗口置顶 / 不置顶」。需要操作游戏时关掉置顶,进入对话阶段再开回来。

问:快进剧情时不想让它翻译?答:用右上角的「暂停文本获取」按钮,快进到目标位置后再恢复,省 API 额度也省眼睛。

问:翻译窗口「跑飞」到屏幕外了?答:直接删除gui.json,重启后会自动生成默认位置。


开源与社区:你也可以参与

YUKI 采用GPLv3 许可证完全开源。作者坦言原本想用更宽松的 MIT,但因为上游文本钩取库是 GPL,只能跟着走——这也保证了整条工具链的代码合规。

目前作者留学中、更新节奏放缓,项目正处于需要社区接力的阶段:你可以提交 Issue 报告问题、发起 Pull Request 修复 Bug 或新增翻译 API、帮忙完善文档,任何程度的参与都能让这个工具活得更好。

你的下一步行动清单

  • 下载最新版 YUKI 并解压
  • 添加一款想玩的 Galgame 并成功钩取文本
  • config/config.json里调好引擎开关与窗口样式
  • 遇到问题先翻docs/FAQ_CN.mddocs/ConfigFiles_CN.md
  • 读懂一个config目录下的外部 API,试着改改参数
  • 想深入就 clone 源码跑yarn dev,顺手给项目提个 Issue

从今天起,语言障碍不再是好剧情的拦路石。装上 YUKI,挑一款心心念念的游戏,打开那份尘封已久的「以后再说」列表吧。🚀

【免费下载链接】YUKIYUKI Galgame Translator项目地址: https://gitcode.com/gh_mirrors/yu/YUKI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表