Перехід магазину на українську мову

28 хв

Якщо ви шукаєте, як перевести сайт на українську мову, а каталог в Elbuz зараз заповнений російською як основною, саме перемикання робиться однією галочкою у вікні «Мова». Складніше те, що відбувається навколо: прайси постачальників почнуть писати в українські поля, фіди без вибраної мови змінять мову, на вітрині зміниться поведінка адрес. Ця стаття — порядок підготовки: що перевірити до перемикання, що станеться в момент перемикання, що зміниться після нього і як виправити, якщо вже перемкнули.

Вікно
«Мова»
Право доступу
доступ до вікна «Мова»; для підготовки — ще до «Переклади» (так у правах доступу називається вікно «Переклад іншими мовами»), «Прайс-листи» й «Вивантаження»
Підготувати
перекладені українською назви, описи, категорії й характеристики; час, коли в програмі ніхто не працює

Коротко: що зміниться

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

ЩоБуло (основна російська)Стане (основна українська)
Сітка базового каталогу: назва, описи, категоріяросійськоюукраїнською — після повної переіндексації; де української назви немає, колонка порожня
Нові товари з прайсу з мовою «---» і з загального прогону «Оновлення базового каталогу»тексти пишуться в російськутексти пишуться в українську, хоч би якою мовою був прайс
Парсер, 1С, YML без українських полів, маркетплейсипишуть у російськупишуть в українську
Шаблони вивантаження YML, Rozetka, Prom, Google, прайс-листи для клієнтів, у яких у полі «ID мови» не вибрано конкретну мову; Prom XLSросійськоюукраїнською; макрос {name_ua} стає порожнім
Шаблони вивантаження з явно вибраною мовоювибраною мовоюбез змін
Тунель на сайт без мультимовностіїде російськаїде українська — у ту мову сайту, з якою вона зіставиться
Вітрина Elbuz для відвідувача без вибору мовиросійськаукраїнська; адреси без префікса можуть перенаправлятися на /ua/…
Пакетний переклад, мова джерела у вікнімова, з якою зберегли автопереклад, а якщо не зберігали — російськамова, з якою зберегли автопереклад, а якщо не зберігали — українська
Нові документи, ІІ-консультантросійськоюукраїнською

Механіка самого вікна «Мова» — колонки, прапорці, відкат — описана в статті Мови. Тут — тільки те, що стосується переходу з російської на українську.

Перевірка готовності

Головна умова переходу — щоб українською було заповнено все, що зараз заповнено російською. Інакше після перемикання в сітці каталогу, у фідах і на сайті з'являться порожні місця.

Подивитися, скільки не перекладено, можна у вікні «Переклад іншими мовами» на вкладці «Статистика». Статистика завантажується, щойно ви відкриєте вкладку; оновити її можна іконкою з підказкою «Отримати статистику». У розділі «Заповненість перекладів» — блоки «Категорії», «Товари», «Виробники», «Атрибути», «Статті»: рядки в них — поля, колонки — мови. Червоним показано, скільки записів кожною мовою ще порожні порівняно з основною мовою. Поки основна російська, червоні числа в колонці української і є вашим обсягом роботи.

Вкладка «Статистика» вікна «Переклад іншими мовами»
1Отримати статистику
2Ще не перекладено
3Блок «Категорії»
  1. Кнопка «Отримати статистику» — оновлює таблиці заповненості.
  2. Червоне число в блоці «Товари» — скільки записів ще без перекладу порівняно з основною мовою.
  3. Блок «Категорії» — заповненість перекладів категорій по полях.

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

Окремо перевірте те, що статистика показує неповно:

  • Категорії, включно з верхніми й вимкненими. Категорія без української назви після перемикання стане в дереві безіменним вузлом. Якщо порожня назва у верхнього рівня, він випаде з повної назви категорії: шлях «Root / Каталог / Ноутбуки» перетвориться на «Ноутбуки» в усіх товарах цієї гілки. Ця повна назва йде в колонку «Категорія», у вивантаження й на сайт.
  • Значення характеристик. Для основної мови статистика рахує тільки оригінали значень, для решти мов — усі непорожні. Тому найнадійніша перевірка — кілька товарів із багатьма характеристиками, відкриті в картці на вкладці української.
  • Довідники. Одиниці виміру, одиниці ваги й довжини, статуси наявності: без українського запису колонки з назвою одиниці виміру, одиницею ваги й одиницею довжини в сітці стануть порожніми, а статус наявності лишиться російським. Колонка з кодом одиниці виміру від мови не залежить.
  • SEO-поля. Вкладка «Статистика заповненості» вікна «Генератор текстів» рахує тільки основну мову: на картках відсоток заповнення, кількість «Не заповнено» — у підказці над відсотком. До перемикання вона покаже прогалини російської, тому для української нею зручно скористатися вже після перемикання.

