Диагностика проблемы с автоматическим переводом в WooCommerce
Часто при использовании плагинов для мультиязычности в WooCommerce возникает ситуация, когда автоматический перевод контента товаров приводит к искажению смыслов, некорректному отображению описаний и ошибок в SKU. Это особенно критично для интернет-магазинов, где точность данных важнее удобства автоматизации.
Чтобы убедиться, что на вашем сайте включён автоматический перевод, проверьте следующие признаки:
- Описание товаров и атрибуты меняются автоматически при смене языка без ручного перевода.
- В панели управления плагином мультиязычности (WPML, Polylang и др.) включена опция автоматического перевода.
- В коде темы или плагинов есть вызовы функций, отвечающих за автоматический машинный перевод (например, интеграция с Google Translate API).
Пошаговое решение: отключение автоматического перевода и сохранение многоязычности
1. Отключение автоматического перевода в настройках плагина
Для WPML:
Перейдите в WPML > Translation Management > Automatic Translation и снимите все галочки, связанные с автоматическим переводом товаров и описаний.
Для Polylang или других плагинов проверьте аналогичные настройки и отключите автоматический перевод.
2. Отключение сторонних автоматических переводов в коде темы или плагинов
Если вы используете кастомные интеграции, найдите и отключите вызовы API для машинного перевода. Например, если есть функция, вызывающая Google Translate API, закомментируйте или удалите её.
function custom_auto_translate_product_description( $content ) {
// Закомментируйте или удалите вызов автоматического перевода
// $translated = google_translate_api( $content, $target_language );
// return $translated;
return $content;
}
add_filter( 'the_content', 'custom_auto_translate_product_description' );
3. Настройка ручного перевода для WooCommerce
Убедитесь, что товары и атрибуты связаны между языками корректно в вашем плагине переводов. Для WPML это делается в WooCommerce Multilingual — там же можно отредактировать переводы вручную.
4. Кэш и очистка данных
После отключения автоматического перевода очистите кэш сайта (плагины кэширования, серверный кэш) и браузера. Это предотвратит показ старых версий страниц с автоматическими переводами.
Проверка результата после внедрения
- На сайте переключитесь между языками и проверьте, что описания и названия товаров отображаются только в тех переводах, которые вы создали вручную.
- Проверьте SKU, чтобы они не дублировались и не изменялись автоматически.
- Используйте инструменты разработчика браузера для проверки, что в коде страницы не загружаются скрипты автоматического перевода.
Частые ошибки и как их исправить
Ошибка 1: Описание товара всё ещё автоматически переводится после отключения в настройках
Причина: автоматический перевод подключён напрямую в коде темы или другого плагина.
Решение: Проведите аудит кода, отключите или удалите вызовы API и фильтры, которые реализуют автоперевод.
Ошибка 2: Дублирование товаров и SKU после отключения автоматического перевода
Причина: некорректная связь между языковыми версиями товаров.
Решение: Проверьте правильность сопоставления товаров в плагине, используйте инструменты WooCommerce Multilingual для проверки связей.
Ошибка 3: Кэш показывает старую версию с автоматическим переводом
Причина: не очищен кэш.
Решение: Очистите кэш плагина, браузера и, если есть, серверный кэш.
Практические советы по безопасности и производительности
- Безопасность: при использовании API машинного перевода храните ключи API вне публичных директорий и в файлах с ограниченным доступом, например, в
wp-config.php. - Производительность: отключайте автоматический перевод на уровне кода, чтобы избежать лишних HTTP-запросов и задержек загрузки.
- Кэширование: всегда очищайте кэш после изменений в настройках мультиязычности для корректного отображения контента.
Чек-лист для отключения автоматического перевода WooCommerce
- Проверить настройки автоматического перевода в плагинах и отключить их.
- Аудит и отключение кастомных функций автоперевода в коде.
- Проверить корректность связей товаров между языками.
- Очистить все уровни кэша.
- Провести тестирование переключения языков на сайте.
Таблица сравнения вариантов отключения авто-перевода
| Метод | Преимущества | Недостатки | Пример |
|---|---|---|---|
| Отключение в настройках плагина | Быстро и просто, не требует кода | Не всегда полностью отключает автоперевод | WPML: Translation Management - отключить авто-перевод |
| Отключение в коде (фильтры, API вызовы) | Полный контроль, отключение любых автопереводов | Требует навыков разработки | Удалить add_filter('the_content', 'custom_auto_translate_product_description'); |
| Удаление сторонних плагинов автоперевода | Наиболее радикальный способ | Может повлиять на другие функции сайта | Удалить плагин Google Translate Widget |