have 〜、have been 〜ingの解説
have 〜、have been 〜ing
【日本語訳】〜をずっとしている
【使い方とニュアンスの解説】
「〜をずっとしている」と英語で表現したい時、「have(has)+ 過去分詞」を使うと学校の授業では教えられています。
これはいわゆる現在完了形の継続の意味で、文章の最後に「for 〜(〜間)」または「since 〜(〜から)」とセットでよく使います。
I have lived in Japan for three years.
私は3年間ずっと日本に住んでいます。
I have played baseball since I was five years old.
私は5歳からずっと野球をやっています。
などのように使うのはいたって普通です。
しかし、これらのみならず、ネイティブスピーカーは「have(has)+ 過去分詞」と同じように別の言い方もよく使っています。
それは、「have(has) been +ing」という形で、先ほどの「have(has)+ 過去分詞」と全く同じ意味になります。
これは文法的に言えば、現在完了進行形というものです。
文法書では現在完了形と現在完了進行形の意味の使い分けが説明されていますが、実際にネイティブスピーカーは同じとして使っているわけです。
例えば、「He has been studying Japanese for a year.」と言っても、「He has studied Japanese for a year.」と言っても、「彼は1年間ずっと日本語の勉強をしています。」という意味になります。
受験の英語のように厳密な意味について神経質になる必要はなく、日常の会話ではどちらも同じ意味なのだと理解しておきましょう。
両方ともよく耳にする言い方なので、どちらの方がよく使われているかははっきり言えません。
文の最後にしている期間を言うと説明しましたが、はっきり覚えていない時や、大げさに言いたい時には、
for hours
何時間も
for (many) years
何年間も
for decades
何十年も
since 人(主格) was a baby
赤ちゃんの頃から
などを付け加えるようにしましょう。
どちらの表現も「I have」や「he has」などを「I've」や「he's」のような短縮形で話す人が多いです。
ネイティブスピーカーの感覚として、これらの表現は短縮形にしても同じくらいに丁寧に聞こえるので、特に使い分けに神経質になる必要はありません。
なお、現在完了形について改めて理解したい場合は、以下の文法講義を参照ください。