Колонки чи фільтра «перекладено» в сітці базового каталогу немає, і мову сітки там не вибрати: сітка завжди показує одну мову — основну.

Перед перемиканням

Порядок важливий: перекладати треба, поки основна ще російська. Значення характеристик перезв'язуються в момент перемикання тільки там, де українська пара вже існує.

Перед перемиканням основної мови

Кожен пункт розібрано нижче, у розділі про відповідний потік даних. Сам переклад — платна операція сервісу перекладу; як він тарифікується й де видно журнал, описано в статті Пакетний переклад. Повторний прогін не чіпає вже заповнених полів, тому перекладати можна частинами. Виняток — увімкнений перемикач «Примусове переведення всіх значень»: з ним прогін перекладає заново й переписує заповнені поля, разом із ручними правками, і кожен такий переклад оплачується.

Характеристики з кількома значеннями в одного товару (кілька кольорів, список сумісних моделей) при перемиканні перезв'язуються лише за парою «товар — характеристика». За кодом програми пари таких значень можуть з'єднатися не так, як були, і наступний переклад з української на російську може дописати в російську дублікати значень. На живих даних ми цього ще не відтворювали. Якщо такі характеристики у вас є, після перемикання відкрийте кілька товарів і подивіться вкладку російської мови.

Що відбувається в момент перемикання

У вікні «Мова» поставте прапорець «Основна мова» в рядку української. З'явиться діалог «Зміна основної мови», після «Продовжити» — напис «Виконується перенесення даних...». Порядок кроків, відкат і поведінка при обриві детально описані в розділі Зміна основної мови; коротко:

Вікно «Мова» зі списком мов і колонкою «Основна мова»
1Основна мова — російська
2Основна мова — український
3Префікс мови в SEO посиланнях
4Код мови на сайті
  1. Галочка «Основна мова» у рядку «Русский» — зараз основна мова російська.
  2. Ячейка «Основна мова» у рядку «Український» — сюди ставлять галочку для переходу.
  3. Колонка «Префікс мови в SEO посиланнях» — частина адреси сторінки для цієї мови.
  4. Колонка «Код мови на сайті» — код, за яким мову визначає вітрина.
  1. Прапорець основної знімається з усіх мов.
  2. Значення характеристик української стають оригіналами, російські — перекладами до них.
  3. Перераховуються повні назви категорій усіма активними мовами, і з усіх категорій знімається позначка «Вивантажено».
  4. Переіндексується базовий каталог.
  5. Українська отримує позначку основної, мовою магазину в налаштуваннях стає українська, скидається кеш.

Кроки 3 і 4 виконуються ще до того, як українська стала основною, тобто зі старою мовою. Тому одразу після перемикання сітка каталогу лишається російською. Далі вона переходить на українську по одному товару: коли товар зберігають у картці або його оновлює прайс чи імпорт. Поки так, у сітці частина назв російською, частина українською, і пошук у сітці за назвою поводиться так само. Щоб перевести всю сітку одразу, відкрийте вікно «Системні функції» і в розділі «Індексація записів» натисніть «Категорій базового каталогу», а потім «Товарів базового каталогу».

Між кроком 1 і кроком 5 жодна мова у вікні «Мова» не позначена основною, а налаштування магазину ще вказують на російську, тож усе, що програма робить у цей час, іде російською. Це весь час перерахунку категорій і переіндексації. Не зберігайте в цей час рядків у вікні «Мова»: побачивши, що основної немає, програма сама зробить основною російську, а по завершенні перемикання позначку отримає й українська — основних стане дві. Операція йде одним запитом без фонового завдання; дочекайтеся, поки діалог закриється. Саме перемикання жодних запитів до сервісу перекладу не робить і нічого не коштує.

Мова інтерфейсу змінюється не в усіх. У співробітника, в картці якого вказана мова, інтерфейс лишиться тією мовою. Разом з інтерфейсом цією мовою лишаться списки статей і назви кандидатів, які показує ІІ-зіставлення прайсу з каталогом; сам підбір і зіставлення від мови інтерфейсу не залежать. Мова інтерфейсу — особисте налаштування в картці користувача.

Що буде з постачальниками й імпортом

Правило для всіх вхідних потоків одне: що приходить без явно вказаної мови, після перемикання пишеться в українські поля, хоч би якою мовою був текст.

Прайси постачальників

У картці прайс-листа в секції «Товари», групі «Нові товари», є поле «Прив'язування товарів до мови». Значення «---» означає «основна мова». Після перемикання такий прайс пише назви, описи й значення характеристик нових товарів в українську. Прайси з українськими текстами лишайте на «---». Якщо прайс російськомовний, поставте в ньому «Русский» ще до перемикання: тоді новий товар отримає тексти тільки в російській, а українського запису в нього не буде зовсім. Його ще треба перекласти — і зробити це до того, як спрацює «Перевірка цілісності БД» (див. нижче).

