Skip to main content
TWICE Commerce supports multi-language content for customer-facing entities. You set a default language, enable additional languages, and translate fields like names and descriptions per entity. Untranslated fields fall back to the default language value.

Definition

The translations system lets you maintain localized versions of text fields across your catalog, pricing labels, checkout fields, collections, locations, attributes, and templates. Each translation is scoped to a specific entity, field, and language — so you can translate the name and description of a single listing into as many languages as you have enabled. Translations are stored separately from the source entities. The original content in your default language stays on the entity itself. Translated values are layered on top and served to customers based on their language preference.

Where do I use it?

  • Settings → Translations & Languages — set the default language and enable additional languages for your organization
  • Settings → Translations & Languages — browse all translatable content grouped by type (listings, collections, policy documents, locations, attributes, variants, variant values, booking prices, subscription plans, checkout fields), track progress, and edit translations
  • Catalog item editor — click the translate icon next to a field to add translations inline: Name and Description on the listing, the duration label of a fixed booking price and the title of a subscription plan on the Pricing tab, and the name and placeholder of a custom field on the Checkout Settings tab. The icon appears once the row or field is saved — a new one has no id to attach translations to yet
  • Theme Editor → Translations — translate storefront-authored content (hero text, section labels, SEO metadata, page copy) and override system strings. See Theme Editor
  • Settings → Checkouts → Translations — translate checkout-specific content (form labels, consent text, step copy) per checkout configuration
  • Storefront — translated content is served automatically based on the customer’s language

How it works

Translations are organized in a three-level hierarchy:
  1. Group — a category of translatable entities (e.g. “Listings”, “Collections”, “Online store”). Each group shows how many entities it contains and your translation progress for the selected language.
  2. Entity — a specific catalog item, collection, location, attribute, variant, or storefront section. Displays the entity label and its translatable fields.
  3. Field — an individual text property (e.g. name, description). Each field holds one translation per enabled language.

Supported entity types

Catalog and inventory

Attributes with option-based values (e.g. a “Color” attribute with options “Red”, “Blue”, “Green”) expose each option label as a separate translatable field. The translation editor groups these under the parent attribute. These entity types are managed in Settings → Translations & Languages. Three limits decide whether a price label or a checkout field shows up as translatable at all:
  • Fixed booking prices only. A rate-based booking price has no customer-facing duration label — the storefront never renders one — so rate-based rows are absent from the Booking prices group. Subscription plans have no such split; every plan title is translatable.
  • Custom checkout fields only. A field of type Customer attribute renders the attribute’s name, which you translate through the Attributes group instead. Internal fulfilment fields are staff-facing and are not translatable.
  • Select options are not translatable. The option names on a Select field have no stable identifier of their own, so they are not registered as translatable fields and are served in the source language. Attribute option labels are translatable — the asymmetry is deliberate.
A booking or subscription price label does double duty: the label you write in the default language is part of what identifies the row. Rows that match on their terms and their label count as the same offering, so they merge into a single storefront option and availability is resolved against that shared identity.Translations are display-only. The storefront renders the translated label and falls back to the source label when none exists, so grouping stays the same in every language. Editing the source label is the consequential change — it can split one storefront option into two, or merge two into one. Translating it cannot.

Storefront content

Storefront content is translated in the Theme Editor → Translations mode, not in Settings > Translations. Checkout content is translated in Settings → Checkouts on the Translations tab of each checkout configuration. A checkout configuration covers the copy that belongs to the checkout itself. The custom fields a listing adds to checkout are not part of it — their names and placeholders belong to the listing, and you translate them from the listing or from the Checkout fields group in Settings > Translations. Only fields that have a non-empty value in the default language appear as translatable. If a listing has no description, the description field does not show up in the translation editor for that listing.
Email and document templates are also localizable per language, but you translate them from their own editors (Settings > Emails, Settings > Documents) rather than from the centralized translation editor. The same resolution model applies: per-language override → source content → code default (system templates only).

Language configuration

Default language

Every organization has a default language — the language your original content is written in. This defaults to English (en) but can be changed in Settings → Translations & Languages. The default language is the baseline that other translations are compared against.

Enabled languages

Enable additional languages to start translating content into them. TWICE supports 24 languages: Disabling a language does not delete its translations — they are preserved and reappear if you re-enable the language.

Translation progress

The translations interface tracks completion per group and language. Progress is calculated as: Translated fields / Total translatable fields
  • Total translatable fields counts only fields where the source entity has a non-empty default-language value.
  • Translated fields counts fields that have a translation for the selected language.
This gives you a clear view of what still needs work before you launch a new language.

System string overrides

Beyond translating your own content, you can override the built-in UI strings that TWICE provides. These are the labels, buttons, and messages that appear on the storefront and checkout (e.g. “Add to cart”, “Select dates”, filter labels). Overrides work in any language, including your default language — useful for rewording a label to match your business terminology. System string overrides are managed in the Theme Editor → Translations mode under the System strings and Commerce tabs. Storefront strings apply to your online store only. Commerce strings are shared across all sales channels.

Fallback behavior

When a translation is missing for a specific field and language, the system falls back to the default language value. Customers see the original content rather than an empty field.

FAQs

You can translate into any of the 24 supported languages. Enable the languages you need in Settings → Translations & Languages before adding translations.
Changing the default language updates which content is treated as the baseline. Existing translations are preserved. The content on your entities (names, descriptions) is still in whatever language you originally wrote it in — the default language setting tells the system which language that is.
Yes. Once a translation exists for a field and language, it is served to customers whose language preference matches. Missing translations fall back to the default language value.
Storefront-authored content (hero text, section labels, about page, SEO metadata) is translated in the Theme Editor → Translations mode, not in Settings > Translations. Open the Theme Editor, switch to the Translations sidebar, select a target language, and edit fields inline.
The translations editor in Settings → Translations & Languages lets you work through all entities in a group. You can also export translations for external editing and import them back.
Translations are tied to the entity. If you delete a catalog item, collection, location, policy document, attribute, or variant, its translations are removed as well.
No. All translations are manually managed. You write or import the translated text for each field and language.

Listings

Catalog items whose names, descriptions, and custom sections you translate

Attributes

Custom attributes with translatable names, descriptions, and option labels

Variants

Listing variants with translatable names and values

Localization

System string overrides and storefront language configuration

Settings - Translations

The translations settings UI

Theme Editor

Translate storefront content and override system strings

Settings - Emails

Email templates with per-language content and language routing

Settings - Documents

Document templates with per-language content