Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions learn/audience/email-preferences.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ The page is available in 19 languages and picks one in this order:

This works for every campaign, not only [multilingual campaigns](/learn/multilingual-campaigns/introduction). See [The language of hosted pages](/learn/multilingual-campaigns/contact-language#the-language-of-hosted-pages) for how the contact's language is found.

Topic names and descriptions are your own text, so they follow [topic translations](/learn/audience/topics#translations): each recipient sees the translation for the page's language, otherwise the default. To check the result, click **Preview preferences page** on the **Topics** page and switch the language in the preview banner.

## How Choices Are Applied

**Ticking and unticking topics** changes only topic subscriptions. A recipient who unticks "Product updates" but leaves "Newsletter" ticked stays `subscribed` and keeps receiving the newsletter. Topic opt-outs genuinely suppress sends: consent is re-checked when the campaign's recipients are resolved and again for every batch.
Expand Down
30 changes: 30 additions & 0 deletions learn/audience/topics.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,36 @@ A topic's visibility controls whether recipients can see and control the topic o

Visibility doesn't change what the topic does in Lettr — it only signals intent. Use private topics as a lightweight tagging system for internal organization (for example "Beta Tester" or "Enterprise Lead") that you don't want recipients to see or control. Use public topics for the choices you genuinely want recipients to make for themselves.

## Translations

The [email preferences page](/learn/audience/email-preferences) opens in each recipient's language, but it can only show your topics' names and descriptions as you wrote them. Translations let you write them for each language yourself. Lettr never translates them for you.

Recipients see the topic's translation for their language, otherwise its default name and description.

<Steps>
<Step title="Open the topic">
Go to **Audience** → **Topics** and create a topic, or click **Edit** on an existing one.
</Step>
<Step title="Add a language">
Expand **Translations**, click **Add language** and pick one of the [19 supported languages](/learn/multilingual-campaigns/contact-language#accepted-spellings). The inputs show the default text as a placeholder, so you can see what you are translating.
</Step>
<Step title="Write the name and description">
Enter the name (required) and, optionally, the description, then save.
</Step>
<Step title="Check it">
Click **Preview preferences page** at the top of the **Topics** page and switch the language in the preview banner.
</Step>
</Steps>

<Note>
A translation is shown exactly as written. If a translation has no description, recipients in that language see **no** description, even when the topic's default has one.
</Note>

- The **Languages** column on the **Topics** page shows which languages each topic has.
- Everywhere else in Lettr (segments, contact profiles, activity) the topic keeps its default name.
- The preview shows public topics only, so translations of a private topic can't be checked there.
- Through the API and MCP, `translations` on a topic update replaces the whole set: send every language you want to keep. See [Update a topic](/api-reference/audience/update-a-topic) in the API Reference.

## Adding and Removing Topics on Contacts

You can manage topic membership from several places:
Expand Down
2 changes: 1 addition & 1 deletion learn/multilingual-campaigns/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Content is locked in every language the moment you schedule or start the campaig
| Merge tags | The recipient's own contact properties, in every language |

<Info>
**The unsubscribe page is translated as well.** A German recipient who clicks **Abmelden** lands on a German [Manage email preferences](/learn/audience/email-preferences) page, with the topic choices, pause options, unsubscribe dialog and confirmation all in German. There is nothing to set up or translate yourself. See [The unsubscribe and preferences page](/learn/multilingual-campaigns/sending-and-results#the-unsubscribe-and-preferences-page).
**The unsubscribe page is translated as well.** A German recipient who clicks **Abmelden** lands on a German [Manage email preferences](/learn/audience/email-preferences) page, with the topic choices, pause options, unsubscribe dialog and confirmation all in German. The page itself needs no setup. The one thing Lettr cannot translate is your own topic names and descriptions: add [topic translations](/learn/audience/topics#translations) for the languages your recipients use. See [The unsubscribe and preferences page](/learn/multilingual-campaigns/sending-and-results#the-unsubscribe-and-preferences-page).
</Info>

## Where It Fits
Expand Down
4 changes: 2 additions & 2 deletions learn/multilingual-campaigns/sending-and-results.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Test emails get the same treatment. A test sent in German carries the German foo

The translation continues after the click. The unsubscribe link in a campaign opens the hosted [Manage email preferences](/learn/audience/email-preferences) page, and Lettr shows that page in the recipient's language: the status, the topic choices, the pause options, the unsubscribe dialog with its reasons, and the confirmation that follows. A German contact who clicks **Abmelden** in a German email manages their preferences and unsubscribes in German.

You don't build or translate anything for this. The page ships in 19 languages, the same 19 listed under [Accepted spellings](/learn/multilingual-campaigns/contact-language#accepted-spellings), and picks one in this order:
You don't build or translate the page itself. It ships in 19 languages, the same 19 listed under [Accepted spellings](/learn/multilingual-campaigns/contact-language#accepted-spellings), and picks one in this order:

1. The contact's language value, when it is one of the 19 languages.
2. Your team's **Default communication language**, set under **Settings** → **Team**.
Expand All @@ -39,7 +39,7 @@ You don't build or translate anything for this. The page ships in 19 languages,
The page follows the **contact's language value**, not the language version of the email. Most of the time these are the same. They differ when a contact's language is one the page supports but your template does not have: a contact with `it` who falls back to an English email still gets the unsubscribe page in Italian. See [The language of hosted pages](/learn/multilingual-campaigns/contact-language#the-language-of-hosted-pages).
</Note>

Your own text is not translated by Lettr: topic names and descriptions appear as you wrote them.
Your own text is not translated by Lettr. Topic names and descriptions appear as you wrote them, per language: give a topic a translation for a language and recipients in that language see it, otherwise they see the topic's default name and description. See [Topic translations](/learn/audience/topics#translations).

You can check the page before sending. The unsubscribe link in a test email opens a preview of the page in the language of that test, with your team's real topics and inert controls, so clicking around changes nothing.

Expand Down