Група «Нові товари» в картці прайсу з полем «Прив'язування товарів до мови»
1Прив'язування товарів до мови
  1. Поле «Прив'язування товарів до мови» — «---» означає основну мову.

Що ця настройка не покриває:

  • Загальний прогін «Оновлення базового каталогу». Мову прайсу враховує тільки оновлення каталогу з одного прайсу — кнопкою «Оновити мій каталог» у вибраному прайсі. Загальний прогін по всіх прайсах — з меню вікна прайс-листів, одразу після завантаження всіх прайсів або за розкладом — бере основну мову. У ньому назви й описи нових товарів, значення характеристик і, якщо ввімкнене, оновлення текстових полів наявних товарів пишуться в українську, навіть якщо в прайсі стоїть «Русский».
  • Категорії з прайсу завжди створюються з назвою постачальника в основній мові. Російські назви категорій постачальника після перемикання опиняться в українських полях.
  • Зіставлення за найменуванням порівнює назву з прайсу з назвою основною мовою. Для російськомовного постачальника такі збіги зникнуть, товар виглядатиме новим — і «Додати новинки до каталогу» може створити дублікат. Зв'язки, зроблені вручну або за збігом рядка прайсу, від перемикання не залежать. Пошук кандидатів в ІІ-зіставленні теж іде за назвами з сітки, тож для російських назв кандидатів стане менше.
  • Характеристики. Наявну характеристику прайс шукає за назвою мовою прайсу, а з «---» і в загальному прогоні — українською. Російська назва знайдеться ще тільки в характеристик, які колись створив сам прайс. Характеристики, заведені вручну чи імпортом, за російською назвою вже не знайдуться, і прайс створить дублікат — нову характеристику з російською назвою в українській мові. З «Русский» нові характеристики створюються з російською назвою в російській мові.

Як довести до кінця товари з прайсу на «Русский». Перекладіть їх із російської: у «Переклад іншими мовами» виберіть «Мова джерела» = «Русский» або залиште цю мову в розкладі автоперекладу. Переклад заповнює тільки порожні поля, тому порядок вирішальний: якщо раніше спрацювала «Перевірка цілісності БД», вона вже створила український запис із текстом постачальника, і звичайний переклад такий товар пропустить. Тоді в тому ж вікні ввімкніть «Примусове переведення всіх значень» і в «Перевірити на одному записі» вкажіть «ID товару» або «ID категорії». Примусовий переклад перепише всі українські тексти в межах вибору, разом із ручними правками, і оплачується як новий.

Імпорт у базовий каталог

Вибору мови в шаблонах імпорту немає. Що буде після перемикання:

ДжерелоКуди пише тексти
YML з полями name_ua / description_uaрозкладає явно по російській і українській, від основної мови не залежить
YML без українських полівв основну, тобто в українську; при оновленні перезаписує українські назви й описи текстом із файлу
CommerceML (1С)в основну; назви й описи наявних товарів перезаписуються на кожному прогоні
Prom.ua XLSбере українські колонки, а де вони порожні — російські; самі російські колонки в російську мову більше не імпортуються
Універсальний імпорт, Allegro, eBay, Amazon, Etsy, OLX, Shopify, WooCommerce та інші маркетплейсив основну
Rozetka APIзапитує контент мовою основної, тобто українською, і пише в основну — узгоджено
Хорошопявно в російську й українську, від основної не залежить
Імпорт із сайту через тунельза кодом мови сайту; нерозпізнане — в основну
REST APIу мову з параметра language_id, без нього — в основну

Якщо 1С, YML без українських полів чи маркетплейс віддають російський текст, після перемикання він на кожному прогоні перезаписуватиме українські назви. Окремої настройки «не оновлювати назви й описи» в шаблонах імпорту немає. Варіанти: позначити товари «Не оновлювати» в картці (імпорт YML, CommerceML і Prom.ua XLS цю позначку враховує) або домовитися з постачальником YML про поля name_ua. Статуси замовлень, оплат і доставки з маркетплейсів зіставляються за картою кодів, від мови вона не залежить. Але назву статусу в документ програма бере з довідника основною мовою, тож без українського запису статус проставиться з порожньою назвою — заповніть ці довідники українською.

