Skip to main content
Embedded Cube surfaces — dashboards, Analytics Chat, and the full app in Creator Mode — can render their UI in any of the supported languages. You can set a default language for the whole account, override it per embed with a URL parameter, or switch it at runtime from the host page.
This page covers embedded surfaces. To set the language of the main Cube interface for your own account, see Preferences.

Supported languages

English (en-US) is the default and the fallback when no language is configured. A locale value can be a full code (es-ES), a short language code (es), or a regional variant that isn’t shipped (es-AR). Short codes and unsupported regional variants resolve to the first supported locale for that language — for example, both es and es-AR resolve to es-ES. A value that doesn’t match any supported language is ignored.

How the language is resolved

The language of an embedded surface is resolved from the following sources, highest priority first:
  1. Runtime override — a cube:action:set-locale message sent from the host page (see At runtime).
  2. URL parameter — the ?locale= query parameter on the embed URL (see Per embed via URL).
  3. Account default — the language configured in Embed → Settings (see Account-wide default).
  4. Fallbacken-US.

Account-wide default

Set a default language for all embedded surfaces from the Cube interface:
  1. Go to Embed → Settings.
  2. In the Language card, pick a language from the dropdown.
The selected language applies to every embedded surface across the account, unless a specific embed overrides it with a ?locale= URL parameter or a runtime cube:action:set-locale message. Clearing the setting removes the stored default, and embeds fall back to en-US (or to whatever a per-embed override specifies).

Per embed via URL

Override the account default for an individual embed by adding the ?locale= query parameter to the embed URL:
The parameter is read once when the embed loads and pinned for the session, so in-app navigation won’t drop it.

At runtime

Switch the language after the embed has loaded by sending a cube:action:set-locale message from the host page. This takes precedence over both the URL parameter and the account default:
See Events and actions for the full host ↔ embed messaging contract.