Advanced features

Translate your menu into multiple languages

When you sell in several markets, your menu also needs to show the right language for each shopper. With Navi+, you only need one menu. The text and links on the menu change automatically to the language the shopper is viewing, without creating a second menu.

Before you translate

  • Add your store’s languages in the Shopify admin, at Settings > Languages or Markets. Navi+ reads the languages from Shopify and doesn’t create new store languages for you.
  • Automatic AI translation needs the Business plan or higher. The Business plan translates up to 3 languages, the Elite plan has no language limit, and the Starter plan doesn’t include this feature yet.
  • The Multi-language card in the Configure step notes that this feature isn’t in the Starter plan. So typing translations yourself with the < > tags also requires the Business plan or higher.
  • You should back up your menu before bulk translating, so you have the original on hand if you need to restore it.

How does a menu change language?

Navi+ doesn’t duplicate the menu for each language. Each menu item stores the original text together with its translations in one place. When a shopper opens your store, Navi+ checks with Shopify which language the shopper is viewing, then shows the matching translation.

The menu's language follows the store's language
  • The menu’s language comes directly from your Shopify Markets and store language settings. Even if the shopper switches language through the /fr/ path, a subdomain or a custom domain, the menu still picks it up correctly.
  • Any language without a translation shows the original text again, so a menu item is never blank.
  • A language code with a country code still matches the general code. A shopper on /fr-fr/ or /fr-ca/ still sees the translation tagged fr, if you haven’t typed a separate translation for fr-fr.
  • For each menu item, you can translate all three parts: the item name, the sub text line and the link.

Type translations for each menu item

This suits menus with few items, or when you want to choose each piece of text yourself. Type the translation right in the text box, using the format default text <language code: translation>.

  1. Open the menu, find the menu item to translate, click the ⋯ button and choose Edit.

  2. In the Text box, type the default text first, then add the translation for each language inside < >. For example: Home <fr: Maison> <de: Startseite>.

    The Language icon next to the Text box shows the syntax
  3. Do the same in the Sub text (optional) box if the menu item has a sub text line below it.

  4. Click Save at the top to save.

When you type < > tags, remember these two rules:

  • The text before the first < is the default text. It appears when a shopper views a language that has no matching translation.
  • The language code must match the Shopify code for that language, such as fr, de, vi or pt-BR. Don’t type < or > inside the translation itself.

Here’s the menu on your store when a shopper views the English version, and when they switch to the French version:

Have AI translate the whole menu in one go

When a menu has many items, or your store sells in several languages, you can have AI translate the whole menu in one go. You open this feature on the Navi+ Settings page, not in each menu.

  1. Open the Settings page in Navi+, find the Multi-language AI card, then click Translate automatically.

  2. Choose the language you write your menus in, under Language your menus are written in. Then tick the languages to translate into, under Translate into.

  3. Choose how translated links change, under Link style for translated links, as described in the link section below. Right under it, Navi+ shows how many menus and words are about to be scanned.

  4. Click Start translating to begin. You can close this window. The translation keeps running in the background and saves its progress continuously.

  5. When the translation finishes, click Review translations to check it. The AI translation column is for viewing only. If you want to change any wording, type directly into the Your edit column.

  6. Open your menu, go to the Configure step, find Auto multi-language (all menus) and turn on the switch, so the translations start showing on your store.

Does automatic translation overwrite your text?

When you translate from the Settings page, your original text stays fully intact:

  • Content you typed in the Text, Sub text and Link boxes isn’t changed. The AI translations are stored separately, and are only added to the menu when you save and publish the menu to your store.
  • Menu items that already have < > tags you typed yourself are skipped, so your translations stay.
  • Anything you type in the Your edit column always shows in place of the AI translation.
  • When you later change the original text or add new menu items, just click Update translations, so Navi+ translates the new and changed parts.
Difference

The old, per-menu method (opening AI inside a menu, the Auto-translate menu tab) writes < > tags straight into the item's boxes. In the confirmation step, Re-translate everything from scratch overwrites all existing translations, while Only translate items without multi-language keeps them. To be safe, choose the second option and back up first.

