論 Package 翻譯,套件(包)與軟體包
序
過去翻譯前輩常將 package 譯為「套件」,一開始我是直接沿用而毫無思考,但後來各個因素才讓我從而重新思考這個英文詞語。正文
什麼是套件?首先我們來看套件一詞在日常生活中的用法:
- 螺絲套件
- 玩具組裝套件
- 熱感應套件
- 智慧駕駛輔助套件
- 空氣動力套件。
究其根本,套件的意思就是:「成套的組件」,更清楚的說,就是「可組裝以構成某部件 (或某功能) 所需之成套零組件」。
那麼 Linux 系統中常見的 package 又是什麼?其實它就是 software package,本質上就是將許多軟體整理成的包裹。
舉例來說,過去 gnome-packagekit 採用 package 來指稱軟體包;目前 gnome-packagekit 新版,則為與其他 GNOME 軟體一致採更通用的名稱,而將介面中的所有 package 字眼改為 software,更顯示出 package 提供的本質就是為了安裝 software 而存在的。
甚者,各種格式的 package 其實本身是種封存檔,可以透過解壓縮軟體抽出內部檔案,這也就是 package 的包裝特質。
如果要用一個字來當作 Package 的詞眼,那麼很明顯就是「包」,是這個詞在翻譯時不可以省略的骨幹。
在軟體管理中,package 與 repository 兩者是同等重要的詞語,前者儲藏於後者中。我們通常連線至 repository 取得 package 後,在本地端解開 package 並安裝到系統中。其實兩者間的概念就是倉庫 (repository) 與包裹 (package) 的關係,英文描述中已經將此兩者的概念明顯內含在其中,讀者只要瞭解日常生活中的實際情況,就能馬上明瞭它們之間的關係。
我們日常口中所說的套件,指的是一套構成某物的組件;而 package,則是將東西打成一包後所見的一整個封存體。
以日常生活為例,例如從賣場買回的椅子組裝箱中,箱子中會有多組套件,像是椅墊、滾輪、氣壓棒、螺絲等,而各組套件獨立裝包(套件包),這些套件包再被一個大箱封住,這就是套件、套件包與總包裹間的關係。
那麼生活中有人在說套件庫嗎?這麼一想,生活中存放套件的地方其實是套件箱,是一種可以收納並整理各式套件的箱子(或盒子),比較常講的是「工具箱」。一個套件箱提供的套件,通常都是可組成結構型態類似,但實際規格有所差異的構造,例如不同設計、不同寬度、不同高度的螺絲,或是手把、水龍頭等;因此你只要準備一個套件箱,就能應付不同狀況的使用。
從這個角度來看,我們甚至可以說套件箱是種包裹,或許姑且稱之為「套件包」吧! 但如果真的是想講套件「庫」呢?這麼一提,或許套件庫指的是供應商存放各種套件包的倉庫吧!但實際生活中,相似的情境除了供應商與倉庫這兩個詞彙之外,我從未聽聞過「套件庫」一詞混入人們的對話中,所謂的套件庫我猜約略指涉存放套件包的倉庫這個概念。
那麼我們可以稱為 package 為套件嗎?我現在認為萬萬不可。
首先,套件是成套的零件,永遠只會是包裹中的部分而已,而這部份也許是全部,抑或是其中一部份。以數學來看,零件是元素,套件是集合,或是聯集之中的元素,而包裹則是宇集。這樣看得出兩者的差別了嗎?
此外,許多包裹住套件的包裹(套件包)還可以湊在一起再被包裹成包裹,所以我們能輕鬆想像包中包的情況,而這正好是 meta-package 的概念。
然而套件一詞字面上卻無法給讀者提示包裝之間的關係,反而成為讀者理解上的障礙。或許稱 package 為套件可以表達裝了軟體就能擴充所需要的功能沒錯,但卻失去了最重要的包裹概念,最起碼該稱之為套件包。這是過去譯者將 package 根據他所理解的 package 作用,轉意為套件的譯法,卻不夠貼切原意。
再者,套件與套件庫無法明確表達出包裹與倉儲間的關係。因為日常的口語中,最多我們只會用到套件箱或套件包;甚至沒有套件庫的說法。
至於絕大多數人來說,聽聞「套件」二字時,主要是車廠在推車子升級,詢問是否客戶打算要擴充、升級功能,加裝或改裝其他套件?所以要透過套件一詞理解 Package 背後的概念也就更難了。畢竟這種情境下指稱的套件,更貼近我們打算擴充某軟體現有功能時所講的 extension,例如 Firefox 或 GNOME Shell 的 extension。
我個人認為 package 翻成套件根本搭不上,而且也無法把「software package」這種把所需要的東西打成一包一包的包裹概念傳達出來。如果那些 package mannagement 的軟體開發者會說流暢的漢語,一聽到有人把 package 翻成套件時我以為勢必會破口大罵說:「你在說什麼鬼話?我才不是那樣說的!」
不好、甚至會讓人誤解的翻譯總該讓它走去,因襲前人的難解翻譯不僅無法讓翻譯進步,更讓該明瞭的東西永遠蒙上一層灰幕,總讓想理解它的人含混不清。或許說著,「這是傳統」,「我們都習慣了」,「這就是我們稱呼它的方式,你不該改動它」,這些是我看過最沒邏輯與說服力的辯解了。
能貼切地傳達作者本意給讀者,那才是翻譯者該做的事。我認為,package 與 repository 的翻譯必須給予讀者包裹的概念,或可稱之為軟體包與軟體庫吧。
註:在軟體管理領域之外,也有些軟體會把類似 module、extension 這種性質的組件稱為 package,這時翻譯為「套件包」或「套件」就不會失真,是較合適的翻譯。
確實,翻成"套件"會有的這種誤解
回覆刪除「package」翻譯為「軟體包」
回覆刪除「kit」則翻譯為「套件」
這樣理解對嗎?
是的,正是!
刪除作者已經移除這則留言。
刪除我覺得在翻譯 Package 的時候應該將中文的「詞綴」也納入考量。
回覆刪除就比如 Tiger 的中文其實就是「虎」,但是我們並不會直接講「虎」而是講「老虎」。不過一旦我們提到哪一種老虎的時候「詞綴」就不太需要了:孟加拉虎、劍齒虎、蘇門達臘虎......等等。究其原因,我覺得是因為我們不習慣只講「單音節」的詞。
如果將這個翻譯機制套用到 Package 的話,大陸那邊對 Package 的翻譯我記得是「包」。但是我覺得如果單獨講「包」的話很饒口,應該在前面加個「詞綴」唸起來才比較順口。最終我覺得「程式」這個詞綴比較合適。如果將其他詞和 Package 進行組合,「程式」這個詞綴同樣也可以拿掉。譬如:
Package = 程式包
Installation Package = 安裝包
Software Package = 軟體包
Translation Package = 翻譯包
Binary Package = 二進位包
Source Package = 來源包
Package Management = 包管理
Package Manager = 包管理工具
我會將「程式」作為修飾「包」的詞綴主要是參考了 Library:
Library = 程式庫
Static Library = 靜態庫
Dynamic Library = 動態庫
Shared Library = 共享庫
而且在國家教育研究院中也有將看到「程式包」這麼一種翻譯。
https://terms.naer.edu.tw/detail/2454220/
同意單獨講包很饒口,加個前綴某某包更好!
刪除最近我覺得:
刪除* Package Management = 程式包管理
* Package Manager = 程式包管理器
這樣翻譯比較好。
就我的觀察,Repository 在兩岸的翻譯分別為:
回覆刪除- 大陸:倉庫
- 台灣:儲存庫