Quick Answer
Intercom's language_override lets you set the Messenger language programmatically instead of relying only on the user's browser language. Use it when your app already knows the user's selected product language and you want Intercom Messenger, Fin AI Agent, and workflows to match that choice.
Official Intercom reference: JavaScript API attributes and objects.
When to Use language_override
Use language_override when:
- Your app has an in-product language selector.
- Browser language does not match the user's account language.
- Support flows must follow account locale, not device locale.
- You want Intercom and your app UI to switch language together.
- You serve shared devices, kiosks, or enterprise accounts.
Do not use it as a substitute for translating your own app UI. It only controls Intercom's Messenger language behavior.
Example with the Intercom JavaScript Snippet
TypeScript1type SupportedLocale = 'en' | 'es' | 'fr' | 'de'; 2 3function updateIntercomLanguage(locale: SupportedLocale): void { 4 if (typeof window === 'undefined' || typeof window.Intercom !== 'function') { 5 return; 6 } 7 8 window.Intercom('update', { 9 language_override: locale.toUpperCase(), 10 }); 11}
Intercom examples commonly use uppercase language codes such as EN. Match the language values configured in your Intercom Messenger settings.
Example with an App Locale
TypeScript1const intercomLanguageByLocale: Record<string, string> = { 2 en: 'EN', 3 es: 'ES', 4 fr: 'FR', 5 de: 'DE', 6}; 7 8export function syncSupportLanguage(appLocale: string): void { 9 const languageOverride = intercomLanguageByLocale[appLocale] || 'EN'; 10 11 window.Intercom?.('update', { 12 language_override: languageOverride, 13 }); 14}
Common Mistakes
| Mistake | Fix |
|---|---|
| Using browser language only | Send the authenticated user's selected app locale |
| Passing unsupported language codes | Keep a whitelist that matches Intercom settings |
| Updating before Intercom boots | Call update after the Messenger snippet is available |
| Translating app UI separately from support | Store the user locale once and reuse it for both |
Frequently Asked Questions
What does Intercom language_override do?
language_override sets the Messenger language programmatically for a user or visitor. It helps Intercom match your app's known language preference instead of relying only on browser settings.
Can I use language_override with @intercom/messenger-js-sdk?
Yes. For @intercom/messenger-js-sdk language_override setups, use the SDK's update path to send the same language_override attribute with a language value configured in Intercom.
Should language_override be lowercase or uppercase?
Use the format expected by your Intercom workspace settings. Intercom examples often show uppercase values such as EN; keep a tested mapping from your app locales to Intercom language values.
