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 需要标准,我们也需要标准。