CaracteristiciPluginPrețuriResurse
Schimbă limba
ResurseCum să construiești o migrare multilingvă de la Shopify la WordPress

Cum să construiești o migrare multilingvă de la Shopify la WordPress

SimplePoTranslate Team5 martie 2026
Cum să construiești o migrare multilingvă de la Shopify la WordPress

Ai petrecut luni de zile construind un magazin Shopify multilingv. Descrierile produselor tale sunt traduse în franceză, germană și spaniolă. Fluxul tău de checkout funcționează în trei limbi. Apoi, te decizi să migrezi la WordPress și WooCommerce pentru mai mult control, marje mai bune sau flexibilitatea oferită de plugin-uri.

Datele despre produse se transferă bine. Imaginile sunt transferate. Dar traducerile tale? Dispar.

Acesta este costul ascuns al unei migrări multilingve WordPress despre care nimeni nu te avertizează. Shopify blochează traducerile tale în propriul său sistem proprietar, iar WordPress utilizează o arhitectură complet diferită. Fără un plan clar, vei petrece săptămâni reconstruind ceea ce aveai deja. Acest ghid îți oferă acel plan.

De ce se strică migrările multilingve (și Shopify agravează situația)

Migrările de platforme sunt suficient de dureroase și cu magazine monolingve. Adaugă mai multe limbi, iar complexitatea se multiplică. Cauza principală este arhitecturală: Shopify și WordPress gestionează traducerile în moduri fundamental diferite.

Modelul de traducere Shopify este o grădină închisă

Shopify stochează traducerile ca metadate atașate resurselor prin intermediul API-ului Translate and Adapt. Fiecare produs, colecție și pagină are intrări de traducere legate de ID-urile interne ale resurselor Shopify.

Când exporți magazinul folosind un instrument de migrare precum Cart2Cart, LitExtension sau o exportare CSV, obții conținutul în limba implicită. Traducerile? Ele trăiesc într-un strat separat pe care majoritatea instrumentelor de migrare îl ignoră complet.

Ce se exportă de fapt (și ce se pierde)

Iată ce transferă un instrument tipic de migrare Shopify-la-WordPress:

Tip de conținutSe transferă?Traducerile se transferă?
Titluri și descrieri de produseDaNu
Numele colecțiilor/categoriilorDaNu
Articole de blogDaNu
Pagini (Despre, Contact)DaNu
Șiruri de caractere ale temei (butoane, etichete)NuNu
Șiruri de caractere pentru checkout/e-mailNuNu
Meniuri de navigareParțialNu

Modelul este clar. Conținutul în limba ta implicită migrează. Traducerile tale nu. Și chiar dacă le extragi manual, nu poți doar să lipești traducerile Shopify în WordPress. Sistemele vorbesc limbi diferite, la propriu.

Maparea limbilor Shopify cu fișierele de traducere WordPress

Înainte de a începe reconstrucția, trebuie să înțelegi cum gestionează WordPress conținutul multilingv. Aici eșuează majoritatea ghidurilor de migrare.

Înțelegerea sistemului Gettext

WordPress utilizează sistemul de localizare Gettext. În loc să stocheze traducerile într-un strat de bază de date, acesta citește din fișiere binare statice (fișiere .mo) compilate din fișiere .po lizibile de oameni.

Un fișier .po arată astfel:

msgid "Add to Cart"
msgstr "Ajouter au panier"

msgid "Search results for %s"
msgstr "Résultats de recherche pour %s"

Fiecare temă și plugin WordPress vine cu un fișier șablon .pot care conține toate șirurile de caractere traductibile. Creezi un fișier .po pentru fiecare limbă, completezi traducerile, îl compilezi în .mo și îl pui în directorul corect.

Acesta este sistemul în care trebuie să se mapeze traducerile tale Shopify.

Problema nepotrivirii codurilor de limbă

Shopify utilizează etichete de limbă IETF (en, fr, de). WordPress utilizează coduri locale cu variante regionale (fr_FR, de_DE, es_ES). În timpul migrării, trebuie să mapezi fiecare limbă Shopify cu codul local WordPress corect. Dacă greșești, WordPress nu poate găsi fișierele tale de traducere.

Mapeări comune care îi încurcă pe oameni:

  • Shopify pt se mapează cu WordPress pt_PT (Portugalia) sau pt_BR (Brazilia) -- nu sunt interschimbabile
  • Shopify zh-CN se mapează cu WordPress zh_CN, dar Shopify zh-TW se mapează cu zh_TW
  • Shopify nb (norvegiană bokmal) se mapează cu WordPress nb_NO

