0x00 注

2018年3月16日至6月6日,这82天内,我每天都会拿出半个到一个小时的时间来翻译一些英文技术文档,近期又做了些许proofreader的工作,颇有体会。

这82天说长也不长,主要翻译了一下RESTful API设计准则,英译汉,刚刚统计了一下字数,15452字(中文),平均188.4字每天。

我认为将英文技术文档,翻译成中文,有以下难点:

0x01 文化差异(名词释义)

文化差异导致很多东西不能被直译为中文,需要意译,我曾思考过一个问题,众所周知,计算机中的总线,英文名叫bus,bus这个单词小学生都知道它是公共汽车的意思,但是,当时**做翻译的那个人是怎么想到将这个bus翻译成总线的呢?**我查阅了一些资料,例如下面是英文维基百科中对bus这个词在计算机科学中的定义:

In computer architecture, a bus is a communication system that transfers data between components inside a computer, or between computers.

在计算机体系结构中,bus(总线)是一个用来在不同组件或者计算机之间传输数据的通信系统。

我不知道发明bus(总线)的那个人,是怎么想到用bus(公共汽车)这个词来为其命名的,我暂时也没有查到其始作俑者详细的思考及资料,我姑且认为这是美式英语思维所导致的,我查阅了Collins词典中bus这个词的词条,并没有发现在语言层面上其思维的线索。但是我知道一开始的将bus中文命名成总线的那个人一定很厉害,我没有查到是谁最初翻译的这个词,我姑且将这类人称为文化的传播者,我认为想成为这样的人,有如下3个必要条件(不一定是充分条件):

  • 母语级别的英语能力
  • 学到头的汉语表达能力
  • 极高的计算机科学素养

这样的人,着实厉害,在我翻译的过程中,我也遇到了很多词,这些词,很难用一个中文词表达出来,或者即便用一个中文词表达出来,也不能让一个母语为汉语的计算机专业学生顾名思义。这个例子很多,就拿REST这个全称来说吧,REST全称为Representational State Transfer,表述性状态转移——这是其最常用的中文翻译方法,当然我不是始作俑者,当我(作为一个计算机系的学生)在有一定的学科背景的情况下,第一眼望去这个中文词,我并不知道这到底是个什么东西,尤其是对于第一个词“表述性”的理解上。

资源的表述(resource representation)这个词被文化的传播者翻译成了资源的表现层,这对于一个计算机专业的学生理解上就相对直观一点,尤其对于Web开发者而言。但是如果说资源的表述,我相信很多人就会因为这个名字而搞不清这究竟是个啥。

至此,我认为产生上述问题的根本原因在于中西方文化的差异。现在就是缺少很多这样的文化的传播者来为这些名词的汉语翻译提出建设性意见。而我做翻译,也只能尽量搜集资料,查阅前人有关此名词的翻译,然后取而用之。

0x02 语法差异(句子解释)

英语有一套与中文截然不同的语法结构。编译原理这门课也教过我们,syntax(语法)描述的是一个无限的集合。但同样英语的syntax和编程语言的syntax也是截然不同的,编程语言的syntax可以保证其生成的语句不会具有ambiguous(二义性),如果有的话,编译器在编译阶段就会报错啦。但是英语作为一门灵活的语言,交流用的语言,文章中可以带有ambiguous expression(模棱两可的表达)或者pun(双关语),同样的一个词在不同的句子中可能产生不一样的意思,这并不影响母语者的理解,但是这些现实语言元素的存在在一定程度上加大了翻译工作的难度。有些词你甚至需要查阅一下这些词的起源或者一词多义,你才能给出一个像样的中文表达。我认为对于双关语以及模棱两可的表达,译员应当以译者注的形式作出进一步的解释。其中译者注应尽量包含原文或原词,以便读者更好地理解。这一点在High performance MySQL这本书的中文译本《高性能MySQL》中得以很好地体现,《高性能MySQL》是我读过的为数不多的翻译质量比较好的计算机类图书,举个这本书中的例子,

在原书第49页有这样的一句话:

If you want to achieve world domination, you must plot continually, pun intended.

其译本在其47页是这样翻译的:

如果你想要统治世界,即必须不断利用“阴谋”。

同时给出了如下的译者注,在当页的页脚中:

英语中plot既有阴谋的意思,也有绘图的意思,所以这里是一句双关语。

这进一步论证了我上述的观点:对于双关语以及模棱两可的表达,译员应当以译者注的形式作出进一步的解释

此外,syntax产生的另一个问题就是长难句,在英语中,我们经常见到一句由三四十个单词构成的句子,但是在中文中,我却基本没见过由三四十个汉字构成的句子,当然这也可能是我读书少的缘故。对于长难句,我的翻译历经了2个阶段,第1个阶段,我构造了一些中文长难句,英语的长难度无非具有很长的修饰性语言部分,那我也把这些修饰性部分全部都累加到中文词前面,然后就构造了一些看上去很长而且语言不太正常的中文句子,这些往往出现在我早期的翻译中,例如:

一个REST API在进入的时候应当没有除了为预定使用者约定的URI以及一组标准化的media type之外的其他的任何预先的了解,即预计任何可能使用这个API的客户端都应当可以理解。

