First off sorry to make another post on てくる, but I am really having troubles understanding this construction. I have consulted various resources and have read other similar questions on this website but I can't seem to get it.
My resources (the basic dictionary of Japanese grammar) tell me the following:
来る - an aux verb which indicates the beginning of some process or continuation of some action up to a current point in time.
So when we look at this sentence:
寒くなってきた。
I would draw upon the above and envision that the weather has begun getting cold and is still now getting cold. However, sometimes I see similar sentences translated as "It's gotten cold." To me there is a difference between "getting cold" and "has gotten cold". The former seems like a change still in progress and the latter seems like a complete change.
If it is indeed the latter, what would be the difference between just saying 寒くなった。or, 前より寒くなった。?
Then we move on to a sentence like this, which gets this meaning - "continuation of some action up to a current point in time."
3年間日本語を勉強してきました。
I understand this as, "I have studied Japanese for 3 years", but in this usage I am struggling to understand it's usage over just saying something like "3年間日本語を勉強しています。"
And finally, where does てきている come into this? I've had troubles finding a source on this...