Translations
EmailEngine supports multiple languages for public-facing pages. This includes hosted authentication forms, error pages, unsubscribe pages, and other user-facing content.
The admin dashboard and configuration interface are only available in English. Translations apply only to public pages that end users interact with.
Supported Languages
EmailEngine includes translations for the following languages:
| Language | Locale Code |
|---|---|
| English | en |
| Estonian | et |
| French | fr |
| German | de |
| Polish | pl |
| Japanese | ja |
| Dutch | nl |
| Swedish | sv |
| Spanish | es |
| Italian | it |
| Turkish | tr |
Swedish, Spanish, Italian and Turkish were added in EmailEngine v2.81.0.
Language Selection
EmailEngine determines the language to use based on the following priority order:
- Query parameter -
?locale=fr - Custom header -
X-EE-Locale: fr - Session cookie - Stored from previous query/header selection
- Accept-Language header - Browser's language preference
- Default locale - Server-wide setting
Per-Request Language (Query Parameter)
Append locale=<code> to the query string of any public page URL, for example a hosted authentication form URL returned by POST /v1/authentication/form:
https://emailengine.example.com/accounts/new?data=eyJhY2NvdW50Ijoi...&sig=Ah0z...&locale=fr
When set via query parameter, the language selection is stored in a session cookie and persists until the browser session ends or a different language is selected.
Per-Request Language (Header)
Set the X-EE-Locale header in your request. Here FORM_URL is the url returned by POST /v1/authentication/form:
curl "$FORM_URL" \
-H "X-EE-Locale: de"
Like the query parameter, this also sets a session cookie to persist the selection.
Browser Language Detection
If no explicit locale is set, EmailEngine uses the browser's Accept-Language header to negotiate the best available language. For example, a browser sending Accept-Language: de-DE,de;q=0.9,en;q=0.8 would see German if available.