Switches between two (2) languages. It is not tested and not suitable for more.
Displays a link to the other available language, together with a prefix text if supplied. Also has an 'inverse' mode, which instead of displaying the name of the inactive language displays the name of the current language, linked to the inactive one.
Crazy as it might sound, the 'inverse' mode is/was a requirement on several projects.