Polylang – WordPress плагін для зміни мови сайту

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

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

Для цього нам знадобиться плагін перемикання мов для WordPress. Їх досить багато, причому є і безкоштовні з хорошим рівнем функціоналу. Відразу обмовлюся – існує 2 типи плагінів: які просто роблять автоматичний переклад сайту і ті, які формують саме кілька версій сайту.

Для мене особисто кривуватий автоматичний переклад – не вихід, а заводити окремий піддомен для іншої мовної версії сайту не хочеться. Так що будемо використовувати досить хорошим плагіном WordPress для перемикання мови сайту – Polylang. Є також схожий по функціоналу qtranslate X. Що ближче Вам – дивіться самі. Я свій вибір зробив.

Отже, перше, що нам потрібно – встановити сам плагін на сайт. Зробити це легко стандартним методом – Заходимо в адмінку сайту, переходимо в розділ Плагіни – Додати новий.

У пошуковому рядку пишемо Polylang і тиснемо Встановити. Після успішної установки нам залишається його Активувати.

Polylang для WordPress
Встановлення плагіну Polylang для WordPress

Результатом стане новий розділ в Консолі – Languages. Туди і переходимо, але поки не в розділ Settings, а в саме в розділ Languages. Там нам потрібно додати необхідні мови для нашого сайту.

Додавання мови
Налаштування плагіну Polylang для WordPress

Доречі, наразі плагін вже оновився й отримав переклад, тобто меню скоріш за все буде вже не англійською, але суть власне не змінилася.

У моєму випадку – це буде українська та болотна мова орків. Для цього праворуч у випадаючому списку вибираємо потрібну мову і тиснемо знизу кнопку Add new language. Зверніть увагу – в поле Order вписуємо потрібний порядковий номер мови, який у неї буде в списку, що випадає. Перша у мене буде українська мова, вона ж буде встановлена за замовчунням для сайту.

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

Додавання мов для сайту
Додавання мов для сайту WordPress

Зверніть увагу! Якщо у вас вже є записи на сайті, вгорі з’явиться повідомлення, що знайдено Сторінки, Пости, Категорії для яких не встановлено мову. Якщо натиснути посилання поруч, то всім цим штукам автоматично присвоїться мова за замовчуванням для сайту. Це суттєво полегшує життя, але є нюанс. Коли ви зміните мову сайту на іншу, у вас, природно, буде порожній сайт, так як всі матеріали стануть доступні тільки для мови за замовчуванням. Тому не лякайтеся, нічого не зникло, але стало недоступне для нової мови. Переключіть знову на основну мову й все повернеться.

Ще один важливий момент – якщо ви для існуючого посту встановите іншу мову, то автоматично змінитися його URL, в залежності від того, як саме ви налаштуєте постійні посилання для нової мови. Таким чином, щоб ваші користувачі не бачили сторінку 404 для старих постів, не раджу міняти мову для існуючих сторінок і постів. Як зробити правильно – напишу далі, коли дійдемо до питання додавання перекладу для постів.

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

Правильне налаштування плагіна Polylang для WordPress

Переходимо в розділ налаштувань плагіна – Languages ​​- Settings. Перший пункт – URL modifications допоможе налаштувати, як саме будуть формуватися постійні посилання для інших мов. Завдяки прикладам вам не важко буде розібратися, що до чого. Всі налаштування за замовчуванням цілком підходять, якщо вам потрібно щось особливе – крутіть і пробуйте змінювати ці налаштування. Щоб не було 404 помилки перевірте галочку напроти пункту Hide URL language information for default language. Це збереже всі існуючі посилання на ваші пости від змін.

Якщо ви щось змінюєте в налаштуваннях цього розділу – не забудьте зайти в меню Налаштування – Постійні посилання і натиснути там кнопку Зберегти, щоб оновити ваші url.

Налаштування url для WordPress
Налаштування постійних посилань для WordPress

Наступний пункт налаштувань плагіна Polylang для мультимовного сайту на WordPress – Detect browser language. За умовчанням він неактивний, але ви можете його включити і, в залежності від мови браузера, користувачеві буде відкриватися сайт на тій же мові, а не на мові за замовчуванням (якщо ви додали таку мову для свого сайту, звичайно ж). Перемикати користувачеві мову самостійно або віддати цю справу на волю долі і браузера – вирішувати вам. Слід зазначити, що ця штука не так вже гарно й працює, оскільки час від часу при переході на головну вибиває російську версію сайту, замість того, щоб завжди завантажувати українську версію.

