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:- The SDK’s
sessionConfig.locale, if set. - The user’s browser language preferences, unless detection is disabled.
- Your
defaultLocale, orenif unset.
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
- Use the combined English catalog’s key structure, which covers all interfaces.
- Host a JSON file for each locale, such as
en.jsonores.json. Include only the keys you want to change; nested objects are merged and missing keys fall back to English. - Register the URLs in
localeUrlsin partner configuration. If you use a non-emptysupportedLocaleslist, include the new locale.
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. UseauthLocaleUrls 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
SetsessionConfig.locale at initialization to override browser detection and the partner default. Omit it to allow automatic selection.