dTranslate – Your TYPO3 content in every language

Translating with a language model – via the path TYPO3 provides for this anyway

dTranslate translates pages and records into your language versions. Not via a parallel world, but via the regular localisation path of TYPO3: the result is a translation that behaves exactly like one created by hand – linked to the original, in the page tree, in the language menu, in the right place.

You select the page, the target languages and the records. The language model does the rest – and you check the result just as you would any other translation.

What dTranslate can do

  • Everything TYPO3 can localise. Pages including title, slug and SEO fields, content elements, news, references – every table with language fields, filtered via an allow list in the profile.
  • Nested content included. Containers, IRRE children, ContentBlocks collections and the metadata of file references (title, alternative text) travel with the parent record.
  • HTML stays HTML. The tag structure of the original is checked after each translation; if it deviates, dTranslate repeats the call with a stricter instruction.
  • Glossary. Term pairs the model must adhere to – for all target languages or separately per language.
  • In context rather than sentence by sentence. The page context is passed with every call, so that terminology and tone remain consistent across the whole page.
  • Form of address and tone. Formal or casual, plus a free-text style hint – configurable per profile.
  • Large runs in the background. A queue processes record by record; you see progress and usage, and you can cancel.
  • Re-translate without data loss. A second run refreshes existing translations – nothing is deleted in the process.

How you work with it

In the backend under Web → Translation, select the page in the page tree. The module shows the profile, target languages and all translatable records with checkboxes. A deselected container skips its entire group; deselected children of a ticked container remain in the source language.

What you need

  • TYPO3 12.4, 13.4 or 14 with PHP 8.2 or newer.
  • An API key with Anthropic (Claude), OpenAI or Mistral.
  • At least one additional language in your site configuration.

dTranslate does not require an additional database. You settle the translation costs directly with your AI provider; each run reports how many requests and tokens it has consumed.

Terminal bash
composer require dreistein/d-translate

Setup, Glossary, large runs and troubleshooting are covered in the manual.

Why not simply a translation service?

Because a language model understands connections that a word-for-word translation misses

Traditional translation services transfer field by field, without knowing what the page is about. With dTranslate, a language model is given the context – the entire page as context, your Glossary, the desired form of address and a style hint. The result reads as though it was written, not translated.

And because dTranslate works via the regular localisation path of TYPO3, every translation remains an ordinary TYPO3 record: subsequently editable, versionable, connected to the original. You can make manual corrections at any time – the next run only overwrites what you have translated again.

Questions and answers

Are the translations genuine TYPO3 translations?

Yes. dTranslate creates them via the DataHandler, that is, the same route TYPO3 takes when localising by hand. The records are linked to the original, appear in the language menu and can be edited further in the usual way.

Do I need to review the result?

We recommend it. That is why the translated page is created hidden by default – you review it and then publish it. If you would prefer not to, there is an option at the start to publish it immediately.

What happens to formatting and links?

The HTML structure is preserved. After each translation, dTranslate compares the tag structure with the original; if they do not match, the call is repeated once with a stricter instruction. Technical fields such as file names or links are not touched by dTranslate at all.

Can I protect technical terms and brand names?

That is what the Glossary is for: you enter term pairs – ‘remains Streamer’, ‘in English it is Health Audit’ – and these are included with every request. Either for all target languages or separately per language.

How long does a large website take?

That depends on the scope and the model. For larger runs there is background processing: the run is placed in a queue, a worker processes it, and you can close the backend in the meantime. Under ‘Recent runs’ you can see progress and usage.

What are the operating costs?

The extension is open source (GPL-2.0-or-later). You only pay what your AI provider charges for the translations. Each run shows requests and tokens, so you can assess the effort involved.

Going multilingual – with support

We built dTranslate for our own client projects and use it there every day. If you would like to make an existing website multilingual and want to know what this means in terms of effort and cost: we will look at your project and tell you honestly what to expect.