[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求教:某独立游戏批量汉化,如何按指定文本替换大量分散的原始文本

本帖最后由 ldc 于 2017-9-20 19:51 编辑

文本翻译已完成,导出的文件为xliff,如何根据该文件批量替换原始xml?现有一批内含<source><target>一一对应的xliff格式翻译文本,如何按照以下类似的对应关系对游戏原始文件夹下的xml文件进行批量文本替换?

翻译文件形如
  1.           Advanced Defence
  2.         高级防御
  3.          Advanced Defence
  4.         高级防御
  5.          We need to build more powerful base defenses to take down the bigger threats!
  6.         我们需要建立更强大的基地防御系统来面对更大的威胁!
  7.          Advanced Logistics
  8.         高级物流
  9.          Advanced Logistics
  10.         高级物流
复制代码
待处理文件形如
  1. <Chapter>
  2. <Handle>Advanced Defence</Handle>
  3. <Title>Advanced Defence</Title>
  4. <Icon>>Missile Turret MK1</Icon>
  5. <Pages>
  6. <Page>
  7. <Paragraphs>
  8. <Title>
  9. <Text>Advanced Defence</Text>
  10. </Title>
  11. <Icon>
  12. <Name>Missile Turret MK1</Name>
  13. <Alignment>Center</Alignment>
  14. </Icon>
  15. <Paragraph>
  16. <Text>We need to build more powerful base defenses to take down the bigger threats!</Text>  
  17. </Paragraph>
  18. </Paragraphs>
  19. </Page>
  20. </Pages>
  21. </Chapter>
复制代码

项目托管在http://weblate.tectic.de/languages/zh_Hans/fortresscraft-evolved/上,开发者迟迟不推送更新就打算自己做一个覆盖xml的汉化补丁。

TOP

或者如何写一个小程序? python C++都行,主要是完全没有思路啊啊啊啊!

TOP

思路没有?
翻译的文件是一行一行的话,直接读取,正则匹配target还是source,
如果格式复杂,就xmlpath库,用xml方式获取 xml["trans-unit"]["source"] 翻译文本。

然后打开xml文件直接傻瓜替换
>Advanced Power Grid<
||
\/
>高级能量网络<

TOP

目前打算写个python
直接替换工作量太大 一万多条
正则匹配和Xpath我倒是没往那想 多谢提醒 我试一下

TOP

给下文件的git路径。没心思找。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

开发者并没有将weblate上的翻译同步到GitHub:
https://github.com/Fjolnir-Dvorak/Fortress-Craft-Evolved-Translation
我现在把文件处理成了一行一行的格式
正在研究python的字典,总觉得bat就可以解决但是不会啊
  1.          
  2.         Upgraded Power Grid
  3.         升级款能量块
  4.          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.
  5.         我们的电力基础设施正在顺利运行。我们的电池技术相当有限,但这个项目将尝试设计一个更好的电池,可以存储更多的电力,为我们提供更大的能量缓冲区。
复制代码

TOP

返回列表