查看原文
其他

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

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

简介:用正则进行源文件准备,比如,对原文中含有html样式的xliff文档进行译前准备。

我在跟各个职业译员沟通的时候,发现一个困扰大家许久的问题,就是源文档分析和导入。

可能你会说,源文档嘛,拿过来翻译就好了,这有什么难的呢?还真不是。

不信我们来看一个案例。

案例

这是一份*.xliff格式的文档,源语言是英语,目标语言是德语。但是你看,这个文档的每个开标签<target xml:lang="de"/> 后都缺失了关闭标签</target>

当然,这不是最主要的问题,最主要的问题是,原文中含有有HTML样式,确实不能直接导入翻译

不信我们看,如果将这个文本直接导入到CAT工具中,效果是不尽如人意的。

需要说明的是:在这里我没有做任何设置,直接将文档进行导入。导入后有几个明显的问题:

  1. 虽然原文中即使缺失了标签对,但是不影响导入;

  2. 原文中的HTML样式导入不理想,比如<p><ul></p></span>等等;

  3. 一个句段太长,或者断句不理想,影响翻译时候的视图。

那,怎么解决呢?其实很简单:

  1. 进行译前文件准备,将原文件标签对补充完整

  2. 将完善后的文本作为原文,再次导入至CAT中

补充标签对

首先,我们可以借助正则,把一个标签<target xml:lang="de"/>补充为完整的标签对<target xml:lang="de"/></target>

现在的原文:

开标签前其实有四个空格,但是手机不好显示,我就先删了。

写正则的时候我是按照原文有四个空格写的。

<source xml:lang="en">TMGMT Demo</source>
<target xml:lang="de"/>

理想的原文:

<source xml:lang="en">TMGMT Demo</source>
<target xml:lang="de"/>TMGMT Demo</target>

要实现理想的原文也很简单。我们在之前的文章中,讲过写正则的方法:分析归类,正则匹配,测试匹配。

详情见这里:正则篇(二):如何写一个正则表达式。我们用同样的方法试一下。

第一步:分析归类

  • 查找:开头多个空格开头+<source xml:lang="en">+任意内容+</source>+换行符+多个空格+<target\sxml:lang="de"/>

  • 替换:开头多个空格开头+<source xml:lang="en">+任意内容+</source>+换行符+多个空格+<target\sxml:lang="de"/>+和开头一样的空格+<target xml:lang="de">+同前面的任意内容+</target>

第二步:正则匹配

  • 匹配出来后,应该查找

^(\s+)<source\sxml:lang="en">(.+?)</source>\n\s+<target\sxml:lang="de"/>
  • 替换为:

$1<source xml:lang="en">$2</source>\n$1<target xml:lang="de">$2</target>

第三步:正则匹配

大家可以用任意的文本编辑器即可。在这里我用的是sublime,当然,大家也可以用notepad++都可以的~

同时,在查找替换的时候一定要记得开用正则进行查找/替换!!!

补充完整标签对后的原文:

导入至CAT工具

我们将修改后的文档另存,直接导入至CAT工具,导入后效果是不变的。因为xliff文档默认有自己的断句规则,也不能搭配html样式。


因此,我们要换一种方式,也就在XML过滤器基础上加一层HTML过滤器,组成层叠过滤器

如果用这个过滤器导入之后,再来对比一下结果。

这样的话我们是不是就把标签和断句两个问题都解决啦~

操作如下:

好啦这期正则篇先到这里,下期我们分享用正则进行文本解析,提取原文中要翻译的文本。

先放一个案例供大家思考:

预告案例

这份原文来自通信领域,原文是*.txt格式。通过下方的文档你也能看出,需要翻译的其实只有引号内的内容

button.add: "Add",
button.confirm: "Ok",
button.cancel: "Cancel",
button.create.new: "Create new",
button.edit: "Edit",
button.save: "Save",
modal.bulkActionWarning.title: "Warning",

你可以先独立思考一下,这样的文档应该怎么导入捏~

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


往期精选

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

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

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

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

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

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