App Translations for Umbraco
Let editors change the text in your application from the Umbraco backoffice, without a code change or a deploy.
App Translations lets editors change the text in your application from the Umbraco backoffice, without a code change or a deploy.
Your application keeps its own translation files. Umbraco reads them, editors change the messages that need changing, and your application fetches those changes and lays them over its own text.
- The application owns the messages. Keys, the default text, the message syntax and the placeholders all come from the application’s files, and stay there.
- Umbraco owns the edits. Editors write custom text for any message in any language, and Umbraco records who last changed each one, and when.
- The application decides what to show. It merges the custom text over its own, or asks Umbraco for the complete dictionary.
A site can also translate into languages the application does not ship. Umbraco serves text written for such a language as the whole message, because the application has nothing to merge it over.
What it reads
The package reads nested JSON, as next-intl and i18next write it, and next-intl’s gettext PO files. Messages can use ICU syntax, as next-intl and FormatJS use it, i18next JSON v4, or plain text. The editor checks every change against that syntax, so an edit cannot break a placeholder or a plural.
Requirements
- Umbraco CMS 17.1 or later, Umbraco 18 included, on .NET 10.
- For AI suggestions only, Umbraco.AI 17.5 or later, which needs Umbraco 17.5 or later.
- Translation files your Umbraco site can fetch over HTTP, one file per language.
Where to go next
- Quickstart installs the package and gets a first message on screen.
- Sources covers URLs, message syntax, namespaces and authenticated sources.
- Delivery API shows how your application fetches the custom text, with next-intl and i18next examples.
- Troubleshooting covers the problems people run into first.