Проблема: устаревшие переводы WooCommerce на сайте
WooCommerce активно развивается, и обновления плагина обычно сопровождаются изменениями в текстах, которые требуют перевода. Если переводы не обновлять, пользователи увидят старый или некорректный интерфейс на своем языке, что ухудшает UX и может повлиять на продажи.
Часто администраторы не замечают, что языковые файлы устарели, или обновляют их вручную, что неудобно и подвержено ошибкам.
Диагностика проблемы с переводами WooCommerce
- Проверьте текущую версию WooCommerce и версию языковых файлов. Для этого в каталоге
wp-content/languages/plugins/найдите файлыwoocommerce-*.moиwoocommerce-*.po. - Сравните дату их последнего изменения с датой обновления плагина WooCommerce.
- Если языковые файлы устарели, вы увидите, что новые строки не переведены или отображаются на английском.
- Проверьте наличие ошибок перевода на страницах магазина: описание товаров, кнопки, уведомления.
Пошаговое решение: автоматическое обновление переводов WooCommerce
1. Включение автоматического обновления переводов WordPress
WordPress по умолчанию обновляет языковые файлы для основных плагинов, но иногда это отключено. Добавьте в wp-config.php следующий код, чтобы гарантировать обновление переводов:
define('CORE_UPGRADE_SKIP_NEW_BUNDLED', false);
define('TRANSLATE_UPDATES', true);Обратите внимание, что TRANSLATE_UPDATES – неофициальная константа, в некоторых версиях WP может не сработать. Поэтому лучше использовать встроенный хук.
2. Принудительное обновление языковых файлов через wp-cli
Если у вас есть доступ к серверу и установлен wp-cli, выполните команду для обновления всех переводов:
wp language plugin update woocommerce --allЭта команда скачает последние языковые файлы для WooCommerce и установит их в wp-content/languages/plugins/.
3. Автоматизация обновления с помощью планировщика WP-Cron
Можно добавить код в файл functions.php вашей темы или в кастомный плагин, чтобы регулярно обновлять переводы:
function wplangs_auto_update_woocommerce_translations() {
if ( ! class_exists('Automatic_Upgrader_Skin') ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
}
$upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
$upgrader->bulk_upgrade( array('woocommerce') );
}
add_action('wplangs_daily_update_translations', 'wplangs_auto_update_woocommerce_translations');
if ( ! wp_next_scheduled('wplangs_daily_update_translations') ) {
wp_schedule_event( time(), 'daily', 'wplangs_daily_update_translations' );
}Этот код запускает обновление WooCommerce (включая переводы) ежедневно. Можно настроить период по своему усмотрению.
Проверка результата после внедрения
- После выполнения
wp language plugin updateили срабатывания WP-Cron зайдите вwp-content/languages/plugins/и проверьте дату обновленияwoocommerce-*.moфайлов. - Откройте страницы магазина на нужном языке и убедитесь, что новые строки переведены (например, проверяйте недавно добавленные кнопки или сообщения).
- В админке WordPress в разделе «Обновления» не должно появляться уведомлений о необходимости обновить языковые файлы WooCommerce.
Частые ошибки и как их исправить
- Переводы не обновляются автоматически
Проверьте, не блокирует ли сервер внешние HTTP-запросы (функцияwp_remote_get). Если заблокированы, обновления не скачиваются. Разрешите исходящие соединения. - Переводы обновились, но на сайте по-прежнему английский
Очистите кэш сайта и браузера. Если используете кэширующие плагины, сбросьте кеш. Возможно, стоит удалить старые .mo файлы вручную. - Команда wp-cli не работает
Убедитесь, что wp-cli установлен и запускается от пользователя с правами на запись в каталоги WordPress.
Практические советы по безопасности и производительности
- При использовании WP-Cron для обновлений выбирайте период с учетом нагрузки на сервер — ежедневное обновление обычно достаточно.
- Обновления языковых файлов не требуют больших ресурсов, но при большом трафике лучше планировать их на ночное время.
- Не храните переводы WooCommerce в папках темы, чтобы избежать потери при обновлении темы.
- Используйте WPShop плагин Clearfy Pro для оптимизации и очистки сайта, это поможет улучшить производительность при обновлениях.
Сравнение способов обновления переводов WooCommerce
| Метод | Преимущества | Недостатки |
|---|---|---|
| Ручное обновление через админку WP | Простота, не требует доступа к серверу | Забывается, долго |
| Команда wp-cli | Быстро, подходит для администраторов с доступом к серверу | Требует доступа к консоли |
| Автоматизация через WP-Cron | Полная автоматизация, не нужно вмешательство | Зависит от корректной работы WP-Cron, сложнее настраивать |