Как использовать плагин Poliglot для автоперевода WordPress

Автоматический перевод контента — востребованная функция для многоязычных сайтов на WordPress. Среди множества решений особое внимание заслуживает плагин Poliglot, который совмещает простоту настройки с широкими возможностями автоперевода. В этой статье подробно рассмотрим, как использовать Poliglot для автоматического перевода вашего сайта, как настроить перевод пользовательских типов записей и произвольных полей, а также приведем примеры кода для расширения функционала.

Что такое плагин Poliglot и зачем он нужен

Poliglot — это легковесный плагин для WordPress, который позволяет автоматически переводить контент сайта с помощью популярных API переводчиков, таких как Google Translate и Yandex Translate. В отличие от громоздких решений, Poliglot ориентирован на разработчиков и тех, кто хочет максимально контролировать процесс перевода без избыточной нагрузки.

Основные возможности Poliglot:

  • Автоматический перевод страниц, записей, пользовательских типов записей.
  • Поддержка перевода произвольных полей (custom fields) и метаданных.
  • Легкая интеграция с любыми темами и плагинами.
  • Гибкие настройки API ключей и языков перевода.

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

Установка и базовая настройка Poliglot

Установка плагина стандартная: в админке WordPress перейдите в раздел "Плагины" — "Добавить новый", найдите Poliglot и установите. После активации откройте настройки плагина в меню «Poliglot».

Основные параметры для заполнения:

  • API ключ — получите ключ от Google Cloud Translate или Яндекс.Переводчика (в зависимости от выбранного сервиса).
  • Язык оригинала — язык вашего исходного контента.
  • Целевые языки — языки, на которые будет происходить перевод.

Важно: для Google Translate нужно настроить биллинг в Google Cloud, чтобы API был активен.

Автоматический перевод пользовательских типов записей и полей

Одна из частых задач — перевести не только стандартные записи и страницы, но и кастомные типы записей, например, портфолио, отзывы или товары. Poliglot позволяет это сделать с помощью фильтров и хуков.

Для добавления поддержки перевода произвольных типов записей добавьте следующий код в файл functions.php вашей темы или в собственный плагин:

function wptranslate_poliglot_register_custom_post_types($post_types) {
    $post_types[] = 'portfolio'; // название вашего кастомного типа записи
    $post_types[] = 'reviews';
    return $post_types;
}
add_filter('poliglot_supported_post_types', 'wptranslate_poliglot_register_custom_post_types');

Этот фильтр расширит список типов записей, которые Poliglot будет автоматически переводить.

Для перевода произвольных полей используйте фильтр poliglot_translate_custom_fields:

function wptranslate_poliglot_translate_custom_fields($fields) {
    $fields[] = 'custom_description'; // имя произвольного поля
    $fields[] = 'additional_info';
    return $fields;
}
add_filter('poliglot_translate_custom_fields', 'wptranslate_poliglot_translate_custom_fields');

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

Настройка перевода шаблонов и строк темы

Перевод текстов интерфейса и шаблонов — важный аспект мультиязычного сайта. Poliglot работает с gettext-файлами (.po/.mo), но если требуется динамический автоперевод строк, есть способ подключить фильтр:

function wptranslate_poliglot_translate_text($translated_text, $text, $domain) {
    // Логика для автоперевода строки, если нужно
    if ($domain === 'your-theme-domain') {
        // вызов API автоперевода или возврат уже переведенного текста
    }
    return $translated_text;
}
add_filter('gettext', 'wptranslate_poliglot_translate_text', 10, 3);

Это позволяет динамически переводить строки, которые не подключены к стандартным языковым файлам.

Оптимизация и кеширование перевода

Чтобы не перегружать API и ускорить работу сайта, Poliglot кеширует переведенный контент. Для улучшения производительности рекомендуем:

  • Использовать встроенное кеширование Poliglot (настройки в админке).
  • Подключить сторонние плагины кеширования, например, Clearfy Pro, для оптимизации запросов.
  • Настроить TTL (Time To Live) для кеша перевода, чтобы обновлять контент по расписанию.

Это поможет избежать лишних затрат на API и ускорит загрузку страниц с переводом.

Примеры использования API Poliglot для кастомных задач

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

function wptranslate_poliglot_translate_text_custom($text) {
    if (!function_exists('Poliglot\translate_text')) {
        return $text; // плагин не активен
    }
    $translated = Poliglot\translate_text($text, 'ru', 'en');
    return $translated ?: $text;
}

// Использование:
$translated_text = wptranslate_poliglot_translate_text_custom('Привет, мир!');
echo $translated_text; // Hello, world!

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

Заключение

Плагин Poliglot — мощный инструмент для автоматического перевода WordPress-сайтов, подходящий для разработчиков, желающих гибко настраивать процесс перевода. Используя фильтры и хуки, можно легко добавить поддержку любых типов записей и полей, обеспечить перевод интерфейса и оптимизировать работу с API переводчиков. Рекомендуется комбинировать Poliglot с инструментами кеширования и оптимизации, например Clearfy Pro, чтобы добиться максимальной производительности.

Как перевести на WordPress пользовательские типы записей и таксономии
03.12.2025
Как добавить поддержку языков в собственном плагине WordPress
02.02.2026
Как автоматизировать перевод сообщений WordPress: плагины и кодовые решения
17.11.2025
Как использовать AJAX для автоперевода контента в WordPress
06.03.2026
Как создать собственный шорткод для перевода в WordPress
30.11.2025