中文翻譯吾見之——門外漢的場合 (轉)

worldblog發表於2007-12-13
中文翻譯吾見之——門外漢的場合 (轉)[@more@]

中文翻譯吾見之:namespace prefix = o ns = "urn:schemas--com::office" />

——門外漢的場合

 

Revision 0.1

by  K ][ N G of @ R KTM

 

[誰是門外漢]

 

門外漢的場合,就是指筆者kingofark的場合。是的,筆者不是專業人士,僅發表個人看法,也不針對特定個人或者團體,泛泛談之。

 

 

[何時吾見之]

 

筆者近來欣喜的看到人民郵電出版社出版了Primer Plus系列,連忙樣章來看。印象最深的是與其說是早有耳聞的C++ Primer Plus,倒不如說是 Primer Plus。

 

正如互動出版網上面有網友評論對C++ Primer與C++ Primer Plus做的一番比較所說,Primer Plus系列的起點較低。C# Primer Plus第1章“和計算機:基本概念”並無新意(當然,筆者沒有任何貶義);第2章則引出了筆者的一些聯想和想法——如題,是關於中文翻譯的。

 

 

[吾見之何]

 

第2.5.1節“程式導向程式設計及先天缺陷”給筆者印象深刻。其用分支和對資料的訪問兩點很現實的說明了問題——比起筆者過去在很多書中看到對程式導向之缺陷冠冕堂皇的、學究的、頗具理論深度的“高談闊論”(危機啦,需求啦,認知啦——玄乎),這個或許不全面但逼真的解釋於初學者而言就更加具有說服力。

 

第2.7節“中程式碼重用的基本單元:集合”——集合?集合(set)?集合(collection)?——仔細一看,原來是集合(assembly)!

 

 

[何吾為之抓狂]

 

我知道在數學語言中,set一向被譯為“集合”。我知道中有collections和set,C#中也有collections和set;那麼如果assembly是“集合”,collections該是什麼呢?set呢?中文譯名可真是一門學問哦——因為太混亂了罷。我裝的金山詞霸2002告訴我assembly是“集合, 裝配, 集會, 集結, ”的意思(嗚呼呀!),大概C#中的assembly沒被譯為“彙編”都算是值得我們大家慶幸的事情了吧。

 

在中國電力出版社的《C# 精髓》中,collection被譯為“集合”;在機械工業出版社的《Java程式設計思想》(第一版)中,collection也被譯為“集合”——於是筆者又不禁擔心起set的下場:呃……那個……也譯為“集合”嗎?

 

情況不止如此。local常常被被譯為“區域性(的)”,有時候在某些語境下也被譯為“本地(的)”——於是問題又來了:當我們遇到Java Native Interface(JNI)的時候——不知道是誰幹的——又把這裡的native譯為“本地”。

 

本地(local)?本地(native)?本地(vicinal)?本地(autochthonic)?呃……那個……指的哪一個?

 

 

[抓狂之後——說點正經的]

 

對於像Java中的collection,筆者認為完全可以不譯,因為Java不僅有collection這個概念,還有Class Collections和Interface Collection。Class Collections和Interface Collection顯然是不能譯為中文的(如果有人對此都有異議,不妨看看本文末尾的附錄“一個完全正式簡體中文版的夢”);既然指的都是同一個範疇的東西,不妨乾脆連collection都不要譯,讓這個概念與實際的Class Collections和Interface Collection很好的對應起來。如果真的要譯——好吧,拜託——請換一個“集合”之外的名稱,因為“集合”這個名稱在N年以前就已經被set佔用了(大家都明白,數學概念是深入人心的基本知識)。對於collection,筆者認為臺灣的一種譯法“群集”就不錯——至少能與set(集合)區別開來。

 

那麼assembly呢?在中國電力出版社的《C# 精髓》中,assembly被譯為“配件”,這就是個可以接受的譯法。其實對於assembly而言,.NET 類庫中也有一個System.Reflection.Assembly,所以assembly這個概念保留不譯也不是不行的。

 

“哦,那照你這麼說,乾脆全都不譯得了!那行嗎?!”有人會瞪著反問道。

 

筆者說:“如果能找到比較合適的詞,當然可以譯;但是如果找不到合適的詞,與其四面八方各譯各的亂七八糟,還不如不譯,至少讓大家都記得一個英文assembly不會引起混亂和誤解。”

 

其實這裡又涉及到一個比較學究的問題:語言學和語言心理學。其實語言詞彙寫下來,不過是一個記號;而人們真正要理解的,是這個記號所代表的含義,不是這個記號本身。

 

小明知道這本書裡“集合”是指java.util.Collections,小強知道那本書裡“集合”是指System.Reflection.Assembly——這當然好;問題在於——小明和小強初學的時候會花費多少時間來搞清楚關於“這個裡面的‘集合’是指java.util.Collections,不是指System.Reflection.Assembly;那個裡面的‘集合’是指System.Reflection.Assembly,不是指java.util.Collections;還有另外N本書裡面的‘集合’是指什麼呢?……唔,還是阿Q說得好‘凡事總須研究才能明白’……”的問題呢?

 

對於語言詞彙本身的問題,一個語言學家研究研究,蠻好;我們也不排除本來想學程式設計的小明小強會有成為語言學家的可能。

 

那麼能不能達到這樣的情況呢:

 

1)  大家都統一使用一個比較合適的中文譯法(比如,assemlby譯為“配件”,collection譯為“群集”),使得:在一定的技術範圍內,只要一提到這個中文詞,大家都獨一無二的想到同一個意義(注意,不是指同一個詞彙或者同一個名稱);

 

或者

 

2)  大家都同意使用原文(比如,assembly,collection),外文不好的同胞克服一下困難,記住幾個外來詞,使得:在一定的技術範圍內,只要一提到這個原文,大家都獨一無二的想到同一個意義(注意,不是指同一個詞彙或者同一個名稱)。

 

這是筆者的理想中的兩種情況。理想啊,理想。理想並非總不是虛無飄渺的。前幾天筆者就做了一個荒誕恐怖的夢。

 

 

[附錄:一個完全正式簡體中文版的夢(的片斷)]

 

經過數年的深入研究,譯者X在語言學、翻譯學方面有了長足進展,下面從其論文中摘錄部分,以饗讀者:

 

l  C++的譯法討論:

“C加加”:確切的表達了“C++是C的超集”這個想法。其實要不是所有同行都寫文章抨擊我,我本來還不會這麼譯——“英文字母的第三個字母所代表的那個計算機語言加加”才是我理想中的譯法咧。

“思易佳佳”:特別能表達這門計算機語言的易用和程式設計思維的優越性。

“肆意加加”:雖然“肆意”多多少少有些貶義,但是很能表達C/C++這個派系支援底層的強大功能。

 

l  inline的譯法討論:

“內線”:江湖上有“內線人物”的說法,相信大家一旦想到了“內線人物”,就特別能理解inline的含義;所以譯為“內線”,以心理暗示的方法提示大家。

 

l  C++中friend的譯法討論:

“朋友”:親切、易懂的譯法。

 

…… 理想啊,理想。

 

(完)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992847/,如需轉載,請註明出處,否則將追究法律責任。

相關文章