«Перевірка цілісності БД» шукає товари без запису основною мовою й створює його з назвою й описами з прайсу, а якщо рядка прайсу немає — з назвою з сітки. Порожні назви основної мови вона теж заповнює назвою з прайсу. Запускається кнопкою в «Системних функціях», а також сама — після імпорту шаблоном у частині форматів і після чистки порожніх чи видалення невикористовуваних характеристик. Після перемикання це означає: товар із порожньою українською назвою або без українського запису (зокрема новий товар із прайсу на «Русский») отримає в українських полях російський текст постачальника, і пакетний переклад цей товар уже пропустить — поле заповнене. Заповніть порожні українські назви до перемикання, а нові товари з російськомовних прайсів перекладайте одразу (див. прайси).

Парсери, переклад, генератори

  • Парсер сайтів зберігає знайдені назви, описи й характеристики в основну мову. Поле «Записати в мову» у вікні парсера зберігається, але на запис не впливає: контент усе одно йде в основну. Автодозаповнення після обробки прайсу працює так само. Якщо сайт-донор російськомовний, після перемикання беріть його українську версію.
  • Пакетний переклад підставляє в «Мова джерела» мову, з якою зберегли автопереклад; якщо його ще не зберігали — основну, тобто після перемикання українську. Перекласти з російської можна й далі: у полі «Мова джерела» виберіть «Русский». Автопереклад — за розкладом і після оновлення каталогу — пам'ятає ту мову джерела, з якою його зберегли, і перекладатиме з неї, доки ви не відкриєте вікно, не виберете мову джерела й не збережете налаштування наново кнопкою «Зберегти для автоперекладу» або кнопкою розкладу. Яку мову там лишити, залежить від того, куди пишуть ваші постачальники (див. сценарій двомовного магазину).
  • «Генератор текстів» у вікні й при масовому запуску генерує тільки основною мовою і бере промпти з її рядка. Генерація одного поля з картки товару пише в мову відкритої вкладки. Після перемикання працюватимуть українські промпти: якщо автопромпт вимкнений, заповніть їх заздалегідь.
  • Генератор SEO URL складає адресу з назви основною мовою й транслітерує її. Із вимкненим «Оновлювати лише порожні» кнопка «Оновити URL-адресу в базовому каталозі» перепише всі адреси транслітом українських назв, а перенаправлень зі старих адрес програма сама не створить.

Що буде з вашим сайтом і вивантаженнями

Тунель на сайт OpenCart

Головне налаштування — прапорець «Мови» в блоці «Вибір даних для вивантаження» шаблону тунелю, тобто мультимовність. Якщо він увімкнений, на сайт їдуть усі мови з увімкненим «Вивантаження на сайт», кожна у свою мову сайту, і перемикання нічого не міняє місцями. Якщо вимкнений — їде тільки основна мова, а після перемикання це українська.

Блок «Вибір даних для вивантаження» з галочкою «Мови»
1Мови
  1. Галочка «Мови» — кожна мова вивантажується у свою мову сайту.

Мову Elbuz програма зіставляє з мовою сайту по черзі: за внутрішнім ідентифікатором, за полем «Код мови на сайті», за збігом коду (ua знайде uk-ua). Коли мультимовність вимкнена й пари не знайшлося, основна мова отримує мову сайту, вибрану в правилі мови у «Додаткові параметри» шаблону тунелю. Якщо такого правила немає, описи нових товарів і категорій на сайт не запишуться.

такнітакнітакніВивантаження тунелемпісля перемиканняПрапорець «Мови» вшаблоні увімкнено?Кожна мова їде у своюмову сайтутексти місцями неміняютьсяЇде тільки основна мова —українськаНа сайті є мова, щозіставляється зукраїнськоюза «Код мови на сайті»або кодом?Український текстпотрапляєв українську мову сайтуУ «Додаткові параметри»тунелю є правило мови?Український текстзаписується в мову сайтуз правилаякщо там російська — уросійськуНові товари й категоріїна сайті не з'являються
Небезпечна гілка — права нижня: мультимовність вимкнена, української на сайті немає, і український текст записується в ту мову сайту, яку вказує правило мови тунелю, — якщо там вибрано російську, то в російську

