Translate a navigation menu
Use the existing WordPress menu as the canonical structure. POM Translate reads each ordinary menu item's non-empty navigation label and description when the item is saved; it does not require a separate menu for every language.
Prepare the source menu
- Open Appearance → Menus.
- Select the menu assigned to the location you want to translate.
- Confirm its hierarchy and destinations in the base language.
- Expand each relevant item and finish its Navigation Label and optional Description.
- Under Display in languages, either leave every locale unchecked to show the item everywhere or select only the locales that should display it.
- Select Save Menu.
Saving is significant: it refreshes the stored source strings and removes obsolete menu strings when a label or description no longer exists.
Translate its copy
- Open Translations → Translate contents.
- Choose the destination locale.
- Set All objects to Nav menu.
- Use the object or string filters to locate the saved menu item.
- Translate its label and description independently.
- Save and confirm Translations updated.
A missing target value falls back to the menu item's source wording. This lets you translate incrementally without duplicating the menu.
Complete its destinations
- For a post, page, post-type archive, category, tag, or other supported term, complete the relevant localized slugs under Translate URLs.
- For an external address, downloadable asset, iframe source, or other custom destination, use Translate URLs → Custom links when the target URL should change.
- Leave the URL mapping empty when every language should use the same external destination.
Verify the visitor result
Open the site in a private window and test every configured locale. For each item, confirm:
- whether it should be present;
- whether its label and description use the expected language;
- whether its
hrefpoints to the intended localized or shared destination; - whether the destination resolves without an extra language prefix or a 404;
- whether parent and child items still form a usable hierarchy after filtering.
Add and configure a language switcher separately. POM Translate deliberately excludes switcher menu items from normal menu-string and custom-URL translation.