AI translation in Umbraco: from Dictionary items to whole pages
Use Umbraco.AI for flexible, context-aware website translation. Start with efficient models, translate Dictionary items for free, or manage pages and blocks with Omni.
A multilingual Umbraco site can turn a few pages into a lot of work. There are headings, body copy, content blocks and shared Dictionary labels to translate. Then someone changes the English version, and the other languages need attention again.
Modern AI makes a useful first translation much more accessible. The interesting part is bringing it into the CMS: choosing a suitable model, supplying useful instructions, keeping the content structure intact and giving editors something they can review.
That’s why both my free Diplo Dictionary Translator and Diplo Translator Omni use Umbraco.AI. It provides a common foundation for connecting translation work to your choice of AI service.
Why use Umbraco.AI?
Umbraco.AI is the official, open-source AI integration layer for Umbraco CMS, built on Microsoft.Extensions.AI. It gives packages a consistent way to make AI requests, with connections and reusable profiles managed in the backoffice.
That is a useful foundation to build on. Instead of every package inventing its own credentials screen and direct integration with one model vendor, the site has a shared AI setup. The framework is maintained in Umbraco’s own repository, with official documentation and provider integrations.
For developers and agencies, that means a familiar place to configure the AI layer and an official project to follow as Umbraco evolves. My packages remain independently developed and supported; using Umbraco.AI doesn’t mean Umbraco HQ supports the Diplo packages or guarantees a provider’s translations.
Your provider, your choice
Umbraco.AI is provider agnostic. Its provider packages connect it to services including OpenAI, Anthropic, Google Gemini and Amazon Bedrock. Install a compatible provider, configure a connection and choose a model through a Chat profile.
This matters because translation requirements vary. One client may already have a provider account; another may care most about cost, a particular language pair or how a service handles their data. A common integration layer lets you compare and change supported providers without rebuilding the translation interface for your editors. The new model still needs testing on your content.
Profiles make the choice reusable
A Chat profile combines a connection, model and settings, including system instructions. You can prepare a translation profile once and reuse it, rather than asking each editor to invent a prompt.
For example, use a fast, economical profile for everyday content and keep another for copy that benefits from a different model or tone. Omni lets administrators approve the profiles translators can select and choose a default. The free Dictionary Translator can use the site’s default Chat profile or a configured profile alias.
Translation has moved on
If your mental picture of machine translation is a sentence that is technically recognisable but sounds as though nobody would ever say it, it’s worth taking another look.
Modern multilingual models can produce fluent drafts and follow instructions about audience, terminology and style. That doesn’t mean an LLM always beats a dedicated translation service, or that every language is equally well served. It does mean we can ask for more than an isolated text conversion.
Consider “Apply”. On a careers site it could invite someone to apply for a job. Beside a search filter it means apply the selected options. A translator needs that distinction; an LLM can use it too when the request supplies it.
Context-aware translation didn’t begin with LLMs. Their practical attraction is the flexibility to combine the source text with natural-language guidance about its meaning and intended use.
Give the model something useful to work with
Useful instructions might look like this:
This copy is for a careers website aimed at prospective employees.
Use a welcoming, professional tone in the requested target language.
In application buttons, "apply" refers to applying for a job.
Keep product names and placeholders such as {0} unchanged.
Preserve the meaning. Return the translation without commentary.
This is an example of guidance for a translation profile, rather than a replacement for the package’s own translation instructions. Keep the two consistent.
The important qualification is that a model can only use the context it receives. It doesn’t automatically browse your website or see every neighbouring block. Omni extracts selected, supported text and sends translation instructions and matching glossary rules through your site’s configured provider. Brand guidance in the profile can help; an ambiguous two-word label may still need more explanation or an editor’s decision.
Short strings often deserve particular care. A long paragraph usually contains clues about its subject; “Open”, “Lead” or “Apply” on its own may not.
You may not need the biggest model
Website translation is a focused task. An efficient model can be a good starting point for labels, straightforward product descriptions and routine page copy. The most expensive reasoning model isn’t automatically the best use of the budget.
There is evidence that model size alone is a poor guide. In its TranslateGemma evaluation, Google reports that a specialised 12-billion-parameter translation model outperformed its 27-billion-parameter Gemma 3 baseline on the WMT24++ benchmark using MetricX. Its 4-billion-parameter model also rivalled the larger 12-billion-parameter baseline. These are specific research comparisons, not a claim that every small chat model performs the same way or that TranslateGemma is a ready-made Omni provider.
For your own site, try an efficient model available through a compatible Umbraco.AI provider. Have a fluent reviewer compare a representative sample with a more capable option. Look at meaning, naturalness, terminology, speed and how much editing the translation needs.
A cheaper request that needs extensive rewriting may cost more overall. Equally, paying for a larger model adds little if both drafts need the same small corrections. Test your actual language pairs and content, rather than choosing by model reputation alone.
Choose the translation workflow you need
Both packages use your configured AI service, but they cover different jobs:
| Your task | A suitable starting point |
|---|---|
| Translate shared labels, navigation phrases and other Dictionary values | Free Diplo Dictionary Translator |
| Translate page properties, supported rich text and nested blocks | Diplo Translator Omni |
| Translate a content branch and manage source changes, coverage and terminology | Diplo Translator Omni |
Dictionary translation, for free
The current Diplo Dictionary Translator is free and open-source for Umbraco 17 and .NET 10. It uses Umbraco.AI to translate missing Dictionary values from a selected source language. You can preview the scope, translate the whole Dictionary or selected items, and follow progress in the backoffice.
It’s a useful way to tackle the many small strings scattered through a multilingual website. Dictionary values are saved directly, so review them with that in mind: they don’t have the page-draft publishing stage described below.
You can get the free package on NuGet or browse its source. Free refers to the package; AI provider usage charges are separate.
Page translation and ongoing management with Omni
Diplo Translator Omni adds the wider content workflow for Umbraco 17 and 18. Choose the source and target languages, preview supported properties, then translate a page or content section. Supported text inside rich text, Block List, Block Grid and nested blocks is translated while the surrounding structure and references are preserved.
Page translations are saved as drafts for review in the normal editor. Coverage reports, source-change tracking, glossary rules and job history help with the work after the first translation too. If a source paragraph changes, you can identify the affected tracked text instead of treating the entire multilingual site as a fresh translation job.
Omni is a separate commercial package. It isn’t an unlock for the free package, and running both together isn’t supported. The package comparison and installation guidance explains the choice.
Start with one representative page
Configure a compatible Umbraco.AI provider and a dedicated translation profile, then test a small selection of real content: a heading, a paragraph, some short labels and a page with blocks. Check the translated page as a visitor would see it, including links, layout and terminology.
Use a fluent reviewer before rolling out more languages. Fluent text can still change the meaning, omit a qualification or mishandle an important term. Also check your provider’s data-handling terms and usage costs before sending client content.
The useful combination is a capable model, enough context and an editorial workflow. Umbraco.AI gives you the choice of provider; the translation package brings that choice into the work your editors already do.
For Dictionary values, start with the free Translator. For pages, blocks and translation management, read the Omni introduction or watch it in action.