Unfortunately, the title "How to switch languages perfectly" of this article is misleading, since no instructions are given, only existing options are listed.
It would be nice if there really was a recommendation on how to switch languages perfectly.
The language icon is a good idea in the right direction, but unfortunately not very well known/common and not very intuitive. You would have to know that there is a character of another language (Japanese) on the left of the icon in order to understand it.
The solution with the footer language switch is that it only follows at the bottom of the page. A user who comes to a page whose language he does not speak does not first scroll to the footer to see whether the language can be changed there. The solution offered elsewhere is one of the better ones, as you can see directly and without further clicking which languages are offered.
The "language switcher button" solution is not a good solution, since you also have to understand the language in which the button is. Also, a button for a selection is not an adequate indicator, as it is thought to trigger a final action that requires no further input. The text on the button should also indicate what action it triggers. For example "Send" or "Buy" I would think with the existing button I would trigger an action called "Spanish", which would seem Spanish to me 8-)
The example "Text links for language switching" is also poorly solved, since the sentence in front of the language selection link is in English and you would have to understand/speak English first to recognize the meaning.
The globe icon is also not a solution as it has the same problems as the country flag solution. It is an indicator to select a place/country but not a language.
In my opinion, the perfect solution does not yet exist, but the language icon could be a good solution if it becomes more widely known.