attributes V.S properties,属性还是性质?

真・懒写于

对于在中文世界的web standards的传道者来说,最困难的莫过于一些术语的翻译。Molly的web design world cool-down中就有相关术语误用的问题。还好,对于英文用户来说,由于是meta language(元语言)吧,他们可以十分迅速地分辨、了解以及投入使用,只要有高人那么一指点。中文用户就十分不幸了,历经传道者的层层翻译,在翻译中又有所曲解,初学者不像经验老到的我们,往往会对于一些术语莫名其妙。

举个简单的例子吧,在web design world cool-down中也提到的,就是attribute跟property,一个用在HTML或者XHTML中,一个用在CSS中,但中文书籍或文献一般都把他们翻译成属性,这就造成了初学者的混淆,尽管我们可以在"属性"后边用括号标上attribute或property(说一句,我就是这么做的)。CSS Cook Book的台湾版本《CSS速查手册》在翻译中也注意到了这个问题,他们把attribute翻译成属性,把property翻译为性质。我觉得,再找不到第三个词之前,性质确实是最佳选择。然而我还是不敢在我的CSS教程中使用性质,因为中国电力出版社翻译的Eric Meyer的Cascading Style Sheets: The Definitive Guide中文版《CSS权威指南》中使用的也是"属性",尽管该书是第一版,而且是在折价出售,但在初学者中应该影响还是不小,为了不造成更大的混淆和混乱,我依然使用"属性"来指代"property"。

说到这个更令人恼火的是,Zeldman的Designing with Web Standards中文版中,把一向翻译为标记语言的markup language翻译成了置标语言,我初次看的时候简直不知道是讲什么,因为我确实没有看过置标语言这个词。尽管无关痛痒,但还是给读者带来不少困惑,原因就在于翻译的混乱。

还有许多可以造成混乱的词语,比如tag,可以是标签也可以是标记,但是既然已经把markup翻译成标记,tag还是翻译成标签比较好;还有CSS中的margin,padding,border,国内的翻译惯例是边界,补白和边框,初次看上去,你能分辨出边界跟边框的区别吗?

为中文用户传播福音不是一件容易的事情,任重道远。为结束混乱,笔者呼吁,无论是出版界也好,还是我们这些福音传播者也好,都应该尽快订立一个"标准"的中英词汇对照表。web需要标准,我们也需要标准。