Traduire toute une boutique PrestaShop : catalogue, modules, thème, e-mails et URL
Une boutique à moitié traduite vend moins qu'une boutique dans une seule langue. Nous passons en revue les couches de texte de PrestaShop, l'ordre de travail, les URL et le hreflang, et comment retrouver la phrase qui résiste.
Vous activez le français dans International > Localisation, PrestaShop installe le pack de langue et le petit drapeau apparaît dans l'en-tête. Vous cliquez dessus et vous voyez une boutique avec les boutons en français et tout le reste en espagnol : produits, catégories, pages, le titre affiché dans Google, l'e-mail de confirmation de commande.
C'est normal. Ajouter une langue crée les emplacements pour les traductions, y copie le texte de la langue par défaut et apporte la traduction du cœur. Tout ce que vous avez rédigé vous-même, et une bonne partie de ce qu'apportent les modules, reste non traduit.
Les couches de texte d'une boutique PrestaShop
Les textes d'une boutique se trouvent à différents endroits, et chacun se traduit d'une manière différente :
| Couche | Ce qu'elle comprend | Où la traduire |
|---|---|---|
| Contenu | Produits, catégories, caractéristiques, attributs, pages CMS, marques, états de commande, transporteurs, balises meta | Dans chaque fiche, langue par langue (tables _lang) |
| Cœur | Textes de PrestaShop lui-même en boutique et dans le back-office | Pack de langue officiel |
| Thème | Boutons, formulaires, pied de page, textes fixes du thème | International > Traductions, thème |
| Modules | Ce qu'affiche chaque module installé | International > Traductions, modules |
| E-mails | Modèles d'e-mails : commande, expédition, mot de passe | Traductions des e-mails, plus le texte des modèles |
Et il y a une complication de plus : une même phrase peut se trouver à plusieurs endroits à la fois —dans la base de données, dans le fichier XLIFF du module, dans un ancien fichier de traduction, écrite directement dans un template— et une seule est celle qui s'affiche. C'est pourquoi il arrive que vous « traduisiez » quelque chose, enregistriez, vidiez le cache et que rien ne change.
Dans quel ordre travailler
- Sauvegarde. Une traduction en masse écrit dans des milliers de lignes. Si le résultat ne convient pas et qu'il n'y a pas de sauvegarde, il faut tout refaire à la main.
- Catégories et balises meta. Elles sont peu nombreuses, s'affichent partout et vous permettent d'évaluer la qualité du traducteur utilisé.
- Produits. Nom, résumé, description, balise titre, meta description et URL simplifiée. Les caractéristiques et les attributs (taille, couleur, matière) aussi, qu'on oublie souvent.
- Thème et modules du parcours d'achat : panier, tunnel de commande, messages d'erreur, alertes de stock. Un bouton de paiement dans une autre langue suscite la méfiance là où il ne le faut surtout pas.
- E-mails transactionnels. Confirmation, expédition, retour. Le client les lit attentivement.
- Pages légales et CMS. Les conditions générales et la politique de confidentialité, relues par une personne, pas seulement par une machine.
- États de commande et transporteurs, qui apparaissent dans le compte client et dans les e-mails.
Traduction automatique, IA ou humain
Pour un catalogue de centaines ou de milliers de produits, tout traduire à la main n'est pas réaliste. On combine généralement :
- La traduction automatique (DeepL, Google, Microsoft) pour le gros du travail : rapide et bon marché.
- Les modèles d'IA lorsque le ton ou le contexte comptent, par exemple pour les descriptions commerciales.
- La relecture humaine pour ce qui se vend le plus, les pages légales et les textes du tunnel de commande.
%s, %d ou %shop_name%, et parfois des balises HTML. Un traducteur automatique peut les supprimer ou les traduire, et la phrase casse alors la page ou l'e-mail. Vérifiez toujours que les marqueurs de l'original sont toujours présents dans la traduction.URL, hreflang et SEO
Une boutique multilingue bien faite a une URL différente par langue (par exemple /es/, /fr/) et, dans chacune, l'URL simplifiée traduite du produit et de la catégorie. Si vous laissez le link_rewrite en espagnol dans la version française, cela fonctionne, mais vous gaspillez des mots-clés et cela fait étrange.
En outre :
- Chaque version doit déclarer ses alternatives avec hreflang, y compris elle-même, pour que Google serve la bonne à chaque utilisateur.
- Ne publiez pas une langue à moitié traduite : des pages dont le contenu est dans une autre langue sont perçues comme dupliquées ou de faible qualité.
- Traduisez la balise titre et la meta description, qui sont ce que l'on voit dans le moteur de recherche.
- L'attribut
altdes images est lui aussi un texte à traduire. - Si vous modifiez une URL déjà indexée en la traduisant, mettez en place une redirection 301.
Quand une phrase ne veut rien savoir
Cela arrive souvent : le bouton reste en anglais, alors qu'il est traduit dans International > Traductions. Les causes les plus courantes :
- Le thème surcharge le template du module et utilise un autre domaine de traduction.
- Une ancienne traduction dans un fichier du module à l'intérieur du thème l'emporte sur celle de la base de données.
- Le texte est écrit en dur dans un template
.tplou.twig, sans passer par le traducteur. - Le texte provient de la base de données (un état de commande, un transporteur) et non d'une traduction.
- Le cache n'a pas été vidé.
Chercher à l'aveugle écran par écran peut prendre un après-midi. Le plus efficace est de chercher la phrase dans toutes les couches à la fois et de voir laquelle l'emporte.
Les versions changent aussi la façon de traduire
PrestaShop est passé des anciens fichiers de traduction propres à chaque module au système de catalogues XLIFF, et dans les versions 8 et 9 les deux mondes coexistent selon la façon dont chaque module est conçu. Un module très ancien peut se traduire d'une façon et un module moderne d'une autre. Si vous prévoyez de migrer depuis 1.6 ou 1.7, gardez la traduction complète pour après la migration : tout traduire deux fois, c'est du travail perdu.
Checklist
- Sauvegarde avant toute traduction en masse.
- Essai sur un petit lot et contrôle de la qualité.
- Contenu, thème, modules et e-mails, les quatre.
- URL simplifiées traduites et hreflang correct.
- Marqueurs intacts dans les textes des modules.
- Pages légales relues par une personne.
- Commande de test complète dans chaque langue, avec ses e-mails.
- Lors de la création de nouveaux produits, les traduire également.
Comment le résoudre dans PrestaShop
RKR Traducción Total traduit toute la boutique depuis un seul écran du back-office : contenu (produits, catégories, caractéristiques, attributs, pages, balises meta, marques, états de commande, transporteurs, l'attribut alt des images), les textes des modules installés, ainsi que le thème et les modèles d'e-mails. Il affiche le pourcentage traduit de chaque élément dans chaque langue, traduit vers plusieurs langues à la fois et par cron, et vous laisse choisir parmi onze services (DeepL, Google, Microsoft, ChatGPT, Gemini et d'autres) avec votre clé et votre consommation ; il fonctionne sous PrestaShop 8 et 9. Pour la phrase qui résiste, le localisateur de traductions la recherche dans la base de données, les XLIFF, les anciens fichiers, les tables _lang, les e-mails et le code, vous indique laquelle l'emporte, vous permet de la corriger sur place et signale en rouge les traductions auxquelles il manque un marqueur.