Evidence before retries

Diagnose the failed layer before you import again.

StagLingo separates durable writes, file-level results, private backups, environment diagnostics, and front-end verification. Read the right evidence first, then decide whether to resume, correct the package, clear a cache, or ask for support.

Four evidence sources

Each screen answers a different question.

A front-end mismatch is not automatically a failed database write, and a successful write is not automatically a complete publishing review. Keep storage evidence and visitor-visible evidence separate.

Current operation

Import panel

Shows validation, protected-field, backup, transaction, rollback, storage read-back, and front-end verification messages for the current queue.

Durable audit

History

Shows successful page-language writes plus persistent file status and rollback diagnostics. It does not retain translated copy in the History table.

Environment

Diagnostics

Shows plugin and TranslatePress versions, locales, dictionary compatibility, URL-slug support, and the safeguards available in the running installation.

Publishing evidence: after storage succeeds, complete the checks in Review Export and Live-Page Verification and apply the release gates in Quality and Publishing Controls.
History

See what StagLingo proved, not the translation text itself.

The History tab separates successful page-language writes from file-level processing records. Use it after a refresh, interrupted connection, plugin deactivation, or in-place update.

  • Recent translation writes records time, default-language page, language, and written-cell count after write and read-back succeed.
  • Recent import files records languages, status, progress, committed items, rolled-back items, and compact error details.
  • The latest 200 page-language records are retained. A record can appear as soon as its file finishes while later files continue.
StagLingo History tab showing recent translation writes and import file records
History records audit data and error summaries; the translated text itself is not retained in these History tables.
Before every protected write

Backups preserve the previous values; transactions protect each write.

These are related safeguards, but they are not the same thing. A transaction can roll back a failed cell automatically. The downloadable backup preserves the prior storage values for investigation or controlled recovery.

Private CSV

Created before changes

The backup records the affected storage type, content type, language, row or post identity, original source, previous translation, previous status, block type, and backup time.

Protected access

Not a public media file

Backups are stored in a protected upload directory, use restrictive file permissions where supported, and are downloaded through an authorized WordPress admin action.

Retention

Keep your own incident copy

StagLingo retains the latest 20 backup records and removes older backup files as the limit is exceeded. Download a backup promptly when an incident may require later analysis.

Important: the backup download is not presented as a one-click restore tool. If a transaction reports a rollback or storage read-back failure, do not repeatedly re-import the same file. Save the backup and error report, inspect Diagnostics, and correct the underlying cause first.
Interrupted work

A lost browser response does not automatically mean the server stopped.

Standard/resumable imports persist staged files and chunk progress so the browser can recover server-side status. Check for saved work before uploading the same package again.

Wait for status recovery

If the network response is interrupted, allow the import screen to query the saved server job instead of immediately starting a duplicate run.

Use Resume saved imports

Incomplete protected jobs can survive refreshes, network interruptions, and in-place plugin upgrades for up to 48 hours.

Read History

Files that completed durable chunks can already have successful page-language entries even when a later file stopped.

Clear only when finished

Clear import records removes current results, failed or idle jobs, and temporary staged files. It does not undo translations or clear History.

Why a completed import may disappear: after a staged file completes successfully, its temporary staged copy can be discarded and its successful writes move into History. That cleanup is expected; use History and the live target-language page as the lasting evidence.
Diagnostics

Check the environment before blaming the package.

Diagnostics reports the active plugin and TranslatePress environment plus per-language write compatibility. Capture it before changing plugins, language settings, or caches so support can compare the failing state.

Versions and locales

StagLingo, TranslatePress, source locale, and configured targets.

Required capabilities

PHP DOM, URL-slug API, and dictionary compatibility.

Write safeguards

Storage-aware imports, read-back, collision protection, and resumable jobs.

Per-language state

Language slug, published status, and dictionary write result.

StagLingo Diagnostics tab showing environment and language compatibility checks
Copy the exact failed row, locale, status, plugin versions, and dictionary result when preparing a support request.
Troubleshooting

Match the message to the layer that produced it.

The safest response depends on whether StagLingo rejected the package before writing, rolled back a write, lost the browser response, or stored the translation but could not confirm it on the immediate front-end request.

Package rejected

Validation or protected-field failure

Do not remove or rewrite identity columns to force a match.

  • Confirm the package belongs to this site and current source page.
  • Keep protected IDs, source URLs, content types, source text, and hashes unchanged.
  • Export a fresh package if the English page structure changed.
Write rejected

Backup, transaction, rollback, or read-back failure

This category requires action and must not be ignored.

  • Download the available backup and error report.
  • Check dictionary compatibility and the exact target locale in Diagnostics.
  • Resolve the storage or database cause before retrying.
Stored, not confirmed

Front-end verification warning

If storage read-back succeeded, clear site/CDN caches and inspect the actual target-language URL in a private window.

  • Dynamic, rotating, personalized, conditional, or JavaScript-rendered content may be absent from the immediate request.
  • Related-content blocks can report items that are not part of the current page.
  • For this specific warning class, the visitor-visible page is the final authority.
Interrupted response

Browser or network stopped responding

Do not assume nothing was written and do not start a duplicate queue immediately.

  • Use Resume saved imports within the recovery window.
  • Compare the file progress with Recent import files.
  • Open completed target-language pages before deciding what remains.
Decision table

Know what can wait and what requires action.

Never use a correct-looking front end to dismiss a failed transaction or storage read-back. Conversely, do not overwrite proven storage solely because a dynamic block was absent from one automated request.

Result or messageWhat it meansNext action
Successful write in HistoryThe page-language group was written and read back from storage.Inspect the live language URL and continue the publishing review.
Validation / protected-field errorThe proposed row did not pass package identity or safety checks.Correct or freshly export the package; do not edit protected identity fields.
Rolled back / storage read-back failedThe write could not be proven durable across the required storage aliases.Save the backup and error report, inspect Diagnostics, and resolve the cause before retrying.
stored_but_frontend_unconfirmedStorage succeeded, but the immediate request did not find the expected visitor-visible value.Clear caches and inspect the real target URL. Dynamic or unrelated content may explain the warning.
Saved import availableAn incomplete protected job remains within the resumable window.Resume the saved import instead of uploading a duplicate package.
No current result after full successSuccessful staging data may have been cleaned up after completion.Use History and the live page as the lasting record.