PlunkPlunk
Guides

Localization

Translate the unsubscribe footer and contact-facing pages into your contacts' languages

Plunk localizes the strings it controls — the auto-injected unsubscribe footer on marketing emails, the hosted unsubscribe / subscribe / preferences pages — into the language of your audience. Your own template content (subject lines, body copy) is not translated automatically; you control that yourself.

Setting the project default

Open Settings → Project and pick a default language. This is used for any contact who doesn't have a specific language set on their record.

Overriding per contact

Set a locale field on the contact's data to override the project default for that recipient:

curl -X POST https://next-api.useplunk.com/v1/track \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ada@example.com",
    "event": "signed_up",
    "data": { "locale": "fr" }
  }'

Use a BCP 47 / ISO 639 code that matches one of the supported languages below. You can also reference {{locale}} inside template variables to branch your own copy on the contact's language.

If the contact's locale doesn't match a supported language, Plunk falls back to the project default. If neither is set, English is used.

Supported languages

CodeLanguage
enEnglish
nlDutch (Nederlands)
frFrench (Français)
deGerman (Deutsch)
esSpanish (Español)
itItalian (Italiano)
ptPortuguese (Português)
plPolish (Polski)
csCzech (Čeština)
bgBulgarian (Български)
hiHindi (हिंदी)
zh-CNChinese (Simplified, China)
zh-TWChinese (Traditional, Taiwan)
zh-HKChinese (Traditional, Hong Kong)

What gets translated

SurfaceTranslated?
Unsubscribe footer on marketing emailsYes
Hosted unsubscribe / subscribe / preferences pagesYes
Your own template subject and bodyNo — author per-language templates and branch on {{locale}}

Translating your own templates

Plunk doesn't translate the content of your templates. Two common patterns:

  • One template per language, picked in your code or workflow before sending. Name them with the locale suffix (welcome-en, welcome-fr).
  • One template with branched copy, using {{locale}} inside Handlebars conditionals to inline different language variants. Workable for short copy; gets unwieldy for long emails.

For larger localization needs, the per-language template approach is easier to maintain.