# Copyright (C) 2026 Luke W
# This file is distributed under the GPLv2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Upgrade Pilot 1.0.9\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/upgrade-pilot\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2026-07-14T21:07:27+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: upgrade-pilot\n"

#. Plugin Name of the plugin
#: upgrade-pilot.php
#: includes/class-upilot-admin.php:78
#: includes/class-upilot-admin.php:79
#: includes/class-upilot-admin.php:279
msgid "Upgrade Pilot"
msgstr ""

#. Plugin URI of the plugin
#: upgrade-pilot.php
msgid "https://buildsbyluke.com/plugins/upgrade-pilot"
msgstr ""

#. Description of the plugin
#: upgrade-pilot.php
msgid "Know when a plugin changes hands, is abandoned, or is closed, and freeze its updates. Plus a readiness report and PHP compatibility scan for your next WordPress or PHP upgrade. It never updates, installs, or deactivates anything."
msgstr ""

#. Author of the plugin
#: upgrade-pilot.php
msgid "Luke W"
msgstr ""

#. Author URI of the plugin
#: upgrade-pilot.php
msgid "https://buildsbyluke.com"
msgstr ""

#: admin/views/dashboard.php:20
msgid "Upgrade Pilot — Readiness Report"
msgstr ""

#: admin/views/dashboard.php:25
msgid "Run your first scan"
msgstr ""

#. translators: 1: target PHP version, 2: current PHP version.
#: admin/views/dashboard.php:30
#, php-format
msgid "Readiness target: PHP %1$s (this server currently runs PHP %2$s). Deterministic checks are labelled FACT; static-analysis results are ADVISORY and never block your verdict."
msgstr ""

#: admin/views/dashboard.php:38
msgid "Scan in progress…"
msgstr ""

#: admin/views/dashboard.php:38
#: includes/class-upilot-admin.php:262
msgid "Run full readiness scan"
msgstr ""

#. translators: 1: done count, 2: total count.
#: admin/views/dashboard.php:47
#, php-format
msgid "%1$d / %2$d files"
msgstr ""

#. translators: %s: human time diff.
#: admin/views/dashboard.php:61
#, php-format
msgid "Report assembled %s ago."
msgstr ""

#: admin/views/dashboard.php:70
msgid "Server environment"
msgstr ""

#: admin/views/dashboard.php:70
#: admin/views/dashboard.php:90
msgctxt "evidence tier badge"
msgid "FACT"
msgstr ""

#: admin/views/dashboard.php:75
msgid "Check"
msgstr ""

#: admin/views/dashboard.php:76
msgid "Result"
msgstr ""

#: admin/views/dashboard.php:90
msgid "Installed plugins vs WordPress.org"
msgstr ""

#: admin/views/dashboard.php:115
msgid "No plugin data yet — the cross-reference runs with the readiness scan."
msgstr ""

#. translators: %d: plugin count.
#: admin/views/dashboard.php:122
#, php-format
msgid "%d WordPress.org plugin looks healthy."
msgid_plural "%d WordPress.org plugins look healthy."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: plugin count.
#: admin/views/dashboard.php:129
#, php-format
msgid "%d external/premium plugin is covered by the code scan only."
msgid_plural "%d external/premium plugins are covered by the code scan only."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: plugin count.
#: admin/views/dashboard.php:137
#, php-format
msgid "%d plugin could not be verified right now (WordPress.org unreachable)."
msgid_plural "%d plugins could not be verified right now (WordPress.org unreachable)."
msgstr[0] ""
msgstr[1] ""

#: admin/views/dashboard.php:148
#: admin/views/trust.php:61
#: admin/views/trust.php:116
msgid "Plugin"
msgstr ""

#: admin/views/dashboard.php:149
#: admin/views/scan.php:61
msgid "Finding"
msgstr ""

#: admin/views/dashboard.php:162
#: admin/views/trust.php:134
msgid "inactive"
msgstr ""

#. translators: %d: count of healthy plugins.
#: admin/views/dashboard.php:175
#, php-format
msgid "%d more plugin checked out clean and is not listed."
msgid_plural "%d more plugins checked out clean and are not listed."
msgstr[0] ""
msgstr[1] ""

#: admin/views/dashboard.php:183
msgid "Static PHP compatibility scan"
msgstr ""

#: admin/views/dashboard.php:183
#: admin/views/scan.php:18
msgctxt "evidence tier badge"
msgid "ADVISORY"
msgstr ""

#: admin/views/dashboard.php:185
msgid "Not run yet. The scan reads every plugin's PHP files locally (nothing leaves your server) and flags code that modern PHP removed or deprecated."
msgstr ""

