The preference page in every language the product speaks

FeatureEmailService
Shipped
September 12, 2026 at 7:42 PM UTC
Author
Kamo
Commit
20e85da

The page behind every unsubscribe link only spoke English. It now speaks all 22 languages the product UI ships: English, Chinese, Hindi, Spanish, French, Arabic, Bengali, Russian, Portuguese, Indonesian, German, Japanese, Swahili, Turkish, Tamil, Vietnamese, Korean, Italian, Thai, Polish, Ukrainian and Romanian. - Every sentence the page says itself now lives in a message bundle, **************** with English as the source and the fallback for anything missing. Numbers take the right plural form for each language, and dates are written the language's own way (UTC). - The language is chosen per request: a lang parameter wins, then the browser's Accept-Language (quality values honoured, pt-BR falls back to pt), then English. A language the reader picks stays picked through every form and redirect. The page sets <html lang>, Content-Language and Vary, and lists every language, named in itself, at the bottom as plain links. - Arabic is laid out right to left: dir="rtl", logical CSS, a mirrored switch, and the organization's own words (name, subject, address) kept in their own direction. Those words are never translated. - On wide screens the page now uses the full width: who it is for and why on one side, the choices beside it in columns, the notes and footer below. Under 720px it is the same single column as before. - Nothing else changes: every value is still escaped (translated text around it too), no script, the same locked-down headers, GET still never changes anything, and a link that names nobody still gets the same neutral page, now in the reader's language. Tests check that every bundle has exactly the English keys and placeholders and a branch for each plural form of its language, and cover the language negotiation, right-to-left output, dates, escaping, and the language surviving a save and its redirect.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing