Skip Navigation
Originally written
April 13, 2011
October 8, 2020

WPML lets you create one set of forms with Gravity Forms, in the original language. Then, you only need to translate the texts that appear in these forms to other languages in your site. WPML will automatically display the form in the correct language. Since the same form is used for all languages, any changes you apply to it will instantly be visible in all languages.

Default language form Secondary language form


Getting started

If you are a developer, ensure that the Gravity Forms plugin is activated.

To get started, make sure that the following plugins are activated: WPML Multilingual CMS, WPML String Translation, WPML Translation Management, and Gravity Forms Multilingual.

If you own a website and are working with a developer, please ask for the developer’s assistance in managing these settings.

Translating Gravity Forms

WPML allows you to translate all your form fields including Standard Fields, Advanced Fields, Post Fields, and Pricing Fields. You can translate Gravity Forms:

We highly recommend using WPML’s Advanced Translation Editor (ATE) to translate your website content along with your form’s textual elements as it facilitates the translation process by providing features like, machine translation, a glossary, translation memory, spell checker, HTML-less editing, and more.

You can activate the Advanced Translation Editor by navigation to WPMLSettings, under the How to translate posts and pages section, choose “Use WPML’s Advanced Translation Editor” option for New content.

Activating WPML’s Translation Editor

This is a simple form that we created using Gravity forms.

Simple form

To translate this form, follow the steps below:

    1. Go to WPMLTranslation Management.
    2. Choose Gravity form from the Element type drop-down menu then click on the Filter button. You will see a list of all the forms that you have created.

Select the form(s) that you want to translate.

    1. Under the “Select translation options” section choose the Translate option corresponding to the languages you want to translate your form(s) into. Once done, click the Add selected content to translation basket button.
Send the forms you want to translate to the translation basket
    1. Go to the Translation Basket tab and click the Send all items for translation button.

      Go to the translation basket tab and send all items for translation

    2. Navigate to WPMLTranslations and click the Take and translate button corresponding to the from translation job. This will open the ATE page.

      Take the translation job

    3. Click the Translate automatically button to load the machine translation. Review the translation and make sure it is accurate. Once done click Finish then Complete to publish the translation.

      Translate the form content

You can also translate the confirmation and notification messages from the ATE screen as illustrated in the screenshot below:

Translation confirmation and notification messages

This is how the translated form looks on the front-end:

The translated contact form on the front-end

Translating Gravity Forms conditional fields

Conditional fields have labels and values. When translating a form using the Classic or Advanced Translation Editor, you translate the labels and values. To display conditional fields on any of the secondary language forms, you need to translate the labels only and set the value as not translated. Here is an example. We created a form that has two fields. In the first field, we have the question “Do you like ice-cream?” and the answers is “Yes” or “No” as (radio buttons). The second field is a conditional field. It shows up only when the user’s answer is “Yes”.

Conditional logic field

Translate the form as explained in the previous section. Once done, navigate to WPMLString Translation. From the “Select strings within domain:” drop-down menu, choose the domain of the from. In our case, it is “gravity_form-2” as our from ID is 2. Find the first question from values and uncheck “Translation is complete” checkbox then Save.

Uncheck Translation is complete for the conditional field values

With that, the conditional logic of the default language form fields will be copied to the secondary language.

Updating forms translation

You might need to update the default language form by adding, deleting, or updating the content of some fields. Of course, this will require updating the translation.

In our example, we will add an “address” field to our form. To update the translation of a form or add translation to new content that you added to the form follow the steps below:

  1. Navigate to WPMLTranslations. The spinning arrows icon indicates that the translation needs to be updated. Click on the Edit button to update the translation.

    Updating the form translation

  2. On the ATE screen, translate the new field(s) content and click Finish then Complete to update the translation.

    Translate the new field content

Content submitted into translated forms

Please note that the GravityForms plugin does not detect a language of contents submitted by its forms. When you submit content into a translated form, that content will still be created in the default language.

You can use GravityForms hooks and filters to write your own application logic and set the language of the submitted content after GravityForms creates it.

Known issues

Right now, there are no known compatibility issues between this plugin and WPML.

Getting help

In case you need help translating your site built using Gravity Forms and WPML, visit WPML’s support forum.