Почему автоматический перевод важен для WordPress-сайта
В современном мире доступность сайта для пользователей из разных стран — один из ключевых факторов успешного продвижения. Автоматический перевод позволяет быстро адаптировать контент под разные языки без необходимости вручную создавать копии страниц. Это особенно полезно для корпоративных сайтов, блогов и интернет-магазинов на WordPress, которые хотят расширить аудиторию.
При этом важно выбрать правильное решение, чтобы перевод был не просто машинным набором слов, а максимально понятным и корректным для читателей. В статье разберём несколько популярных плагинов и пример интеграции с API перевода, а также как оптимально внедрить этот функционал в WordPress.
Плюс к этому, рассмотрим примеры кода для добавления перевода на лету, чтобы можно было гибко управлять процессом и интегрировать перевод в свои шаблоны и функционал.
Популярные плагины для автоматического перевода в WordPress
1. TranslatePress
TranslatePress — один из самых удобных плагинов для автоматического перевода. Он поддерживает перевод страницы целиком, включая тексты из тем и плагинов. В бесплатной версии доступен ручной перевод, а в Pro — интеграция с Google Translate и DeepL для автоматического перевода.
Особенности:
- Перевод контента прямо с фронтенда, в визуальном редакторе.
- Поддержка SEO для мультиязычности.
- Возможность отключить автоматический перевод и отредактировать результат вручную.
Для активации автоматического перевода с Google Translate в TranslatePress Pro нужно подключить API ключ Google и включить соответствующую опцию в настройках.
2. WPML с автоматическим переводом
WPML — мощный мульти-язычный плагин для WordPress, который также поддерживает автоматический перевод контента через интеграции с различными сервисами. В WPML можно настроить автоматический перевод для новых и уже существующих записей.
Плюсы WPML:
- Поддержка множества языков.
- Автоматический и ручной перевод с возможностью редактирования.
- Интеграция с WooCommerce Multilingual для интернет-магазинов.
Однако WPML платный и требует определённой настройки, что делает его более подходящим для крупных проектов.
3. Google Language Translator
Этот плагин добавляет на сайт виджет Google Translate, который позволяет пользователям переключать язык вручную. Это простой способ добавить многоязычность, но автоматический перевод происходит на стороне Google, а не интегрируется в контент сайта.
Плюсы:
Минусы — отсутствие контроля над переводом и внедрением в SEO.
Как реализовать автоматический перевод контента через API на примере Google Translate
Если хотите гибко управлять переводом и интегрировать его в собственные шаблоны, можно использовать Google Translate API через кастомный код.
Для начала необходимо получить API ключ в Google Cloud Console и подключить библиотеку Google Cloud Translate.
Пример функции для перевода текста через Google Translate API
function wpcorp_google_translate_text($text, $target = 'en') {
$apiKey = 'ВАШ_GOOGLE_API_КЛЮЧ';
$url = 'https://translation.googleapis.com/language/translate/v2?key=' . $apiKey;
$data = [
'q' => $text,
'target' => $target,
'format' => 'text'
];
$response = wp_remote_post($url, [
'body' => json_encode($data),
'headers' => [
'Content-Type' => 'application/json'
]
]);
if (is_wp_error($response)) {
return $text; // Возвращаем оригинал при ошибке
}
$body = json_decode(wp_remote_retrieve_body($response), true);
if (isset($body['data']['translations'][0]['translatedText'])) {
return $body['data']['translations'][0]['translatedText'];
}
return $text;
}Эта функция принимает исходный текст и целевой язык, отправляет запрос к API и возвращает переведённый текст. Если перевод не удался, возвращается оригинал.
Как использовать функцию для перевода контента в шаблоне
В нужном месте шаблона можно вызвать функцию и вывести перевод:
echo wpcorp_google_translate_text('Привет, мир!', 'en'); // Hello, world!Такой подход позволяет переводить динамический контент, например, заголовки, описания и т.д.
Оптимизация работы автоматического перевода и кеширование результатов
Автоматический вызов API перевода при каждом запросе сильно нагрузит сайт и увеличит расходы на API. Чтобы избежать этого, рекомендуется кешировать результаты перевода.
Пример кеширования с использованием Transients API WordPress:
function wpcorp_translate_with_cache($text, $target = 'en') {
$transient_key = 'wpcorp_trans_' . md5($text . $target);
$cached = get_transient($transient_key);
if ($cached !== false) {
return $cached;
}
$translated = wpcorp_google_translate_text($text, $target);
set_transient($transient_key, $translated, DAY_IN_SECONDS);
return $translated;
}Такой код позволяет сохранять переводы на сутки, снижая количество запросов к API и ускоряя загрузку страниц.
Вывод и рекомендации по внедрению автоматического перевода
Автоматический перевод — мощный инструмент для быстрого расширения аудитории WordPress-сайта. Для большинства проектов будет достаточно использования плагинов TranslatePress или WPML с поддержкой автоматического перевода.
Если нужна тонкая настройка и интеграция, можно написать собственные функции на базе API Google Translate с кешированием результатов.
Также полезно добавить возможность ручного редактирования перевода, чтобы повысить качество контента. Для этого можно комбинировать автоматический перевод с переводческими плагинами или собственными админ-панелями.
Для ознакомления с TranslatePress и WPML переходите на официальные страницы с UTM метками: