文明6吧 关注:511,606贴子:4,576,705
  • 4回复贴,共1

【MOD工具】Xml与Xls互转实现的快速翻译方案

只看楼主收藏回复

如题,在前段日子就企划要写这个工具。
众所周知(凡是有了解过文明6Mod的)都知道里面的大部分游戏数据是xml记录的,这部分都是通过xml加载到游戏的sqlite里被游戏调用,对于多语言来说仅仅不到四个词条用xml记录属实是费眼睛,尤其是文本量特别大的模组维护起来也困难。‘
所以!经过了一系列的摸鱼我做了这个叫做Civ6LanguageConverter的无用工具,其中有两个exe:
1.Civ6LanguageXmlConverter,可以把一个文件夹内所有的具有多语言数据的Xml文件收集归纳到一个xls(Excel表格)文件中。
2.Civ6LanguageXlsConverter,可以把第一个工具的Excel表格里的数据重新转化为xml。
使用方法也很简单,1号工具打开以后选择Mod文件夹,然后1号工具的目录下面就会出现一个Excel表格,这个表格就是所有的多语言数据;2号工具选择这个多语言数据Excel表格文件,便会按照其中的数据把内容再次吐出来。
下载链接百度盘,放在2楼楼中楼。(附带了一个魔改版本的moduploader,可以把封面改为gif,PS:其实这是Steam内部API支持的功能,可惜他们做Mod上传器的时候没允许gif作为封面上传,这个功能使用后果自负.jpg)
3楼说一些可以用到的场景。


IP属地:天津1楼2022-09-26 23:40回复
    2楼楼中楼下载地址,可随意转载,Github:HaoJun0823/Civ6LanguageConverter


    IP属地:天津2楼2022-09-26 23:41
    回复
      广告
      立即查看

      如图所示,这个就是xml转化为xls之后的内容:
      藉由xls的强大功能,大家可以快速用筛选和排序功能来快查询/修改多语言数据,利用腾讯/金山等协同办公功能更可以允许多个人同时修改多语言文本,对于翻译/润色/填写文本来说是非常便利的,这里也解释一下里面的涵义……?
      第一列,File:意思是这个多语言文本是从哪个文件里出来的,当你把xls转换为xml之后,对应的多语言文本也会被转换到对应的文件中,也就是意味着你可以在这里修改这一部分分类,或者是了解多语言文本从哪个文件里出现的。
      第二列,Comment:是xml中的注释,默认是每个有效的<Row>的前一条注释,会自动填写其中,如果你手动写注释了,再次转化为xml的时候这个注释也会被添加到对应的多语言文本前方,因此这个地方可以写注释,非常方便。
      第三列,Tag,这个就不多说了,对应<Row>里的Tag。
      第四列,Language,<BaseGameText>是<BaseGameText>,而其他内容都会归并于多语言(LocalizedText)之中。‘’
      第五列:Text,游戏文本内容,主意Excel里空格之类的内容可能不太好看得出来,建议多仔细一些。
      其实没有什么可说的,自己稍微扒拉两下就能明白这些功能,不难的。
      要严格主意File,Comment,Tag,Language,Text的拼写,也要注意<BaseGameText>的拼写,至于其他多语言例如en_US,我没有严格区分大小写。
      这就是很简陋的教程啦。


      IP属地:天津3楼2022-09-26 23:52
      收起回复
        四楼,这个工具有Bug的话可以直接去github反馈(贴吧留言我不一定能及时看得到),微博找我也行,Steam直接找我也行,B站找我也行,总之找我不是一件难事.jpg
        暂且这样,(大概也没人看,随意写写,见谅)。


        IP属地:天津4楼2022-09-26 23:53
        回复