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

Настройка 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 WP

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

Изменение вывожа языка В 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[:]