Languages
Translate your store into multiple languages with automatic or manual translation.
When you add a region with a new language, the system can translate your content for you. You review and approve translations before they go live.
What gets translated
| Content | How |
|---|---|
| Product titles and descriptions | Auto-translated |
| Collection names and descriptions | Auto-translated |
| Policy pages (title and blocks) | Auto-translated |
| Page titles and body sections | Auto-translated |
| Blog post titles, excerpts, and body | Auto-translated |
| Menu item labels | Auto-translated |
| Homepage sections | Auto-translated |
| URL slugs | Auto-generated (SEO-safe) |
| Buttons, labels, and navigation | Built-in translations |
| Checkout form fields (name, address) | Stripe handles per locale |
| SKUs, barcodes, sizes (S, M, L) | Not translated (universal) |
Translation workflow
Adding a new language to your store follows four steps:
- Add a region with a non-English locale (for example, Spanish). The region starts disabled so nothing goes live until you are ready.
- Click "Translate" on the region card. The system translates all your content in the background and shows progress in real time.
- Review translations. Open the translation review page to check each item. You can edit any translation inline, mark items as reviewed, or re-translate individual items.
- Publish the region. Once you are satisfied, click "Publish" to make the region live.
Editing translations
Open your region's translation review page from Channels > [Region] > Review. Translations are grouped into tabs by type: Products, Collections, Policies, Pages, Blog Posts, and Menu Items.
Each translation shows its status:
| Status | Meaning |
|---|---|
| Auto | Machine-translated, not yet reviewed |
| Reviewed | You checked it and approved it |
| Edited | You changed the text manually |
| Stale | The English source changed after this was translated |
Click any item to expand it, then click Edit to change the text. Your edits are saved with "edited" status so the system knows not to overwrite them.
Stale translations
When you update a product or other content in English, the system handles translations automatically:
- Auto translations are regenerated with the new English text. No action needed.
- Edited or Reviewed translations are flagged as stale instead of overwritten. This preserves any changes you made by hand.
Stale items appear with an orange warning badge. You can re-translate them individually or use the Re-translate all stale button to regenerate them in bulk.
Buttons and labels
Text on buttons, forms, and menus (like "Add to cart" or "Search") comes from a built-in translation dictionary. These have ready-made translations for each supported language.
If you want to rename a label (for example, "Add to Cart" to "Add to Bag"), you can set text overrides per language in the channel settings. Your overrides take priority over the built-in defaults.
Translation settings
Open Channels > Translation settings (the gear button in the top right) to control two things:
Choosing what gets translated
By default, every content type is included when you translate a region. If you only want certain types translated (for example, products and collections but not blog posts), uncheck the types you want to skip.
| Content type | What it covers |
|---|---|
| Products | Titles and descriptions |
| Collections | Names, descriptions, and SEO fields |
| Policies | Titles and content blocks |
| Pages | Titles, SEO fields, and body sections |
| Blog posts | Titles, excerpts, and body content |
| Navigation menus | Menu item labels |
| Homepage & theme sections | Section headings, buttons, and announcement bars |
Unchecked types are skipped during both bulk translation jobs and automatic re-translation when you edit content.
Protected terms
Some words should never be translated. Brand names, product line names, and technical identifiers often need to stay exactly as written in every language.
Add these terms to the Protected terms list. For example, if your product is called "SACRED" and you do not want it translated to "SAGRADO" in Spanish, add "SACRED" as a protected term. The translation engine will keep it as-is across all languages and content types.