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 text | Examples | How 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 message | Edit default theme content in the theme’s own menu, or Translate & Adapt under Theme |
| Your content | Product titles and descriptions, collection names, page and blog copy, menu labels, image alt text, policies | Translate & 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.
Bundled languages
Section titled “Bundled languages”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.
Publish a language on your store
Section titled “Publish a language on your store”Adding a language happens in Shopify admin, not in the theme. Nothing in Lapels needs changing.
- Go to Settings → Languages.
- Under Published languages, choose Add language and pick the one you want.
- 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.
Edit the theme’s wording
Section titled “Edit the theme’s wording”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.
The country and language pickers
Section titled “The country and language pickers”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.
| Setting | What it does | Default |
|---|---|---|
| Show country and currency selector | Offers a country and region picker, which also sets the currency. | Off |
| Show language selector | Offers 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.
| Setting | What it does | Default |
|---|---|---|
| Show the country picker | Sets the country, and with it the currency. | On |
| Show the language picker | Switches 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.
Links keep the shopper in their language
Section titled “Links keep the shopper in their language”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.
Currency and markets
Section titled “Currency and markets”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:
| Setting | What it does | Default |
|---|---|---|
| Show currency codes | Appends the code to every price on the storefront, so $1.00 becomes $1.00 USD. | Off |
| Show the currency code on the cart total | Appends 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.
Right-to-left languages
Section titled “Right-to-left languages”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.
Quick reference
Section titled “Quick reference”- 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.