Использование Gravity Forms с WPML

В этом кратком руководстве мы покажем, как в WPML можно перевести формы, созданные с помощью Gravity Forms.

Зачем переводить формы

Можно использовать любой плагин формы обратной связи и просто создавать различные формы для каждого языка отдельно. В чем преимущество перевода одной и той же формы на разные языки?

Основная причина – удобство.

Настройка формы может быть сложной. Часто хочется добавить логическую часть для уведомлений, проверки и других параметров «за кулисами». Кроме того, часто легче вставить одну форму контакта в контент, не беспокоясь о том, на каком она языке.

WPML позволяет создавать с помощью Gravity Forms один набор форм на вашем языке. Затем вам всего лишь нужно перевести тексты в формах, а WPML будет отображать их на правильном языке. Для всех языков используется одна и та же форма и любые изменения будут применяться сразу ко всем языкам.

Готовы? Тогда начнем!

Перевод форм GravityForms

1. Создание формы

Для перевода формы необходимо настроить форму Gravity на своем сайте. Для справки просмотрите документацию по созданию форм Gravity. Здесь можно увидеть простую форму обратной связи, созданную в консоли WordPress. Языком по умолчанию используется английский (если язык по умолчанию у вас не английский, прочтите внизу раздел «Когда английский не установлен языком по умолчанию»).

формы-gravity

 

2. Отправка в Корзину перевода

Во время перевода форм Gravity мы на самом деле переводим только тексты. WPML отфильтрует отображаемые тексты в вашей форме и будет использовать перевод, если он доступен.
Он извлекается через модуль управления переводами WPML и надстройку «Многоязычные Gravity Forms». Если это ваше первое знакомство с ними, обязательно почитайте об Управлении переводами WPML.

 

01GFML_добавление в корзину

а. Перейдите в WPML > Управление переводами.
б. Выберите «Форма Gravity» в фильтре Тип, щелкните синюю кнопку «Показать» – ваши формы теперь отображаются в списке документов на перевод.
в. Выберите «Перевести» и щелкните кнопку «Добавить в корзину перевода».
г. Перейдите в «Корзину перевода», выберите переводчика и щелкните синюю кнопку «Отправить все элементы на перевод».

02GFML_Выбор переводчика

3. Перевод строк ваших форм

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

Вашим переводчикам необходимо войти в WPML. У них откроется меню «Переводчики». В нем можно найти заказы на перевод, которые вы для них создали.

а. Перейдите в WPML > Переводы, найдите свою форму (для примера мы взяли форму с именем WPML EN).

03_GFML_Использование и редактирование строк

 

 

б. Щелкните кнопку «Использовать это и редактировать» рядом с именем формы, чтобы перевести все строки (также по желанию можно использовать Перевод строк).
в. Закончив перевод, поставьте отметку «Перевод закончен».
г. Щелкните синюю кнопку «Сохранить перевод».

04_GFML_Перевод

4. Взгляните на переведенные формы

WPML не создает новые формы с переведенными полями. Он делает так, что существующие формы отображаются в переведенном виде. При размещении только что переведенной формы на странице на «языке перевода» форма будет отображаться на этом языке.

Вот как выглядит пример нашей формы контакта при размещении на странице на испанском языке:

GFML Все переведено

Что включено в перевод

Многоязычные GravityForms переведет все созданные в форме поля – Стандартные поля, Расширенные поля, Поля записей, Поля цен и Поля опросников (поддержка полей опросников доступна после выпуска Gravity Forms Multilingual 1.3.7).

И, конечно же, в дополнение можно перевести Уведомления и Подтверждения формы с помощью надстройки Перевод строк – WPML > Перевод строк. Поиск нужной строки производится в окне поиска путем выбора контекста «gravity_form-{form_id}» в поле «Выбрать строки в контексте».

Изменение выбора для полей формы

У определенных типов полей в формах Gravity есть несколько вариантов на выбор, включая раскрывающийся список, список с множественным выбором, радиокнопки и флажки.

Обратите внимание, что добавление новых вариантов или изменение их расположения в уже переведенных полях может привести к потере переводов этих полей. В этом случае отредактированное поле придется перевести повторно.

Контент, отправленный через переведенные формы

Обратите внимание, что плагин GravityForms не распознает язык. Если контент отправляется через переведенную форму, он создается на языке по умолчанию. Вы можете воспользоваться обработчиками и фильтрами GravityForms, чтобы создать свою собственную логическую часть. В ней можно задать язык отправленного контента после его создания GravityForms.

Требуемые плагины

    1. WPML для Многоязычной CMS версии 3.2.6 (или более поздней, включая надстройки для Перевода строк и Управления переводами)
    2. GravityForms 1.9 (или более поздней версии)
    3. GravityForms Multilingual 1.3.3 (или более поздней версии)