I have been long fond of Duolingo, an app that teaches languages for free. You can use it on the phone, you can use it on a web site, it teaches language in a playful way that people call gamified. You get points, you compete with others, and you get constant positive feedback.
More than just that, Duolingo has a series of courses for less common languages. I am particularly fond of the Esperanto and Hawaiian courses, as I love both languages and because there really wasn’t a good alternative for Duolingo before.