Skip to main content
TWICE Commerce supports multi-language storefronts out of the box. You configure which languages your storefront offers, set a default language, and optionally override any UI string — buttons, labels, headings, and checkout copy — on a per-language basis. Content translations (product names, descriptions) are handled separately through the translations system.

How it works

Localization in TWICE has two layers: System strings ship with default translations for all 24 supported languages. You override individual strings when you want to match your brand voice or clarify terminology for your customers. Content translations are always manually managed — you write the translated text for each field and language.

Language configuration

Default language

Every organization has a default language. This is the language your storefront renders when no other preference applies, and the baseline that content translations are compared against. It defaults to English but can be changed in Settings > Translations.

Enabled languages

Enable additional languages to make your storefront available in those languages. TWICE supports 24 languages: Disabling a language preserves all existing overrides and content translations. They reappear if you re-enable the language.

System string overrides

System strings are the built-in UI text on your storefront and checkout. Every string ships with a default translation maintained by TWICE Commerce. You can override any of these strings per language — including your default language — to match your brand voice.

Scopes

Overrides are organized into three scopes: Each scope is edited independently. Checkout overrides can also vary per checkout configuration if you run multiple checkout flows.

Override format

Each override targets a specific string using a namespaced key. The key combines the scope namespace and a dotted path that identifies the string:

Editing overrides

Open Settings > Translations, select a language, and choose a scope from the sidebar (Online store, Commerce, or Checkout). The default language appears alongside your other enabled languages — you can override system strings in any language, not just non-default ones. The editor shows each string with:
  • Key — the string identifier
  • Default — the built-in translation maintained by TWICE Commerce
  • Override — your custom text (empty if not overridden)
Type your override in the Override column. Save to apply. To revert a string to its default, clear the override field.
Default-language overrides are useful for matching your brand voice without changing your primary language setting. For example, you can rename “Add to cart” to “Reserve now” in your default language.

Fallback behavior

When a customer views your storefront, the system resolves each string in this order:
  1. Merchant override for the customer’s language — if you set one, it wins
  2. Default translation — the built-in translation maintained by TWICE Commerce
  3. Default language value — if no translation exists for the requested language, the default language value is used
Customers always see text. A missing override never produces an empty string.

Storefront language selector

When you enable more than one language, the storefront displays a language selector in the top bar — a thin strip above the announcement bar and header. Customers click it to switch languages without leaving the page. The selector shows each language by its native name (e.g. “Deutsch” for German, “Suomi” for Finnish). The active language is highlighted in the dropdown. Switching languages updates the page content, system strings, and any translated merchant content immediately. The language selector does not appear on checkout or order link pages. If only one language is enabled, the top bar is hidden entirely (unless the store selector is also present).

Language resolution

When a customer visits your storefront, the system determines which language to render:
  1. ?lang= parameter — the language selector sets this on every switch. You can also use it to link directly to a specific language version of a page.
  2. Default language — your organization’s default language
  3. First enabled language — the first language in your enabled languages list
  4. Fallback — English
The storefront loads the appropriate language bundle, applies any merchant overrides on top, and renders the page. Language bundles for non-default languages are loaded on demand to keep initial page loads fast. The ?lang= parameter is preserved across page navigations, so customers stay in their chosen language as they browse.

Transactional emails

Transactional emails (order confirmations, shipping notifications) are sent in the recipient’s preferred language when that language is in your enabled languages list. If the recipient’s language is not enabled, emails fall back to your default language.

FAQs

System strings are the built-in UI text that ships with your storefront — button labels, headings, form fields, error messages. Content translations are for your own content — listing names, descriptions, custom section content, collection titles, location names, policy document names, attribute names, descriptions, and option labels, variant names, storefront content, checkout step descriptions, and navigation item labels. Content translations are managed in Settings > Translations and in the online store and checkout editors.
No. System strings ship with default translations for all 24 supported languages. You only override individual strings when you want to customize the wording — in any language, including your default language.
Yes. Each checkout configuration can have its own set of system string overrides. This is useful if you run different checkout flows for different use cases (e.g. rental vs. purchase).
Disabling a language removes it from your storefront. All overrides and content translations for that language are preserved and reappear if you re-enable it.
No. Content translations and system string overrides are manually managed. You write or import the translated text for each field and language.
Yes. The translations editor supports bulk export and import for both content translations and system string overrides.

Multi-Language Content

Translate listings, collections, locations, attributes, and variants

Online Store

Storefront architecture, themes, and multi-store support

Settings - Translations

Step-by-step guide to the translations settings UI