孙悟空的72变的“变”英语应该怎么说

前几天看一个综艺节目,里面有翻译给美国人介绍孙悟空,提到孙悟空会变化。这时我听到的翻译是“change”,马上知道肯定不对。今天就来聊一聊这个72变的“变”到底应该翻译成什么。

先来说说“change”这个词。这肯定是一个广大英语学习者都会接触的一个动词,大意为“变化”。然而,如果不细究这个“变化”的具体含义,很多时候会词不达意,就像上面的这个例子。其实,“change”是一个含义很宽泛的词。任何一个人和事物,随着时间变得与之前不一样,都可以称之为“change”。所以,当我们感叹世事无常时,会说“人都会变的”。这句话翻译成英文就很简单:“everyone changes”。所以,当我们说“Sun Wukong can change”的时候,母语为英语的人们是不知道你想说的是什么,因为每个人都会变的。 他们会知道,孙悟空一定有和其他人不一样的“变化”,否则你也不会说一句“Sun Wukong can change”。可是,由于“change”的外延过于广泛,人们是无法猜出来你所说的变化具体指什么。

我们如果换一个词,就可以很明确的表明72变是怎样的一种变化。这个词就是“变身”。如果你去查字典,专指身体外形变化的词,主要有三个:transform,transfigure和metamorphose。这三个里面,最熟悉的就是“transform”,因为动画片“变形金刚”的原文就是“transformer”。关于“trans”这个词根,其实可以专门写一些文字。这里主要表明,此词根表达的是“由此及彼”的这样的变化。而“form”的意思就是外在的形式。《心经》中,“色不异空”的“色”就有翻译成“form”的。所以,“transform”指外在形式由此及彼的变化,很适合72变的这个“变”的含义。

既然已经表明了立场,就要说说为什么另外两个词,不适合用来表达这个“变身”的意思。如果细心,一定有人会说,“transfigure”其实更合适。这个想法可以在《哈利波特》电影中找到佐证。《哈利波特》里公平又严厉的女教授米勒娃·麦格(Minerva McGonagall),就是一个精通transfigure的女巫。在《哈利波特》的世界里,transfigure是一种令物体外形发生变化的魔法。特别是可以使非生物的物体变成生物,或者使人变成动物并不丧失魔法。听上去孙悟空也是个中高手。如果限定在《哈利波特》的情节下,这个翻译自然很契合。然而,我们不想把《西游记》与《哈利波特》混为一个魔幻体系。所以,这个transfigure的含义就要在《哈利波特》之外去寻找。

如果离开《哈利波特》,我们就会发现,transfigure这个词语,通常用于一个很确定的上下文中,那就是圣经新约里面提到的“耶稣显圣容”。这里的transfigure,不光是指耶稣身体发出光芒,还历史性地赋予了transfigure明确的宗教内容和含义。所以,用transfigure去表达孙悟空的变化,就不是十分合适的了。

最后说一下metamorphose。据说,这个词也曾被用于表达“耶稣显圣容”的意思。后来逐渐演化的过程中,这个含义越来越少被提及(但没有消失)。更多的被用来指昆虫的变态发育过程。显然,孙大圣不是昆虫纲的。

这个例子可以看出来,一个词含义的变化,除了词根所表达的含义以外,很多时候和使用这种语言的文化发展过程紧密相关。所以,学习语言,也可以促进对其他文化历史知识的学习。这也是一个很享受的过程。

一个很有哲学意味的接口设计

工程和哲学,通常很难联系到一起。现实生活中,也确实如此。但如果能在忙碌的工程中,拿出一些时间,也可以在繁杂的代码中,看到一丝哲学的火花。

作为曾经流行的技术,COM已经渐渐远离了人们的视野。然而作为曾经以此谋生的我,还时常会想起它。特别是那个意味深长的接口,IUnknown。

这是一个非常有意思的设计。一个编程用的接口,回答的,却是每个人心中最深沉的问题。这个接口,只有三个API。一个叫AddRef,一个叫Release。这两个API回答的,是生与死的问题。另一个API叫做QueryInterface,它回答的,则是“我是谁”。

人们用天数计算着自己的生命,IUnknown使用引用计数来决定自己的去留。所以,也不奇怪人们把“AddRef”和“Release”称为“生命”周期管理。

而“QueryInterface”,则是一个接口区别另一个接口的标志。COM世界中,一切都是IUnknown,彼此的不同,便只由QueryInterface的不同的回答来决定。如果说“AddRef”和“Release”赋予了IUnknown生命,那么QueryInterface便赋予IUnknown不同的生存价值。由是,便有了你我之分。如果将接口,看成不同的职责,那QueryInterface区别的,就如同职场上不同的职位。如果讲接口看成生活中的不同角色,那QueryInterface所区别的,就是父母,兄弟,夫妻等不同的身份。

如果你对人生有更深的思考,也许会问,那“什么是我”。也许有人会说,“我是谁”和“什么是我”不是同一个问题吗?真的么?我们每天辛勤工作,在公司,是不同的职责,不同的分工。我是工程师,他是老板等等。这是“我是谁”,但都是工程师,什么才是区分你我的根本呢?即使是同一个工作,也可以不同的人来做,哪一个是我?我们追求的所谓个性,无论是简单的IRect,IElement,还是复杂如IOleDocumentView,哪一个是真正的我所独有?都不是。我们工作,不喜欢别人仅以职能或结果来评价我们,因为那不是真正的“我”。我们生活,朝九晚五,吃喝拉撒,久而久之,都会感慨缺少真正属于自己的一片天地。而那缺少的所谓“自己”,究竟是什么?QueryInterface回答的,或者说界定的,是我所有,不是我。关于这个“什么是我”的问题,COM世界给出了坦诚的回答。这回答,便蕴含在IUnknown的名字里:我不知道。

不知道,其实是个不错的回答。因为不知道,才使得IUnknown的继承者,无所不能。而IUnknown本身,则颇有道可道,非常道的意味。

这就是一个程序员,在养家之余,还很享受的阅读代码的一小段思考。

一年有多少天

一年有多少天?这本是最平常的问题。从小我就知道,一年365天。后来,知道了平年和闰年的区别。再后来,知道了回归年和恒星年的区别。此后,又了解了阴历和阳历的区别。本以为一年多少天这样的问题已经可以回答得很圆满了。谁承想,最近一个偶然的机会,需要更多的了解一下历法的历史。这才知道,自己又浅薄了。从今以后,再有人问我,一年有多少天,我一定反问,你问的是那一年啊?确实,历史上的很多年并不是平年闰年或者阴历年阳历年那样简单。举个极端一点的例子,公元前46年的罗马,那一年,一共有445天。关于历法,有太多的问题了。以后有机会慢慢聊。反正耶稣不是出生于公元元年,宗教和历史学家认为他应出生在公元前2年到公元前7年之间。所以,公元元年什么的,也是浮云啊。