Learn how to translate any WordPress widget with WPML, including block-based, legacy, and custom built.
Required Plugins
To translate widgets, install and activate:
- WPML
- WPML String Translation
How to Translate Widgets
WPML can translate any type of widget. This includes:
Widgets added to posts
and pages
Classic block-based
widgets
Legacy widgets
Custom widgets
Translate Widgets Added to Individual Posts and Pages
To translate widget blocks that you can insert inside any content, including posts and pages:
- Go to WPML → Translation Management.
- Select the content (posts, pages, etc.) containing your widget.
- Choose a translation method and translate.
WPML will translate your widget along with the rest of the page contents.
Translate Classic Block-Based Widgets
To translate classic, block-based widgets that you add to widget areas using the Appearance → Widgets page:
- Go to WPML → Translation Management.
- Scroll down to the Block section and expand it.
- Select the widget area containing your widgets (e.g., “Widgets – Blog Sidebar”).
- Choose a translation method and translate.
Translate Legacy Widgets
To translate the old legacy widgets that are not block-based:
- Go to WPML → Translation Management.
- Scroll down to the Other texts (Strings) section and select your widget texts.
- Choose a translation method and Translate.
If you can’t find your widget texts in Translation Management:
- Go to WPML → String Translation.
- Expand the Not seeing strings that you are looking for? section and click Admin Texts Translation.
- Select the widget texts you want to translate and click Add to String Translation.
You can now translate these widget texts in Translation Management.
Translate Custom Widgets
To translate widgets you developed yourself, you first need to register them in WPML. Once registered, you can translate your widgets from the Other texts (Strings) section in Translation Management.
Display Different Widgets in Each Language
To display different widgets in each language:
- Go to Appearance → Widgets.
- Edit your widget and open the language dropdown.
- Choose the language you want to display the widget in.