查看原文
其他

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

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

在入门XML的时候,你只需要知道:

从今天起,我再带来高阶一点的XML文档的知识。先从包含HTML样式的XML文档讲起。

比如,我这里有一个文本:

里面有一堆看上去乱七八糟的东西,比如:<>

这些乱七八糟的东西其实是实体

如果你看不懂这个文档,那么我再给你放另一个图:

其实有些同学可能发现了,上述两个图,除了第一张图多了一些乱七八糟的“实体”,其它都是一样的。

是的,这两个文档就是同一个文档,只是写法不同。

为什么写法不同呢?我们先学一个新的知识点:实体

什么是实体?

XML规范规定,如果有些字符(详见下列表格)出现在要显示的文本中,它们应该写成实体。

如果你想要你需要改为:
< (小于号)&lt;
> (大于号)&gt;
&(和)&amp;
' (英文单引号)&apos;
'' (英文双引号)&quot;

我们来看个例子。

假设你想实现的文本是:

你的XML就应该这么写:

你瞅瞅,在这里:

  • 大于号没有写成>,而是&gt;

  • 单引号也没有直接写为',而是&apos;

这就是实体。XML的实体是对数据的引用,而不是直接使用该数据。

通过上述表格,我们也发现了,实体的标准写法是:

  • 以一个和字符(&)开始

  • 以一个分号(;)结束

那,遇到包含实体的文本,应该怎么翻译呢?

如何翻译包含实体的XML文档?

我们回到图一的文档:

如果把这个文档直接导入memoQ进行翻译,默认情况下,memoQ默认的XML过滤器就可以自动识别这样的文本。

所以,如果这个文本直接导入memoQ,会是这样的:

是的,我们发现了:

  • memoQ自动把&lt;转为了<

  • &gt;转为了>

这时候我们也发现,咦,memoQ自动转换为HTML的样式了:

  • <br>不就是一个换行标签嘛!

  • <b>不就是一个加粗样式嘛!

所以你可以理解为:这个文本是在XML基础上包含了HTML样式

那就简单了,我们可以用层叠过滤器搞定。

关于层叠过滤器,你可以查看帮助文档:https://docs.memoq.com/current/en/Places/create-new-filter-cascading.html?Highlight=cascading%20filter

我们以后也会再讲,慢慢涨姿势~

  • 既然是XML文档,所以我们第一层过滤器还用XML过滤器;

  • 既然包含HTML样式,所以我们叠加一层HTML过滤器。

重新导入后,就OK啦!

该变为标签的也变为标签啦~

这样就不用担心出现字符串误译或者丢失的问题啦~

操作视频:

好啦~今日分享结束~

下次分享:认识和翻译包含CDATA的XML文档~

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


往期精选

如何翻译单语XML文档?

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

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

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

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

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

本地化行业职位概览来啦

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

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

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