Hello,
Contexte : utilisation de la balise #PLUGIN pour un plugin utilisant un paquet.xml
Quand on utilise la balise #PLUGIN pour récupérer les informations de description du plugin qui peuvent être traduites, soit nom, slogan et description, la valeur de retour est pour ainsi dire inutilisable. En effet, soit le plugin Crayons, on obtient :
#PLUGIN{CRAYONS, nom} = Crayons // Quelque soit la langue demandée
#PLUGIN{CRAYONS, slogan} = crayons_slogan // c’est à dire l’item de langue du module paquet-crayons_xx.php
#PLUGIN{CRAYONS, description} = crayons_description // c’est à dire l’item de langue du module paquet-crayons_xx.php
Donc, la valeur retournée n’est pas cohérente d’une info à une autre puisque le nom est celui inscrit dans paquet.xml (donc non traduit) alors que pour le slogan et la description on récupère l’item de langue dans le module paquet-crayons_xx.php.
Même si le fichier paquet-crayons_xx.php contient l’item crayons_nom permettant de traduire le nom du plugin, cet item n’est jamais utilisé.
En effet, cela vient de la fonction infos_paquet qui stocke ces valeurs sans se poser plus de question. Il n’est donc jamais possible actuellement d’afficher le nom du plugin dans une autre langue en utilisant #PLUGIN.
Deux solutions pour corriger ce souci :
-
Modifier la fonction info_paquet afin de stocker dans chacun de ces index (nom, slogan ou description) la chaine traduite dans la langue courante. Ce devrait être la meilleure solution mais je ne sais pas si cela ne peut pas poser des soucis avec le cache.
-
Faire le traitement dans la balise #PLUGIN et si on est en présence de l’info nom, slogan ou description, aller chercher directement la traduction si elle existe, sinon on appelle le filtre info_plugin comme actuellement.
J’ai codé ce patch est cela fonctionne très bien.
Des avis ?