ningu Posted August 12, 2009 Share Posted August 12, 2009 Philippe,La suite de mes péripéties sur les traductions dans les modules :Report 2615 : ca marche nickel, j'ai bien les traductions dans les blocks depuis un tpl d'un moduleReport 2546 : traduction dans un fichier AdminMyObject situé dans un module.Le report étant rejeté, j'avais la solution ci-jointe qui me paraissait élégante :l'adminMyObject redéfinit sa methode l() avec les bons (me semble-t-il) paramètres. protected function l($string, $class = __CLASS__, $addslashes = FALSE, $htmlentities = TRUE) { include_once (dirname(__FILE__).'/monmodule.php'); $module = new MonModule(); return $module->l($string, $class, $addslashes, $htmlentities); } On appelle alors $this->l('chaine') comme pour les admins situés dans admin/tabsNickel sur une 1.2.0.8Sur une 1.2.1, à l'install, ca semble OK.Par contre, dès que je regènère les traductions, ca ne traduit plus...Me voilà donc perplexe.... :roll: Serait-ce lié à la correction du 2615 ?Merci essaitranslationadmin.zip Link to comment Share on other sites More sharing options...
ningu Posted August 19, 2009 Author Share Posted August 19, 2009 Un petit up pour la Team ;-) Dans mon exemple, la manière de gérer les traductions pour un fichier AdminXXX.php dans un module est-elle correcte ou y a-t-il un souci dans la gestion des traductions dans le core ?Philippe m'ayant rejecté le 2546, je sais pas trop ce qui est du fonctionnement normal ou pas.Il devrait être possible de traduire tous les fichiers dans un module ?Merci Link to comment Share on other sites More sharing options...
Julien Breux Posted August 19, 2009 Share Posted August 19, 2009 Phillipe est en vacances actuellement, je vais donc le remplacer.Voici le code que tu dois mettre pour traduire, tu mets ça dans ton AdminXXX.php : private $module = 'XXX'; public function __construct() { global $cookie, $_LANGADM; $langFile = _PS_MODULE_DIR_.$module.'/'.Language::getIsoById(intval($cookie->id_lang)).'.php'; if(file_exists($langFile)) { require_once $langFile; foreach($_MODULE as $key=>$value) if(substr(strip_tags($key), 0, 5) == 'Admin') $_LANGADM[str_replace('_', '', strip_tags($key))] = $value; } parent::__construct(); } Edition:Nous allons travailler avec Philippe pour que la traduction soit ok dès sa rentrée Link to comment Share on other sites More sharing options...
ningu Posted August 19, 2009 Author Share Posted August 19, 2009 Merci Julien,Je vais tester ça...Et bonnes vacances à tous ceux qui sont en vacances ;-P Link to comment Share on other sites More sharing options...
ningu Posted August 19, 2009 Author Share Posted August 19, 2009 Ca marche Nickel.J'ai juste rajouté le $_MODULE en global du __construct()Encore merci Link to comment Share on other sites More sharing options...
Julien Breux Posted August 19, 2009 Share Posted August 19, 2009 Juste une petite note personnelle : le mot clé global, c'est mal (surtout à l'approche de PHP5.3 en production avec les espaces de noms )Un petit résolu Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now