Що ще зміниться на сайті:

  • Категорії вивантажаться наново. Перемикання знімає з усіх категорій позначку «Вивантажено», тож навіть з увімкненим «Вивантажувати лише нові дані» наступний прогін надішле все дерево.
  • Товари повторно не вивантажуються: позначку «Вивантажено» в них перемикання не знімає. З увімкненою мультимовністю це нічого не змінює — тексти кожною мовою лежать окремо й від перемикання не змінилися. З вимкненою мультимовністю й увімкненим «Вивантажувати лише нові дані» українські тексти поїдуть на сайт тільки з новими й зміненими товарами, решта товарів лишиться на сайті з тим, що було. Щоб надіслати всі, запустіть вивантаження з вимкненим «Вивантажувати лише нові дані».
  • SEO-адреси на сайті не зміняться. На OpenCart тунель вписує адресу лише тим товарам і категоріям, у яких на сайті її ще немає. На ElbuzCart він переписує адреси на кожному прогоні, але бере їх з Elbuz, а там перемикання адрес не змінює.
  • OCFilter. Ідентифікатор значення фільтра рахується з тексту значення основною мовою. Після перемикання всі ідентифікатори перерахуються з українських значень, а з ними зміняться адреси сторінок фільтрів — посадкових, збережених у закладках, проіндексованих. З увімкненим «Вивантажувати лише нові дані» прив'язки значень перебудуються лише для змінених товарів.
  • Сітки розмірів їдуть тільки основною мовою, навіть з увімкненою мультимовністю. Сітка без українського опису після перемикання на сайт не поїде.
  • Основна мова самого сайту на звичайному OpenCart не змінюється. Виняток — сайт на ElbuzCart: після першого ж вивантаження його основною мовою стане українська.
  • WooCommerce мовних версій не має, а назва товару за замовчуванням оновлюється на кожному вивантаженні: у вікні «Налаштування вивантаження полів» шаблону тунелю в рядку назви стоїть «Оновлювати». Після перемикання назви наявних товарів перезапишуться українськими — одразу при вивантаженні всіх товарів, а з «Вивантажувати лише нові дані» — у міру того, як товари змінюються. Описи за замовчуванням не оновлюються й лишаться російськими. Щоб зберегти російські назви, зніміть «Оновлювати» в рядку назви до першого вивантаження після перемикання.

Фіди й прайс-листи

Що станеться з фідом, вирішує поле «ID мови» в його шаблоні. Воно є в шаблонах YML (сюди ж Rozetka, Prom XML, Hotline, Epicentr, Kasta), Google Merchant, прайс-листів для клієнтів, OpenAI-фіду й CommerceML2. Відкрийте кожен активний шаблон і подивіться, що в ньому вибрано:

  • «Мова каталогу за замовчуванням» (у YML і Google) або «...» (у прайс-листі й CommerceML2) — шаблон іде за основною мовою і після перемикання піде українською.
  • Конкретна мова, наприклад «Русский», — шаблон від перемикання не зміниться: тексти, макроси й правила відбору лишаться цією мовою. Якщо майданчик чекає українську, виберіть «Український».
  • Prom XLS і API-вивантаження такого поля не мають: усе, що в них не прив'язане до мови явно, береться основною мовою.

Головна пастка в шаблонах, що йдуть за основною мовою, — мовні макроси. {name_ua}, {description_full_ua}, {name_ru} заповнюються для всіх активних мов, крім мови шаблону; макрос мови шаблону вирізається порожнім. У шаблоні без вибраної мови мова шаблону — основна. Після перемикання в такому шаблоні <name>{name}</name><name_ua>{name_ua}</name_ua> перший тег стане українським, другий — порожнім, а {name_ru} почне заповнюватися. Те саме з характеристиками у вигляді {Атрибут: Назва_ua}. Перепишіть такі шаблони до перемикання: українська — {name}, російська — {name_ru}.

  • Правила відбору за значеннями характеристик порівнюють значення мовою шаблону, а в Prom XLS і API-вивантаженнях — основною мовою. У шаблоні без вибраної мови правило «Колір = Красный» після перемикання порівнюватиметься з українським значенням і мовчки змінить склад фіду. Впишіть значення в таких правилах українською.
  • Prom XLS: колонки груп Название_группы і Назва_групи_укр обидві стануть українськими, російських назв груп у файлі не лишиться. Название_позиции_укр у шаблоні за замовчуванням — це користувацьке поле товару, а не переклад.
  • Шаблон Epicentr за замовчуванням позначає назву й опис як українські. Якщо в шаблоні не вибрано мову, до перемикання туди йшов російський текст, після — український, тобто правильний.
  • Rozetka по API оновлює тільки ціну й залишок, назви не надсилає: картки на Rozetka від перемикання не зміняться, контент іде фідом.
  • Хорошоп та інші API-вивантаження: поле «name», зіставлене з полем без мови, після перемикання надсилатиме українську назву. Окремі поля для російської й української беруть свою мову незалежно від основної.

Вітрина й SEO

