Skip to content

Automatic Translation

On this page

Available in LATW AI Translation for Polylang PRO.

#What it does

Normally you translate content by opening the plugin’s Translations screen and pressing a
button. Automatic translation removes that step: as soon as a new post, page or product is
published, the plugin sends it to the AI on its own and the finished translation is linked to it in
Polylang a short while later.

It was built for sites where content does not arrive by hand — a product feed from a supplier, a CSV
importer, an app that posts articles through the API. You publish, and the translations appear.

Important: every automatic translation is billed by your AI provider, exactly like a manual one.
The settings include daily limits so an importer that misbehaves cannot run up a bill overnight —
see Daily limits.

#How it works, step by step

  1. Someone (or something) publishes a new post.
  2. The plugin notes the post and starts a short countdown — 60 seconds by default.
  3. If the post is saved again during the countdown, the countdown restarts. This is deliberate:
    importers usually write the same product several times in a row (first the text, then the
    price, then the stock level, then the images), and we want to translate it once, after it has
    settled — not four times.
  4. Once the countdown runs out, the plugin’s regular every-minute background task picks the post up
    and sends it to the AI, in the same way as if you had pressed Translate yourself.
  5. The translation is saved and linked to the original in Polylang.

#What does not start a translation

  • Editing content that is already published. Only content entering one of the selected
    statuses counts — a brand-new post being published, or a draft going live. Re-saving a published
    post does nothing at all. A stock or price sync that touches every product every few hours will
    therefore not trigger anything.
  • Content that is already translated. If a post already has a translation in every target
    language, it is skipped.
  • Translations themselves. A translated post is never treated as new content to translate, so
    there is no loop.
  • Drafts in progress, trashed posts and media attachments.

Keeping existing translations up to date when the original changes remains a manual decision on
the Translations screen.

One case worth knowing: if a post is published that already has some of its target languages, the
missing ones are translated and the ones it has are brought up to date in the mode chosen under
Outdated Translations — for free when nothing changed, but at full price if that setting is
Re-translate the whole post from scratch. See Updating Outdated Translations.


#The settings

All options live in AI Translation → Settings → Automation. Without an active licence the tab
shows a notice instead, and nothing is watched.

#Automatic translation — “Translate new content automatically”

The master switch. While it is off, nothing below has any effect and the plugin behaves exactly as
before. Tick it and save, and the plugin starts watching for new content.

While posts are waiting for their countdown, the switch shows how many: N item(s) are currently
waiting to be translated.

#Content types

Which kinds of content are watched: Posts, Pages, Products, or any custom type your theme or plugins
register — as long as Polylang is set to translate it.

Nothing happens until at least one type is ticked. This is the usual reason automatic
translation appears to “not work”.

#Triggering statuses

The status a post has to enter for a translation to start. Published is the default and is
what most sites want.

Option Translation starts when…
Published a post goes live (new post published, or a draft published)
Pending review a contributor submits a post for review
Draft a post is first saved as a draft — useful if you want translations ready before publishing
Private a post is published privately

You can tick more than one. Remember that only the move into that status counts — a post that is
already published and gets edited is not re-translated.

The status the translation gets is a separate setting: Settings → Translation → Status of new
translations
(Draft by default).

#Wait before translating

How many seconds to wait before sending the content to the AI. Default 60, minimum 30.

Every further save of that post restarts the countdown. So the delay is not “translate 60 seconds
later” so much as “translate 60 seconds after the last time anything touched this post” — which is
what stops half-built imported products from being translated mid-import.

  • Content written by people in the editor: the default 60 seconds is fine.
  • Content coming from an importer that writes in several passes: raise it to 300 seconds (5 min) or
    more, so the importer is definitely finished.

#Target languages

Which languages new content is translated into.

Leave all boxes unticked to reuse the Target Languages you already picked on the
Translation tab. Tick specific languages here only if automatic translation should cover a
narrower set than your manual translations — for example, translate everything into German by hand
but let only French run automatically.

#Daily limits

Two limits, both counting automatic translations only — anything you start by hand is never
blocked and never counted. 0 means no limit.

Translations per day. One post translated into three languages counts as three.

This is the safety net. If a feed misfires and recreates 5,000 products, the limit stops the run
once it is reached. Nothing is lost — the remaining posts keep waiting and go out automatically once
the limit resets the next day, or as soon as you raise it. While a limit is holding content back, a
warning appears on the plugin’s own screens telling you how many items are waiting.

USD per day. The maximum amount to spend on automatic translations per day.

One caveat worth understanding: the exact cost of a translation is only known once it comes back
from the provider, so this limit reacts with a delay and can be overshot — by a lot in Batch
processing, where results arrive hours later. If you want a hard, immediate stop, set translations
per day
as well.

The day is counted in UTC, so it rolls over at the same moment regardless of your site’s timezone.

#Settings this feature reuses

Automatic translation is not a separate translation engine — it uses everything already configured
elsewhere in the plugin:

  • Engine, model, processing and reasoning effort (Settings → General).
  • Prompt, glossary and what to translate (Settings → Translation, Glossary).
  • Outdated Translations, for a post that turns out to be partly translated already.

#Where to check on it

  • Settings → Automation shows how many posts are waiting for their countdown.
  • AI Translation → Translations and History show the jobs themselves, as for any other
    translation.
  • AI Translation → Logs records the work, with lines starting auto-translate: — which posts
    were dispatched, when a daily limit started holding posts, and any dispatch that failed. Why an
    individual post was skipped is recorded too, once Settings → Advanced → Debug Mode is on.