IntlPull
Tutorial
6 min read

Intercom Messenger language_override: Force the Right User Language

Use Intercom Messenger language_override to set a user language programmatically, avoid browser-language mistakes, and keep support localization consistent.

IntlPull Team
IntlPull Team
Apr 27, 2026
On this page
Summary

Use Intercom Messenger language_override to set a user language programmatically, avoid browser-language mistakes, and keep support localization consistent.

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

TypeScript
1type 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

TypeScript
1const 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

MistakeFix
Using browser language onlySend the authenticated user's selected app locale
Passing unsupported language codesKeep a whitelist that matches Intercom settings
Updating before Intercom bootsCall update after the Messenger snippet is available
Translating app UI separately from supportStore 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.

Tags
intercom
messenger
language-override
support-localization
javascript
2026
IntlPull Team
IntlPull Team
Engineering

Building tools to help teams ship products globally. Follow us for more insights on localization and i18n.