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.
Open UI translations
Section titled “Open UI translations”To work with UI translations:
- Open your project in the Studio.
- Go to Globals → UI Translations.
- 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.
Edit values
Section titled “Edit values”To update values:
- Open Globals → UI Translations.
- Select the locale you want to edit.
- Update the values in the table.
- 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.
Add and delete keys
Section titled “Add and delete keys”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.savenav.homecheckout_error
Deleting a key removes that key and all of its localized values across every locale in the current environment.
Copy values from another locale
Section titled “Copy values from another locale”Use Tools → Copy 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
Export CSV
Section titled “Export CSV”Use Tools → Export CSV to download every key in the current environment.
You can export in two ways:
- Current locale only: creates a two-column file with
keyand the current locale API ID - All locales in one file: creates one
keycolumn plus one column per locale
When exporting all locales, the default locale appears first and the remaining locales are ordered by locale API ID.
Import CSV
Section titled “Import CSV”Use Tools → Import CSV to update many keys at once.
The import dialog supports two formats.
With a header row
Section titled “With a header row”Use key as the first column header. Each additional column header must match a locale API ID in the current environment.
key,en,frbutton.save,Save,Enregistrernav.home,Home,AccueilIf the file includes unknown locale headers, the Studio warns you and lets you continue by importing only the matching locale columns.
Without a header row
Section titled “Without a header row”When First Row Is Header is turned off, each row must contain two columns:
- the key
- the value for the current locale
button.save,Savenav.home,HomeImport options
Section titled “Import options”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.
Permissions
Section titled “Permissions”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.
Deliver UI translations through GraphQL
Section titled “Deliver UI translations through GraphQL”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.