WPML Menu Translation Not Working? How to Sync, Rebuild, and Fix It
Your pages may be perfectly translated, yet the moment a visitor switches languages, the navigation tells a different story: missing menu items, labels still in the original language, links that lead to the wrong page, or an entire default-language menu appearing where it does not belong. When wpml menu translation not working becomes the problem, it can make an otherwise polished multilingual site feel unfinished—or simply broken.
The frustrating part is that the translated page is often not the real culprit. WPML menus depend on several moving parts lining up: translated items, correct language assignments, menu synchronization, and the theme location used to display each menu. A single mismatch can leave visitors navigating the wrong version of your site, even when every post and page looks correct in the editor.
Before rebuilding translations from scratch, it is worth tracing where that connection fails. The fix may be much closer—and far less dramatic—than it first appears.
Why Is WPML Menu Translation Not Working?
A menu can look translated and still send visitors to the wrong pages. That is the frustrating part of diagnosing WPML menu translation not working: the visible labels are only one layer. WPML also needs matching translated content, the right language assignment, and a theme that actually displays the menu you edited.

Check whether the translated pages and categories exist
WPML can only build a correct menu link when the target exists in the selected language. If the English menu links to an About page, a French version of that page must be translated and correctly connected to its English original. The same applies to posts, WooCommerce products, product categories, custom post types, and taxonomy archives.
Missing translations often produce incomplete menus, default-language links, or items that disappear after syncing. Before rebuilding anything, open the translated page or category and verify its translation status. A translated menu item cannot fix an untranslated destination.
Confirm the menu has the correct language assignment
WPML treats each language’s menu as a separate menu. It is common to translate the menu labels but leave the menu assigned to the default language, or to assign the translated menu to no language at all. In that case, visitors may continue seeing English navigation on French or German pages.
In the WordPress menu editor, check the menu language and its translation relationship. Then confirm that the translated menu is assigned to the same intended theme location, such as Primary Navigation or Header Menu. A perfectly translated menu is useless if it is not the one the site renders.
Rule out theme locations, cache, and custom menu code
Not every header uses the standard WordPress menu location. Some themes display a navigation block, a page-builder header, or a menu selected in their own settings. Custom code may also call one specific menu by name, bypassing WPML’s language-aware location handling.
Finally, clear page cache, object cache, CDN cache, and browser cache. If the dashboard changes but the front end does not, caching is the likely culprit. Test in a private browser window before assuming the menu sync failed.
How to Sync a Translated Menu in WPML
A menu can look translated while still sending visitors to the wrong language pages. That is why wpml menu translation not working is often a synchronization issue, not a translation issue. WPML’s Menu Sync tool compares the original navigation with its translated counterpart and proposes the missing connections.
Open WPML’s menu synchronization screen
In the WordPress dashboard, go to WPML > WP Menus Sync. WPML uses the menu in the site’s default language as the source, then compares it with the corresponding menu in each secondary language. Choose the target language you want to repair and make sure you are syncing the correct menu—especially on sites with separate header, footer, mobile, and account menus.
Review the changes WPML wants to make
Do not treat the proposed changes as a button to click blindly. WPML may suggest several actions:
- Adding newly translated pages that exist in the original menu
- Removing items no longer present in the source navigation
- Updating menu items so they point to the proper translated page, category, or custom post type
- Matching the source menu’s item order and hierarchy
Check each suggestion against your intended navigation. A translated menu may deliberately differ—for example, an English-only support page should not be added to every language. Pay particular attention to custom links, which WPML cannot always localize automatically.
Apply the sync and verify links on the front end
Select the changes you want, then apply the synchronization. Clear any page, object, CDN, and browser caches afterward; stale cached menus can make a successful repair appear to fail. Finally, switch languages on the live site and test every high-value link: home, key landing pages, product categories, checkout or contact pages, and nested dropdown items. Each should open the matching translation, not fall back to the default-language URL.
How to Rebuild a WPML Menu When Sync Does Not Fix It
A menu can look perfectly translated in the WordPress dashboard and still show the wrong links on the live site. When WPML menu translation not working persists after synchronization, stop re-running sync: it may keep reproducing a broken relationship. Rebuilding the affected language menu is the safer fallback, provided you protect the original navigation first.
Back up the site and document the original menu
Take a full backup before deleting, detaching, or recreating a menu. Then open the working source-language menu and record its structure. A quick screenshot is useful, but write down details screenshots can hide: menu labels, parent-child hierarchy, custom URLs, CSS classes, link targets, descriptions, and special items such as login, cart, or anchor links.
Also note every display location it uses, including Primary, Header, Footer, and Mobile Menu. Many themes register separate locations, and a missing mobile assignment can make a repair appear unsuccessful.
Create or recreate the menu in the target language
Switch the WordPress admin language context to the target language, then create a new menu or rebuild the damaged one in Appearance > Menus. Add the translated versions of pages, posts, categories, and products rather than linking back to source-language content.
Translate custom menu labels manually. WPML cannot infer that “Book a Demo” should become a localized marketing phrase rather than a literal translation. Recreate the original hierarchy exactly: drag child items beneath their intended parent, because one misplaced level can turn a dropdown into an apparently missing link.
Assign the translated menu to the matching display location
Creating the menu is only half the repair. Assign the target-language menu to the same theme location as the original—for example, Primary or Header—while the target language is active. Check the site in an incognito window and test both desktop and mobile navigation. If the correct menu exists but is unassigned, WordPress may fall back to another menu, making the issue look like a WPML translation failure when it is really a location setting.
Fix Specific WPML Menu Translation Problems
Menu items are missing after translation
A menu can look perfectly synced and still omit key links. The usual cause is not the menu itself: WPML will not show a linked page in the target language if that page has no translation, its translation is still a draft, or the relevant post type is excluded from translation. Check the translation status of every missing destination first. Then run Menu Sync again, especially after adding new pages; existing translated menus do not automatically gain every new navigation item.
Menu labels are still in the original language
Not every visible label comes from the same source. A menu item linked to a translated page can inherit that page’s translated title. But a custom navigation label, such as changing “Contact” to “Talk to us,” is separate menu text and may need editing in the translated menu. Custom links are separate again: translate both the label and, where appropriate, the destination URL. For theme-generated labels, check WPML String Translation rather than repeatedly rebuilding the menu.
The wrong menu appears after switching languages
When wpml menu translation not working means the entire wrong navigation appears, inspect menu locations before anything else. Each language-specific menu must be assigned to the same theme location, such as Primary or Footer. Header builders can maintain their own menu selections, so verify Elementor, Bricks, or your theme’s header settings too. Finally, clear page, object, CDN, and browser caches. If custom code calls a menu by a fixed ID or name, it may bypass WPML’s language-aware handling.
Keep future menu updates from falling out of sync
Translate linked content first, then use Menu Sync after any structural change: new pages, reordered items, changed parents, or removed links. Test both desktop and mobile navigation, since many themes use separate menu locations. Keep a short record of translated custom links and manually edited labels; they are the items most likely to be missed later.
Sites already using WPML can also use LATW AI Translator for WPML to translate eligible page and post content through WPML’s workflow with their own API key. It is an add-on that requires WPML; it does not replace WPML’s menu infrastructure or menu-sync process.
Get Your Navigation Back on Track
When WPML menu translation is not working, work through the repair sequence in order: confirm that the linked pages have translations and correct language assignments, run WPML Menu Sync, rebuild the target-language menu when syncing cannot resolve the structure, then assign that menu to the appropriate theme location. Clear every relevant cache—WordPress, plugin, server, CDN, and browser—before judging the result.
If the menu still behaves differently after those checks, look beyond WPML itself. Many stubborn cases originate in a theme’s custom header builder, a mobile-menu implementation, or bespoke navigation code that does not use the standard WordPress menu location. A translated menu can only appear where the theme is prepared to load it. Once the navigation layer is correctly connected, each language can lead visitors exactly where it should.