• У меня стоит тема, она вообщем на русском. Но время от времени всплывает пара фраз на английском. Ставить локализатор ради двух фраз наверное не очень, подскажите пожалуйста, как написать фильтр в function.php для перевода фразы или слова.

Просмотр 1 ответа (всего 1)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В общем случае примерно так:

    function translate_strings( $text ) {
        $search = array(
            'String 1',
            'String 2',
        );
    
        $replace = array(
            'Перевод строки 1',
            'Перевод строки 2',
        );
    
        return str_replace( $search, $replace, $text );
    }
    add_filter( 'gettext', 'translate_strings' );

    Можно добавить условие, чтобы замена срабатывала только для строк темы, а не для всех подряд, но для этого нужно знать используемое в теме значение textdomain.

    Также стоит поискать сами строки в коде темы — возможно, они не используют функции локализации, и тогда остаётся только перевести их прямо там.

Просмотр 1 ответа (всего 1)
  • Тема «Фильтр для перевода фразы» закрыта для новых ответов.