2020.5.30 晚间,大量用户使用 YUKI 时遇到错误为ERR: TypeError: Cannot read property 'target' of undefined
的报错窗口。经排查,该报错由彩云 API 目前严重的不稳定状态导致。现已紧急推送 v0.14.3,修复上述问题,但彩云 API 目前仍无法使用,因此请目前所有版本的 YUKI 用户关闭彩云 API(具体方法:打开 YUKI 根目录下的 config\config.json 文件,将 onlineApis 数组中 name = "彩云" 的对象的 enable 属性改为 false)。关闭后,即使不升级至 v0.14.3 也可解决报错问题。
- 点击这里
- 点开最新版本介绍下面的 " > Assets ",第一个 ZIP 文件就是编译后的 YUKI :)
我们已经有 Visual Novel Reader (VNR)了,为什么还要再开发一个 Galgame 翻译器?
嗯...有以下三个原因:
- VNR 用 Python(甚至是 Python 2)来渲染 UI,这导致了极端的卡顿,并且完全没有必要;
- sakuradite.com(VNR 官网)挂了,似乎现在并没有针对 VNR 的官方维护,只剩下贴吧零零散散的 BUG 修复与改进;
- VNR 的功能(也可以说脚本)太多了,想添加/修改一个功能要读很久的源码,十分费劲。
但是,如果要用 Qt5 重写的话,手动管理内存、配置、国际化什么的又显得太麻烦了。
因此,用 Electron 作为用户交互的前端,而用原始的 Windows API 作为后端(比如文本提取),不失为一种比较好的选择。
- 从正在运行的 Galgame 里即时提取文本
- 从离线字典中获取翻译,如 J 北京等
- 从在线翻译 API 中获取翻译,如谷歌、百度、有道等
- 可编程外部翻译 API (参考 config\ 目录下的 JavaScript 文件)
- 在游戏窗口上方浮动显示原文+翻译(就像 VNR 一样)
- 自定义在线 API 翻译获取方式: URL、请求方法、请求报头格式、响应的解析方式等
- 支持扩展
安装好 Node.js 和 yarn 后,随便找个文件夹,运行以下代码:
git clone https://github.com/project-yuki/YUKI.git
cd YUKI
yarn
yarn dev
YUKI 使用 GPLv3 许可证开源。
我本来是想用 MIT 的,但是由于上游依赖(如文本提取器)用的是 GPL,所以我也很为难啊。