• ベストアンサー

現在完了のagoとbefore

私は10年前からずっと日本に住んでいます。 I have lived in Japan since 10 years before. の before を ago にしてはいけないのでしょうか? もしいけないのなら、それは何故ですか?

  • 英語
  • 回答数5
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
  • go_urn
  • ベストアンサー率57% (938/1643)
回答No.5

こんにちは! (1)before が現在完了時制と同居できるのは、単独のときのみです。 ○I have been there before. ×I have been there 3 years before. (2)一方 ago は、普通は現在完了時制と同居できませんが、since の後では何とか認められるという感じです。 (○/△)I have lived here since 3 years ago. ×I have tried this three years ago. (3)このような場合には、for + 期間、が正用法です。 I have lived in Japan for 10 years.

hironiichan
質問者

お礼

ありがとうございます。 beforeの使い方もはっきりして、 すっきりしました。

その他の回答 (4)

回答No.4

私は、ago でもいいと思います。 since が入った時点で、10年前からいままで、という意味になるので、 現在完了と一緒に使えます。 同様に、 I have lived in Japan since I was born. I have lived in Japan since I was born 10 years ago. なども正しい文だと思います。 ago を現在完了と一緒に使っていけないのは、since のような 時間の幅を表す単語がない場合、 要するに ago が単独で過去の一点を指すときです。 I lived in Japan 10 years ago. I lived in Japan when I was born 10 years ago.

hironiichan
質問者

お礼

ありがとうございます。 安心いたしました。

  • Parismadam
  • ベストアンサー率65% (2756/4211)
回答No.3

はじめまして。 このご質問文の英文が誤写か、質問内容がおかしい気がします。 この英文は I have lived in Japan since 10 years ago. が正解になります。 1.ago「~前」は過去のある一点を表し、過去時制と共に使われる副詞です。 2.sinceは、前置詞、接続詞の用法があり、主文で現在完了時制が使われる時、 (1)前置詞sinceの後には過去を表す副詞 (2)接続詞sinceの後には過去時制の副詞節 が後続します。使い方の用例は、 (1)I have lived in Japan since 1960.「1960年以来ずっと~」 1960年は過去を表す副詞 (2)I have lived in Japan since when I was born.「生まれてからずっと~」 when I was bornは過去時制の副詞節 3.このsinceは後に、「10 years ago=10年前」という過去の1点を表す副詞句が用いられています。従って、このsince+agoの使い方は正しい用法になります。つまりbeforeの使用が間違いとなります。 I have lived in Japan since 10 years ago.(O) I have lived in Japan since 10 years before.(X) 4.ただし、主文の現在完了が、過去完了時制になればago→beforeに変える必要があります。理由は、過去のある時点からさらに10年前となるからです。agoはあくまで、現在から過去の10年前をさします。例: I had lived in Japan since 10 years before.(O) もしかして、hadをhaveと誤写されていたのでしょうか? 以上ご参考までに。 以上ご参考までに。

hironiichan
質問者

お礼

ありがとうございます。 私はagoだと思っていたのですが、 娘が学校で、ago間違いで、beforeを使わなければならない と習ってきたので、疑問に思い、質問しました。

  • Carlos777
  • ベストアンサー率26% (61/231)
回答No.2

現在完了は日本語にないので難しいですね。 経験、継続等の意味がありますが、現在も続いていることを表すため、過去を表す言葉と使わないのが基本だと思います。 I have lived in Japan for 10 yearsが正しいのでは。 agoは(現在から見た)過去を表す言葉なので動詞の時制は過去形で 現在完了では使いません。 別な質問にも書きましたが、下記2つでは 多少ニュアンスが違います。 I have lost my book『本ををなくした(今も見つかっていない)』 I lost my book『本をなくした(今は見つかっているかも知れない)』 現在完了は現在も続いていることを表すため、今も無くした本は見つかっていない、という意味がこめられます。

hironiichan
質問者

お礼

ありがとうございます。 10年間ならfor ten years で良いと思うのですが、 10年前からなので、since を使いました。

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.1

いけません。 現在完了は過去のある時点から現在までの行為・状態を 表現する文法表現です。したがって、10 years agoと 10年前の時点を説明するにはふさわしくないわけです。 こういうのは点過去といって、過去形で表わします。

hironiichan
質問者

お礼

ありがとうございます。 sinceがついているので、良いかと思ったのですが。