Цей розділ стосується вітрини Elbuz. Мову відвідувача вона визначає так: префікс мови в адресі переважає все; без префікса — збережений вибір, параметр в адресі, мова браузера — і лише потім основна мова. Перемикання змінює тільки останню ланку, і звідси наслідки.

  • Збережений вибір живе 30 днів. Хто вже заходив на сайт, бачитиме російську, доки не перемкне мову або не мине цей строк.
  • Українські браузери без російської в списку мов починають бачити українську. Код мови браузера uk вітрина з кодом ua не впізнає, тому такі відвідувачі завжди отримували основну мову — раніше російську, тепер українську. Вітрина перебирає весь список мов браузера, тож браузер, у якому після української стоїть російська, вона впізнає за російською й показує російську — і до перемикання, і після. Російський браузер так само впізнається на адресі без префікса й далі отримає російську.
  • Префікси мов не змінюються. Зазвичай у російської префікс порожній, в української — ua. Після перемикання пошуковий робот без збереженого вибору на старій адресі /товар отримає основну мову, у якої є префікс, і вітрина відповість перенаправленням 302 на /ua/товар. Російські сторінки для пошуковика перетворяться на тимчасові перенаправлення.
  • hreflang. На головній сторінці для основної мови й x-default вітрина вказує корінь сайту, а корінь при префіксі ua перенаправляє на /ua. На внутрішніх сторінках альтернатива для російської — адреса без префікса, яка після перемикання відповідає відвідувачу без збереженого вибору перенаправленням 302 на /ua/…. Розмітка й поведінка адрес розійдуться.
  • Карта сайту від основної мови не залежить: адреса без префікса плюс альтернативи для кожної мови з її префіксом.

Узгоджений варіант — змінити префікси разом з основною мовою: в української прибрати, російській поставити ru, у колонці «Префікс мови в SEO посиланнях» вікна «Мова». Інший варіант — лишити як є, свідомо погодившись на перенаправлення 302. Якщо в української прибрати префікс, старі адреси /ua/… за кодом вітрини віддаватимуть сторінку «не знайдено» (404): сегмент ua вона шукає серед адрес і не знаходить. Правила «Перенаправлення URL» вітрина перевіряє раніше, тому задайте їх для старих адрес до зміни префіксів. Постійних перенаправлень 301 зі старих адрес програма сама не створює; їх задають вручну в «Перенаправлення URL» вікна «Генератор SEO URL». Як влаштовані префікси й адреси, описано в статті SEO-адреси.

Документи, ІІ-консультант, пошук

  • Документи. Новий документ отримує мову основної — українську. Назва товару в рядку документа — знімок на момент додавання, тому старі документи не змінюються й друкуються як були. Щоб додати товар у документ, у нього має бути запис основною мовою: без українського запису програма відповість «Товар не знайдено», з порожньою українською назвою рядок додасться без назви. Друк бере варіант шаблону мовою документа, якщо він заповнений.
  • ІІ-консультант шукає й показує товари, категорії й каталог основною мовою. Товар без української назви для пошуку за назвою не існує.
  • Розумний пошук індексує всі активні мови, тож українські тексти в індексі були й до перемикання. Морфології української в індексі немає: різні відмінки одного українського слова пошук не зводить до спільної основи так, як робить це для російської й англійської.

Після перемикання: перевірка

  1. У «Системних функціях» → «Індексація записів» запустіть «Категорій базового каталогу» і «Товарів базового каталогу». Після цього колонка «Назва» в сітці каталогу українська у всіх товарах; порожні клітинки — товари без української назви.
  2. У дереві категорій немає безіменних вузлів, а колонка «Категорія» показує шлях, який ви очікували.
  3. У «Генераторі текстів» на вкладці «Статистика заповненості» відсотки тепер рахуються для української: недобір — це залишок роботи з SEO-полями.
  4. Відкрийте файл кожного активного фіду: кожен іде тією мовою, яку ви для нього задумали, а там, де ви поставили {name_ru}, — російською, без порожніх тегів.
  5. Після наступного вивантаження тунелем відкрийте сайт обома мовами, сторінку фільтра й товар із сіткою розмірів.
  6. Після наступної обробки прайсу відкрийте картку нового товару з російськомовного прайсу: російський текст — на вкладці російської, а на вкладці української — переклад, а не текст постачальника.
  7. Відкрийте стару адресу вітрини у вікні без збереженого вибору мови й подивіться, яку мову й яку адресу вона віддає.

Сценарії

Магазин буде тільки українською

Перекладіть каталог, перемкніть основну мову, запустіть повну переіндексацію. Російськомовним прайсам однаково поставте «Русский» у «Прив'язування товарів до мови»: так текст постачальника не потрапить в українські поля, а назви й описи нових товарів ви перекладете в «Переклад іншими мовами», вибравши «Мова джерела» = «Русский». Оновлюйте каталог із таких прайсів кнопкою «Оновити мій каталог» і перекладайте нові товари до того, як спрацює «Перевірка цілісності БД» (див. прайси). Значення характеристик нових товарів із таких прайсів перевіряйте окремо: після перемикання вони не мають української пари, і переклад із російської зв'яже їх у зворотний бік — російське значення буде оригіналом. Щоб російська зникла з вітрини, зніміть у неї «Відображати на сайті» (див. Мови).

