en mettant en place la traduction de mes plugins, je me heurte à un petit soucis…
La trad n’est pas acceptée à l’intérieur d’un paramètre pour customiser un widget.
ce bout de code là empêche l’affichage du plugin :
public static $_widgetPossibility = array(
'custom' => true,
'parameters' => array(
'birthdayImg' => array(
'name' => __('Image perso du widget', __FILE__), // si on met le texte en dur, c'est OK
'type' => 'input',
'allow_displayType' => 'Dashboard',
)
)
);
Bon, j’avais 10min et j’ai fait un check rapide: je n’ai pas ce genre de construction
j’ai des widget code (public static function templateWidget()) avec des traductions et ca fonctionne
je ne sais même pas trop ce que ca permet ton code en fait, ca doit être lié au fait que dès que ca parle de widget je m’enfuis
Mon soucis n est pas un soucis de traduction, (je n en suis pas encore là ! ) , mais une exception levée par php, qui n accepte visiblement pas d avoir une constante variable
De + ton rajout a la main, sera automatiquement supprimé lors du prochain passage du bot, car il ne trouvera ps de correspondance dans le fichier php…??
du coup la proposition de @Phpvarious va être accepté sauf que rien ne sera traduit je pense car lors de l’affichage le core va chercher une traduction qu’il ne trouvera pas (mais il ne devrait pas y avoir d’accolade à l’affichage)
Cest le fait de mettre une fonction dans le array qui génère une erreur.
Pour ce cas de trad dans un array, on retrouve bien l’utilisation des accolade dans le core.
mais pour ce cas, comme dit Mips, la trad ne se fera pas car pas dans le bon fichier.
Je suis pas devant le Pc mais la nouvelle fonction qui permet au plugin d’afficher des infos dans le nouvelle onglet de la page des eqLogic (eqLogic_specialAttributesPlugin) utilise ceci :
Peut-être s’appuyer dessus pour PR le core, mais cela oblige a maintenir 2 souces pour les trad.
le problème n’est pas d’avoir une fonction dans un array mais que celui-ci (ou n’importe quoi comme variable) soit static/constant … pcq une fonction c’est pas constant
dans l’exemple que tu montres on pourrait utiliser des fonctions, d’ailleurs c’est le cas: translate::getLanguage() est une fonction
ou alors je n’ai rien compris à ce que tu voulais montrer
Ce que j’essaie d’expliquer (tout en tirant mes cable 240mm2 alu) , cest que @Loic dans le création de cette nouvelle info (eqLogic_specialAttributesPlugin) et si jai bien compris le fonctionnement, va chercher direct la trad dans la array.
Si il a fait comme ceci, c’est certainement pour contourner ce soucis de trad.
Il faudrait donc ce baser sur ce même fonctionnement pour le $_widgetPossibility.
bon ba … faute de « vraie solution », j’ai fait plus simple → la config de l’image se fera sur l’équipement et non plus sur le widget
en + c’est plus visible comme ca