# Copyright (C) 2026 007AJ # This file is distributed under the GPLv2 or later. msgid "" msgstr "" "Project-Id-Version: 007AJ Backup Restore Verifier 0.6.6\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/007aj-backup-restore-verifier\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "POT-Creation-Date: 2026-10-29T01:55:48+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.12.0\n" "X-Domain: 007aj-backup-restore-verifier\n" #. Plugin Name of the plugin #: 007aj-backup-restore-verifier.php #: includes/Admin/class-admin.php:38 #: includes/Admin/class-admin.php:39 #: includes/Admin/class-admin.php:122 #: includes/Admin/class-pre-update-notice.php:205 #: includes/Support/class-privacy.php:46 #: includes/Support/class-privacy.php:90 #: includes/Support/class-privacy.php:105 msgid "007AJ Backup Restore Verifier" msgstr "" #. Plugin URI of the plugin #: 007aj-backup-restore-verifier.php msgid "https://007aj.com/backup-restore-verifier" msgstr "" #. Description of the plugin #: 007aj-backup-restore-verifier.php msgid "Local WordPress backups: database, plugins, themes and uploads in one zip with SHA-256 checksums that are checked before a restore, restore with rollback and optional backups before updates. Runs on your own server and makes no external requests." msgstr "" #. Author of the plugin #: 007aj-backup-restore-verifier.php msgid "007AJ" msgstr "" #. Author URI of the plugin #: 007aj-backup-restore-verifier.php msgid "https://007aj.com" msgstr "" #: 007aj-backup-restore-verifier.php:33 msgid "Another edition of 007AJ Backup Restore Verifier is already active. Please deactivate one of them: they share the same data and cannot run together." msgstr "" #. translators: %s: PHP version. #: 007aj-backup-restore-verifier.php:69 #, php-format msgid "PHP 7.4 or newer is required (this server runs %s)." msgstr "" #. translators: %s: WordPress version. #: 007aj-backup-restore-verifier.php:73 #, php-format msgid "WordPress 6.3 or newer is required (this site runs %s)." msgstr "" #. translators: %s: PHP extension name. #: 007aj-backup-restore-verifier.php:83 #, php-format msgid "The PHP extension \"%s\" is required but not enabled on this server." msgstr "" #: 007aj-backup-restore-verifier.php:98 msgid "007AJ Backup Restore Verifier is not running:" msgstr "" #: 007aj-backup-restore-verifier.php:102 msgid "Please ask your host to update or enable it. Nothing was changed on your site." msgstr "" #: 007aj-backup-restore-verifier.php:106 msgid "007AJ Backup Restore Verifier: the PHP ZipArchive class (zip extension) is not available, so the extra archive check before a restore is skipped. Backups and restores still work; ask your host to enable the zip extension for the full check." msgstr "" #: 007aj-backup-restore-verifier.php:110 msgid "007AJ Backup Restore Verifier could not move its backup folder from wp-content/brverify-working to the uploads directory, so it keeps using the old folder. Your backups are safe. Make sure the uploads directory is writable and on the same disk; the move is retried automatically." msgstr "" #: includes/Adapters/LocalAdapter.php:34 msgid "Local storage" msgstr "" #: includes/Adapters/LocalAdapter.php:53 msgid "Local source path is not readable." msgstr "" #: includes/Adapters/LocalAdapter.php:60 msgid "Unable to prepare local storage directory." msgstr "" #: includes/Adapters/LocalAdapter.php:92 msgid "Failed to move backup into local storage." msgstr "" #: includes/Adapters/LocalAdapter.php:129 msgid "Finalized local artifact is missing." msgstr "" #: includes/Adapters/LocalAdapter.php:186 msgid "Local artifact not found." msgstr "" #: includes/Adapters/LocalAdapter.php:194 msgid "Failed to copy local artifact." msgstr "" #: includes/Admin/class-admin.php:80 msgid "Starting backup…" msgstr "" #: includes/Admin/class-admin.php:81 msgid "Starting restore…" msgstr "" #: includes/Admin/class-admin.php:82 msgid "Job in progress…" msgstr "" #: includes/Admin/class-admin.php:83 msgid "Backup completed." msgstr "" #: includes/Admin/class-admin.php:84 msgid "Restore completed." msgstr "" #: includes/Admin/class-admin.php:85 msgid "Job failed." msgstr "" #: includes/Admin/class-admin.php:86 msgid "Ready." msgstr "" #: includes/Admin/class-admin.php:87 msgid "Restore the selected components from this backup? A pre-restore snapshot will be taken for rollback." msgstr "" #: includes/Admin/class-admin.php:88 msgid "Select at least one component." msgstr "" #: includes/Admin/class-admin.php:99 #: includes/Admin/class-settings-page.php:150 msgid "You do not have permission to manage 007AJ Backup Restore Verifier." msgstr "" #: includes/Admin/class-admin.php:124 msgid "Local WordPress backups and restores. Each archive carries SHA-256 checksums that are checked before a restore." msgstr "" #: includes/Admin/class-admin.php:128 msgid "Backup" msgstr "" #: includes/Admin/class-admin.php:132 msgid "Backup Now" msgstr "" #: includes/Admin/class-admin.php:142 msgid "Multisite is not supported — jobs will refuse." msgstr "" #: includes/Admin/class-admin.php:147 msgid "Local backups" msgstr "" #: includes/Admin/class-admin.php:149 msgid "No backup artifacts yet." msgstr "" #: includes/Admin/class-admin.php:154 #: includes/Admin/class-admin.php:207 msgid "ID" msgstr "" #: includes/Admin/class-admin.php:155 msgid "File" msgstr "" #: includes/Admin/class-admin.php:156 msgid "Size" msgstr "" #: includes/Admin/class-admin.php:157 msgid "SHA-256" msgstr "" #: includes/Admin/class-admin.php:158 msgid "Created" msgstr "" #: includes/Admin/class-admin.php:159 #: includes/Admin/class-admin.php:173 msgid "Download" msgstr "" #: includes/Admin/class-admin.php:160 #: includes/Admin/class-admin.php:185 msgid "Restore" msgstr "" #: includes/Admin/class-admin.php:178 msgid "DB" msgstr "" #: includes/Admin/class-admin.php:179 msgid "Plugins" msgstr "" #: includes/Admin/class-admin.php:180 msgid "Themes" msgstr "" #: includes/Admin/class-admin.php:181 msgid "Uploads" msgstr "" #: includes/Admin/class-admin.php:194 msgid "Restore enters maintenance mode, snapshots selected targets for rollback, applies the archive, then verifies. Concurrent backup/restore is blocked." msgstr "" #: includes/Admin/class-admin.php:200 msgid "Recent jobs" msgstr "" #: includes/Admin/class-admin.php:202 msgid "No jobs yet." msgstr "" #: includes/Admin/class-admin.php:208 msgid "Type" msgstr "" #: includes/Admin/class-admin.php:209 msgid "Status" msgstr "" #: includes/Admin/class-admin.php:210 msgid "Phase" msgstr "" #: includes/Admin/class-admin.php:211 msgid "Progress" msgstr "" #: includes/Admin/class-admin.php:212 msgid "Updated" msgstr "" #: includes/Admin/class-admin.php:213 msgid "Error" msgstr "" #: includes/Admin/class-admin.php:234 msgid "System health" msgstr "" #: includes/Admin/class-admin.php:252 msgid "Notes" msgstr "" #: includes/Admin/class-admin.php:254 msgid "Backups are stored locally in a protected folder under wp-content by default." msgstr "" #. translators: %d: retention count #: includes/Admin/class-admin.php:259 #, php-format msgid "Retention: keep last %d local artifact(s); oldest pruned after each successful backup." msgstr "" #: includes/Admin/class-admin.php:264 #: includes/Admin/class-settings-page.php:46 msgid "Settings" msgstr "" #. translators: %d: exclusion pattern count #: includes/Admin/class-admin.php:271 #, php-format msgid "Default exclusion patterns: %d (filter: brverify_exclusion_patterns)." msgstr "" #: includes/Admin/class-ajax.php:53 msgid "Unable to start backup." msgstr "" #: includes/Admin/class-ajax.php:83 msgid "Missing artifact_id." msgstr "" #: includes/Admin/class-ajax.php:115 msgid "Select at least one component to restore." msgstr "" #: includes/Admin/class-ajax.php:129 #: includes/Admin/class-pre-update-notice.php:269 msgid "Unable to start restore." msgstr "" #: includes/Admin/class-ajax.php:158 #: includes/Admin/class-ajax.php:199 msgid "Missing job_id." msgstr "" #: includes/Admin/class-ajax.php:205 msgid "Job not found." msgstr "" #: includes/Admin/class-ajax.php:227 msgid "Invalid nonce." msgstr "" #: includes/Admin/class-ajax.php:230 msgid "Forbidden." msgstr "" #: includes/Admin/class-download.php:35 msgid "You must be logged in to download 007AJ Backup Restore Verifier backups." msgstr "" #: includes/Admin/class-download.php:36 msgid "Unauthorized" msgstr "" #: includes/Admin/class-download.php:47 msgid "You do not have permission to download 007AJ Backup Restore Verifier backups." msgstr "" #: includes/Admin/class-download.php:48 #: includes/Admin/class-download.php:59 msgid "Forbidden" msgstr "" #: includes/Admin/class-download.php:58 msgid "Invalid download request." msgstr "" #: includes/Admin/class-download.php:67 #: includes/Jobs/class-job-runner.php:231 #: includes/Restore/class-restore-driver.php:153 msgid "Artifact not found." msgstr "" #: includes/Admin/class-download.php:72 #: includes/Admin/class-download.php:77 msgid "Artifact file missing or not allowed." msgstr "" #: includes/Admin/class-extras-note.php:40 msgid "Want more?" msgstr "" #: includes/Admin/class-extras-note.php:41 msgid "The Pro version adds remote storage (S3, Google Drive, Dropbox, SFTP and more), incremental backups and site migration." msgstr "" #: includes/Admin/class-extras-note.php:42 #: includes/Admin/class-extras-note.php:67 msgid "Upgrade to Pro" msgstr "" #: includes/Admin/class-extras-note.php:43 #: includes/Admin/class-pre-update-notice.php:214 msgid "Dismiss" msgstr "" #: includes/Admin/class-extras-note.php:51 msgid "Sorry, you are not allowed to do that." msgstr "" #: includes/Admin/class-health.php:31 msgid "PHP version" msgstr "" #: includes/Admin/class-health.php:32 msgid "(7.4+ required)" msgstr "" #: includes/Admin/class-health.php:38 msgid "WordPress version" msgstr "" #: includes/Admin/class-health.php:39 msgid "(6.3+ required)" msgstr "" #: includes/Admin/class-health.php:45 msgid "ZipArchive" msgstr "" #: includes/Admin/class-health.php:46 #: includes/Admin/class-health.php:53 msgid "Available" msgstr "" #: includes/Admin/class-health.php:46 msgid "Missing" msgstr "" #: includes/Admin/class-health.php:52 msgid "Libsodium" msgstr "" #: includes/Admin/class-health.php:53 msgid "Not available" msgstr "" #: includes/Admin/class-health.php:59 msgid "Available disk space (content dir)" msgstr "" #: includes/Admin/class-health.php:66 msgid "Local working directory" msgstr "" #: includes/Admin/class-health.php:69 msgid "Not writable" msgstr "" #: includes/Admin/class-health.php:76 msgid "Web server protection" msgstr "" #: includes/Admin/class-health.php:77 msgid "Nginx ignores .htaccess. Add \"location ~* /uploads/brverify-working/ { deny all; }\" to your server block so backup files cannot be downloaded directly." msgstr "" #: includes/Admin/class-health.php:85 msgid "Job tables" msgstr "" #. translators: %d: job row count #: includes/Admin/class-health.php:89 #, php-format msgid "Present (%d jobs)" msgstr "" #: includes/Admin/class-health.php:92 msgid "Missing — re-activate plugin" msgstr "" #: includes/Admin/class-health.php:98 msgid "WP-Cron" msgstr "" #: includes/Admin/class-health.php:100 msgid "DISABLE_WP_CRON is true — use system cron to hit wp-cron.php" msgstr "" #: includes/Admin/class-health.php:101 msgid "Enabled (spawn)" msgstr "" #. translators: %s: next run datetime #: includes/Admin/class-health.php:112 #, php-format msgid "next %s" msgstr "" #: includes/Admin/class-health.php:117 #: includes/Admin/class-settings-page.php:175 msgid "Backup schedule" msgstr "" #: includes/Admin/class-health.php:124 msgid "Multisite" msgstr "" #: includes/Admin/class-health.php:126 msgid "Multisite is not supported — jobs will refuse" msgstr "" #: includes/Admin/class-health.php:127 msgid "Single site" msgstr "" #: includes/Admin/class-health.php:145 msgid "Unknown" msgstr "" #: includes/Admin/class-pre-update-notice.php:116 msgid "an update" msgstr "" #. translators: %s: updated items #: includes/Admin/class-pre-update-notice.php:128 #, php-format msgid "007AJ Backup Restore Verifier took a pre-update backup before updating %s. If something looks wrong you can roll back." msgstr "" #. translators: 1: updated items, 2: reason #: includes/Admin/class-pre-update-notice.php:137 #, php-format msgid "007AJ Backup Restore Verifier skipped a new pre-update backup before updating %1$s. %2$s" msgstr "" #. translators: 1: updated items, 2: message #: includes/Admin/class-pre-update-notice.php:147 #, php-format msgid "007AJ Backup Restore Verifier’s pre-update backup for %1$s was still running when the update proceeded. %2$s" msgstr "" #. translators: 1: updated items, 2: error #: includes/Admin/class-pre-update-notice.php:156 #, php-format msgid "007AJ Backup Restore Verifier’s pre-update backup FAILED for %1$s. %2$s" msgstr "" #: includes/Admin/class-pre-update-notice.php:161 msgid "The update was blocked because “block update if backup fails” is enabled." msgstr "" #: includes/Admin/class-pre-update-notice.php:163 msgid "The update continued without a fresh backup." msgstr "" #: includes/Admin/class-pre-update-notice.php:212 msgid "Restore the site from this backup? A pre-restore snapshot is taken for rollback." msgstr "" #: includes/Admin/class-pre-update-notice.php:212 msgid "Restore this backup" msgstr "" #: includes/Admin/class-pre-update-notice.php:228 msgid "You do not have permission to restore backups." msgstr "" #: includes/Admin/class-pre-update-notice.php:234 msgid "Missing artifact." msgstr "" #: includes/Admin/class-pre-update-notice.php:288 msgid "You do not have permission." msgstr "" #: includes/Admin/class-settings-page.php:45 #: includes/Admin/class-settings-page.php:162 msgid "007AJ Backup Restore Verifier Settings" msgstr "" #: includes/Admin/class-settings-page.php:166 msgid "Settings saved. Schedule updated." msgstr "" #: includes/Admin/class-settings-page.php:177 msgid "Scheduled backups run on one cadence and include the database and files." msgstr "" #: includes/Admin/class-settings-page.php:181 msgid "Interval" msgstr "" #. translators: %s: next run label #: includes/Admin/class-settings-page.php:194 #, php-format msgid "Next scheduled run: %s" msgstr "" #: includes/Admin/class-settings-page.php:201 msgid "DISABLE_WP_CRON is true. Use real system cron to hit wp-cron.php so schedules and job resume ticks fire reliably." msgstr "" #: includes/Admin/class-settings-page.php:205 msgid "Tip: on production hosts, prefer system cron hitting wp-cron.php even when WP-Cron spawn is enabled." msgstr "" #: includes/Admin/class-settings-page.php:215 msgid "Backup destinations" msgstr "" #: includes/Admin/class-settings-page.php:228 msgid "Select one or more destinations. Keeping Local selected is recommended so a remote failure cannot erase a completed local backup." msgstr "" #: includes/Admin/class-settings-page.php:230 msgid "Backups are stored locally in a protected folder under wp-content." msgstr "" #: includes/Admin/class-settings-page.php:235 msgid "Destinations" msgstr "" #: includes/Admin/class-settings-page.php:261 msgid "Retention" msgstr "" #: includes/Admin/class-settings-page.php:264 msgid "Keep last N local backups" msgstr "" #: includes/Admin/class-settings-page.php:268 msgid "Oldest local artifacts beyond N are pruned after each successful backup. When incremental chains are present, parents still required by a kept child are never pruned." msgstr "" #: includes/Admin/class-settings-page.php:270 msgid "After each successful backup, oldest local artifacts beyond N are deleted (disk + database rows). Default 3." msgstr "" #: includes/Admin/class-settings-page.php:278 msgid "Pre-update backups" msgstr "" #: includes/Admin/class-settings-page.php:280 msgid "Optional and OFF by default. When enabled, 007AJ Backup Restore Verifier takes one local backup (database + plugins + themes) right before WordPress installs plugin, theme, or core updates — manual, bulk, or automatic. A bulk update produces a single backup, and a backup taken in the last few minutes is reused. Backups stay on this server; nothing is sent anywhere. If the backup fails, the update still proceeds and you see a warning." msgstr "" #: includes/Admin/class-settings-page.php:284 msgid "Enable" msgstr "" #: includes/Admin/class-settings-page.php:289 msgid "Back up automatically before plugin, theme, and core updates" msgstr "" #: includes/Admin/class-settings-page.php:291 msgid "This adds time and disk usage to each update run. Uploads are not included in pre-update backups to keep them fast; scheduled backups still cover them." msgstr "" #: includes/Admin/class-settings-page.php:295 msgid "Keep last N pre-update backups" msgstr "" #: includes/Admin/class-settings-page.php:299 msgid "A separate cap (default 3) so pre-update backups never crowd out your scheduled backups, and scheduled retention never deletes them." msgstr "" #: includes/Admin/class-settings-page.php:304 msgid "An add-on is adjusting pre-update options (see its settings page)." msgstr "" #: includes/Admin/class-settings-page.php:309 msgid "Failure alerts" msgstr "" #: includes/Admin/class-settings-page.php:312 msgid "Alert email" msgstr "" #: includes/Admin/class-settings-page.php:318 msgid "Leave blank to use the site admin email. Sent via wp_mail only — no external ESP." msgstr "" #: includes/Admin/class-settings-page.php:326 msgid "Uninstall" msgstr "" #: includes/Admin/class-settings-page.php:329 msgid "Data on uninstall" msgstr "" #: includes/Admin/class-settings-page.php:334 msgid "Delete all data when the plugin is deleted (settings, history and the backup files)" msgstr "" #: includes/Admin/class-settings-page.php:337 msgid "Off by default: deleting the plugin removes its scheduled events but keeps your settings, backup history and the backup files in uploads/brverify-working/. Turn this on only if you want everything removed, including the backups, when the plugin is deleted." msgstr "" #: includes/Admin/class-settings-page.php:344 msgid "Save settings" msgstr "" #: includes/Backup/class-backup-driver.php:51 #: includes/Jobs/class-job-runner.php:122 #: includes/Jobs/class-job-runner.php:201 #: includes/Restore/class-restore-driver.php:53 msgid "Multisite is not supported." msgstr "" #: includes/Backup/class-backup-driver.php:55 #: includes/Restore/class-restore-driver.php:57 msgid "Unable to create protected working directory." msgstr "" #. translators: %s: phase name #: includes/Backup/class-backup-driver.php:90 #, php-format msgid "Unknown backup phase: %s" msgstr "" #: includes/Backup/class-backup-driver.php:122 msgid "Not enough disk space available for backup." msgstr "" #: includes/Backup/class-backup-driver.php:227 msgid "Backup zip missing before checksum phase." msgstr "" #: includes/Backup/class-backup-driver.php:341 msgid "Seal state file is missing or corrupt." msgstr "" #: includes/Backup/class-backup-driver.php:464 msgid "The archive was not accepted. Please run the backup again; if this repeats, contact support with this message." msgstr "" #. translators: 1: entries in the archive directory, 2: entries written #: includes/Backup/class-backup-driver.php:472 #, php-format msgid "Archive directory lists %1$d members but %2$d were written." msgstr "" #. translators: 1: member index, 2: member name, 3: number of checksum entries #: includes/Backup/class-backup-driver.php:498 #, php-format msgid "Archive member #%1$d (%2$s) has no entry in the checksum list (the list has %3$d entries)." msgstr "" #. translators: 1: member index, 2: member name #: includes/Backup/class-backup-driver.php:514 #, php-format msgid "Archive member #%1$d (%2$s) has no entry in the checksum list (the list ended early)." msgstr "" #. translators: %d: line number #: includes/Backup/class-backup-driver.php:524 #, php-format msgid "Checksum list line %d is malformed." msgstr "" #. translators: 1: member index, 2: member name, 3: line number, 4: name in the checksum list #: includes/Backup/class-backup-driver.php:533 #, php-format msgid "Archive member does not match the checksum list: member #%1$d is %2$s but checksum entry #%3$d is %4$s." msgstr "" #. translators: %s: member name #: includes/Backup/class-backup-driver.php:558 #, php-format msgid "Checksum mismatch after writing archive member: %s" msgstr "" #. translators: 1: line number, 2: line #: includes/Backup/class-backup-driver.php:578 #, php-format msgid "The checksum list has more entries than the archive (first extra entry #%1$d: %2$s)." msgstr "" #. translators: 1: verified members, 2: listed members #: includes/Backup/class-backup-driver.php:588 #, php-format msgid "Verified %1$d payload members but the checksum list has %2$d entries." msgstr "" #: includes/Backup/class-backup-driver.php:644 #: includes/Backup/class-zip-writer.php:327 #: includes/Restore/class-snapshot.php:216 msgid "Unable to read file" msgstr "" #: includes/Backup/class-backup-driver.php:651 #: includes/Backup/class-zip-writer.php:569 #: includes/Backup/class-zip-writer.php:617 msgid "Read error" msgstr "" #: includes/Backup/class-backup-driver.php:687 msgid "Backup zip missing at finalize." msgstr "" #. translators: %s: adapter id #: includes/Backup/class-backup-driver.php:749 #, php-format msgid "Destination adapter \"%s\" is not registered." msgstr "" #. translators: %s: adapter label #: includes/Backup/class-backup-driver.php:755 #, php-format msgid "Destination \"%s\" is not configured." msgstr "" #: includes/Backup/class-backup-driver.php:772 msgid "Adapter push failed." msgstr "" #: includes/Backup/class-backup-driver.php:797 msgid "Adapter finalize failed." msgstr "" #. translators: %s: error #: includes/Backup/class-backup-driver.php:811 #, php-format msgid "Local destination failed: %s" msgstr "" #: includes/Backup/class-backup-driver.php:898 msgid "Local destination failed." msgstr "" #. translators: %s: errors #: includes/Backup/class-backup-driver.php:904 #, php-format msgid "All selected destinations failed: %s" msgstr "" #: includes/Backup/class-checksums.php:56 msgid "ZipArchive missing for checksum verify." msgstr "" #: includes/Backup/class-checksums.php:69 #: includes/Restore/class-archive-check.php:337 msgid "Malformed checksum line." msgstr "" #: includes/Backup/class-checksums.php:79 msgid "Unable to open zip for checksum verify." msgstr "" #. translators: %s: archive member path #: includes/Backup/class-checksums.php:95 #: includes/Restore/class-archive-check.php:407 #, php-format msgid "Missing archive member for checksum: %s" msgstr "" #. translators: %s: archive member path #: includes/Backup/class-checksums.php:107 #, php-format msgid "Unable to read archive member: %s" msgstr "" #. translators: %s: archive member path #: includes/Backup/class-checksums.php:119 #: includes/Restore/class-archive-check.php:474 #, php-format msgid "Checksum mismatch: %s" msgstr "" #: includes/Backup/class-db-dumper.php:71 msgid "No database tables found for this site prefix." msgstr "" #. translators: %s: path #: includes/Backup/class-db-dumper.php:92 #, php-format msgid "Database table list working file is missing or corrupt: %s" msgstr "" #. translators: 1: table, 2: error #: includes/Backup/class-db-dumper.php:337 #: includes/Backup/class-db-dumper.php:367 #, php-format msgid "Database read failed for table %1$s: %2$s" msgstr "" #: includes/Backup/class-file-packer.php:146 msgid "File selection returned an invalid result." msgstr "" #. translators: %s: path #: includes/Backup/class-file-packer.php:235 #, php-format msgid "Database dump missing before file pack: %s" msgstr "" #. translators: %s: file path #: includes/Backup/class-file-packer.php:403 #, php-format msgid "Cannot read file (permission denied): %s" msgstr "" #: includes/Backup/class-file-walker.php:173 msgid "Unable to read directory" msgstr "" #: includes/Backup/class-zip-reader.php:78 msgid "Unable to open archive" msgstr "" #. translators: %s: path #: includes/Backup/class-zip-reader.php:102 #, php-format msgid "Not a zip archive (too small): %s" msgstr "" #. translators: %s: path #: includes/Backup/class-zip-reader.php:108 #, php-format msgid "Not a zip archive (end record missing): %s" msgstr "" #. translators: %s: path #: includes/Backup/class-zip-reader.php:130 #, php-format msgid "Archive is truncated (central directory out of range): %s" msgstr "" #: includes/Backup/class-zip-reader.php:155 msgid "Archive central directory is truncated." msgstr "" #: includes/Backup/class-zip-reader.php:159 msgid "Archive central directory is corrupt." msgstr "" #. translators: %s: entry #: includes/Backup/class-zip-reader.php:272 #, php-format msgid "Encrypted zip entries are not supported: %s" msgstr "" #. translators: 1: method, 2: entry #: includes/Backup/class-zip-reader.php:275 #, php-format msgid "Unsupported compression method %1$d for %2$s" msgstr "" #. translators: %s: entry #: includes/Backup/class-zip-reader.php:306 #, php-format msgid "Archive is truncated while reading %s" msgstr "" #. translators: %s: entry #: includes/Backup/class-zip-reader.php:312 #, php-format msgid "Corrupt compressed data in %s" msgstr "" #. translators: %s: entry #: includes/Backup/class-zip-reader.php:333 #, php-format msgid "CRC or size mismatch in archive member %s" msgstr "" #. translators: %s: entry #: includes/Backup/class-zip-reader.php:352 #, php-format msgid "Archive member is not stored uncompressed: %s" msgstr "" #. translators: %s: entry #: includes/Backup/class-zip-reader.php:366 #, php-format msgid "Archive member is unexpectedly large: %s" msgstr "" #. translators: %s: entry #: includes/Backup/class-zip-reader.php:389 #, php-format msgid "Corrupt local header for archive member %s" msgstr "" #: includes/Backup/class-zip-writer.php:121 msgid "This backup was started by an earlier version of the plugin and cannot be resumed safely. Please start a new backup." msgstr "" #. translators: 1: file name, 2: expected bytes, 3: actual bytes #: includes/Backup/class-zip-writer.php:162 #, php-format msgid "Backup working file %1$s is shorter than the last committed step (expected at least %2$d bytes, found %3$d). It was changed outside this backup; please start a new backup." msgstr "" #: includes/Backup/class-zip-writer.php:176 msgid "Unable to open backup archive for writing" msgstr "" #: includes/Backup/class-zip-writer.php:182 #: includes/Backup/class-zip-writer.php:425 msgid "Unable to rewind backup archive" msgstr "" #: includes/Backup/class-zip-writer.php:212 #: includes/Support/class-state-files.php:73 msgid "Unable to open working file for writing" msgstr "" #: includes/Backup/class-zip-writer.php:229 msgid "Unable to flush backup working files (disk full?)" msgstr "" #. translators: 1: file name, 2: expected bytes, 3: actual bytes #: includes/Backup/class-zip-writer.php:244 #, php-format msgid "Backup working file %1$s changed outside this step (expected %2$d bytes, found %3$d). Another request may be running the same backup; it was stopped to keep the archive consistent." msgstr "" #. translators: 1: expected entry, 2: requested entry #: includes/Backup/class-zip-writer.php:316 #, php-format msgid "Archive writer resumed with the wrong entry (expected %1$s, got %2$s)." msgstr "" #: includes/Backup/class-zip-writer.php:342 msgid "Unable to stat file" msgstr "" #: includes/Backup/class-zip-writer.php:372 msgid "Archive writer cannot start a new entry while another is still being written." msgstr "" #. translators: %s: entry name #: includes/Backup/class-zip-writer.php:397 #, php-format msgid "Invalid archive entry name (empty or contains control characters): %s" msgstr "" #: includes/Backup/class-zip-writer.php:437 msgid "Cannot finish the archive while an entry is still being written." msgstr "" #: includes/Backup/class-zip-writer.php:449 msgid "Unable to read archive directory working file" msgstr "" #: includes/Backup/class-zip-writer.php:454 msgid "Unable to write archive directory (disk full?)" msgstr "" #: includes/Backup/class-zip-writer.php:553 msgid "Archive writer could not resume a partially written file." msgstr "" #: includes/Backup/class-zip-writer.php:556 msgid "Unable to seek in file" msgstr "" #: includes/Backup/class-zip-writer.php:606 msgid "Archive writer cannot resume a compressed entry." msgstr "" #: includes/Backup/class-zip-writer.php:662 msgid "File grew beyond 4 GB while it was being archived." msgstr "" #: includes/Backup/class-zip-writer.php:741 msgid "Archive writer is not open" msgstr "" #: includes/Backup/class-zip-writer.php:749 #: includes/Restore/class-archive-check.php:288 #: includes/Support/class-state-files.php:80 msgid "Short write to working file (disk full?)" msgstr "" #: includes/Backup/class-zip-writer.php:771 msgid "Unable to write backup archive (disk full?)" msgstr "" #: includes/class-plugin.php:136 msgid "Every five minutes (007AJ Backup Restore Verifier)" msgstr "" #: includes/class-plugin.php:142 #: includes/Jobs/class-scheduler.php:50 msgid "Once Weekly (007AJ Backup Restore Verifier)" msgstr "" #. translators: 1: phase, 2: error message, 3: source file and line #: includes/Jobs/class-job-error.php:34 #, php-format msgid "[%1$s] %2$s (at %3$s)" msgstr "" #. translators: 1: phase, 2: error message, 3: source file and line #: includes/Jobs/class-job-error.php:50 #, php-format msgid "[%1$s] PHP fatal error: %2$s (at %3$s)" msgstr "" #. translators: %s: database error #: includes/Jobs/class-job-repository.php:307 #, php-format msgid "Could not save job progress to the database: %s" msgstr "" #: includes/Jobs/class-job-repository.php:308 msgid "unknown database error" msgstr "" #. translators: %s: cursor or result #: includes/Jobs/class-job-repository.php:334 #, php-format msgid "Job %s could not be encoded as JSON." msgstr "" #. translators: 1: cursor or result, 2: size, 3: limit, 4: key list #: includes/Jobs/class-job-repository.php:352 #, php-format msgid "Job %1$s is too large to store (%2$s, limit %3$s). Largest keys: %4$s" msgstr "" #: includes/Jobs/class-job-runner.php:129 #: includes/Jobs/class-job-runner.php:208 msgid "Unable to prepare working directory." msgstr "" #: includes/Jobs/class-job-runner.php:136 #: includes/Jobs/class-job-runner.php:215 msgid "Another backup or restore job is already in progress." msgstr "" #: includes/Jobs/class-job-runner.php:179 msgid "Failed to create backup job." msgstr "" #: includes/Jobs/class-job-runner.php:223 #: includes/Restore/class-restore-driver.php:148 msgid "Missing artifact_id for restore." msgstr "" #: includes/Jobs/class-job-runner.php:251 msgid "Failed to create restore job." msgstr "" #: includes/Jobs/class-job-runner.php:284 msgid "Another request is already advancing this job; it will continue shortly." msgstr "" #: includes/Jobs/class-job-runner.php:313 msgid "No claimable job." msgstr "" #: includes/Jobs/class-job-runner.php:344 msgid "Global lock held by another worker." msgstr "" #: includes/Jobs/class-job-runner.php:354 #: includes/Jobs/class-job-runner.php:363 msgid "No driver for job type." msgstr "" #: includes/Jobs/class-job-runner.php:517 msgid "Job exceeded maximum tick limit." msgstr "" #: includes/Jobs/class-scheduler.php:131 msgid "Not scheduled" msgstr "" #: includes/Restore/class-archive-check.php:79 msgid "Unable to create validation working directory" msgstr "" #. translators: %s: path #: includes/Restore/class-archive-check.php:102 #, php-format msgid "Artifact zip is missing or unreadable: %s" msgstr "" #. translators: %s: file name #: includes/Restore/class-archive-check.php:117 #, php-format msgid "Archive file checksum does not match the stored record: %s" msgstr "" #. translators: %s: entry #: includes/Restore/class-archive-check.php:215 #, php-format msgid "Zip-slip / unsafe archive path rejected: %s" msgstr "" #. translators: %s: archive member path #: includes/Restore/class-archive-check.php:219 #: includes/Restore/class-archive-check.php:383 #, php-format msgid "Duplicate archive path rejected: %s" msgstr "" #: includes/Restore/class-archive-check.php:258 msgid "manifest.json missing from artifact." msgstr "" #: includes/Restore/class-archive-check.php:261 msgid "checksums.sha256 missing from artifact." msgstr "" #: includes/Restore/class-archive-check.php:268 msgid "manifest.json is not valid JSON." msgstr "" #. translators: %s: format string #: includes/Restore/class-archive-check.php:272 #, php-format msgid "Unsupported archive format: %s" msgstr "" #: includes/Restore/class-archive-check.php:281 msgid "Unable to write working file" msgstr "" #: includes/Restore/class-archive-check.php:308 msgid "Manifest integrity hash does not match checksums.sha256 payload list." msgstr "" #: includes/Restore/class-archive-check.php:358 msgid "checksums.sha256 has no valid entries." msgstr "" #: includes/Restore/class-archive-check.php:401 msgid "checksums.sha256 lists itself; the checksum list is not valid." msgstr "" #. translators: %s: archive member path #: includes/Restore/class-archive-check.php:404 #, php-format msgid "Duplicate checksum entry rejected: %s" msgstr "" #. translators: %s: archive member path #: includes/Restore/class-archive-check.php:421 #, php-format msgid "Archive member has no checksum entry: %s" msgstr "" #: includes/Restore/class-archive-check.php:433 msgid "The checksum list and the archive members do not match one to one." msgstr "" #. translators: %s: file name #: includes/Restore/class-archive-check.php:507 #, php-format msgid "Archive was not validated before restore: %s" msgstr "" #. translators: %s: file name #: includes/Restore/class-archive-check.php:511 #, php-format msgid "Archive changed after validation; restore stopped: %s" msgstr "" #. translators: %s: path #: includes/Restore/class-db-applier.php:51 #, php-format msgid "Database dump file is not readable: %s" msgstr "" #: includes/Restore/class-db-applier.php:72 msgid "Unable to open database dump for apply." msgstr "" #: includes/Restore/class-db-applier.php:90 msgid "A single SQL statement in the dump is larger than 256 MB." msgstr "" #: includes/Restore/class-db-applier.php:107 #: includes/Restore/class-db-applier.php:132 msgid "Unknown DB error." msgstr "" #. translators: 1: DB error, 2: byte offset, 3: statement start #: includes/Restore/class-db-applier.php:110 #, php-format msgid "Database apply failed: %1$s (dump offset %2$d, statement: %3$s)" msgstr "" #. translators: %s: DB error #: includes/Restore/class-db-applier.php:135 #, php-format msgid "Database apply failed: %s" msgstr "" #. translators: %s: zip entry #: includes/Restore/class-file-applier.php:198 #, php-format msgid "Rejected unsafe zip entry during extract: %s" msgstr "" #. translators: %s: zip entry #: includes/Restore/class-file-applier.php:204 #, php-format msgid "Path jail rejected extract target for: %s" msgstr "" #: includes/Restore/class-file-applier.php:208 msgid "Failed creating destination directory during restore" msgstr "" #. translators: %s: zip entry #: includes/Restore/class-file-applier.php:212 #, php-format msgid "Extract destination escaped allowed root: %s" msgstr "" #. translators: %s: zip entry #: includes/Restore/class-file-applier.php:252 #, php-format msgid "Archive member was not validated; restore stopped: %s" msgstr "" #: includes/Restore/class-file-applier.php:260 #: includes/Restore/class-file-applier.php:303 msgid "Failed writing restored file" msgstr "" #: includes/Restore/class-file-applier.php:272 msgid "Short write while restoring file (disk full?)" msgstr "" #. translators: %s: zip entry #: includes/Restore/class-file-applier.php:296 #, php-format msgid "Restored file does not match its validated checksum; restore stopped: %s" msgstr "" #: includes/Restore/class-file-applier.php:337 msgid "Path jail rejected delete target during chain restore." msgstr "" #: includes/Restore/class-maintenance.php:54 msgid "Unable to enter maintenance mode (.maintenance write failed)." msgstr "" #: includes/Restore/class-maintenance.php:79 msgid "Unable to clear maintenance mode (.maintenance delete failed)." msgstr "" #. translators: %s: phase name #: includes/Restore/class-restore-driver.php:108 #, php-format msgid "Unknown restore phase: %s" msgstr "" #. translators: %s: error #: includes/Restore/class-restore-driver.php:125 #, php-format msgid "rollback failed: %s" msgstr "" #: includes/Restore/class-restore-driver.php:158 msgid "Local storage unavailable." msgstr "" #: includes/Restore/class-restore-driver.php:162 msgid "Artifact path failed storage jail check." msgstr "" #: includes/Restore/class-restore-driver.php:202 msgid "Restore chain validation failed." msgstr "" #: includes/Restore/class-restore-driver.php:216 msgid "Chain archive path failed storage jail check." msgstr "" #: includes/Restore/class-restore-driver.php:292 msgid "No restore components selected." msgstr "" #: includes/Restore/class-restore-driver.php:354 msgid "Maintenance enter failed." msgstr "" #: includes/Restore/class-restore-driver.php:527 msgid "The prepared database was not made from the validated backup archive; nothing was applied to the database." msgstr "" #: includes/Restore/class-restore-driver.php:547 msgid "The prepared database file changed after it was checked; nothing was applied to the database." msgstr "" #: includes/Restore/class-restore-driver.php:606 msgid "Post-restore integrity check failed." msgstr "" #: includes/Restore/class-restore-driver.php:625 msgid "Post-restore verification failed." msgstr "" #: includes/Restore/class-restore-driver.php:779 msgid "Restore failed." msgstr "" #. translators: %s: error #: includes/Restore/class-restore-driver.php:781 #, php-format msgid "database rollback failed: %s" msgstr "" #: includes/Restore/class-restore-driver.php:871 msgid "The database in this backup is encrypted and cannot be restored by this plugin because the encryption module is not available." msgstr "" #: includes/Restore/class-restore-driver.php:873 msgid "database/dump.sql missing from artifact." msgstr "" #: includes/Restore/class-restore-driver.php:890 msgid "Failed writing extracted dump.sql" msgstr "" #: includes/Restore/class-restore-driver.php:902 msgid "Short write while extracting dump.sql (disk full?)" msgstr "" #: includes/Restore/class-restore-driver.php:919 msgid "database/dump.sql does not match its validated checksum; restore stopped." msgstr "" #. translators: %s: path #: includes/Restore/class-restore-driver.php:983 #, php-format msgid "Post-restore checksum mismatch: %s" msgstr "" #: includes/Restore/class-snapshot.php:53 msgid "Unable to create snapshot directory." msgstr "" #: includes/Restore/class-snapshot.php:211 msgid "Unable to create directory" msgstr "" #: includes/Restore/class-snapshot.php:222 msgid "Unable to write file" msgstr "" #: includes/Restore/class-snapshot.php:242 msgid "Short write (disk full?)" msgstr "" #: includes/Restore/class-validator.php:33 msgid "Artifact zip is missing or unreadable." msgstr "" #: includes/Support/class-failure-mail.php:67 msgid "Unknown error" msgstr "" #. translators: 1: site name, 2: job id #: includes/Support/class-failure-mail.php:75 #, php-format msgid "[%1$s] 007AJ Backup Restore Verifier job #%2$d failed" msgstr "" #. translators: %s: site name #: includes/Support/class-failure-mail.php:82 #, php-format msgid "Site: %s" msgstr "" #. translators: %s: site URL #: includes/Support/class-failure-mail.php:84 #, php-format msgid "URL: %s" msgstr "" #. translators: %d: job ID #: includes/Support/class-failure-mail.php:86 #, php-format msgid "Job ID: %d" msgstr "" #. translators: %s: job type #: includes/Support/class-failure-mail.php:88 #, php-format msgid "Type: %s" msgstr "" #. translators: %s: job phase #: includes/Support/class-failure-mail.php:90 #, php-format msgid "Phase: %s" msgstr "" #: includes/Support/class-failure-mail.php:92 msgid "Error summary:" msgstr "" #: includes/Support/class-failure-mail.php:95 msgid "Recent log lines:" msgstr "" #: includes/Support/class-failure-mail.php:98 msgid "This message was sent by 007AJ Backup Restore Verifier via wp_mail. No external email service is used." msgstr "" #: includes/Support/class-privacy.php:54 msgid "What this plugin stores on your site" msgstr "" #: includes/Support/class-privacy.php:55 msgid "Backup archives: zip files in the uploads directory, in uploads/brverify-working/. An archive contains a copy of the site database (including user accounts, e-mail addresses, comments and any other personal data the site holds) and, depending on the components chosen for the backup, plugin, theme and upload files. By default the newest 3 backups are kept and older ones are deleted automatically (Settings, Retention; pre-update backups have their own cap)." msgstr "" #: includes/Support/class-privacy.php:56 msgid "Job history and logs: the plugin tables record the job type, status, progress, timestamps, file names and error messages. They are not intended to hold personal data." msgstr "" #: includes/Support/class-privacy.php:57 msgid "Settings: schedule, retention, destinations and an optional notification e-mail address." msgstr "" #: includes/Support/class-privacy.php:60 msgid "External services: this edition does not contact any external service, sets no cookies and collects no usage statistics. The \"Upgrade to Pro\" links open 007aj.com in your browser only when you click it." msgstr "" #: includes/Support/class-privacy.php:71 msgid "E-mail" msgstr "" #: includes/Support/class-privacy.php:72 msgid "When a backup or restore job fails, one e-mail with the site name, the site URL, the job type and an error summary is sent with wp_mail() to the notification address in the settings, or to the site administrator e-mail if that field is empty. The administrator e-mail is read from WordPress and is not copied into the plugin settings." msgstr "" #: includes/Support/class-privacy.php:73 msgid "Deleting the plugin" msgstr "" #: includes/Support/class-privacy.php:74 msgid "Deleting the plugin always removes its scheduled events and temporary data. Settings, tables and backup archives are kept unless \"Delete all data when the plugin is deleted\" is ticked under Settings; with that option on, all plugin options, tables, user-meta and the backup folder are removed." msgstr "" #: includes/Support/class-privacy.php:75 msgid "Personal data requests" msgstr "" #: includes/Support/class-privacy.php:76 msgid "The WordPress export and erase tools cover the notification e-mail address, the per-user notice flag (where that notice exists) and any log row that contains the e-mail address. Existing backup archives are not rewritten: they keep a copy of the site as it was when each backup was made until the retention setting removes them or you delete them." msgstr "" #: includes/Support/class-privacy.php:131 #: includes/Support/class-privacy.php:146 msgid "007AJ Backup Restore Verifier settings" msgstr "" #: includes/Support/class-privacy.php:135 msgid "Notification e-mail address" msgstr "" #: includes/Support/class-privacy.php:150 msgid "Plugin notice dismissed" msgstr "" #: includes/Support/class-privacy.php:151 msgid "Yes" msgstr "" #: includes/Support/class-privacy.php:160 msgid "007AJ Backup Restore Verifier log entries" msgstr "" #: includes/Support/class-privacy.php:164 msgid "Date" msgstr "" #: includes/Support/class-privacy.php:168 msgid "Message" msgstr "" #: includes/Support/class-privacy.php:232 msgid "007AJ Backup Restore Verifier: existing backup archives are not modified. They hold a copy of the site as it was when each backup was made and are removed by the retention setting or when you delete them." msgstr "" #: includes/Support/class-settings.php:290 msgid "Disabled (manual only)" msgstr "" #: includes/Support/class-settings.php:291 msgid "Hourly" msgstr "" #: includes/Support/class-settings.php:292 msgid "Twice daily" msgstr "" #: includes/Support/class-settings.php:293 msgid "Daily" msgstr "" #: includes/Support/class-settings.php:294 msgid "Weekly" msgstr "" #. translators: %s: directory #: includes/Support/class-state-files.php:39 #, php-format msgid "Unable to create working state directory: %s" msgstr "" #: includes/Support/class-state-files.php:110 msgid "Unable to encode a working state row." msgstr "" #: includes/Support/class-state-files.php:137 #: includes/Support/class-state-files.php:215 msgid "Unable to open working file for reading" msgstr "" #: includes/Support/class-state-files.php:141 msgid "Unable to seek in working file" msgstr "" #. translators: 1: file, 2: offset #: includes/Support/class-state-files.php:173 #, php-format msgid "Corrupt working state row in %1$s at byte %2$d." msgstr "" #: includes/Support/class-state-files.php:248 msgid "Unable to write working file (disk full?)" msgstr "" #: includes/Support/class-state-files.php:253 msgid "Unable to replace working file" msgstr "" #: includes/Support/class-state-files.php:275 msgid "Unable to truncate working file" msgstr "" #. translators: %s: free space #: includes/Support/class-state-files.php:362 #, php-format msgid "[free disk space: %s]" msgstr "" #: includes/Updates/class-pre-update.php:370 msgid "Multisite is not supported; no pre-update backup was taken." msgstr "" #: includes/Updates/class-pre-update.php:378 msgid "007AJ Backup Restore Verifier tables are missing; no pre-update backup was taken." msgstr "" #. translators: 1: artifact id, 2: minutes #: includes/Updates/class-pre-update.php:391 #, php-format msgid "Skipped: backup #%1$d is newer than %2$d minute(s)." msgstr "" #: includes/Updates/class-pre-update.php:466 msgid "Pre-update backup completed." msgstr "" #: includes/Updates/class-pre-update.php:468 msgid "Local backup succeeded, but at least one remote destination failed." msgstr "" #: includes/Updates/class-pre-update.php:478 msgid "The pre-update backup failed." msgstr "" #: includes/Updates/class-pre-update.php:485 msgid "The pre-update backup did not finish in time; it will keep running in the background." msgstr "" #: includes/Updates/class-pre-update.php:498 msgid "Another backup or restore is in progress; no pre-update backup was started." msgstr "" #. translators: %s: failure message #: includes/Updates/class-pre-update.php:683 #, php-format msgid "Update blocked: the 007AJ Backup Restore Verifier pre-update backup did not complete (%s). Fix the backup or disable \"block update if backup fails\" and try again." msgstr ""