Skip to content Skip to sidebar

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client was unable to translate certain elements of a form built with DIVI Engine, including buttons, placeholders, and required messages, despite previously adding a custom XML configuration.

Solution:
We advised the client to modify the existing XML configuration by adding specific attributes to handle the translation of default texts such as 'Submit', 'Next', and 'Prev'. This involves changing these default texts to something else in the original language to make them translatable. Here is the updated XML configuration snippet:

<wpml-config>
<shortcodes>
<!-- alle Formfelder (Text, Textarea, Select, Checkbox etc.) -->
<shortcode>
<tag>de_fb_form_field</tag>
<attributes>
<!-- Beschriftung & Placeholder -->
<attribute>field_title</attribute>
<attribute>field_placeholder</attribute>
<!-- Beschreibung/Infotext unter dem Feld -->
<attribute>description_text_text</attribute>
<!-- Dropdown‑Platzhaltertext -->
<attribute>select_placeholder_text</attribute>
<!-- Inhalt von Content‑Feldern (Text oder HTML) -->
<attribute encoding="allow_html_tags">html_content_editor</attribute>
<!-- Optionslisten als JSON -->
<attribute encoding="json">select_options</attribute>
<attribute encoding="json">checkbox_options</attribute>
<!-- Optional: Radiobutton‑Optionen, falls im Einsatz -->
<attribute encoding="json">radio_options</attribute>
<!-- Optional: eigener Hinweis bei Pflichtfeldern -->
<attribute>required_message</attribute>
<attribute>forgot_password_text</attribute>
<!-- Change the default text in the original language to make it work, e.g. Please enter a valid email address -->
<attribute>email_message</attribute>
<!-- Multi‑Step: Weiter/Zurück‑Buttons -->
<!-- Change the default text in the original language to make it work, e.g. Back / Forward -->
<attribute>step_prev_text</attribute>
<attribute>step_next_text</attribute>
</attributes>
</shortcode>
<!-- gesamtes Formular: Submit‑Button, generische Placeholder etc. -->
<shortcode>
<tag>de_fb_form</tag>
<attributes>
<attribute>title</attribute>
<!-- Change the default text in the original language to make it work, e.g. Send -->
<attribute>submit_button_text</attribute>
<attribute>field_placeholder</attribute>
<attribute>redirect_url_after_submission</attribute>
<attribute>ajax_submit_button_text</attribute>
<attribute>field_placeholder</attribute>
<!-- Optional: Erfolgs‑ und Fehlermeldungen (not tested) -->
<attribute>success_message</attribute>
<attribute>error_message</attribute>
<attribute>processing_text</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>

Additionally, we suggested contacting the plugin author to ensure their code adheres to standard WordPress methods for making text translatable, as detailed in our documentation: https://wpml.org/documentation/support/how-to-use-gettext/

If this solution does not resolve the issue or seems outdated, we recommend opening a new support ticket. We also highly suggest checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. For further assistance, please visit our support forum.

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Tagged: 

This topic contains 19 replies, has 0 voices.

Last updated by Dražen 1 month, 2 weeks ago.

Assisted by: Dražen.

Author Posts
November 13, 2025 at 11:06 am #17574348

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+02:00)

Hello,

I checked, and these strings are coming from the plugin files, but it seems they are not using the standard WordPress methods for making text translatable. You can contact the plugin author and share this with them so they can adjust the code:

- https://wpml.org/documentation/support/how-to-use-gettext/

I also found that you can set custom text for the previous/next buttons, which means they can be translated when translating the page. You just need to add the following two attributes to your existing XML:

<attribute>step_prev_text</attribute>
<attribute>step_next_text</attribute>

If there were a way to set the “required field” text inside page builder, I could add it to the XML as well, but I couldn’t find any option for it—so it’s most likely hardcoded in the plugin files.

Regards,
Drazen

November 13, 2025 at 11:38 am #17574545

andreS-54

Thankyou for your help, This sounds good. I will try this with the Next Button and I will contact the support of the Plugin. It might take some time now but I will come back and post the whole XML then here. So others could get also the help here.

November 13, 2025 at 11:41 am #17574635

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+02:00)

Hello,

great, that sounds good.

Thank you and feel free to contact us if there is anything else we can do for you.

Regards,
Drazen

November 20, 2025 at 10:40 am #17594913

andreS-54

The summary of the solution is not right. This is what I did with the help of the WPML Support.

1. I added following XML Configuration
2. If there are any words set by default in the original language like SUBMIT, NEXT, PREV etc. you need to change the default word first to make it translatable. EG. Send instead of Submit.

<wpml-config>
<shortcodes>
<!-- alle Formfelder (Text, Textarea, Select, Checkbox etc.) -->
<shortcode>
<tag>de_fb_form_field</tag>
<attributes>
<!-- Beschriftung & Placeholder -->
<attribute>field_title</attribute>
<attribute>field_placeholder</attribute>
<!-- Beschreibung/Infotext unter dem Feld -->
<attribute>description_text_text</attribute>
<!-- Dropdown‑Platzhaltertext -->
<attribute>select_placeholder_text</attribute>
<!-- Inhalt von Content‑Feldern (Text oder HTML) -->
<attribute encoding="allow_html_tags">html_content_editor</attribute>
<!-- Optionslisten als JSON -->
<attribute encoding="json">select_options</attribute>
<attribute encoding="json">checkbox_options</attribute>
<!-- Optional: Radiobutton‑Optionen, falls im Einsatz -->
<attribute encoding="json">radio_options</attribute>
<!-- Optional: eigener Hinweis bei Pflichtfeldern -->
<attribute>required_message</attribute>
<attribute>forgot_password_text</attribute>
<!-- Change the default text in the original language to make it work, e.g. Please enter a valid email address -->
<attribute>email_message</attribute>
<!-- Multi‑Step: Weiter/Zurück‑Buttons -->
<!-- Change the default text in the original language to make it work, e.g. Back / Forward -->
<attribute>step_prev_text</attribute>
<attribute>step_next_text</attribute>
</attributes>
</shortcode>
<!-- gesamtes Formular: Submit‑Button, generische Placeholder etc. -->
<shortcode>
<tag>de_fb_form</tag>
<attributes>
<attribute>title</attribute>
<!-- Change the default text in the original language to make it work, e.g. Send -->
<attribute>submit_button_text</attribute>
<attribute>field_placeholder</attribute>
<attribute>redirect_url_after_submission</attribute>
<attribute>ajax_submit_button_text</attribute>
<attribute>field_placeholder</attribute>
<!-- Optional: Erfolgs‑ und Fehlermeldungen (not tested) -->
<attribute>success_message</attribute>
<attribute>error_message</attribute>
<attribute>processing_text</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>

November 20, 2025 at 10:46 am #17595000

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+02:00)

Hello,

thanks, we will adjust the solution to be more correct with your shared steps.

Regards,
Drazen