At the end of the day, the best way to learn a language is to go to where people speak it all the time. English expatiates in Spain and Americans in Mexico might be able to spend 20 years in a villa without any Spanish (not more than how to order a beer anyway) but they’re the exceptions that prove the rule.
When you arrive in your destination country the language will be all about you, so much so that the opportunities to learn will be coming out of your ears. There are conversations in public, TV programs at all hours, songs on the radio and advertisements on billboards, bus stops and in newspapers and magazines.
Then of course you’ll be forced to communicate every time that you go to the shop, buy a bus ticket or ask someone the time. It can be quite terrifying at times but the last thing you want to do is be shy. Talk to everyone and anyone at every opportunity and just resign yourself that you’ll make a million mistakes and even make a fool out of yourself at times. It doesn’t matter. Every mistake that you make is an opportunity to learn and people will admire you for trying – there’s a good chance they only speak one language themselves.
The immersion method seems to particularly suit women but anyone who likes to talk and listen can advance very quickly this way. Even if you don’t understand much of what people say to you, there’s always the Richard Burton method of learning languages – this legendary traveler spoke 25 tongues and another whole load of dialects and his method was largely to silently repeat everything that was said to him. That way he gathered how native speakers make their sentences. (Failing that he took a series of native mistresses to get to the juicy slang…)
The real challenge comes when you’re in a country where English is widely spoken. Why would you stumble through another language when everyone can speak to you in English and clear up matters in moments rather than hours?
The thing here is to insist. Tell everyone that you want to communicate only in the language you’re learning and remind them each time that they slip back into English. Stand firm on this and eventually people will come round to the idea. If they want to practice their English then let them travel to your country.
But when you get stuck or just plain tired you can always switch to English for half an hour.