#. translators: 1: error count, 2: warning count, 3: suppressed count.
#: admin/views/dashboard.php:192
#, php-format
msgid "%1$d possible errors and %2$d warnings found (%3$d suppressed by you). Advisory findings are honest hints, not verdicts: version-guarded or dead code paths commonly trigger them."
msgstr ""

#: admin/views/dashboard.php:198
msgid "Review findings →"
msgstr ""

#. translators: %s: plugin slugs.
#: admin/views/dashboard.php:205
#, php-format
msgid "Partially scanned (size/file-count budgets): %s. Oversized or vendored files were skipped and are disclosed here rather than silently ignored."
msgstr ""

#: admin/views/dashboard.php:213
msgid "Update trust"
msgstr ""

#. translators: %d: critical events.
#: admin/views/dashboard.php:223
#, php-format
msgid "%d critical plugin event needs attention."
msgid_plural "%d critical plugin events need attention."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: warning events.
#: admin/views/dashboard.php:230
#, php-format
msgid "%d plugin change is worth a look."
msgid_plural "%d plugin changes are worth a look."
msgstr[0] ""
msgstr[1] ""

#: admin/views/dashboard.php:235
msgid "No unusual ownership or closure activity among your installed plugins."
msgstr ""

#: admin/views/dashboard.php:238
msgid "Open Update Trust →"
msgstr ""

#: admin/views/dashboard.php:242
msgid "Upgrade Pilot is read-only: it never modifies your site, your plugins, or your database content. Only plugin/theme slugs are sent to the WordPress.org API."
msgstr ""

#: admin/views/scan.php:18
msgid "Upgrade Pilot — Scan Results"
msgstr ""

#: admin/views/scan.php:21
msgid "No scan has been run yet."
msgstr ""

#: admin/views/scan.php:22
msgid "Go to the Readiness Report to start one"
msgstr ""

#: admin/views/scan.php:26
msgid "These findings come from reading your plugins' PHP code locally. They are honest hints, not verdicts: code behind version checks, dead code paths, and bundled polyfills commonly trigger them. A finding you have verified as harmless can be suppressed — suppressions persist across scans."
msgstr ""

#. translators: 1: done count, 2: total count.
#: admin/views/scan.php:34
#, php-format
msgid "Scan in progress (%1$d / %2$d files) — results below are partial."
msgstr ""

#: admin/views/scan.php:45
msgid "Clean scan — no compatibility flags in any plugin file"
msgstr ""

#: admin/views/scan.php:59
msgid "Severity"
msgstr ""

#: admin/views/scan.php:60
msgid "PHP"
msgstr ""

#: admin/views/scan.php:62
msgid "Location"
msgstr ""

#: admin/views/scan.php:63
#: admin/views/trust.php:63
msgid "Action"
msgstr ""

#: admin/views/scan.php:71
msgid "Possible error"
msgstr ""

#: admin/views/scan.php:71
msgid "Warning"
msgstr ""

#: admin/views/scan.php:73
msgid "Only relevant beyond your current target PHP version — not counted in your verdict."
msgstr ""

#: admin/views/scan.php:73
msgid "beyond target"
msgstr ""

#: admin/views/scan.php:87
msgid "Unsuppress"
msgstr ""

#: admin/views/scan.php:89
msgid "Suppress"
msgstr ""

#. translators: 1: error count, 2: warning count, 3: suppressed count.
#: admin/views/scan.php:103
#, php-format
msgid "Totals: %1$d possible errors · %2$d warnings · %3$d suppressed. Suppressing a rule hides it for that plugin only."
msgstr ""

#: admin/views/settings.php:19
msgid "Upgrade Pilot — Settings"
msgstr ""

#: admin/views/settings.php:22
msgid "Settings saved."
msgstr ""

#: admin/views/settings.php:29
msgid "Readiness targets"
msgstr ""

#: admin/views/settings.php:32
msgid "Target PHP version"
msgstr ""

#: admin/views/settings.php:39
msgid "The PHP version you plan to upgrade to. PHP 8.2 stops receiving security fixes on 2026-12-31; 8.4 is the current recommendation."
msgstr ""

#: admin/views/settings.php:43
msgid "Abandonment threshold"
msgstr ""

#: admin/views/settings.php:46
msgid "months without an update before a plugin is flagged as abandoned."
msgstr ""

#: admin/views/settings.php:50
msgid "Stale \"Tested up to\""
msgstr ""

#: admin/views/settings.php:53
msgid "WordPress major releases behind before a plugin is flagged as untested."
msgstr ""

