Skip Navigation
Updated
October 18, 2021

WPML lets you translate WordPress menus and create different menus per language. You can translate menus manually, or have WPML synchronize menu content.

Option 1 – Translating Menus Manually

WPML offers a translation mode called Translate Everything. This mode translates all your content automatically when it is set as Translatable – only show translated items and the Translate Automatically toggle is set to Yes.

Post types set to Translatable - only show translated items
Post types set to Translatable – only show translated items

If your menu item belongs to a post type with this setting, it will display on the front-end as translated without having to translate your menu.

Please note: if you have Translate Everything mode set to Review the translations before publishing, you must approve the translations of the page or post for the translated menu to display on the site’s front-end.

Option 2 – Translating Menus Manually

If you want to create a completely different menu in your secondary languages, or you choose to Translate Some of your content, you need to translate your menus manually.

To translate your menu, go to Appearance → Menus.

Menu with language controls
Menu with language controls

Click on the + icons next to the other languages. Now, you’re creating a new menu, which will be linked as the translation of this menu.

Translated menu
Translated menu

Add your translated pages and categories to the translated menu as you would the default language menu.

Option 3 – Automatic Menus Sync by WPML

The menu sync tool aims to keep your menus in different languages synchronized. It does this by adding, removing, and updating items from the translated menus to match the default language menu.

To use WPML’s menu sync, go to WPML → WP Menus Sync. WPML will show you the changes it plans to make.

The menu sync tool shows you what needs update
The menu sync tool shows you what needs updating

You’ll see which entries will be added or removed from the translated menus. Click on the Sync button to perform the selected operations.

Review the changes, select what to apply and start
Review the changes, select what to apply and click Apply Changes

Anything you add manually to the translated menus will be preserved throughout WPML sync operation.

If you do not have the WPML String Translation add-on, you can manually edit custom links and their labels in the translated menus.

If you have the WPML String Translation add-on active, you can use it to translate your menu items by following these steps:

  1. Go to the WPMLWP Menus Sync page and press Sync to add custom links to other languages.
  2. After the synchronization is done, visit WPMLWP Menus Sync one more time and click the Main menu link.
Main menu link
Main menu link
  1. On the String Translation page, click the + icon to translate the menu item and the link.
Translate the menu item and the link
Translate the menu item and the link
  1. Go to the WPMLWP Menus Sync page and click Sync one more time to update the translated menu links and labels.
Custom link on the translated version of the page
Custom link on the translated version of the page