# WooCommerce multilingue : traduire catalogue, commandes et emails de bout en bout

> Traduire une boutique WooCommerce va bien au-delà des fiches produits. Guide complet pour couvrir catalogue, emails transactionnels et pages système.

- Auteur : Clément Hadrot
- Publié le : 2022-07-19
- Mis à jour le : 2022-07-19
- Catégorie : Multilingue
- URL : https://wpmoderne.dev.wordpress-developpement.fr/multilingue/woocommerce-multilingue-catalogue-tutoriel/

## L’essentiel

- Chaque variation de produit doit être traduite individuellement
- Les emails transactionnels suivent la langue de la commande, pas celle du site
- Les pages système WooCommerce ont leurs propres chaînes à traduire

Traduire une boutique WooCommerce ne se limite pas à dupliquer les fiches produits dans une deuxième langue. Le catalogue n'est qu'une des cinq zones de contenu à couvrir pour obtenir une expérience réellement cohérente : les variations de produits, les pages système générées par WooCommerce, les emails transactionnels, les chaînes de l'interface de paiement, et les avis clients. Ce tutoriel détaille chacune de ces zones avec WooCommerce Multilingual, le module officiel de WPML dédié à WooCommerce (également compatible avec une configuration Polylang pour les besoins de base).

Nous prenons pour exemple une boutique de vêtements vendant en France et au Royaume-Uni, avec des produits déclinés en tailles et en couleurs.

## Traduire les fiches produits et leurs variations

Une fiche produit WooCommerce se traduit comme n'importe quel type de contenu personnalisé : titre, description, description courte. Le point spécifique à WooCommerce concerne les **variations** — chaque combinaison taille/couleur d'un produit variable est elle-même un post de type `product_variation`, avec ses propres attributs et parfois sa propre description.

WooCommerce Multilingual synchronise automatiquement la structure des variations entre langues (le nombre de variations et leurs attributs restent identiques), mais les champs textuels propres à chaque variation — une description spécifique à une taille, par exemple — doivent être traduits séparément si le produit en contient. Le prix, en revanche, est généralement synchronisé par défaut entre les langues d'un même marché monétaire, sauf configuration multidevise associée (voir notre article dédié à ce sujet).

## Les attributs et leurs termes

Les attributs de produit (« Couleur », « Taille ») sont des taxonomies WooCommerce classiques (`pa_couleur`, `pa_taille`). Comme toute taxonomie personnalisée, ils doivent être déclarés traduisibles et chaque terme (« Rouge », « Bleu », « S », « M », « L ») doit recevoir sa traduction propre depuis **WPML → Traduction des taxonomies**. Un oubli fréquent : traduire le nom de l'attribut lui-même (« Couleur » devient bien « Colour ») sans traduire les termes qui le composent, ce qui laisse un sélecteur de couleur affichant des libellés français sur la version anglaise du site.

> L'essentiel à retenir : Chaque variation de produit doit être traduite individuellement ; Les emails transactionnels suivent la langue de la commande, pas celle du site ; Les pages système WooCommerce ont leurs propres chaînes à traduire

## Les pages système générées par WooCommerce

WooCommerce crée automatiquement quatre pages lors de son installation : Panier, Paiement, Mon compte, et la page de retour de commande. Ces pages contiennent en grande partie des chaînes générées dynamiquement par les fonctions du plugin, mais aussi du texte éditable ajouté par l'administrateur (un message de bienvenue sur la page Mon compte, par exemple).

Chacune de ces pages doit exister dans chaque langue et être correctement déclarée dans **WooCommerce → Réglages → Avancé → Pages** pour la langue concernée — WPML gère cette correspondance automatiquement une fois le plugin WooCommerce Multilingual activé, mais une vérification manuelle après toute réinstallation ou migration reste recommandée, ce réglage étant parfois réinitialisé involontairement.

## Les emails transactionnels : une langue différente du site

C'est le piège le plus fréquemment sous-estimé : les emails transactionnels (confirmation de commande, facture, notification d'expédition) doivent être envoyés dans la langue **de la commande**, pas dans la langue par défaut du site ni dans celle de l'administrateur qui traite la commande. Un client anglophone qui commande sur la version `/en/` du site doit recevoir sa confirmation de commande en anglais, même si l'administrateur qui valide l'expédition travaille depuis le tableau de bord en français.

WooCommerce Multilingual gère ce comportement nativement en stockant la langue de la commande au moment de son passage, puis en générant les emails dans cette langue enregistrée plutôt que dans la langue active de la session de l'utilisateur qui déclenche l'envoi (souvent un administrateur ou une tâche automatisée). Sans ce module, un développement personnalisé doit reproduire ce comportement via le hook `woocommerce_email_headers` combiné à un changement temporaire de locale :

```
<?php
add_action( 'woocommerce_before_order_object_save', function( $order ) {
    $langue = apply_filters( 'wpml_current_language', null );
    $order->update_meta_data( '_order_language', $langue );
}, 10, 1 );
```

## Les chaînes du tunnel de paiement

Le formulaire de paiement affiche de nombreuses chaînes générées par WooCommerce lui-même (« Ajouter une note de commande », « Méthode de paiement ») ainsi que par les extensions de passerelle de paiement installées (Stripe, PayPal). Ces chaînes suivent normalement les fichiers de traduction officiels de WooCommerce, disponibles dans la grande majorité des langues via les fichiers `.mo` distribués avec le plugin ou via GlotPress pour les langues moins courantes. Une passerelle de paiement tierce peu maintenue peut en revanche ne proposer aucune traduction française ou anglaise correcte : un test de commande complet dans chaque langue, jusqu'à l'écran de confirmation, reste indispensable avant mise en production.

## Les avis clients

Les avis clients WooCommerce (commentaires liés à un produit) ne sont, par nature, jamais traduits automatiquement : ce sont des textes rédigés librement par les clients eux-mêmes. La question à trancher en amont du projet est éditoriale, pas technique : faut-il afficher les avis de toutes les langues sur chaque version linguistique du produit (au risque d'un mélange de langues peu professionnel), ou filtrer les avis par langue (au prix d'un volume d'avis visiblement plus faible sur les langues récemment ajoutées) ? Aucune des deux réponses n'est universellement meilleure ; elle dépend du positionnement de la boutique.

## En résumé

Une boutique WooCommerce multilingue complète va bien au-delà de la traduction du catalogue : variations et attributs, pages système, emails transactionnels liés à la langue de la commande, chaînes du tunnel de paiement et politique éditoriale sur les avis clients forment ensemble le périmètre réel du travail. Négliger l'une de ces cinq zones se traduit presque toujours par un incident client, souvent au pire moment : au moment de payer ou de recevoir sa confirmation de commande.
