WP Residence Help WP Residence Help

  • WPRESIDENCE
  • Video Tutorials
  • Client Support
  • API
Home / WPEstate Translate Plugin / Menu Translation & Language-Specific Menu Locations

Menu Translation & Language-Specific Menu Locations

271 views 0
Create one menu per language, place it in the same theme locations and copy the structure of the main menu with Menu Synchronization. The video also shows how to add the language switcher to the menu. Watch Video on Youtube

Each language of your site can have its own header, mobile and footer menu. With WPEstate Translate you give every menu a language, place it in the usual theme locations, and let Menu Synchronization copy the structure of the default-language menu so the links point to the translated pages.

CONTENT

  • Filter the Menus by Language
  • Create a Menu for Another Language
  • How Menu Locations Work per Language
  • Fill the Menu with Menu Synchronization
  • Keep the Menus Up to Date
  • Troubleshooting

Filter the Menus by Language

In Appearance > Menus, a language bar appears above the tabs when the site has more than one language. It shows All languages and one link per language, each with its flag and the number of menus in that language. Click a language to see only its menus in Select a menu to edit.

Language filter above the WordPress menu editor

Create a Menu for Another Language

  1. Translate the pages first, so the new menu has translated pages to link to. See Translating Posts and Pages.
  2. Go to Appearance > Menus and click create a new menu.
  3. Type a Menu Name, for example Main Menu ES.
  4. Choose the language in the dropdown at the right of the menu name.
  5. Tick the Display location boxes, for example the primary and mobile menu, the same ones the default-language menu uses.
  6. Click Create Menu.

New menu with a name, a language and display locations

How Menu Locations Work per Language

Each theme location keeps one menu per language. Ticking a location for the Spanish menu does not remove the English menu from it: English pages keep the English menu and Spanish pages get the Spanish one. You can also set this in Appearance > Menus > Manage Locations.

If a language has no menu in a location, that location shows the default-language menu, so the header is never empty while a translation is missing.

Fill the Menu with Menu Synchronization

  1. Go to WPEstate Translate > Menu Synchronization.
  2. Choose the default-language menu in Source Language Menu. Its items show below.
  3. Choose the new menu in Translated Menus.
  4. Type a Fallback link (optional). It is used for items whose page has no translation yet.
  5. Click Menu synchronization.

Menu Synchronization screen with source menu, translated menu and fallback link

Item in the source menu In the translated menu
Page, post, property or category with a translation Links to the translation, with its translated title
Page, post, property or category without a translation Keeps the source title and links to the Fallback link, or to # if you left it empty
Custom link Same URL and the same label

Parents, sub-items and order match the source menu. To translate a custom link label, edit the item in Appearance > Menus.

Keep the Menus Up to Date

  1. Change the default-language menu as usual.
  2. Translate any new page you added to it.
  3. Run Menu Synchronization again for each translated menu.
  4. Click Clear WpResidence Cache in the admin bar and check each language on the front end.

Each synchronization rebuilds the translated menu from the source. Items you added to the translated menu by hand, and labels you edited there, are replaced, so edit them again after a sync, or stop syncing that menu and maintain it by hand.

Troubleshooting

  • A translated menu shows default-language titles. Those pages have no translation yet. Translate them and synchronize again.
  • A language shows the default-language menu. No menu of that language is set in that location. Open the menu and tick the location.
  • The menu is not in Source Language Menu. That list shows default-language menus only. Check the language chosen next to the menu name.
  • A menu shows “(inactive)” or “Unknown language” next to its name. Its language was disabled or removed. Choose an active language and save the menu.

To show the language dropdown inside a menu, see The Language Switcher.

WPEstate Translate Plugin

Related Articles

  • String Scanner — Developer Guide
  • The String Scanner
  • Gettext Pipeline & MO Files — Developer Guide
  • Gettext & MO Files — Making Translations Appear on the Front End
MLSImportWordPress IDX Plugin for MLS ListingsImport MLS listings into your WordPress website, customize your property pages, and keep your inventory updated.Start free 30-day trial →

Help Categories

  • 51 Getting Started
  • 72 Installation & Setup
  • 243 Installation FAQ
  • 18Agent, Agency & Developers
  • 5Blog Posts & Blog Lists
  • 39Elementor Shortcodes Built-In
  • 56FAQ
  • 15Footer
  • 37Header
  • 2IDX & MLSImport
  • 23Maps & Location Settings
  • 21Multi-Language - Third Party Plugins
  • 7Other Third party Plugins
  • 21Pages
  • 4Payments & Monetization
  • 20Property Lists, Categories & Archive
  • 37Property Pages & Layouts
  • 32Search & Filtering
  • 162Technical how to | Custom Code
  • 8Technical: Actions and filters
  • 7Technical: Child Theme
  • 86Theme Options & Global Settings
  • 6Translations & Languages
  • 16WPBakery Shortcodes
  • 50WPEstate Translate Plugin
  • 51WPResidence / WPEstate CRM
  • 50WPResidence 5.0 Documentation
  • 9WPResidence Elementor Studio

Join Us On

Powered by WP Estate - All Rights Reserved
  • WPRESIDENCE
  • Video Tutorials
  • Client Support
  • API