Jump to content

Comment traduire certains éléments hard-codés dans le template ?


Recommended Posts

Bonjour à tous,

 

Je cherche à modifier l'apparence d'une boutique prestashop, j'ai pour cela dupliqué le thème par défaut pour y appliquer mes modifications.

 

Parmi les modifications que je souhaite apporter, j'ai voulu ajouter une barre de navigation supplémentaire dans la partie supérieure du thème. ( juste en dessous de la barre d'adresse).

 

J'ai donc bricolé le template et la feuille de style.

Tout fonctionne correctement mais j'ai du mal à comprendre comment traduire les éléments que j'ai ajouté.

 

Voici à quoi ressemble ma navigation : 

<ul id="nav-sup">
	<li><a href="#">Accueil</a></li>
	<li> | </li>
	<li><a href="{$link->getPageLink('contact', true)}" {if $page_name == 'contact'} class="active"{/if}>{l s='contact' mod='blockpermanentlinks'}</a></li>
	<li> | </li>
	<li><a href="{$link->getPageLink('sitemap')}" {if $page_name == 'sitemap'} class="active"{/if}>{l s='sitemap' mod='blockpermanentlinks'}</a></li>
	<li> | </li>
	<li><a href="#">Quatrième élément</a></li>
</ul>

Ce que je souhaite est que le premier et le quatrième éléments de cette navigation soit traduits lorsque le visiteur modifie la langue du site.

 

Merci beaucoup

 

Link to comment
Share on other sites

Bonjour,

 

 

Pour rendre un champ traduisible il faut le faire apparaitre avec smarty grâce à ce code:

{l s='LE TEXTE A TRADUIRE'}

Si c'est dans un module il faut rajouter mod='LE NOM DU MODULE'

{l s='LE TEXTE A TRADUIRE' mod='LE NOM DU MODULE'}

Il ne vous reste plus qu'à aller traduire ces nouveaux champs dans le BO de Prestashop.

Link to comment
Share on other sites

Bonjour Julien64,

 

Merci pour votre réponse.

 

J'ai un peu de mal à mettre en applications ce que vous m'avez indiqué.

 

La portion de code que j'essaye de traduire ne figure pas dans le BO de prestashop.

 

Les deux éléments au centre du menu (contact & sitemap) font sont en effet gérés par le module blockpermanentlinks mais les deux que j'ai ajouté ne le sont pas.

 

Le premier élément (Accueil) mène vers la racine du domaine (la boutique prestashop est dans le répertoire domaine.tld/sho) et l'autre mène vers une page html statique.

 

Pourriez vous me fournir un peu plus de détails sur la démarche à suivre pour les traduire ?

 

Merci beaucoup

Link to comment
Share on other sites

Par rapport à votre exemple, il faut remplacer "Accueil" par

{l s='Accueil' mod='blockpermanentlinks'}

et Quatrième élément par

{l s='Quatrième élément' mod='blockpermanentlinks'}

Ensuite vous trouverez dans les traductions de ce module ces deux nouveaux champs qui apparaissent et vous pourrez ainsi les traduire dans les autres langues.

 

Peu importe ce que vous rajoutez dans le fichier TPL, du moment que c'est formaté de la sorte Prestashop reconnait une chaine de caractères à traduire, qui est affectée au module blockpermanentlinks.

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...