When I learned my first non-native language -- English by the way -- I did not have many options. I had a few cassette tapes and books, but that was about it.
When I compare the situation back then with today's situation, I see many new options and tools available to learners of languages.
Language Immersion for Chrome is a browser extension for Google's web browser that introduces another interesting option.
The basic idea of it is to replace content on a web page written in a language that you understand with contents of a language that you want to learn.
The first thing you need to do after installation of the extension is to click on it when you are on a website where you want to try it on.
The overlay window that is displayed to you next contains two important preferences. The first is the language selector, which you use to select the language that you want to learn.
It is words from this language that the extension will add to web pages you activate the extension on. The second preference is the immersion level.
The level ranges from novice to fluent, and influences how many words or phrases are translated into the language. Don't confuse the level with your proficiency level in the language, as it is not that.
Instead, it determines how many words are translated by the extension. If you pick novice for example, you find that only a handful of words, if at all, are translated.
Fluent on the other hand translates the full web page into the selected language.
Some levels make it difficult to read the text on the website properly, as you are exposed to a mix of two languages. What makes this worse is the quality of the translation. While individual words work well, phrases or sentences may not.
The extension uses Google Translate for the translating. What makes this somewhat tolerable is the option to click on words to display them in the other language so that you can verify that you understood it correctly.
Another interesting feature, that is not enabled by default, is that you can listen to each word as well. You need to click on the options icon in the extension preferences to display the "speak translations" option.
When you hover over a word afterwards, it will be pronounced.
The two levels that work best in my opinion are the novice and novice-intermediate levels, as they translate some words or phrases, but not enough usually to make what is being expressed unclear. The click option to reveal the translated word helps a lot, as you can use it whenever you have troubles understanding the mixed text, or want to look-up the original word to make sure you got it right or to learn it anew if you do not know it at all.