YUKI翻译器的简单介绍及使用方法 |
您所在的位置:网站首页 › 屏幕文字翻译器怎么用不了了 › YUKI翻译器的简单介绍及使用方法 |
这篇文章主要是简单地整理了一下官方文档。有些表述可能不太正确,请大家多多包涵。
简介
YUKI是一款Galgame翻译器,使用 GPLv3 许可证开源。 开源仓库的地址。 YUKI 和 VNR 相比有何优缺点? YUKI 相比 VNR,有如下优点: 基于 Electron->Node->Google V8 的框架链,使得其相比于基于 PyQt->Python 的 VNR 有了巨幅的性能提升 相比功能强大的 VNR,其配置难度可能较低(如果你熟悉一点编程) 基于 Textractor 的文本提取,可以免特殊码支持更多的游戏 当然,作为一个功能迭代时间不算长的项目,YUKI 相比 VNR 有如下的缺点: 缺少很多基于网络数据库的功能,如共享辞书、人工字幕等。这点不急于实现的原因很大程度上在于目前在线翻译 API 逐渐 AI 化,导致替换文字有时反而会降低其翻译质量 缺少 OCR 功能,尚处于摸索阶段 BUG 多,这点没什么好说的 Electron 应用的通病,磁盘和内存占用较大 功能从正在运行的 Galgame 里即时提取文本 从离线字典中获取翻译,如 J 北京等 从在线翻译 API 中获取翻译,如谷歌、百度、有道等 可编程外部翻译 API (参考 config\ 目录下的 JavaScript 文件) 在游戏窗口上方浮动显示原文+翻译(就像 VNR 一样) 自定义在线 API 翻译获取方式: URL、请求方法、请求报头格式、响应的解析方式等 支持扩展 下载Release Assets下的第一个.zip文件就是编译完的版本,下载解压即用。 也可以自己编译使用: 安装好 Node.js 和 yarn 后,随便找个文件夹,运行以下代码: git clone https://github.com/project-yuki/YUKI.git cd YUKI yarn yarn dev 使用下载完解压到文件夹里,打开YUKI.exe即可。 我们可以看到,主界面是这样的: 我们可以通过添加游戏来将本地的Gal加入Gal启动,如图 选择完游戏路径后可以修改显示的游戏名,然后点击下一步添加特殊码 这里没输特殊码也问题不大,之后还能再加。 点击完成,这个游戏就会添加到我的游戏里,点击运行启动游戏,点击删除就是在YUKI删除这个游戏。 如果不是从YUKI启动的Gal,也可以点击从进程启动添加正在运行的Gal来启动翻译器。 接下来是设置,设置里有区域转换器、程序库、翻译器三个部分。 区域转换器 noChanger就是不使用转换器直接运行。 有的游戏需要转区,这里就来个 Locale-Emulator (LE) 的下载地址。 程序库 可用的Mecab的下载地址。 J北京可以直接点右边的下载。 翻译器 下面都是直接抄的YUKI配置文件详解,基本没改动,看着改配置文件就完事了。 YUKI 的配置文件存放在程序主目录下的 config 子目录下,分为配置普通项的 JSON 文件和用于自定义翻译 API 的 JS 文件。 配置文件的生成与修改在程序启动时,会检查 config 目录下是否存在配置文件,如果不存在,则会自动创建一个包含全部项默认参数的配置文件。如果存在,则不会对该文件进行覆盖,程序直接读取文件并保存在内存中以供查阅。 根据这种处理配置文件的逻辑,我们可以得出以下几点: 在下载更新版本的 YUKI 后,如果没有说明配置文件存在「破坏性更新」,则可以直接将原来的 config 目录直接复制到新的程序目录下,正常运行即可恢复以前的配置 由于程序中部分功能不检查配置文件中是否存在所需的项,因此尽量不要删除配置文件中的项,有可能会导致程序出错。请尽量只进行项的添加或修改 每次修改配置文件后需要重启 YUKI(此项不适用于自定义翻译 API 的 JS 文件,因为程序具有修改 JS 文件后保存即重新加载的功能,当然以后可能会对 JSON 文件添加同样的功能) 如果某一翻译 API 失效,且最新版本的 YUKI 修复了该 API,则应重新生成默认 config.json 并替换 onlineApis 对象(后面有详解)。 与 JSON 文件格式有关的几个注意事项由于 YUKI 不验证配置文件的「合法性」(即是否存在违犯 JSON 语法规范的配置文件写法),偏偏 JSON 想要不写错又比较的困难,因此需要特别指出, JSON 语法规定: 不允许存在注释,即不能使用//或/**/ 任何非数字和布尔类型的值均为字符串类型,必须使用""(双引号)包括,而非''(单引号) 任何在字符串值中出现的"(双引号)必须使用转义字符\(反斜杠),例如"\""表示仅有一个双引号的字符串。\(反斜杠)自身则需要表示为\\。在后续的配置文件中,我们会发现大量使用转义字符描述的场合。 config.jsonconfig.json 是程序最基本的配置文件,包含一系列跟程序运行有关的配置项和一些无法拆分为单独 JSON 文件的杂项。 默认配置文件(以 v0.14.3 为例,后续可能发生变化) { "localeChangers": { "localeEmulator": { "name": "Locale Emulator", "enable": false, "exec": "" }, "ntleas": { "name": "Ntleas", "enable": false, "exec": "" }, "noChanger": { "name": "No Changer", "enable": true, "exec": "%GAME_PATH%" } }, "onlineApis": [ { "enable": true, "external": true, "jsFile": "config\\youdaoApi.js", "name": "有道" }, { "enable": false, "method": "POST", "name": "谷歌", "requestBodyFormat": "X{\"q\": %TEXT%, \"sl\": \"ja\", \"tl\": \"zh-CN\"}", "responseBodyPattern": "Rclass=\"t0\">([^([^ Mecab(如果启用的话)-> Filter -> Publish 默认配置文件 { "interceptor": { "shouldBeIgnore": [ "value", "sys", "\u00020", "windowbtn", "00_プロローグ1", "menu", "WndDisp" ], "ignoreAsciiOnly": false, "maxLength": 1000 }, "modifier": { "removeAscii": false, "deduplicate": false, "delineBreak": false }, "merger": { "enable": true, "timeout": 500 } }![]() 配置完之后就可以启动游戏了。 启动游戏后,YUKI的主界面会最小化并弹出翻译器的窗口 (图片仅供参考) 可以看到默认就已经有了一些钩子。 新开始游戏,切换几次文本,看有哪个钩子能获取到正确的文本,然后点击右边的选择,就会跳转到翻译界面,然后就可以开始玩了。 如果每个钩子都不能获取到文本时那就需要特殊码了。如果添加游戏时没有添加特殊码,可以在文本钩子设置的右上角加载钩子添加。 部分问题 某些翻译 API 经常挂掉?目前监测下来百度和沪江容易出现此情况,可能跟其限制同一设备日均访问次数/频率有关,建议 文本不要推得太快,给出一定的 API 调用间隔 如果不幸被限制,可以更换其私人 API(如百度开放平台) 禁用该 API,换用其它的 API 如何去除文本中出现的叠字(如变 AAABBBCCC 为 ABC)?参照 text.json,修改 deduplicate 属性为 true,重启 YUKI 即可。 怎样调整翻译窗口透明度?翻译器窗口->翻译器设置 中有修改背景色的选项,第二个拖动条就是 Alpha 通道,其值位于 0~1,1 为完全不透明。如果想要全透明效果,记得调整该值为 0。 翻译窗口有一层毛玻璃效果,怎样去除?修改 gui.json 文件中的 translatorWindow.renderMode 为 transparent,重启 YUKI 即可。 翻译窗口挡住了游戏窗口,不能正常操作,怎么办?善用“翻译窗口置顶”功能。其位于翻译窗口右上角图案为锁的按钮,点击即可在窗口置顶/窗口不置顶间切换。 一种可能的操作方案: 点击按钮,切换为窗口不置顶模式 点击游戏窗口。此时游戏窗口显示在翻译窗口上方 操作游戏窗口 在进入对话阶段后,点击翻译窗口。此时翻译窗口显示在游戏窗口上方 点击按钮,切换为窗口置顶模式 点击游戏窗口,推进文本,查看翻译 详细的问题可见YUKI常见问题。 补充YUKI目前自带的texteactor应该还是只有32位的,遇到64位的游戏可能不大行。 解决方法:到Textractor的仓库下载最新版的Textractor,Zip-Version的那个zip压缩包就行,里面带有32位的和64位的版本,YUKI的texteactor路径在根目录下的 /lib/textractor 里,对应那两个文件替换就行了。 再具体的就参考官方文档或者自己摸索吧,这里我就先溜了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |