如何翻译包含DTD的XML文档
前面讲过了包含DTD的XML是什么,我们先复习一下重点:
源文档还是XML
XML中定义了dtd引用
如果引用外部dtd需要有一个dtd文件,来验证XML文档结构是否正确
今天跟大家分享如何翻译包含DTD的XML文档~
毕竟我们真的只要翻译就好了,不用管你什么标签什么乱七八糟的对不对~(反正我是这样想的~)
在翻译包含DTD的XML时,可以有2步:
检查翻译包
配置及测试过滤器
如果觉得步骤麻烦,也可以直接拖到本文底部,找到操作视频,看视频即可~
一、翻译包检查
在正式启动翻译之前,我们要检查源文档和翻译包。
你需要检查:
1、发送过来的翻译包是单个文档还是多个文件的翻译包;如果是多个文档的翻译包,哪几个文档需要翻译?
比如这个翻译包:文件包里有4个xml文档,以及一个dtd文档。
图1 翻译包截图
2、检查需要翻译的XML文档,看一下源文XML文档是否有外部引用;
比如,下图2中就包含了一个"partpage"的dtd引用。
图2 含有DTD的原文截图
3、如果XML中有有外部引用,对比翻译包中的引用文档是否和声明中的引用一致。
在本案例中,根据图1和图2,发现翻译包中的引用文档和声明中的引用是一致,如图3。
图3 检查引用是否一致
OK,既然收到的翻译包没有明显的错误,那我们导入memoQ进行翻译,试试看。
我们前面一直讲:导入翻译文档,需要设置正确的过滤器。
那么,包含DTD的XML文档应该如何配置呢?
二、为包含DTD的XML配置过滤器
当然,在CAT中,过滤器也可以叫解析器。都一样~
配置过滤器有三个步骤:
选择正确的过滤器
配置过滤器
检查过滤器。
2.1 选择正确的过滤器
既然是XML文档,那么我们就用XML过滤器即可。
所以在导入时,选择:导入 -> 找到需要翻译的4个XML文档 -> 选择 XML 过滤器,如图4所示。
图4 选择XML过滤器
2.2 配置过滤器
默认的过滤器不能满足我们的需要,所以我们可以更改过滤器配置。
操作如下:
1、在文档导入选项 -> 点击“更改过滤器配置” -> 跳转出“文档导入设置”窗口;
图5 文档导入设置
2、在“文档导入设置”窗口 -> 点击“DTD/架构文件”的“浏览” -> 选择正确的dtd文档;
图6 配置DTD文档
3、点击“①标签和属性” -> 配置XML过滤器。具体如下:
点击 “②填充” -> 自动填充 ③标签 和 ④标签属性
在 ⑤标签设置” -> 设置哪些标签需要翻译、哪些标签属于行内标签
在 ⑥属性设置” -> 设置哪些标签属性需要翻译、哪些标签属于非译元素或上下文等条件
可以参考 ⑦实例 为每一个 ③标签 和 ④标签属性单独设置不同条件
还可以在 ⑧预览区预览实际文件内容
你还可以点击 ⑨保存过滤器,保存并 ⑩重命名一个新的过滤器,供下次使用。
图7 配置DTD的XML文档
更多关于XML翻译的解析器设置,请参考:如何翻译单语XML文档?
4、过滤器配置完成后,点击确定即可导入翻译文档~
2.3 检查过滤器
按照2.2 的操作,导入后如下图8所示:
图8 翻译编辑器界面
但是这样就完事大吉了嘛?NONONO!
为了保障译文的格式准确性,我们要测试一下译文是否可以按照目标语言编码顺利导出~
比如在这里,我借助小牛机器翻译,利用MT进行了预翻译。
图9 MT预翻译结果
更多关于MT预翻译的内容,参考:机器翻译在CAT中的应用
并把MT的译文导出检查一下~
如果导出后的译文如图10所示,可以顺利显示,就说明是OK的:
图10 MT导出的测试译文
果然没问题,那我们就可以正式启动翻译啦~
更多关于memoQ翻译的操作,详见:memoQ单机版入门指南。
给大家一个思考题:如果导出的译文是乱码,如图11所示,请问怎么解决呀~
图11 编码问题
这其实是在进行应用程序本地化中的另一个常见问题:编码问题。回头再讲~
偷偷说:可以看下方操作视频中的解决方案嘻嘻~
详细操作视频:
照例给大家录了个操作视频:
如果你已经遇到了相关的本地化文档,希望本文供您参考~
如果暂时还没遇到,可以收藏以供将来使用啦~
当然,除了DTD之外,还要一个类似的就是包含XML Schema架构文件,也就是 *.xsd 文档。
下节分享~
好啦今天内容先到这里,下节见啦~
往期精选
XML文档解析系列:
如何翻译多语言XML文档?(游戏本地化与APP本地化常见原文)