Traduction Prestashop : traduire votre boutique en français

22 février 2018 / Par Digi6
Fiche produit Prestashop

Dans l’article précédent, je vous ai expliqué que Prestashop dispose d’un outil de traduction intégré, simple et très pratique pour traduire le thème, les modules ou d’autres expressions en français. Néanmoins il est fréquent que certains termes n’apparaissent pas dans cet outil de traduction intégré à Prestashop (une minorité je vous rassure) et que ces derniers s’affichent donc toujours en langue étrangère sur le site internet. Dans ce cas il existe donc deux autres options pour venir à bout de ces termes récalcitrants : modifier manuellement les fichiers de traduction inclus dans le thème ou modifier manuellement les fichiers du thème ou du module concerné.

 

 

Modifier manuellement les fichiers de traduction inclus dans le thème Prestashop :

Si le thème Prestashop que vous utilisez a été conçu correctement, il inclut normalement des fichiers conçus pour personnaliser les traductions liées au thème et aux modules utilisés. Ce sont ces fichiers que l’on va modifier manuellement. Ils se trouvent dans le répertoire themes/nomdevotretheme/translations/fr-Fr et pour y accéder il faudra vous connecter au serveur de votre site internet, c’est à dire à votre hébergeur. Certains hébergeurs permettent d’y accéder directement à partir de l’espace administration (OVH le permet par exemple) mais le plus simple reste d’utiliser un logiciel ftp comme Filezilla, qui est gratuit et largement suffisant pour ce genre de manipulations. Je pars du principe que vous savez déjà comment aller sur votre serveur, si ça n’est pas le cas je vous invite à regarder un tutoriel afin de ne pas surcharger cette page.

Connectez vous à votre serveur ftp puis copiez les fichiers de traduction du répertoire  themes/nomdevotretheme/translations/fr-Fr. Ensuite avec un éditeur de texte (wordpard, notepad…) ouvrez chaque fichier puis recherchez le(s) terme(s) que vous souhaitez traduire en français. Plutôt que d’ouvrir chaque fichier au hasard essayez au préalable de voir si le nom d’un fichier correspond à la partie que vous souhaitez traduire. Par exemple le fichier ModulesBestsellersShop.fr-FR.xlf correspond aux à la partie meilleures ventes qui s’affiche sur votre site Prestashop. Le fichier ShopThemeCheckout.fr-FR.xlf correspond quant à lui au panier et à la commande.

Avant de le modifier pensez à faire une copie de façon à pouvoir tout remettre en ordre en cas de mauvaise manip. Chaque fichier contient un code XML regroupant diverses expressions ainsi que leur traduction. Ce qui nous intéresse ce sont les termes contenus dans les balises <source> et <target> (voir image ci-dessous). La balise <source> contient l’expression en langue étrangère et la balise <target> sa traduction. C’est celle-ci qu’il va falloir modifier. Tout ce qu’il vous reste à faire c’est donc de trouver les termes que vous souhaitez traduire, de mettre l’expression correspondante en français entre les balises <target> puis de recopier le fichier corrrespondant (on n’oublie pas de sauvegarder évidemment) sur le serveur avec Filezilla de la même façon qu’au début.

Avant de vérifier que la traduction a bien fonctionné sur le site, pensez à désactiver le cache dans le back office de Prestashop, puis allez sur le site et rechargez la page concernée par la traduction.

 

Exemple d’un fichier de traduction .xlf inclus au thème Prestashop

 

 

Traduire manuellement les fichiers du thème ou du module concerné :

Seulement parfois les expressions ne sont pas contenues dans les fichiers de traduction inclus dans le thème. Il reste dans ce cas une dernière option qui consiste à modifier directement le fichier .tpl de Prestashop. Attention, cette opération peut totalement perturber le fonctionnement de votre site Prestashop en cas de mauvaise manip et est donc réservée aux développeurs ou aux personnes avec de bonnes connaissances du code html, css voire php.

Il faut d’abord identifier le ficher à modifier, ce qui n’est pas toujours si évident. Si je souhaite modifier un terme en rapport avec le panier je vais par exemple ouvrir le fichier themes/nomdemontheme/templates/checkout/cart.tpl, ou si le terme à traduire se trouve sur la page produit ce sera alors le fichier themes/nomdemontheme/templates/catalog/product.tpl qui sera concerné. Une fois le bon fichier identifié, on va rechercher l’expression à traduire en français puis simplement la remplacer par la traduction voulue avant de recopier le fichier sur le serveur. L’expression à traduire doit être de la forme « {l s=’expression à traduire' ».

Prenons un exemple : imaginons qu’une fois que la commande a été effectuée la page de confirmation affiche le message « Your order is confirmed » en anglais. Vous avez pourtant déjà traduit cette expression dans l’outil de traduction intégré de Prestashop ainsi que dans les fichiers de traduction .xlf fournis avec le thème. Dans ce cas il faut ouvrir le fichier themes/nomdemontheme/templates/checkout/order-confirmation.tpl, rechercher l’expression « Your order is confirmed » et écrire directement à la place « Votre commande est confirmée » (ou ce qui vous semble le plus approprié). Pour que ca soit plus clair, sur la capture d’écran ci-dessous l’expression à traduire est surlignée.

Uploadez le fichier sur le serveur, désactivez le cache dans le back-office de Prestashop (ou forcez la compilation Smarty : onglet Performances) puis rechargez la page concernée. La traduction doit cette fois apparaître, si ça n’est pas le cas c’est que vous n’avez pas modifié le bon fichier. Gardez en tête que ce genre de modifications en dur directement dans le code de Prestashop n’est pas recommandé mais parfois il n’y a pas d’autre choix.

 

Traduction d’un fichier Prestashop .tpl

 

Voilà avec ces deux articles vous devez normalement être capable de traduire en français ou modifier chaque terme de votre boutique en ligne et qui pose problème.

 

Laisser un commentaire

*Champs obligatoires