Learn English – Why is “I have learnt English since 2 years” incorrect

grammargrammaticalitysentence-constructionword-choiceword-usage

Or maybe better phrased as “I have been learning English since 2 years”. I took the example sentence from For – Since English Grammar Rules. From Dan’s answer I learnt that “learnt” is not short for “been learning”. It is interesting that it is used as an example of a correct sentence on the linked page.

The sentence should be “I have been learning English for 2 years”. As a native English speaker without an in depth understanding of how grammar rules work beyond “it doesn’t sound right”, I was wondering if there is an easy to understand explanation for what (and how) grammar rules should be applied when differentiating between “for” and “since” to describe how long something has been happening. I think StoneyB's answer to Proper usage of the word since largely answers this but I would like to know a little more about what the present perfect is and how it relates to this sentence construction.

As I seem to frequently encounter this confusion with ESL speakers, I was wondering is this a peculiarity of the English language that makes it difficult to translate? Is the grammar differences caused by the lack of a conceptual difference between “for” and “since” in other languages rather than just choosing the wrong dictionary word? If so, what is the best way to explain this?

Best Answer

In my opinion, the sentence has 2 issues.

  1. 'Have learnt English' implies that you have done with your learning 2 years before. In this case, if you want to express "something has been happening", you could put it as "have been learning English"

  2. 'Since' is used with a point in time. '2 years' is not a point of reference in the past. You could use "for 2 years" to indicate you've kept learning in the past 2 years. I am not sure if "since 2 years ago" works here. I saw some debates on the validity of "since 2 years ago" on some websites.

So, the whole sentence could be rephrased as: I have been learning English for 2 years or I have been learning English since 2 years ago.(I guess some would take issue with the latter sentence.)

Related Topic