Двомовний магазин

Російськомовні прайси — на «Русский», україномовні — на «---». Розклад автоперекладу лишіть із мовою джерела «Русский», якщо більшість нових текстів приходить російською: він і далі перекладатиме з російської в українську тільки порожні поля. Якщо нові тексти приходять переважно українською, збережіть розклад наново з джерелом «Український». На вітрині вирішіть питання префіксів. У шаблонах фідів без вибраної мови замініть {name_ua} на {name} і додайте {name_ru} туди, де майданчик чекає російську; фід, який має лишитися повністю російським, простіше перевести на «Русский» у полі «ID мови».

Сайт на OpenCart із тунелем

З увімкненим прапорцем «Мови» тексти на сайті місцями не міняються, а основна мова сайту лишається тією, що була. Перевірте три речі: сітки розмірів мають український опис, сторінки фільтрів OCFilter після першого вивантаження змінять адреси, дерево категорій вивантажиться повністю. З вимкненим прапорцем — переконайтеся, що на сайті є українська мова і її код збігається з «Код мови на сайті» в рядку української. Інакше український текст піде в мову сайту, вибрану в правилі мови тунелю, — якщо там російська, то в російську, а без правила описи нових товарів і категорій на сайт не запишуться. Сайт на ElbuzCart сам стане українським за замовчуванням після першого вивантаження.

Продажі тільки через фіди й маркетплейси

Відкрийте кожен шаблон і подивіться поле «ID мови». Шаблони без вибраної мови, а також Prom XLS після перемикання підуть українською без додаткових налаштувань; шаблони з вибраною мовою лишаться нею — якщо там «Русский», а майданчик чекає українську, виберіть «Український». У шаблонах, що йдуть за основною мовою, перевірте макроси _ua} і _ru} та правила відбору за значеннями характеристик, у Prom XLS — колонки груп. Ціни й залишки на Rozetka по API від перемикання не залежать.

Якщо вже перемкнули

Повернути, як було. Поставте «Основна мова» знову російській: перемикання назад робить ту саму роботу у зворотний бік, а порожні назви в сітці зникнуть після повної переіндексації. Окремої кнопки відкоту немає, повторне перемикання і є відкотом (ремонт у статті «Мови»). Якщо перемикання обірвалося посередині, робіть два кроки: спершу поставте основною російську, потім українську. Якщо одразу знову вибрати українську, програма не побачить старої основної мови й мовчки пропустить перезв'язування характеристик, перерахунок категорій і переіндексацію.

Лишитися на українській і доробити. Назви й описи можна перекласти й зараз: у «Переклад іншими мовами» виберіть «Мова джерела» = «Русский». Потім запустіть повну переіндексацію. Значення характеристик, заповнені тільки російською, залишилися поза структурою перекладів; простіше заповнити їх українською в картці товару, ніж перекладати.

Розбір частих проблем
Що ви бачитеЧому такЩо зробити
Порожня «Назва» в сітці базового каталогу У товару немає української назви Перекласти з «Мова джерела» = «Русский», потім «Товарів базового каталогу» (переіндексація)
У сітці частина назв російською, частина українською Переіндексація при перемиканні йшла ще старою мовою, далі товари переходять по одному Запустити «Категорій базового каталогу» і «Товарів базового каталогу» (момент перемикання)
«Товар не знайдено» при додаванні в документ У товару немає запису українською Заповнити назву українською в картці або перекласти (документи)
У колонці «Категорія» зникли верхні рівні шляху У верхніх категорій немає української назви Дати їм українські назви або погодитися на коротший шлях, потім «Категорій базового каталогу» (перевірка готовності)
Нові товари з прайсу мають російські назви на вкладці української У прайсі «Прив'язування товарів до мови» = «---»; або товари прийшли загальним прогоном «Оновлення базового каталогу»; або «Перевірка цілісності БД» вписала текст постачальника в товар без українського запису Поставити «Русский» і оновлювати каталог кнопкою «Оновити мій каталог»; уже створені товари виправити в картці, а якщо російський текст у них є й на вкладці російської — перекласти з «Примусове переведення всіх значень» за «ID товару» чи «ID категорії» (прайси)
Товари постачальника, які раніше зіставлялися, стали новими Зіставлення за найменуванням порівнює з українською назвою Не додавати новинки наосліп; зіставити вручну (прайси)
У фіді порожній тег із {name_ua} У шаблоні не вибрано мову, він іде за основною, а макрос мови шаблону вирізається Українська — {name}, російська — {name_ru}; або вибрати мову шаблону в полі «ID мови» (фіди)
У фіді змінилася кількість товарів Шаблон без вибраної мови, і правило відбору за значенням характеристики тепер порівнює з українським значенням Вписати значення в правилі українською (фіди)
На сайті в російській версії з'явився український текст Мультимовність тунелю вимкнена, української мови на сайті немає, а правило мови тунелю вказує на російську Увімкнути «Мови» в шаблоні тунелю або додати українську на сайті (тунель)
На сайті WooCommerce назви товарів стали українськими Назва товару оновлюється на кожному вивантаженні Зняти «Оновлювати» в рядку назви у «Налаштування вивантаження полів» шаблону тунелю (тунель)
Змінилися адреси сторінок фільтрів OCFilter Ідентифікатори значень рахуються з тексту основною мовою Перевірити посадкові сторінки фільтрів і посилання на них — у меню, рекламі, закладках (тунель)
Сітки розмірів зникли з сайту Вони вивантажуються тільки основною мовою Заповнити опис сітки українською (тунель)
Старі адреси вітрини перенаправляють на /ua/… В української лишився префікс, а вона тепер основна Змінити префікси або лишити свідомо (вітрина)
Автопереклад перекладає не з тієї мови Розклад пам'ятає мову джерела, з якою його зберегли Вибрати «Мова джерела» й натиснути «Зберегти для автоперекладу» (переклад)
У когось із колег інтерфейс лишився російським Мова інтерфейсу задана в картці співробітника Змінити мову в картці користувача
SEO-адреса виробника після правки в картці не зберігається Адреса записана під російською, а картка оновлює адресу тільки основною мовою Задавати адреси виробників до перемикання; після — звернутися в підтримку

