• Здравствуйте, я бы хотел заменить пару стандартный надписей т.к. я создаю не блог, а игровую площадку. С файлом ru_RU.po проблем не было, но надписи остались теми же.. пробовал открыть файл ru_RU.mo различными редакторами, к примеру в Notepad++ были практически везде надписи NUL.. Скачал программу Radialix 2, отредактировал надпись там, сохранил, но перевод вообще перестал работать, да и файл стал весить в 2 раза больше. Как же можно изменить стандартный перевод!?

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

    (@sergeybiryukov)

    Live and Learn

    Файлы .mo не предназначены для редактирования, они получаются путём компилирования файлов .po. При редактировании с помощью Poedit файлы .mo обновляются автоматически.

    Если изменить нужно всего несколько надписей, проще всего добавить подобный фрагмент в functions.php активной темы (сохранив файл в UTF-8 без BOM):

    function replace_default_strings( $text ) {
        $search = array(
            'Строка 1',
            'Строка 2',
            'Строка 3',
        );
    
        $replace = array(
            'Замена 1',
            'Замена 2',
            'Замена 3',
        );
    
        return str_replace( $search, $replace, $text );
    }
    add_filter( 'gettext', 'replace_default_strings' );

    Я не особо понимаю, не подскажите какой код нужно добавить в functions.php, чтобы изменить надпись «Прокомментировать запись «%s»» на «Прокомментировать игру %s»!?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В ядре WordPress такой строки нет (по крайней мере, в официальном дистрибутиве).

    Если она из файла перевода темы, отредактировать его можно с помощью Poedit:
    http://wpmag.ru/2013/kak-perevodit-temyi-wordpress/

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Ошибся, строка всё же есть. Изменить её можно так:

    function replace_default_strings( $text ) {
        $search = array(
            'Прокомментировать запись «%s»',
        );
    
        $replace = array(
            'Прокомментировать игру «%s»',
        );
    
        return str_replace( $search, $replace, $text );
    }
    add_filter( 'gettext', 'replace_default_strings' );

    Fatal error: Call to undefined function add_filter() in /home/u233776295/public_html/wp-includes/functions.php on line 4207

    Вернул оригинальный functions.php на сервер, но теперь пол темы не отображается! А именно админ-панель, низ сайта, комментарии и прочее!

    Fatal error: Call to undefined function add_filter() in /home/u233776295/public_html/wp-includes/functions.php on line 4207

    Когда речь идет о functions.php, то имеется в виду файл Темы. Файлы ядра движка категорически не рекомендуется трогать руками.

    Все перестало работать т.к. слетел код для подсчета количества просмотров страницы, я вернул его в functions.php, но он так и не заработал, пришлось убрать все части кода на страницах!

    Теперь когда я заново пытаюсь добавить код в functions.php при открытии сайта вот такая ошибка «Parse error: syntax error, unexpected ‘<‘ in /home/u233776295/public_html/wp-includes/functions.php on line 4196»

    Если бы еще знать каким редактором вы редактировали свой functions.php и не занесли ли в него сигнатуру BOM. Только не спрашивайте меня, что это такое — Википедия есть.
    ————
    И какой именно functions.php.
    ————
    Вам советовали редактировать тот, который внутри вашей активной темы, а вы похоже, нашли совсем другой.

    Сейчас все исправляю, редактор- AkellPad.. я изменил там параметры кодировки, а файлы сохраняю в UTF8 без BOM. Раньше код который отвечает за отображение кол-ва просмотров стоял именно в functions.php WP и никаких проблем не было, но сейчас видимо что то из-за кодировки не так. Выставляю все параметры в functions.php темы, как закончу.. отпишусь что получилось!

    Все исправил, все работает! Большое спасибо за ответы, в следующий раз буду внимательнее.. просто сплю по 5 часов в сутки и копаюсь в шаблоне! Нету времени даже на сон!

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «ru_RU (Перевод)» закрыта для новых ответов.