手邊正在翻譯的書籍裡面,property 和 attribute 的出現頻率很高,對翻譯的人來說實在是一項困擾,因為這兩個術語一般都是譯為「屬性」。

舉例來說,提到類別的屬性,這裡用的英文是 property;提到 HTML/XML 的元素屬性,用的則是 attribute。在討論不同主題時,讀者可能很容易辨認中文的屬性指的是 property 還是 attribute,可是如果碰到兩個字同時出現的段落,就有點麻煩了,例如:

「簡言之,ScriptPath 屬性讓你可以從指定的路徑載入外部指令碼檔案,而 Path 屬性則能夠蓋過全域的 ScriptPath 設定,以指定個別的指令碼參考路徑。」

其中的 ScriptPath 和 Path,一個是類別的 property,一個是 ASP.NET 標記的 attribute,如果不明白標示原文,恐怕很難避免讀者誤解。這樣好多了:

「簡言之,ScriptPath 屬性(property)讓你可以從指定的路徑載入外部指令碼檔案,而 Path 屬性(attribute)則能夠蓋過全域的 ScriptPath 設定,以指定個別的指令碼參考路徑。」

但問題不只如此,另一個更讓人頭疼的,是 .NET 的 attribute 語法(微軟線上文件也將它翻譯為「屬性」),以下是個 C# 語言的範例:

namespace Huanlin.WebServices
{
[ScriptService]
public class BookService : System.Web.Services.WebService, IBookService
{
...
}
}

其中的 ScriptService 就是 attribute,如果同一個段落中同時提到 HTML/XML 標記的 attribute 和 .NET attribute,翻譯時就更頭大了,若不適時加注,放眼望去全是一堆屬性,讀者不頭暈也難。

一種方式是碰到 .NET attribute 語法時就維持原文,這是我個人比較喜歡的方式。另一種方式是將 attribute 語法也翻譯成屬性,再以括弧加注,如:屬性(attribute),個人覺得這樣不僅囉唆,對讀者也沒有太大的幫助。也曾經看過有人把它翻譯成「特徵項」,個人也覺得是不錯的辦法。在翻譯時,我可能會採用「特徵項」吧!