.po и .mo — как не сломать перевод сайта при выгрузке
Файлы локализации в WordPress работают парой: .po — это редактируемый текст переводов, .mo — скомпилированная версия для быстрого чтения сайтом. Если правите только .mo, изменения обычно теряются при следующей пересборке. Если правите только .po, но не создаёте .mo, сайт может продолжить показывать старые строки.
Типовая схема такая:
— переводите строки в .po;
— сохраняете файл с нужной кодировкой и без лишних изменений в именах;
— собираете .mo из того же .po;
— кладёте оба файла в правильную папку темы или плагина.
Частая ошибка — путать домен перевода и имя файла. Если текстовый домен в коде не совпадает с названием каталога/файла, WordPress просто не подхватит локализацию. Ещё одна проблема — редактировать перевод в одном редакторе, а потом пересобирать через другой: теряются плейсхолдеры, переносы строк и контекст.
Перед публикацией проверьте три вещи: строки с %s и %d не сломаны, кавычки и переносы не съехали, а в папке лежит именно тот .mo, который соответствует последнему .po. Для сложных шаблонов полезно хранить переводы отдельно от темы, чтобы обновление не затирало работу.
Если сайт внезапно показывает английский вместо перевода, начинайте с пары .po/.mo и домена — в этой связке обычно и прячется ошибка.
Локализация сайтов WordPress
@wp_translation_localization_ww
.po и .mo — как не сломать перевод сайта при выгрузке
Этот пост опубликован в Telegram-канале Локализация сайтов WordPress. Подписаться можно по ссылке: @wp_translation_localization_ww.