Как перевести Gravity Forms в WordPress: поля, уведомления, подтверждения и условная логика
Узнайте, как перевести каждую часть формы Gravity Forms на Вашем сайте WordPress на все языки, на которых говорят Ваши посетители. В этом руководстве рассматриваются метки полей, поля цен (Pricing Fields), параметры выпадающих списков, сообщения о проверке для каждого поля, подтверждения, уведомления с маршрутизацией, условная логика и дополнения для интеграции, принимающие отправленные данные. Оно проведет Вас через рабочий процесс Gravity Forms с WPML и дополнением GFML.
Перед началом работы
Установите и активируйте следующие плагины:
- Gravity Forms.
- WPML и WPML Перевод строк.
- GFML – Gravity Forms Multilingual (дополнение, рассматриваемое на этой странице).
Создайте форму в Gravity Forms на исходном языке Вашего сайта. Добавьте все необходимые поля (поля цен, структуру с разбивкой на страницы, условную логику, уведомления и подтверждения) перед отправкой формы на перевод. Вы всегда можете изменить форму позже и перевести только отличия.
Функция «Переводить все автоматически» сделает это за Вас
Если на Вашем сайте включен режим Переводить все автоматически, Вам не нужно отправлять форму на перевод вручную. WPML подхватывает новые и обновленные формы вместе с остальным контентом и переводит их в фоновом режиме. Описанный ниже шаг вставки на страницу по-прежнему актуален, но шаг отправки формы на перевод выполняется автоматически. В остальной части этой страницы описывается ручной способ для сайтов, использующих режим Переводить выборочно: вы выбираете, что переводить (или для форм, которые Вы хотите перевести вне автоматической очереди).
Отправка формы на перевод
- Откройте WPML > Переводы > Панель управления.
- Разверните раздел Gravity Forms.
- Отметьте форму, которую хотите перевести.
- Выберите метод перевода: PTC (рекомендуется), Ваш переводчик или Переводить самому.
- Нажмите Перевести.
Форма, ее поля, параметры, уведомления, подтверждения и сообщения о проверке для каждого поля попадают в одно и то же задание на перевод. Переводчики видят их как строки с метками в Расширенном редакторе переводов.
Вставка формы на переведенные страницы
Gravity Forms размещается внутри страницы или записи, обычно с помощью блока Gravity Forms или шорткода [gravityform id="X" title="false"]. То, как Вы обрабатываете мультиязычную вставку, чаще всего удивляет клиентов, поэтому вот правило:
Используйте один и тот же блок или шорткод во всех языковых версиях страницы. Не создавайте отдельную форму для каждого языка.
Рабочий процесс:
- Создайте форму один раз на исходном языке.
- Отправьте форму на перевод (или позвольте режиму Переводить все автоматически подхватить ее).
- Вставьте форму на страницу на исходном языке с помощью блока Gravity Forms или шорткода
[gravityform]. - Переведите страницу через WPML > Переводы > Панель управления так же, как Вы переводите любую другую страницу. Встроенная форма сохраняется на переведенной странице.
- Когда посетитель заходит на переведенную страницу, GFML автоматически отображает форму на языке посетителя — тот же ID формы, тот же шорткод, переведенный контент.
Вам не нужен отдельный ID формы для каждого языка. Вам не нужно менять шорткоды для каждого языка. Перевод связан с исходной формой; связующий плагин определяет нужную языковую версию во время рендеринга на основе языка страницы.
Исключение — когда Вам действительно нужны разные формы для разных языков. Некоторым сайтам требуются структурно разные формы для каждого языка (разные поля, разная логика, а не просто разный текст). В этом случае создайте отдельные формы Gravity Forms (по одной для каждого языка) и вставьте шорткод каждой из них в соответствующую языковую версию страницы с помощью редактора WordPress для этого перевода. Это единственная ситуация, когда шорткоды различаются в зависимости от языка.
Подводные камни конструкторов страниц
Если Ваша страница создана в Divi, Elementor или другом конструкторе страниц, который оборачивает шорткоды в собственный текстовый модуль, шорткод не всегда может корректно пережить перевод. Если на переведенной странице отображается форма на исходном языке, откройте переведенную страницу в конструкторе страниц и заново вставьте туда блок формы или шорткод. Встроенный редактор блоков WordPress и классический редактор не имеют этой проблемы.
Метки полей и параметры переводятся вместе с полями цен и товаров
Каждая метка поля, плейсхолдер, параметр выпадающего списка, переключатель, метка чекбокса и HTML-контент поля появляются в задании на перевод. Для характерных для Gravity Forms полей цен (товар, количество, итого, доставка) метки также переводятся — «Quantity» (Количество) становится «Quantité», — в то время как базовая обработка чисел остается нетронутой. Поля списков, цифровые подписи и загрузка файлов переводятся таким же образом. Множественный выбор и выбор изображения (типы полей Gravity Forms 2.9) переводятся начиная с версии GFML 1.8.3.
Формы с разбивкой на страницы и диалоговые формы
В формах с разбивкой на страницы каждый заголовок страницы и название разрыва страницы находятся в задании на перевод. Условная логика, которая разветвляется по страницам, сохраняется при переводе. Значения выбора остаются согласованными на всех языках, поэтому правила показа/скрытия продолжают срабатывать на тех же данных. Диалоговые формы (режим «один вопрос за раз») переводят каждую подсказку и каждый переход. Выберите одну языковую версию, пройдите через диалоговый процесс и убедитесь, что каждый шаг звучит естественно, прежде чем публиковать.
Сообщения о проверке для каждого поля
Каждое поле в Gravity Forms имеет собственную настройку Validation Message (Сообщение о проверке) на вкладке Advanced (Дополнительно) этого поля — текст, который отображается при сбое проверки. Каждое из них отображается как строка в Расширенном редакторе переводов.
Если Вы не видите сообщение о проверке для конкретного поля в задании на перевод, вероятно, поле использует сообщение Gravity Forms по умолчанию (заданное в Forms > Settings > Form Settings), а не переопределение для конкретного поля. Либо задайте пользовательское сообщение для каждого поля и повторно отправьте форму на перевод, либо переведите глобальное значение по умолчанию с помощью WPML Перевод строк.
Подтверждения: текст, перенаправление и страница
Gravity Forms поддерживает три типа подтверждений, и все три работают в мультиязычном режиме:
- Текстовые подтверждения переводятся встроенно. Отредактируйте подтверждение на исходном языке в Gravity Forms > повторно отправьте форму на перевод > переведенный текст появится для каждого языка.
- Подтверждения типа Страница указывают на страницу WordPress. Переведите эту страницу с помощью обычного рабочего процесса перевода страниц WPML; посетитель увидит языковую версию, соответствующую его контексту.
- Подтверждения типа Перенаправление отправляют посетителя на URL-адрес после отправки. Сам URL-адрес можно перевести для каждого языка. Задайте отдельный URL-адрес страницы благодарности для каждого языка в Расширенном редакторе переводов.
Уведомления и маршрутизация уведомлений
Каждое уведомление Gravity Forms переводится для каждого языка: To Email (Кому), From Name (От кого), Subject (Тема), шаблоны тела письма и теги слияния. В теле уведомления используются теги слияния Gravity Forms ({Name}, {Email}, {All Fields}), и они корректно обрабатываются после перевода. Правила маршрутизации уведомлений отправляют разные данные разным получателям на основе значений полей. Они сохраняются при переводе, поскольку базовые значения выбора остаются согласованными на всех языках.
После перевода отправьте тестовую форму на каждом языке и убедитесь, что уведомление приходит на языке посетителя с правильными подстановками тегов слияния.
Условная логика для переведенных значений выбора
Условная логика для текстовых вариантов выбора (переключатели, чекбоксы, выпадающие списки) продолжает работать в переводах, поскольку GFML поддерживает карту значений между исходными и переведенными метками. Посетитель видит «Pas encore» на французском; базовое значение остается «Not yet»; условное правило продолжает срабатывать на «Not yet».
Единственное, что ломает условную логику: изменение метки выбора на исходном языке после перевода без повторной отправки формы на перевод. Сопоставление устаревает. Исправьте это, повторно отправив форму — GFML обновит карту значений.
Дополнения для интеграции: Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks
Дополнения Gravity Forms, которые отправляют данные в сторонние сервисы (Mailchimp, ActiveCampaign, HubSpot, Zapier, Slack, Webhooks и другие), получают переведенный ввод посетителя. Имя и сообщение французского посетителя поступают в пункт назначения на французском языке. Сопоставленные метки списков, этапы воронки и названия каналов также переводятся, если они существуют в виде строк на уровне формы.
Если Ваша интеграция использует значения полей, а не метки (например, сопоставление значения выпадающего списка со списком Mailchimp), значение остается каноническим на всех языках, поэтому сопоставление не нарушается.
Распространенные проблемы
- Метки выбора не переводятся в электронных письмах с уведомлениями. Повторно отправьте форму на перевод после изменения меток на исходном языке. Если проблема не устранена, убедитесь, что GFML обновлен. Это была повторяющаяся проблема в старых версиях, которая отслеживается в обсуждениях поддержки.
- Стилизация блока формы выглядит неправильно на переведенных страницах. Известная регрессия стилей — см. страницу известных проблем. Обходное решение: используйте стандартную вставку шорткода
[gravityform]вместо блока формы, пока ожидается исправление. - Форма показывает «There is nothing to translate» (Нечего переводить), когда очевидно, что это не так. Обычно это проблема кэша панели управления. Обновите страницу или повторно отправьте форму на перевод из записи, в которую она встроена.
- Условная логика перестает срабатывать в переведенных формах. Метка выбора была отредактирована на исходном языке после перевода. Повторно отправьте форму на перевод, чтобы обновить карту значений.
Автор: Amir · Последнее обновление: 2 июля 2026 года
Автор: Amir · Последнее обновление: 2 июля 2026