Создание мультиязычного сайта на WordPress — задача, с которой сталкиваются многие владельцы ресурсов, стремящиеся охватить аудиторию разных стран. При этом важна не только возможность переключения языков, но и автоматизация процесса перевода, чтобы минимизировать ручной труд и ускорить запуск сайта.
Почему стоит использовать автоматический мультиязычный сайт
Ручной перевод контента требует значительных ресурсов и времени, особенно если сайт содержит много страниц или регулярно обновляется. Автоматический перевод позволяет быстро адаптировать контент под разные языки, хотя и не всегда идеально с точки зрения качества. В сочетании с возможностью редактирования перевода вручную можно получить удобный и эффективный инструмент.
Кроме того, автоматизация перевода помогает лучше индексироваться в поисковых системах на нужных языках, что важно для SEO.
Выбор плагина для автоматического перевода в WordPress
Среди популярных решений для мультиязычности с автоматическим переводом можно выделить:
- TranslatePress — позволяет интегрировать Google Translate или DeepL, автоматический перевод доступен, но есть возможность корректировать его вручную;
- Weglot — облачный сервис с автоматическим переводом, простой в настройке, но требует подписки при большом объёме контента;
- MultilingualPress — работает с мультисайтовой архитектурой, перевод нужно делать вручную, но можно дополнить автоматическими сервисами;
- Google Language Translator — простой плагин для добавления виджета автоматического перевода Google;
- WPML — мощный плагин для мультиязычности, автоматический перевод доступен через сторонние сервисы, требует настройки.
Для примера рассмотрим использование TranslatePress, так как он интегрируется с Google Translate и позволяет гибко управлять переводами.
Настройка TranslatePress для автоматического перевода
Первым шагом устанавливаем и активируем плагин TranslatePress через админку WordPress.
Далее в настройках плагина указываем языки сайта — основной и дополнительные.
Для включения автоматического перевода подключаем API Google Translate:
- Регистрируемся в Google Cloud Platform и создаём проект;
- Активируем API Cloud Translation;
- Создаём API-ключ и вставляем его в настройки TranslatePress в разделе "Automatic Translation";
- Включаем автоматический перевод для выбранных языков.
Теперь при загрузке страниц плагин будет автоматически переводить контент, а вы сможете в визуальном редакторе при необходимости корректировать переводы.
Пример кода: Автоматическое переключение языка по IP посетителя
Для улучшения пользовательского опыта можно автоматически переключать язык сайта в зависимости от геолокации пользователя. Ниже пример функции, которая использует IP-адрес посетителя и меняет язык TranslatePress:
function wpsystem_set_language_by_ip() {
if ( is_admin() ) {
return;
}
// Получаем IP пользователя
$ip = $_SERVER['REMOTE_ADDR'];
// Используем бесплатный API для определения страны
$response = wp_remote_get('https://ipapi.co/' . $ip . '/json/');
if ( is_wp_error($response) ) {
return;
}
$data = json_decode(wp_remote_retrieve_body($response));
if ( ! $data || empty($data->country_code) ) {
return;
}
$lang = '';
switch ($data->country_code) {
case 'RU':
$lang = 'ru';
break;
case 'FR':
$lang = 'fr';
break;
case 'DE':
$lang = 'de';
break;
default:
$lang = 'en';
}
if ( function_exists('trp_set_language') ) {
trp_set_language($lang);
}
}
add_action('init', 'wpsystem_set_language_by_ip');
Этот код проверяет страну пользователя и переключает язык сайта через функцию TranslatePress trp_set_language(). Не забудьте добавить необходимые языки в настройках плагина.
Оптимизация работы автоматического мультиязычного сайта
Автоматический перевод может увеличить нагрузку на сайт, поэтому важно:
- Использовать кэширование страниц с переводом — например, совместимо с популярными плагинами кеша;
- Минимизировать количество языков, чтобы не создавать избыточный трафик и нагрузку;
- Регулярно проверять качество перевода и корректировать вручную важные страницы;
- Использовать CDN для ускорения загрузки ресурсов на разных языках.
Для более продвинутых решений можно использовать Clearfy Pro для оптимизации производительности мультиязычных сайтов.
Альтернативные подходы: кастомный автоматический перевод с WP REST API
Если стандартные плагины не подходят, можно реализовать автоматический перевод через вызов API внешних сервисов в коде WordPress. Например, используя Google Cloud Translate API напрямую через REST:
function wpsystem_translate_text($text, $target_lang = 'en') {
$api_key = 'YOUR_GOOGLE_TRANSLATE_API_KEY';
$url = 'https://translation.googleapis.com/language/translate/v2';
$response = wp_remote_post($url, [
'body' => json_encode([
'q' => $text,
'target' => $target_lang,
'format' => 'text'
]),
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . $api_key
]
]);
if ( is_wp_error($response) ) {
return $text;
}
$body = json_decode(wp_remote_retrieve_body($response));
if ( isset($body->data->translations[0]->translatedText) ) {
return $body->data->translations[0]->translatedText;
}
return $text;
}
Данную функцию можно использовать для динамического перевода контента при выводе. Однако это требует реализации кэширования и обработки ошибок для оптимальной работы.
Заключение по созданию автоматического мультиязычного сайта
Автоматизация перевода в WordPress позволяет быстро запускать мультиязычные проекты и расширять аудиторию. Использование плагинов, таких как TranslatePress с интеграцией Google Translate, обеспечивает баланс между качеством и скоростью. Дополнительные настройки, например, автоматическое определение языка по IP, делают сайт удобнее для пользователей.
Для профессиональных проектов обязательно стоит проводить ручную проверку и корректировку переводов, а также оптимизировать производительность мультиязычности с помощью специализированных инструментов.