[spip-dev] Discussion autour de _T_ou_typo()

Bonjour,

Plusieurs fois on nous a fait la demande d'intégrer la fonction _T_ou_typo() au Core. Cette fonction est actuellement définie dans les plugins Bonux et/ou Saisies.

Elle a comme usage principal d'appliquer la fonction typo() sur le texte qui lui est envoyé, ou récursivement sur chaque valeur si un tableau lui est donné.

Et, si un des textes est de la forme "<:cle_de_langue:>" ou "<:module:cle_de_langue:>" (une forme simple de l'écriture de chaîne de langue dans les squelettes donc), alors c'est la valeur de traduction de cette chaîne de langue qui est retourné.

Autrement dit :
_T_ou_typo("Coucou") == "Coucou"
_T_ou_typo("<:module:bonjour:>") == "Coucou" (avec le fichier de langue qui va bien quand même)
_T_ou_typo("<multi>[fr]Coucou[en]Hi</multi>") == "Coucou"
_T_ou_typo(["Coucou", "<:module:bonjour:>", "<multi>[fr]Coucou[en]Hi</multi>"]) == ["Coucou", "Coucou", "Coucou"]

Cette intégration pose plusieurs questions sur l'usage / le besoin d'origine et sur la réponse apportée.

L'usage et solution actuelle

[...]
typo("Ceci est la clé : <:module:cle:>")
> Ceci est la clé : clé

La conséquence est que ça permettrait plus de possibilités (on pourrait
mettre des chaines de langue dans les textes d'articles par exemple)

[...]

Qu'en pensez-vous ?

Pas d'autres avis ? j'avais pour info ajouté un ticket Traduction des configurations (yaml, xml, json) et certains formulaires ( _T_ou_typo ) (#3897) · Tickets · spip / spip · GitLab et posté un morceau de mon patch par inadvertance là
PHPDoc sur quote_amp (61f740e9) · Validations · spip / spip · GitLab
(on serait sous GIT ça serait pas arrivé !)

MM.

Hop,

Hello,

Ca me parait bien.
Je sais pas si on a besoin de modifier aussi les fonctions de traduction?
Si oui, c’est là qu’il faut faire attention.