#: admin/views/settings.php:57
msgid "Weekly re-scan"
msgstr ""

#: admin/views/settings.php:61
msgid "Automatically re-run the readiness scan once a week (Sunday night)."
msgstr ""

#: admin/views/settings.php:67
msgid "Alerts"
msgstr ""

#: admin/views/settings.php:70
msgid "Alert email"
msgstr ""

#: admin/views/settings.php:76
msgid "Critical alerts"
msgstr ""

#: admin/views/settings.php:80
msgid "Email immediately when an installed plugin is closed on WordPress.org or appears on a compromise advisory."
msgstr ""

#: admin/views/settings.php:85
msgid "Daily digest"
msgstr ""

#: admin/views/settings.php:89
msgid "Email a daily digest of non-critical changes (author/contributor changes, abandonment)."
msgstr ""

#: admin/views/settings.php:95
msgid "Save Settings"
msgstr ""

#: admin/views/trust.php:17
msgid "Author changed"
msgstr ""

#: admin/views/trust.php:18
msgid "Contributor(s) added"
msgstr ""

#: admin/views/trust.php:19
msgid "Contributor(s) removed"
msgstr ""

#: admin/views/trust.php:20
msgid "Closed on WordPress.org"
msgstr ""

#: admin/views/trust.php:21
msgid "Reopened on WordPress.org"
msgstr ""

#: admin/views/trust.php:22
msgid "Known-compromise advisory"
msgstr ""

#: admin/views/trust.php:23
msgid "Abandonment threshold crossed"
msgstr ""

#: admin/views/trust.php:27
msgid "Upgrade Pilot — Update Trust"
msgstr ""

#: admin/views/trust.php:30
msgid "Upgrade Pilot takes a daily snapshot of every installed plugin's public WordPress.org record and tells you when something changes: the author or contributors change (plugins that change hands deserve a closer look before their next update), the plugin is closed, or it crosses your abandonment threshold. This is change detection and closure alerting — an early-warning custody log, not malware scanning."
msgstr ""

#: admin/views/trust.php:34
msgid "Check now (fresh data)"
msgstr ""

#: admin/views/trust.php:37
msgid "Fetching fresh WordPress.org records…"
msgstr ""

#. translators: %s: human time diff.
#: admin/views/trust.php:44
#, php-format
msgid "Last check: %s ago."
msgstr ""

#: admin/views/trust.php:52
msgid "Recent events"
msgstr ""

#: admin/views/trust.php:54
msgid "No events recorded yet. After the first snapshot, changes will appear here."
msgstr ""

#: admin/views/trust.php:60
msgid "When"
msgstr ""

#: admin/views/trust.php:62
msgid "What happened"
msgstr ""

#. translators: %s: closure reason.
#. translators: %s: reason.
#: admin/views/trust.php:81
#: includes/class-upilot-alerts.php:96
#, php-format
msgid "Reason: %s"
msgstr ""

#: admin/views/trust.php:99
msgid "Acknowledge"
msgstr ""

#: admin/views/trust.php:109
msgid "Plugin custody & update freeze"
msgstr ""

#: admin/views/trust.php:111
msgid "Freezing a plugin blocks its AUTOMATIC updates only — manual updates stay visible and possible, and Upgrade Pilot warns loudly if a frozen plugin ever appears on a known-compromise advisory (never hold back a security fix)."
msgstr ""

#: admin/views/trust.php:117
msgid "Source"
msgstr ""

#: admin/views/trust.php:118
msgid "WordPress.org record"
msgstr ""

#: admin/views/trust.php:119
msgid "Auto-updates"
msgstr ""

#: admin/views/trust.php:140
msgid "WordPress.org"
msgstr ""

#: admin/views/trust.php:142
msgid "External"
msgstr ""

#: admin/views/trust.php:144
msgid "Unverified"
msgstr ""

#: admin/views/trust.php:151
msgid "Not monitored (no public wp.org record)."
msgstr ""

#: admin/views/trust.php:154
msgid "CLOSED on WordPress.org"
msgstr ""

#. translators: 1: author, 2: contributor count, 3: last-updated date.
#: admin/views/trust.php:160
#, php-format
msgid "Author: %1$s · %2$d contributor(s) · last plugin update %3$s"
msgstr ""

#: admin/views/trust.php:167
msgid "No snapshot yet — run \"Check now\"."
msgstr ""

#: admin/views/trust.php:173
msgid "n/a (this plugin)"
msgstr ""

#: admin/views/trust.php:181
msgid "held"
msgstr ""

#: admin/views/trust.php:182
msgid "Unfreeze"
msgstr ""

