The most effective way to learn a foreign language is to immerse yourself as much as possible in it. Readlang is a web app and Chrome extension that helps you learn by translating websites, and creating flashcards and word lists for you.
In the web app, you can paste in text or upload a book or article in the language you're studying. In Readlang's minimalist reader, you can then click on words or phrases you don't know to translate them back into English or your native language. There's also a selection of public texts and videos shared by other Readlang users you could use to study from, with filters for difficulty level and word length.
The Chrome extension works similarly, translating phrases on web pages to English or another language through Google Translate.
Readlang is similar to previously mentioned Language Immersion, but it's more robust and works as a standalone website. You can customise a dictionary and synchronise YouTube videos to transcriptions. Perhaps the most helpful parts of Readlang are the word list and flashcard features. The app keeps track of the phrases you've translated and creates flashcards (with spaced repetition algorithm) for you to practise with.
Over 50 languages are supported, and Readlang works on all devices.