《windows 程式設計》中的翻譯錯誤—-學習筆記

來源:互聯網
上載者:User

1.(23頁第13行):“寬字元不需要Unicode。Unicode是一種可能的寬字元編碼。”這是什麼意思?查查原文,原來是:Wide characters  aren't necessarrily Unicode. Unicode is one possible wide-character encoding.意思是說:“寬字元並不等同於Unicode。 Unicode只是一種可行的寬字元編碼(方案)。”

2.(35頁第13行):“你必須用sizeof(TCHAR)將其分開。”其實看書的人看到此處,應該知道這裡不應該是什麼“分開”,而應該是“除”  查查原文,果不其然:You must divide it by sizeof (TCHAR). 譯者是不是已經無知到了只知道divide一詞的“分開”這個義項?

3.(65頁第7行):“……只不過必須認為其大小是某一特定尺寸,或者在程式運行時其大小保持不變。”這似乎有悖常識。對比一下原文( 括弧中的部分為之前的句子):( You can do almost anything you want with your program's client area ) —anything, that  is, except assume that it will be a particular size or that the size will remain constant while your program is  running.while your program is running.顯然,從anything一詞開始的部分應譯:“只是不能認定其大小為一特定尺寸或在程式運 行期間保持不變。”原譯的意思正好反過來了。

4.(76頁第4行):“它是字型設計者建議加在橫向字元之間的空間大小。”這有點不對頭,tmExternalLeading明明是一個縱向的長度,怎麼 會說“橫向字元之間”?看看原文:This is an amount of space that the designer of the font suggests be added between  successive rows of displayed text.知道了吧:譯書的人把successive rows(意為“相鄰行”)譯成了“橫向字元”,何等荒謬

5.(100頁第1行):“當通過GetScrollInfo函數使用SIF_RANGE標誌時,應把nMin和nMax欄位設定為從函數返回的當前範圍。”這明顯不對了  原文是:When you use the SIF_RANGE flag with the GetScrollInfo function, the nMin and nMax fields will be set to the  current range on return from the function.應譯:“調用GetScrollInfo函數時如果指定了SIF_RANGE標誌,則函數返回時將nMin 和nMax欄位設為當前範圍值。”

6.(100頁第11行):“在SetScrollInfo函數中僅使用SIF_DISABLENOSCROLL標誌。如果指定了此標誌,並且新的捲軸參數使捲軸不可見  則禁用該捲軸。”這一段有點莫明其妙。看看原文:You use the SIF_DISABLENOSCROLL flag only with the SetScrollInfo  function. If this flag is specified and the new scroll bar arguments would normally render the scroll bar invisible,  this scroll renders the scroll bar disabled instead. (I'll explain this more shortly.) 這話應譯:SIF_DISABLENOSCROLL 標誌只與SetScrollInfo函數配合使用。(在調用此函數時)如果提供了在通常情況下會導致捲軸不可見的新的捲軸參數,而且 指定了這一標誌,則此時捲軸只是被禁用而不是被隱藏。”(這句話的翻譯稍有難度,為更通順起見,我的譯文在次序上做了一點 調整)

7.(100頁倒數第2行):“新捲軸函數的一個好的功能是當使用與捲軸範圍一樣大的頁面時,……”什麼叫“使用與捲軸範圍一樣大的 頁面”?看看原文:One nice feature of the new scroll bar functions is that when you use a scroll bar page size。其中 use a scroll bar page size應該譯成“使用捲軸頁面尺寸”,而不是“使用與捲軸範圍一樣大的頁面”。

8.(107頁倒數第5行):“而在較慢的機器上,則可以考慮對GetSystemMetrics使用SB_SLOWMACHINE參數作為替換的處理過程。”我發覺自己  好象不懂漢語了。:-)還是看原文吧:But try your code out on a slow machine, and perhaps think about using the  SB_SLOWMACHINE argument to GetSystemMetrics for alternative processing for slow machines. 這應該譯作:“但是,你應該 在較慢的機器上測試自己的代碼,此外,也可以考慮使用SB_SLOWMACHINE 參數調用tSystemMetrics函數,以便為較慢的機器提供別 的處理過程。”

9.(120頁倒數第2行):“這些看起來更像直接的定義。”這好象沒什麼問題,但對比一下原文:These seem like straightforward  definitions until one begins to think through their implications. 這句話被譯書的砍掉了後半截,完整的意思應該是:“這 看起來象是直接的定義,但只要思考一下其中的含義就會發現事實並非如此。”

10.(122頁第14行):“10磅即是10/72英寸,如果乘以96點,每英寸大概就為13像素。”這肯定不對。來看原文:Ten points is 10/72  inch, which if you multiply by 96 dots per inch yields a result of (approximately) 13 pixels.這下明白問題之所在了吧 ?dots per inch是解析度的單位,應該譯成“點每英寸”或“點/英寸”(就象速度的單位是“米每秒”或“米/秒”一樣)。知道 了這一點,此句其實很簡單:“10磅即是10/72英寸,乘以96點每英寸,那就大約是13個像素。”後面第18行也有類似問題。其中的 “乘以120點,每英寸等於”應改成“乘以120點每英寸,等於”。

11.(122頁第19行):“像第四章一樣,再次強調所顯示的是實際的度量大小,因此您可以理解它工作的方式。不要在您的程式中對此編寫代  碼。”什麼叫“對此編寫代碼”?看一下原文:As in Chapter 4, let me emphasize again that I'm showing you actual  metrics so that you can understand how this works. Do not code these numbers in your programs。這並不難譯:“就象在 第4章中做的那樣,我要再次強調,在此展示這些實際尺寸只是為了讓你理解其工作機制。在你的程式中不要直接使用這些數字。”

12.(125頁倒數第9行):“注意最重要的位是標為0的8位,”我怎麼也搞不懂:這8個0為什麼會是“最重要的”。來看原文:Notice that  the most-significant 8 bits are zero。most-significant在這裡意思是“最高的”而不是什麼“最重要的”!

13.(128頁第17行):“大多數程式員以不同的方式使用SaveDC和RestoreDC。然而,更像組合語言中的PUSH和POP指令,當您調用SaveDC時,  不需要儲存傳回值。”大多數程式員的方式是什嗎?來看原文:Most programmers use SaveDC and RestoreDC in a different  manner, however, much like PUSH and POP instructions in assembly language. When you call SaveDC, you don't need to  save the return value。這應該譯成:“但是,大多數程式員以另一種方式使用SaveDC和RestoreDC,就如同在組合語言中使用PUSH 和POP指令一樣。當調用SaveDC時,你並不需要儲存傳回值。”

14.(153頁倒數第2行):“您可以設想從一個無窮大的封閉地區內部的點畫線,”真是這樣嗎?讓原文來回答:you can imagine a line  drawn from a point in an enclosed area to infinity。這應該譯成:“你可以設想從封閉地區中的一個點作一直線延伸到無窮遠 處”。譯書的人那種譯法真的是有點搞笑了。154頁第4行那句“您仍舊可以……”也有同樣的問題。畢竟,同一隻豬放的只能是同樣 的臭屁!:-)

