Зазвичай для багатомовних сайтів я використовую плагін Polylang, про нього ще напишу пізніше, але в останньому проекті попросили робити мовні версії на qTranslate. В принципі доданок не складний, все просто і зрозуміло, і навіть кілька дуже навіть відчутних плюсів я у нього виявив.
Самий, звичайно ж, великий плюс - це те, що в одному записі ви можете заповнити всі мовні варіанти цієї сторінки, на відміну від Polylang, де для кожної мовної версії сторінки потрібно створювати окремі записи.
При перемиканні між мовами, відкривається ця ж сторінка тільки на іншій мові, на відміну від Polylang, де за замовчуванням перенаправляє на головну сторінку, а інакше потрібно налаштовувати зв'язку між різними мовними версіями сторінки.
Так само при використанні qTranslate можна не налаштовувати шаблон на використання файлів локалізації формату .mo. po. Можна використовувати простий код з варіантами для кожної мови. Це зручно для невеликих сайтів, якщо ж сайт великий і багато статичних текстів в шаблоні, то, можливо, краще використовувати файли локалізації для кожної мови. Як його створити напишу трохи пізніше.
Але, єдиний (поки помічений) серйозний мінус - це те, що додаткові поля будуть ставитися до всіх мовних версіях, і не вийде заповнити їх окремо для кожної версії з різними значеннями. Можна, звичайно для кожної мови створювати своє поле, але це не допоможе, наприклад, з плагіном All In One Seo.
Довге вступ, а тепер кілька корисних функцій:
Виводимо перемикач мов, в даному випадку, виведеться ненумерований список з текстовим назвою мов, стилі відображення перемикача мов задаються в налаштуваннях плагіна, можна вивести прапори, іконки, текст, але можна задати будь-які свої стилі, прописавши їх у таблиці стилів:
Висновок посилання на головну в тій же мовній версії:
Для того, щоб не використовувати файли локалізації, можна прямо в шаблоні прописати кілька мовних варіантів для статичного тексту:
Є так само ще один варіант, але перший точно працює і пишеться набагато коротше, а нижній варіант ще потрібно перевірити, і виходить він дуже громіздкий:
Так само можна зробити умова, що при англійською мовою виводиться додаткове поле для англ. а при російській виводиться поле, створене для російської мови:
Або такий варіант, але він більше підходить для великих текстів чи частин коду:
MariaAspen
Спасибі велике за інформацію. До мене перейшов під керівництво сайт російською мовою. Це перший для мене сайт не англійською і я була в замішанні з приводу призначення на багатьох сторінках. Тепер зрозуміло :)
Спасибі, дуже корисні статейки по WP у вас.
Спасибі, відмінний матеріал! Але тільки у мене не виходить перевести посилання (наприклад site.ru/category/politics/)
і у мене 3 мови :(
На сайті, який я редагую, проблеми з перекладом сторінки редагування профілю користувача (використовується qtranslate). Якщо я вибираю російську мову, то сторінка перекладається, але після натискання кнопки «Зберегти зміни» сторінка перезавантажується вже не російською, а англійською (мова за замовчуванням). Якщо чесно, я ще новачок в WordPress і ще поки толком не розібралася, мене попросили виправити помилки в уже існуючому сайті. Дуже прошу Вашого ради, з чим може бути пов'язана така проблема? Заранее спасибо.
Дейл Карнегі
Вітаю!
Підкажіть, будь ласка, як вибудувати прапорці в ряд, а не в колонку.
Пробував прописати в css так:
# Qtranslate-2-chooser float: left;
list-style-type: none;
padding: 0px;
>
На жаль, не допомогло.
Спробуйте display: inline-block; або покажіть сайт, потрібно подивитися як вони у вас виводяться, в якому вигляді.
Дейл Карнегі
На жаль, не допомогло.
Сайт: intaste.lv. Подивіться будь ласка.
Так буде працювати як треба:
.language-chooser li display: inline-block;
list-style: outside none none;
margin-right: 10px;
>
Дейл Карнегі
Дякуємо!
Ще один нюанс, не відображається третій прапорець - англійська. У зв'язку з чим це може бути пов'язано? При переході по посиланню: сайт / en - працює, але прапорця в шапці немає.
Швидше за все в налаштуваннях вимкнений висновок прапора поточного мови.
Дейл Карнегі
Чи не підкажу, давно з цим плагіном не працював, дивіться настройки або код виведення прапорів.
А як вивести рубрики тільки з 1 мови а не всі які є ??
Дякую за статтю!
У мене виникло таке питання:
Як переробити / доробити плагін qTranslate-X щоб він зачепив перемикач мов в адмінці, у текстових полів які завантажуються через Ajax?
Я вже давно не використовую плагін qTranslate, замість нього найкраще використовувати Polylang.
З питань qTranslate-X, на жаль, допомогти не зможу.
Вітаю! Відмінні у вас статті. Деякі речі запозичив.
В плагіні Polylang при перемиканні мови редирект на головну. Відсутні зв'язку між сторінками для різних мов. Можливо знаходили рішення як ці зв'язки створити?
Радий, що на сайті є щось корисне не тільки для мене)
Чим чудовий плагін Polylang, що з цим у нього налаштовуються дуже просто і це дуже зручно для навігації по сайту, думаю, для SEO це теж корисно.
Зв'язки налаштовуються дуже просто - у кожного запису і кожної сторінки є вибір пов'язаної записи або сторінки:
![Кілька корисних функцій для плагіна qtranslate (використовувати файли локалізації) Кілька корисних функцій для плагіна qtranslate](https://images-on-off.com/images/147/neskolkopoleznixfunktsiydlyaplaginaqtran-899267e6.jpg)
При чому раніше була ще настройка в самому плагін, але зараз її немає, і походу за замовчуванням, якщо є зв'язок, то при зміні мови, йде перенаправлення на пов'язану сторінки, а якщо немає пов'язаної сторінки, тоді йде перенаправлення на головну.