関連するQ&A

  • 現在完了形

    I have lived in Japan for ten years. の書き換えで、I have lived in Japan since ten years ago.と習いましたが、agoは過去形に使うと習いましたが、正しいのでしょうか?

  • 現在完了形、状態動詞の継続  have lived

    現在完了形、状態動詞の継続 I have lived in Tokyo for two years. 私は東京に2年間住んでいる(今も) この英文は、無条件に(今も)が付くのでしょうか? 例えば、家が東京にあってその家で質問に答えるなら当然 for two yearsは(今も)を含むでしょう。 しかし、電話とか、メールとか 前提条件が何もない状態で 上の文を言った場合、ただ単に 2年間(過去の2年間を含む)の意味にしか取れないと思います。 今から過去2年間すんでいるなら I have lived in Tokyo since two years ago. は変で正しくは I have lived in Tokyo for two years. だという解説が散見されますが、 I have lived in Tokyo since two years ago. since - ago用法 は別として、こちらの方が今現在も住んでいるという 継続感があるのではないでしょうか? 質問のポイントは I have lived in Tokyo for two years. は前提条件もなしに「現在完了形で現在も継続している状態を表す」と言い切れるのか? 前提条件がない場合 I have lived in Tokyo since two years ago. は変で正しくは I have lived in Tokyo for two years. だと訂正できるのか?(since - agoが変だからといって、伝えたい意味まで訂正できる??) ということです。 よろしくお願いします。

  • 現在完了とago

    agoがある時は過去のことを話しているので現在完了形は使えないと聞きました。 I have visited China 5 years ago. ではなく I visited China 5 years ago. というように。 でも、英語のサイトを見てみると、結構平気で使われているような気がするのですがどうなのでしょう?

  • 現在完了と過去完了のイメージ(継続用法)

    「わたしは日本に7年間住んでいた。」という文は、英語では I lived in Japan for seven years. I had lived in Japan for seven years. のどちらでも正しいのでしょうか?どちらでも正しい場合、下の例文は「だが、今は住んでいない」というニュアンスが加わるもの、と理解してよいでしょうか? 以下は、上記の質問をする上で念頭においてある文です。 わたしは日本に7年間住んでいる。 I have lived in Japan for seven years.(正しい) わたしは子どもの頃日本に7年間住んでいた。 I lived in Japan for seven years when I was a child.(正しい。主節に過去完了形は誤り) よろしくお願いします。

  • beforeとagoで、使い方のちがい

    「何年まえから」とか、since~とかになる時に、beforeになるかagoになるかわかりません。 どういうときに使って、どこが違うのか教えてください。 お願いします。

  • 現在完了

    最近、現在完了で頭がこんがらがってきました。 基本的な質問で大変お恥ずかしいのですが、 教えて頂けないでしょうか? A. 私は東京に住んでいます。 I live in Tokyo. B. 私は(昔から今もずっと)東京に住んでいます。               I have lived in Tokyo. C. 私は5年間、東京に住んでいます。             I have lived in Tokyo for five years. D. 私は以前、東京に住んでいた事があります。             I have lived in Tokyo before. であっていますか? Q1. たとえば、5年間東京に住んでいるという時、 I have lived in Tokyo for five years. で、 I live in Tokyo for five years.とは言わないのでしょうか? Q2. CとDの文章はTokyoまでは全く同じ文章ですが、その後に続く 言葉で、2通りの使い分けがあると思ってよいのでしょうか? (Cの文章は、今までずっと~している、今までずっと~だ)、 (Dの文章は、~した事があるという経験) 説明が下手ですみません。言いたい事が皆様に伝われば よいのですが…。^^; よろしくお願いします。

  • 現在完了形と現在完了進行形の違い

    (1)と(2),(3)と(4)の意味はどのように違うのでしょうか?Grammar in use Intermidateで勉強しているのですが,いまいち違いがよくわかりません.よろしくお願いいたします。 (1)She has been playing tennis since she was eight. (2)She has played tennis since she was eight. (3)I have lived in the states for ten years. (4)I have been living in the states for ten years.

  • 現在完了形=過去進行形?

    [I have lived in Japan for five years]と[I was living in Japan for five years] 機械翻訳すると意味は同じなのですが、本当に意味は同じなのでしょうか?

  • 英語の現在完了

    例文の「私達は長崎に行ったことがあります。」They have been to Nagasaki.とあります。 これは経験を表す現在完了です。 現在完了ならばbeenのところをgoneの過去分詞に変えてはいけないのでしょうか。 そういうもので覚えろと言われたのですが、納得できません。 それと、They have lived in japan for five years.は「5年間日本に住んでいます」で 五年前から現在まで五年間住んでいるということだけを述べていて、未来のことはわからないということでいいのでしょうか。 sinceならば五年前から今も続いているということですよね 回答お願い致します。

  • 中学英語の範囲で

    × I have lived in Miyazaki since three years ago. ○ I have lived in Miyazaki for three years この×は完璧に違うのか、それともあまり言わない言い方なのか中学の範囲で理由なども添えてお願いします。