For durative verbs this is quite easy for me to grasp:
鳩が見る: I will see a dove
鳩が見ている: I am seeing a dove
鳩が見た: I saw a dove
鳩が見ていた: I had been seeing a dove
But for perfective verbs — it is quite hard for me:
杪冬の前に雪が溶ける: Before the end of winter the snow will melt
杪冬の前に雪が溶けている: Before the end of winter the snow will already be molten
杪冬の前に雪が溶けた: Before the end of winter the snow melted
杪冬の前に雪が溶けていた: Before the end of winter the snow had already been molten
In both of the last cases before winter began the snow is already in a state of being molten as a result of the melting being complete. So I often make mistakes differentiating the last two cases and treating them as the same even though I consciously know the ~た emphasizes the action being completed and the ~ていた emphasizes the state change being already completed. Maybe someone can help?
I have been using Aedict on Android and I really like it.