查看原文
其他

搞定游戏本地化中的多语言XML文档

可爱的冬梅 职业译员玩转翻译技术
2024-09-09

通过前面的文章,认识XML文档(二)XML的元素、标签、文本、属性和实体,我们知道了XML文档的构成。

如果你的XML文档是单语言的,我也讲了如何翻译单语XML文档

但是除此之外,我们也会遇到多语言的XML文档,尤其是游戏本地化和应用程序本地化中。

所以,今天带大家看看,多语言的XML文档长什么样子,以及如何翻译。

认识多语言的XML

先来看一个多语言的XML文档示例,其实和单语言的也差不多,但是又有所不同。

我们来分析一下这个XML:

  • 声明语句<?xml version="1.0" encoding="utf-8"?>

  • 根元素<Config>

  • 有多个子元素,比如<Menu><Item><lang_DE><lang_EN><lang_FR><lang_JP><lang_ZH>等。

  • 在这些元素中用不同的元素名表示需要对应的语种,如:

    • <lang_DE>代表德语

    • <lang_EN>代表英语

    • <lang_FR>代表法语

    • <lang_JP>代表日语

    • <lang_ZH>代表简体中文

  • <Item>元素还包含两个属性,其中:

    • segorigion是注释;

    • segID是上下文。

认识了这个XML文档,应该怎么翻译呢?继续往下读。

翻译多语言的XML文档

我们一直在讲,翻译首先要设置对过滤器,翻译多语言的XML文档也不例外。

多语言的XML文档需要用多语言XML过滤器,通过设置XPATH实现。

我们看一下具体操作:

Step 1:创建多语言的项目

在这个项目中,我的源语言是英文,目标语言是德语、法语、日语、中文(中国大陆)。

项目语言

需要注意的是:多语言项目要记得为每个语种设置记忆库

项目中的记忆

术语库可以是一个多语言的术语库。

项目中的术语库

Step 2:选择性导入 > 选择xml文档 > 更改过滤器和配置 > 选择多语言XML过滤器 > 点击编辑导入规则。

更改过滤器配置

跳转至XML导入规则窗口。

我可以在左侧点击各个元素,预览XML全局。

预览XPath

Step 3:(重点!!!)设置XPath。

多语言的XML文档是通过XPath来实现的。所以我们要定义每个内容,设置完成一个内容就可以点击“保存至规则集合”。

设置内容XPath

内容规则说明如下:

  • 内容XPath:指的是哪个元素代表哪个语种。元素名前面用//隔开。在这里输入:

    • //lang_DE,选择memoQ语言为德语

    • //lang_EN,选择memoQ语言为英语

    • //lang_FR,选择memoQ语言为法语

    • //lang_JP,选择memoQ语言为日语

    • //lang_ZH,选择memoQ语言为中文(中国大陆)

  • 内容的上下文(ID)XPath:指的是元素中是否有上下文属性。元素前同样是用//隔开,元素名与属性名之间用/@隔开。在这里,segID是上下文,所以输入:

    • //Item/@segID

  • 内容XPath的长度限制:指的是元素中是否有长度限制属性。在这里没有设置。

  • 内容的注释 XPath:指的是元素中是否有注释属性。在这里输入:

    • //Item/@segorigin

点击完“保存至规则集合”,会在左侧预览设置好的内容。

保存规则后预览XPath

说明如下:

  • 蓝色底色为已导入文本;

  • 橘黄色底色为上下文(ID);

  • 绿色底色为注释;

  • 褐色(好像是褐色吧)底色为长度。

全部内容设置完成后,预览如下:

预览全局XPath

Step 4:点击“确定”,预览设置后的导入规则;

完成导入规则后

Step 5:点击“确定” > 确定,完成多语言XML文档的导入

Step 6:打开文档,预览并翻译。

在memoQ中打开文档,可以在左下方预览所有的多语言的内容,同时并进行翻译。

在这里,我用了小牛机器翻译进行预翻译。

在memoQ中的预览

Step 7:翻译后导出。

我们发现,导出后的译文,每个语种都应该在自己应该在的位置:

  • <lang_DE>德语

  • <lang_EN>英语

  • <lang_FR>法语

  • <lang_JP>日语

  • <lang_ZH>简体中文

导出的所有语种的译文

操作视频:

我录了一个详细的具体操作视频,供参考:


你有在游戏本地化的过程中会遇到这样的文本吗?除了这个方法,你还有其它方案吗?欢迎分享~

如果你觉得本文对你有帮助,欢迎转发~

好啦~今日分享结束~

你还想学什么,欢迎来问~


往期精选

如何翻译单语XML文档?

认识XML文档(二)XML的元素、标签、文本、属性和实体

认识XML文档(一)什么是XML文档?

不会宏命令?试试用Transtool实现段段对照

一名职业译员,在拿到翻译任务时,应该和PM确认哪些内容?

如何导出段段对照的双语译文

本地化行业职位概览来啦

这是一篇关于正则表达式的汇总(新)

继续滑动看下一个
职业译员玩转翻译技术
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存