ФункціїПлагінЦіниРесурси
Змінити мову
РесурсиЯк Здійснити Багатомовну Міграцію з Shopify на WordPress

Як Здійснити Багатомовну Міграцію з Shopify на WordPress

SimplePoTranslate Team5 березня 2026 р.
Як Здійснити Багатомовну Міграцію з Shopify на WordPress

Ви витратили місяці на створення багатомовного магазину Shopify. Описи ваших продуктів перекладено французькою, німецькою та іспанською мовами. Ваш процес оформлення замовлення працює трьома мовами. Потім ви вирішуєте перейти на WordPress і WooCommerce для більшого контролю, кращої маржі або гнучкості плагінів.

Дані про продукти переносяться добре. Зображення також переносяться. Але ваші переклади? Вони зникають.

Це прихована вартість багатомовної міграції WordPress, про яку ніхто не попереджає. Shopify блокує ваші переклади у власній пропрієтарній системі, а WordPress використовує зовсім іншу архітектуру. Без чіткого плану ви витратите тижні на відновлення того, що у вас вже було. Цей посібник дає вам цей план.

Чому Багатомовні Міграції Ламаються (І Shopify Робить Це Гірше)

Міграції платформ достатньо складні навіть з одномовними магазинами. Додайте кілька мов, і складність зростає в рази. Основна причина полягає в архітектурі: Shopify і WordPress обробляють переклади принципово різними способами.

Модель Перекладу Shopify – Це Закрита Система

Shopify зберігає переклади як метадані, прикріплені до ресурсів через API Translate and Adapt. Кожен продукт, колекція та сторінка мають записи перекладу, прив'язані до внутрішніх ідентифікаторів ресурсів Shopify.

Коли ви експортуєте свій магазин за допомогою інструменту міграції, такого як Cart2Cart, LitExtension або експорт CSV, ви отримуєте вміст мовою за замовчуванням. А переклади? Вони існують в окремому шарі, який більшість інструментів міграції повністю ігнорують.

Що Насправді Експортується (І Що Втрачається)

Ось що типовий інструмент міграції з Shopify на WordPress переносить:

Тип контентуПереноситься?Переносяться переклади?
Назви та описи продуктівТакНі
Назви колекцій/категорійТакНі
Дописи в блозіТакНі
Сторінки (Про нас, Контакти)ТакНі
Рядки теми (кнопки, мітки)НіНі
Рядки оформлення замовлення/електронної поштиНіНі
Меню навігаціїЧастковоНі

Закономірність очевидна. Вміст вашої мови за замовчуванням переноситься. Ваші переклади – ні. І навіть якщо ви витягнете їх вручну, ви не можете просто вставити переклади Shopify у WordPress. Системи говорять різними мовами, буквально.

Зіставлення Мов Shopify з Файлами Перекладу WordPress

Перш ніж почати відновлення, вам потрібно зрозуміти, як WordPress обробляє багатомовний контент. Саме тут більшість посібників з міграції не вистачає.

Розуміння Системи Gettext

WordPress використовує систему локалізації Gettext. Замість зберігання перекладів у шарі бази даних, він зчитує їх зі статичних двійкових файлів (файли .mo), скомпільованих із зрозумілих для людини файлів .po.

Файл .po виглядає так:

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

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

Кожна тема та плагін WordPress постачаються з файлом шаблону .pot, що містить усі рядки, які можна перекладати. Ви створюєте файл .po для кожної мови, заповнюєте переклади, компілюєте його в .mo і кладете у правильну директорію.

Це система, в яку потрібно зіставити ваші переклади Shopify.

Проблема Невідповідності Кодів Мов

Shopify використовує теги мов IETF (en, fr, de). WordPress використовує коди локалей з регіональними варіантами (fr_FR, de_DE, es_ES). Під час міграції вам потрібно зіставити кожну мову Shopify з правильною локаллю WordPress. Якщо зробити це неправильно, WordPress не зможе знайти ваші файли перекладу.

Типові зіставлення, які збивають людей з пантелику:

  • Shopify pt зіставляється з WordPress pt_PT (Португалія) або pt_BR (Бразилія) – не взаємозамінні
  • Shopify zh-CN зіставляється з WordPress zh_CN, але Shopify zh-TW зіставляється з zh_TW
  • Shopify nb (норвезька букмол) зіставляється з WordPress nb_NO

