Translate in django CMS

This guide shows how editors translate pages and other content in django CMS with the djangocms-ponyglot connector: request a translation, review the draft, publish it. It works for every frontend-editable content type: pages, blog posts, or your own models.

Open the translations dialog

Open the content in django CMS, in edit or preview mode. In the toolbar, open Language: the first entry is Ponyglot translations. It says how many languages have something to review.

The django CMS toolbar with the Language menu open and "Ponyglot translations (1 to review)…" as its first entry.

The entry in the toolbar’s language menu.

The dialog shows, per language, what to do next:

The dialog: German has a translated draft ready for review, French has texts missing with a Translate button; the footer has Cancel and Details.

German waits for review, French isn’t translated yet.

Translate

Texts are missing or outdated in this language. Translate requests the translation; with several languages, Translate all missing in the footer requests all of them.

Review draft

A translated draft is ready. It opens the draft in that language.

Apply to draft

Translations are waiting because someone edited the draft since Ponyglot wrote it. Ponyglot never overwrites an editor’s changes: Apply to draft writes them now.

Texts held by a quality check

Ponyglot found an error, for example a changed link, and holds the translation back. The link opens it in the Ponyglot dashboard, the only place where these are decided (see Work with the review queue).

The dialog translates the version you’re viewing: the published page, or your draft if you’re editing one. It says which at the top.

Get the translations

Translations come back with the site’s regular sync (python manage.py ponyglot sync, from cron or a worker). If no sync ran in the last 15 minutes, opening the dialog fetches this page’s translations itself, and Fetch translations now appears in the footer.

Review and publish

The translation arrives as a draft in its language. Nothing is published automatically.

  1. Choose Review draft, or switch the language in the toolbar.

  2. Check the page and correct it like any other content.

  3. Publish it.

Publishing approves the translation, with your corrections. They go into the translation memory, so the same sentence is free next time. While a draft waits, the dialog shows its texts as in review; that clears once the page is published (Ponyglot may learn about it with a short delay). Discarding or archiving the draft tells Ponyglot to translate it again.

Note

Content that isn’t versioned is never written automatically, because writing it would publish it. Its translations wait in the dialog until you choose Apply (publishes).

When the page structure changes

Plugins you add to the source page are added to the translated drafts at the same place, with their children. A plugin an editor removed from a translation stays removed: its text waits, and Details lists it with Copy plugin tree from source, which rebuilds the draft’s structure from the source.

More options

Details in the dialog’s footer opens the full status: every text per language (✓, outdated, in review, missing, waiting for QA), the recent translation jobs and the plugin tree copy. To keep content out of translation, use Ponyglot › Exclusions from translation in the admin.