爲此,Breword技術翻譯小組對Koa的最新版本進行了翻譯,並對照源碼進行審校,確保最大程度上的理解無誤。html
點擊這裏查看Breword翻譯的 Koa中文文檔node
與其餘譯文版本相比,咱們採起了一些不一樣的翻譯策略。如下僅列舉幾點加以說明,也歡迎你們在評論區進行討論。git
其餘版本的翻譯:app.proxy 當真正的代理頭字段將被信任時github
Breword的翻譯:app.proxy爲true 時,代理的頭部字段將會被解析。api
這裏trusted,咱們沒有直譯成「被信任」,而是意譯成「被解析」。服務器
其餘版本的翻譯:app.subdomainOffset 對於要忽略的 .subdomains 偏移[2]cookie
Breword的翻譯:app.subdomainOffset計算.subdomains時須要忽略的偏移量[2]app
文檔對subdomainOffset進行了舉例說明。假設域名是"tobi.ferrets.example.com"。若是app.subdomainOffset沒有設置,也就是說默認要忽略的偏移量是2,那麼ctx.subdomains是["ferrets", "tobi"]。less
其餘版本的翻譯:app.context 是從其建立 ctx 的原型。您能夠經過編輯 app.context 爲 ctx 添加其餘屬性。這對於將 ctx 添加到整個應用程序中使用的屬性或方法很是有用,這可能會更加有效(不須要中間件)和/或 更簡單(更少的 require()),而更多地依賴於ctx,這能夠被認爲是一種反模式。dom
Breword的翻譯:app.context是ctx的原型。想要給ctx添加更多的屬性,你能夠修改app.context。這對在ctx上自定義一些能在app全局使用的屬性和方法很是有用,並且性能高(不使用中間件)、更簡單(更少使用require())。不足的地方在於過多依賴ctx,這可能被認爲是反模式。
其餘版本的翻譯:
overwrite 一個布爾值,表示是否覆蓋之前設置的同名的 cookie (默認是 false). 若是是 true, 在同一個請求中設置相同名稱的全部 Cookie(無論路徑或域)是否在設置此Cookie 時從 Set-Cookie 標頭中過濾掉。
Breword的翻譯:
overwrite:布爾值,表示是否覆蓋先前設置的同名cookie(默認是false)。若是設置爲true,設置的cookie會覆蓋同一請求裏的同名cookie(不管路徑或域名是否相同),即頭部字段Set-Cookie會過濾掉以前設置的cookie。
其餘版本的翻譯:根據 ? 獲取原始查詢字符串。
Breword的翻譯:獲取原始查詢字符串,這個字符串不帶有?(即?以後的查詢字符串)。
void of的意思就是「不帶有」。
其餘版本的翻譯: 使用 ? 獲取原始查詢字符串。
Breword的翻譯:獲取原始查詢字符串,這個字符串帶有?。
這裏的「with」,意思不是「經過什麼工具」,而是「帶有」。源碼裏也對這個字段進行了說明。
response.flushHeaders()
Flush any set headers, and begin the body.
其餘版本的翻譯:刷新任何設置的標頭,並開始主體。
Breword的翻譯:清空(Flush)任何已設置的頭部字段,並開始把body發回到客戶端。
爲了更好地理解這個字段,咱們查閱了node.js的官方文檔關於request.flushHeaders()的說明。
因此對應地來看response.flushHeaders(),意思就是服務器不用等待body,能夠先發送頭部字段到客戶端,再發送body。
咱們在github上創建了一個倉庫,用於存放Breword翻譯的開源文檔。歡迎star。 Breword/awesome-sync-to-Chinese