Skip to content

Translations & internationalization

Lapels is ready for multi-language and multi-currency stores out of the box. It bundles translated theme text for thirteen languages besides English, mirrors its entire layout for right-to-left languages such as Arabic, and offers a country picker and a language picker in both the header and the footer. This page covers what is built in, what you configure in Shopify admin, and the distinction that causes most of the confusion: translating theme text is a different job from translating your catalog.

Multi-currency comes from Shopify Markets, and per-language wording from Translate & Adapt. Both are free and built into Shopify.

Theme text and your own content are translated separately

Section titled “Theme text and your own content are translated separately”

Two kinds of text appear on your storefront, and they live in two different places. Keeping them apart saves a lot of hunting.

Kind of textExamplesHow you translate it
Theme text”Add to cart”, “Sold out”, “Skip to content”, the “Country or region” and “Language” labels, filter and sort wording, the empty-cart messageEdit default theme content in the theme’s own menu, or Translate & Adapt under Theme
Your contentProduct titles and descriptions, collection names, page and blog copy, menu labels, image alt text, policiesTranslate & Adapt, under the matching resource, such as Products, Collections or Navigation

Lapels owns the wording of its own interface. You own the wording of your catalog. The theme cannot translate a product title, because a product title is your content rather than the theme’s.

Every language covers the storefront and the theme editor

Section titled “Every language covers the storefront and the theme editor”

Each bundled language is translated in two places, and both halves matter:

  • What a shopper reads. Buttons, labels, badges, messages, and the names a screen reader announces.
  • What you read while customizing. Section names, setting labels, the help text under a field, and the names in the Add section picker.

Covering only the first would leave a French shopper with a French storefront and you with an English theme editor. Lapels does both for all thirteen languages, so a merchant working in Japanese customizes the theme in Japanese.

Besides English, Lapels ships translated theme text for thirteen languages:

French · German · Spanish · Italian · Portuguese (Brazil) · Dutch · Japanese · Simplified Chinese · Korean · Swedish · Danish · Polish · Arabic

English is the default language, and Arabic is the only right-to-left language in the set.

Adding a language happens in Shopify admin, not in the theme. Nothing in Lapels needs changing.

  1. Go to Settings → Languages.
  2. Under Published languages, choose Add language and pick the one you want.
  3. Publish it so shoppers can select it.

Once more than one language is published, the language picker becomes available in the header and the footer (see below). If you publish a language Lapels does not bundle, Shopify falls back to English for the theme’s own wording until you supply translations for it in Translate & Adapt.

Every string Lapels renders can be reworded without touching code.

Through the theme’s own editor. Go to Online Store → Themes, open the menu on the Lapels card, and choose Edit default theme content. This edits the wording of your default language. It is the place to go when you want “Add to cart” to read “Add to bag” across the whole store.

Through Translate & Adapt. Open the app in Shopify admin and choose Theme. This is where you set the wording per language. It gives a side-by-side view of the English source and the translation, for every string in the theme. It is also where you fix a bundled translation that does not suit your brand.

Lapels offers both pickers in two places: the header and the footer. Use either, both, or neither.

In the header, they live behind a globe button that opens a small panel. Open the Header section in the theme editor and look under Localization.

SettingWhat it doesDefault
Show country and currency selectorOffers a country and region picker, which also sets the currency.Off
Show language selectorOffers a language picker.Off

Below 960px the header pickers move to the foot of the navigation drawer, so only one copy is ever live at a time. The globe button announces the current values in full, such as “Country and language, Canada (CAD) · English”. The control announces its own state.

In the footer, they are a block. Open the Footer section, select a column, and add the Country and language block. It ships in the third column of the default footer.

SettingWhat it doesDefault
Show the country pickerSets the country, and with it the currency.On
Show the language pickerSwitches the storefront language.On

Wherever they appear, both pickers behave the same way:

  • The country picker lists every country your markets publish, each shown as the country name with its currency, such as “Japan (JPY ¥)”.
  • The language picker lists every published language in its own name, such as “Français”, “日本語” and “العربية”. A shopper looking for their language is not reading English.
  • Choosing an option applies it immediately. There is no Update button to find afterwards.
  • Each picker hides itself when there is only one option to choose, whatever the setting says.