Denumește fișierele .po și .mo cu codul local WordPress: numeletemei-fr_FR.po, woocommerce-de_DE.mo. Un cod greșit înseamnă că WordPress ignoră fișierul în tăcere.

Un flux de lucru pas cu pas pentru migrarea multilingvă WordPress

Iată fluxul de lucru concret pentru a-ți păstra traducerile în timpul unei migrații Shopify-la-WordPress.

Pasul 1: Exportă și auditează traducerile tale Shopify

Înainte de a atinge WordPress, extrage totul din Shopify. Utilizează API-ul Shopify Admin sau un instrument precum Shopify Translate CSV Export pentru a-ți trage traducerile în fișiere structurate.

# Using Shopify CLI to export translations
shopify app translate export --locale fr
shopify app translate export --locale de
shopify app translate export --locale es

Auditează exporturile. Numără câte șiruri de caractere ai per limbă. Identifică care sunt traducerile conținutului produsului (gestionate de CMS-ul sau plugin-ul tău multilingv de pe WordPress) față de traducerile șirurilor de caractere ale temei/UI (gestionate de fișiere .po).

Pasul 2: Configurează structura de limbă WordPress și WooCommerce

Pe instalarea ta proaspătă WordPress, configurează-ți infrastructura de limbă înainte de a importa orice conținut.

  1. Accesează Setări > General și setează limba site-ului tău
  2. Instalează pachete lingvistice pentru fiecare limbă țintă prin Setări > General > Limba site-ului
  3. Creează structura directorului de traducere:
/wp-content/languages/
/wp-content/languages/plugins/
/wp-content/languages/themes/

Pentru traducerile conținutului produsului (titluri, descrieri), vei avea nevoie de un plugin de conținut multilingv, cum ar fi WPML sau Polylang. Dar pentru șirurile de caractere UI ale temei și plugin-ului -- butoanele, etichetele, mesajele de eroare și fluxul de checkout -- vrei fișiere statice .po/.mo. Aceasta este abordarea bazată pe cloud care evită umflarea plugin-urilor.

Pasul 3: Convertește-ți traducerile în format PO

Traducerile șirurilor de caractere ale temei Shopify trebuie convertite în format Gettext .po. Aici devine tehnică migrarea.

Dacă traducerile tale Shopify sunt în format JSON sau CSV, le poți converti în .po utilizând un script sau un instrument. Cheia este maparea fiecărui șir sursă la o pereche 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')

Acest lucru îți oferă un punct de plecare, dar noua ta temă WordPress și instalarea WooCommerce vor avea sute de șiruri de caractere care nu existau în Shopify. Nu poți reutiliza o traducere Shopify "Adaugă în coș" pentru WooCommerce deoarece contextul de cod din jur este diferit. Șirul de caractere WooCommerce ar putea fi Add to cart (cu "c" minusculă) sau ar putea include o variabilă %s pentru numele produsului.

Aici se blochează majoritatea oamenilor. Ai traduceri parțiale de la Shopify și un gol masiv de șiruri de caractere specifice WordPress netraduse.

Cum să traduci golurile fără a o lua de la capăt

Vestea bună: nu trebuie să traduci manual 5.000 de șiruri de caractere WooCommerce. Vestea proastă: nici nu le poți omite, altfel magazinul tău va afișa un amestec discordant de titluri în franceză și mesaje de eroare în engleză.

Șirurile de caractere ale temei și plugin-ului tot trebuie traduse

Tema ta WordPress are propriul fișier .pot. WooCommerce are propriul său. Fiecare plugin pe care îl instalezi -- gateway-uri de plată, calculatoare de transport, creatori de formulare -- fiecare are șiruri de caractere traductibile. Acestea nu existau în magazinul tău Shopify.

Cea mai rapidă abordare este să traduceți aceste fișiere .po mari în loturi, mai degrabă decât șir cu șir. Încarcă fișierul .pot al temei tale, selectează limba țintă și lasă AI-ul să se ocupe de munca grea.

Traducerea în lot a fișierelor WooCommerce mari

Fișierul de limbă WooCommerce este masiv. Cu mii de șiruri de caractere care acoperă totul, de la mesajele coșului până la codurile de eroare fiscală, este cea mai mare sarcină de traducere unică din orice migrare. SimplePoTranslate gestionează acest lucru prin Smart Batching -- împărțirea fișierelor supradimensionate în bucăți sigure, procesarea lor în paralel și îmbinarea rezultatelor înapoi într-un singur fișier curat.

