Translate all texts in bulk
Charm ships its customer texts in 35 languages, so most store languages need no work. Two cases do:
- A language Charm doesn’t ship. Your customers read those texts in your primary language until you translate them.
- Your own wording. When you rewrite a text in your primary language, the other languages keep Charm’s version until you translate yours.
Settings → Languages & translations shows where that work is and lets you do it in one file per language. You can also open it with Translate all texts from Customer copy, the store widget, the landing page and Emails.
See what needs translating
Section titled “See what needs translating”The table lists every language published in your store:
| Status | Meaning |
|---|---|
| Primary | The language you write your texts in. Every file uses it as the source. |
| Ready | Every text has a translation, from Charm or from you. |
| Not translated: 12 | 12 texts in this language still show your primary-language text or Charm’s version of a text you rewrote. |
The Translated column counts the translated texts and how many of them are your own. Tone of voice shows whether a language addresses customers formally or casually. Click it to change the tone in Settings. Languages without that distinction show a dash.
Export a language
Section titled “Export a language”- Go to Settings → Languages & translations.
- Next to the language, click Export.
- Choose Only texts that need translating or All texts. Pick all texts if you want to reword Charm’s translations too.
- Click Download CSV.
The file has one row per text:
| Column | What it holds |
|---|---|
| Key (do not edit) | Where Charm stores the text. The import matches rows by this key. |
| Where it appears | The page and field, for example Loyalty Hub › Ways to earn › Per spend. |
| Status | Your text, Charm default or Not translated. |
| Keep these variables | Placeholders such as {{points}} the translation must keep. |
| Source [en] | The text in your primary language, as customers read it today. |
| Translation [de] | The only column Charm reads back. Empty when the text isn’t translated yet. |
Translate the file
Section titled “Translate the file”Open the file in Excel, Google Sheets or Numbers, run it through DeepL, or send it to a translator. A few rules keep the import clean:
- Edit only the Translation column. Other columns are there for context.
- Keep every variable exactly as written, for example
{{points}}or{{tierName}}. Don’t translate the name inside the braces. Charm tidies spaces such as{{ points }}on import. - Plural forms get their own rows. A text that includes a number has one row for each plural form the language uses, marked with example numbers, for example few: 2, 3, 4… in Czech or Russian.
- Leave a cell empty to keep the current text. An empty cell never deletes anything.
- Save as CSV (UTF-8) or XLSX. Both commas and semicolons work.
Import and review
Section titled “Import and review”- Go to Settings → Languages & translations.
- Click Import file and choose the file. Charm finds the language from the Translation column’s header.
- Review the changes. Nothing is saved yet:
- Ready to save texts are listed by page, each with the source, the current text and the new one.
- Need a fix texts are at the top, with the reason: a missing or unknown variable, a broken brace, or a link in an e-mail text. Correct the text right there and click Check.
- Unchanged or empty rows are skipped.
- Click Save changes.
Texts reach the storefront within about a minute.
A translation that matches Charm’s own text isn’t stored as yours. That language goes back to Charm’s default, so it keeps getting Charm’s copy improvements and follows your tone of voice.
Undo an import
Section titled “Undo an import”The Last import card shows the most recent import. Click Undo import to restore the texts it replaced. A text you changed again after the import stays as you changed it.
What the file covers
Section titled “What the file covers”- Loyalty Hub, profile and order status blocks, thank you page and celebration bar, checkout block, partner programme (when it’s on)
- Landing page and store widget
- All loyalty e-mails, plus the e-mail header and footer text
- Program name (when you set your own) and points name
Tier names, perks, earning and redeeming rule titles, bonus campaigns and FAQ have their own language fields in their editors.
To reword a text in your primary language, edit it in its editor, such as Visibility → Customer copy or Emails. The import only writes other languages.