Yes! There is no 'magic' that can make you fluent in any language. It comes with time and effort (practice). There is no 'crash course' to fluency. There is no magic curriculum or book for gaining fluency. The only way is to practice incessantly.
We are in the habit of chasing books and CDs and institutes in hopes of gaining fluency real fast. Just stop and think for a few minutes….. A language has umpteen numbers of vocabulary words, myriads of ways to construct sentences, intricate complications in its accents and intonations. There is great debate within the premise of each and every language as to what the right way to use it is….was…. would be…. There really are no set rules that you can memorize or absorb either, to know a language deeply, fully. Languages evolve. Old words and sentence structures become obsolete and newfangled words keep getting added to the dictionary frequently. One language borrows words from another…. And finally we get very new combinations of words and sentence structures and idioms to deal with. “Learning languages is a continuous process with no end in sight.”
That is precisely why I say fluency comes and ‘stays’ only through incessant practice. My students ask me only too often how long I think they’d need, to learn English. Not a very wise question, unfortunately. In such circumstances I have two choices – a) lie to them with a made up time frame and make them happy, b) tell them never to think about time ever again and keep practicing. I 'usually always' choose option ‘b,’ even at the cost of popularity and sometimes credibility, because, truth shall remain the truth. Always! Think about the years and decades it takes to master any subject for that matter. Just for doing a PhD, a single phase of study of a single subject, it takes anywhere within 5 and 10 years. Do you see how illogical it is to believe that fluency can be gained ‘quickly’ in a matter of months?
Just keep practicing my dear students. Read, write, listen, speak, chat with foreigners.... do anything related to the subject incessantly. Don’t count the number of hours or days or months or years. Just keep at it. You’ll know when you are ‘there’ when you are really there. Cheers and patience