QTranslate
qTranslate - плагін до WordPress, який дозволяє робити мультимовний блог.
Зміст
qTranslate X
Увага, плагінqtranslateпомер і йому на заміну прийшовqTranslate Xвін повністю аналогічний
конфлікт qTranslate-X і RusToLat
Плагін qTranslate-X конфліктує з плагіном RusToLat, так як плагін RusToLat дуже простий, то ми перепишемо саме його, змінюємо рядок
Проблема з WP вище 3.8.1
Плагін протестований до 3.8.1, WP вже оновився, а плагін немає і працювати не хоче.
Рішення змінюємо рядок у файліqtranslate/qtranslate.php:
на поточну версію WP:
Додавання української мови
Запитання замість місяця в даті
У попередньому пункті. В:
Визначення поточної мови
Повертаєruукраїнською,enанглійською тощо. Зручно додавати до імені банера.
Вирішення проблеми з Головною (Home)сторінкою в меню (У НОВОЇ ВЕРСІЇ ВЖЕ НЕ ПОТРІБНО!!)
Переходило на сторінку мови за промовчанням.
Потрібно додати файл functions.php в темі наступний фільтр:
Багатомовне меню
У стандартному меню пишемо в "Текст посилання" наприклад для головного:
Назва сайту
Використовуємо тегиЗагальні налаштування->Заголовок сайту:
Назва у віджеті Текст сайдбару
Аналогічно в Заголовок пишемо:
У тілі міняємо так:
Це працює з усім, навіть із картинками.
Баг із перекладом tail-ів галерей
Доводиться змінювати двигун WP. Після оновлення двигуна доведеться знову правити файли. У файліwp-includes/post-template.phpрядок:
У файліwp-includes/media.phpзмінюємо: 1. у функціїwp_get_attachment_image()рядок:
2. у функціїgallery_shortcode()рядок:
Прапори перемикання мови
У потрібне місце теми де ми хочемо встановити перемикач плагінів додаємо рядок:
У місце 'image'можна використовувати 'text', 'both', 'dropdown'. Так само, щоб прапори були розташовані в одну лінію, в css додаємо:
Знайшов на одному блозі шматок коду, що скорочує ім'я функції
Зміна прямих посилань у темі
Використання з WordPress SEO
До файлу functions.php додаємо:
У фаїл header.php
Зміна параметрів теми
Якщо в темі десь є змінна наприклад$textяку треба обробити за допомогою плагіна QTranslate треба обрамити її конструкцією__(). Наприклад було (змінною $text присовується якась функція):