Как использовать хук wptranslate_autotranslate для автоперевода текстов в WordPress

В этой статье рассмотрим, как можно использовать собственный хук wptranslate_autotranslate для автоматического перевода текстов в WordPress. Такой подход полезен, когда нужно гибко управлять процессом автоперевода, дополнять стандартные механизмы или интегрировать сторонние API перевода с минимальными затратами времени.

Что такое хук wptranslate_autotranslate и зачем он нужен

wptranslate_autotranslate — это пользовательский фильтр, который можно добавить в собственные темы или плагины. Он позволяет перехватывать текст перед отправкой на автоперевод и при необходимости модифицировать его. Например, можно добавить логику исключения определённых фраз из перевода, подставлять свои варианты или интегрировать сразу несколько API для повышения качества.

Такой хук особенно актуален для сайтов с большим объёмом динамического контента, где нужно контролировать, что и как переводится, без глобальной зависимости от одного плагина.

Пример использования хука wptranslate_autotranslate в плагине

Рассмотрим простой пример, как добавить фильтр в файл functions.php вашей темы или в плагин, чтобы автоматически менять строки перед отправкой на перевод.

add_filter('wptranslate_autotranslate', 'wptranslate_custom_autotranslate', 10, 3);

function wptranslate_custom_autotranslate($text, $source_lang, $target_lang) {
    // Исключаем из перевода технические термины
    $exclude_words = ['WordPress', 'API', 'wptranslate'];
    foreach ($exclude_words as $word) {
        if (stripos($text, $word) !== false) {
            // Оставляем оригинал, если есть исключаемое слово
            return $text;
        }
    }

    // Пример простой замены слов перед переводом
    $text = str_ireplace('автоперевод', 'automatic translation', $text);

    // Здесь можно добавить вызов внешнего API перевода, например Google Translate или DeepL
    // Для примера возвращаем измененный текст
    return $text;
}

В этом коде мы добавляем фильтр, который получает исходный текст и языки источника и цели. Если текст содержит определённые слова, он возвращается без изменений. Иначе — заменяется слово «автоперевод» на английский аналог. Такой подход можно доработать под любые нужды.

Интеграция с Google Cloud Translate через хук

Чтобы полностью автоматизировать перевод через API Google Cloud Translate, нужно сделать запрос к их сервису внутри фильтра. Ниже пример упрощённой реализации с использованием PHP и официального клиента Google.

use Google\Cloud\Translate\V2\TranslateClient;

add_filter('wptranslate_autotranslate', 'wptranslate_google_translate_autotranslate', 20, 3);

function wptranslate_google_translate_autotranslate($text, $source_lang, $target_lang) {
    $translate = new TranslateClient([
        'key' => 'ВАШ_API_КЛЮЧ_GOOGLE'
    ]);

    try {
        $result = $translate->translate($text, [
            'source' => $source_lang,
            'target' => $target_lang
        ]);
        return $result['text'];
    } catch (Exception $e) {
        // В случае ошибки возвращаем исходный текст
        return $text;
    }
}

Обратите внимание, что для работы потребуется установить пакет Google Cloud Translate через Composer и получить API-ключ в консоли Google Cloud Platform. Это позволит автоматически переводить любые строки, переданные через хук.

Как использовать хук вместе с плагином WPRemark для автоперевода комментариев

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

add_filter('wptranslate_autotranslate', 'wptranslate_autotranslate_remark_comments', 15, 3);

function wptranslate_autotranslate_remark_comments($text, $source_lang, $target_lang) {
    // Проверяем, что переводим именно комментарии WPRemark
    if (is_singular() && get_post_type() === 'remark_comment') {
        // Логика автоперевода, например вызов DeepL API или другого сервиса
        // Для примера просто добавим метку
        return '[Перевод] ' . $text;
    }
    return $text;
}

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

Рекомендации по оптимизации автоперевода с хуком

  • Кэшируйте результаты автоперевода, чтобы не посылать повторные запросы к API. Это ускорит работу и снизит расходы.
  • Обрабатывайте ошибки и исключения, чтобы сохранить стабильность сайта при проблемах с внешними сервисами.
  • Фильтруйте контент — не все строки нужно переводить, например, названия брендов, технические термины или короткие аббревиатуры.
  • Используйте асинхронный перевод, если контент большой, чтобы не замедлять загрузку страниц.

Заключение

Использование пользовательского хука wptranslate_autotranslate — мощный инструмент для тонкой настройки автоперевода в WordPress. Его легко внедрить в свои проекты, комбинировать с API популярных сервисов и создавать гибкие решения для обработки многоязычного контента. Благодаря хук можно значительно расширить стандартные возможности и повысить качество перевода на сайте.

Как автоматически перевести метаданные в WordPress
02.03.2026
Как создать собственный виджет для выбора языка в WordPress
23.11.2025
Как добавить собственные скачиваемые переводы в WordPress
23.11.2025
Как автоматизировать перевод сообщений WordPress через хуки и плагины
13.12.2025
Как автоматически перевести атрибуты товаров WooCommerce в WordPress
29.04.2026