#: admin/views/trust.php:184
msgid "Freeze"
msgstr ""

#: includes/class-upilot-admin.php:86
#: includes/class-upilot-admin.php:322
msgid "Readiness Report"
msgstr ""

#: includes/class-upilot-admin.php:87
msgid "Scan Results"
msgstr ""

#: includes/class-upilot-admin.php:88
msgid "Update Trust"
msgstr ""

#: includes/class-upilot-admin.php:89
msgid "Settings"
msgstr ""

#: includes/class-upilot-admin.php:102
#: includes/class-upilot-admin.php:103
msgid "Reports & Automation (Pro)"
msgstr ""

#: includes/class-upilot-admin.php:168
#: includes/class-upilot-admin.php:334
#: includes/class-upilot-admin.php:346
#: includes/class-upilot-admin.php:360
#: includes/class-upilot-admin.php:377
msgid "You do not have permission to view this page."
msgstr ""

#: includes/class-upilot-admin.php:176
msgid "A branded, printable client report (PDF/print) — the document you attach to an upgrade quote."
msgstr ""

#: includes/class-upilot-admin.php:177
msgid "White-label it: your name, your colour, and no \"Generated by Upgrade Pilot\" footer."
msgstr ""

#: includes/class-upilot-admin.php:178
msgid "Email the readiness summary to your client, on a schedule you choose, to as many addresses as you like — and be told if it fails to send. (The daily digest to you, the site admin, is free.)"
msgstr ""

#: includes/class-upilot-admin.php:179
msgid "Slack and webhook alerts, the moment a plugin changes hands or is closed."
msgstr ""

#: includes/class-upilot-admin.php:180
msgid "Automatic update-hold policies: hold a plugin's automatic updates for a cooling-off period the moment it changes owner or gains a contributor. (Freezing a plugin yourself is free.)"
msgstr ""

#: includes/class-upilot-admin.php:181
msgid "Re-scan daily or twice daily. (The weekly re-scan is free.)"
msgstr ""

#: includes/class-upilot-admin.php:182
msgid "On a network, the Network Overview: every subsite's status on one screen, and which of your sites actually run a given plugin. (Upgrade Pilot itself runs on multisite for free.)"
msgstr ""

#: includes/class-upilot-admin.php:183
msgid "A private email channel with the developer."
msgstr ""

#: includes/class-upilot-admin.php:188
msgid "The readiness report and its verdict, with server checks: PHP version and security-support window, database version, memory limit, extensions, HTTPS."
msgstr ""

#: includes/class-upilot-admin.php:189
msgid "Every plugin AND theme cross-referenced against its WordPress.org record."
msgstr ""

#: includes/class-upilot-admin.php:190
msgid "The local PHP compatibility scan, with the target PHP version you choose."
msgstr ""

#: includes/class-upilot-admin.php:191
msgid "Findings labelled FACT or ADVISORY — an advisory never turns your verdict red — and per-finding suppression that survives future scans."
msgstr ""

#: includes/class-upilot-admin.php:192
msgid "The daily update-trust snapshot: author changes, new and removed contributors, closures with the reason given, reopenings, and your abandonment thresholds."
msgstr ""

#: includes/class-upilot-admin.php:193
msgid "The known-compromise advisory check, driven by a list bundled with the plugin — no external security feed."
msgstr ""

#: includes/class-upilot-admin.php:194
msgid "The per-plugin update freeze, and the warning that will not let you hide from a security fix."
msgstr ""

#: includes/class-upilot-admin.php:195
msgid "Email alerts: immediately when a plugin is closed or flagged, plus a daily digest of everything else."
msgstr ""

#: includes/class-upilot-admin.php:196
msgid "The weekly scheduled re-scan."
msgstr ""

#: includes/class-upilot-admin.php:197
msgid "Site Health integration and the dashboard widget."
msgstr ""

#: includes/class-upilot-admin.php:198
msgid "The machine-readable export: WP-CLI scan and report, each in table or JSON, plus a status command and the REST endpoint. Not gated, not metered, not licence-checked."
msgstr ""

#: includes/class-upilot-admin.php:199
msgid "Full multisite: network-wide storage, the Network Admin screens, and a freeze that holds across the whole network."
msgstr ""

#: includes/class-upilot-admin.php:203
msgid "Reports & Automation"
msgstr ""

#: includes/class-upilot-admin.php:206
msgid "This one screen is part of Upgrade Pilot Pro. Nothing else in the plugin is restricted, metered or licence-checked — Pro adds the reports and the delivery channels below, it does not switch anything on that is already installed."
msgstr ""

