La fonction changer_langue() fournie par SPIP teste si la langue demandée existe, et ne la change que dans ce cas.
Mais pour ce test, la fonction force la fusion des langues réellement choisies avec la liste de TOUTES les langues (d'ailleurs je pige pas trop pourquoi : les langues choisies sont bien incluses dans la liste complète non ?). https://core.spip.net/projects/spip/repository/entry/spip/ecrire/inc/lang.php#L38 Mais du coup, impossible de l'utiliser quand on veut uniquement changer pour une langue réellement utilisée, à moins de soi-même faire des tests en amont, ce qui n'a pas de sens puisque c'est le but de cette fonction. Par exemple Real3t a été obligé de dupliquer totalement des fonctions pour le plugin Autolang : https://zone.spip.net/trac/spip-zone/changeset/104770/spip-zone/_plugins_/autolang#file0 Que pensez-vous d'ajouter un argument à la fonction afin de choisir sur quoi on fait le test (toutes les langues par défaut ou seulement celles choisies, voir aussi une liste donnée explicitement) ? Un truc du genre : > function changer_langue($lang, $langues_ok='tout'|'choisies'|array) À reporter dans utiliser_langue_visiteur() qui l'utilise : > function utiliser_langue_visiteur($langues_ok='tout'|'choisies'|array) -- RastaPopoulos _______________________________________________ liste: https://listes.rezo.net/mailman/listinfo/spip-dev doc: http://www.spip.net/ dev: http://trac.rezo.net/trac/spip/ irc://irc.freenode.net/spip