Назвіть свої файли .po та .mo кодом локалі WordPress: themename-fr_FR.po, woocommerce-de_DE.mo. Неправильний код означає, що WordPress ігнорує файл мовчки.

Покроковий Процес Багатомовної Міграції WordPress

Ось конкретний процес збереження ваших перекладів під час міграції з Shopify на WordPress.

Крок 1: Експортуйте та Перевірте Свої Переклади Shopify

Перш ніж торкатися WordPress, витягніть усе з Shopify. Використовуйте Shopify Admin API або інструмент, як-от Shopify Translate CSV Export, щоб перенести свої переклади в структуровані файли.

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

Перевірте експортовані дані. Підрахуйте, скільки рядків у вас є для кожної мови. Визначте, які з них є перекладами вмісту продуктів (обробляються вашою CMS або багатомовним плагіном у WordPress), а які є перекладами рядків теми/інтерфейсу (обробляються файлами .po).

Крок 2: Налаштуйте Мовну Структуру WordPress і WooCommerce

У вашій новій інсталяції WordPress налаштуйте свою мовну інфраструктуру, перш ніж імпортувати будь-який вміст.

  1. Перейдіть у Налаштування > Загальні та встановіть мову сайту.
  2. Установіть мовні пакети для кожної цільової мови через Налаштування > Загальні > Мова сайту.
  3. Створіть структуру каталогів перекладів:
/wp-content/languages/
/wp-content/languages/plugins/
/wp-content/languages/themes/

Для перекладів вмісту продуктів (назви, описи) вам знадобиться багатомовний плагін, як-от WPML або Polylang. Але для рядків інтерфейсу теми та плагінів – кнопок, міток, повідомлень про помилки та процесу оформлення замовлення – вам потрібні статичні файли .po/..mo. Це хмарний підхід, який дозволяє уникнути роздуття плагінів.

Крок 3: Перетворіть Свої Переклади у Формат PO

Переклади рядків вашої теми Shopify потрібно перетворити у формат Gettext .po. Ось де міграція стає технічною.

Якщо ваші переклади Shopify у форматі JSON або CSV, ви можете перетворити їх у .po за допомогою сценарію або інструменту. Головне – зіставити кожен вихідний рядок із парою 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')

Це дає вам відправну точку, але ваша нова тема WordPress та інсталяція WooCommerce матимуть сотні рядків, яких не було в Shopify. Ви не можете повторно використовувати переклад Shopify "Add to Cart" для WooCommerce, оскільки навколишній контекст коду інший. Рядок WooCommerce може бути Add to cart (нижній регістр "c") або містити змінну %s для назви продукту.

Саме тут більшість людей застряють. У вас є часткові переклади з Shopify і величезний пробіл неперекладених рядків, специфічних для WordPress.

Як Перекласти Прогалини, Не Починаючи Спочатку

Хороша новина: вам не потрібно перекладати 5000 рядків WooCommerce вручну. Погана новина: ви також не можете їх пропустити, інакше ваш магазин показуватиме дратуючу суміш французьких заголовків та англійських повідомлень про помилки.

Рядки Теми та Плагінів Все Ще Потребують Перекладу

Ваша тема WordPress має власний файл .pot. WooCommerce має свій. Кожен встановлений вами плагін – платіжні шлюзи, калькулятори доставки, конструктори форм – кожен має рядки, які можна перекладати. Цього не було у вашому магазині Shopify.

Найшвидший підхід – перекладати ці великі файли .po пакетно, а не рядок за рядком. Завантажте файл .pot вашої теми, виберіть цільову мову та дозвольте AI виконати важку роботу.

Пакетний Переклад Великих Файлів WooCommerce

Мовний файл WooCommerce є масивним. З тисячами рядків, що охоплюють все, від повідомлень кошика до кодів помилок податку, це найбільше завдання перекладу в будь-якій міграції. SimplePoTranslate обробляє це за допомогою Розумного Пакетування – розділення надвеликих файлів на безпечні частини, обробки їх паралельно та об’єднання результатів назад в один чистий файл.

