Q1:滿勝老師您好,請幫我看看下面這道選擇題:
A: Happy birthday!
B: Thank you! It's the best present I __________ for. (2012年江蘇高考第35題)
A. should have wished B. must have wished
C. may have wished D. could have wished
根據(jù)老師書中的闡述,我認(rèn)為could/might have done有兩種用法:①表示對過去的推測;②表示對過去的虛擬。表推測can/could/may/might have done都可以,但表虛擬can/may have done則不可以。鑒于此,此題不可能是表推測,不然C、D都可以選,所以我判斷這里只能是虛擬用法。上面這道題的答語補(bǔ)全之后為:It's the best present I could have wished for. 這里的情態(tài)動詞could不可能表示能力、理論上的可能性、現(xiàn)實的可能(推測),也不可能是許可、建議和忠告。所以,此處只能按虛擬來理解,但是這樣推導(dǎo)出來的譯文“這是我本來所能夠期望的最好的禮物”是不是有些牽強(qiáng)?請教老師,用什么樣的新思維來幫助我理解這個句式呢?
A1:本題的正確答案是D,說成:It's the best present I could have wished for. 換句話說就是:I couldn't have wished for a better present.
我在網(wǎng)上看到很多人都對這題提出了疑問,主要是問could have wished表示的是對過去的推測還是對過去的虛擬,以及若是虛擬,該如何解釋和翻譯,比如上面這位讀者提問的。不過很遺憾,我沒有看到有人對此題有正確的或到位的解釋。究其原因,我認(rèn)為應(yīng)該是大家不理解這里的虛擬是如何產(chǎn)生的。
首先可以肯定的是,這里的could have wished是過去虛擬。但這里的虛擬與傳統(tǒng)語法書上所說的“本來能夠做或可以做但實際沒有做”這樣的虛擬不同(詳見下文“延伸拓展”)。對于這種不同一般的虛擬,我們要搞清楚其使用語境,并且要還原出if虛擬條件從句,才能知道其虛擬產(chǎn)生的原因和真正的意思。
以上面真題中的答語為例。這句話是在“我”收到“你”的禮物之后說的。這里使用虛擬could have wished就意味著,在此之前“我”并沒有巴望著“你”會送“我”禮物(I didn't wish for a present from you),或者說沒有人問過“我”需要什么樣的禮物(I was not asked what I wanted or if I wanted anything at all)。在這樣一個過去事實的前提下,然后“我”進(jìn)行虛擬說:假如“我”過去巴望著“你”送“我”禮物(If I had wished for a present from you),或者有人問過“我”需要什么禮物(If I had been asked what I wanted),那“我”也想不出比“你”這更好的禮物了(I could not have wished for a better present),“你”送的就是“我”所能想到的最好的禮物(It's the best present that I could have wished for)。把上面所說的虛擬語境合起來就是:I didn't wish for a present from you. Even if I had done so, I could not have wished for a better present than this. It's the best one that I could have wished for. 或者說:I was not asked what I wanted or if I wanted anything at all, but if I had been, I could not have wished for anything better than what you have given me now. It's the best present that I could have wished for. 因此,這句英文“忠實”地譯成中文應(yīng)該是:(要是過去我想過你要送我什么樣的禮物,或過去有人問我想要什么樣的禮物,)這就是我所能想到的最好的禮物了。
你問我答
下面我們來看看could have done在不同的語境中可能有的含義和用法。
用法1
Could have done可以表示“過去本來能夠做某事,但實際上過去沒有做”。比如:I could have gone to Oxford University but I preferred Cambridge. (我當(dāng)時是可以上牛津大學(xué)的,不過我更喜歡劍橋大學(xué)。) 言外之意就是,我當(dāng)年申請學(xué)校時,牛津大學(xué)也錄取我了,但我更喜歡劍橋大學(xué)。這里的could have done是過去虛擬的用法之一,在用于這個意義時,有時含有批評之意。比如:You could have phoned me to let me know. 這句話的含義為:你本來是能夠給我打個電話告訴我的,你怎么沒有打呢?說話人顯然是在責(zé)怪對方。我們平時責(zé)怪別人不打電話,常常會這么說:“你就不能打個電話嗎?!”這句話用英文說就是:Couldn't you have called me? 再比如說:They could have helped me instead of just sitting there. 這句話是想說:他們本來是能夠幫我一把的,而不是就坐在那里。但實際上他們當(dāng)時沒有幫忙。所以,大家以后要想表達(dá)生氣、抱怨等情緒,就可以使用could have done虛擬來傳達(dá)。endprint
用法2
Could have done可以表示“過去本來完全有可能發(fā)生,但實際上沒有發(fā)生”。比如:You could have hurt somebody, throwing a bottle out of the window like that. 這句話意為:你那樣朝窗外扔瓶子,是完全有可能砸到人的。但實際上當(dāng)時沒有砸到人。這個用法的could have done也是表對過去的虛擬,可以用于強(qiáng)調(diào)自己的情緒。比如:I was so angry that I could have killed him. 這句話意為:我當(dāng)時氣極了,殺了他的心都有。但實際上,我并沒有真把他殺了。這里用虛擬只是為了強(qiáng)調(diào)我生氣的程度。
以上所說的could have done都有一個“否定字面意思”的過程(我稱之為“取非”),這是大家熟悉的虛擬語氣用法。但原題中的could have done沒有這樣的意思。所以,很多人對此虛擬想不通。比如上面這位讀者將其翻譯為“這是我本來所能夠期望的最好的禮物”。該讀者是把原題中的could have wished理解成上面“用法1”中的虛擬了,所以譯成“我本來所能夠期望”,這顯然是“取非”的虛擬,但原題并不是這樣的虛擬。實際上,could have done還可以有其他更多復(fù)雜的虛擬用法。限于篇幅,此處不再贅述。
用法3
除了虛擬,could have done還可以表示對過去的推測。比如:They could have overheard what we said. 這句話可以表示對過去的推測,譯成“他們當(dāng)時可能偷聽了我們的談話”。此時也可以用may/might have done,比如:They may/might have overheard what we said. 值得提醒的是,在沒有更多語境的情況下,這句話也可以理解成虛擬,意為“他們當(dāng)時完全有可能偷聽到我們的談話”,但實際上由于種種原因,沒有偷聽成功。由此可見,語境對于句子的理解非常重要。
最后簡單說一下問題中的其他三個選項。A選項中should have done可能有三個不同的意思。第一種是虛擬用法,表示“本來應(yīng)該做某事但實際沒有做”。比如:It was an easy test and he should have passed, but he didn't. (那個測試很容易,他本來應(yīng)該通過的,但實際沒有。)第二種是推測用法,用來推測過去可能發(fā)生的事。比如:The meeting should have finished by now. (會議現(xiàn)在應(yīng)該已經(jīng)結(jié)束了。)第三種是驚訝用法,表示說話人對過去發(fā)生的某事很吃驚。比如:I'm amazed that he should have done something so stupid. (他竟然能做出這么愚蠢的事,我真是很驚訝。) (關(guān)于這幾種用法更詳細(xì)的介紹可掃右側(cè)二維碼或參見《新東方英語》雜志2017年2月號《Should have done——你有所不知的那些用法》一文。) B選項must have done通常只能表示對過去的推測,C選項may have done通常也只能表示對過去的推測。endprint