Formation Prestashop intégrateur: Internationalisation des modules / La traduction des modules (non PrestaShop)

Vous êtes ici : Accueil / Prestashop intégrateur / Internationalisation des modules / La traduction des modules (non PrestaShop)


La traduction des modules (non PrestaShop)

Les modules, qui ne sont pas créés par PrestaShop, utilisent la fonction l de l'ancien système de traduction (Legacy).

Exemple d'utilisation en PHP :

$this->l('Add new root category');

Exemple d'utilisation dans un template Smarty :

{l s='Add tag' mod='blockcms'}

Options possibles :

  • "js=1" : indique que cette chaîne peut être contenue dans du code JavaScript.
  • "mod='blockcms'": précise le nom du module
  • "sprintf='any string or number'" : voir les exemples dans la section "Sprintf"

Les traductions sont stockées dans les fichiers /modules/nom_du_module/translations/iso_code.php où iso_code est le code ISO 3166-1 du pays.

Les traductions sont stockées dans un tableau PHP nommé $_MODULE, et prenant la forme suivante :

$_MODULE['<{blockcms}prestashop>blockmobilecms_d1aa22a3126f04664e0fe3f598994014'] = 'Promotions';

La clé d'identification est construite en combinant le nom du module d'où provient la chaîne originale (ex. : "blockcms), suivi du nom du thème (ex. : "prestashop"), puis du nom du fichier (ex. : "blockmobilecms"), d'un signe souligné, et enfin du hash MD5 de la chaîne elle-même.