Comme vous le savez certainement, avec le plugin WPML, il est possible de créer un site WordPress multilingue. Mais ce n’est pas tout, car ce plugin vous permettra également de créer un site ecommerce multilingue avec WooCommerce.
Pour les besoins d’un projet de notre agence WordPress, nous avons été amené à créer une boutique multilingue avec WooCommerce. Alors que l’utilisation de WPML est très standardisé, il en va différemment pour la création d’une boutique multilingue avec WooCommerce. En fait, je devrais plutôt dire qu’il en va différemment avec WooCommerce pour les sites dont la langue de base n’est pas l’anglais. Si vous lisez ce guide, il y a de forte chance que la langue de base de votre site soit le français.
Pour vous aider à paramétrer correctement WooCommerce et WPML, permettez moi de vous fournir la traduction de l’article Translating WooCommece sites when the default lanuage is not English. Comme toutes les traductions que nous fournissons sur ce site, nous y ajouterons nos propres commentaires le cas échéant.
Les plugins pour un WooCommerce Multilingue
La première chose à faire est d’installer les plugins qui vont bien. Pour cela, il vous faudra installer la suite de plugin livré par WPML, plus le plugin WooCommerce Multilingual. Ce dernier plugin est indispensable. Une fois installé, une nouvelle entrée dans votre back office sera présente au niveau de l’entrée WPML principale.
Traduire un site WooCommerce dont la langue par défaut n’est pas l’anglais
Comme nous vous le disons en introduction, lorsque la langue de base de votre installation WooCommerce, et a fortiori WPML, n’est pas l’anglais, il y a des considérations spéciales à prendre en compte. La raison principale est que certains textes de votre site seront traduits par la fonction Traduction de chaîne, et que d’autres seront traduits comme billets, produits ou taxonomies.
La traduction passant par la fonction Traduction de chaîne doit toujours se faire de l’anglais vers une autre langue, le français dans la cas présent, même si l’anglais n’est pas la langue par défaut de votre installation WPML. La traduction à partir de l’anglais doit même se faire si vous n’utilisez pas du tout l’anglais sur votre site. Pour la traduction de vos billets, produits et taxonomies, cela se fera de la langue principale, vers les autres langues de votre site. Dans ce billet, nous ne rentrerons pas dans les considérations techniques imposants ce cas de figure. Dites vous juste que c’est comme ça que ça fonctionne.
Pour résumer :
- Traduction de produits
- Vous traduisez naturellement, de la langue par défaut vers la langue à traduire
- La traduction se gère dans la partie WooCommerce Multilingue-> Produits
- Attributs globaux
- Traduction à partir de l’anglais, vers les autres langues de votre site
- Gestion de la traduction : WooCommerce Multilingue -> onglet attributes
- Traduction des catégories de produit, tags et tous les attributs de vos produits
- Traduction naturelle, de la langue par défaut, vers les autres langues de votre site
- La gestion de la traduction se passe aussi au niveau de : WooCommerce Multilingue -> onglet attributes
- Permaliens pour vos produits
- Traduction à partir de l’anglais, vers les autres langues de votre site (sauf l’anglais)
- La traduction se gère dans la partie WPML ->Traduction de chaîne
- Permaliens
- Traduction à partir de l’anglais, vers les autres langues de votre site (sauf l’anglais)
- La traduction se gère dans la partie WPML ->Traduction de chaîne
- Attributs de produit individuels
- Traduction naturelle, de la langue par défaut, vers les autres langues de votre site
- La gestion de la traduction se passe aussi au niveau de : WooCommerce Multilingue -> onglet Products -> individual product
Comme je vous le disais, cela diffère de l’utilisation classique que nous pouvons avoir de WPML.
Langue originale des chaînes : Anglais
La première des choses à faire est de vous assurer que l’anglais est bien la langue dans la partie Langue originale des chaînes.
Pour ce faire, allez dans WPML -> Traduction de chaînes, et descendez tout en bas de la page. Par défaut, il semblerait que l’anglais soit bien la langue indiquée.
Nous verrons que par défaut, l’anglais est la langue utilisée dans la plupart des thèmes et des extensions faites pour WooCommerce. Et je dirais même pour WordPress en général.
Vos chaînes de caractères doivent être en anglais
Le truc, c’est maintenant de s’assurer que toutes les chaînes de caractères que vous aurez à traduire soient bien en anglais, et non que certaines soient en français. En effet, si vous avez fait développer sur-mesure votre thème ou personnaliser votre WooCommerce, il n’est pas impossible que votre agence y ait inclus des chaînes de caractère en français.
Pour vous en assurer, allez dans WPML -> Traduction de chaîne et vérifiez que les chaînes de caractère qui vous sont proposez à la traduction soient toutes en anglais. Cela est la seule manière que toutes les chaînes de caractère soient bien traduites. On se répète, même si votre site ne gère pas du tout l’anglais, cela est une obligation. Dernière chose, assurez-vous que toutes les chaînes de caractère présentent dans votre installation soient faites pour être traduites par WPML. Si ce n’est pas le cas, la traduction de chaîne ne vous les proposera pas…
Si vous laissez traîner des chaînes de caractère en version originale en français, alors vous aurez un problème lors de l’affichage de ces dernières dans la version anglaise de votre site puisque…. elles apparaîtrons en français. Si la partie Traduction de chaîne vous laisse voir que certaines de vos chaînes de caractère sont en français, il va falloir aller dans votre code et les écrire en anglais. Une fois que cela sera modifié dans votre code, vous pourrez revenir sur la partie Traduction de chaîne, et les traduire en français.
Comme toujours avec la partie Traduction de chaîne dans WPML, une fois la traduction faite, n’oubliez pas de cliquer sur Traduction terminée et Appliquer. Si vous ne le faites pas, alors la traduction ne sera pas utilisée. Considérez que cette fonctionnalité vous offre la possibilité d’insérer des traductions en mode brouillon.
Les chaînes encodées en dur
Je vous le disais plus haut, il se peut que certaines chaînes de caractères que vous verrez en français soient des chaînes encodées en dur dans votre code. Pour savoir si votre chaîne écrite en français vient de la partie widget ou de votre code, utilisez la fonction Sélectionnez des chaînes dans le contexte.
Permalien de vos produits
Il faut toujours utiliser la base de vos permaliens pour vos produits en anglais. La possibilité de le traduire vous sera offerte dans la partie Traduction de chaîne de WPML.
Si vous laissez vos options de permaliens vides, alors les valeurs par défaut de WooCommerce seront utilisées, et les traductions utilisées.
Pour s’assurer que cela soit fonctionnel, il suffit de visiter une page produit ou catégorie produits sur le front office de votre site et de s’assurer que les permaliens soient traduits.
Comment traduire les produits et catégories produits
Si vous avez l’habitude d’utiliser WPML, alors cette partie est des plus classique. Créez votre produit, et traduisez le dans la langue que vous souhaitez. Peu importe que cela comprenne l’anglais ou non.
Traduire les attributs produits
La traduction des attributs produits passent par la fonction Traduction de chaîne de WMPL. Donc si vous avez bien suivi, vous allez devoir les créer en anglais, même si vous n’utilisez pas l’anglais sur votre site. Seulement après, il vous sera possible de les traduire dans la partie Traduction de chaîne.
Conclusion
La traduction de votre installation WooCommerce est entièrement supportée par WPML, mais faut-il encore bien jongler entre les parties gérées par la fonction de traduction de chaînes et celles qui se traduisent plus naturellement.
Bonjour
je suis contente de voir que d’autres que moi sont partisans de WooCommerce et WPML
Par contre, je désagréé 😀 avec toi sur la partie traduction de chaines. J’ai fait un article complet, parce que c’est une des choses les plus subtiles dans WPML, http://www.lumieredelune.com/encrelune/wpml-string-translation,2014,08 et je recommande de faire le contraire de ce qui est préconisé par WPML.
Pourquoi ? Parce que la traduction de chaine c’est d’abord et avant tout la traduction des options, des contenus de widgets, etc… et de façon secondaire (ce que j’appelle une solution de feignasse 😀 ) la traduction des chaines des thèmes et plugins, en remplacement du fichier .po / .mo
Or si on applique la méthode WPML, on se retrouve obligé de générer dans un site français (par exemple), des chaines en anglais, avant de les traduire (pour les widget, etc)
C’est purement et simplement aberrant, et souvent impossible à demander au client.
Par contre, en limitant la traduction de chaine à ce pour quoi elle est indispensable, et en laissant tout le reste (les chaines affichées via __(, _e( , _x( en clair ) être géré via les fichiers .po / .mo on n’a aucun problème, et un site plus ergonomique pour l’utilisateur final.
Salut,
En effet, c’est vraiment très chiant de se voir obligé de passer avant tout par l’anglais pour se voir en suite offrir la possibilité de passer en Français…
Ton article est intéressant.
Bien à toi