查看: 1483|回复: 4

[有事请教] 想问一下json文档里人物对白的xml元素是什么。

[复制链接]
梦石
0
星屑
6212
在线时间
121 小时
注册时间
2023-2-9
回帖
18
发表于 2023-5-5 11:20:49 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
想问一下json文档里人物对白的xml元素是什么,可否实现在smartcat直接进行机翻。
全栈独游制作,喜欢使用龙骨精灵。
梦石
0
星屑
6212
在线时间
121 小时
注册时间
2023-2-9
回帖
18
 楼主| 发表于 2023-5-5 11:25:22 | 显示全部楼层
用ChatGPT给的
<task>
  <name>Extract RPG Maker MV Dialogues from JSON files</name>
  <input>
    <source>path/to/json/files/*.json</source>
  </input>
  <output>
    <destination>path/to/output/folder</destination>
    <format>csv</format>
  </output>
  <parameters>
    <parameter>
      <name>dialogueKey</name>
      <label>Dialogue key</label>
      <type>string</type>
      <description>The key in the JSON object that contains the dialogue text.</description>
    </parameter>
    <parameter>
      <name>characterKey</name>
      <label>Character key</label>
      <type>string</type>
      <description>The key in the JSON object that contains the character name.</description>
    </parameter>
  </parameters>
  <script><![CDATA[
    import json
    import glob
    dialogue_key = parameters['dialogueKey']
    character_key = parameters['characterKey']
    for file_path in glob.glob(input['source']):
        with open(file_path) as file:
            data = json.load(file)
            for dialogue in data:
                character = dialogue.get(character_key, '')
                text = dialogue.get(dialogue_key, '')
                output.write(f'{character},{text}\n')
  ]]></script>
</task>
会把事件名称,事件注释,插件指令,地图备注,脸图,人物图引用的内容全部都翻译了。
全栈独游制作,喜欢使用龙骨精灵。
回复

使用道具 举报

梦石
0
星屑
100
在线时间
1022 小时
注册时间
2021-3-24
回帖
544

MZ评测员

发表于 2023-5-5 13:53:18 | 显示全部楼层
GPT在瞎编你不要信
json和XML的关系就像咸豆腐脑和甜豆腐脑一样
全家活光光~
回复 1 0

使用道具 举报

梦石
0
星屑
5204
在线时间
457 小时
注册时间
2011-3-26
回帖
100
发表于 2023-5-5 18:28:59 | 显示全部楼层
chatgpt给的是啥……python代码?
对话中出现的<xxx:123>这样的一般是插件开发者自己定义的信息,写成这样比较特殊的形式方便匹配。只是长得像xml。如果是这种情况可以找下那个插件的匹配部分的代码,可以直接拿来辅助你提取这些信息。
回复

使用道具 举报

梦石
2
星屑
8479
在线时间
463 小时
注册时间
2021-12-4
回帖
486

MZ评测员

发表于 2023-5-6 17:10:02 | 显示全部楼层
weixin截图.png
如图,可以看到对话文本全部位于形如
{"code":401,"indent":4,"parameters":["【TIPS】"]},
{"code":401,"indent":4,"parameters":["收集的记忆碎玉已经达到一定数值。"]},
{"code":401,"indent":4,"parameters":["与物品和诗篇一同到达迷宫的终点……激活第一个回忆吧。"]}
这样的对象里,这里indent是一个非负整数,401是常数,那么你只需要对parameters数组里的字符串进行翻译就好。
对话文本一般会出现在地图文件(MapXxx.json)、公共事件(CommonEvents.json)、敌群文件(Troops.json),
对话以外的文本(如道具、技能、敌人名称和描述)则出现在其他不以Map开头的json文件中,并且不满足上面这种401的格式,需要另想办法处理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部