Compatibilité Joomla! joomla! 1.6

Lorsque l'on crée un plugin pour Joomla! il peut arriver que l'on ait besoin d'ajouter des termes à traduire dans plusieurs langues. Joomla! offre la possibilité de créer et utiliser des fichiers de langues qui se trouvent dans "[site]/administrator/language/". Or pour les utiliser dans un plugin, il faut les appeler à partir de la classe constructeur et installer les fichiers.

 Installer les fichiers de langue du plugin

La première des choses à faire est de modifier son fichier d'installation XML (aussi appelé le manifest) pour y ajouter les instructions pour la copie des fichiers .ini.

Les fichiers de langue d'un plugin Joomla! se trouvent dans le répertoire "administrator" du site.

Prenons l'exemple d'un plugin de contenu (du groupe "content") "Monplugin" qui serait traduit en français et anglais, voici la structure à ajotuer dans le fichier XML :

<administration>
      <languages folder="language">
        <language tag="fr-FR">fr-FR/fr-FR.plg_content_monplugin.ini</language>
        <language tag="fr-FR">fr-FR/fr-FR.plg_content_monplugin.sys.ini</language>
        <language tag="en-GB">en-GB/en-GB.plg_content_monplugin.ini</language>
        <language tag="en-GB">en-GB/en-GB.plg_content_monplugin.sys.ini</language>
      </languages>
</administration> 

Les fichiers .ini doivent être placés dans un répertoire "language" à la racine du package d'installation, dans les dossiers respectifs des langues (fr-FR, en-GB).

 

Chargement des langues dans le plugin

Dans le plugin lui-même il faut faire appel à l'API de Joomla! avec la fonction "$this->loadLanguage();" pour charger les fichiers de langue et pouvoir utiliser les traductions. Ca se passe dans la classe constructeur du plugin Joomla! :

class plgContentMonplugin extends JPlugin
{    
    public function __construct(& $subject, $config)
    {
        parent::__construct($subject, $config);
        $this->loadLanguage();
    } 
... reste du plugin ...

}

Et voilà vous pouvez maintenant ajouter vos traductions avec la fonction JText de l'API Joomla! :

JText::('TERME_A_TRADUIRE')

 

Ces explications sont extraites d'un fil de discussion sur le forum Joomla.fr

Site réalisé par Cédric KEIFLIN - Mentions légales

Copyright © 2010 - 2020 Tutoriels Joomla! - Tous droits réservés - Joomla! est un Logiciel Libre diffusé sous licence GNU General Public

https://tutoriels-joomla.joomlack.fr n'est ni affilié à Open Source Matters ou au projet Joomla ni approuvé par eux.
Le nom Joomla!® est utilisé sous license limitée de Open Source Matters, le propriétaire mondial de la marque de commerce.