Skip to main content
Every text string in the Swish UI can be customized or translated. Pass overrides under translations, keyed by language code.
Swish ships with several built-in locales and loads the one matching your storefront’s active language, falling back to English when a language isn’t built in. Your overrides are merged on top of the loaded locale, so you only need to specify the keys you want to change.

In the customiser

Global → Translations lists your store’s languages: your default language first, then each language you sell in, marked Translated or Needs translation. Open a language to change its text line by line, grouped by where customers see it, with the English beside each line. A line you leave empty keeps Swish’s own text, which is English for a language Swish doesn’t include. Search finds a line in any area, and Products → Product option names gives a product option such as Size its own name (see Variant option labels). Your changes reach your storefront when you save. The customiser’s preview doesn’t show them yet. A translations block set in your theme’s window.SwishOptions takes precedence over what you save here.

Built-in languages

Swish includes translations for the following languages:
Missing a language? Email support@swish.app and we’ll add it.

Languages Swish doesn’t include

To translate Swish into a language it doesn’t include, add that language’s code to translations. Customers who browse in that language see your translations, and English for any key you leave out - including your own en overrides.
Use your storefront’s language code in lower case. Portuguese and Chinese keep their region after an underscore: pt_br, pt_pt, zh_cn and zh_tw. Every other language uses its two-letter code, so fr covers both fr and fr-CA storefronts.

Translation keys

Keys use dot notation matching the nested structure of the locale file. For example, the nested object saveButton.save maps to the key "saveButton.save".

Variant option labels

Product variant option labels (e.g. Size, Color) come from Shopify and are shown as-is. To translate or rename one, add an override under the optionName. prefix, followed by the exact option name as set in your Shopify admin. The key is case-sensitive, so optionName.Size and optionName.size are different keys.
This applies everywhere the label appears - the option header, the “select option” prompts, and product card variant labels. Without an override the original Shopify name is shown.

Interpolation

Some strings include {{placeholder}} tokens that are replaced with dynamic values at runtime. Keep these tokens in your overrides - removing them will cause the dynamic value to be missing.

Pluralization

Strings that vary by count use One and Other suffixes. The SDK selects the correct form based on the count value: One when the count is exactly 1, Other for everything else.

Translation key reference

Saves

Save button

Buy buttons

buyButtons.notifyMe labels the Notify Me button — the placed one on your own product page, and the one that stands in for “Sold Out” inside Swish’s drawer product detail and quick buy.

Notify me

The back-in-stock signup dialog.

Toasts

These strings appear in toast notifications triggered by SDK actions.

Variant select

List select

List editor

List menu

Delete list alert

Unsave alert

Save for later alert

Shown before a removed cart item is saved when intents.saveCartLine.confirm is "dialog".

Sign in

signIn.description is what the home, saves and lists views fall back to when their sign-in section carries no options.message. Overriding the key changes all three; set message per view to differ between them. A message may itself be a t:-prefixed key, so per-view copy can be translated too.

Drawer header

Screen-reader labels for the drawer header’s icon-only account and close buttons, and its greeting. The close button shows when the header section’s useCloseButton option is on, and the greeting when its headerStyle is "greeting". See Drawer. drawerHeader.guestGreeting is what a guest sees when the header section’s guestGreeting is empty.

Drawer - Home

The miniMenu keys are the preset titles offered for Home mini-menu links. A link whose title is one of these keys follows the shopper’s language; any other title renders verbatim.

Drawer - Product detail

Drawer - Lists

Drawer - List detail

Drawer - Add list items

Drawer - Notifications

Drawer - Orders

Drawer - Order detail

Drawer - Profile

Order status

Order menu

Product cards

Product recommendations

Smart lists

Sections

Since last visit callout

Slider

The back and forward arrows on a slider, shown to shoppers on a mouse or trackpad. Used as accessibility labels for screen readers.

Other