Note

The switch in the Configure step is locked while AI is translating or while some cells aren't finished. Click Retry empty cells to translate the remaining empty cells. Translated cells and the ones you edited aren't touched.

When a shopper views the French version, clicking a menu item should also open the French page. You have two ways to set up links by language.

The first way is to type the language tag into the Link box yourself, for example https://shop.com/cart <fr: https://shop.com/fr/panier>. Also, if you enter a relative path and the menu item already has a matching language tag, Navi+ adds /fr to the start of the path automatically when the shopper views /fr/.

The second way is to let AI create language links for you. Under Link style, choose one of these four options:

Style When to use
/fr/… subfolder — default Your store adds the language code to the path, matching the default Shopify Markets setting
/fr-FR/… subfolder with region Your store’s path includes both a language code and a country code
fr.site.com sub-domain Each language uses its own subdomain
Custom per language You write your own path pattern for each language, and place {path} where the page path goes

Example: translate a Drawer Menu from Danish to Norwegian

Here is a full example. Your store’s main language is Danish, and you want the same Drawer Menu to also show Norwegian. You keep one menu, and the Danish text stays as the default.

Step 1: add Norwegian to your store

  1. In the Shopify admin, go to Settings > Languages and click Add language.

  2. Choose Norwegian Bokmål and add it.

  3. Publish the language, so shoppers can switch to it. If your store uses Shopify Markets, also make sure Norwegian is available in the market that sells to Norway.

Step 2: find the language code

Navi+ matches your translations against the language code that Shopify reports for the page. For Norwegian Bokmål, this is nb. So you type <nb: …>.

  • A tag <nb: …> also matches nb-NO, because Navi+ falls back to the part before the dash.
  • A tag <no: …> does not match nb. Navi+ compares the codes letter by letter, and no is a different code from nb. If you type <no: …>, the shopper still sees the Danish text.
  • The folder in the page address can differ from the language code. For example, a Norway market can use /no/ in the address while the language code is still nb. Always use the code, not the folder.

To double-check, open your store in Norwegian, press F12, open the Console and type Shopify.locale. The text it returns is the code to use in your tags.

Step 3: translate the Drawer Menu

Pick one of the two ways below. You can also mix them: items you translate by hand are skipped when you run the AI translation, so your wording stays.

Option 1: type the translations yourself

  1. Open the Drawer Menu, find the first item, click the ⋯ button and choose Edit.

  2. In the Text box, type the Danish text first, then the Norwegian text inside < >. For example:

    Hjem <nb: Hjem>

    Nyheder <nb: Nyheter>

    Kontakt os <nb: Kontakt oss>

  3. If the item has a Sub text (optional) line, do the same there, for example Se alle nyheder <nb: Se alle nyheter>.

  4. In the Link box, you have two choices:

    • Leave a plain path such as /collections/nyheder. When the shopper views your Norwegian pages and the item has an <nb: …> tag, Navi+ adds the language folder to the start of the path for you, for example /nb/collections/nyheder. This only works when your store puts the language code in the path (/nb/…).
    • Or type the link for each language yourself: /collections/nyheder <nb: /nb/collections/nyheter>. Choose this when the page address itself is different in Norwegian, for example when you translated the collection’s URL in Shopify.
  5. Repeat for the other items, including the items inside a sub menu. Then click Save.

    This works for country-specific content too, not only translations. For example, a Norwegian phone number: +45 12 34 56 78 <nb: +47 98 76 54 32>, and in the Link field: tel:+4512345678 <nb: tel:+4798765432>.

Here is the Drawer Menu on your store in Danish, then in Norwegian:

Option 2: let AI translate the whole menu

