AI Content Translator
AI Content Translator translates content, taxonomy terms and interface strings into your site's languages using any OpenAI-compatible API (OpenAI, Azure OpenAI, or a local model such as Ollama), while always preserving human translations.
Features
- Translates nodes (recursing into referenced Paragraphs), taxonomy terms, and
{{ 'string'|t }}interface strings. - Never overwrites human work: it fingerprints the translations it generates and only refreshes its own; an explicit overwrite is required to regenerate anything a person authored or edited.
- Automatic target languages — every enabled language except the site default.
- Configurable prompt template with an
@languagetoken, plus an optional per-language glossary. - Provider-agnostic: optional reasoning_effort / verbosity / temperature are sent only when set, so it works with GPT-4o, the GPT-5 family, Azure OpenAI and local OpenAI-compatible servers.
- Runs from the UI: a per-node "Translate with AI" box, a bulk admin page, and an "AI translation" column on each node's Translations tab. Long runs use the Batch API.
Post-Installation
Go to Configuration → Regional and language → AI Content Translator and set the API endpoint, token and model. The token is stored in State (not exported with configuration), and a settings.php value takes precedence for production. Then translate per node, in bulk via Run translations (AI), or from the Translations tab.
Additional Requirements
Drupal core Language, Content Translation and Interface Translation (locale) modules, and an OpenAI-compatible chat completions endpoint with an API token. Source text is sent to the endpoint you configure — choose one whose data-handling terms suit your content, or run a local model.
Recommended modules/libraries
Paragraphs (optional) — when present, translation recurses into referenced paragraphs.