Добавление поддержки локализации в тему GeneratePress

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

Почему важно добавить локализацию в GeneratePress

Локализация позволяет адаптировать сайт под разные языки и регионы, что особенно актуально для интернет-магазинов, блогов и корпоративных сайтов с международной аудиторией. Несмотря на то, что GeneratePress уже поддерживает перевод, для полноценной локализации часто требуется добавить собственные текстовые строки и корректно их подключить.

Без правильной локализации вы рискуете получить сайт, где часть элементов останется на английском языке, что негативно скажется на пользовательском опыте и SEO.

Подготовка темы GeneratePress к локализации

GeneratePress изначально готова к переводу, так как использует функции __() и _e() для текстов. Но если вы хотите добавить свои кастомные строки (например, в дочерней теме или через плагин), нужно сделать следующее:

Создаем файл перевода

Для начала создайте папку /languages/ в директории вашей темы или дочерней темы. В ней будут храниться файлы перевода с расширением .po и .mo.

Рекомендуется использовать программу Poedit для создания этих файлов. В Poedit импортируйте исходные тексты или сканируйте файлы темы на наличие строк для перевода.

Загрузка текстового домена

Чтобы WordPress знал, где искать переводы, добавьте в файл functions.php вашей дочерней темы следующий код:

function generatepressru_load_textdomain() {
    load_child_theme_textdomain( 'generatepress', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'generatepressru_load_textdomain' );

Здесь 'generatepress' — это текстовый домен темы. Важно использовать именно тот же домен, который применяется в теме.

Добавление новых строк для перевода в GeneratePress

Если вы хотите добавить новые строки (например, в шаблонах или дополнительных функциях), используйте функции локализации WordPress:

  • __('Текст для перевода', 'generatepress') — возвращает переведенный текст;
  • _e('Текст для перевода', 'generatepress') — выводит переведенный текст сразу.

Например, в дочерней теме можно добавить кастомный блок с переводимой надписью:

function generatepressru_custom_message() {
    echo '<p>' . __('Добро пожаловать на наш сайт!', 'generatepress') . '</p>';
}
add_action( 'generate_after_header', 'generatepressru_custom_message' );

После этого в файле перевода добавьте строку "Добро пожаловать на наш сайт!" и переведите её.

Использование плагинов для многоязычности с GeneratePress

Сам GeneratePress не предоставляет встроенной системы многоязычности, поэтому для полноценного мультиязычного сайта понадобится плагин. Рассмотрим два популярных варианта:

WPML

Один из самых мощных и функциональных плагинов для мультиязычности. WPML отлично совместим с GeneratePress, позволяет переводить все элементы сайта — страницы, записи, меню, виджеты, и даже строки темы.

Для перевода строк темы с WPML зайдите в раздел WPML - String Translation и найдите строки с текстовым доменом generatepress.

Polylang

Бесплатный плагин с простым интерфейсом и широкими возможностями для перевода. Также совместим с GeneratePress. После установки и настройки Polylang вы сможете создавать версии страниц на разных языках.

Практический пример: добавляем кастомные локализуемые сообщения в GeneratePress

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

function generatepressru_footer_custom_text() {
    $text = __('Спасибо, что посетили наш сайт!', 'generatepress');
    echo '<div class="footer-custom-text">' . esc_html( $text ) . '</div>';
}
add_action( 'generate_footer', 'generatepressru_footer_custom_text' );

После этого добавьте строку в PO-файл перевода в папке /languages/. Например, в Poedit создайте перевод для русского и английского языков.

Советы по работе с локализацией GeneratePress

  • Всегда используйте функции __() и _e() с правильным текстовым доменом.
  • Храните переводы в отдельной папке /languages/ дочерней темы, чтобы не потерять их при обновлении GeneratePress.
  • Тестируйте переводы на разных языках, чтобы убедиться, что все строки отображаются корректно.
  • Для динамических текстов используйте функцию sprintf() вместе с локализацией.
  • Если используете плагины для мультиязычности, обязательно проверяйте их совместимость с GeneratePress.

Для удобного управления плагинами и функциями локализации можно использовать, например, плагин Clearfy Pro, который помогает оптимизировать работу WordPress и управлять различными настройками, включая локализацию.

Как добавить динамические атрибуты в GeneratePress для успешного SEO
24.02.2026
WooCommerce: как изменить текст подтверждения заказа в GeneratePress
17.05.2026
Использование хуков и фильтров в GeneratePress для расширения функционала
11.04.2026
Как создать динамические отзывы с подгрузкой в GeneratePress
06.01.2026
Как создать динамические меню в GeneratePress для удобства управления сайтом
22.11.2025