为什么这样用现在完成时是错误的?

有一读者问: 为什么不可说“He has died for ten years.”?

汉语可以说“他已死了10年”,但在英语中却不可说“He has died for ten years.”,因为它的意思不是“他死了10年”,而是“他死的动作已延续了10年”,这显然不是说话人的本意。那么应该如何表达才对呢? 有下面几种说法供你参考:

(1)He has been dead for ten years.

(2)He died ten years ago.

(3)It is ten years since he died.

顺便提及,汉语中的“这电视机我已经买了10年了”,也不可译为“I have bought it for ten years.”, 而应该用下列一些说法:

(4)I have had it for ten years.

(5)I bought it ten years ago.

(6)It is ten years since I bought it.