<b>Локализация плагина: 5 ошибок, из-за которых интерфейс ломается у пользователей</b>
Локализация в WordPress — это не просто перевести строки в .po/.mo. Плагин должен уметь отдавать текст через правильные функции: __(), _e(), esc_html__(), esc_attr__(). Если в коде остаются «голые» строки, переводчик их не увидит, а пользователь — не поймёт, почему часть интерфейса внезапно на английском.
Проверьте базу: текстовый домен везде одинаковый, загрузка переводов подключена через load_plugin_textdomain(), а строки не склеиваются вручную. Плохо: "Save " . $name. Лучше: sprintf( __( 'Save %s', 'my-plugin' ), $name ). Так переводчику проще менять порядок слов и падежи.
Отдельно смотрите на экранирование: для атрибутов — esc_attr__(), для HTML — esc_html__(). Если перевод вставляется в ссылку, кнопку или всплывающее окно без экранирования, вы получаете либо битую верстку, либо уязвимость. И не забывайте про plural-формы: _n() нужен там, где число влияет на смысл.
Перед релизом прогоните плагин по списку: все строки вынесены в gettext, текстовый домен один, переводы грузятся корректно, динамические данные идут через sprintf, а длинные сообщения не режут смысл на английской структуре. Тогда локализация не превратится в ручной ремонт после жалоб пользователей.
Создание плагинов для WordPress
@plugin_development_pro_ww
<b>Локализация плагина: 5 ошибок, из-за которых интерфейс ломается у пользователей</b>
Этот пост опубликован в Telegram-канале Создание плагинов для WordPress. Подписаться можно по ссылке: @plugin_development_pro_ww.