Hello Mario,
thank you for reaching out. My name is Lukas and I am a developer at WPML.
Regarding your question: I advise against duplicating the widget and trying to manage it manually by hiding/showing it per language.
If you manually modify the layout in the translated version, you break the synchronization with the Advanced Translation Editor (ATE). The next time you make a small text change to the original page and open the ATE, it will try to re-sync the layout and will likely overwrite your manual changes or cause errors.
The best and most stable approach is to configure WPML to recognize the specific attributes inside your Shortcode (like the ID or URL) as "translatable fields." This allows you to keep using the ATE for the whole page while simply entering a different ID (e.g., for a different popup) in the translation column.
We need to add a small configuration snippet to WPML > Settings > Custom XML Configuration. It looks like this:
<wpml-config>
<shortcodes>
<shortcode>
<tag>your_shortcode_name</tag>
<attributes>
<attribute>id</attribute>
<attribute>url</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>
Note: replace your_shortcode_name with the actual shortcode tag used by the widget.
Once this is added, when you open the translation in the ATE, you will see a field for the ID or URL. You can then leave the original ID for the main language and enter the specific localized ID for the translated version.
This ensures the page structure remains identical while allowing you to control exactly which popup or link loads in each language.
Best regards,
Lukas