I completely agree with Enigma. the problem with learning any new language is we never learn to THINK in that language. When you speak japanese and you want to say something to me, words automatically come out of your mouth. You dont need to think about what you are going to say. This is because you are thinking in japanese, which means there's a japanese word attached with everything you do everyday and everything you think.
When you speak a new language, you inadvertently think in Japanese and then translate it into the new language. This takes a lot of time. the best way to learn a language is to completely surround yourself with it. So much so that the next time someone does something good for you, you automatically think "Gracias" or "Thank You" instead of "Arigato" :)
the more you speak, listen, read and hear people near you speak a language, the more you will start thinking in it. Once you start thinking in a language, you will learn it very quickly since it becomes second nature :)