Translating the form components, emails, buttons and submission message
To translate all other elements of your form other than the title, you will have to set up your form to work with the Translate interface.
To start, navigate to “Content”, find your Webform and click on “edit”. At the top-right of the page, click on the tab “Webform” and select the sub-tab “Form settings”.
Expand the fieldset “Localization by string translation” and check the options “Expose Webform component strings suitable for translation” and “Keep a single Webform across a translation set”. Save your changes. You only need to do this once for every Webform created.
Once you have done this, in your main navigation bar, navigate to “Configuration”, and under “Regional and Language”, click on “Translate interface”.
At the top-right of the page, click on the tab “Strings”. Under Select text groups, check both “Webform Localization” and “Clean up left over strings”, and then click on the button “Refresh strings”.
This will tell the Translate interface to verify for text strings that were newly added or recently modified and will tell it to delete any strings that are no longer used.
Next, click on the tab “Translate”. From this page, you will be able to search for individual text strings used in your Webform, such as the title (label) of a field or the text in a Markup component. To do so, type a line of text in the String contains field. Note that this field is case-sensitive. You may also want to set the Search in dropdown to “Only untranslated strings” and the “Limit search to” dropdown to “Webform Localization” to get untranslated results related to Webforms. Click on the button “Filter” to search for results.
Note: For the components “Select options” and “Grid”, you will need to search for each individual string used. This means that you will have to search for the title (label), each individual option and, in the case of the Grid, each question.
The results will be presented in a table identifying the Text Group, the String, the Context and the Languages you can translate the string into. Note that the Context has a numerical identifier between colons near the end (in the example above, the identifier is “1”: ef6c0042-16f4-4820-b935-bbaa4bd2cedb:1:#title). This identifier is the Webform ID and so it will be the same for all strings in the same Webform.
Once you have found the result you desire, click on the operation “edit”. On the page that appears, provide the French translation. For the Markup component, you may need to copy the original text into the French before translating so that you retain any HTML tags that were used. Once done, click on the button “Save translations”.
You will be returned to the Translate interface where the message “The string has been saved” will appear. Repeat this step for all other elements and components in your Webform.