See what changes and what is reused

An edit only puts the changed field back into translation. Once you approve its new wording, another item can reuse it without another engine charge. Here’s what that looks like before you try it yourself.

A worked example: 20 characters, then zero

This is an illustrative example on a production site, with two plain-text product fields and German as the only target language. Both fields already have approved German translations. You change the description:

Field

English before

English after

German status after sync

Name

Pony mug

Pony mug

Still up to date

Description

A blue ceramic mug.

A green ceramic mug.

Outdated

Only the description needs translating. Its new source text is 20 characters, including spaces and punctuation. Assuming that wording isn’t already in memory, the estimate reads:

1 segments, 20 billable characters (0 from translation memory, free)

You translate it, review the German suggestion, and save Ein grüner Keramikbecher. as your preferred wording. The next sync stores that approval in the translation memory.

Now create another product with the same English name and description, but no German translation. Both texts match approved entries. Its estimate reads:

2 segments, 0 billable characters (2 from translation memory, free)

The German description arrives as Ein grüner Keramikbecher., using the wording you approved. You still review and apply it. Neither field needs an engine call. A different name or other new fields could add billable characters; these totals cover only the two fields above.

Try it on your content

Use the test page or object from Translate your first django CMS page or Translate your first model object. Finish its German review and run python manage.py ponyglot sync before starting. Your site needs a subscription for the translation jobs in this exercise.

To demonstrate learning from your own approvals, use a production site in Ponyglot. Staging sites can reuse existing memory but don’t teach it. On staging, choose an entry already in Memory for the reuse step; your test corrections won’t become new shared entries.

Change one field

Choose one source field to edit, leaving its other fields unchanged:

Your content

Example edit

Where to inspect the result

django CMS page

Change only the English meta description, then publish the English page.

Language › Ponyglot translations › Details

Model object

Change only the English description, then save.

The object’s Ponyglot translations dialog; use the command below for individual fields.

Run python manage.py ponyglot sync to send the change. The German translation of the edited field is now outdated (also called stale); unchanged fields keep their existing status.

For a field-by-field view, your developer can run:

$ python manage.py ponyglot status djangocms:page:42

Replace 42 with your page’s ID. For a model, use its adapter, model label and object ID, for example modeltranslation:shop.product:42 or parler:shop.product:42.

Ponyglot calls each translatable field or text block a segment. If a description contains several sentences, editing one sentence makes that entire description outdated. The title and other unchanged segments keep their translations.

Preview and translate the change

Use the same page or object key to preview just German:

$ python manage.py ponyglot translate --unit djangocms:page:42 --language de --estimate

If the edited field is the only missing or outdated text, the estimate selects one segment. It is billable only if the new text isn’t already in the translation memory.

Choose Translate for German in the page’s or object’s dialog. Wait for the job to finish, run the sync, then review and publish the draft or apply and save the suggestion. Run the sync again to report the approval.

Reuse wording you approved

  1. Open Memory in the Ponyglot dashboard. Find a short English → German entry from your test content. Check that it contains the final wording you approved.

  2. Create another test page or object with no German translation. Copy that entry’s English source into a field of the same kind. For example, copy a product’s plain-text description into a second product’s description. For django CMS, copy a plain-text meta description into another page’s meta description.

  3. Save the object, or publish the English page, and run python manage.py ponyglot sync.

  4. Run the estimate command above with the new page or object key. The output reports how many segments come from translation memory, free. The copied field should be one of them; other new fields, such as a different title, may still be billable.

  5. Request the German translation for that new item. After it finishes, sync and review the result. The copied field uses your approved German wording and still needs your review.

An exact memory match needs the same source text, format, language pair and context. If the copied field isn’t counted as a match, check the approval was synced and that formatting or whitespace wasn’t changed by the editor. A plain-text field is easiest for this exercise.

Check what you saved

Open Usage in the dashboard. By site and engine separates billable characters from characters saved by memory and repeated text. These are monthly totals, so other jobs may also contribute; the estimate above isolates the item you tested.

You’ve now seen both everyday cases: source edits identify the fields needing work, and approved wording can be reused on another item without another engine charge. The same memory is shared with other sites in your organization.

For terminology rules that apply to new wording too, Manage the glossary.