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). An exact match wins; otherwise the language’s own default is used — es and es-AR both resolve to es-MX, and pt/pt-AO to pt-PT. 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. Session settingsettings.locale on the Generate Session API, for a language that belongs to the viewer rather than to one placement. Set it once when you mint the session and every iframe that session opens renders in it.
  4. Account default — the language configured in Embed → Settings (see Account-wide default).
  5. Fallbacken-US.
A language Cube doesn’t ship falls through to the next source rather than failing.

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 something higher in the ladder above overrides it: a session’s own settings.locale, 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 — unless a session or a per-embed override names a language.
The Creator Mode workspace title has its own, separate per-language overrides — set under Embed → Settings, in the same Creator Mode section. It resolves against the same UI language resolved above (session setting, ?locale=, runtime override, or account default) — not an independent value. See Workspace appearance and SQL visibility.

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 every other source — the URL parameter, the session setting, and the account default:
See Events and actions for the full host ↔ embed messaging contract.