On a store that carries the language in the address, such as /fr/collections/shirts, every link Shopify builds already carries it. That covers a product, a collection, a menu item, and anything you choose with the link picker.

A path you type by hand into a link field does not. Following one sends the shopper back to your default language mid-visit, and out of right-to-left along with it.

Lapels closes that gap. Every link field in the theme goes through the same step before it renders, so a hand-typed /collections/new becomes /fr/collections/new for a shopper reading French. Links to another website, email and telephone links, links to a spot further down the same page, links to a file you have uploaded, and paths that already name a published language are left exactly as you typed them. Nothing is changed at all on a single-language store, or for a shopper reading your primary language.

Which currencies you sell in is a Shopify setting, not a theme setting. Configure it under Settings → Markets. Each market you publish carries its own countries and currency, and the country picker is how a shopper moves between them. Prices, taxes, and duties then follow that market. Lapels simply renders what Shopify hands it.

What the theme controls is whether the currency code is printed beside the amount. Two settings live under Theme settings → Currency format:

SettingWhat it doesDefault
Show currency codesAppends the code to every price on the storefront, so $1.00 becomes $1.00 USD.Off
Show the currency code on the cart totalAppends the code to the cart and drawer totals only.Off

Every price in Lapels renders through one formatter, so these are genuine store-wide switches. Product cards, product pages, cart lines, and the prices the theme redraws when a shopper picks a variant all change together. Checkout always shows the code beside the total whatever you choose. That part is Shopify’s.

Turn Show currency codes on if you sell in more than one currency. A dollar sign means something different in eight countries, and an ambiguous price is a price a shopper checks at checkout instead of trusting on the page. Full detail is on Currency format.

Lapels supports right-to-left languages and mirrors itself automatically. There is no RTL setting, and nothing to switch on.

The theme takes the direction from the language the shopper is actually browsing in, not from a saved setting. A store selling into both Arabic and English cannot answer with one fixed direction.

Direction is decided by the language, so a regional variant such as Egyptian Arabic behaves exactly as Arabic does. The right-to-left set covers Arabic, Hebrew, Persian, Urdu, Pashto, Sindhi, Kashmiri, Kurdish (Sorani), Divehi, Uyghur, Yiddish, Syriac, and Aramaic. Everything else is left-to-right.

What mirroring actually means here:

  • Layout. Spacing, alignment, and column order all flip, throughout the theme. Nothing is pinned to the left because it happened to be built that way.
  • Icons. Anything that points along the reading order is flipped so it still points forward. That covers arrows, chevrons, and the caret on a drop-down. Icons that mean the same thing in either direction are left alone.
  • Motion. Scrolling text bands travel the other way, and drawers slide in from the other edge.
  • Text. Arabic interface text is bundled, so an Arabic storefront is translated and mirrored the moment you publish Arabic in Settings → Languages.
  • Bundled languages: English plus French, German, Spanish, Italian, Portuguese (Brazil), Dutch, Japanese, Simplified Chinese, Korean, Swedish, Danish, Polish, and Arabic. Each covers the storefront and the theme editor.
  • Add a language: Settings → Languages in Shopify admin.
  • Reword the theme in your default language: Online Store → Themes → ⋯ → Edit default theme content.
  • Reword the theme per language: Translate & Adapt → Theme.
  • Translate products, collections, pages, and menus: Translate & Adapt, under the matching resource.
  • Currencies and markets: Settings → Markets. Currency codes beside prices: Theme settings → Currency format.
  • Pickers: Header → Localization (both off by default), and the Country and language block in a Footer column (both on by default). Each hides when there is only one option.
  • Hand-typed links: prefixed with the shopper’s language automatically. Nothing to set.
  • RTL: automatic, per request, nothing to configure.

Related: Supported languages · Performance & accessibility · Currency format · Lapels support replies within 12 hours.