Skip Navigation
Originally written
June 9, 2011
Updated
July 15, 2020

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

See the instructions in the following video, or read the details underneath.

Option 1 – Translating Menus Manually

Go to Appearance → Menus.

Menu with language controls
Menu with language controls

To translate this menu, 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

You can now add pages and categories to the translated menu as you would the default language menu.

Option 2 – 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 take use it to translate your menu items by following these steps:

  • After syncing menus, go to the WPML → WP Menus Sync page again.
  • Find the link at the bottom to translate these custom menu links and labels on the WPML → String Translation page.
  • Go to the WPML → WP Menus Sync page and run Sync one more time to update translated menu links and labels.

1. After syncing your menu, find the link at the bottom of the page to translate in String Translation
1. After syncing your menu, find the link at the bottom of the page to translate in String Translation

2. Select the correct domain from the search dropdown
2. Select the correct domain from the search dropdown

3. Run the menu sync again to rename the link items using the translated strings
3. Run the menu sync again to rename the link items using the translated strings

4. Your translated menu appears on the front-end
4. Your translated menu appears on the front-end