total immersion is the key. Seriously the only way to REALLY learn a language is the either start really young, or be forced to speak it.
I was speaking fluent french by the time i was 7 because my parents made me take french lessons every day

Can't remember a damn thing anymore though lol