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

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.

Was this page helpful?