Переводим Ninja Forms в WP

Ninja Forms это крутой модуль-конструктор для создания пользовательских форм в WP. Это впечатление не покидает вас даже когда вы переходите к изучению API этого плагина. Сегодня я покажу приемы, как сделать ваши (ниндзя) формы мультиязычными.

О том, как устроена мультиязычность в WP, здесь я рассказывать не буду.

Один из способов:

Можно создать несколько форм для каждого из языков сайта и показывать их на соответствующих языковых страницах. Такой вариант не требует навыков программирования — нужно лишь аккуратно расставить шок-коды для вставки форм. Результаты ответов на разных языках будут храниться в соответствующих формах, и это может быть даже удобным :).

Но я расскажу о другом варианте, который мне кажется более верным.

Нашей задачей является применение ко всем строковым константам функции-обертки __(‘your string here’). Ninja form позволяет зацепиться и отфильтровать любые элементы создаваемых форм и полей.

Перевод меток и плейсхолдеров полей.

Здесь я хочу отметить два момента:

  • Укажите пространство имен переводов (в примере — mytheme-ninjaforms), чтобы выделить переводы связанные с вашей темой и ninja forms в отдельную группу или файл;
  • свойств у полей гораздо больше, изучайте что ещё можно перевести с помощью этого фильтра.

Перевод/исправление сообщений об ошибках и других строковых констант формы

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

Этот пример я взял из офф руководства (там правда текст был для польского языка).

В хук передаются переведенные значения для текущей локали. Для мультиязычного варианта более верно:

Зацепка к сообщениям, настройкам всей формы

Данный фильтр позволяет изменить настройки формы, получить доступ ко всем сообщениям об ошибках. Частично этот фильтр пересекается с предыдущим.

Ещё хуки…

Это далеко не полный перечень зацепок, которые можно задействовать при переводе. Покопаться можно в /includes/Display/Render.php файле плагина, чтобы найти что то более специфичное.

Мало букафф? Читайте есчо !

Genzel Breadcrumbs плагин для WP

Июль 3, 2017 г.

Так как все время по работе возникает необходимость добавления в шаблоны хлебных крошек, то решил не лениться и оформить код в виде более универсального ...

Читать

Отключение emoji в WP

Апрель 1, 2025 г.

Возможно, это не полное решение проблемы, но большая его часть. Если вам нужно отключить обработку эмоджи, которая реализована в ядре, вам потребуется отключить целую пачку обработчиков. Часть из них т.н. действия (action), другие - фильтры (filter). ...

Читать

Иерархия шаблонов в WordPress

Март 23, 2017 г.

Шаблоны в рамках темы Wordpress, как и во многих других CMS, имеют строго определенную иерархию. Что это означает на практике? Когда WP требуется определить ...

Читать

Ещё один вариант подключения картинки в редактор таксономии

Июль 7, 2017 г.

Предыдущий вариант встраивания картинки в редактор терминов меня не устраивает в части работы диалога и того, что в базу сохраняется URL, а не ID картинки (thumbnail). Что не так с диалогом? Использован диалог выбора URL картинки встроенного в WP ...

Читать
 

Комментарии к «Переводим Ninja Forms в WP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: