Os voy a soltar el código así sin anestesia ni nada.
implode (', ', array_intersect_key($_languages_, array_combine ( $object->getLanguagesArray(), $object->getLanguagesArray())));
Y ahora os explico qué hace. Básicamente tenemos un array no asociativo obtenido con $object->getLanguagesArray() que contiene una lista de claves de lenguajes (es, fr, en, por ejemplo). Y por otro lado tenemos un array asociativo con los nombres de todos los lenguajes como valor y sus códigos como clave. Algo como esto:
Array ( [0] => en [1] => pt [2] => fr [3] => es )
Array ( [aa] => Afar [ab] => Abjasio [af] => Afrikaans [am] => Amárico ...)
Y todo lo que quiero es una cadena, separada por comas con los nombres de los idiomas de $object.
Bueno, pues me ha costado casi una hora buceando en las funciones de array de PHP. Espero que a alguien por ahí le ahorre tiempo.