Detaliul critic: fișierele tale traduse trebuie să păstreze fiecare variabilă de cod exact așa cum apare în sursă. Un placeholder %s într-un șablon de e-mail WooCommerce nu poate avea un spațiu adăugat sau o poziție schimbată în timpul traducerii. Aici, blocarea sintaxei previne ca variabilele defecte să ajungă în magazinul tău de producție.

Cu Multi-Format Output de la SimplePoTranslate, obții fișiere .po, .mo, .json, .php și .xliff într-o singură descărcare ZIP. Acest lucru este util în special în timpul migrării, deoarece diferite părți ale stivei tale WordPress pot consuma traducerile în diferite formate. Tema ta citește fișiere .mo. Un front-end headless ar putea avea nevoie de .json. O integrare personalizată ar putea aștepta .xliff. O singură rulare de traducere le acoperă pe toate.

Evitarea celor trei cele mai frecvente eșecuri de traducere în timpul migrării

Chiar și cu fluxul de lucru corect, există capcane specifice migrărilor de platformă care iau dezvoltatorii experimentați prin surprindere.

Variabile defecte în e-mailurile tranzacționale

E-mailurile tranzacționale WooCommerce sunt dense cu placeholder-e: {order_number}, {customer_name}, %1$s, %2$s. Dacă procesul tău de traducere corupe chiar și unul dintre acestea, clienții primesc e-mailuri de genul "Bună ziua {customer_name}" la propriu sau, mai rău, e-mailuri cu date schimbate.

Validează întotdeauna fișierele tale traduse în raport cu sursa .pot înainte de implementare. Instrumente precum Poedit vor semnala nepotrivirile placeholder-elor, iar traducătorii bazați pe cloud cu blocare a sintaxei elimină complet această clasă de erori.

Reguli de pluralizare lipsă

Shopify gestionează pluralurile simplu. WordPress Gettext acceptă forme plurale complexe care variază în funcție de limbă. Rusa are trei forme plurale. Araba are șase. Dacă fișierul tău .po tradus nu include antetul corect Plural-Forms și intrările msgstr[0], msgstr[1], msgstr[2] corespunzătoare, WordPress revine la șirul de caractere netradus.

# 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 товаров"

Acesta este un lucru la care Shopify nu te-a obligat niciodată să te gândești. Pe WordPress, contează.

Șiruri de caractere orfane după schimbarea plugin-urilor

Când migrezi de la Shopify, nu doar schimbi platforme. Înlocuiești un întreg ecosistem de plugin-uri. Gateway-ul tău de plată Shopify devine WooCommerce Payments sau Stripe pentru WooCommerce. Sistemul tău de recenzii devine un plugin WordPress. Fiecare schimbare introduce noi șiruri de caractere traductibile și face ca traducerile vechi să devină obsolete.

Construiește o listă de verificare a fiecărui plugin pe care îl instalezi după migrare și verifică dacă fiecare are un fișier .mo tradus corespunzător în /wp-content/languages/plugins/. Lipsa chiar și a unui plugin înseamnă că clienții tăi văd șiruri de caractere în engleză în mijlocul unei interfețe traduse altfel.

Lansează-ți magazinul multilingv pe WordPress

O migrare multilingvă WordPress nu este doar un transfer de date. Este o re-arhitectură a modului în care magazinul tău comunică cu clienții internaționali. Magazinele care fac acest lucru corect văd rate de conversie mai mari pe piețele non-engleze, deoarece experiența se simte nativă, mai degrabă decât peticită.

Fluxul de lucru este simplu: exportă traducerile tale Shopify, mapează-le cu codurile locale WordPress, convertește-le în format .po, completează golurile cu traducere AI în loturi, validează-ți variabilele și implementează fișiere statice .mo. Fără umflare a bazei de date. Fără costuri suplimentare de traducere în timpul rulării. Doar comerț multilingv rapid și fiabil.

Dacă te confrunți cu o migrare cu mii de șiruri de caractere WooCommerce netraduse, abordarea SimplePoTranslate privind localizarea fișierelor mari te poate scuti de săptămâni de muncă manuală.

Ești gata să-ți traduci magazinul WooCommerce după migrare? Încearcă SimplePoTranslate gratuit -- nu este necesar card de credit. Încarcă fișierul tău .pot și obține traduceri gata de producție în câteva minute.