Как создать автоперевод на основе Google Cloud Translate в WordPress

Автоматический перевод контента — востребованная функция для сайтов с международной аудиторией. В этой статье разберём, как интегрировать Google Cloud Translate API в WordPress, чтобы реализовать автоперевод публикаций и страниц. Такой подход удобен для сайтов на wptranslate.ru, где важна точность и скорость перевода.

Что такое Google Cloud Translate и почему его использовать

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

Ключевые преимущества:

  • Поддержка множества языков и диалектов
  • Высокое качество и актуальность переводов
  • Возможность интеграции с любым кодом или плагинами WordPress
  • Оплата по факту использования, без ограничений по количеству запросов

Для начала нужно зарегистрироваться в Google Cloud Console, создать проект и получить API ключ для сервиса Cloud Translation.

Настройка Google Cloud Translate API в WordPress

Для работы с API нам понадобится написать собственный плагин или добавить код в functions.php темы. Рассмотрим пример создания минимального плагина wptranslate-autotranslate.

Создание плагина и подключение API

Создайте папку wptranslate-autotranslate в wp-content/plugins/ и файл wptranslate-autotranslate.php со следующим кодом:

<?php
/**
 * Plugin Name: WPTranslate Автоперевод Google
 * Description: Автоматический перевод контента с помощью Google Cloud Translate API
 * Version: 1.0
 * Author: wptranslate.ru
 */

function wptranslate_google_translate_content($text, $target_language = 'en') {
    $api_key = 'ВАШ_API_КЛЮЧ'; // замените на свой ключ
    $url = 'https://translation.googleapis.com/language/translate/v2?key=' . $api_key;

    $body = json_encode(array(
        'q' => $text,
        'target' => $target_language
    ));

    $response = wp_remote_post($url, array(
        'headers' => array('Content-Type' => 'application/json'),
        'body' => $body
    ));

    if (is_wp_error($response)) {
        return $text; // возвращаем оригинал при ошибке
    }

    $data = json_decode(wp_remote_retrieve_body($response), true);
    if (isset($data['data']['translations'][0]['translatedText'])) {
        return $data['data']['translations'][0]['translatedText'];
    }

    return $text;
}

// Пример использования: фильтр контента
add_filter('the_content', 'wptranslate_autotranslate_the_content');
function wptranslate_autotranslate_the_content($content) {
    if (isset($_GET['lang']) && $_GET['lang'] !== 'ru') {
        $translated = wptranslate_google_translate_content($content, sanitize_text_field($_GET['lang']));
        return $translated;
    }
    return $content;
}
?>

Этот код реализует базовый автоперевод текста публикаций, если в URL передан параметр lang с языковым кодом, например: ?lang=en.

Расширение функционала: перевод заголовков и пользовательских полей

Чтобы автоматизировать перевод заголовков и метаданных, можно добавить фильтры и хук на загрузку данных:

add_filter('the_title', 'wptranslate_autotranslate_the_title');
function wptranslate_autotranslate_the_title($title) {
    if (isset($_GET['lang']) && $_GET['lang'] !== 'ru') {
        return wptranslate_google_translate_content($title, sanitize_text_field($_GET['lang']));
    }
    return $title;
}

add_filter('get_post_metadata', 'wptranslate_autotranslate_post_meta', 10, 4);
function wptranslate_autotranslate_post_meta($value, $object_id, $meta_key, $single) {
    if (isset($_GET['lang']) && $_GET['lang'] !== 'ru') {
        $translated = wptranslate_google_translate_content($value, sanitize_text_field($_GET['lang']));
        return $translated;
    }
    return $value;
}

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

Пример интеграции с плагином Clearfy Pro для оптимизации

Если у вас установлен Clearfy Pro, можно дополнительно оптимизировать автоперевод, отключая его для админки и некоторых типов страниц, чтобы не перегружать сервер и не мешать SEO:

add_filter('the_content', 'wptranslate_conditional_autotranslate', 9);
function wptranslate_conditional_autotranslate($content) {
    if (is_admin() || is_feed() || is_preview()) {
        return $content; // отключаем в админке, лентах и предпросмотре
    }
    return wptranslate_autotranslate_the_content($content);
}

Практические советы по использованию автоперевода в WordPress

1. Кеширование результатов: Чтобы не тратить API запросы и ускорить загрузку, сохраняйте переводы в метаданных постов или transient. Это снизит расходы и нагрузку.

2. Корректировка переводов: Автоматический перевод — не всегда идеально точен. Добавьте в админке возможность вручную корректировать переводы, сохраняя их отдельно.

3. Выбор языка: Сделайте удобный виджет для выбора языка, который будет добавлять параметр ?lang=код_языка в URL.

4. Обработка ошибок: Продумайте fallback на случай, если API недоступен, чтобы показывать оригинальный текст.

Заключение

Автоматизация перевода контента на WordPress с помощью Google Cloud Translate API — мощное решение для сайтов с wptranslate.ru. Ручная настройка и использование собственного кода позволяют гибко управлять процессом, экономить средства и повышать качество контента для пользователей. Приведённые примеры помогут быстро начать и расширить функционал по мере необходимости.

Как перевести на WordPress пользовательские типы записей и таксономии
03.12.2025
Как сделать перевод административной панели WordPress на русский язык
06.01.2026
Как создать автоперевод шорткодов в WordPress
07.04.2026
Перевод статусов заказов WooCommerce: практическое руководство
21.05.2026
Как добавить поддержку мультиязычности в тему WordPress без плагинов
27.12.2025