Contact Form 7 is one of the most popular WordPress plugins. It allows you to create, customize, and manage front-end forms for your site. In this tutorial, we provide step-by-step instructions on how to make these forms multilingual using WPML.

Here is a short video that explains the process of translating form built using the Contact Form 7 plugin:

What you will need

Essential resources

WPML’s Getting Started Guide helps you set up WPML in a few minutes. You will want to refer later to some of its subtopics, such as String Translation. We recommend that you keep this guide open while following this tutorial.

Translating your forms

To translate your forms, use the following steps:

  1. Create your form in the default language.
  2. Insert the form shortcode into a post, page, or widget in the default language.
  3. Translate the form.
  4. Translate the post, page, or widget that holds the form.

1. Create the contact form in the default language

To create your form, go to the Contact -> Add New page. When completed, you will get a shortcode for your contact form. Copy it.

Copying the shortcode for the form you created
Copying the shortcode for the form you created

2. Insert shortcode into content

Now, you need to insert the shortcode into a post, page, or widget in the default language.

In our example, we created a new page in English and added a shortcode to it.

Pasting the form shortcode into a page
Pasting the form shortcode into a page

3. Translate the form

To translate your form, go to the WPML -> Translation Management page. There, use the following steps:

  1. Select Contact Form in the first dropdown menu of the Select items for translation section.
  2. Use the checkboxes to select the form you want to translate.
  3. Click Add selected content to translation basket.
Sending your form for translation
Sending your form for translation

Now, go to the Translation basket tab, and send this translation job to a translator.

If you are also a translator, you can take a translation job by going to the WPML -> Translations page.

4. Translate content with embedded forms

Finally, you need to translate the pages, posts, or widgets that hold the forms.

When editing a post or page, use the Language box to translate or duplicate it.

Using the Language box to translate or duplicate content
Using the Language box to translate or duplicate content

Make sure to translate only the texts. Do not change anything within the shortcode that is used to insert the contact form. WPML will automatically display the form in the correct language.

Updating forms translated without Translation Management

You might have existing forms translated without using Translation Management. In this case, it is not possible to simply start using Translation Management.

Instead, you need to:

  1. Delete translated versions of the forms.
  2. Translate the forms using Translation Management.