翻譯時碰到不少跟 typing 有關的術語,其中有容易的,也有碰到比較麻煩的,這裡一併順手記下。

Typing 這個字在不同場合需要不同的譯法,不能一概都翻成「型別」,否則容易跟 type 混淆。以下整理幾種 typing 的譯法,當然,只限定於軟體開發領域,一般的字義,如「打字」等不在此列。

譯成「型別」的例子:

  • strong typing:強型別
  • weak typing:弱型別
  • dynamic typing:動態型別
  • static typing:靜態型別

有的譯為「型別機制」可能會比較恰當,例如:

The idea of conformance is central to the notion of typing.

相符性是型別機制的核心概念。

有的地方既不好翻譯為「型別機制」,也不能簡單地譯為「型別」,例如:

Typing is the enforcement of the class of an object, such that objects of different types may not be interchanged, or at the most, they may be interchanged only in very restricted ways.

很明顯的,這裡的 typing 特別強調型別指派的動作,若譯為「型別」或「型別機制」讀起來都怪怪的。這是我花比較多時間考慮的地方。

最後我採用的譯名是「定型」,於是前面的例句可譯為:

定型(typing)就是強制指定物件所屬的類別,如此一來,不同型別的物件就不能互相交換,或者頂多只能在符合特定條件的情況下才能互換。

這樣的話,strong/weak typing 也可以譯為強定型/弱定型。不過,好像沒人這樣做,那就還是沿用習慣的譯法吧,反正並不會造成理解上的困擾。

曾想過用「型別指派」或「鑄型」,前者略嫌囉唆,後者的「鑄」又帶有製造的涵義,反倒像是定義型別,而不是指派型別了。