15.(163頁第3行):“更像客戶區座標。”單看這句倒沒什麼問題,但與與前面的內容結合,就大有疑問。對比一下原文吧:most likely  client-area coordinates.老天,譯手們竟然把likely譯成“象”!!!我都有點不好意思把這樣簡單的句子寫出來了:“多半是客 戶區座標。”

16,Windows將xViewExt設定為某個像素數而將xWinExt設定為xViewExt像素佔據的一英寸內有幾百像素的長度。”什麼叫“xViewExt像素佔據 的一英寸內有幾百像素的長度”?來看原文:Windows sets xViewExt to be a certain number of pixels and xWinExt to be the  length in hundredths of an inch occupied by xViewExt pixels。這個句子稍有難度,但即便
 英文水平粗疏如我之人也應該能給出正確的譯文:“Windows將xViewExt設定為某一像素數,並將xWinExt設定為以百分之一英寸為單 位的、xViewExt個像素所佔據的長度。”後面一句“比值給出了一英寸內有幾百個像素的數值”一句也是同樣的問題,應改成“比值 給出了百分之一的長度內包含的像素數”。

17.(193頁第1行):“在一些交疊的操作中通常相互補充使用。”什麼叫“交疊的操作”?看看原文:often complementing each other  with some overlap。這很簡單,應該譯成:“它們的功能常常互為補充,也有一些重疊。”

18.(199頁倒數第1行):“在面向工作群組的Windows中”熟悉Windows的人一看就知道這是個什麼問題:原文中此處是Windows forWorkgroups  那是微軟Windows系列產品中的一種,譯手們把這個產品名直接譯出來雖然意思沒錯,但卻會讓不明就裡的人一頭霧水。對於產品名 ,一般是不譯的,直接使用就行了。就象Office中的PowerPoint一樣,你如果硬要把它譯出來,那就是“電源插座”(我實在不知道 微軟怎麼會給自己的產品取這麼一個名字:-))。你如果想知道某人的電腦有沒有裝PowerPoint,你要是問他:“你的電腦有沒有‘ 電源插座’”,他肯定會象看一個怪物似的盯著你,回答說:“當然有。不但電腦上有,牆上還有幾個!”呵呵!

19.(213頁第9行):“這些字元訊息是我們將文本傳遞給視窗過程時遇到的第一個訊息。它們不是唯一的訊息。”有點看不懂?來看原文: These character messages are the first messages we've encountered that deliver text to the window procedure. They're  not the only ones。這顯然應該譯:“這些訊息是我們遇到的第一批向視窗過程傳遞文本的訊息。它們不是唯一具有這一功能的消 息。”

20.(213頁第11行):“任何視窗過程都與您用RegisterClassA(RegisterClass的ANSI版)註冊的視窗類別相聯絡,從而獲得含有ANSI字元代  碼的訊息。”豈有此理!那RegisterClassW呢?幹什麼用?來看原文:Any window procedure associated with a window class  that you register with RegisterClassA (the ANSI version of RegisterClass) gets messages that contain ANSI character  codes。初中生都不應該看不懂這句話!其意思應該是:“與你用RegisterClassA(RegisterClass函數的ANSI版本)註冊的視窗類別相 關的任何視窗都會接收到含ANSI字元代碼的訊息。”

21.(P681頁的最下方),書上寫的RowLength = ((bmch.bcWidth * bmch.bcBitCount + 31) & 31) 〉〉 3;我看不明白,&31的話不是截留低 5位嗎,顯然應該是RowLength = ((bmch.bcWidth * bmch.bcBitCount + 31) & ~ 31) 〉〉 3; 這樣才等價於“/32”啊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.