Мультиязычность wordpress

Мультиязычность wordpress

Сегодня мы будем учиться делать наш блог на wordpress мультиязычным. Конечно, большинство блогеров ориентируются на российский сегмент рынка, но для корпоративных сайтов вполне приемлемо иметь как минимум 2 версии сайта - Русскую и English. И тут есть 2 способа: либо держать 2 физических копии wordpress в разных папках, либо воспользоваться плагином.

Сегодня мы разберем второй способ.

Для этих целей я использую плагин qTranslate.

Устанавливаем в нашу сборку wordpress и активируем. Видим, что появился пункт Параметры/Languages (при этом может выкинуть из админки, тогда при следующем входе, админка будет на английском языке). Помимо этого внизу добавилось: Deutsch, English, 中文. Но договоримся, что нам нужно только 2 языка: русский и английский.

Для этого переходим в пункт: Settings/Languages (Параметры/Languages) и заполняем поля для добавления языка (потому что Русского языка по-умолчанию нету):

Мультиязычность wordpress

В поле Language Code пишем - ru.

В выпадающем списке выбираем нужный флаг (ru.png).

В поле Name пишем - Russian.

В поле Locale пишем - ru_RU.

В поле Date Format пишем - %e%m%Y.

В поле Time Format пишем - %T.

В поле Not Available Message пишем - Страница в стадии наполнения.

И нажимаем: Add language>>. Вот и все, язык добавлен.

Теперь в списке справа можно деактивировать не нужные языки и активировать Русский:

Мультиязычность wordpress

После этого поставить Русский - языком по-умолчанию (вверху страницы):

Мультиязычность wordpress

Если админка не стала русской, то слева нажимаем на Russian:

Мультиязычность wordpress

Попробуем добавить запись. Заходим в Записи/Добавить новую и видим какие-то непонятные предупреждения. Не пугаемся. Заполняем все поля для русского варианта (он по-умолчанию), после этого кликаем в место: clicking here в надписи предупреждения:

Мультиязычность wordpress

И видим, что появились поля для заполнения на английском языке! Превосходно, заполняем их:

Мультиязычность wordpress

После заполнения публикуем запись. Ура, запись опубликована. Теперь русский вариант доступен по site.ru/title, а английский по site.ru/en/title (в моем варианте - site.ru/zagolovok и site.ru/en/zagolovok соответственно). Но это можно поменять в настройках.

Текст в шаблоне

Теперь разберем ситуацию, когда надо перевести какой-то текст в шаблоне (который выводится не записью и не страницей).

Для этого необходимо использовать следующий код:

<?php _e("<!--:en-->English text<!--:--><!--:ru-->Русский текст<!--:-->"); ?>

Ссылки

Если нужно поправить статичную ссылку, то это следует делать так:

<a href="<?php _e("<!--:en-->/en<!--:--><!--:ru-->/ru<!--:-->"); ?>">Languages</a>

То есть условие ставится вместо атрибута href.

Смена языков

Чтобы вставить смену языков, надо использовать:

<?php qtrans_generateLanguageSelectCode($type='image'); ?>
 

Вставляете его в нужное место шаблонов вашей темы. Это маркированный список, который отобразит список флагов. Но оформить их через css как вам нужно - не проблема. Помимо флагов можно вывести просто названия языков. Для этого вместо image используйте тип text.

Название сайта

Для этого идем: Общие настройки -> Заголовок сайта и пишем:

[:ru]Мой сайт[:en]My site

Меню, виджеты и прочее

Есть иной способ вывода текста. Он пригодится для других плагинов, меню или виджетов.

<!--:ru-->Русский текст<!--:--><!--:en-->English text<!--:-->

Вот и все. Используя этот нехитрый плагин qTranslate можно добиться мультиязычности на вашем сайте под управлением wordpress.

Карта сайта для мультиязычного сайта

Чтобы построить корректную карту сайта с использованием плагина qTranslate, используйте плагин Google XML Sitemaps v3 for qTranslate.

26.03.17
Для просмотра сайта обновите браузер.