Une balise pour les tranductions interpolées

C'est presque incroyable qu'après 5 ans d'utilisation de Patron ce soit seulement aujourd'hui qu'il me faut recourir à une fonction de traduction qui supporte l'interpolation. La notation #{t:chaine_à_traduire} avait suffit à tous mes projets jusqu'à présent. La nouvelle balise translate permet non seulement de traduire des chaines de caractères, mais aussi de faire de l'interpolation.

La balise est décrite comme suit :

<p:translate
     native = string>
     <!-- Content: p:with-param* -->
</p:translate>

L'attribut native sert à spécifier la chaine à traduire et les paramètres destinés à l'interpolation sont spécifiés avec la construction with-param.

Voici un exemple d'utilisation :

<p:translate native="Posted on :date by !name">
    <p:with-param name="date"><time datetime="#{@date}" pubdate="pubdate">#{@date.format_date()}</time></p:with-param>
    <p:with-param name="name" select="@user.name" />
</p:translate>

La chaine est traduite et interpolée par la méthode t() du paquet ICanBoogie/I18n.

Laisser un commentaire

Pas de commentaire