{"id":74,"date":"2026-09-24T09:57:27","date_gmt":"2026-09-24T09:57:27","guid":{"rendered":"https:\/\/docs.latw.ai\/uncategorized\/translating-navigation-menus\/"},"modified":"2026-09-24T09:57:27","modified_gmt":"2026-09-24T09:57:27","slug":"translating-navigation-menus","status":"publish","type":"post","link":"https:\/\/docs.latw.ai\/pl\/latw-multilingual\/translating-navigation-menus\/","title":{"rendered":"Translating Navigation Menus"},"content":{"rendered":"<p>Your site has one menu structure, shared by every language. The plugin does not build a second<br \/>\nmenu per language &#8211; it translates the labels of the menu you already have, and rewrites each link<br \/>\nso it points at the page in the active language. Add an item to the menu once and it appears in<br \/>\nall languages.<\/p>\n<p>Turn it on under <strong>LATW Multilingual \u2192 Settings \u2192 Translation \u2192 Other objects<\/strong>, with<br \/>\n<strong>Navigation menu labels (custom links &amp; label overrides)<\/strong>.<\/p>\n<p><em>Translating menu labels by hand is part of the free version. Translating them automatically with<br \/>\nAI &#8211; one item, or every item in every language at once &#8211; requires <strong>PRO<\/strong>.<\/em><\/p>\n<p>Where a label is translated depends on where WordPress keeps it, and that is not the same for<br \/>\nevery item. There are three cases.<\/p>\n<h2>Items that follow a page or post title<\/h2>\n<p>This is the ordinary case: you dragged <strong>Contact<\/strong> out of the Pages box in<br \/>\n<strong>Appearance \u2192 Menus<\/strong> and left the label alone. WordPress stores no label of its own for that<br \/>\nitem &#8211; it just shows the title of the page it points to.<\/p>\n<p><strong>Nothing to do.<\/strong> Translate the page, and its menu label follows automatically. It is the same<br \/>\ntext, so it cannot drift. The same applies to items pointing at a category, tag or product<br \/>\ncategory: translate the term and the menu follows.<\/p>\n<p>These items are deliberately <strong>not<\/strong> listed on the Strings page. If you cannot find a menu item<br \/>\nthere, this is almost always why &#8211; and it means the item is already handled.<\/p>\n<p>An item pointing at a page that has <strong>no<\/strong> translation yet keeps the original title &#8211; there is<br \/>\nnothing to show instead. Its link still carries the language prefix, and what the visitor gets<br \/>\nthere is decided by the <strong>Missing translation<\/strong> setting under<br \/>\n<strong>LATW Multilingual \u2192 Settings \u2192 Languages<\/strong> (show the default-language content, redirect to the<br \/>\ndefault language, or return a 404).<\/p>\n<h2>Custom links<\/h2>\n<p>A <strong>Custom Link<\/strong> is a label and a URL you typed yourself, so there is no page behind it to take<br \/>\nthe text from. The label is stored on the menu item and has to be translated.<\/p>\n<p>Go to <strong>LATW Multilingual \u2192 Strings<\/strong> and set the <strong>Type<\/strong> filter to <strong>Menus<\/strong>. Each menu item is<br \/>\none row, with the menu it belongs to shown underneath it. Click the item&#8217;s name to open it, or<br \/>\nclick the pencil next to a single language in the <strong>Languages<\/strong> column to go straight to that<br \/>\nlanguage. You get three fields:<\/p>\n<ul>\n<li><strong>Navigation label<\/strong> &#8211; the text in the menu.<\/li>\n<li><strong>Title attribute<\/strong> &#8211; the tooltip shown on hover, if you filled one in.<\/li>\n<li><strong>Description<\/strong> &#8211; shown only by themes that display menu descriptions.<\/li>\n<\/ul>\n<p>Leave a field empty and the original is used for that language.<\/p>\n<h3>The URL of a custom link<\/h3>\n<p>Translating the label does not change the URL. A custom link to a page on your own site<br \/>\n(<code>https:\/\/example.com\/contact\/<\/code>) is rewritten to the active language by the<br \/>\n<strong>Internal links in content<\/strong> setting under <strong>LATW Multilingual \u2192 Settings \u2192 Languages<\/strong> &#8211;<br \/>\n&#8220;Rewrite hard-coded links inside content to the active language&#8221;. With that setting off, a custom<br \/>\nlink keeps sending visitors to the default-language page even while the rest of the menu is<br \/>\ntranslated.<\/p>\n<p>If the target is an ordinary page on your site, prefer a real <strong>Page<\/strong> item over a custom link.<br \/>\nIts label and its URL are then both handled for you, and neither can be forgotten.<\/p>\n<h2>Overridden navigation labels<\/h2>\n<p>The third case is the one that surprises people. If you added the page <strong>About<\/strong> to the menu and<br \/>\nthen typed <strong>About Me<\/strong> over the label in <strong>Appearance \u2192 Menus<\/strong>, WordPress stops following the<br \/>\npage title and stores <em>About Me<\/em> on the menu item instead.<\/p>\n<p>That item now behaves like a custom link: the page&#8217;s translated title is ignored, and the label<br \/>\nhas to be translated on its own. It appears on the <strong>Strings<\/strong> page under type <strong>Menus<\/strong>, with the<br \/>\nmenu name next to it, and is translated exactly like a custom link above.<\/p>\n<p>So if one menu label refuses to change language while every other one does, open<br \/>\n<strong>Appearance \u2192 Menus<\/strong> and look at that item: its <strong>Navigation Label<\/strong> almost certainly differs<br \/>\nfrom the title of the page it points to. Either translate the item on the Strings page, or clear<br \/>\nthe override so the item follows the page title again.<\/p>\n<h2>What this does not do<\/h2>\n<ul>\n<li><strong>One menu for all languages.<\/strong> You cannot show a different set of items, or a different order,<br \/>\nin one language. Menu translation covers the text, not the structure.<\/li>\n<li><strong>Menu names are not translated.<\/strong> The name of the menu itself (&#8220;Main Menu&#8221;) is an internal<br \/>\nlabel and is not shown to visitors.<\/li>\n<li><strong>Only the three fields above.<\/strong> Icons, mega-menu panels and similar extras added by a theme or<br \/>\na menu plugin are that plugin&#8217;s own data and are not covered here.<\/li>\n<li><strong>Block themes.<\/strong> This page is about classic WordPress menus &#8211; the ones you build in<br \/>\n<strong>Appearance \u2192 Menus<\/strong>. A block theme&#8217;s <strong>Navigation block<\/strong> is a different mechanism: its labels<br \/>\nare block attributes stored in the template, not menu items, so they do not pass through this<br \/>\nlayer. They can only be translated under <strong>Strings \u2192 Blocks<\/strong>, and only when the theme or plugin<br \/>\nthat registered the block declares those attributes as translatable in its <code>wpml-config.xml<\/code>.<br \/>\nIf your theme uses the Navigation block and no labels show up there, that declaration is<br \/>\nmissing.<\/li>\n<\/ul>\n<h2>The page title an Elementor page shows<\/h2>\n<p>This is the most common support question about Elementor, and it is really a question about where<br \/>\nthe title lives.<\/p>\n<p><strong>The title is not part of the Elementor canvas.<\/strong> It is the WordPress post title, the same field<br \/>\nthe menu reads, and inside Elementor it sits in the settings panel &#8211; not in the layout you are<br \/>\ndragging widgets around in.<\/p>\n<p>When you open a translation with the <strong>Edit<\/strong> button in the <strong>LATW Translations<\/strong> box (or from the<br \/>\n<strong>Posts<\/strong> page), an Elementor page opens in Elementor itself, in that language &#8211; provided<br \/>\n<strong>Elementor<\/strong> is ticked under <strong>LATW Multilingual \u2192 Settings \u2192 Translation \u2192 Page builders<\/strong>. To<br \/>\nreach the title:<\/p>\n<ul>\n<li><strong>Page Settings<\/strong> &#8211; the document-settings icon in the top bar, whose tooltip reads<br \/>\n<strong>Page Settings<\/strong> (or <strong>Post Settings<\/strong>, <strong>Product Settings<\/strong> &#8211; it is named after the content<br \/>\ntype). In older Elementor versions without the top bar, it is the <strong>gear icon<\/strong> at the bottom<br \/>\nleft of the panel.<\/li>\n<li>Or press <strong>Ctrl + Shift + Y<\/strong> (<strong>\u2318 + Shift + Y<\/strong> on a Mac), which works in every version.<\/li>\n<\/ul>\n<p>The panel opens on <strong>General Settings<\/strong>, and <strong>Title<\/strong> is the first field. Change it there, save,<br \/>\nand the page title, the menu label, the breadcrumb and the browser tab all change with it.<\/p>\n<p>The field is filled with the translation you already have, so if you translated the page before<br \/>\nopening Elementor you will see the translated title waiting for you &#8211; not the original.<\/p>\n<h3>When the title on screen still does not change<\/h3>\n<p>If you changed <strong>Title<\/strong> in Page Settings, saved, and the big heading on the page is still in the<br \/>\noriginal language, then that heading is not the page title. Two things look identical to a<br \/>\nvisitor:<\/p>\n<ul>\n<li><strong>A Heading widget you typed the title into.<\/strong> Plenty of Elementor layouts have the title typed<br \/>\ninto a Heading widget at the top of the page, with the real page title hidden. That text is part<br \/>\nof the layout, so you translate it <strong>in the canvas<\/strong>, by clicking the widget in the translation<br \/>\nsession and editing it like any other text &#8211; not in Page Settings.<\/li>\n<li><strong>A Post Title widget in a Theme Builder template.<\/strong> If your single\/page template (Elementor<br \/>\nPro&#8217;s Theme Builder) draws the heading with a <strong>Post Title<\/strong> widget, it does read the page title,<br \/>\nso Page Settings <em>is<\/em> the right place &#8211; give the save a moment and clear any caching plugin.<\/li>\n<\/ul>\n<p>A quick way to tell them apart: open the page for editing in Elementor and click the heading. If<br \/>\nthe panel that opens says <strong>Heading<\/strong>, it is layout text. If it says <strong>Post Title<\/strong>, it comes from<br \/>\nPage Settings.<\/p>\n<h3>Hide Title<\/h3>\n<p>Elementor&#8217;s <strong>Hide Title<\/strong> switch, in the same Page Settings panel, only stops the theme from<br \/>\nprinting the title &#8211; it does not change it. It is per page, not per language, so it applies to<br \/>\nevery language at once.<\/p>\n<h3>The browser tab and search results<\/h3>\n<p>The title in the browser tab and in Google is produced by your SEO plugin, not by Elementor. It<br \/>\nfollows the page title unless you wrote a custom SEO title. That custom string is a separate field<br \/>\nand is only translated when <strong>Custom fields declared by themes and plugins (e.g. SEO titles and<br \/>\ndescriptions)<\/strong> is enabled under <strong>LATW Multilingual \u2192 Settings \u2192 Translation \u2192 Other objects<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Your site has one menu structure, shared by every language. The plugin does not build a second menu per language &#8211; it translates the labels of\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_latwm_translated_slug":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-74","post","type-post","status-publish","format-standard","hentry","category-latw-multilingual"],"_links":{"self":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts\/74","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/comments?post=74"}],"version-history":[{"count":2,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts\/74\/revisions"}],"predecessor-version":[{"id":119,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/posts\/74\/revisions\/119"}],"wp:attachment":[{"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/media?parent=74"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/categories?post=74"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docs.latw.ai\/pl\/wp-json\/wp\/v2\/tags?post=74"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}