Критична деталь: ваші перекладені файли повинні зберігати кожну кодову змінну точно так, як вона відображається у вихідному коді. У шаблоні електронної пошти WooCommerce до заповнювача %s не можна додавати пробіл або змінювати його положення під час перекладу. Ось де блокування синтаксису запобігає потраплянню пошкоджених змінних до вашого робочого магазину.

Завдяки Мультиформатному Виводу SimplePoTranslate ви отримуєте файли .po, .mo, .json, .php і .xliff в одному ZIP-архіві. Це особливо корисно під час міграції, оскільки різні частини вашого стека WordPress можуть використовувати переклади в різних форматах. Ваша тема читає файли .mo. Для інтерфейсу без голови може знадобитися .json. Спеціальна інтеграція може очікувати .xliff. Один запуск перекладу охоплює їх усі.

Уникнення Трьох Найпоширеніших Збоїв Перекладу Під Час Міграції

Навіть із правильним робочим процесом існують підводні камені, специфічні для міграцій платформ, які застають зненацька досвідчених розробників.

Пошкоджені Змінні в Транзакційних Електронних Листах

Транзакційні електронні листи WooCommerce містять багато заповнювачів: {order_number}, {customer_name}, %1$s, %2$s. Якщо ваш процес перекладу пошкодить хоча б один із них, клієнти отримають електронні листи, як-от "Hello {customer_name}" буквально, або, що ще гірше, електронні листи з переплутаними даними.

Завжди перевіряйте свої перекладені файли на відповідність вихідному файлу .pot перед розгортанням. Такі інструменти, як Poedit, позначать невідповідності заповнювачів, а хмарні перекладачі з блокуванням синтаксису повністю усувають цей клас помилок.

Відсутні Правила Плюралізації

Shopify просто обробляє множину. WordPress Gettext підтримує складні форми множини, які різняться залежно від мови. Російська має три форми множини. Арабська має шість. Якщо ваш перекладений файл .po не містить правильного заголовка Plural-Forms і відповідних записів msgstr[0], msgstr[1], msgstr[2], WordPress повертається до неперекладеного рядка.

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

Це те, про що Shopify ніколи не вимагав від вас думати. У WordPress це має значення.

Залишені Рядки Після Заміни Плагінів

Коли ви переходите з Shopify, ви не просто змінюєте платформи. Ви замінюєте цілу екосистему плагінів. Ваш платіжний шлюз Shopify стає WooCommerce Payments або Stripe for WooCommerce. Ваша система оглядів стає плагіном WordPress. Кожна заміна вводить нові рядки, які можна перекладати, і робить старі переклади застарілими.

Складіть контрольний список кожного плагіна, який ви встановлюєте після міграції, і переконайтеся, що кожен із них має відповідний перекладений файл .mo у /wp-content/languages/plugins/. Відсутність навіть одного плагіна означає, що ваші клієнти бачать англійські рядки посеред інакше перекладеного інтерфейсу.

Запустіть Свій Багатомовний Магазин на WordPress

Багатомовна міграція WordPress – це не просто передача даних. Це реархітектура того, як ваш магазин спілкується з міжнародними клієнтами. Магазини, які роблять це правильно, бачать вищі коефіцієнти конверсії на неанглійських ринках, оскільки досвід здається рідним, а не нашвидкуруч зібраним.

Робочий процес простий: експортуйте свої переклади Shopify, зіставте їх із кодами локалей WordPress, перетворіть у формат .po, заповніть прогалини за допомогою пакетного перекладу AI, перевірте свої змінні та розгорніть статичні файли .mo. Без роздування бази даних. Без накладних витрат на переклад під час виконання. Просто швидка, надійна, багатомовна комерція.

Якщо ви зіткнулися з міграцією з тисячами неперекладених рядків WooCommerce, підхід SimplePoTranslate до локалізації великих файлів може заощадити вам тижні ручної роботи.

Готові перекласти свій магазин WooCommerce після міграції? Спробуйте SimplePoTranslate безкоштовно – кредитна картка не потрібна. Завантажте свій файл .pot і отримайте готові до використання переклади за лічені хвилини.

Поділитися цією статтею