查看原文
其他

如何翻译包含DTD的XML文档

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

前面讲过了包含DTD的XML是什么,我们先复习一下重点:

  • 源文档还是XML

  • XML中定义了dtd引用

  • 如果引用外部dtd需要有一个dtd文件,来验证XML文档结构是否正确

今天跟大家分享如何翻译包含DTD的XML文档~

毕竟我们真的只要翻译就好了,不用管你什么标签什么乱七八糟的对不对~(反正我是这样想的~)

在翻译包含DTD的XML时,可以有2步:

  1. 检查翻译包

  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中,过滤器也可以叫解析器。都一样~

配置过滤器有三个步骤:

  1. 选择正确的过滤器

  2. 配置过滤器

  3. 检查过滤器。

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文档篇:认识DTD(一)

翻译包含HTML样式的XML文档 (CDATA篇)

翻译包含HTML样式的XML文档(实体篇)

如何翻译单语XML文档?

如何翻译多语言XML文档?(游戏本地化与APP本地化常见原文)

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

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

译前处理系列:

巧用Vlookup、If、Or等函数解决数据合并问题

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

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

翻译与本地化项目管理:

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

跟Evernote翻译风格指南学应用程序本地化

语言资产管理系列

术语管理篇:如何进行术语提取

行业报告和标准系列:

2022年语言服务行业报告

正则表达式系列

memoQ中的正则表达式助手

正则篇(七):用正则检查译文质量

正则篇(六):用正则将文本标记为标签

正则篇(五):用正则进行文本解析

正则篇(四):源文件准备

正则篇(三):用正则在CAT中查找和替换

正则篇(二):如何写一个正则表达式

正则篇(一):认识正则表达式

memoQ操作系列:

memoQ 客户端安装注意事项

无法向记忆库添加条目,需要修复一下记忆库

memoQweb端常见问题和注意事项

memoQ server运维系列:

如何进行memoQ server的升级

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

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

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