Universally Documentation

Step-by-step guides, multilingual SEO tips, and best practices to help you translate and scale your WordPress website.

Bulk actions

Bulk actions on the Translations screen deletes many translations at once, either the rows you have ticked or everything matching your current filters. This page covers what each one takes with it, the limits, and the one case where it destroys work you cannot get back.

Before you start

Bulk actions are Owner and Admin only. Editors and members do not see the menu.

The menu is unavailable while a bulk operation is already running for the project: only one runs at a time, and the button says so on hover.

The two ways to delete

Tick the checkbox on any row and the menu offers both. With nothing ticked, only the second appears.

Delete N selected Delete all matching
What it covers Only the rows you ticked Every string your current filters match
Confirmation Count in the dialog Count, plus you must type DELETE
How it runs Immediately, in one request A background job with a progress bar you can cancel
Limit 500 strings at a time No limit

Both name the language in the menu item and in the confirmation, because both are scoped to it.

Delete all matching asks you to type DELETE because its scope is implicit: it follows whatever filters are set, which may be far more than is on screen. An explicit tick-box selection already shows its own count, so it does not ask.

It deletes one language, not all of them

Deleting removes the translations for the language you are viewing. The other languages keep theirs. This is the same thing the row action does, at scale.

There is one exception, and it is deliberate. If a string ends up with no translation left in any language, the string itself is removed too, rather than lingering with nothing attached. That matters because it is the only way a bulk delete removes something beyond the current language.

Verified translations are not spared

A bulk delete removes verified and hand-edited translations along with the machine-translated ones. There is no option to exclude them.

If a language contains reviewed work, filter to something narrower than the whole language before using Delete all matching, or tick the specific rows instead. Deleting a single translation from its row keeps the string in place, so its history survives and the previous version can be restored. A bulk delete that removes the string leaves nothing to restore onto.

Selection and filters

The header checkbox selects the rows currently loaded, not every match. The list loads more as you scroll, so what "all" covers grows as you go. To act on everything matching instead, use Delete all matching.

Changing the language, status, search or page clears your selection. That is on purpose: a row ticked under one filter must not be deleted under another.

Watching it run

Delete all matching shows a progress bar with a running count and a Cancel button. It survives a page reload, so you can navigate away and come back to it.

When it finishes, the bar reports what it did and then clears itself. The result stops being reported a few minutes after the job ends, so a completed bar does not follow you around.

What it does to your word count

The words come off your project and workspace totals as the translations are removed, exactly as they do for a single deletion.

They are spent again if the text is translated afresh on a later visit. So bulk deletion only reduces your count for good if the text also stops being translated, by excluding the page or covering it with a glossary rule. See What deleting removes for the full picture, and Glossary rules for keeping text as it is.

Was this helpful?