标题: [文本处理] 求教:某独立游戏批量汉化,如何按指定文本替换大量分散的原始文本 [打印本页]
作者: ldc 时间: 2017-9-20 13:37 标题: 求教:某独立游戏批量汉化,如何按指定文本替换大量分散的原始文本
本帖最后由 ldc 于 2017-9-20 19:51 编辑
文本翻译已完成,导出的文件为xliff,如何根据该文件批量替换原始xml?现有一批内含<source><target>一一对应的xliff格式翻译文本,如何按照以下类似的对应关系对游戏原始文件夹下的xml文件进行批量文本替换?
翻译文件形如- Advanced Defence
- 高级防御
- Advanced Defence
- 高级防御
- We need to build more powerful base defenses to take down the bigger threats!
- 我们需要建立更强大的基地防御系统来面对更大的威胁!
- Advanced Logistics
- 高级物流
- Advanced Logistics
- 高级物流
复制代码
待处理文件形如- <Chapter>
- <Handle>Advanced Defence</Handle>
- <Title>Advanced Defence</Title>
- <Icon>>Missile Turret MK1</Icon>
- <Pages>
- <Page>
- <Paragraphs>
- <Title>
- <Text>Advanced Defence</Text>
- </Title>
- <Icon>
- <Name>Missile Turret MK1</Name>
- <Alignment>Center</Alignment>
- </Icon>
- <Paragraph>
- <Text>We need to build more powerful base defenses to take down the bigger threats!</Text>
- </Paragraph>
- </Paragraphs>
- </Page>
- </Pages>
- </Chapter>
复制代码
作者: ldc 时间: 2017-9-20 13:40
项目托管在http://weblate.tectic.de/languages/zh_Hans/fortresscraft-evolved/上,开发者迟迟不推送更新就打算自己做一个覆盖xml的汉化补丁。
作者: ldc 时间: 2017-9-20 13:46
或者如何写一个小程序? python C++都行,主要是完全没有思路啊啊啊啊!
作者: slore 时间: 2017-9-20 14:54
思路没有?
翻译的文件是一行一行的话,直接读取,正则匹配target还是source,
如果格式复杂,就xmlpath库,用xml方式获取 xml["trans-unit"]["source"] 翻译文本。
然后打开xml文件直接傻瓜替换
>Advanced Power Grid<
||
\/
>高级能量网络<
作者: ldc 时间: 2017-9-20 17:35
目前打算写个python
直接替换工作量太大 一万多条
正则匹配和Xpath我倒是没往那想 多谢提醒 我试一下
作者: codegay 时间: 2017-9-20 19:14
给下文件的git路径。没心思找。
作者: ldc 时间: 2017-9-20 19:45
开发者并没有将weblate上的翻译同步到GitHub:
https://github.com/Fjolnir-Dvorak/Fortress-Craft-Evolved-Translation
我现在把文件处理成了一行一行的格式
正在研究python的字典,总觉得bat就可以解决但是不会啊-
- Upgraded Power Grid
- 升级款能量块
- Our power infrastructure is coming along nicely. Our battery technology is quite limited though, this project will attempt to design a better battery which can store more power providing us a bigger buffer.
- 我们的电力基础设施正在顺利运行。我们的电池技术相当有限,但这个项目将尝试设计一个更好的电池,可以存储更多的电力,为我们提供更大的能量缓冲区。
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |