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
Go to Appearance->Menus.
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.
You can now add pages and categories to the translated menu.
Option 2 – Automatic Menu Sync by WPML
The menu sync tool aims to keep your menus in different languages synchronized. It does so by adding or removing items from the translated menus. This way, any manual edits that you do on the translated menus are kept through the sync process.
To use WPML’s menu sync, go to WPML->WP Menu Sync.
WPML will show you what it’s going to do. You’ll see which entries will be added or removed from the translated menus. Click on the Sync button to perform the selected operations.
If you’ve manually added ‘custom items’ to the menu, the sync cannot handle them and they will be skipped. You should manually add the corresponding custom items to the translated menus. The good new, however, is that anything you add manually to the translated menus will be preserved throughout WPML sync operation.
Displaying the Translated Menus
In the theme, you can specify the menu in the default language. WPML automatically hooks to the menu system and will display the correct menu in the current language.