Skip to main content
The SDK renders a small amount of fixed chrome text — navigation buttons, input placeholders, NPS anchors, and the progress counter. You can override any of it to match your tone of voice or translate the survey UI into your app’s language.
Most teams set labels once from the dashboard — see Dashboard → Labels — which needs no app update. Use init({ labels }) only when you want code to override the dashboard (for example, to drive labels from your app’s own i18n system).

Override in code

Pass a labels object to init(). Any key you omit falls back to the dashboard value (if set) and then to the SDK default.

Available keys

All keys are optional and take a string. The progressFormat and progressFormatShort strings support the {current} and {total} placeholders, which the SDK fills in at render time.
Renaming otherOption changes only the displayed text. The stored answer value for an “Other” selection is unchanged, so your analytics and exports stay consistent.
A per-question open-text placeholder (set on the question in the builder) still takes priority over openTextPlaceholder.

Precedence

Labels resolve in this order, with later sources winning: SDK defaultsDashboard labelsinit({ labels }) This mirrors the theming precedence — code always wins over the dashboard.