This suits a long menu. It needs the Business plan or higher. The Business plan translates into up to 3 languages.

  1. Open the Settings page in Navi+, find the Multi-language AI card and click Translate automatically.

  2. Under Language your menus are written in, choose Danish.

  3. Under Translate into, tick Norwegian Bokmål. You can search for a language by name.

  4. Choose a Link style for translated links. The default, /fr/… subfolder, gives links like /nb/…. If Norwegian runs on its own domain (for example yourshop.no, where Shopify redirects /nb-no to that domain), choose Custom per language and enter the pattern https://yourshop.no/{path}.

  5. Click Start translating. You can close the window while it works.

  6. When it finishes, click Review translations and check the Norwegian wording. To change a line, type in the Your edit column.

  7. Open your Drawer Menu, go to the Configure step, find Auto multi-language (all menus) and turn on the switch.

Don't skip step 7

When translating finishes in Settings, the translations are only stored — your store still shows Danish. Navi+ puts the Norwegian version on your store only after the Auto multi-language (all menus) switch is on. This switch applies to all menus of your store.

What a Drawer Menu translates, and what it doesn’t

Part of the Drawer Menu Translated?
Item name, sub text and link, on every level ✅ Yes
Text on the button that opens the drawer (if you added a label) ✅ Yes, with the same <nb: …> tags
Tab names in a tabbed drawer ✅ Yes. A tab takes its name from the tab item, so translate that item’s name
Header search box (the Dynamic header item): its title, search placeholder and other texts ❌ Not yet. The text you type there shows as it is, in every language
Items copied from a Shopify menu (Shopify menu item) ❌ Not translated by Navi+. The text comes from your Shopify menu as it was saved when you clicked Sync now

If you need translated text in one of the ❌ places, build that part with ordinary menu items instead, and tag each name.

Check it on your store

  1. Open a page of your store in Norwegian, such as yourshop.com/nb/, or switch language with your store’s language selector. Don’t check in the preview pane of the Navi+ app.
  2. Open the drawer. The items should show the Norwegian text. Switch back to Danish to see the original text.
  3. Click a few items to make sure the links open the Norwegian pages.

If nothing changes, see Common problems below.

When should you make a separate menu for each language?

If the French menu has a different structure or list of items from the English menu, make two separate menus and use display rules so each menu only shows in its own language. You can filter by a keyword in the path, such as /fr, or filter by Market / Country if you’re on the Elite plan.

This takes more work to update, because every time you change a menu you have to edit both versions. Use it only when the menus really differ between languages.

Common problems

I added translations but the menu still doesn’t change language

Check the following, in order:

  1. Open the store page in that language to view it directly, not in the app’s preview pane.
  2. Check that the language code in the < > tag matches the store’s language code. A <fr: …> tag matches both fr and fr-fr, but a <fr-ca: …> tag won’t match the /fr/ path.
  3. Make sure you clicked Save. If you use AI translation, the Auto multi-language (all menus) switch in the Configure step must be on.
  4. If you saved the menu but your store still hasn’t updated, read Edited your menu but your store hasn’t changed.
  5. If the language runs on its own domain (for example yourshop.no) and the menu doesn’t appear at all, check in Shopify Online Store > Themes > Customize > App embeds that Navi+ is turned on for the theme that domain uses.

Automatic translation overwrote my own translations

The automatic translation on the Settings page never overwrites your translations. It always skips menu items that already have < > tags you typed yourself. An old translation is only replaced when you open the Auto-translate menu feature inside a menu and choose Re-translate everything from scratch. In that case, you can recover the data from a backup.

The translate button is greyed out

There are three common causes: the store is on the Starter plan, while this feature needs the Business plan or higher; a translation run is still in progress, so you need to wait for it to finish; or you haven’t selected any language to translate into. Also, the Business plan lets you choose up to 3 languages.

Check that your Link style option matches your store’s language path structure. If the store doesn’t put the language code in the path, switch to Custom per language. Also, links to other websites always stay the same. If you want to change those links by language too, type the < > tag directly into that menu item’s Link box.

Other platforms

The steps above are for Shopify — the default way.

Did this page help?

Need a hand? Chat with us in the app or write to [email protected] — send your store URL and the menu name.