技術術語的翻譯一向是個難題:把所有英文術語都翻成中文的話,讀者將不知道原文,會妨礙實際寫程式和增加閱讀英文技術文件的難度,更何況有些術語並沒有常見的翻譯,硬翻譯成中文也繞舌許多。但是,保留所有英文術語,又會妨礙閱讀中文的流暢度,處處加上括號註解原文也不是個終極辦法。
因此,本書在術語處理上,依照不同情狀,會有不同的三種處理方式:
## 常見翻譯使用中文
* object 物件
* class 類別
* cache 快取
* relational database 關聯式資料庫
* (database) table 資料表
* framework 框架
* library 函式庫
* component 元件
* attribute 屬性
* editor 編輯器
* method 方法
* function 函式
* unit test 單元測試
* application 應用程式
* template 樣板
* layout 版型
* route/routing 路由
* validation 驗證
* callback 回呼
* server 伺服器
* instance variable 實例變數
* class variable 類別變數
* local variable 區域變數
* inherit 繼承
* interface 介面
* instance 實例
* instantiate 實例化
* request HTTP 請求
* timestamp 時間戳章
* form 表單
* array 陣列
* iterate 迭代
* escaped 逸出
* tag 標籤
* collection 集合
* macro 巨集
* code 程式碼
* command-line 命令列
* terminal 命令列視窗
* argument 引數
* paramater 參數
* block 程式碼區塊
* character 字元
* checkbox 核取方塊
* flag 旗標
* hash 雜湊
* key 鍵
* value 值
* index 索引
* header 標頭
* cache, caching 快取
* package 套件
* open source 開放源碼或開放原始碼
* script, scripting 腳本
* iterator 迭代器
* side-effect 副作用
## 缺少直覺的翻譯術語,使用括號保留原英文術語
* Module 模組 (指 Ruby 的 Module)
* console 主控台
* singleton 單件
* camel case 駝峰式命名 (一種命名的格式,由幾個單字組合而成,每個單字的開頭用大寫,前後緊接在一起,單字之間沒有空白或底線)
* generator 產生器
* observer 觀察者
* roll back 滾回
* scaffold 鷹架
* schema 資料庫綱要
* transaction (資料庫操作的) 交易
* expire, invalidation 過期快取資料
* query 查詢
* request 請求(通常是指HTTP request)
* response 回應(通常是指HTTP response)
* middleware 中介軟體
* asset 靜態檔案
* partial template 局部樣版
## 只使用英文術語
* Model 模型
* Controller 控制器
* View 視圖
* Helper
* action 指 controller 的 action 時不譯
* rendering
* repository 版本控制系統的原始碼儲存庫
* token 信物