Skip to content

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.

The table lists every language published in your store:

StatusMeaning
PrimaryThe language you write your texts in. Every file uses it as the source.
ReadyEvery text has a translation, from Charm or from you.
Not translated: 1212 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.

  1. Go to Settings → Languages & translations.
  2. Next to the language, click Export.
  3. Choose Only texts that need translating or All texts. Pick all texts if you want to reword Charm’s translations too.
  4. Click Download CSV.

The file has one row per text:

ColumnWhat it holds
Key (do not edit)Where Charm stores the text. The import matches rows by this key.
Where it appearsThe page and field, for example Loyalty Hub › Ways to earn › Per spend.
StatusYour text, Charm default or Not translated.
Keep these variablesPlaceholders 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.

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.
  1. Go to Settings → Languages & translations.
  2. Click Import file and choose the file. Charm finds the language from the Translation column’s header.
  3. 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.
  4. 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.

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.

  • 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.