Styliser ne définit la langue QUE pour les objets de parent rubrique
C'est un peu tordu en terme de suite de fonctions pas mal absconses mais voilà :
-
styliser
appellequete_rubrique_fond
(pourquoi ce fichu nom alors que la fonction ne cherche absolument pas un fond mais renvoie un id_rubrique et une lang ?) -
quete_rubrique_fond
appellequete_parent_lang
dans inc/quete - cette dernière arrête tout si ya pas d'id_rubrique : https://git.spip.net/spip/spip/src/branch/master/ecrire/public/quete.php#L66
On se retrouve donc avec plein d'objets qui ont parfaitement un champ "lang", dont certains ont même un sysètme de trad (id_trad etc), mais qui pourtant parce que sans rapport avec les rubriques, n'ont jamais leur langue définie dans le contexte de styliser !
Alors que… bah ça n'a aucun rapport, on peut parfaitement avoir une langue quand même (et de fait plein d'objets en ont).
Du coup les plugins qui se basent sur la langue pour choisir le squelette bah c'est niqué pour tous ces objets là… (au hasard les variantes de squelettes officielles, impossible de faire patate.en.html).
Donc : la langue n'a absolument pas à être liée dans le code à l'id_rubrique, ça doit renvoyer l'un et/ou l'autre indépendamment.