Чого перемикання не робить

  • Не перекладає. Тексти, яких немає українською, так і лишаються порожніми; заповнює їх пакетний переклад або ви вручну.
  • Не переписує вже написаних текстів жодною мовою — ні товарів, ні категорій, ні статей.
  • Не переводить сітку каталогу на українську одразу. Для цього потрібна повна переіндексація в «Системних функціях».
  • Не змінює основної мови вашого сайту OpenCart — крім ElbuzCart, де вона зміниться після вивантаження.
  • Не змінює SEO-адрес і префіксів і не створює перенаправлень зі старих адрес.
  • Не вивантажує товари повторно — наново на сайт піде тільки дерево категорій. З вимкненою мультимовністю тунелю й увімкненим «Вивантажувати лише нові дані» українські тексти наявних товарів поїдуть на сайт тільки тоді, коли товар зміниться.
  • Не змінює мову інтерфейсу тим співробітникам, у картці яких мова задана.
  • Не переналаштовує прайси, імпорти, шаблони вивантаження й розклад автоперекладу — їхні налаштування мови лишаються як були.

Часті питання

Чи зникнуть російські тексти після перемикання?

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

Що перекласти до перемикання обов'язково?

Назви й значення характеристик: у момент перемикання з українськими значеннями зв'язуються тільки ті російські, у яких українська пара вже є. Назви й описи товарів та категорії можна перекласти й після, вибравши «Мова джерела» = «Русский», але до того в сітці й фідах будуть порожні місця.

Чому після перемикання сітка каталогу ще російська?

Переіндексація, яку запускає перемикання, працює ще зі старою мовою. Запустіть «Категорій базового каталогу» і «Товарів базового каталогу» у «Системних функціях» → «Індексація записів».

Що робити з прайсами російськомовних постачальників?

До перемикання поставити в їхніх картках «Прив'язування товарів до мови» = «Русский». Інакше після перемикання назви, описи й значення характеристик нових товарів підуть в українські поля російською. Мова прайсу діє тільки при оновленні каталогу з цього прайсу («Оновити мій каталог»), загальний прогін «Оновлення базового каталогу» пише в українську. Нові товари перекладайте з російської одразу: «Перевірка цілісності БД» заповнює відсутні українські записи текстом постачальника, і після неї звичайний переклад товар пропускає.

Чи треба переробляти фіди для Rozetka і Prom?

Відкрийте шаблон і подивіться поле «ID мови». Якщо там вибрано конкретну мову, шаблон від перемикання не зміниться. Якщо мову не вибрано (у YML — «Мова каталогу за замовчуванням»), а також у Prom XLS, де цього поля немає, фід піде українською, а макроси {name_ua} чи {description_full_ua} у ньому стануть порожніми — українська йде в {name}.

Чи зміниться мова мого сайту на OpenCart?

Основна мова сайту — ні, крім ElbuzCart. З увімкненою мультимовністю тунелю тексти на сайті не міняються місцями. З вимкненою на сайт їде тільки українська, і якщо української мови на сайті немає, вона запишеться в мову сайту з правила мови тунелю — наприклад, у російську.

Чи можна повернути російську основною?

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

Суміжні теми

Чи була стаття корисною?