Наверх

Multilanguage в WordPress. Локализируем всё: контент, меню, тему, название

Из всех бесплатных плагинов в хранилище WordPress, вероятно, самым старым и наиболее полным является qTranslate. При установке он модифицирует все записи и страницы, добавляя в них псевдокод, позволяющий хранить в одной таблице записи на всех языках. Однако мало кто знает, что плагин также умеет из коробки локализировать и шаблоны, и даже название сайта.

Установка и настройка плагина

Установка традиционна, либо загружаем плагин через админ панель или же в папку plugins. После активации плагина,в админ панели в разделе Параметры появляется пункт Languages (Языки),переходим в него. Здесь мы можем добавлять или удалять языки,а так же указывать язык,который будет по умолчанию. При добавлении языка,вам необходимо будет заполнить поля формы.

Пример настроек для подключения русского языка:

screen0

Ненужные языки можно удалить, и назначить язык по умолчанию - тот, который будет показываться при обращении к основному домену. Остальные языки будут размещены в подпапках или в поддоменах, в зависимости от ваших настроек. Более того, qTranslate умеет автоматически определять язык браузера пользователя и предлагать ему подходящую локализацию страницы.

Локализация Страницы или Записи

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

<!--:en-->Printing<!--:--><!--:ru-->Полиграфия<!--:-->

screen3

Локализация тем и меню

Мало кто знает, что в qTranslate есть конструкция, напоминающая bbcode, позволяющая выбирать контент на лету. Выглядит она так:

[:ru]Текст[:en]Text

Здесь после указания метки языка идет текст, который нужно вывести при этой локализации. Например для названия сайта:

screen1

Локализация виджетов:

screen2

Если вы хотите вставить подобную конструкцию прямо в файлы темы, воспользуйтесь функцией _e() "вывод с возможностью перевода" WordPress:

<?php _e('[:ru]Все права защищены [:en]Copyright '); ?>

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

screen4

Всего отзывов: 4

  1. Maksim
    24.09.2020 в 01:14

    Да вроде всё красиво ,но я вот чего не понимаю : Стоял qTranslate потом когда сайт набрал веса записей, постов и страниц больше 1000 появилось куча глюков, отключил qTranslate установил WP Multilang вроде более менее работает ,но в чём разница между :
    [:ru] [:ua] и {:ru} {:ua}
    Я понять не могу, подскажите пожалуйста.
    а их там очень много присутствует

    • IT User
      19.11.2020 в 22:04

      Здравствуйте, Максим
      Коды [:ru] [:ua] и {:ru} {:ua} означают одно и то же — фрагмент ввода на разных языках, просто квадратные скобки используются одними плагинами, например qTranslate, как стандартный bbCode, а фигурные скобки — другими, например WPGlobus
      В идеале стоит привести их к одному виду, чтоб избежать ошибок в отображении сайта

  2. 26.07.2018 в 12:42

    Спасибо, только у вас нашел, как вставить конструкцию прямо в файлы темы. Рекомендации работают так же и с плагином WP Multilang

  3. 11.06.2015 в 17:08

    Использую плагин Polylang. В этом плагине есть все, что мне нужно для перевода сайта. Я когда искал плагин для добавления укр. языка, я даже не надеялся найти такой плагин и тем более бесплатны. Вообщем — рекомендую.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *