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?