henribaeyens Posted October 6, 2009 Share Posted October 6, 2009 Bonjour,Dans un module développé par mes soins, les traductions ne sont que partiellement appliquées. Toutes les expressions traduites sont bien dans fr.php mais la majorité d'entre elles persiste à s'afficher en anglais. La langue admin est le français et c'est la seule langue utilisée. Des suggestions?h Link to comment Share on other sites More sharing options...
Thomas Dedericks Posted October 12, 2009 Share Posted October 12, 2009 Salut,Je me permets de remonter le sujet, j'ai un problème similaire. Toutes les chaînes sont traduites via l'interface ad hoc dans l'interface de gestion, mais je ne parviens pas à afficher la chaîne traduite sur la partie publique... Link to comment Share on other sites More sharing options...
henribaeyens Posted October 12, 2009 Author Share Posted October 12, 2009 Pour un module, le mieux est d'inclure sa propre version de la fonction l. Une version customisée qui va directement chercher les bonnes traductions dans le bon fichier.eg: public function l($string, $specific = false) { global $_MODULES, $_MODULE, $cookie; $id_lang = (!isset($cookie) || !is_object($cookie)) ? intval(Configuration::get('PS_LANG_DEFAULT')) : intval($cookie->id_lang); $file = _PS_MODULE_DIR_.$this->name.'mon_module/'.Language::getIsoById($id_lang).'.php'; if (file_exists($file) && include_once($file)) $_MODULES = !empty($_MODULES) ? array_merge($_MODULES, $_MODULE) : $_MODULE; if (!is_array($_MODULES)) return (str_replace('"', '"', $string)); $string2 = str_replace('\'', '\\\'', $string); $key = '<{mon_module}mon_theme>AdminMonModule_'.md5($string2); if (key_exists($key, $_MODULES)) return str_replace('"', '"',stripslashes($_MODULES[$key])); else return str_replace('"', '"', $string); } Avec ça, plus de problemes. Sûr, la fonction peut être modifiée pour inclure les noms du module et du theme + le code iso (avec valeur par defaut) dans la liste des paramètres. Link to comment Share on other sites More sharing options...
Thomas Dedericks Posted October 12, 2009 Share Posted October 12, 2009 Bon, je viens de trouver ce qui n'allait pas. Pour une raison qui m'échappe encore, les traductions n'étaient pas créées pour le thème sur lequel je travaillais.Par exemple, pour le module 'blockwishlist', dans le fichier de traduction nl.php, j'avais : $_MODULE['<{blockwishlist}prestashop>blockwishlist-ajax_4a84e5921e203aede886d04fc41a414b'] = 'Dit product van mijn verlanglijst verwijderen'; Il suffit de remplacer 'prestashop' par le nom du thème, et ça roule... 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