#: includes/class-upilot-admin.php:211
msgid "What Pro adds"
msgstr ""

#: includes/class-upilot-admin.php:220
msgid "What you already have, free and unlimited"
msgstr ""

#: includes/class-upilot-admin.php:231
msgid "See pricing"
msgstr ""

#: includes/class-upilot-admin.php:233
msgid "A 14-day trial is available, and it does not ask for a payment method."
msgstr ""

#: includes/class-upilot-admin.php:257
msgid "Scanning…"
msgstr ""

#: includes/class-upilot-admin.php:258
msgid "files"
msgstr ""

#: includes/class-upilot-admin.php:259
msgid "Scan complete. Reloading…"
msgstr ""

#: includes/class-upilot-admin.php:260
msgid "Scan tick failed — retrying…"
msgstr ""

#: includes/class-upilot-admin.php:261
msgid "Scan requests are failing. The scan continues in the background via WP-Cron — reload this page later to check progress."
msgstr ""

#: includes/class-upilot-admin.php:263
msgid "Provenance check complete. Reloading…"
msgstr ""

#: includes/class-upilot-admin.php:264
msgid "Could not complete the check — WordPress.org may be slow right now. Your daily scheduled check will retry automatically."
msgstr ""

#: includes/class-upilot-admin.php:292
msgid "No readiness report yet. Find out whether this site survives the next WordPress and PHP upgrade."
msgstr ""

#: includes/class-upilot-admin.php:294
msgid "Run first check"
msgstr ""

#: includes/class-upilot-admin.php:309
msgid "Open the full readiness report"
msgstr ""

#: includes/class-upilot-admin.php:435
#: includes/class-upilot-admin.php:474
#: includes/class-upilot-admin.php:499
#: includes/class-upilot-admin.php:530
msgid "You do not have permission to do this."
msgstr ""

#: includes/class-upilot-admin.php:517
msgid "Frozen manually from the Update Trust screen"
msgstr ""

#: includes/class-upilot-alerts.php:75
msgid "was CLOSED on WordPress.org"
msgstr ""

#: includes/class-upilot-alerts.php:76
msgid "appears on a known-compromise advisory list"
msgstr ""

#. translators: 1: site name, 2: plugin name.
#: includes/class-upilot-alerts.php:82
#, php-format
msgid "[%1$s] Plugin alert: %2$s needs attention"
msgstr ""

#. translators: 1: plugin name, 2: what happened.
#: includes/class-upilot-alerts.php:90
#, php-format
msgid "Upgrade Pilot detected that the plugin \"%1$s\" %2$s."
msgstr ""

#: includes/class-upilot-alerts.php:102
msgid "Review it here:"
msgstr ""

#: includes/class-upilot-alerts.php:104
msgid "Closed plugins receive no further updates through the directory. If the closure reason is a security issue, consider deactivating the plugin until a fix ships."
msgstr ""

#. translators: 1: site name, 2: number of events.
#: includes/class-upilot-alerts.php:123
#, php-format
msgid "[%1$s] Upgrade Pilot digest: %2$d plugin change(s)"
msgstr ""

#: includes/class-upilot-alerts.php:129
msgid "author changed"
msgstr ""

#: includes/class-upilot-alerts.php:130
msgid "new contributor(s) added"
msgstr ""

#: includes/class-upilot-alerts.php:131
msgid "contributor(s) removed"
msgstr ""

#: includes/class-upilot-alerts.php:132
msgid "was reopened on WordPress.org"
msgstr ""

#: includes/class-upilot-alerts.php:136
msgid "Changes Upgrade Pilot noticed in the plugins installed on your site:"
msgstr ""

#: includes/class-upilot-alerts.php:151
msgid "Details and actions:"
msgstr ""

#: includes/class-upilot-alerts.php:153
msgid "A change of author or contributors is usually a legitimate sale or team change — but plugins that change hands deserve a closer look before their next update runs. You can freeze updates per plugin from the Update Trust screen."
msgstr ""

#: includes/class-upilot-compromise-list.php:63
msgid "This plugin appears on the bundled list of plugins named in public security advisories."
msgstr ""

#: includes/class-upilot-freeze.php:117
msgid "Upgrade Pilot is holding automatic updates for this plugin (recent ownership/trust event). Updating manually overrides the hold — review the Update Trust screen first."
msgstr ""

#. translators: 1: plugin name, 2: the reason WordPress.org gave, e.g. "Security Issue".
#: includes/class-upilot-freeze.php:321
#, php-format
msgid "Upgrade Pilot security warning: you are holding updates for \"%1$s\", and WordPress.org has closed it (%2$s)."
msgstr ""

