Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Paragraphs Translation Workflow

No security coverage Under active development

Part of the Paragraphs ecosystem · 87 projects

On a site using Paragraphs, Content Translation and
Content Moderation together, the list of Paragraphs on a page is copied to each
translation only once — when that translation is first created — and never updated again.

So when an editor adds a Paragraph to an English draft, German and French translators
cannot see it, and cannot add it themselves either, because the Paragraphs widget
offers no "add" button while translating. The new Paragraph only becomes translatable once the
English revision containing it has been published, which blocks translation work until the source
language goes live.

This module fixes that, and keeps each language independent while doing so.

Features

  • Translators see new Paragraphs straight away. A Paragraph added to an
    unpublished source draft appears on every translation screen immediately.
  • Each language gets its own draft. When the source language changes its
    Paragraphs, every other language is given its own draft containing that change, so nobody edits
    the revision the public is reading.
  • Translated text is never overwritten. Only Paragraphs a language does not yet
    have are added. Deletions and reordering in the source language are followed through.
  • One save changes one language. Editing or publishing German cannot alter
    English or French — not their text, not their Paragraphs, not their moderation state.
  • Publishing is per language. Publishing English leaves German and French
    exactly as they were.
  • Paragraphs stay attached to the right revision. Older revisions still resolve
    to the Paragraph revisions they were saved with, and each translated Paragraph records the
    language it was translated from.
  • Per-language scheduling (optional, via Scheduler): each translation carries
    its own publish date, and publishes its own revision.

Post-Installation

Two settings must be correct, or per-language drafts cannot work. The module checks both and
reports problems at /admin/reports/status:

  1. The Paragraph reference field must be translatable
    (/admin/config/regional/content-language). Without this every language shares one list
    of Paragraphs.
  2. Paragraph types must be translation enabled, with their text fields
    translatable, so a Paragraph translation can record the language it came from.

Then visit Configuration › Regional and language › Paragraphs translation workflow
and tick the content types to manage. The defaults are correct for a standard setup.

Two behaviours worth knowing: translators cannot add, remove or reorder Paragraphs — the
structure belongs to the source language, matching how the Paragraphs widget already behaves. And
publishing a translation publishes the Paragraphs it contains in that language, while they stay
hidden in the source language until it is published.

Additional Requirements

Drupal core: Node, Language, Content Translation, Content Moderation and Workflows.

Contributed: Paragraphs and
Entity Reference
Revisions
.

For per-language scheduled publishing and unpublishing, install
Scheduler and
Scheduler Content
Moderation Integration
. Install both or neither: Scheduler on its own cannot move a moderated
entity between workflow states, so the integration stays switched off until both are present.

Ask your assistant about Paragraphs Translation Workflow

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Oct 2026
Latest release
1 hour ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core PHP Release date
1.0.0-beta1 Pre-release 10–11 Oct 14, 2026