One email. Twenty languages. Zero copy‑paste.
Add languages to a campaign and every version becomes a real email — drafted by AI in your brand voice, reviewed and approved by the local market, exported as its own campaign. And when the master design changes, every language follows without losing a single translated word.
Not locked copies. Not spreadsheets. Real emails, kept in step.
Summer Sale 2026
Language versions
English Master
German
de-DE
French
fr-FR
Spanish
es-ES
Italian
it-IT
Japanese
ja
Swedish
sv
Every language version is a real email
Most tools bolt translation on as a locked copy: layout frozen, one all-or-nothing “update variants” button, and master text changes that silently never reach the translations.
Better Email models each language as a full sibling email in the family — so everything your team already expects from an email just works, per language.
Its own revisions & history
The German reviewer’s edits never touch the French version. Every language has its own version history, so nothing gets stepped on.
Its own review & approvals
Comments, approvers, and pre-flight checks run per language. Your German market approves German — nobody signs off on copy they can’t read.
Its own design freedom
A local hero image, an extra legal module, different segmentation for that market. Overrides are explicit, tracked, and survive every sync.
Its own export identity
German and French land in your ESP as separate campaigns — SFMC, Braze, Emarsys, wherever you send from. No merge step, no renaming ritual.
The same campaign, fluent everywhere
One design, one send date, twenty inboxes that each read like the email was written for them. Click through the family — this is what your reviewers see in the editor.
Language versions — pick a sibling
🇩🇪 German
ApprovedGerman conventions applied: % gets a space, dates and formality follow de-DE.
Jump between siblings without leaving flow. The switcher sits next to the email name in the editor — every version is one click away.
Merge tags survive byte-for-byte. Personalization, Liquid, and ESP expressions are preserved exactly — and validated after every translation.
Every version has its own status. German is approved while Japanese is still an AI draft — review runs per language, not per campaign.
Same email, same design — different language
Subject
Letzte Chance: Sommerpreise nur bis Sonntag
Hallo {{ first_name }},
Letzte Chance — die Sommerpreise enden am Sonntag
Bis zu 40 % Rabatt auf Sofas, Betten und Gartenmöbel. Nur bis Sonntag um Mitternacht.
Translation that read the whole email
This isn’t string-by-string machine translation. The AI sees the entire email — subject, structure, and every block in context — plus your brand’s tone of voice, and writes for the target market’s conventions: formality, dates, currency, punctuation. A de-AT reader gets Austrian German, not “German-ish”.
Whole-email context. Subject line, every module, and the rendered structure — not isolated strings
Your brand tone of voice. The same voice settings Betty uses when writing your emails
Target-market conventions. BCP-47 aware: de-DE vs de-AT, es-ES vs es-MX, formality and formatting
What not to touch. Merge tags, URLs, brand names, product codes — preserved and verified
Runs as a durable server-side job — languages translate in parallel, the run survives a closed tab, and statuses update live on the Translations tab.
Merge tags survive byte-for-byte. Personalization tokens, Liquid, and ESP expressions — {{…}}, {%…%}, %%…%% — come back exactly as they went in, verified on every field.
HTML structure stays intact. In rich text, only the text nodes are translated. Tags, attributes, and every link URL are checked against the source after translation.
Brand names stay untranslated. Product names, URLs, and codes pass through untouched — your loyalty program’s name never becomes something creative in Portuguese.
Subject lines stay subject-line length. The AI is held to sensible length bounds and told to be extra concise where inboxes truncate.
Failures are flagged, never hidden. Every field is validated; anything that fails validation is retried, and what still fails is marked on the version — you’ll never unknowingly ship a broken field.
Twenty languages, one glance
The Translations tab is the campaign’s cockpit: every language with its status, design revision, translation freshness, approvals, and last export. Design and copy are deliberately separate columns — “is this version on the latest design?” and “is every word translated and fresh?” are different questions.
Language versions
Every language is a full email with its own review and export.
Rev 3 has design changes — 1 module added, 2 image swaps. 19 versions are on Rev 2.
Push design updateGrouped in the library too
One campaign is one row. The master carries a roll-up — flags, “14 approved · 5 in review · 1 draft” — and expands to reveal the family.
Statuses that mean something
Needs translation, AI draft, Edited, In review, Approved — derived from the same review machinery as every other email, so no surface ever disagrees.
Families move together
Move the master to a folder and the versions travel along. Deleting a master asks about its family — no orphaned Japanese draft six months later.
Change the design once. Lose zero words.
The sync engine understands what kind of change it’s pushing. Structure and design flow to every language; translated copy is sacred. Try it — push the master’s Rev 3 into the German version.
Rev 3 has design changes — German is on Rev 2.
New store-locator module, updated hero image, sharper headline.
Headline
Final days — summer prices end Sunday
Text changedCTA
Shop the sale
Store locator · module
Find your nearest store
New moduleHeadline
Letzte Chance — die Sommerpreise enden am Sonntag
CTA
Zum Sale
Store locator · module
Find your nearest store
Needs translationStructure is applied: Modules added, removed, or reordered on the master land in every version. New modules arrive flagged “needs translation” — never silently in English.
Design values follow the master: Colors, images, links, toggles — applied everywhere, unless a version explicitly overrides that exact field. The German market’s own hero image survives every sync.
Translated text is never overwritten: If the master’s source text changed, the field is marked stale with the new source shown alongside — and a one-click retranslate. A translator’s hand-polished sentence is never bulldozed.
Everything is explicit: Pushes happen when you publish and choose to push — with a summary of what applied, what was skipped as an override, and what went stale.
The side-by-side translators actually want
Open a language version and every translatable field shows the master’s source text right underneath it. Stale fields say why they’re stale. No second monitor, no exported spreadsheet, no guessing what the English said.
- Click any stale or untranslated flag to jump straight to the field
- Compare with the master in a full side-by-side split on the Review tab
- Ask Betty for touch-ups: “make the German more formal”, “shorten this subject to fit”
Master: Summer Sale 2026 · Rev 3
Headline
Stale — master text changedEN master: “Final days — summer prices end Sunday”
Dernière chance — les prix d’été se terminent dimanche
CTA label
EN master: “Shop the sale”
Découvrir les soldes
Nothing new to learn for review and export
Language versions ride the machinery your team already trusts — the same feedback, approvals, pre-flight checks, and one-click ESP export as every other email.
Approvals per market
Your German market approves German. Comments, approvers, and activity live on each version — the same collaboration you already use.
Translation pre-flight checks
A dedicated check category joins the pre-flight suite on every language version — so “ready to ship” includes “ready in Swedish”.
Translation complete
All 42 fields translated
No stale translations
Nothing out of date with the master
Design in sync
On the master’s latest revision
Each language, its own campaign
Every version exports to your ESP as its own campaign — or ship the whole family at once with “Export all approved”.
SFMC · 3 of 14 approved versions
Austria isn’t Germany, and your emails know it
Languages are real BCP-47 locales, so de-AT and de-CH can be separate versions with their own copy, their own store imagery, their own legal footer — each with its own reviewer.
- 80+ suggested locales — and any valid BCP-47 tag you type is accepted
- Admins set the organization’s language list once — every campaign picks from it
- Per-market overrides — a local hero image or legal module — survive every design sync
Settings → Translations — your organization’s markets
Search common languages or type any tag — “de-AT”, “fr-CH”, “es-419”…
Built on machinery you already trust
Localization isn’t a bolt-on — it’s your existing workflow, multiplied by every market.
Pre-flight Checks
Translation checks join the pre-flight suite: complete, fresh, and in sync before any language ships.
Collaboration & Approvals
The per-language review flow — comments, approvers, activity — is the same one your whole team already uses.
Integrations
Every language version exports as its own campaign to SFMC, Braze, Emarsys, and the rest of your stack.
Ship the next campaign in every language
Add your markets, hit Translate all, and review real emails instead of wrangling spreadsheets. We’ll show you on your own campaign.
Request a demo