#: includes/class-upilot-freeze.php:326
msgid "A closed plugin gets no further fixes through the directory. Unfreeze and update it if a fix exists, or remove it. Do not leave it frozen."
msgstr ""

#. translators: %s: plugin name.
#: includes/class-upilot-freeze.php:337
#, php-format
msgid "Upgrade Pilot security warning: updates for \"%s\" are frozen, but this plugin appears on a known-compromise advisory."
msgstr ""

#: includes/class-upilot-freeze.php:341
msgid "Unfreeze and update it (or deactivate it) as soon as possible. Never hold back a security fix."
msgstr ""

#: includes/class-upilot-freeze.php:357
msgid "Auto-updates held by Upgrade Pilot"
msgstr ""

#: includes/class-upilot-metadata-check.php:91
msgid "Not hosted on WordPress.org (premium or custom). Static scan still applies; metadata checks are skipped."
msgstr ""

#: includes/class-upilot-metadata-check.php:96
#: includes/class-upilot-metadata-check.php:128
msgid "Could not verify against WordPress.org right now (API unreachable). No conclusions drawn."
msgstr ""

#: includes/class-upilot-metadata-check.php:109
msgid "unknown reason"
msgstr ""

#. translators: 1: closure date, 2: reason.
#: includes/class-upilot-metadata-check.php:117
#, php-format
msgid "This plugin was closed on WordPress.org (%1$s). Reason: %2$s. It will receive no further updates through the plugin directory."
msgstr ""

#: includes/class-upilot-metadata-check.php:118
msgid "date unknown"
msgstr ""

#. translators: 1: required PHP, 2: target PHP.
#: includes/class-upilot-metadata-check.php:143
#, php-format
msgid "Declares it requires PHP %1$s — newer than your target PHP %2$s."
msgstr ""

#. translators: 1: tested version, 2: number of majors.
#: includes/class-upilot-metadata-check.php:164
#, php-format
msgid "Last tested on WordPress %1$s — %2$d or more major releases behind. It may still work, but nobody has vouched for it recently."
msgstr ""

#. translators: %d: months.
#: includes/class-upilot-metadata-check.php:179
#, php-format
msgid "Not updated in %d months. Abandoned plugins are the most common source of upgrade failures and security issues."
msgstr ""

#. translators: 1: tested version, 2: last updated date.
#: includes/class-upilot-metadata-check.php:194
#, php-format
msgid "Actively maintained (tested to WP %1$s, updated %2$s)."
msgstr ""

#: includes/class-upilot-metadata-check.php:265
msgid "Could not verify this theme against WordPress.org right now (API unreachable). No conclusions drawn."
msgstr ""

#: includes/class-upilot-metadata-check.php:271
msgid "Theme not hosted on WordPress.org (premium or custom). Metadata checks are skipped."
msgstr ""

#. translators: 1: PHP version the theme needs, 2: the target PHP version.
#: includes/class-upilot-metadata-check.php:287
#, php-format
msgid "This theme needs PHP %1$s, which is newer than your target of PHP %2$s."
msgstr ""

#. translators: %d: number of months.
#: includes/class-upilot-metadata-check.php:305
#, php-format
msgid "This theme has not been updated in %d months."
msgstr ""

#. translators: %s: last updated date.
#: includes/class-upilot-metadata-check.php:320
#, php-format
msgid "Theme is actively maintained (updated %s)."
msgstr ""

#: includes/class-upilot-ruleset.php:134
msgid "Uses the \"${var}\" string interpolation style, deprecated in PHP 8.2. Replace with \"{$var}\"."
msgstr ""

#: includes/class-upilot-ruleset.php:146
#: includes/class-upilot-ruleset.php:187
msgid "Uses the (real) cast, removed in PHP 8.0. Replace with (float)."
msgstr ""

#. translators: %s: variable name.
#: includes/class-upilot-ruleset.php:160
#, php-format
msgid "Uses curly-brace offset access (%s{...}), removed in PHP 8.0. Replace with square brackets."
msgstr ""

#. translators: 1: function name, 2: PHP version, 3: hint.
#: includes/class-upilot-ruleset.php:208
#, php-format
msgid "Calls %1$s(), removed in PHP %2$s — this line fatals if executed. %3$s"
msgstr ""

#. translators: 1: function name, 2: PHP version, 3: hint.
#: includes/class-upilot-ruleset.php:223
#, php-format
msgid "Calls %1$s(), deprecated since PHP %2$s. Still works today but will be removed in a future PHP. %3$s"
msgstr ""

