Jump to content
kerlin

[RESOLU] Clonage d'un module, problème de traduction

Recommended Posts

Bonjour,

Confrontée comme beaucoup au souci de l'incapacité de PS d'accepter des commandes de produits gratuits, j'ai fait des recherches sur le Net et ai vu qu'une solution possible serait de cloner le module de paiement par chèque et de le modifier .
Eolia avait concocté quelque chose dans ce sens en 2015 mais hélas a retiré son module. C'était pour PS 1.6 mais je me serais basée dessus pour voir comment modifier celui de PS 1.7 (le site est sur 1.7.5.2)

Son module était renommé genericpaiement, pour ma part, j'ai cloné le module en l'appelant ps_freeorder et j'ai modifié à l'intérieur en remplaçant checkpaiement par freeorder. Ensuite je l'ai installé. 

Ayant modifié les termes à traduire pour les faire correspondre à mes attentes, et pour ne pas empiéter sur les traductions du module initial, j'ai modifié les appels de traduction.
Par exemple 

$this->displayName = $this->trans('Payment by check'), array(), 'Modules.Checkpayment.Admin');

est devenu

$this->displayName = $this->trans('Free orders', array(), 'Modules.Freeorder.Admin');

mais j'ai beau chercher partout dans Internationalisation -> Traduction -> back-office, je ne trouve pas "free orders"

J'ai cherché dans la doc (qui dit que cette méthode est pour 1.7.6 et supérieur mais qui manifestement est déjà utilisé sur 1.7.5.2, version de mon site). Il me semble avoir bien respecté les règles en ne mettant pas le ps_ qui est dans le nom de mon module, et en mettant une majuscule sur la première lettre.

Quelle est l'astuce pour que cela fonctionne ?

 

Si je remets les traductions avec checkpayment, si le module originel est désinstallé, est-ce que cela supprime les traductions ?

[edit]Pour modifier le texte dans la config de mon module ps_freeorder, je vois qu'en fait c'est dans le fichier infos.tpl ou j'ai mis :

<p><strong>{l s="This module allows free orders" d='Modules.Freeorder.Admin'}</strong></p>

Je pourrais bien sûr mettre tout en français dans le code mais c'est moins "joli" ...

[/edit]

Merci d'avance

Edited by kerlin
ajout (see edit history)

Share this post


Link to post
Share on other sites

J'ai trouvé. La méthode utilisée ne fonctionne que pour les modules du Core ou natifs. Même si c'est un clone, mon module est considéré comme 3thparty.

La phrase à traduire doit donc être écrite comme ceci :

{l s="Blabla to translate" mod='nom_module'}

Et là ça semble fonctionner.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More