Comment Créer une Migration Multilingue de Shopify vers WordPress

Vous avez passé des mois à construire une boutique Shopify multilingue. Vos descriptions de produits sont traduites en français, en allemand et en espagnol. Votre flux de paiement fonctionne en trois langues. Puis, vous décidez de migrer vers WordPress et WooCommerce pour plus de contrôle, de meilleures marges ou une plus grande flexibilité des extensions.
Les données des produits se transfèrent correctement. Les images sont transférées. Mais vos traductions ? Elles disparaissent.
C'est le coût caché d'une migration WordPress multilingue dont personne ne vous avertit. Shopify enferme vos traductions dans son propre système propriétaire, et WordPress utilise une architecture entièrement différente. Sans un plan clair, vous passerez des semaines à reconstruire ce que vous aviez déjà. Ce guide vous donne ce plan.
Pourquoi les Migrations Multilingues Échouent (Et Pourquoi Shopify Aggrave la Situation)
Les migrations de plateforme sont déjà assez pénibles avec les boutiques monolingues. Ajoutez plusieurs langues et la complexité se multiplie. La cause profonde est architecturale : Shopify et WordPress gèrent les traductions de manière fondamentalement différente.
Le Modèle de Traduction de Shopify Est un Jardin Clos
Shopify stocke les traductions sous forme de métadonnées attachées aux ressources via l'API Translate and Adapt. Chaque produit, collection et page a des entrées de traduction liées aux identifiants de ressources internes de Shopify.
Lorsque vous exportez votre boutique à l'aide d'un outil de migration comme Cart2Cart, LitExtension ou une exportation CSV, vous obtenez le contenu de la langue par défaut. Les traductions ? Elles vivent dans une couche séparée que la plupart des outils de migration ignorent complètement.
Ce Qui Est Réellement Exporté (Et Ce Qui Est Perdu)
Voici ce qu'un outil typique de migration Shopify vers WordPress transfère :
| Type de contenu | Transféré ? | Les traductions sont-elles transférées ? |
|---|---|---|
| Titres et descriptions de produits | Oui | Non |
| Noms de collection/catégorie | Oui | Non |
| Articles de blog | Oui | Non |
| Pages (À propos, Contact) | Oui | Non |
| Chaînes de thème (boutons, étiquettes) | Non | Non |
| Chaînes de paiement/e-mail | Non | Non |
| Menus de navigation | Partiel | Non |
Le schéma est clair. Votre contenu dans la langue par défaut est migré. Vos traductions ne le sont pas. Et même si vous les extrayez manuellement, vous ne pouvez pas simplement coller les traductions Shopify dans WordPress. Les systèmes parlent des langues différentes, littéralement.
Mapper les Langues Shopify aux Fichiers de Traduction WordPress
Avant de commencer à reconstruire, vous devez comprendre comment WordPress gère le contenu multilingue. C'est là que la plupart des guides de migration échouent.
Comprendre le Système Gettext
WordPress utilise le système de localisation Gettext. Au lieu de stocker les traductions dans une couche de base de données, il lit à partir de fichiers binaires statiques (fichiers .mo) compilés à partir de fichiers .po lisibles par l'homme.
Un fichier .po ressemble à ceci :
msgid "Add to Cart"
msgstr "Ajouter au panier"
msgid "Search results for %s"
msgstr "Résultats de recherche pour %s"
Chaque thème et extension WordPress est livré avec un fichier de modèle .pot contenant toutes les chaînes traduisibles. Vous créez un fichier .po pour chaque langue, remplissez les traductions, compilez-le en .mo et déposez-le dans le bon répertoire.
C'est le système dans lequel vos traductions Shopify doivent être mappées.
Le Problème de Discordance des Codes de Langue
Shopify utilise les balises de langue IETF (en, fr, de). WordPress utilise les codes de paramètres régionaux avec des variantes régionales (fr_FR, de_DE, es_ES). Pendant la migration, vous devez mapper chaque langue Shopify au paramètre régional WordPress correct. Se tromper signifie que WordPress ne peut pas trouver vos fichiers de traduction.
Correspondances courantes qui piègent les gens :
- Shopify
ptcorrespond à WordPresspt_PT(Portugal) oupt_BR(Brésil) -- non interchangeables - Shopify
zh-CNcorrespond à WordPresszh_CN, mais Shopifyzh-TWcorrespond àzh_TW - Shopify
nb(Norvégien Bokmal) correspond à WordPressnb_NO
Nommez vos fichiers .po et .mo avec le code de paramètre régional WordPress : themename-fr_FR.po, woocommerce-de_DE.mo. Un code erroné signifie que WordPress ignore silencieusement le fichier.
Un Flux de Travail Étape par Étape pour une Migration WordPress Multilingue
Voici le flux de travail concret pour préserver vos traductions lors d'une migration Shopify vers WordPress.
Étape 1 : Exporter et Vérifier Vos Traductions Shopify
Avant de toucher à WordPress, extrayez tout de Shopify. Utilisez l'API Shopify Admin ou un outil comme Shopify Translate CSV Export pour extraire vos traductions dans des fichiers structurés.
# Using Shopify CLI to export translations
shopify app translate export --locale fr
shopify app translate export --locale de
shopify app translate export --locale es
Vérifiez les exportations. Comptez le nombre de chaînes que vous avez par langue. Identifiez celles qui sont des traductions de contenu de produit (gérées par votre CMS ou votre extension multilingue sur WordPress) par rapport aux traductions de chaînes de thème/UI (gérées par les fichiers .po).
Étape 2 : Configurer Votre Structure de Langue WordPress et WooCommerce
Sur votre nouvelle installation WordPress, configurez votre infrastructure de langue avant d'importer tout contenu.
- Allez dans Réglages > Général et définissez la langue de votre site
- Installez les packs de langue pour chaque langue cible via Réglages > Général > Langue du site
- Créez la structure de répertoire de traduction :
/wp-content/languages/
/wp-content/languages/plugins/
/wp-content/languages/themes/
Pour les traductions de contenu de produit (titres, descriptions), vous aurez besoin d'une extension de contenu multilingue comme WPML ou Polylang. Mais pour les chaînes d'interface utilisateur de thème et d'extension -- les boutons, les étiquettes, les messages d'erreur et le flux de paiement -- vous voulez des fichiers statiques .po/.mo. C'est l'approche basée sur le cloud qui évite le gonflement des extensions.
Étape 3 : Convertir Vos Traductions au Format PO
Vos traductions de chaînes de thème Shopify doivent être converties au format Gettext .po. C'est là que la migration devient technique.
Si vos traductions Shopify sont au format JSON ou CSV, vous pouvez les convertir en .po à l'aide d'un script ou d'un outil. La clé est de mapper chaque chaîne source à une paire msgid/msgstr :
import csv
with open('shopify_translations_fr.csv', 'r') as infile, \
open('theme-fr_FR.po', 'w') as outfile:
outfile.write('msgid ""\nmsgstr ""\n')
outfile.write('"Language: fr_FR\\n"\n\n')
reader = csv.DictReader(infile)
for row in reader:
outfile.write(f'msgid "{row["key"]}"\n')
outfile.write(f'msgstr "{row["translation"]}"\n\n')
Cela vous donne un point de départ, mais votre nouveau thème WordPress et votre installation WooCommerce auront des centaines de chaînes qui n'existaient pas dans Shopify. Vous ne pouvez pas réutiliser une traduction Shopify "Ajouter au panier" pour WooCommerce car le contexte de code environnant est différent. La chaîne WooCommerce peut être Ajouter au panier (le "a" en minuscule) ou inclure une variable %s pour le nom du produit.
C'est là que la plupart des gens sont bloqués. Vous avez des traductions partielles de Shopify et un énorme écart de chaînes spécifiques à WordPress non traduites.
Comment Traduire les Lacunes Sans Recommencer
La bonne nouvelle : vous n'avez pas besoin de traduire 5 000 chaînes WooCommerce à la main. La mauvaise nouvelle : vous ne pouvez pas non plus les ignorer, sinon votre boutique affichera un mélange discordant d'en-têtes français et de messages d'erreur anglais.
Les Chaînes de Thème et d'Extension Doivent Encore Être Traduites
Votre thème WordPress a son propre fichier .pot. WooCommerce a le sien. Chaque extension que vous installez -- passerelles de paiement, calculateurs d'expédition, créateurs de formulaires -- chacune a des chaînes traduisibles. Celles-ci n'existaient pas dans votre boutique Shopify.
L'approche la plus rapide consiste à traduire ces grands fichiers .po en lot plutôt que chaîne par chaîne. Téléchargez le fichier .pot de votre thème, sélectionnez la langue cible et laissez l'IA gérer le gros du travail.
Traduction en Lot de Grands Fichiers WooCommerce
Le fichier de langue de WooCommerce est massif. Avec des milliers de chaînes couvrant tout, des messages de panier aux codes d'erreur de taxe, c'est la tâche de traduction la plus importante de toute migration. SimplePoTranslate gère cela grâce au Smart Batching -- divisant les fichiers surdimensionnés en morceaux sûrs, les traitant en parallèle et fusionnant les résultats dans un seul fichier propre.
Le détail essentiel : vos fichiers traduits doivent préserver chaque variable de code exactement telle qu'elle apparaît dans la source. Un espace réservé %s dans un modèle d'e-mail WooCommerce ne peut pas avoir d'espace ajouté ou de position intervertie pendant la traduction. C'est là que le verrouillage de la syntaxe empêche les variables cassées d'atteindre votre boutique de production.
Avec la Multi-Format Output de SimplePoTranslate, vous obtenez des fichiers .po, .mo, .json, .php et .xliff dans un seul téléchargement ZIP. Ceci est particulièrement utile pendant la migration car différentes parties de votre pile WordPress peuvent consommer des traductions dans différents formats. Votre thème lit les fichiers .mo. Une interface frontale sans tête peut avoir besoin de .json. Une intégration personnalisée peut s'attendre à .xliff. Une seule exécution de traduction les couvre tous.
Éviter les Trois Échecs de Traduction de Migration les Plus Courants
Même avec le bon flux de travail, il existe des pièges spécifiques aux migrations de plateforme qui prennent les développeurs expérimentés au dépourvu.
Variables Cassées dans les E-mails Transactionnels
Les e-mails transactionnels WooCommerce sont denses en espaces réservés : {order_number}, {customer_name}, %1$s, %2$s. Si votre processus de traduction corrompt ne serait-ce qu'un seul de ces éléments, les clients reçoivent des e-mails comme "Bonjour {customer_name}" littéralement, ou pire, des e-mails avec des données interverties.
Validez toujours vos fichiers traduits par rapport au fichier .pot source avant de les déployer. Des outils comme Poedit signaleront les discordances d'espaces réservés, et les traducteurs basés sur le cloud avec verrouillage de la syntaxe éliminent entièrement cette classe d'erreur.
Règles de Pluralisation Manquantes
Shopify gère les pluriels simplement. WordPress Gettext prend en charge les formes plurielles complexes qui varient selon la langue. Le russe a trois formes plurielles. L'arabe en a six. Si votre fichier .po traduit n'inclut pas l'en-tête Plural-Forms correct et les entrées msgstr[0], msgstr[1], msgstr[2] correspondantes, WordPress revient à la chaîne non traduite.
# Correct Russian plural forms header
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : "
"n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
msgid "%s item"
msgid_plural "%s items"
msgstr[0] "%s товар"
msgstr[1] "%s товара"
msgstr[2] "%s товаров"
C'est quelque chose que Shopify ne vous a jamais demandé de penser. Sur WordPress, c'est important.
Chaînes Orphelines Après les Échanges d'Extensions
Lorsque vous migrez depuis Shopify, vous ne faites pas que changer de plateforme. Vous remplacez tout un écosystème d'extensions. Votre passerelle de paiement Shopify devient WooCommerce Payments ou Stripe pour WooCommerce. Votre système d'avis devient une extension WordPress. Chaque échange introduit de nouvelles chaînes traduisibles et rend les anciennes traductions obsolètes.
Construisez une liste de contrôle de chaque extension que vous installez après la migration et vérifiez que chacune a un fichier .mo traduit correspondant dans /wp-content/languages/plugins/. Même une seule extension manquante signifie que vos clients voient des chaînes anglaises au milieu d'une interface autrement traduite.
Lancez Votre Boutique Multilingue sur WordPress
Une migration WordPress multilingue n'est pas seulement un transfert de données. C'est une réarchitecture de la façon dont votre boutique communique avec les clients internationaux. Les boutiques qui réussissent cela voient des taux de conversion plus élevés sur les marchés non anglophones parce que l'expérience est perçue comme native plutôt que bricolée.
Le flux de travail est simple : exportez vos traductions Shopify, mappez-les aux codes de paramètres régionaux WordPress, convertissez-les au format .po, comblez les lacunes avec la traduction IA en lot, validez vos variables et déployez des fichiers .mo statiques. Pas de gonflement de la base de données. Pas de surcharge de traduction en temps d'exécution. Juste un commerce multilingue rapide et fiable.
Si vous faites face à une migration avec des milliers de chaînes WooCommerce non traduites, l'approche de SimplePoTranslate pour la localisation de fichiers volumineux peut vous faire économiser des semaines de travail manuel.
Prêt à traduire votre boutique WooCommerce après la migration ? Essayez SimplePoTranslate gratuitement -- aucune carte de crédit requise. Téléchargez votre fichier .pot et obtenez des traductions prêtes pour la production en quelques minutes.