Bonjour,
J'essaye d'intégrer un fichier de langue à un plugin et je n'arrive pas à obtenir les traductions dans le code (ça marche pour les paramètres du plugin).
Mon plugin contient des paramètres et j'arrive à afficher les traductions du fichier langues au niveau des paramètres (une fois que le plugin est activé), par contre, ce plugin envoie un message de compte rendu d'éxécution et là, je n'arrive pas à obtenir les traductions contenues dans le fichier de langue (seulement le mot clé).
Mon fichier de langues a pour nom :
Ce fichier s'installe dans le répertoire :
racine_du_site_joomla/administrator/language/fr-FR
le fichier xml d'installation contient :
Cette partie language n'est pas incluse dans un tag <administration> mais le fichier s'installe avec les fichiers de langues de la partie admçinistration, j'imagine que c'est une particularité des plugins. Cependant, il y a des fichiers de langues pour les plugins avec les fichiers de langue du site (je ne comprends pas comment on peut arriver à les installer). J'ai essayéé de dupliquer manuellement le fichier qui s'est installé avec les fichiers de langues de l'administration dans le répertoire de ceux du site : cela n'a rien changé (c'est toujours mon mot clé qui s'affiche).
Le fichier de langue est bien reconnu car c'est bien une traduction issue de son contenu qui s'affiche au niveau des paramètres une fois que le plugin est activé.
J'ai mis une ligne php :
dans la fonction du constructeur et j'ai aussi mis cette ligne dans la fonction qui contient le code où se trouve le mot clé à traduire.
J'invoque le fichier de langue par la ligne :
(pour tester, j'ai remplacé la ligne contenant MAILSUBJECT par une contenant LOGLEVEL puisque je suis sûr de ce mot clé qui est reconnu au niveau des paramètres.)
Mon fichier de langue contient :
Comme je n'arrive pas à trouver les fichiers xml des plugins déjà installés je ne peux que faire des suppositions, j'ai bien essayé de télécharger quelques plugins pour voir comment les fichiers de langues y étaient gérés mais sans succès.
J'ai beau chercher, j'ai l'impression de tourner en rond.
J'imagine que cela a déjà été fait et j'espère que quelqu'un pourra me dire ce qui m'échappe.
Merci d'avance.
J'essaye d'intégrer un fichier de langue à un plugin et je n'arrive pas à obtenir les traductions dans le code (ça marche pour les paramètres du plugin).
Mon plugin contient des paramètres et j'arrive à afficher les traductions du fichier langues au niveau des paramètres (une fois que le plugin est activé), par contre, ce plugin envoie un message de compte rendu d'éxécution et là, je n'arrive pas à obtenir les traductions contenues dans le fichier de langue (seulement le mot clé).
Mon fichier de langues a pour nom :
fr-FR.plg_system_ezrealtyplg.ini
racine_du_site_joomla/administrator/language/fr-FR
le fichier xml d'installation contient :
<languages folder="langues/site">
<language tag="en-GB">en-GB.plg_system_ezrealtyplg.ini</language>
<language tag="fr-FR">fr-FR.plg_system_ezrealtyplg.ini</language>
</languages>
<language tag="en-GB">en-GB.plg_system_ezrealtyplg.ini</language>
<language tag="fr-FR">fr-FR.plg_system_ezrealtyplg.ini</language>
</languages>
Le fichier de langue est bien reconnu car c'est bien une traduction issue de son contenu qui s'affiche au niveau des paramètres une fois que le plugin est activé.
J'ai mis une ligne php :
Code PHP:
JPlugin::loadLanguage( 'plg_system_ezrealtyplg');
J'invoque le fichier de langue par la ligne :
Code PHP:
// $my_mail->subject=sprintf ( JText::_( 'MAILSUBJECT' ), JURI::base());
$my_mail->subject=JText::_( 'LOGLEVEL' );
Mon fichier de langue contient :
MAILSUBJECT=Hello : Site %s rapport du traitement des annonces
MAILSUBJECTSEND_MSG_ACTIVATE=Bonjour %s.\n\nVous venez d'être inscrit sur le site ".JURI::base()." par un script automatique.\nAvant de pouvoir vous connecter, vous devez valider votre inscription.\nPour valider votre inscription vpous pouvez utiliser le lien ci-dessous :\n%s\n\nVotre nom de login est : %s\nVotre mot de passe est : %s\n
LOGLEVEL=Niveau de log
LOGLEVELDESC=Le niveau de log permet d'écrire des traces actuellement, il ne peut prendre que les valeurs 0 ou 1, s'il n'est pas égal à 0 il y aura écriture dans un fichier de log. En utilisation normale, il faut le laisser à 0. Autrement, on écrit des fichiers inutilisés sur le disque dur.
MAILSUBJECTSEND_MSG_ACTIVATE=Bonjour %s.\n\nVous venez d'être inscrit sur le site ".JURI::base()." par un script automatique.\nAvant de pouvoir vous connecter, vous devez valider votre inscription.\nPour valider votre inscription vpous pouvez utiliser le lien ci-dessous :\n%s\n\nVotre nom de login est : %s\nVotre mot de passe est : %s\n
LOGLEVEL=Niveau de log
LOGLEVELDESC=Le niveau de log permet d'écrire des traces actuellement, il ne peut prendre que les valeurs 0 ou 1, s'il n'est pas égal à 0 il y aura écriture dans un fichier de log. En utilisation normale, il faut le laisser à 0. Autrement, on écrit des fichiers inutilisés sur le disque dur.
J'ai beau chercher, j'ai l'impression de tourner en rond.
J'imagine que cela a déjà été fait et j'espère que quelqu'un pourra me dire ce qui m'échappe.
Merci d'avance.
Commentaire