Jak provést migraci z vícejazyčného Shopify do WordPressu

Měsíce jste budovali vícejazyčný obchod na Shopify. Popisy vašich produktů jsou přeloženy do francouzštiny, němčiny a španělštiny. Proces placení funguje ve třech jazycích. Poté se rozhodnete migrovat na WordPress a WooCommerce, abyste získali větší kontrolu, lepší marže nebo flexibilitu pluginů.
Data produktů se přenesou v pořádku. Obrázky se přenesou. Ale co vaše překlady? Ty zmizí.
To jsou skryté náklady na vícejazyčnou migraci do WordPressu, před kterými vás nikdo nevaruje. Shopify uzamkne vaše překlady do svého vlastního proprietárního systému a WordPress používá zcela odlišnou architekturu. Bez jasného plánu strávíte týdny obnovováním toho, co už jste měli. Tato příručka vám ten plán poskytne.
Proč se vícejazyčné migrace lámou (a Shopify to ještě zhoršuje)
Migrace platformy jsou dost bolestivé i u jednojazyčných obchodů. Přidejte více jazyků a složitost se znásobí. Hlavní příčinou je architektura: Shopify a WordPress se k překladům staví zásadně odlišně.
Model překladů Shopify je uzavřená zahrada
Shopify ukládá překlady jako metadata připojená ke zdrojům prostřednictvím rozhraní Translate and Adapt API. Každý produkt, kolekce a stránka má záznamy překladů spojené s interními ID zdrojů Shopify.
Když exportujete svůj obchod pomocí migračního nástroje, jako je Cart2Cart, LitExtension nebo export CSV, získáte obsah ve výchozím jazyce. A překlady? Ty žijí v samostatné vrstvě, kterou většina migračních nástrojů zcela ignoruje.
Co se skutečně exportuje (a co se ztratí)
Tady je to, co typický nástroj pro migraci ze Shopify do WordPressu přenese:
| Typ obsahu | Přenese se? | Přenese se překlad? |
|---|---|---|
| Názvy a popisy produktů | Ano | Ne |
| Názvy kolekcí/kategorií | Ano | Ne |
| Příspěvky na blogu | Ano | Ne |
| Stránky (O nás, Kontakt) | Ano | Ne |
| Řetězce šablony (tlačítka, popisky) | Ne | Ne |
| Řetězce pokladny/e-mailu | Ne | Ne |
| Navigační menu | Částečně | Ne |
Vzor je jasný. Obsah ve vašem výchozím jazyce se migruje. Vaše překlady ne. A i když je ručně extrahujete, nemůžete jen tak vložit překlady ze Shopify do WordPressu. Systémy mluví různými jazyky, doslova.
Mapování jazyků Shopify na překladové soubory WordPressu
Než začnete znovu budovat, musíte pochopit, jak WordPress zpracovává vícejazyčný obsah. Zde většina migračních příruček selhává.
Pochopení systému Gettext
WordPress používá lokalizační systém Gettext. Místo ukládání překladů v databázové vrstvě čte ze statických binárních souborů (soubory .mo) kompilovaných z lidsky čitelných souborů .po.
Soubor .po vypadá takto:
msgid "Add to Cart"
msgstr "Ajouter au panier"
msgid "Search results for %s"
msgstr "Résultats de recherche pour %s"
Každá šablona a plugin WordPress je dodáván s šablonovým souborem .pot obsahujícím všechny přeložitelné řetězce. Vytvoříte soubor .po pro každý jazyk, vyplníte překlady, zkompilujete jej do .mo a vložíte do správného adresáře.
Do tohoto systému musí být mapovány vaše překlady ze Shopify.
Problém s neshodou jazykových kódů
Shopify používá jazykové značky IETF (en, fr, de). WordPress používá kódy národních prostředí s variantami regionů (fr_FR, de_DE, es_ES). Během migrace musíte mapovat každý jazyk Shopify na správné národní prostředí WordPressu. Pokud to uděláte špatně, WordPress nemůže najít vaše překladové soubory.
Běžné mapování, které lidi zaskočí:
- Shopify
ptse mapuje na WordPresspt_PT(Portugalsko) nebopt_BR(Brazílie) – nejsou zaměnitelné - Shopify
zh-CNse mapuje na WordPresszh_CN, ale Shopifyzh-TWse mapuje nazh_TW - Shopify
nb(norský bokmål) se mapuje na WordPressnb_NO
Pojmenujte své soubory .po a .mo kódem národního prostředí WordPressu: themename-fr_FR.po, woocommerce-de_DE.mo. Špatný kód znamená, že WordPress soubor tiše ignoruje.
Podrobný pracovní postup vícejazyčné migrace do WordPressu
Tady je konkrétní pracovní postup pro zachování vašich překladů během migrace ze Shopify do WordPressu.
Krok 1: Exportujte a zkontrolujte své překlady ze Shopify
Než se dotknete WordPressu, extrahujte vše ze Shopify. Použijte Shopify Admin API nebo nástroj jako Shopify Translate CSV Export pro stažení vašich překladů do strukturovaných souborů.
# Using Shopify CLI to export translations
shopify app translate export --locale fr
shopify app translate export --locale de
shopify app translate export --locale es
Zkontrolujte exporty. Spočítejte, kolik řetězců máte pro každý jazyk. Identifikujte, které jsou překlady obsahu produktu (zpracovávané vaším CMS nebo vícejazyčným pluginem na WordPressu) versus překlady řetězců šablony/UI (zpracovávané soubory .po).
Krok 2: Nastavte jazykovou strukturu WordPressu a WooCommerce
Na vaší čerstvé instalaci WordPressu nakonfigurujte svou jazykovou infrastrukturu před importem jakéhokoli obsahu.
- Přejděte na Nastavení > Obecné a nastavte jazyk svého webu.
- Nainstalujte jazykové balíčky pro každý cílový jazyk pomocí Nastavení > Obecné > Jazyk webu.
- Vytvořte strukturu překladových adresářů:
/wp-content/languages/
/wp-content/languages/plugins/
/wp-content/languages/themes/
Pro překlady obsahu produktu (názvy, popisy) budete potřebovat vícejazyčný plugin pro obsah, jako je WPML nebo Polylang. Ale pro řetězce UI šablony a pluginů – tlačítka, popisky, chybové zprávy a proces placení – chcete statické soubory .po/.mo. Toto je cloudový přístup, který se vyhýbá nafouknutí pluginu.
Krok 3: Převeďte své překlady do formátu PO
Překlady řetězců šablony Shopify je třeba převést do formátu Gettext .po. Zde se migrace stává technickou.
Pokud jsou vaše překlady ze Shopify ve formátu JSON nebo CSV, můžete je převést do .po pomocí skriptu nebo nástroje. Klíčem je mapování každého zdrojového řetězce na pár 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')
To vám dá výchozí bod, ale vaše nová šablona WordPress a instalace WooCommerce budou mít stovky řetězců, které ve Shopify neexistovaly. Nemůžete znovu použít překlad „Přidat do košíku“ ze Shopify pro WooCommerce, protože okolní kontext kódu je odlišný. Řetězec WooCommerce může být Add to cart (malé písmeno „c“) nebo obsahovat proměnnou %s pro název produktu.
Zde se většina lidí zasekne. Máte částečné překlady ze Shopify a obrovskou mezeru nepřeložených řetězců specifických pro WordPress.
Jak přeložit mezery bez opakování
Dobrá zpráva: nemusíte ručně překládat 5 000 řetězců WooCommerce. Špatná zpráva: nemůžete je ani přeskočit, jinak se ve vašem obchodě zobrazí nesourodá směs francouzských nadpisů a anglických chybových zpráv.
Řetězce šablon a pluginů stále vyžadují překlad
Vaše šablona WordPress má svůj vlastní soubor .pot. WooCommerce má svůj vlastní. Každý plugin, který nainstalujete – platební brány, kalkulačky dopravy, nástroje pro tvorbu formulářů – má přeložitelné řetězce. Ty ve vašem obchodě Shopify neexistovaly.
Nejrychlejší přístup je přeložit tyto velké soubory .po dávkově, spíše než řetězec po řetězci. Nahrajte soubor .pot své šablony, vyberte cílový jazyk a nechte AI, ať se postará o těžkou práci.
Dávkový překlad velkých souborů WooCommerce
Jazykový soubor WooCommerce je masivní. S tisíci řetězců pokrývajících vše od zpráv košíku po kódy daňových chyb je to největší překladatelský úkol v jakékoli migraci. SimplePoTranslate to zvládá prostřednictvím Smart Batching – rozdělení nadměrně velkých souborů na bezpečné části, jejich paralelní zpracování a sloučení výsledků zpět do jednoho čistého souboru.
Kritický detail: vaše přeložené soubory musí zachovat každou proměnnou kódu přesně tak, jak se objevuje ve zdroji. Zástupný symbol %s v e-mailové šabloně WooCommerce nesmí mít během překladu přidanou mezeru ani změněnou pozici. Zde uzamčení syntaxe zabraňuje tomu, aby se poškozené proměnné dostaly do vašeho produkčního obchodu.
S Multi-Format Output od SimplePoTranslate získáte soubory .po, .mo, .json, .php a .xliff v jediném ZIP souboru ke stažení. To je zvláště užitečné během migrace, protože různé části vašeho stacku WordPress mohou spotřebovávat překlady v různých formátech. Vaše šablona čte soubory .mo. Headless front end může potřebovat soubory .json. Vlastní integrace může očekávat soubory .xliff. Jeden překlad pokryje všechny.
Vyvarování se třem nejčastějším selháním překladu migrace
I se správným pracovním postupem existují úskalí specifická pro migrace platformy, která překvapí i zkušené vývojáře.
Poškozené proměnné v transakčních e-mailech
Transakční e-maily WooCommerce jsou hustě poseté zástupnými symboly: {order_number}, {customer_name}, %1$s, %2$s. Pokud váš proces překladu poškodí byť jen jeden z nich, zákazníci obdrží e-maily jako „Dobrý den, {customer_name}“ doslova, nebo ještě hůře, e-maily s prohozenými daty.
Vždy ověřte své přeložené soubory proti zdrojovému souboru .pot před nasazením. Nástroje jako Poedit označí neshody zástupných symbolů a cloudové překladače se zámkem syntaxe zcela eliminují tuto třídu chyb.
Chybějící pravidla pluralizace
Shopify zpracovává plurály jednoduše. WordPress Gettext podporuje složité tvary plurálu, které se liší podle jazyka. Ruština má tři tvary plurálu. Arabština má šest. Pokud váš přeložený soubor .po neobsahuje správnou hlavičku Plural-Forms a odpovídající položky msgstr[0], msgstr[1], msgstr[2], WordPress se vrátí k nepřeloženému řetězci.
# 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 товаров"
Tohle je něco, co po vás Shopify nikdy nepožadoval. Na WordPressu na tom záleží.
Osamocené řetězce po výměně pluginů
Když migrujete ze Shopify, neměníte jen platformu. Nahrazujete celý ekosystém pluginů. Vaše platební brána Shopify se stane WooCommerce Payments nebo Stripe pro WooCommerce. Váš systém recenzí se stane pluginem WordPress. Každá výměna zavádí nové přeložitelné řetězce a činí staré překlady zastaralými.
Vytvořte si kontrolní seznam každého pluginu, který nainstalujete po migraci, a ověřte, že každý z nich má odpovídající přeložený soubor .mo v /wp-content/languages/plugins/. Chybějící byť jen jeden plugin znamená, že vaši zákazníci uvidí anglické řetězce uprostřed jinak přeloženého rozhraní.
Spusťte svůj vícejazyčný obchod na WordPressu
Vícejazyčná migrace do WordPressu není jen přenos dat. Je to re-architektura toho, jak váš obchod komunikuje s mezinárodními zákazníky. Obchody, které to dělají správně, zaznamenávají vyšší konverzní poměry na neanglických trzích, protože zážitek působí nativně, a ne jen poskládaně.
Pracovní postup je přímočarý: exportujte své překlady ze Shopify, mapujte je na kódy národního prostředí WordPressu, převeďte do formátu .po, vyplňte mezery dávkovým překladem pomocí AI, ověřte své proměnné a nasaďte statické soubory .mo. Žádné nafukování databáze. Žádná režie překladu za běhu. Jen rychlý, spolehlivý vícejazyčný obchod.
Pokud čelíte migraci s tisíci nepřeložených řetězců WooCommerce, přístup SimplePoTranslate k lokalizaci velkých souborů vám může ušetřit týdny ruční práce.
Jste připraveni přeložit svůj obchod WooCommerce po migraci? Vyzkoušejte SimplePoTranslate zdarma – není vyžadována žádná kreditní karta. Nahrajte svůj soubor .pot a získejte překlady připravené pro produkci během několika minut.