One of the best way to learn a foreign language is to study it abroad. Learning English in an English speaking country makes you be fully immersed in the language and culture. This is the same for any language. You practice what you learn and this makes all the difference. Learning a foreign language is a very good way to know the culture and share with locals.