Skip to content Skip to sidebar

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.

Sun Mon Tue Wed Thu Fri Sat
12:00 – 20:00 12:00 – 20:00 12:00 – 20:00 12:00 – 20:00 12:00 – 20:00 - -
- - - - - - -

Supporter timezone: Asia/Karachi (GMT+05:00)

This topic contains 10 replies, has 1 voice.

Last updated by Noman 5 months, 1 week ago.

Assisted by: Noman.

Author Posts
October 28, 2025 at 3:33 am #17523999

geoffR-4

Background of the issue:
I am developing a site and using a Theme Builder 'Archive' template with Elementor. I want to translate the Text Widgets within this template without creating separate translation copies of the template. I want to use one template for all languages, with translatable elements.

Symptoms:
I am unable to register the Text Widgets inside the Theme Builder 'Archive' template for translation.

Questions:
How can I translate Text Widgets inside a Theme Builder 'Archive' template without creating separate translation copies?

October 28, 2025 at 4:22 am #17524053

geoffR-4

I've spent nearly 5 hours trying to resolve this one (simple) issue, hoping you can help me quickly.

I have also followed all instructions from your AI assistant, but not getting the result expected.

What do i need to tell you for assistance?

October 28, 2025 at 4:34 am #17524056

geoffR-4

Just to add to this. I'm just now trying to translate one of my Elementor Templates automatically to see if it works.

October 28, 2025 at 12:52 pm #17526219

geoffR-4

Trying to get static text strings (Text widgets, button text, forms, etc) inside ELementor Pro to translate WITHOUT creating duplicate Templates has been a nightmare and I must give WPML a bug thumbs down at this stage due to its failure to register strings after many attempts and following precise instructions.

I'm at a loss on how to get this to work, but now considering duplicating my templates as needed, which I am dreading, as maintenance in having duplicate templates just for language creates a much more cumbersome site.

Unless you can quickly identify why my static strings are not being registered for translation within several hours we will need to change our approach.

This has become very expensive for us. I feel WPML has made a lot of promises but is badly in need of thorough testing within the Elementor Pro and JetEngine environments.

Please respond as quickly as possible if you can help get this working without me having to spend many more hours following a tedious list of steps and setting tweaks.

Hoping to hear from you very soon.

Geoff

October 28, 2025 at 5:09 pm #17527172

Noman

Hi,

Thank you for contacting WPML Support. I completely understand your frustration, and I’m sorry for the time this has already taken. I’ll do my best to help you get this sorted quickly.

Just to clarify, anything added inside Elementor (like Text Widgets, Buttons, or Forms) can only be translated through WPML’s Translation Editor or the default WordPress Editor, as explained here: https://wpml.org/documentation/plugins-compatibility/elementor/

Alternatively, you can create a custom shortcode in your theme’s PHP file and wrap those texts with the gettext( __() ) function. This way, the strings will appear in WPML >> String Translation, and you can then use the shortcode inside your Elementor template. This approach might help you keep a single template for all languages.

Here you can find more details about gettext function: https://wpml.org/documentation/support/how-to-use-gettext/

Thank you for your cooperation

October 29, 2025 at 12:53 am #17527803

geoffR-4

Thanks for the reply. The first video above shows A section called 'Elementor Temp'ates'. I do not see this. Is there a configuration required for this?

Thank you - ASAP please.

How_to_Translate_an_Elementor_Website_with_WPML.jpg
October 29, 2025 at 1:06 am #17527820

geoffR-4

FYI -- I found the setting to make this appear.

October 29, 2025 at 5:14 am #17527887

geoffR-4

Are you able to explain carefully how it is possible to use only one version of an Elementor Template for all languages, with the static elements translatable?

October 30, 2025 at 7:24 am #17531283

Noman

I was able to achieve this using the following steps:

1. Added a shortcode with the static text I wanted to display in the Archive template inside the functions.php file of the theme:

function static_text_shortcode() {
    return __( 'English language text goes here', 'themedomain' );
}
add_shortcode( 'static_text_shortcode', 'static_text_shortcode' );

2. Went to WPML >> Theme and plugins localization and scanned the active theme.

3. Went to WPML >> String Translation, searched for the string “English language text goes here”, and added its translation.

4. Created an Elementor Archive template and inserted the shortcode using the Shortcode widget:

[static_text_shortcode]

5. On the frontend, the translated text now appears correctly based on the selected language.

You can check it here:
- Default language: hidden link
- Secondary language: hidden link

If needed, here’s an auto-login URL to the test site for reference:
hidden link

Please check and confirm if it works similarly on your end.

Thank you for your cooperation and patience

image (1).png
image (2).png
November 5, 2025 at 7:26 am #17548257

geoffR-4

I don't want to add records for each string in the functions.php file. Instead, I simply wish to see the static strings that exist in Elementor templates translatable, and appear in the Translation Strings page. I have selected the domains "Elementor". "Elementor Pro" and the "Hello template" but the strings are not appearing.

November 5, 2025 at 5:26 pm #17551423

Noman

I understand, thanks for clarifying.

By default, static text added directly inside Elementor widgets isn’t automatically registered for translation unless the template itself is translated using WPML’s Translation Editor or default WP Editor. Scanning the theme or Elementor plugin won’t detect those strings because they’re stored in the database, not in the PHP files.

The only ways to make them translatable are:

1. Translate the template using WPML’s Translation Editor as mentioned in our doc, or
2. Use shortcodes (so WPML can register them in String Translation).

Elementor currently doesn’t expose static text from templates for translation in WPML >> String Translation, and this is a known limitation.

You may try to achieve it using custom code, but that would be beyond our support scope, in that case, you might consider hiring a developer for a tailored solution.

Thank you for your understanding and cooperation

The topic ‘[Closed] How to Translate Elementor Text Widgets inside Theme Builder Template’ is closed to new replies.