This module translates content, taxonomy terms, and interface strings using an OpenAI-compatible API, ensuring human translations are never overwritten. It offers features like automatic target language detection, configurable prompt templates, and runs directly from the Drupal user interface for easy translation management.
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.
How it differs from existing projects
AI Content Translator is intentionally small and self-hosted, with no dependency on a larger framework. Compared with the Translation Management Tool (TMGMT) and the AI module's translation features — which provide full translation-workflow ecosystems and provider plugin systems — this module is a single-purpose tool: point it at an OpenAI-compatible endpoint, write a prompt, and translate from the UI. Its distinctive points are fingerprint-based protection of human translations, automatic target-language detection, a configurable prompt template with an optional per-language glossary, and provider-agnostic parameters (reasoning_effort/verbosity/temperature) that are sent only when set. It complements rather than competes with the larger frameworks.
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.
Depends on
Dependencies of the latest stable release
- content_translation Drupal core
- language Drupal core
- locale Drupal core
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
More in the AI ecosystem
Most installed first