Настройка и использование qTranslate-X

Плагин qTranslate-X позволяет сделать сайт на WordPress мультиязычным, причём с его помощью можно перевести абсолютно весь сайт, включая статический контент. Рассмотрим, как настроить плагин под себя и начать использовать его в полной мере.

Настройка qTranslate-X

Для настройки плагина qTranslate-X перейдём в Настройки » Языки.

Настройка языков в qTranslate-X

Общие настройки

Язык по умолчанию — основной язык вашего сайта (до того, как он стал мультиязычным).

Режим URL-Модификации — изменение адреса сайта при выборе языка.

использование режима запроса — добавляет в конце адреса ?lang=en
использование режима предварительно пути — добавляет в конце адреса /en/
использование режима поддомена — добавляет в начале адреса en. (необходима настройка DNS на хостинге)
скрыть URL языка для языка по умолчанию — скрыть URL.

Выбор режима URL-Модификации в qTranslate-X

Untranslated Content (Непереведенный Контент) — выбор способа отображения непереведённого контента.

скрыть контент, который не доступен для выбранного языка — скрыть страницы, для которых нет перевода
показывать префикс языка, когда содержимое недоступно для выбранного языка — если содержимое недоступно для данного языка, то непереведённые поля будут отображены на альтернативном языке с префиксом в скобках
show content in an alternative language when translation is not available for the selected language — отображение содержимого на альтернативном языке, если перевод недоступен для выбранного языка.

Language Names — как отображать имена языков

show language names in «Camel Case» — отображать языки в стиле «Camel Case» (верблюжий регистр)

Определить язык браузера.

обнаруживает язык браузера и перенаправляет соответственно — автоопределение и перенаправление на язык, который используется в браузере у пользователя.

Моя настройка:

Общие настройки плагина qTranslate-X

Дополнительные настройки

Рассмотрим лишь самые часто используемые.

Post Types — для каких типов записей будут доступны переводы.

Типы записей для переводов в qTranslate-X

Путь к изображениям флагов — здесь можно задать путь до своих изображений.

Изображения флагов в qTranslate-X

Head inline CSS — данные CSS стили будут добавлены в head HTML-страницы.

можно добавить свои стили, изменить существующие или снять чекбокс чтобы отключить.

Инлайновые стили в head страницы для qTranslate-X

Editor Mode — выбор типа редактора для перевода.

Use Language Switching Buttons (LSB) — страницы с переводимыми полями имеют кнопки для переключения между языками
Raw режим редактора — перевод контента будет осуществляться при помощи шорткодов: [:ru]поле[:en]field[:]
Single Language Mode — этот режим редактирования необходим при возникновении проблем с первыми двумя типами редакторов

LSB Style — выбор стиля для кнопок переключения языков.

Highlight Style — подсветка переводимых полей, чтобы визуально показать какое поле имеет многоязычное значение.

Языки

В интерфейсе загружаются только включенные языки. В данной настройке можно включать, отключать, удалять, делать сброс, а также добавлять новый язык для создания мультиязычности.

Редактирование языков для создания мультиязычности в qTranslate-X

Вывод переключателя языков в qTranslate-X

Рассмотрим три способа для вывода переключателя языков в qTranslate-X.

  1. Вывод переключателя в код страницы.
  2. Вывод в меню сайта.
  3. Используя виджеты.

Вывод переключателя в код страницы

Вывести переключатель языка можно в любое место страницы, используя следующий код:

<?php
// в виде текста
qtranxf_generateLanguageSelectCode("text", "language"); ?>
<?php
// в виде флага
qtranxf_generateLanguageSelectCode("image", "language"); ?>
<?php
// в виде текста и флага
qtranxf_generateLanguageSelectCode("both", "language"); ?>
<?php
// в виде выпадающего списка
qtranxf_generateLanguageSelectCode("dropdown", "language"); ?>

Вывод переключателя языков qTranslate-X в меню сайта

Для того чтобы вывести переключатель языков в меню, зайдём Внешний вид » Меню.

В блоке Переключатель языка выберем Языковое меню и добавим его.

Вывод переключателя языков qTranslate-X в меню

Значение по умолчанию, выводит текст и флаг:

#qtransLangSwLM#

Например, чтобы вывести только флаги, установим значение:

#qtransLangSw?type=LM&title=none&current=hidden&names=hidden

Кастомизация переключателя языков

Следующие параметры можно вводить в поле URL пункта меню после #qtransLangSw? разделяя знаком амперсанд &.

Изменение переключателя языков в qTranslate-X

type:

LM — дефолтное значение (выводит все языки)
AL — выводит все доступные языки, кроме текущего

title:

language — слово «Language» переводится на текущий язык (по умолчанию)
none — без заголовка в верхней части меню, отображается только флаг
current — выводится название текущего языка

current:

shown — показать текущий язык в меню
hidden — скрыть текущий язык в меню

names:

shown — показать названия языков в подпунктах
hidden — скрыть названия языков в подпунктах

colon:

shown — отобразить двоеточие после названия заголовка
hidden — скрыть двоеточие после названия заголовка

flags:

none — скрывает отображение флагов
all — флаг присутствует как в вкладке, так и в названии языка
items — флаги присутствуют только в названии языка (во вкладке)

Изменить вывод названия текущего языка можно в Настройки » Языки » Язык по умолчанию.

Изменение названия языка для qTranslate-X WordPress

Жмём Редактировать и в поле Название изменяем на нужное.

Изменение вывода языка В WordPress

Вывод переключателя языков, используя виджеты

Заходим Внешний вид » Виджеты. Перетаскиваем на панель виджетов Выбор языка qTranslate:

Вывод переключателя языков qTranslate-X используя виджеты

Настроек здесь тоже достаточно, чтобы кастомизировать вывод переключателя под свои нужды.

Настройка переключателя языков qTranslate-X используя виджеты

Перевод статического текста с помощью qTranslate-X

Чтобы перевести статический текст можно использовать следующие условия вывода текста на нужном языке:

<?php
if ( qtrans_getLanguage() == "ru" ) { 
  echo "счастье";
} elseif ( qtrans_getLanguage() == "en" ) {
  echo "happiness";
} elseif ( qtrans_getLanguage() == "de" ) {
  echo "glück";
}
?>

Для перевода полей в плагинах и виджетах можно использовать шорткоды:

[:ru]милая улыбка[:en]sweet smile[:de]nettes lächeln[:]