摘自我的翻译作品What is REST

上面这句话的前半部分,到逗号为止就有50字之多,这样长的句子我感觉在中文里面是少见的,我认为这是一个病态的翻译语言应以简单为主

上面这个句子构造出来,我自个都觉得奇怪而且难以理解,为了方便理解,我给这句话加上了174字的译者注环节,50字的译文却带了174字的译者注来做进一步地解释,我觉得这样反倒不如去衍生,干脆不翻译了,看懂原文后,用中文衍生一篇文章。

后来我学会了长难句的拆分翻译,也就是我的长难句翻译第2阶段,把一个很长的英文句子依据句子成分的构成拆分成多个中文小句子进行翻译,这样构造出来的中文句子,语言简单的问题是解决了,但随着而来的问题就是这个句子如何拆分,修饰成分应当放哪。我个人并不懂语法,但也不是完全不懂,多少还能看出个主谓宾来,这对于我来说还是比较困难的。

我将长难句翻译的难点归结于中文表达能力的欠缺,翻译能力和阅读理解能力完全是两个不同的档次,翻译的难度要远高于看懂的难度,尤其是想做出一个比较好的翻译。很多人可以看懂英文文章,但是他们未必可以将其很理想地翻译成中文,反之亦然。举个最简单的例子,李白的诗句“床前明月光,疑是地上霜。举头望明月,低头思故乡。”,我们中国人都能理解,但是如果要将其翻译成英文,你掂量掂量原诗的意境还能残存多少呢?所以长难句的翻译的根本难点在于中文表达能力的欠缺以及中西方文化思维的差异

0x03 如何做出优秀的专业文献翻译

我认为,一名优秀的译者应当具备如下3个条件:

  • 良好的英文阅读理解能力
  • 良好的中文表达能力
  • 丰富的专业学科背景

上述3个条件缺一不可

英语专业的学生或者教授往往具备前两点,但是对于某一特定领域而言,比如计算机专业,他们往往知之甚微,如果让他们去翻译专业性极强的计算机专业文献,他们可能根本看不懂,就好比你是一名计算机专业本科的学生,然后我拿过来一篇中文的生物学论文,虽然语言上不是问题,但是专业上的隔阂就足以让你看天书了。

计算机专业的学生或教授往往具备第一点和第三点,极少数这三点都具备**(前文中所提的文化的传播者)**。对于绝大多数计算机专业的人而言,他们懂计算机,也懂那些计算机专业名词,但是他们未必可以做出好的翻译,因为语文不行,这里的语文可能不单单指中文,同时还有英文的阅读理解能力。他们所谓的看得懂的文章,未必可以用他们的母语将其表述出来。

我认为想做出一份好的专业文献翻译(如果真想做的话),需要英语专业及计算机专业两个专业的人员相互配合,英语专业可以给出更好的给出语言层面的解释及表达,计算机专业可以对专业性极强的名词做出更好地解释,两者可以互补。但就目前而言,英语专业和计算机专业相关人员相互配合进行翻译着实少见。绝大多数的计算机类图书译员都是纯计算机专业做出的翻译,当然也不排除有些书他们翻译的确实好,就比如说之前所提到的High performance MySQL这本书。

对于计算机专业人员去做英文文献翻译工作,我认为首先要做到下面几点

  • **领域驱动翻译(domain driven translation):**恩,不错这个词是我造出来的,何谓领域驱动呢,举个简单的例子,你不能让一个硬件工程师去翻译软件相关的文献,或者让一个前端开发者去翻译后端分布式的相关文献,即便他英语足够好。保证相关学科的专业背景关联对于专业名词的翻译尤其是意译是至关重要的。
  • **辅助理解的译者注环节(necessary translator’s note):**我认为必要的译者注可以有助于读者理解,尤其是对于一些中西方文化产生隔阂或分歧的地方,以及一些必要的英文双关语或者一词多义。
  • **必要的衍生(compose your own story):**我已经在英文注解里面说得很直白了,编写你自己的理解和看法,当然这是对于一些确实很难理解或者很难用中文去表述的内容。那我们就不如照着自己的理解去写,没有必要刻板地或者从字面上强行翻译强行翻译必然导致专业文章译本质量的下降
  • 必要的专业词汇不翻译(No translations for obscurities):对于那些晦涩难懂的专业词汇,我们确实可以不翻译,在译本中同样用英语表达,但是对专业名词要给出具体定义,然后等待文化的传播者作出建设性的翻译成果,再取来用之。例如,计算机专业词汇round-robin,round是一个正常的英语词汇翻译为[大约,绕过,迂回],但是robin,在英语中是知更鸟的意思(词典中只有这一个意思)。在我们要翻译的文献中,如果看到这样的词,查阅前人资料无果后,可以先将此词空出来,在译者注中给出相关的中文定义即可。当然,文化的传播者们已经将round-robin这个词意译成了中文,他就是操作系统中大名鼎鼎的轮转调度或者轮询。当文化的传播者作出相关建设性的工作并已被大众广泛认可后,我们再将此词加入我们的译本中,取来用之。当然,如果你是文化的传播者可以忽略本条