#. translators: %s: function name.
#: includes/class-upilot-ruleset.php:243
#, php-format
msgid "Calls %s() without arguments, deprecated since PHP 8.3. Pass $this explicitly."
msgstr ""

#. translators: %s: parameter name.
#: includes/class-upilot-ruleset.php:436
#, php-format
msgid "Parameter %s has a type but defaults to null without being declared nullable — deprecated since PHP 8.4. Prefix the type with \"?\"."
msgstr ""

#: includes/class-upilot-server-check.php:140
#: includes/class-upilot-server-check.php:157
#: includes/class-upilot-server-check.php:172
#: includes/class-upilot-server-check.php:185
msgid "PHP version"
msgstr ""

#. translators: 1: current PHP version, 2: WordPress version, 3: minimum PHP version.
#: includes/class-upilot-server-check.php:144
#, php-format
msgid "This server runs PHP %1$s, but WordPress %2$s requires at least PHP %3$s. WordPress reports this as a fatal requirement."
msgstr ""

#. translators: 1: current PHP version, 2: offered WordPress version, 3: required PHP version.
#: includes/class-upilot-server-check.php:161
#, php-format
msgid "This server runs PHP %1$s. WordPress %2$s requires PHP %3$s, so this site cannot install that update until PHP is upgraded."
msgstr ""

#. translators: 1: current PHP version, 2: target PHP version.
#: includes/class-upilot-server-check.php:176
#, php-format
msgid "This server runs PHP %1$s. Your readiness target is PHP %2$s — the scan below checks whether your plugins are ready for it before you switch."
msgstr ""

#. translators: %s: current PHP version.
#: includes/class-upilot-server-check.php:189
#, php-format
msgid "This server already runs PHP %s, which meets your target."
msgstr ""

#: includes/class-upilot-server-check.php:207
#: includes/class-upilot-server-check.php:223
#: includes/class-upilot-server-check.php:237
#: includes/class-upilot-server-check.php:251
msgid "PHP security support"
msgstr ""

#. translators: %s: PHP branch.
#: includes/class-upilot-server-check.php:211
#, php-format
msgid "PHP %s is a current branch."
msgstr ""

#. translators: 1: PHP branch, 2: EOL date.
#: includes/class-upilot-server-check.php:227
#, php-format
msgid "PHP %1$s stopped receiving security fixes on %2$s. Unpatched PHP is a security risk — plan the upgrade now."
msgstr ""

#. translators: 1: PHP branch, 2: EOL date, 3: number of days.
#: includes/class-upilot-server-check.php:241
#, php-format
msgid "PHP %1$s reaches end of security support on %2$s — %3$d days from now. Use the scan below to prepare."
msgstr ""

#. translators: 1: PHP branch, 2: EOL date.
#: includes/class-upilot-server-check.php:255
#, php-format
msgid "PHP %1$s receives security fixes until %2$s."
msgstr ""

#: includes/class-upilot-server-check.php:287
#: includes/class-upilot-server-check.php:322
#: includes/class-upilot-server-check.php:337
msgid "Database version"
msgstr ""

#: includes/class-upilot-server-check.php:289
msgid "This site uses an alternative database backend through a db.php drop-in. WordPress treats such sites as compatible and does not apply its MySQL version requirement to them."
msgstr ""

#. translators: %s: WordPress version.
#: includes/class-upilot-server-check.php:310
#: includes/class-upilot-server-check.php:315
#, php-format
msgid "WordPress %s"
msgstr ""

#. translators: 1: engine, 2: version, 3: WordPress version phrase, 4: required version.
#: includes/class-upilot-server-check.php:326
#, php-format
msgid "%1$s %2$s is below the version %3$s requires (%4$s). WordPress will refuse to install the update until the database server is upgraded. Ask your host."
msgstr ""

#. translators: 1: engine, 2: version, 3: WordPress version phrase, 4: required version.
#: includes/class-upilot-server-check.php:341
#, php-format
msgid "%1$s %2$s meets the database requirement for %3$s (needs %4$s or newer)."
msgstr ""

#: includes/class-upilot-server-check.php:361
#: includes/class-upilot-server-check.php:373
msgid "PHP memory limit"
msgstr ""

#. translators: %s: memory limit.
#: includes/class-upilot-server-check.php:365
#, php-format
msgid "PHP memory limit is %s. 256M or higher is recommended before running major upgrades."
msgstr ""

#. translators: %s: memory limit.
#: includes/class-upilot-server-check.php:377
#, php-format
msgid "PHP memory limit is %s."
msgstr ""

