Translations & Multilingual

A form can be displayed in multiple languages. This page explains how to translate labels, titles, and widget texts.

Supported languages

The form distinguishes between two kinds of text:

The following texts are translatable: form title, after-save message, tab titles, section titles and descriptions, field labels, placeholders, help texts, and validation messages, banner text and title, image alt text, text block heading, content, and subheading, KPI heading, subtitle, and unit, process stepper heading and steps, repeating table button and columns, related items table columns, and custom button texts including confirmation dialogs.

Default and additional languages

Language settings are stored in i18nConfig. At the top of the Translations tab:

Which language the user sees: the form opens in the user's SharePoint UI language. A locale code such as en-US is shortened to en. If no translations exist for it, the default configuration texts are displayed. Built-in UI strings are still translated if the language is one of the four supported languages. An empty translation entry falls back to the default text for that item.

Any translation entry you leave blank is not applied and the default text is shown instead. You do not have to translate everything at once.

Translation editor

  1. Open the Translations (i18n) tab.
  2. In Edit translations for language, select the target language. If it is not yet enabled, it will be enabled automatically.
  3. The table lists all translatable texts across the Form element, Default text, and Translation columns. Enter translations in the last column.
  4. If the form uses custom command bar labels, the table includes commandBarConfig.*Label rows.
  5. Narrow the table using the Filter elements and texts… box and the Show untranslated only option.
  6. Save the form.
Translations (i18n) tab: top card with default language, enabled languages, and switcher, followed by the default/translation table and Export JSON / Import JSON buttons

Exporting and importing translations (including AI translation)

The Export JSON button displays a JSON object with translations (or generates a template with all default texts if none exist yet for that language), which you can copy to the clipboard. The Import JSON button merges the pasted JSON into existing translations. You can import either the wrapped shape { "en": { … } } or the translation object directly.

You can paste the exported JSON into an AI tool with the prompt: "Translate the text values in this JSON into en, preserve all keys, and return only clean valid JSON." Then import the result back via Import JSON.

{
  "en": {
    "formTitle": "Purchase order",
    "afterSaveMessage": "Order saved.",
    "tabs": { "tab-general": "General" },
    "sections": { "sec-details": { "title": "Details", "description": "Basic data" } },
    "fields": {
      "Status": { "customLabel": "Status", "validationMessage": "Choose a status." },
      "Cena": { "customLabel": "Price", "placeholder": "0.00" }
    },
    "customButtons": { "btn-approve": { "label": "Approve", "confirmMessage": "Really approve?" } }
  }
}

Keys correspond to tab and section ids, field internalNames, and button ids.

Editing in the designer in another language

If you switch the language selector in the designer toolbar (for example to EN), the canvas displays labels in that language and a banner Designer & canvas label language appears above it. Text edits then do not overwrite the default texts; instead, they are saved into the translation for that language:

Other changes (adding fields, widths, rules) are saved normally. To return to the default language, click Switch to default in the banner or use the language selector.

Before editing texts, check which language is selected in the switcher. Changing a label while EN is selected updates only the English translation and leaves Czech untouched.

Runtime language switcher

When the switcher is enabled, a group of buttons such as CS, EN appears in the form header (next to the tabs or standalone). Clicking a button switches both form and UI texts, and date/number formatting follows the selected language. The choice applies only to the currently open form, is not persisted, and the SharePoint language is used again on the next open. In the designer (Preview tab), you can simulate languages using the switcher next to the mode selector.