搞定游戏本地化中的多语言XML文档
通过前面的文章,认识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>
为简体中文;
导出的所有语种的译文
操作视频:
我录了一个详细的具体操作视频,供参考:
你有在游戏本地化的过程中会遇到这样的文本吗?除了这个方法,你还有其它方案吗?欢迎分享~
如果你觉得本文对你有帮助,欢迎转发~
好啦~今日分享结束~
你还想学什么,欢迎来问~