Translating Navigation Menus
On this page
Your site has one menu structure, shared by every language. The plugin does not build a second
menu per language – it translates the labels of the menu you already have, and rewrites each link
so it points at the page in the active language. Add an item to the menu once and it appears in
all languages.
Turn it on under LATW Multilingual → Settings → Translation → Other objects, with
Navigation menu labels (custom links & label overrides).
Translating menu labels by hand is part of the free version. Translating them automatically with
AI – one item, or every item in every language at once – requires PRO.
Where a label is translated depends on where WordPress keeps it, and that is not the same for
every item. There are three cases.
#Items that follow a page or post title
This is the ordinary case: you dragged Contact out of the Pages box in
Appearance → Menus and left the label alone. WordPress stores no label of its own for that
item – it just shows the title of the page it points to.
Nothing to do. Translate the page, and its menu label follows automatically. It is the same
text, so it cannot drift. The same applies to items pointing at a category, tag or product
category: translate the term and the menu follows.
These items are deliberately not listed on the Strings page. If you cannot find a menu item
there, this is almost always why – and it means the item is already handled.
An item pointing at a page that has no translation yet keeps the original title – there is
nothing to show instead. Its link still carries the language prefix, and what the visitor gets
there is decided by the Missing translation setting under
LATW Multilingual → Settings → Languages (show the default-language content, redirect to the
default language, or return a 404).
#Custom links
A Custom Link is a label and a URL you typed yourself, so there is no page behind it to take
the text from. The label is stored on the menu item and has to be translated.
Go to LATW Multilingual → Strings and set the Type filter to Menus. Each menu item is
one row, with the menu it belongs to shown underneath it. Click the item’s name to open it, or
click the pencil next to a single language in the Languages column to go straight to that
language. You get three fields:
- Navigation label – the text in the menu.
- Title attribute – the tooltip shown on hover, if you filled one in.
- Description – shown only by themes that display menu descriptions.
Leave a field empty and the original is used for that language.
#The URL of a custom link
Translating the label does not change the URL. A custom link to a page on your own site
(https://example.com/contact/) is rewritten to the active language by the
Internal links in content setting under LATW Multilingual → Settings → Languages –
“Rewrite hard-coded links inside content to the active language”. With that setting off, a custom
link keeps sending visitors to the default-language page even while the rest of the menu is
translated.
If the target is an ordinary page on your site, prefer a real Page item over a custom link.
Its label and its URL are then both handled for you, and neither can be forgotten.
#Overridden navigation labels
The third case is the one that surprises people. If you added the page About to the menu and
then typed About Me over the label in Appearance → Menus, WordPress stops following the
page title and stores About Me on the menu item instead.
That item now behaves like a custom link: the page’s translated title is ignored, and the label
has to be translated on its own. It appears on the Strings page under type Menus, with the
menu name next to it, and is translated exactly like a custom link above.
So if one menu label refuses to change language while every other one does, open
Appearance → Menus and look at that item: its Navigation Label almost certainly differs
from the title of the page it points to. Either translate the item on the Strings page, or clear
the override so the item follows the page title again.
#What this does not do
- One menu for all languages. You cannot show a different set of items, or a different order,
in one language. Menu translation covers the text, not the structure. - Menu names are not translated. The name of the menu itself (“Main Menu”) is an internal
label and is not shown to visitors. - Only the three fields above. Icons, mega-menu panels and similar extras added by a theme or
a menu plugin are that plugin’s own data and are not covered here. - Block themes. This page is about classic WordPress menus – the ones you build in
Appearance → Menus. A block theme’s Navigation block is a different mechanism: its labels
are block attributes stored in the template, not menu items, so they do not pass through this
layer. They can only be translated under Strings → Blocks, and only when the theme or plugin
that registered the block declares those attributes as translatable in itswpml-config.xml.
If your theme uses the Navigation block and no labels show up there, that declaration is
missing.
#The page title an Elementor page shows
This is the most common support question about Elementor, and it is really a question about where
the title lives.
The title is not part of the Elementor canvas. It is the WordPress post title, the same field
the menu reads, and inside Elementor it sits in the settings panel – not in the layout you are
dragging widgets around in.
When you open a translation with the Edit button in the LATW Translations box (or from the
Posts page), an Elementor page opens in Elementor itself, in that language – provided
Elementor is ticked under LATW Multilingual → Settings → Translation → Page builders. To
reach the title:
- Page Settings – the document-settings icon in the top bar, whose tooltip reads
Page Settings (or Post Settings, Product Settings – it is named after the content
type). In older Elementor versions without the top bar, it is the gear icon at the bottom
left of the panel. - Or press Ctrl + Shift + Y (⌘ + Shift + Y on a Mac), which works in every version.
The panel opens on General Settings, and Title is the first field. Change it there, save,
and the page title, the menu label, the breadcrumb and the browser tab all change with it.
The field is filled with the translation you already have, so if you translated the page before
opening Elementor you will see the translated title waiting for you – not the original.
#When the title on screen still does not change
If you changed Title in Page Settings, saved, and the big heading on the page is still in the
original language, then that heading is not the page title. Two things look identical to a
visitor:
- A Heading widget you typed the title into. Plenty of Elementor layouts have the title typed
into a Heading widget at the top of the page, with the real page title hidden. That text is part
of the layout, so you translate it in the canvas, by clicking the widget in the translation
session and editing it like any other text – not in Page Settings. - A Post Title widget in a Theme Builder template. If your single/page template (Elementor
Pro’s Theme Builder) draws the heading with a Post Title widget, it does read the page title,
so Page Settings is the right place – give the save a moment and clear any caching plugin.
A quick way to tell them apart: open the page for editing in Elementor and click the heading. If
the panel that opens says Heading, it is layout text. If it says Post Title, it comes from
Page Settings.
#Hide Title
Elementor’s Hide Title switch, in the same Page Settings panel, only stops the theme from
printing the title – it does not change it. It is per page, not per language, so it applies to
every language at once.
#The browser tab and search results
The title in the browser tab and in Google is produced by your SEO plugin, not by Elementor. It
follows the page title unless you wrote a custom SEO title. That custom string is a separate field
and is only translated when Custom fields declared by themes and plugins (e.g. SEO titles and
descriptions) is enabled under LATW Multilingual → Settings → Translation → Other objects.