ai-content-translator-screenshot

This project is not covered by Drupal’s security advisory policy.

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 @language token, 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.

Paragraphs (optional) — when present, translation recurses into referenced paragraphs.

Supporting organizations: 

Project information

Releases