Skip to main content
AIR Kit includes English (en), Japanese (ja), Korean (ko), Turkish (tr), and Vietnamese (vi). English is always the fallback for missing translations. To override copy or add languages, host JSON files and register them through localeUrls in partner configuration. The SDK selects the language; it does not accept translation strings.

How language selection works

AIR Kit selects the language in this order:
  1. The SDK’s sessionConfig.locale, if set.
  2. The user’s browser language preferences, unless detection is disabled.
  3. Your defaultLocale, or en if unset.
Regional tags resolve to available catalogs, such as ko-KR to ko and en-US to en, with region fallback. A language must be bundled or have a registered JSON URL, and must pass your supportedLocales allowlist. Adding a code to the allowlist does not provide translations. Browser language changes are followed when detection is enabled and no SDK locale is explicitly set.

Partner configuration

Set these fields through partner configuration (backend or dashboard), separate from SDK initialization:

Customize copy or add a language

  1. Use the combined English catalog’s key structure, which covers all interfaces.
  2. Host a JSON file for each locale, such as en.json or es.json. Include only the keys you want to change; nested objects are merged and missing keys fall back to English.
  3. Register the URLs in localeUrls in partner configuration. If you use a non-empty supportedLocales list, include the new locale.
For example, register one combined Spanish translation across all four interfaces:
English overrides customize the fallback copy. Bundled translations take precedence over that copy, so also provide a locale-specific override to customize wording for Japanese, Korean, Turkish, or Vietnamese users.

Translate selected interfaces

If you use only a subset of AIR Kit, you can fully translate those interfaces with separate files instead of working from the combined catalog. Each file should follow that interface’s composed English catalog. Use authLocaleUrls for login, walletLocaleUrls for the wallet, recoveryLocaleUrls for recovery, or credentialLocaleUrls for credentials. Each maps a locale code to a JSON URL. For example, an integration using only login and credentials can register translations in authLocaleUrls and credentialLocaleUrls. If you also use localeUrls, interface-specific overrides take precedence for the same locale.

Set or change the language with the Web SDK

Set sessionConfig.locale at initialization to override browser detection and the partner default. Omit it to allow automatic selection.
Change the language after initialization across all loaded AIR Kit interfaces:
To set the display currency, see Other options.