Le filtre |extraire_multi{lang}
appliqué à une balise de texte (#TEXTE
, #TITRE
, #INTRODUCTION
, #BIO
...) permet de sélectionner dans chaque bloc <multi>...</multi>
du texte concerné la portion correspondant à la langue passée en argument du filtre et ce, indépendamment de la langue du contexte dans laquelle la page est appelée.
Exemple
Un champ « TITRE » de la table « spip_articles » renseigné ainsi :
<multi>[en]New article[fr]Nouvel article[ar]مقال جديد</multi>
Le simple appel de #TITRE
dans un squelette produira selon que la page est demandée en français (&lang=fr
dans l’URL) : « Nouvel article
», en arabe (&lang=ar
) : « مقال جديد
» ou en anglais ( (&lang=en
) : « New article
».
Si, pour une raison ou une autre, nous voulons que ce soit la version arabe du titre qui s’affiche et ce, quelle que soit la langue de contexte de la page, alors nous écrirons dans le squelette : [(#TITRE*|extraire_multi{ar}|propre)]
Noter que si une traduction dans la langue demandée par le filtre (« ar » dans l’exemple ci-dessus) n’existe pas dans le bloc
<multi>
, la première traduction de ce bloc sera retournée.
Ainsi si, toujours dans l’exemple ci-dessus, nous avions demandé[(#TITRE*|extraire_multi{it}|propre)]
, c’est «New article
» qui aurait été affiché.