Skip to content

UI Translations

UI translations let you manage reusable interface text, such as buttons, labels, and messages, from the Studio.

Each UI translation uses a stable key, such as button.save or nav.home, and stores one value per locale.

To work with UI translations:

  1. Open your project in the Studio.
  2. Go to GlobalsUI Translations.
  3. Choose the locale you want to edit from the project locale switcher.

The page lists translation keys in a table and lets you edit one locale at a time.

When you are editing a non-default locale, the table also shows the default locale value as a reference.

You can search by key or by translated value.

To update values:

  1. Open GlobalsUI Translations.
  2. Select the locale you want to edit.
  3. Update the values in the table.
  4. Click Save Changes or use Ctrl/Cmd + S.

If you need to undo unsaved edits, click Discard to restore the last saved values for the current locale.

Use Add Key when you need a new reusable identifier for interface copy.

Keys must:

  • start with a letter or number
  • use only letters, numbers, dots, and underscores
  • remain stable so your front end can keep referencing them

Examples:

  • button.save
  • nav.home
  • checkout_error

Deleting a key removes that key and all of its localized values across every locale in the current environment.

Use ToolsCopy Values From Another Locale to copy saved values from one locale into the current locale for every UI translation key in this environment.

This is useful when:

  • a new locale should start from an existing translation
  • you want to duplicate an earlier locale before refining the copy

Use ToolsExport CSV to download every key in the current environment.

You can export in two ways:

  • Current locale only: creates a two-column file with key and the current locale API ID
  • All locales in one file: creates one key column plus one column per locale

When exporting all locales, the default locale appears first and the remaining locales are ordered by locale API ID.

Use ToolsImport CSV to update many keys at once.

The import dialog supports two formats.

Use key as the first column header. Each additional column header must match a locale API ID in the current environment.

key,en,fr
button.save,Save,Enregistrer
nav.home,Home,Accueil

If the file includes unknown locale headers, the Studio warns you and lets you continue by importing only the matching locale columns.

When First Row Is Header is turned off, each row must contain two columns:

  1. the key
  2. the value for the current locale
button.save,Save
nav.home,Home

The import dialog also includes these options:

  • Add Missing Keys: creates keys that do not already exist
  • Remove Keys Not in File: deletes keys that are missing from the uploaded file

If the same key appears more than once in the CSV, the last row wins.

After a successful import, the page shows a summary of how many keys were added, updated, or removed.

UI translations use separate permissions for viewing, creating, editing, and deleting keys.

In the built-in roles:

  • Owner and Admin can view, add, edit, import, export, and delete keys
  • Editor can view, add, edit, import, and export, but cannot delete keys
  • Contributor and Reviewer can view, edit, and export, but cannot add or delete keys
  • Viewer has read-only access and can export CSV files

Custom roles can grant the same access by enabling the UI translation capabilities you need.

Your applications can read UI translations through the GraphQL API.

The uiTranslations field returns key-value pairs for a locale:

query {
uiTranslations {
key
value
}
}

By default, the query returns values for the project default locale. When your schema exposes locale enums, you can also pass the optional locale argument to request a different locale.

See GraphQL API for delivery guidance, authentication, and query examples.