Process all content or translate stored pending strings

Open Translations → Generate pending translations to refresh the site's stored translatable strings and find unresolved values for every additional language.

Check the screen before starting

The screen lists the target locales and reports whether automatic translation is enabled:

  • when enabled, empty or pending strings are translated immediately during the run;
  • when disabled, source strings are generated and refreshed, but the translation step is skipped.

The two processing choices have different scopes:

  • Process all is the default and existing behavior. It scans all enabled post types, navigation menus, and enabled taxonomies, then translates all unresolved stored strings.
  • Translate pending only skips content discovery and translates unresolved strings that already exist in POM Translate storage. Use it after strings have already been generated and you only need to finish the pending translation work.

Both choices include pending registered values shown under Translations → Other translations. The WooCommerce email workspace and gettext Software translations keep their dedicated workflows.

Translate pending only is unavailable while automatic translation is disabled because that mode does not generate source strings.

Run the generator

  1. Finish or pause source-content editing.
  2. Confirm the additional languages and translation exclusions.
  3. Select Process all for a complete source refresh, or Translate pending only to skip the source scan.
  4. Follow the progress bar, Processed, Total, Translations created, and the log.
  5. Wait for the processing and translation messages to finish.

With Process all, the first progress cycle measures source discovery. When discovery finishes, the generator calculates the number of unresolved string-locale tasks and restarts the bar at zero for translation. Translate pending only calculates that translation worklist before its first batch. The bar reaches 100% only after the server-side job is complete.

POM Translate stores the job ID, phase, stable content cursor, retry state, and statistics on the server. The open screen accelerates the work and displays progress, while WordPress cron can continue bounded steps after the tab is closed. An hourly recovery check restores a missing worker event for a job that is still marked as running.

Understand what is preserved

The scan reparses source content and updates its stored string representation. Existing non-pending translations with non-empty text are not treated as unresolved. Excluded objects or locales are skipped according to their exclusion rules.

If the run is stopped or interrupted, completed writes and the saved cursor remain. Selecting the same processing mode again resumes that job. After stopping a job, selecting the other mode creates a new checkpoint in that mode; translations already written remain intact. A different mode cannot replace a job while it is actively running.

A failed content read or parse, an unsaved checkpoint, or repeated unusable translation output pauses the job without skipping that checkpoint. A completed job starts a new run in the mode selected next. See Stop, continue, or cancel processing.

After completion, use the Machine and Pending status filters in the relevant manager tabs to review the result.