Налаштування Media активуємо, тому що воно дозволяє використовувати однакові зображення запису для кожного з перекладів поста. В іншому випадку воно створює окремі папки медіа для кожної мови, таким чином, для кожного запису доведеться завантажувати різні картинки.

Якщо у вас стоять якісь плагіни типу WooCommerce, то зайдіть в налаштування Custom post types and Taxonomies і поставте там галочки для товарів, категорій та іншого. У розділі Synchronization рекомендую поставити все галочки. Ну і в розділі Tools можете поставити галочку, щоб видалити всі зміни в разі видалення плагіна Polylang.

Робимо мультимовне меню і додаємо переклади записів

Тепер нам потрібно вирішити, де саме буде перемикач мов сайту – його можна засунути в Головне меню, а можна додати в потрібне місце через Віджети. Вирішувати вам. Я вирішив поки засунути перемикач в головне меню. Для цього заходимо в меню Зовнішній вигляд – Меню. Справа з’явився новий пункт Language switcher. Ставимо Галочку на Languages і тиснемо Add to Menu. Новий пункт додався, можемо розкрити його і зробити потрібні налаштування. Я вирішив зробити список, що випадає, показувати прапори, а для економії місця в меню зняв галочку з відображення назви мови.

Меню мов для WordPress
Додаємо перемикач мов для WordPress

Що ж, тепер переходимо до найцікавішого – будемо робити меню для різних мов. Але для початку, якщо у вас в меню є посилання на сторінки, нам потрібно створити відповідні сторінки для потрібних мов. Так що переходимо в розділ Сторінки, відкриваємо їх і тиснемо на плюсик біля мови, для якої нема перекладу:

Переклад сторінок
Додавання перекладу для сторінок WordPress

Відкривається додавання нової сторінки, пишемо все заново або переводимо тим же Google Translate існуючу сторінку, перевіряємо наскільки добре виглядає майбутній url (постійне посилання), якщо все подобається – публікуємо сторінку. Таким же чином формуємо переклади для всіх сторінок.

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

Переклад меню
Створюємо меню для мультимовного сайту на WordPress

Тепер там же вгорі заходимо в розділ Управління областями, де і налаштовуємо, яке меню буде показуватися для кожної конкретної мови.

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

Що ж, тепер при перемиканні мови сайту у нас є практично новий сайт, який тільки доведеться заново наповнити матеріалами. Для нових постів (записів – як це називається в WordPress) ми самі вказуємо для якої мови буде доступний даний пост, а якщо нам потрібен цей пост для всіх мов – що ж, доведеться переводити самостійно. Для цього повторюємо все як і для нової сторінки: написавши пост для однієї мови, натискаємо вгорі праворуч на плюсик для потрібної мови і пишемо аналогічний пост для інших мов. Звертаємо увагу на те, як формується постiйне посилання для перекладних постів. Оскільки в плагіні Polylang цю справу винесли в платну версію, то тепер постiйне посилання формується для поста з перекладом з того ж постійного посилання і порядкового номеру. Якщо потрібно красивіше – змінюйте самі, наприклад, тою ж англійською.

Додавання перекаду для постів
Додавання перекладу для постів WordPress

Зверніть увагу, вам доведеться знову створити рубрики і мітки для кожної встановленої мови!

Що стосується старих заміток, які вже є на сайті, як і обіцяв вище, розповідаю. Тут все як і зі сторінками – відкриваєте їх і додаєте їм переклад. Але не міняйте їм мову, яку ви їм вже присвоїли за замовчуванням. Інакше постійні посилання на них зміняться (з’явиться приписка з назвою мови у посиланні) і у вас буде 404 помилка. Якщо ви все ж вирішили міняти їм мову, то простежте, щоб старе постiйне посилання вело на матеріал на потрібній мові.

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

Я не проти української мови, це потрібна справа, а закон “Про забезпечення функціонування української мови як державної” безумно важливий та потрібний, але змушує нас з вами мати українську версію сайту, то ж роботи для нас з вами значно додалося.

Хай щастить!

Поделиться:

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *