杀戮尖塔吧 关注:154,736贴子:2,028,972
  • 9回复贴,共1

【教程】杀戮尖塔创意工坊Mod翻译 补充

只看楼主收藏回复

这里是前工坊工具人,参与了大量mod翻译的工作。现在准备退休了所以将露米娅的教程进行稍微的补充
本mod是随手写的,请与露米娅的教程一起食用
注意:因为是退休的鸽子,所以并不打算配图


IP属地:广东1楼2019-08-23 18:26回复
    我需要准备什么:
    首先当然就是去看看有没有其他人已经接手了翻译工作观察评论区里面是否有人已经接手了,如果有。就等他们完成吧。如果没有,要是想要你的翻译能被作者接受,就试着联系作者。
    然后才是正式开始翻译的准备 做翻译工作不需要懂什么代码,只需要准备一个压缩软件还有一个文本编辑软件(这里推荐Notepad++)即可
    我要翻译的文本在哪里:
    创意工坊订阅后,mod保存在Steam\steamapps\workshop\content\646570\,或者类似地址(如steamapps会变成steamlibrary)实在找不到就去steam里面右键游戏-属性-本地文件-浏览本地文件,然后回退到有workshop的目录即可。
    其中里面一大堆数字代表mod的编号(为工坊地址编号),后缀为jar的即是mod本体。文件名绝大部分跟mod的名字相同


    IP属地:广东2楼2019-08-23 18:27
    回复
      我这些文件我该怎么找:
      直接右键解压文件(方便编辑),大部分作者的文件管理都是一样的
      {mod名称}-src-main-resources-localization
      里面的json文件即是要翻译的文本有时候他们会在二级文件夹 如eng rus之类的里面,这是为了不同语言而做的分类,而简体中文的字母是zhs
      注意,并不是你往这个目录里面加了zhs-翻译文件.json 就能使得翻译生效。实际如何生效后文会加以阐述
      我应该怎么翻译:
      首先我们先了解一下文件结构:以最常见的角色mod为例:一般有
      Card(卡牌) Character(角色) Event(事件) Keyword(关键词/字段) Orb(充能球) Potion(药水)Power(能力) Relic(遗物) UI(交互界面)以及一些作者特殊的文本文件。
      如果发现少了什么,有可能作者本来就没有相应的文本,不需要做。要不就是作者真的没做。联系作者添加即可


      IP属地:广东3楼2019-08-23 18:29
      回复
        先从总的来说:一般文本里面会有特殊字符 这些需要前后空格 程序才能检测(跟英语不同)如:
        染色类: #y金色 #b蓝色 #g绿色 #p紫色 [#00ff00]自定义原谅色[] 注:中文的字符何以连再一起染色,毕竟英语要空格
        能量图标类: [R] [G] [B] [E] 战士 贼 机器人 自定图标
        特殊数字:!M! !B! !D! 数量 格挡 伤害 有时候还会用到 !{mod名字}:secondmagic! 之类的自定特殊数字
        关键字: 官方关键字直接前后空格,自定关键字通常是{mod名字}:关键字名
        文本运动 ~波浪运动~ @强烈震动@
        文本格式:NL 换行
        然后还有一些其他的关于语言不同之间的:
        转义字符:/”这个跟英语的引号跟代码的引号相同有关/” 改成中文的“”即可,当然不改变也没事


        IP属地:广东4楼2019-08-23 18:30
        回复
          接着以不同文件分开讲
          Card
          文件结构:
          以美战mod为例
          "theSenshi:SupersonicWaves": {
          "NAME": "超音波攻击",
          "DESCRIPTION":"对所有敌人造成 !D! 点伤害。 NL 如果 thesenshi:决心 小于 !M! 点,重复一次。"
          },
          "theSenshi:SupersonicWaves": 是{mod名字}:牌的id 【不能改动】
          "NAME": (名称)【不能改动】 “这里是名字” 注意最后的逗号还有引号是英语引号
          "DESCRIPTION":(描述)【不能改动】 “这里是卡牌描述”
          这里能看见上面所述内容,不予赘述
          Character
          {
          "theSenshi:TheSenshi": {
          "NAMES": [
          "美少女战士",
          "美少女战士"
          ],
          "TEXT": [
          "美少女战士是一部基于知名动画制作的角色。 NL 她使用魔法和决心与敌人战斗。",
          "NL 你 ~触摸~ 高塔之心。",
          "在一条昏暗的街上,你遇见几个戴着兜帽的人在进行某种黑暗的仪式。当你靠近时,他们全都同时转身面对你,让你觉得十分诡异。其中个子最高的一个微微一笑,露出了长长的尖牙,向你伸出了一只苍白而瘦长的手: NL ~“加入我们,姐妹。一起来感受高塔的温暖吧。”~"
          ]
          }
          }
          这个没什么好说的,有的就是首先,第一个为什么会有两个美少女战士文本,因为在英语里面这两个是分大小写的,分别在人物选择界面 还有战斗时角色下面显示的名字。因为中文不分大小写,所以相同。同时这两个必须存在,否则会报错
          然后就是下面的文本了第一个是角色描述 第二个则是在三层结束时的碎心文本
          第三个则是因为尖塔的某些机制,必须存在的吸血鬼事件文本,照着原版做即可


          IP属地:广东5楼2019-08-23 18:31
          回复
            Keyword
            "NAMES": [
            "魔法"
            ],
            "DESCRIPTION":"通过 #y魔力 #y有限地 提高伤害。"
            注意 这里的名字就是mod自定的关键字,与card里面的关键字相同才能发挥作用
            Orb
            {
            "theSenshi:DefaultOrb": {
            "NAME": "默认圆球",
            "DESCRIPTION": [
            "#y被动: 在你的回合结束时,抽 #b",
            " 张牌。",
            " 张牌。",
            "NL #y激发: 对所有敌人造成 #b 点伤害。"
            ]
            }
            }
            虽然这个只是个占位用的文本
            主要看描述 抽#b",这里的b后面就是接特殊数字了,因为特殊字符太多,所以出来牌里面的文本,其他地方的特殊数字都是换行进行的。
            最后说说
            Relic
            {
            "theSenshi:SailorFukuRelic": {
            "NAME": "水手服",
            "FLAVOR": "水手战士的标准制服。",
            "DESCRIPTIONS": [
            "每当你低于50%的血量时,获得#b",
            " 点 #y格挡 。"
            里面的FLAVOR即是遗物文本描述,下面的"DESCRIPTIONS":才是效果描述


            IP属地:广东6楼2019-08-23 18:31
            回复
              翻译工作做完了,我要怎么让文本运作:
              用压缩软件打开jar文件,然后将做好的翻译文本替换英语的文本(在压缩软件中完成)
              这样就即可使用了
              常见bug
              首先查看是载入到那个文本时报错(当然,要确定是因为你替换了文本引起的才行)
              然后同时将翻译文本复制出来 搜索line 会有告诉你是在第几行出现了问题
              包括但不限于,少了一个英语逗号,删多了一个英语引号,作者更新了新卡或者遗物你没对应上。特殊代码只删了一半 如 #这是一个bug文本
              出来的文本是乱码 请将你的json保存为utf-8格式
              如何让我的文本加入工坊:
              当然是把你翻译好的文本交给作者啦,他会做好剩下的工作


              IP属地:广东7楼2019-08-23 18:32
              收起回复
                还有一些要注意的:
                因为官方的原因,某些本来能正常运作的代码会特异性的在中文不起作用,在官方修复这个bug之前可选择替代方案
                包括但不限于
                自定义颜色失效,常见于本该在卡牌中生效的自定义颜色不染色并以原文出现,遗物染色文本直接不显示。解决方案:将自定义染色换成官方颜色
                卡牌描述重复,在特殊数字出现在行末时,会将卡牌描述文本复读(无解)
                NL 在卡牌中失效 (无解)
                以上错误有一个完美的通用解决办法就是 ,将中文以英语载入,但是后果是用户机能要求提高
                在官方修复之前只能这样了 火 矢野 火


                IP属地:广东8楼2019-08-23 18:37
                回复
                  在?为什么迫害矢野


                  IP属地:江苏9楼2019-08-23 22:31
                  回复