Как добавить собственные скачиваемые переводы в WordPress

Когда работаешь с WordPress, часто возникает задача локализовать сайт под нужный язык, особенно если стандартных переводов для темы или плагина недостаточно. В этой статье подробно разберём, как самостоятельно добавить и подключить собственные языковые файлы, чтобы ваши переводы были максимально точными и не зависели от сторонних сервисов и плагинов.

Почему стоит использовать собственные языковые файлы в WordPress

WordPress использует систему gettext для локализации, которая базируется на файлах .po и .mo. По умолчанию многие темы и плагины поставляются с набором переводов, но они могут быть неполными, устаревшими или не содержать специфической терминологии вашего проекта.

Добавление собственных языковых файлов позволяет:

  • Контролировать качество и точность перевода.
  • Обновлять переводы без риска потерять изменения при обновлении темы или плагина.
  • Поддерживать уникальную терминологию и сленг, характерный для вашего сайта.

Где и как создаются файлы перевода .po и .mo

Файлы .po (Portable Object) — это текстовые файлы с парами "оригинальный текст — перевод". Файлы .mo (Machine Object) — это бинарные файлы, которые WordPress загружает для отображения перевода.

Для создания и редактирования .po-файлов можно использовать программы:

  • Poedit — самый популярный редактор с удобным интерфейсом и проверкой синтаксиса.
  • Loco Translate — плагин для WordPress, позволяющий работать с переводами прямо из админки.
  • Poedit и Loco Translate генерируют файлы .mo автоматически.

Создание файла перевода в Poedit

Откройте Poedit и выберите "Создать новый перевод". В качестве исходного файла укажите .pot или .po файл темы/плагина. Далее переведите необходимые строки, сохраните файл с именем, соответствующим языковому коду, например ru_RU.po. После сохранения Poedit автоматически создаст ru_RU.mo.

Где размещать собственные языковые файлы в WordPress

Важно хранить собственные переводы в правильных папках, чтобы изменения не затерялись при обновлении. Существует несколько вариантов:

  • wp-content/languages/themes/ — для переводов тем.
  • wp-content/languages/plugins/ — для переводов плагинов.
  • Внутри папки темы или плагина — не рекомендуется, так как при обновлении они перезапишутся.

Для темы с названием "mytheme" и языком ru_RU файл должен называться mytheme-ru_RU.mo и лежать в wp-content/languages/themes/.

Пример подключения собственного перевода в functions.php

Если вы хотите убедиться, что ваш перевод загружается корректно, добавьте в файл functions.php темы следующий код с префиксом wptranslate_ для функций:

function wptranslate_load_custom_theme_textdomain() {
    load_theme_textdomain('mytheme', get_stylesheet_directory() . '/languages');
}
add_action('after_setup_theme', 'wptranslate_load_custom_theme_textdomain');

В этом примере мы загружаем переводы из папки /languages внутри дочерней темы. Если вы храните файлы в wp-content/languages/themes/, WordPress загрузит их автоматически.

Как проверить, что перевод работает

Чтобы убедиться, что ваши переводы применяются:

  1. Установите язык сайта в админке WordPress в «Настройки» → «Общие» → «Язык сайта».
  2. Очистите кэш, если используете плагин кеширования.
  3. Перейдите на фронтенд и проверьте переведённые строки.

Если строки не перевелись, проверьте соответствие домена текста в функции __() и _e() с указанным в load_theme_textdomain().

Пример создания собственного перевода для плагина

Допустим, у вас есть плагин с текстовым доменом myplugin. Вы создали перевод myplugin-ru_RU.po и myplugin-ru_RU.mo. Для загрузки перевода добавьте в основной файл плагина следующий код:

function wptranslate_load_custom_plugin_textdomain() {
    load_plugin_textdomain('myplugin', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
add_action('plugins_loaded', 'wptranslate_load_custom_plugin_textdomain');

Это гарантирует, что перевод будет подхвачен из папки /languages/ внутри плагина.

Автоматизация обновления переводов с помощью WP-CLI

Если вы часто обновляете переводы, удобно использовать WP-CLI для управления языковыми файлами.

Команда для обновления языковых файлов темы:

wp language theme update mytheme

Аналогично для плагинов:

wp language plugin update myplugin

Это позволит быстро подтянуть официальные переводы или обновить собственные, если они размещены в официальном репозитории.

Полезные плагины для работы с переводами и локализацией

  • Loco Translate — позволяет редактировать .po файлы прямо из админки, автоматически создаёт .mo.
  • Say What? — позволяет заменять строки без редактирования файлов перевода, полезно для быстрых исправлений.
  • Codestyling Localization — ещё один редактор переводов, но сейчас менее актуален из-за отсутствия поддержки.

Итог

Добавление собственных скачиваемых переводов в WordPress — это эффективный способ обеспечить качественную локализацию вашего сайта без зависимости от внешних сервисов и плагинов. Следуя рекомендациям по созданию, размещению и подключению файлов .po и .mo, вы сможете полностью контролировать процесс перевода и гарантировать его корректность.

Оптимизация автоперевода описаний товаров WooCommerce в WordPress
14.05.2026
Как сделать автоперевод контента WordPress на основе open source решений
23.01.2026
Как добавить поддержку языков в собственном виджете WordPress
26.01.2026
Как использовать WPML для перевода производительных тем WordPress
06.12.2025
Как создать многоязычный сайт на WordPress с помощью Polylang
09.11.2025