Build multilingual navigation
Use one WordPress menu and let POM Translate localize its public labels and eligible destinations.
Prepare the menu
- Remove obsolete and duplicate items.
- Prefer native post, term, archive, and home links where WordPress can identify the destination.
- Classify custom URLs as internal or external.
- Save the menu so item labels and descriptions are extracted.
Translate and localize
- Translate menu labels and enabled descriptions for each target locale.
- Add localized post and term slugs for native destinations.
- Translate registered custom internal destinations through the custom URL workflow.
- Leave genuine external URLs unchanged unless the external service publishes a separate supported localized destination.
- Add the POM Translate language selector as a menu item or render a selector elsewhere.
Validate behavior
Open a nested target-language route while logged out. Confirm:
- the correct menu is rendered;
- every internal link retains the active locale;
- hierarchical parent and child paths are localized;
- the home link follows the configured base-prefix policy;
- the current-language selector state and alternate links are correct;
- external and download links are not accidentally prefixed.
Test desktop, mobile, sticky, and cached menu variants. After changing a label, slug, or custom URL, clear integration-owned page/CDN caches if they do not respond to POM Translate change events.
Do not create a separate menu per locale merely to work around one unsupported link. Diagnose the destination type and use its matching translation contract.