web-dev-qa-db-fra.com

Charger le fichier de langue du composant dans la fiche du module

J'ai le module mod_mymodule Et il a les mêmes traductions que le composant com_mycomponent. Je ne veux pas dupliquer ces mêmes fichiers et utiliser un seul fichier.

Je charge le formulaire de com_mycomponent À mod_mymodule Et il contient des champs avec des étiquettes telles que: COM_MYCOMPONENT_TEST. Dans joomla_root/language/en-EN/en-EN.com_mycomponent.ini, J'ai une traduction pour cela.

Je veux charger joomla_root/language/en-EN/en-EN.com_mycomponent.ini Dans le module. J'ai aussi essayé d'ajouter JFactory::getLanguage()->load('com_ritcatalogue'); dans mod_mymodule.php. Ne fonctionne pas J'ai aussi essayé de charger les traductions dans le fichier manifeste du module mod_mymodule.xml

<languages folder="language">
    <language tag="en-EN">en-EN/en-EN.com_ritcatalogue.ini</language>
    <language tag="en-EN">en-EN/en-EN.com_ritcatalogue.sys.ini</language>
</languages>

Mais mon module n'affiche que COM_MYCOMPONENT_TEST

2
turson

J'ai trouvé une solution:

$lang = JFactory::getLanguage();
$lang->load('com_mycomponent', JPATH_SITE, 'en-GB', true);
$lang->load('com_mycomponent', JPATH_SITE, $lang->getTag(), true);

Nous chargeons d’abord la traduction principale (dans mon cas, c’est en-GB), puis nous chargeons la langue active. S'il n'y a pas de traduction de langue active, Joomla affiche la traduction principale.

Liste des balises de langue:https://community.joomla.org/translations/joomla- 3-translations.html

2
turson