Traduction fonction t() variables dynamiques - Drupal 7 - URGENT

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour tout le monde,

Je reviens vers vous pour une question très importante, svp.

Aujourd'hui, j'utilise la fonction t() Drupal pour traduire mes termes, hors que cette fonction ne prend pas en compte les termes dynamiques.

C'est à dire, j'utilise t($param), sachant que $param est récupéré de la bdd et peut être changé selon le résultat de la recherche.

Quand j'importe le fichier .po de la traduction des ces termes, la traduction n'est pas prise en compte et j'ai le message :

19 translation strings were skipped because they contain disallowed HTML.

Serait-il possible d'avoir votre aide, svp ?

Merci beaucoup d'avance.

Mehdi.S

Forum : 
Version de Drupal : 

<?php
 

t
('Ici une variable full text @varFullText et ici une variable avec du html !varHtmlText', array(
'@varFullTest' => $myVar1,
'!varHtmlText'=>$myVar2
);
?>

Comme ca dans la trad tu pourra mettre @verFullText et !varHtmlText où tu veux, c'est super pour les trad englais -> francais car certains mots/nombre se placent différament.

Salut Mixalis,

Je te remercie pour ta réponse.

Sinon, mon problème ,c'est que j'utilise déjà cette façon implémentation de ma variable :

'

  • '.t('@ct', array('@var_0' => $var_0)).' : '.t('@var_1', array('@var_1' => $var_1)).'
  • ';

    et quand j'importe mon fichier .po, son contenu est le suivant par ex :

    msgid "var_0"
    msgstr "var_0_trad"

    Mais la trad ne remonte pas sur le navigateur.

    pour info, var_0 et var_1 sont récupérés depuis une table dans la bdd qui contient tous les termes en anglais, et les fichiers .po contiennent les trad de ces termes en d'autres langues.

    Le but est que Drupal aille chercher les trad dans les fichiers .po.

    Le souci c'est que je vois que Drupal crée des termes via le BO avec des path (url/lien) dans la partie : admin/config/regional/translate/translate

    Dis le moi si ce n'est pas clair.

    Merci encore de ton initiative.

    Mehdi.S