望山 背景 笔者在前段时间玩ck3,在下载里面的《上古卷轴》背景mod《上古之王2(EK2)》时,发现这个汉化组的项目长期停留在99%,于是笔者研究了一下那边的汉化方法,发现ParaTranz这个平台,这个平台非常适合多人合作,然后笔者想尝试将这个平台融入《上古卷轴5》(理论上辐射4也可以使用,但笔者没有实测过)的模组翻译流程中,初步已经进行了一些测试,笔者自己写了几个小程序来实现了这个流程,这个平台特别适合大家一起合作翻译一个大型mod,并且可以继续使用大家平时习惯使用的XT或者EET等翻译软件,下面笔者将开始介绍如何操作。 创建项目 首先打开ParaTranz首页,一套注册操作行云流水笔者就不介绍了,然后点击右上角的“创建项目”: 剩下的东西大家自己写,目前ParaTranz还没有老滚的专区(不过我相信,只要这套流程我们推广出去很快就会有的),所以暂时只能选其他游戏,许可协议选择默认的4.0那个,这里我分享一下我创建的项目,界面和创建项目的略有不同,只是分享一下我的设置,我就不单独创建了。 这里推荐项目隐私选择“内部”,这样别人能搜到你的项目,但是必须要加入后才能查看项目已有的译文。 然后你的项目就建立好了, 点击右边的文件选项,准备开始上传文件。 (双图分隔) 现在注意,我们如果要上传文件到ParaTranz网站,我们需要上传其特定格式的Json或SCV文件,两种文件参考示例如下: 1、Json文件 [ { "key": "KEY 键值", "original": "source text 原文", "translation": "translation text 译文", "context": "Context 上下文 (for info)" }, { "key": "KEY 键值 2", "original": "source text 原文 2", "translation": "translation text 译文 2" } ] 2、CSV文件 key_apple apple 苹果 key_pear pear 梨 key_peach peach 桃子 key_peach_etymology The scientific name persica, along with the word "peach" itself and its cognates in many European languages, derives from an early European belief that peaches were native to Persia (modern-day Iran). key_potato potato 马铃薯 key_peas peas 豌豆 key_green_bean green bean 青豆 那么我们就需要将自己XT或EET导出的文件,转成其允许的格式,考虑到不是所有人都会编程,故笔者把自己写的代码编译成了几个可执行文件(exe)作为小工具分享给大家,大家可以在文末的链接下载到。 那么我们开始导出翻译文件,目前不管是XT还是EET都是可以导出和导入其翻译为XML文件的只不过其XML格式不同,不过我已经分别对这些写了不同的小工具,因此不用担心,考虑到导出和导入XML的功能很少人能用到,故我还是提一下操作方法。 XT导出XML 1、打开XT,打开你要翻译的ESP(未翻译的),选择上所有的词条右键确认翻译,然后在右上角文件中选择“导出翻译”>“XML文件”>“全部”,然后随便放在一个地方,我这里图省事直接放在D盘的根目录下。完成后记得回到xt,按下ctrl+z还原一下,退出时不要点保存。 2、打开工具包中的“XML转Json工具(XT版).exe”,根据指示进行操作 然后我们就可以找到转化完成的json文件了。 这里有两点你需要注意: a、由于一开始这个脚本是笔者自用脚本并没有打算做成exe,因此在使用设计上有缺陷(主要是我懒得改了),你需要注意的是在填写“保存Json文件”里你需要填写的是对应的Json文件名(这个文件名你可以自己写名字,比如aaa.json或者芬金沙杯.json,但不能不填)而不是对应的文件夹名(如果上面的案例中我输入"D:/Trans/unofficial skyrim special edition patch_english_chinese.json"那么转换就能成功,如果填写的是"D:/Trans/"那就会失败),在这里我推荐大家给json文件取名时,xml叫什么名字,json就叫什么,只改文件名后缀。 b、你会注意到有个“是否清空translation字段”,这个是由于xt的设计问题,因为刚刚我们在第一步选择了确认全部翻译(不这样的话你就没有办法导出全文),因此xt在导出你选择的xml时,会把没有翻译过的地方的原文当成译文导出,因此我们需要清空这里的“假译文”。 EET导出XML 1、打开EET,打开你要翻译的ESP(未翻译的),点击右上角的“翻译”>“翻译另存为”,选择保存为xml文件,这里我同样图省事直接放在D盘根目录下。 (双图分隔) 2、打开工具包中的“XML转Json工具(EET版).exe”,根据指示进行操作(你是不是发现了一些诡异的文字错误比如什么XT版本,请原输入之类的,哎之前复制粘贴得太快了,过几天改,当你看到这段话被横线划掉时,就说明修复了) 这里同样有一点需要注意(比XT注意项少了一点,我知道你们可能会跳过上面的XT注意事项,所以我未卜先知地复制一遍): 由于一开始这个脚本是笔者自用脚本并没有打算做成exe,因此在使用设计上有缺陷(主要是我懒得改了),你需要注意的是在填写“保存Json文件”里你需要填写的是对应的Json文件名(这个文件名你可以自己写名字,比如aaa.json或者芬金沙杯.json,但不能不填)而不是对应的文件夹名(如果上面的案例中我输入"D:/Trans/unofficial skyrim special edition patch_english_chinese.json"那么转换就能成功,如果填写的是"D:/Trans/"那就会失败),在这里我推荐大家给json文件取名时,xml叫什么名字,json就叫什么,只改文件名后缀。 现在我们就已经成功把自己未翻译的文本转成了json,那么我们开始把它上传到ParaTranz上吧! 直接点文件管理中的添加文件,把这里的json文件上传上去,我这里已经有文件,为了不让项目中其他成员产生困扰我就不上传了。 然后你就能像我创建的这个项目一样,能看得见各项词条数以及词条本身了,万里长征踏出了第一步,是不是很简单,接下来也会一直很简单。 项目更新 既然创建好了项目,那么保存一下你项目的网址链接,接下来的几天你没日没夜地宣传,在各大qq群和社区招募牛马,你终于凑齐了一只牛马汉化项目组,当然,这一切的前提是,你同意了他们的入组申请,记得经常来查看你项目中的申请,审批一下大家的入组申请,不然怎么为你干活?哦不对,我是说精诚合作! 还要记得去成员项目里点“管理成员”,给予不同成员不同权限。 (双图分隔) 当你作为一个汉化项目成员准备选择上传你更新的部分词条时,操作和建立项目时相似,先导出XML再转成Json,EET用户完全按照上面的操作就行,XT用户需要注意**这次导出xt时,不要把所有词条标记为“确认翻译”,直接导出就行,然后在XML转Json工具中的“是否清空translation字段”输入“n” ,不要清空。 然后我们得到了一个新Json文件,ParaTranz对应项目的文件管理有个导入译文,把你的Json文件传进去就行。 大家的译文会自动合并在一起,并且多个人的相同翻译也都会保留下来,可以等后期校对阶段统一处理。 项目译文导回 当你们的项目已经汉化完,或者你只是单纯想把现阶段的汉化从网站上导回你XT或者EET时,直接在项目的文件管理中选择“下载原始数据”,你就能得到一个Json文件(网站的命名很奇怪,你看后缀有两个Json,似乎没有识别到文件名后缀,不过不影响使用)。 (双图分隔) 打开我的工具包,我们需要把Json转回XML,还记得我们在导出XML并将其转为Json的那个阶段,我不是说过说了不要删掉那个XML,我们后面有用吗?实际上你可以删了,然后等到这一步时重新导出一次,因为这一步我们需要一个完整的信息,而这部分信息在XML转Json是会被丢失的,所以我们需要这部分信息,对于EET玩家来说没有需要注意的地方,对于XT玩家,这一步你需要一个被确定翻译过所有词条的XML文件。 当然了,我还是会把两个软件的步骤都展示一遍。 对于XT 1、打开你要翻译的esp,然后打开工具包中的“Json转XML工具(XT版).exe”,按照提示进行操作。这里的XML文件就是之前说要保留的那个,Json文件就是我们从ParaTranz中下载下来的,当你想把新xml存在其他地方(也是需要填写文件名)时你可以填,如果你想直接覆盖就直接回车就行,这样下次你上传和下载词条时得从XT中重新导一次,我这里就直接回车覆盖了。 当你确认后,去寻找刚才的XML文件(因为我回车覆盖了,你要是存在其他地方就去对应的地方找),发现译文已经导入下来了 然后在XT对应的esp中选择“导入翻译”>“XML文件(Xtranslator)(X)”,选择刚刚的新XML文件,当然理论上你也可以使用下面介绍的EET转XML的工具,然后再这里选择另一个XML文件选项使用EET的XML导入,但是我没有用过,就留给大家试了。 (双图分隔) 翻译已经导下来了。 对于EET 打开你要翻译的esp,然后打开工具包中的“Json转XML工具(EET版).exe”,按照提示进行操作。这里的XML文件就是之前说要保留的那个,Json文件就是我们从ParaTranz中下载下来的。 你的XML没有译文的地方会被json中的译文覆盖更新,这里我就不带大家打开看了,我们直接用EET导入刚刚的XML,选择“翻译”>“加载翻译” (双图分隔) 译文导入成功! 其他 那么这套流程就很轻松地解决了大家在合作汉化大型项目时的一个合作协同问题,尤其是XT用户和EET用户合作的地狱绘图场面,我们还可以利用ParaTranz进行一个最终的校对,只需要设置把部分人权限设置为校对就好。尤其是对于需要长期更新的项目,多人协作非常好用,并且杯赛社区有比别的社区更好用的翻译器,我们可以不使用ParaTranz自带的翻译器,其实ParaTranz还有很多别的功能,这里我把我们项目中目前用到的一些功能截图给大家看,以便大家参考。 (双图分隔) 我也建立了一个老滚/辐射的游戏(汉化)交流QQ群,欢迎各位朋友一起来玩耍,群号:861430472 对了,我的工具包链接在这里: 此内容 赞 并刷新后可见
萧十一郎 新版ESP-ESM Translator支持直接导出JSON文件也就是DSD文件(也可以作为一种字典使用),也许不需要导出为XML这个步骤,直接从转换JSON格式开始,还能一步到位直接创建DSD版的汉化文件。 下面是ESP-ESM Translator创建的DSD文件格式: "editor_id": "ManakinRace", "form_id": "0010760A|Skyrim.esm", "index": 1, "type": "RACE FULL", "original": "Nord", "string": "诺德人", "status": "TranslationComplete"