So I slept on it, and I guess now I know your misconception.
Movie Format:

You're using
{info.spokenLanguages} for movies. This works. TheMovieDB has information about spoken languages for each movie.
{languages} works too, as it is also based on
{info.spokenLanguages} in the context of TheMovieDB movie objects. Either one will work as expected.
Episode Format:

You're using
{languages} for TV episodes. This does
not work. TheTVDB does not have information about spoken languages for each series or episode.
{languages} defaults to the language of the TheTVDB response data, i.e. if you do
--lang Danish then series name / episode titles will be Danish, and
{languages} will also be Danish, thus completely unrelated to
"languages spoken in the given TV series or episode" contrary to your expectation. You get different results in GUI and CLI, because you use different language preferences in each, and thus
{languages} yields different values.