Jump to content

Problème de traduction d'un module fait maison


Recommended Posts

Bonjour,

 

J'ai créer il y a maintenant plusieurs semaines un module pour ma boutique e-commerce. L'objectif était simple : avoir un slider Jquery sur la homepage. Le module a donc été créer de manière assez "rudimentaire" : un dossier sliderhome du côté racine avec son .php dedans, un autre dans le thème avec son .tpl pour l'affichage. Activation via mon Back office + accrochage sur le point d'accroche DisplayHome.

 

Sur mon Prestashop j'ai 3 langues (FR, EN et DE) mais en réalité seul le FR est utilisé. Je suis en train de préparer le site pour une version Allemande et j'ai déjà traduis tous les champs du Front, Back etc...

 

Dans le .TPL de mon module fait maison, j'ai remplacé pour tester une phrase par {l s='Mon titre de slide 1' mod='sliderhome1'} : impossible cependant de trouver le moyen de le traduire dans le back-office. Quand je vais dans Localisations > Traductions, puis je choisis "Traductions des modules installées, "mon thème", "Deutsh (German)", je repère bien mon module mais il ne m'est proposé que de modifier son nom et sa description ... mais pas la variable que j'ai inséré dans le .TPL.

 

Bref, je suis bloqué. J'ai essayé de crée un dossier /translations/ dans le dossier du module côté thème, aucun changement. D'y créer un de.php vide, aucun changement. De vider le cache (dans Paramètres avancées > Performance), en vain.

 

post-945340-0-32962900-1427968853_thumb.jpg

 

J'ai cherché sur le forum mais rien qui m'a aidé. La documentation officielle non plus.

Quelques pistes pour éclairer ma lanterne ?

 

Merci d'avance ;)

Edited by Antoniolav (see edit history)
Link to comment
Share on other sites

Si le TPL est dans le répertoire du module:

Type de traduction = "Traductions des modules installés" + Sélectionnez votre thème = "Coeur (indépendant du thème)"

Cordialement

 

PS: C'est toujours le même module? ;-)

[EDIT] Pardon, c'était une histoire dans les pages de commandes...

Edited by erouvier29 (see edit history)
Link to comment
Share on other sites

Bonjour,

 

en effet le problème de hier est réglé comme indiqué sur le topic qui lui est dédié. Encore merci à toi :)

Pour cet problème-ci, votre solution ne marche pas : j'ai exactement la même fenêtre que celle mise en copie dans mon premier message !

 

Voilà l'arborescence de mon module :

RACINE/MODULES/SLIDERHOME

... avec dedans :

RACINE/MODULES/SLIDERHOME/sliderhome.php

+

RACINE/THEMES/MONTHEME/MODULES/SLIDERHOME

... avec dedans :

RACINE/THEMES/MONTHEME/MODULES/SLIDERHOME/sliderhome.tpl

C'est donc dans ce dernier .TPL que j'ai mis {l s='Mon titre de slide 1' mod='sliderhome1'} et pour lequel j'essaie de renseigner les traductions via le Back-office. J'ai tout essayé.. en vain.

 

Merci d'avance ;)

Edited by Antoniolav (see edit history)
Link to comment
Share on other sites

OK, ton problème vient sans doute d'une incohérence dans les idetnifiants du module. Tu dois utiliser exactement le même nom pour le répertoire, le fichier PHP de la classe dérivée de Module, et les paramètres mod dans les TPL. Là tu sembles utiliser "sliderhome" vs "sliderhome1" (je suppose que les majuscules ne sont là que pour différencier répertoires et fichiers).

 

Si cela est bien respecté, les TPL "versés" dans le thème sont effectivement traduisibles dans le cadre du thème, et ceux restés dans le module dans le cadre du coeur.

Edited by erouvier29 (see edit history)
  • Like 1
Link to comment
Share on other sites

Bonjour,

 

je "ré-ouvre" ce topic car il subsiste un petit problème : quand j'ai une apostrohpe dans la chaine en question (exemple -> {l s='Voilà l\'an de grâce' mod='sliderhome'} ), j'ai beau l'échapper avec un slash devant, ça n'a pas l'air de marcher et ça me fait sauter la traduction suivante qui du coup ne s'affiche pas dans le back office.

 

Donc si j'ai dans mon .tpl 3 phrases à traduire dont la première contenant une apostrophe :

<h1>{l s='Voilà l\'an de grâce !' mod='sliderhome'}</h1>
<h3>{l s='une bonne nouvelle non ?' mod='sliderhome'}<h3>
<br>
<p>{l s='Nous vous proposons à cette occasion [...]' mod='sliderhome'}</p>

... La phrase "une bonne nouvelle non ?" saute et n’apparaît pas dans le BO, par contre la suivante apparait.

Une idée ?

 

Merci d'avance

Link to comment
Share on other sites

Bonjour,

 

Avec beaucoup de retard: j'ai essayé de reproduire ton problème, et finalement constaté (puis confirmé en lisant le code) que les traductions n'étaient pas robustes au retours à la ligne. Par contre je n'ai pas eu de problème avec les apostrophes.

 

A moins que ce ne soit déjà résolu, essaye peut-être en utilisant des doubles quotes pour encadrer la phrase et sans échapper les apostrophes.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...