La fonction _T fait correspondre à une référence de chaîne de langue sa valeur traduite dans la langue du contexte.
Son premier argument contient l’identifiant de la chaîne, et le 2eme argument contient, si nécessaire, le tableau des arguments requis pour l’évaluation de la chaîne.
Fonction non recommandée dans les squelettes
La plupart du temps, on peut se passer de cette fonction dans les squelettes car le fonctionnement multilingue natif de SPIP est suffisant.
Par ailleurs, le préfixe _ dans le nom de la fonction indique qu’elle est réservée à un usage interne de SPIP : elle ne fait pas partie de l’API de SPIP et en conséquence il n’est pas "officiellement" recommandé de l’utiliser comme filtre dans un squelette.
On la trouve toutefois souvent utilisée dans les squelettes, car la syntaxe des chaînes de langues est insuffisante dans certains cas techniques.
Avec un identifiant de chaîne calculé
Comme dans :
[(#SET{titre,#VAL{trad_definir_reference}|_T{#ARRAY{titre,#GET{titre}}}})]
– Par exemple dans le plugin mailshot<label for="#GET{name}"> [(#GET{fl}|concat{':label_',#GET{name}}|_T)] </label>
– Dans le plugin abonnement[(#VAL{abonnement:notification_echeance_corps_}|concat{#GET{quand}}|_T{#ARRAY{echeance,#GET{echeance},nom_site_spip,#NOM_SITE_SPIP,offre,#GET{offre}}})]
Si vous êtes confronté à cette situation, il est préférable de définir un filtre comme lang_concat ci après :
function lang_concat(string $radical, string $suffixe): string {
return $radical . _T('label_' . $suffixe);
}
Et le code du plugin mailshot ci dessus deviennt alors : [(#GET{fl}|lang_concat{#GET{name}})]
En argument d’une balise
Exemples
– Dans le plugin noizetier[(#BOUTON_ACTION{ [(#VAL{noizetier:formulaire_supprimer_noisette}|_T)], #URL_ACTION_AUTEUR{supprimer_noisettes,noisette:#ID_NOISETTE, #SELF#noizetier-noisette-#ID_NOISETTE} })]
– ou dans le plugin menus :#SET{info_session,#VAL{menus:info_connexion_obligatoire}|_T}
Teaser : la future balise #TRAD
Dans SPIP5, une nouvelle balise : #TRAD complète les outils existants.
Il est d’ores et déjà possible de vous inspirer de son code pour l’adapter dans votre site.