SpeakYourUsers'Language
Deliver notifications in the language your users prefer. Sendivent handles locale detection, template selection, and graceful fallbacks automatically.
Automatic Locale Detection
Detect user language from their profile, browser, or explicit preference.
Template Per Locale
Maintain separate templates for each language with the same event name.
Graceful Fallbacks
If a translation is missing, fall back to your default language.
RTL Support
Right-to-left languages like Arabic and Hebrew just work.
Locale-Aware Formatting
Dates, numbers, and currencies formatted for each locale.
Translation Management
Track which templates are translated and which need attention.
See it in action
// User language is detected automatically from their profile
await sendivent.send('order-confirmation', {
user: {
email: 'user@example.com',
language: 'de' // German
},
payload: {
orderNumber: '12345',
total: 99.00
}
});
// User receives German template with locale-formatted content
Why Multi-Language Matters
Global products need global communication. When users receive notifications in their own language:
- Higher engagement: Open rates increase 30-50% for localized content
- Better experience: Users feel valued and understood
- Reduced support: Fewer "I don't understand this email" tickets
- Legal compliance: Some regions require native language communication
How It Works
1. Set User Language
Store the user's preferred language in their profile:
// When creating or updating a user
await sendivent.contacts.upsert({
email: 'hans@example.de',
name: 'Hans Schmidt',
language: 'de' // ISO 639-1 language code
});
2. Create Localized Templates
Create templates for each language you support:
| Event | Language | Template |
|---|---|---|
welcome |
en |
"Welcome to Acme!" |
welcome |
de |
"Willkommen bei Acme!" |
welcome |
es |
"¡Bienvenido a Acme!" |
welcome |
ja |
"Acmeへようこそ!" |
3. Send as Usual
The API call is the same—Sendivent selects the right template:
await sendivent.send('welcome', {
user: { email: 'hans@example.de' },
payload: { activationUrl: 'https://app.example.com/activate' }
});
// Hans receives the German template automatically
Locale-Aware Formatting
Dates, numbers, and currencies are formatted according to each user's locale:
Date Formatting
Order placed: {{formatDate orderDate "long" user.language}}
| Language | Output |
|---|---|
| English (US) | "January 15, 2024" |
| German | "15. Januar 2024" |
| Japanese | "2024年1月15日" |
Currency Formatting
Total: {{formatCurrency amount "USD" user.language}}
| Language | Output |
|---|---|
| English (US) | "$99.00" |
| German | "99,00 $" |
| French | "99,00 $US" |
Number Formatting
Items: {{formatNumber quantity user.language}}
| Language | Output |
|---|---|
| English | "1,234" |
| German | "1.234" |
| French | "1 234" |
Translation Workflow
Dashboard Overview
Track your translation coverage at a glance:
- See which events have templates for each language
- Identify missing translations before they cause fallbacks
- Export template content for translators
- Import translated content back
Template Organization
Organize templates by language in the dashboard:
Events/
├── welcome/
│ ├── email/
│ │ ├── en (default)
│ │ ├── de
│ │ ├── es
│ │ └── ja
│ └── sms/
│ ├── en (default)
│ └── de
└── order-confirmation/
└── email/
├── en (default)
└── de
Fallback Chain
Configure how Sendivent handles missing translations:
- Exact match:
de-AT(Austrian German) - Language match:
de(German) - Default language:
en(English)
RTL Language Support
Right-to-left languages like Arabic, Hebrew, and Persian require special handling. Sendivent manages this automatically:
- Email templates get
dir="rtl"attribute - Text alignment is reversed appropriately
- Mixed LTR/RTL content is handled correctly
Example Arabic Template
<div dir="rtl" style="text-align: right;">
<h1>مرحباً {{user.name}}!</h1>
<p>شكراً لطلبك رقم {{payload.orderNumber}}</p>
</div>
Best Practices
1. Start With Your Top Languages
Don't try to support every language at once:
- Check your analytics for user language distribution
- Start with your top 3-5 languages
- Add more as you grow
2. Keep Templates in Sync
When you update the English template, update translations too:
- Use our template comparison feature
- Track which templates were updated since last translation
- Set up notifications for stale translations
3. Test Across Languages
Some languages require more space than English:
- German text is often 30% longer
- Test email layouts with the longest translations
- Ensure SMS templates fit in character limits
4. Handle Pluralization
Different languages have different plural rules:
{{#eq user.language "en"}}
You have {{count}} {{pluralize count "item"}}
{{/eq}}
{{#eq user.language "ru"}}
У вас {{count}} {{pluralizeRu count "товар" "товара" "товаров"}}
{{/eq}}
Frequently asked questions
How does Sendivent detect user language?
We check the user's language field first, then fall back to browser locale detection if available, or your default language.
What happens if a translation is missing?
We gracefully fall back to your default language template, so users always receive a notification.
Can I use different templates for regional variants?
Yes, you can create templates for specific locales like 'en-US' vs 'en-GB' or just use the base language code.
How do I format dates and currencies per locale?
Our formatDate and formatCurrency helpers automatically use the user's locale for formatting.
Related content
Welcome emails, activation reminders, and onboarding sequences to help new users succeed with your product.
Read moreBuild beautiful notification templates with Handlebars, preview across channels, and personalize content for every user. No code changes needed to update templates.
Read moreSend order confirmations, shipping updates, and delivery notifications via email and SMS with Sendivent's multi-channel API.
Read moreCompare Sendivent and Twilio for notifications. See how Sendivent's unified API compares to building on Twilio's communication primitives.
Read moreAlert your team via Slack when important events happen in your product. New signups, large orders, support escalations, and more.
Read moreStill relying only on email for product notifications? Learn why multi-channel matters and when to expand beyond the inbox.
Read moreReady to get started?
Experience speak your users' language with Sendivent's powerful API.