Hogyan építsünk többnyelvű Shopify-ról WordPress-re való migrációt

Hónapokat töltöttél egy többnyelvű Shopify áruház felépítésével. A termékleírásaid le vannak fordítva franciára, németre és spanyolra. A fizetési folyamatod három nyelven működik. Aztán úgy döntesz, hogy átmigrálsz a WordPress-re és a WooCommerce-re a nagyobb irányítás, a jobb haszonkulcs vagy a bővítmények rugalmassága érdekében.
A termékadatok rendben átkerülnek. A képek is megérkeznek. De a fordításaid? Eltűnnek.
Ez a többnyelvű WordPress migráció rejtett költsége, amire senki sem figyelmeztet. A Shopify a fordításaidat a saját, védett rendszerébe zárja, a WordPress pedig teljesen más architektúrát használ. Egyértelmű terv nélkül heteket fogsz azzal tölteni, hogy újraépítsd azt, ami már megvolt. Ez az útmutató megadja neked ezt a tervet.
Miért romlanak el a többnyelvű migrációk (és a Shopify ezt rontja tovább)
A platformmigrációk önmagukban is fájdalmasak az egynyelvű áruházak esetében. Adj hozzá több nyelvet, és a komplexitás megsokszorozódik. A kiváltó ok építészeti: a Shopify és a WordPress alapvetően eltérő módon kezeli a fordításokat.
A Shopify fordítási modellje egy fallal körülvett kert
A Shopify a fordításokat metaadatokként tárolja, amelyeket az erőforrásokhoz csatol a Translate and Adapt API-n keresztül. Minden termékhez, gyűjteményhez és oldalhoz tartoznak fordítási bejegyzések, amelyek a Shopify belső erőforrás-azonosítóihoz vannak kötve.
Mikor exportálod az áruházadat egy migrációs eszközzel, mint a Cart2Cart, a LitExtension, vagy egy CSV export, akkor az alapértelmezett nyelvi tartalmat kapod meg. A fordítások? Egy külön rétegben élnek, amelyet a legtöbb migrációs eszköz teljesen figyelmen kívül hagy.
Mi exportálódik valójában (és mi veszik el)
Itt van, hogy mit visz át egy tipikus Shopify-ról WordPress-re migrációs eszköz:
| Tartalomtípus | Átkerül? | A fordítások átkerülnek? |
|---|---|---|
| Termékek címei és leírásai | Igen | Nem |
| Gyűjtemények/kategóriák nevei | Igen | Nem |
| Blogbejegyzések | Igen | Nem |
| Oldalak (Rólunk, Kapcsolat) | Igen | Nem |
| Téma szövegei (gombok, címkék) | Nem | Nem |
| Pénztár/e-mail szövegek | Nem | Nem |
| Navigációs menük | Részleges | Nem |
A minta egyértelmű. Az alapértelmezett nyelvi tartalom átkerül. A fordításaid nem. És még ha manuálisan ki is nyered őket, nem másolhatod be egyszerűen a Shopify fordításokat a WordPress-be. A rendszerek különböző nyelveket beszélnek, szó szerint.
A Shopify nyelvek leképezése a WordPress fordítási fájljaira
Mielőtt elkezdenéd az újjáépítést, meg kell értened, hogyan kezeli a WordPress a többnyelvű tartalmat. Itt szokott a legtöbb migrációs útmutató elbukni.
A Gettext rendszer megértése
A WordPress a Gettext lokalizációs rendszert használja. Ahelyett, hogy a fordításokat egy adatbázis rétegben tárolná, statikus bináris fájlokból (.mo fájlokból) olvassa be, amelyeket ember által olvasható .po fájlokból fordítanak.
Egy .po fájl így néz ki:
msgid "Add to Cart"
msgstr "Ajouter au panier"
msgid "Search results for %s"
msgstr "Résultats de recherche pour %s"
Minden WordPress téma és bővítmény egy .pot sablonfájllal érkezik, amely tartalmazza az összes lefordítható szöveget. Minden nyelvhez létrehozol egy .po fájlt, kitöltöd a fordításokat, lefordítod .mo-vá, és a megfelelő könyvtárba helyezed.
Ez az a rendszer, amibe a Shopify fordításaidnak bele kell illeszkedniük.
A nyelvi kód eltérésének problémája
A Shopify IETF nyelvi címkéket (en, fr, de) használ. A WordPress területi kódokat használ regionális változatokkal (fr_FR, de_DE, es_ES). A migráció során minden Shopify nyelvet le kell képezned a megfelelő WordPress területi beállításra. Ha ezt elrontod, a WordPress nem találja meg a fordítási fájljaidat.
Gyakori leképezések, amelyekbe az emberek belefutnak:
- A Shopify
pta WordPresspt_PT(Portugália) vagypt_BR(Brazília) megfelelője -- nem felcserélhetőek - A Shopify
zh-CNa WordPresszh_CNmegfelelője, de a Shopifyzh-TWazh_TWmegfelelője - A Shopify
nb(Norvég Bokmal) a WordPressnb_NOmegfelelője
Nevezd el a .po és .mo fájljaidat a WordPress területi kódjával: themename-fr_FR.po, woocommerce-de_DE.mo. Egy rossz kód azt jelenti, hogy a WordPress csendben figyelmen kívül hagyja a fájlt.
Egy lépésről lépésre haladó, többnyelvű WordPress migrációs munkafolyamat
Itt van a konkrét munkafolyamat a fordításaid megőrzéséhez egy Shopify-ról WordPress-re migráció során.
1. lépés: Exportáld és ellenőrizd a Shopify fordításaidat
Mielőtt hozzáérnél a WordPress-hez, nyerj ki mindent a Shopify-ból. Használd a Shopify Admin API-t, vagy egy olyan eszközt, mint a Shopify Translate CSV Export, hogy a fordításaidat strukturált fájlokba húzd.
# Using Shopify CLI to export translations
shopify app translate export --locale fr
shopify app translate export --locale de
shopify app translate export --locale es
Ellenőrizd az exportokat. Számold meg, hogy hány szöveged van nyelvenként. Azonosítsd, melyek a terméktartalom fordításai (a CMS-ed vagy a többnyelvű bővítményed kezeli a WordPress-en), illetve a téma/UI szövegfordításai (a .po fájlok kezelik).
2. lépés: Állítsd be a WordPress és a WooCommerce nyelvi struktúráját
Az új WordPress telepítéseden konfiguráld a nyelvi infrastruktúrádat, mielőtt bármilyen tartalmat importálnál.
- Menj a Beállítások > Általános menüpontra, és állítsd be az oldal nyelvét.
- Telepíts nyelvi csomagokat minden célnyelvhez a Beállítások > Általános > Webhely nyelve menüpontban
- Hozd létre a fordítási könyvtárstruktúrát:
/wp-content/languages/
/wp-content/languages/plugins/
/wp-content/languages/themes/
A terméktartalom fordításaihoz (címek, leírások) szükséged lesz egy többnyelvű tartalom bővítményre, mint a WPML vagy a Polylang. De a téma és a bővítmény felhasználói felületének szövegeihez -- a gombokhoz, címkékhez, hibaüzenetekhez és a fizetési folyamathoz -- statikus .po/.mo fájlokat szeretnél. Ez a felhőalapú megközelítés, amely elkerüli a bővítmények felduzzadását.
3. lépés: Konvertáld a fordításaidat PO formátumba
A Shopify téma szövegfordításait Gettext .po formátumba kell konvertálni. Itt válik a migráció technikussá.
Ha a Shopify fordításaid JSON vagy CSV formátumban vannak, konvertálhatod őket .po-vá egy szkript vagy egy eszköz segítségével. A lényeg az, hogy minden forrásszöveget egy msgid/msgstr párhoz rendelj hozzá:
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')
Ez egy kiindulópontot ad, de az új WordPress témád és a WooCommerce telepítésed több száz olyan szöveget fog tartalmazni, amelyek nem léteztek a Shopify-ban. Nem használhatsz újra egy Shopify "Kosárba tesz" fordítást a WooCommerce-hez, mert a körülötte lévő kódkörnyezet más. A WooCommerce szövege lehet Add to cart (kisbetűs "c"), vagy tartalmazhat egy %s változót a termék neve számára.
Itt szokott a legtöbb ember elakadni. Részleges fordításaid vannak a Shopify-ból, és egy hatalmas szakadék a lefordítatlan WordPress-specifikus szövegek terén.
Hogyan fordítsd le a hiányosságokat anélkül, hogy elölről kellene kezdened?
A jó hír: nem kell kézzel lefordítanod 5000 WooCommerce szöveget. A rossz hír: nem is hagyhatod ki őket, különben az áruházad a francia címsorok és az angol hibaüzenetek zavaró keverékét fogja mutatni.
A téma és a bővítmény szövegeit továbbra is le kell fordítani
A WordPress témádnak saját .pot fájlja van. A WooCommerce-nek is van sajátja. Minden általad telepített bővítménynek -- fizetési átjárók, szállítási kalkulátorok, űrlapkészítők -- mindegyiknek vannak lefordítható szövegei. Ezek nem léteztek a Shopify áruházadban.
A leggyorsabb megközelítés az, hogy ezeket a nagyméretű .po fájlokat kötegelt fordítással fordítod le, nem pedig szövegenként. Töltsd fel a témád .pot fájlját, válaszd ki a célnyelvet, és hagyd, hogy a mesterséges intelligencia elvégezze a nehéz munkát.
Nagyméretű WooCommerce fájlok kötegelt fordítása
A WooCommerce nyelvi fájlja hatalmas. Több ezer szöveggel, amelyek mindent lefednek a kosár üzenetektől az adóhibakódokig, ez a legnagyobb fordítási feladat bármely migrációban. A SimplePoTranslate ezt Intelligens kötegelés révén kezeli -- a túlméretezett fájlokat biztonságos darabokra bontja, párhuzamosan feldolgozza őket, és az eredményeket egyetlen, tiszta fájlba egyesíti vissza.
A kritikus részlet: a lefordított fájloknak pontosan meg kell őrizniük minden kódváltozót, ahogyan az a forrásban megjelenik. Egy %s helyőrző egy WooCommerce e-mail sablonban nem kaphat egy szóközt hozzáadva, vagy megváltoztatva a pozícióját a fordítás során. Itt a szintaxis zárolás megakadályozza, hogy a hibás változók elérjék az éles áruházadat.
A SimplePoTranslate Többformátumú kimenetével .po, .mo, .json, .php és .xliff fájlokat kapsz egyetlen ZIP letöltésben. Ez különösen hasznos a migráció során, mert a WordPress stack különböző részei különböző formátumokban fogyaszthatják a fordításokat. A témád .mo fájlokat olvas. Egy headless frontend-nek .json-re lehet szüksége. Egy egyéni integráció .xliff-et várhat. Egyetlen fordítási futtatás mindegyiket lefedi.
A három leggyakoribb migrációs fordítási hiba elkerülése
Még a megfelelő munkafolyamattal is vannak olyan buktatók, amelyek a platformmigrációkra jellemzőek, és amelyek váratlanul érhetik a tapasztalt fejlesztőket.
Hibás változók a tranzakciós e-mailekben
A WooCommerce tranzakciós e-mailek tele vannak helyőrzőkkel: {order_number}, {customer_name}, %1$s, %2$s. Ha a fordítási folyamatod akár csak egyet is elront ezek közül, az ügyfelek szó szerint "Hello {customer_name}" e-maileket kapnak, vagy ami még rosszabb, felcserélt adatokkal rendelkező e-maileket.
Mindig ellenőrizd a lefordított fájljaidat a forrás .pot fájlhoz képest a telepítés előtt. Az olyan eszközök, mint a Poedit megjelölik a helyőrző eltéréseket, és a felhőalapú fordítók a szintaxis zárolással teljesen kiküszöbölik ezt a hibacsoportot.
Hiányzó többes szám szabályok
A Shopify egyszerűen kezeli a többes számokat. A WordPress Gettext támogatja a komplex többes számú alakokat, amelyek nyelvenként változnak. Az orosz nyelvnek három többes számú alakja van. Az arabnak hat. Ha a lefordított .po fájlod nem tartalmazza a helyes Plural-Forms fejlécet és a hozzá tartozó msgstr[0], msgstr[1], msgstr[2] bejegyzéseket, a WordPress visszavált a lefordítatlan szövegre.
# 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 товаров"
Ez olyasmi, amire a Shopify soha nem kényszerített, hogy gondolkozz. A WordPress-en ez számít.
Árva szövegek a bővítmény cserék után
Mikor migrálsz a Shopify-ról, nem csak platformot váltasz. Egy egész bővítmény ökoszisztémát cserélsz le. A Shopify fizetési átjáród WooCommerce Payments vagy Stripe for WooCommerce lesz. A véleményező rendszered egy WordPress bővítmény lesz. Minden csere új lefordítható szövegeket vezet be, és a régi fordításokat elavulttá teszi.
Készíts egy ellenőrzőlistát minden bővítményről, amelyet a migráció után telepítesz, és ellenőrizd, hogy mindegyikhez tartozik-e egy megfelelő lefordított .mo fájl a /wp-content/languages/plugins/ könyvtárban. Már egyetlen hiányzó bővítmény is azt jelenti, hogy az ügyfeleid angol szövegeket látnak egy egyébként lefordított felület közepén.
Indítsd el a többnyelvű áruházadat a WordPress-en
Egy többnyelvű WordPress migráció nem csak egy adatáramlás. Ez annak a módnak az újratervezése, ahogyan az áruházad kommunikál a nemzetközi ügyfelekkel. Azok az áruházak, amelyek ezt helyesen csinálják, magasabb konverziós arányokat látnak a nem angol piacokon, mert az élmény natívnak érződik, nem pedig összetákoltnak.
A munkafolyamat egyszerű: exportáld a Shopify fordításaidat, képezd le őket a WordPress területi kódokra, konvertáld .po formátumba, töltsd ki a hiányosságokat kötegelt AI fordítással, ellenőrizd a változóidat, és telepíts statikus .mo fájlokat. Nincs adatbázis felduzzadás. Nincs futásidejű fordítási többletterhelés. Csak gyors, megbízható, többnyelvű kereskedelem.
Ha több ezer lefordítatlan WooCommerce szöveggel kell szembenézned egy migráció során, a SimplePoTranslate nagyméretű fájlok lokalizálására vonatkozó megközelítése hetekig tartó kézi munkát takaríthat meg.
Készen állsz a WooCommerce áruházad lefordítására a migráció után? Próbáld ki a SimplePoTranslate-et ingyen -- nincs szükség hitelkártyára. Töltsd fel a .pot fájlodat, és percek alatt kapj gyártásra kész fordításokat.