Skip to content
This repository has been archived by the owner on Nov 18, 2022. It is now read-only.

通过机器翻译+人工矫正来减少Minecraft mods翻译工作量

License

Notifications You must be signed in to change notification settings

Project-Mealuet/ModsTranslator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MinecraftModsTranslator

✨这是一个简单且轻量的项目,如果您在制作整合包时为mod的汉化问题所困扰,那么 MinecraftModsTranslator 或许为会您提供一些帮助。:sparkles:
💖用 MinecraftModsTranslator 打开您下载好的.jar文件,它会自动将其解压,并提取en_us.json等软编码的语言文件,调用翻译API对其中的内容进行初步翻译,然后提供给您进行人工校对。
在您完成校对之后,只需点击一下 完成 键,zh_cn.json会被自动地放到相应位置,然后重新打包为.jar文件。
项目尚处于开发初期,因此可能存在较多的bug,并且许多功能尚未实现。您可以发起Issue让我知道您的问题,或是直接提交您的代码,为这个项目贡献一份力量。:two_men_holding_hands:
即将实现的功能:

  • 支持自定义词典
  • 支持更多翻译API
  • 中断保存
  • 多人协作
  • 改进翻译速度

下面有一些简要的使用步骤。

申请百度翻译API

在使用之前,您应当先创建一个百度智能云的机器翻译应用。 一般来说,免费版便足够我们使用
先注册一个 百度会员,进行 实名认证
之后进入 控制台 ,在左侧菜单中找到 机器翻译 选项,进入,找到 领取免费资源
我们调用的是 文本翻译-通用版 接口,因此您只需要领取这一项即可。
喝杯茶,看会书,闭目养神,或是与亲密的好友聊聊天,等领取的资源到账后我们继续。:tea:


此时您在 机器翻译 界面应当可以看到 调用量限制QPS限制 ,接着,我们点击 创建应用
应用名称、应用类型以及应用描述您可以随意填写/选择,调用接口我们选择默认的机器翻译,一般来说也不用动,如果提示

部分接口免费额度还未领取,请先去领取再创建应用,确保应用可以正常调用

您可以无视,直接点击创建。
此时,您应当已经获取到了属于您的 API KeySecret Key ,将它们记下,我们稍后要用。

首次运行

建议您新建一个空文件夹,然后将 MinecraftModsTranslator 放进去,它会为您查找文件提供很多便利。
打开.exe文件,您会看到一个很丑😢但一目了然的UI。
点击 导入文件 ,随意打开一个文件,此时您会看到提示

config文件不存在,已重新创建,请填写后重新打开应用

之后关闭程序,您会看到同一文件夹下出现了config.json文件,打开它,您会看到这样的东西

{
    "client_id": "Enter your API Key",
    "client_secret": "Enter your Secret Key"
}

Enter your API Key替换成刚刚获得的API Key,Enter your Secret Key替换为Secret Key,保存。
❗注意:不要修改其他东西,包括且不限于双引号、逗号、花括号以及client_id

使用

⭐将您需要翻译的.jar文件放到一个单独的空文件夹下,虽然这 不是必须 的,但 强烈建议 您这么做,因为 MinecraftModsTranslator 会直接覆写相关文件,尽管概率很低,但它仍有可能损坏您的个人文件。

  1. 打开 MinecraftModsTranslator ,点击 导入文件 ,选中需要翻译的.jar文件,等待程序执行。
    • 默认模式下,程序会试图寻找en_us.json作为翻译母文件,找到后还会在同一目录下检索zh_cn.json文件,并将其看作前人既有之成果,最后需要机器翻译/人工核对的条目为en_us.json - zh_cn.json;而最后完成翻译,打包合并文件时,新的(new)zh_cn.json由您的心血result.json和前人的努力(old)zh_cn.json共同组成。
    • 如果您不希望过度依赖先人的成果,不妨在 导入文件 前勾选 重新翻译 ,这样您需要审阅的条目完全等同于en_us.json的条目,并且在打包时您的成果会覆盖其他人的成果(如果有的话)。
  2. 翻译完成后,您会在右边的 Tag/原文/译文 中看到当前词条的相关信息,其中只有 译文 可供修改,这也是最终显示在 Minecraft 中的内容。当您修改满意后,点击 下一条 即可审阅下一条目。
    • 您是否注意到完成机器翻译后, MinecraftModsTranslator 的同一文件夹下出现了export.json文件?在这个文件中,您可以总览所有的条目,以及它们的原文/译文。目前,您在export.json中的修改不会被最终保存到.jar文件中,在未来的开发进程中我可能会实现这一功能
  3. 当您核对完所有的条目时,点击 完成 按钮即可开始合并打包。在存放.jar文件的文件夹下,您将找到以下内容
- modFile.jar
- zh_modFile.jar
- /uz_modFile

其中,modFile.jar是原文件,zh_modFile.jar是并入您的翻译的.jar包,/uz_modFile是原文件的解压结果。
🎆您可以保留zh_modFile.jar作为胜利的果实,然后删掉原文件和解压结果。

一些问题

问题 应对
报毒 这可能是因为程序存在一些os操作,本身并没有恶意。关闭杀毒软件是最好的办法。
config文件不符合规范 请检查是否误删了config.json中的部分内容
文件验证失败,检查是否损坏 导入的.jar文件无法解压,考虑重新下载mod文件
未找到可翻译文件 在.jar中找不到en_us.json,可能作者是个硬编码爱好者
没有可供翻译的条目 en_us.json中没有条目,或是前人的zh_cn.json已包含了所有的内容
请求失败,请检查网络情况,5秒后重试 检查网络情况
鉴权错误: ... 请参阅 百度鉴权认证API官方文档
翻译错误: ... 请参阅 百度机器翻译API官方文档
显示正在翻译,但程序无响应 可能您请求的条目数量较多,请耐心等待一会。在之后的开发进程中我会想办法提高程序的效率。

协议

本项目遵守 MIT License 开源