英語
高校生

If you had practiced more, you would be successful now.
If you had practiced more, you might have been successful by now.
この二つの英文の違いと、
(もしあなたがもっと練習していたら、今頃成功しているかもしれません。)という日本語だと、どちらの英文の方がいいのでしょうか?

仮定法

回答

If you had practiced more, you might be successful now.
がいいと思います。

まず、「あなたがもっと練習して【いた】ら、【今頃】成功しているかもしれない」というのは、if節と主節に時制の差があると考えるのが自然だと思います。
ですので、if節は仮定法過去完了、主節は仮定法過去で表現するのがいいと思います。その点では、書いていただいた2つの文なら上の方が適切です。

下の文はby nowとしていますが、この部分にはピンとこなかった点が2つあります。1つは、日本語でいう「今頃」はby nowという英語の表現とイコールなのかということ。nowの方が近い気がします。
もうひとつは、by nowはmight have been という仮定法過去完了とマッチするのかということです。仮定法過去完了の、have beenという部分は「完了形」が示すようなニュアンスはありません。現在完了形なら「過去から現在の間に発生した出来事」を示すことができますが、仮定法過去完了にはその意味は全くないのです。「(過去の)あのときこうだったら、こうだったのに」と言っているだけ。過去の、実現しなかったことに思いをはせているだけです。

上の文は、仮定法の時制の選び方は良いのですが、
willやwouldは推量としてつかう場合でも「確信度」が強い表現で、you would be successfulは「絶対にいま成功しているのに」くらいです。
「かもしれない」くらいであればmay・mightが適切です。

この回答にコメントする
疑問は解決しましたか?

この質問を見ている人は
こちらの質問も見ています😉