#: includes/class-upilot-server-check.php:378
msgid "unlimited"
msgstr ""

#. translators: %s: extension name.
#: includes/class-upilot-server-check.php:400
#, php-format
msgid "PHP extension: %s"
msgstr ""

#. translators: %s: extension name.
#: includes/class-upilot-server-check.php:406
#, php-format
msgid "The required PHP extension \"%s\" is missing."
msgstr ""

#: includes/class-upilot-server-check.php:423
#: includes/class-upilot-server-check.php:434
msgid "Recommended PHP extensions"
msgstr ""

#. translators: %s: extension list.
#: includes/class-upilot-server-check.php:427
#, php-format
msgid "Missing recommended extensions: %s. Some features of WordPress or your plugins may not work."
msgstr ""

#: includes/class-upilot-server-check.php:436
msgid "All recommended PHP extensions are installed."
msgstr ""

#: includes/class-upilot-server-check.php:450
#: includes/class-upilot-server-check.php:452
msgid "HTTPS"
msgstr ""

#: includes/class-upilot-server-check.php:450
msgid "The site is served over HTTPS."
msgstr ""

#: includes/class-upilot-server-check.php:452
msgid "The site is not fully served over HTTPS."
msgstr ""

#: includes/class-upilot-site-health.php:42
msgid "Upgrade readiness (Upgrade Pilot)"
msgstr ""

#: includes/class-upilot-site-health.php:46
msgid "Plugin update trust (Upgrade Pilot)"
msgstr ""

#: includes/class-upilot-site-health.php:64
msgid "Your site looks ready for the next WordPress and PHP upgrades"
msgstr ""

#: includes/class-upilot-site-health.php:67
#: includes/class-upilot-site-health.php:139
msgid "Upgrades"
msgstr ""

#: includes/class-upilot-site-health.php:70
msgid "Upgrade Pilot found no confirmed blockers in its last readiness report."
msgstr ""

#: includes/class-upilot-site-health.php:74
msgid "View the readiness report"
msgstr ""

#: includes/class-upilot-site-health.php:80
msgid "No upgrade readiness report yet"
msgstr ""

#: includes/class-upilot-site-health.php:82
msgid "Run your first Upgrade Pilot readiness scan to learn whether this site is ready for the next WordPress and PHP versions."
msgstr ""

#: includes/class-upilot-site-health.php:87
msgid "Upgrade blockers were found on this site"
msgstr ""

#. translators: %s: headline, e.g. "2 confirmed blockers".
#: includes/class-upilot-site-health.php:92
#, php-format
msgid "Upgrade Pilot found: %s. These are deterministic findings (server requirements or closed plugins), not guesses."
msgstr ""

#: includes/class-upilot-site-health.php:97
msgid "Some items need review before your next upgrade"
msgstr ""

#. translators: %s: headline.
#: includes/class-upilot-site-health.php:102
#, php-format
msgid "Upgrade Pilot reports: %s."
msgstr ""

#: includes/class-upilot-site-health.php:136
msgid "No unusual plugin ownership or closure activity"
msgstr ""

#: includes/class-upilot-site-health.php:142
msgid "Upgrade Pilot watches the public WordPress.org record of your plugins for ownership changes and closures. Plugins and themes that have gone unmaintained are reported in the readiness report."
msgstr ""

#: includes/class-upilot-site-health.php:146
msgid "View update trust events"
msgstr ""

#: includes/class-upilot-site-health.php:155
msgid "A plugin on this site was closed or flagged — review it"
msgstr ""

#. translators: %d: number of critical events.
#: includes/class-upilot-site-health.php:160
#, php-format
msgid "%d critical plugin event needs your attention."
msgid_plural "%d critical plugin events need your attention."
msgstr[0] ""
msgstr[1] ""

#: includes/class-upilot-site-health.php:165
msgid "Some of your plugins changed hands recently"
msgstr ""

#. translators: %d: number of warning events.
#: includes/class-upilot-site-health.php:170
#, php-format
msgid "%d plugin change is worth a look before its next update runs."
msgid_plural "%d plugin changes are worth a look before their next updates run."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: number of confirmed blockers.
#: includes/class-upilot-verdict.php:99
#, php-format
msgid "%d confirmed blocker"
msgid_plural "%d confirmed blockers"
msgstr[0] ""
msgstr[1] ""

#. translators: %d: number of review items.
#: includes/class-upilot-verdict.php:107
#, php-format
msgid "%d item needs review"
msgid_plural "%d items need review"
msgstr[0] ""
msgstr[1] ""

#: includes/class-upilot-verdict.php:112
msgid "No blockers found"
msgstr ""
