Skip to content
App Translations
Esc
↑↓navigate↵open⌘Jpreview

Your application's text, edited without a deploy.

Your application keeps its translation files. Umbraco reads them, editors change the messages that need changing, and your application lays those changes over its own text.

dotnet add package TheBuilder.AppTranslations

Umbraco CMS 17.1 or later · .NET 10

The App Translations editor in Umbraco, editing a Danish message next to the English one

Umbraco never changes your files. It stores the edits next to them, and your application decides whether to merge them over its own text or ask for the complete dictionary.

Built for applications that own their text

For next-intl, i18next and FormatJS applications whose messages live in code, and editors who need to change them.

Your files stay the source

Keys, default text, syntax and placeholders come from your application's own next-intl or i18next files. Umbraco reads them and stores only the edits.

Edits that cannot break

Every change is checked against the message's ICU or i18next syntax, so an editor cannot drop a placeholder or break a plural.

Live without a deploy

Your application fetches the custom text and lays it over its own. A webhook says when something changes, and ETags keep checking cheap.

How it fits together

A source points Umbraco at your translation files. Sync reads them in, editors write custom text, and the delivery endpoints serve it.

Add your first source
SyncFrom the backoffice, or from your deployment once new files are live.
EditAny message, in any language. Umbraco records who last changed it, and when.
DeliverThe custom text alone, or the complete dictionary, as nested JSON in ICU or i18next syntax.

Merge it over your own messages

Fetch the custom text for a language and namespace and lay it over what your application bundles. Only what an editor changed comes back.

Read the API guide
GET /umbraco/delivery/api/v1/app-translations/overrides?locale=da-DK&namespace=website
{
  "greeting": "Hej {name}, godt at se dig igen!"
}

Change your first message

Install the package, point a source at your translation files, and edit a message in the App Translations section.

Read the quickstart

More from TheBuilder

Focused packages for modern Umbraco projects.