# Copyright (C) 2026 GuardPress
# This file is distributed under the GPLv2 or later.
msgid ""
msgstr ""
"Project-Id-Version: AI CyberGuard - Firewall, Malware Scanner & Login Security 1.0.2\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ai-cyberguard\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-29T05:08:12+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.12.0\n"
"X-Domain: ai-cyberguard\n"

#. Plugin Name of the plugin
#: ai-cyberguard.php
msgid "AI CyberGuard - Firewall, Malware Scanner & Login Security"
msgstr ""

#. Plugin URI of the plugin
#. Author URI of the plugin
#: ai-cyberguard.php
msgid "https://guardpress.ai"
msgstr ""

#. Description of the plugin
#: ai-cyberguard.php
msgid "Complete AI-powered WordPress security: firewall, malware scanner, login protection, file integrity & safety snapshots — and more."
msgstr ""

#. Author of the plugin
#: ai-cyberguard.php
msgid "GuardPress"
msgstr ""

#: admin/class-admin-menu.php:109
#: admin/class-admin-menu.php:110
#: admin/class-admin-pro.php:1061
msgid "Dashboard"
msgstr ""

#: admin/class-admin-menu.php:118
#: admin/class-admin-menu.php:119
#: admin/views/class-view-settings.php:93
msgid "Settings & Security"
msgstr ""

#: admin/class-admin-menu.php:165
#: admin/class-admin-menu.php:189
msgid "Help & Documentation"
msgstr ""

#: admin/class-admin-menu.php:166
msgid "Help"
msgstr ""

#: admin/class-admin-menu.php:263
msgid "Security check failed."
msgstr ""

#: admin/class-admin-menu.php:267
#: includes/scanner/class-malware-scanner.php:3837
msgid "Insufficient permissions."
msgstr ""

#: admin/class-admin-menu.php:423
msgid "AI CyberGuard protects this site. Most of its work (file integrity, malware scanning, login security) runs locally on this server. Some optional features contact external services, and only when you enable or trigger them:"
msgstr ""

#: admin/class-admin-menu.php:425
msgid "WordPress.org APIs — to verify that core, plugin and theme files match the official releases during a scan."
msgstr ""

#: admin/class-admin-menu.php:426
msgid "guardpress.ai — only when the Threat Feed is enabled; a random installation ID and the plugin version are sent to download signature updates, not your site URL."
msgstr ""

#: admin/class-admin-menu.php:433
msgid "abuse.ch MalwareBazaar — only when the Threat Feed is enabled; during a scan, SHA-256 hashes of suspicious files are sent to check their reputation. No file contents, URLs or personal data are sent."
msgstr ""

#: admin/class-admin-menu.php:434
msgid "AI Analysis (guardpress.ai) — only when enabled; when you click Analyze, the file content (secrets redacted) plus the file name, its path relative to your site root, the file type, and your WordPress version are sent. The absolute server path and any username are not sent."
msgstr ""

#: admin/class-admin-menu.php:435
msgid "ipinfo.io — only if you turn on attack-origin (GeoIP) lookups; the attacker IP address is sent for country lookup."
msgstr ""

#: admin/class-admin-menu.php:436
msgid "Have I Been Pwned — only if you enable breached-password checks; only the first 5 characters of a password hash are sent (k-anonymity), never the password."
msgstr ""

#: admin/class-admin-menu.php:437
msgid "Cloudflare Turnstile — only if you enable it as the login CAPTCHA; the challenge runs in the visitor's browser, and to verify a solved challenge this server sends only its private secret key and the one-time challenge token to Cloudflare. The visitor's IP address is not sent."
msgstr ""

#: admin/class-admin-menu.php:541
#: includes/free-plus/admin-rescue/class-admin-rescue.php:137
#: includes/free-plus/admin-rescue/class-admin-rescue.php:152
#: includes/free-plus/ai-help/class-ai-help.php:137
#: includes/free-plus/ai-help/class-ai-help.php:946
#: includes/free-plus/captcha/class-captcha.php:817
#: includes/free-plus/digest/class-weekly-digest.php:247
#: includes/free-plus/digest/class-weekly-digest.php:263
#: includes/free-plus/hardening/class-hardening.php:246
#: includes/free-plus/hide-login/class-hide-login.php:393
#: includes/free-plus/hub/class-hub.php:154
#: includes/free-plus/livefeed/class-livefeed.php:73
#: includes/free-plus/quarantine/class-quarantine.php:1443
#: includes/free-plus/quarantine/class-quarantine.php:1462
#: includes/free-plus/quarantine/class-quarantine.php:2546
#: includes/free-plus/quarantine/class-quarantine.php:2759
#: includes/free-plus/quarantine/class-quarantine.php:3104
#: includes/free-plus/setup/class-setup-wizard.php:271
#: includes/free-plus/snapshot/class-snapshot.php:2060
#: includes/free-plus/snapshot/class-snapshot.php:2266
#: includes/free-plus/trust-badge/class-trust-badge.php:199
#: includes/free-plus/twofa/class-2fa.php:725
#: includes/free-plus/twofa/class-2fa.php:737
#: includes/free-plus/twofa/class-2fa.php:815
#: includes/free-plus/twofa/class-2fa.php:902
#: includes/free-plus/waf/class-waf.php:455
msgid "Permission denied."
msgstr ""

#: admin/class-admin-menu.php:544
msgid "Scanner unavailable."
msgstr ""

#. translators: %s: technical error detail.
#: admin/class-admin-menu.php:597
#, php-format
msgid "The database scan could not finish: %s"
msgstr ""

#. translators: %s: short reason ("wp-config variant", "SSH key", etc.)
#: admin/class-admin-menu.php:1128
#, php-format
msgid "Cannot view sensitive file (%s)."
msgstr ""

#: admin/class-admin-menu.php:1143
msgid "Not a readable regular file (it may be a special file such as a named pipe)."
msgstr ""

#. translators: %s: short reason ("wp-config variant", "SSH key", etc.)
#: admin/class-admin-menu.php:1310
#, php-format
msgid "Cannot analyze sensitive file (%s)."
msgstr ""

#: admin/class-admin-menu.php:1438
#: admin/views/class-view-scanner.php:2242
#: admin/views/class-view-scanner.php:3086
msgid "No attacks detected. Your site is secure!"
msgstr ""

#: admin/class-admin-menu.php:1448
#: admin/class-admin-menu.php:1655
#: admin/views/class-view-scanner.php:2282
#: admin/views/class-view-scanner.php:3062
msgid "No recent file changes detected."
msgstr ""

#: admin/class-admin-menu.php:1506
#: admin/class-admin-menu.php:1774
#: admin/views/class-view-scanner.php:3267
msgid "None"
msgstr ""

#: admin/class-admin-menu.php:1655
#: admin/views/class-view-scanner.php:2283
msgid "Monitoring wp-admin, wp-includes, themes & plugins for PHP/JS changes."
msgstr ""

#: admin/class-admin-menu.php:1680
#: admin/views/class-view-scanner.php:3225
#: admin/views/partials/buttons.php:2119
#: admin/views/partials/cards.php:62
#: admin/views/partials/tables.php:42
#: includes/admin-bar/class-admin-bar.php:106
#: includes/dashboard/class-dashboard-widget.php:91
msgid "Changed"
msgstr ""

#: admin/class-admin-menu.php:1685
#: admin/views/class-view-scanner.php:3230
#: admin/views/partials/cards.php:69
#: admin/views/partials/tables.php:43
#: includes/admin-bar/class-admin-bar.php:107
#: includes/dashboard/class-dashboard-widget.php:95
msgid "New"
msgstr ""

#: admin/class-admin-menu.php:1689
#: admin/views/class-view-scanner.php:3234
#: admin/views/partials/cards.php:76
#: admin/views/partials/tables.php:44
#: includes/admin-bar/class-admin-bar.php:108
#: includes/dashboard/class-dashboard-widget.php:99
msgid "Deleted"
msgstr ""

#: admin/class-admin-menu.php:1701
#: admin/class-admin-menu.php:1729
#: admin/views/class-view-scanner.php:3204
#: admin/views/class-view-scanner.php:3248
#: admin/views/partials/buttons.php:1261
#: admin/views/partials/tables.php:918
#: includes/scanner/class-threat-feed.php:754
msgid "ago"
msgstr ""

#. translators: %d is the number of seconds since the last attack
#. translators: %d is the number of seconds since the last attack.
#: admin/class-admin-menu.php:1849
#: admin/views/class-view-scanner.php:3391
#, php-format
msgid "%ds ago"
msgstr ""

#. translators: %d is the number of minutes since the last attack
#. translators: %d is the number of minutes since the last attack.
#: admin/class-admin-menu.php:1852
#: admin/views/class-view-scanner.php:3394
#, php-format
msgid "%dm ago"
msgstr ""

#. translators: %d is the number of hours since the last attack
#. translators: %d is the number of hours since the last attack.
#: admin/class-admin-menu.php:1855
#: admin/views/class-view-scanner.php:3397
#, php-format
msgid "%dh ago"
msgstr ""

#: admin/class-admin-menu.php:1857
#: admin/views/class-view-scanner.php:3399
msgid "> 24h"
msgstr ""

#. translators: %d is the number of file events that were cleared
#: admin/class-admin-menu.php:1930
#, php-format
msgid "%d file events cleared"
msgstr ""

#. translators: %d is the number of security events that were cleared
#: admin/class-admin-menu.php:2006
#, php-format
msgid "%d security events cleared"
msgstr ""

#: admin/class-admin-menu.php:2038
msgid "Login activity cleared"
msgstr ""

#. translators: %s: human-readable duration, e.g. "2 mins"
#: admin/class-admin-menu.php:2207
#, php-format
msgid "Another integrity scan is already running (started %s ago). Please wait for it to finish or use Cancel."
msgstr ""

#: admin/class-admin-menu.php:2231
msgid "Could not start the scan because its ownership record could not be saved (a temporary database problem). Please try again."
msgstr ""

#: admin/class-admin-menu.php:2273
#: includes/scanner/class-malware-scanner.php:1990
#: includes/scanner/class-malware-scanner.php:2007
msgid "This scan was started in another tab. Continue it from that tab, or wait for it to finish."
msgstr ""

#: admin/class-admin-menu.php:2323
#: admin/class-admin-menu.php:2337
#: includes/scanner/class-malware-scanner.php:2389
msgid "This scan was started in another tab. Finish it from that tab, or wait for it to complete."
msgstr ""

#: admin/class-admin-menu.php:2398
#: admin/class-admin-menu.php:2426
#: includes/scanner/class-malware-scanner.php:3473
#: includes/scanner/class-malware-scanner.php:3492
msgid "This scan was started in another tab. Cancel it from that tab, or wait for it to finish."
msgstr ""

#: admin/class-admin-menu.php:2406
#: includes/scanner/class-malware-scanner.php:3456
msgid "This scan was started in another tab. Cancel it from that tab, or wait for it to finish (a stuck scan clears itself automatically after 30 minutes)."
msgstr ""

#. translators: %s: human-readable duration
#: admin/class-admin-menu.php:2480
#, php-format
msgid "Another baseline build is already running (started %s ago). Please wait or cancel it."
msgstr ""

#: admin/class-admin-menu.php:2498
msgid "Could not start the baseline build because its ownership record could not be saved (a temporary database problem). Please try again."
msgstr ""

#: admin/class-admin-menu.php:2534
msgid "This baseline build was started in another tab. Continue it from that tab, or wait for it to finish."
msgstr ""

#: admin/class-admin-menu.php:2577
#: admin/class-admin-menu.php:2588
msgid "This baseline build was started in another tab. Finish it from that tab, or wait for it to complete."
msgstr ""

#: admin/class-admin-menu.php:2639
#: admin/class-admin-menu.php:2667
msgid "This baseline build was started in another tab. Cancel it from that tab, or wait for it to finish."
msgstr ""

#: admin/class-admin-menu.php:2647
msgid "This baseline build was started in another tab. Cancel it from that tab, or wait for it to finish (a stuck build clears itself automatically after 30 minutes)."
msgstr ""

#: admin/class-admin-pro.php:160
msgid "⭐ PRO Active"
msgstr ""

#: admin/class-admin-pro.php:160
msgid "⭐ Get Pro"
msgstr ""

#: admin/class-admin-pro.php:164
msgid "AI CyberGuard PRO"
msgstr ""

#: admin/class-admin-pro.php:639
msgid "One AI-Powered Plugin."
msgstr ""

#: admin/class-admin-pro.php:639
msgid "Your Entire AI Security Stack."
msgstr ""

#: admin/class-admin-pro.php:640
msgid "Firewall, malware scanner, cloud backup, instant recovery & real AI threat analysis — all in one. Replaces $500+/year of separate tools."
msgstr ""

#: admin/class-admin-pro.php:649
msgid "Developed with elite Israeli military-cyber expertise"
msgstr ""

#: admin/class-admin-pro.php:653
msgid "Real AI Code Analysis"
msgstr ""

#: admin/class-admin-pro.php:656
msgid "Lightning-Fast Scanning"
msgstr ""

#: admin/class-admin-pro.php:659
msgid "Military-Grade Protection"
msgstr ""

#: admin/class-admin-pro.php:662
msgid "Zero Performance Impact"
msgstr ""

#: admin/class-admin-pro.php:670
#: admin/class-admin-pro.php:741
#: admin/class-admin-pro.php:1092
#: admin/class-admin-pro.php:1458
msgid "Upgrade Now"
msgstr ""

#: admin/class-admin-pro.php:674
#: admin/class-admin-pro.php:1093
#: admin/class-admin-pro.php:1459
#: includes/dashboard/class-dashboard-widget.php:119
msgid "View Details"
msgstr ""

#: admin/class-admin-pro.php:694
msgid "PRO License Active"
msgstr ""

#. translators: %s is the active license plan name
#: admin/class-admin-pro.php:699
#, php-format
msgid "Plan: %s"
msgstr ""

#: admin/class-admin-pro.php:703
msgid "Deactivate"
msgstr ""

#: admin/class-admin-pro.php:708
msgid "Activate Your License"
msgstr ""

#: admin/class-admin-pro.php:709
msgid "Already purchased? Enter your license key below to unlock all PRO features."
msgstr ""

#: admin/class-admin-pro.php:714
#: admin/class-admin-pro.php:1503
#: admin/class-admin-pro.php:1507
msgid "Activate License"
msgstr ""

#: admin/class-admin-pro.php:728
#: admin/views/class-view-scanner.php:866
#: admin/views/partials/pro-features.php:427
msgid "Upgrade to AI CyberGuard PRO"
msgstr ""

#. translators: 1: highlighted "$179/year", 2: highlighted "every feature below"
#: admin/class-admin-pro.php:733
#, php-format
msgid "For just %1$s you unlock %2$s on your site"
msgstr ""

#: admin/class-admin-pro.php:735
msgid "every feature below"
msgstr ""

#: admin/class-admin-pro.php:739
msgid "1 WordPress site"
msgstr ""

#: admin/class-admin-pro.php:739
msgid "500 AI analyses / year"
msgstr ""

#: admin/class-admin-pro.php:739
msgid "1 year of updates"
msgstr ""

#: admin/class-admin-pro.php:739
msgid "priority email support"
msgstr ""

#: admin/class-admin-pro.php:740
msgid "Scroll down to compare FREE vs PRO"
msgstr ""

#: admin/class-admin-pro.php:743
msgid "Secure payment via Stripe"
msgstr ""

#: admin/class-admin-pro.php:744
msgid "7-day money-back guarantee"
msgstr ""

#: admin/class-admin-pro.php:750
msgid "What it replaces"
msgstr ""

#: admin/class-admin-pro.php:752
msgid "Premium security"
msgstr ""

#: admin/class-admin-pro.php:753
msgid "Cloud backup"
msgstr ""

#: admin/class-admin-pro.php:754
msgid "Vulnerability intelligence"
msgstr ""

#: admin/class-admin-pro.php:755
msgid "Uptime monitoring"
msgstr ""

#: admin/class-admin-pro.php:756
msgid "Staging environment"
msgstr ""

#: admin/class-admin-pro.php:759
msgid "Separately:"
msgstr ""

#: admin/class-admin-pro.php:760
#: admin/class-admin-pro.php:764
msgid "/year"
msgstr ""

#: admin/class-admin-pro.php:763
msgid "With AI CyberGuard PRO:"
msgstr ""

#: admin/class-admin-pro.php:765
msgid "Plus AI, instant recovery & more — that no one else offers at any price."
msgstr ""

#: admin/class-admin-pro.php:767
msgid "Based on third-party pricing as of June 1, 2026. Prices may change over time."
msgstr ""

#: admin/class-admin-pro.php:771
msgid "Need multiple licenses?"
msgstr ""

#: admin/class-admin-pro.php:774
msgid "Here's everything you get with PRO"
msgstr ""

#: admin/class-admin-pro.php:780
msgid "Exclusive Features — Only in AI CyberGuard"
msgstr ""

#: admin/class-admin-pro.php:781
msgid "Next-generation capabilities you won't find in other leading WordPress security plugins."
msgstr ""

#: admin/class-admin-pro.php:786
#: admin/class-admin-pro.php:794
#: admin/class-admin-pro.php:802
#: admin/class-admin-pro.php:810
#: admin/class-admin-pro.php:818
#: admin/class-admin-pro.php:826
#: admin/class-admin-pro.php:834
#: admin/class-admin-pro.php:842
#: admin/class-admin-pro.php:850
#: admin/class-admin-pro.php:858
#: admin/class-admin-pro.php:866
#: admin/class-admin-pro.php:874
#: admin/class-admin-pro.php:882
#: admin/class-admin-pro.php:890
#: admin/views/partials/pro-features.php:321
msgid "Exclusive"
msgstr ""

#: admin/class-admin-pro.php:788
#: admin/class-admin-pro.php:1271
#: admin/views/partials/pro-features.php:155
msgid "Emergency One-Click Recovery"
msgstr ""

#: admin/class-admin-pro.php:789
msgid "Recover your site even when WordPress is down or shows a white screen. Works without wp-admin access. One click restores core, plugins, and themes — including a DB-down fallback."
msgstr ""

#: admin/class-admin-pro.php:796
#: admin/class-admin-pro.php:948
#: admin/class-admin-pro.php:1011
#: admin/class-admin-pro.php:1351
#: admin/views/class-view-settings.php:1186
#: admin/views/partials/pro-features.php:165
msgid "Code DNA Fingerprinting"
msgstr ""

#: admin/class-admin-pro.php:797
msgid "Detects malware by analyzing code structure — not just signatures. Catches obfuscated, polymorphic, and zero-day threats that signature-based scanners miss entirely. Analyzes variable patterns, entropy levels, and obfuscation techniques in PHP and JavaScript files."
msgstr ""

#: admin/class-admin-pro.php:804
#: admin/class-admin-pro.php:946
#: admin/views/class-view-settings.php:1145
#: admin/views/partials/pro-features.php:167
msgid "AI Security Assistant"
msgstr ""

#: admin/class-admin-pro.php:805
msgid "Built-in AI chatbot in your admin panel. Ask security questions in plain language, get instant answers about alerts, and receive step-by-step fix guidance tailored to your site. Remembers conversation history and knows your specific configuration and installed plugins."
msgstr ""

#: admin/class-admin-pro.php:812
#: admin/class-admin-pro.php:977
#: admin/class-admin-pro.php:1241
#: admin/views/class-view-settings.php:1136
#: admin/views/partials/pro-features.php:172
msgid "Voice Call Alerts"
msgstr ""

#: admin/class-admin-pro.php:813
msgid "When a critical event happens, your phone rings. Not just another email or SMS — an actual automated phone call via your own Twilio account. Configurable severity levels so you only get called for what truly matters."
msgstr ""

#: admin/class-admin-pro.php:820
#: admin/class-admin-pro.php:1306
#: admin/views/class-view-settings.php:1169
#: admin/views/partials/pro-features.php:182
msgid "Attack Replay Analysis"
msgstr ""

#: admin/class-admin-pro.php:821
msgid "Don't just see \"attack blocked.\" Replay the entire attack sequence step by step. Related events are grouped into sessions with a visual timeline. Understand exactly what happened, investigate in minutes, and strengthen your defenses."
msgstr ""

#: admin/class-admin-pro.php:828
#: admin/class-admin-pro.php:1361
#: admin/views/partials/pro-features.php:169
msgid "Canary Files / Honeytokens"
msgstr ""

#: admin/class-admin-pro.php:829
msgid "Invisible decoy files planted in strategic locations across your site. If anyone touches them, you know instantly that you've been breached — before any real damage is done. Alerts via email, Slack, or any connected notification channel."
msgstr ""

#: admin/class-admin-pro.php:836
#: admin/class-admin-pro.php:949
#: admin/class-admin-pro.php:1321
#: admin/views/class-view-settings.php:1153
#: admin/views/partials/pro-features.php:175
msgid "Predictive Threat Score"
msgstr ""

#: admin/class-admin-pro.php:837
msgid "AI-powered risk prediction based on your site's state, plugin vulnerabilities, attack trends, and historical patterns. Know about threats before they happen."
msgstr ""

#: admin/class-admin-pro.php:844
#: admin/class-admin-pro.php:1391
#: admin/views/partials/pro-features.php:170
msgid "Dark Web / Breach Monitoring"
msgstr ""

#: admin/class-admin-pro.php:845
msgid "Monitors if your admin credentials have been leaked in data breaches via HaveIBeenPwned. Automatic daily checks on all admin emails. Get alerted before attackers use your stolen passwords — so you can change them first."
msgstr ""

#: admin/class-admin-pro.php:852
#: admin/class-admin-pro.php:1376
#: admin/views/class-view-settings.php:1119
#: admin/views/partials/pro-features.php:158
msgid "Security Time Machine"
msgstr ""

#: admin/class-admin-pro.php:853
msgid "Full version history for every security-critical file with visual diff comparison. Restore any file to any point in time — not just from backups, but from a complete timeline."
msgstr ""

#: admin/class-admin-pro.php:860
msgid "Own Your Backups + Safe Restore Sandbox"
msgstr ""

#: admin/class-admin-pro.php:861
msgid "Back up to YOUR own cloud — Google Drive, Dropbox or Amazon S3 — and download full backups straight to YOUR computer."
msgstr ""

#: admin/class-admin-pro.php:861
msgid "You hold your backups, not us. Then restore safely: to an isolated staging folder first, verify, and only then go live — with an automatic pre-restore backup and restore-from-local-ZIP."
msgstr ""

#: admin/class-admin-pro.php:868
#: admin/class-admin-pro.php:1065
#: admin/views/partials/pro-features.php:252
msgid "Compliance Manager"
msgstr ""

#: admin/class-admin-pro.php:869
msgid "Generate compliance reports for GDPR and PCI-DSS. Automated checks with built-in evidence collection. Export reports as PDF to share with clients, management, or auditors. Look professional — not just secure."
msgstr ""

#: admin/class-admin-pro.php:876
#: admin/class-admin-pro.php:1366
#: admin/views/partials/pro-features.php:183
msgid "Change Approval Workflow"
msgstr ""

#: admin/class-admin-pro.php:877
msgid "Perfect for agencies and teams. File changes require manual approval before going live. Approve, reject, or auto-restore — full operational discipline for multi-admin sites."
msgstr ""

#: admin/class-admin-pro.php:884
#: admin/class-admin-pro.php:1371
msgid "Plugin Supply-Chain Risk Analyzer"
msgstr ""

#: admin/class-admin-pro.php:885
msgid "Scores every installed plugin for supply-chain risk — abandonment, ownership changes, vulnerable dependencies, and update health — so you spot a dangerous plugin before it becomes a breach."
msgstr ""

#: admin/class-admin-pro.php:892
#: admin/class-admin-pro.php:1381
#: admin/views/class-view-settings.php:1194
msgid "Git Integration"
msgstr ""

#: admin/class-admin-pro.php:893
msgid "Track every file change against your own Git repository. See exactly what changed versus your known-good commit, and trust the version control your developers already use."
msgstr ""

#: admin/class-admin-pro.php:896
msgid "Based on publicly available feature lists of leading WordPress security plugins as of April 2026. Third-party features and capabilities may change over time."
msgstr ""

#: admin/class-admin-pro.php:901
msgid "Everything Included in PRO"
msgstr ""

#: admin/class-admin-pro.php:905
#: admin/class-admin-pro.php:1163
msgid "Security Protection"
msgstr ""

#: admin/class-admin-pro.php:909
#: admin/views/partials/pro-features.php:195
msgid "Web Application Firewall"
msgstr ""

#: admin/class-admin-pro.php:909
msgid "Block SQLi, XSS, LFI — with safe Monitor mode first"
msgstr ""

#: admin/class-admin-pro.php:910
#: admin/class-admin-pro.php:1176
#: admin/views/class-view-settings.php:1078
#: admin/views/partials/pro-features.php:204
msgid "Country Blocking"
msgstr ""

#: admin/class-admin-pro.php:910
msgid "Block traffic from specific countries"
msgstr ""

#: admin/class-admin-pro.php:911
msgid "Two-Factor Auth (2FA)"
msgstr ""

#: admin/class-admin-pro.php:911
msgid "Google Authenticator + backup codes"
msgstr ""

#: admin/class-admin-pro.php:912
#: admin/class-admin-pro.php:1166
#: admin/views/class-view-settings.php:951
msgid "Brute Force Protection"
msgstr ""

#: admin/class-admin-pro.php:912
msgid "Block repeated login attempts"
msgstr ""

#: admin/class-admin-pro.php:913
#: admin/class-admin-pro.php:1186
#: admin/views/partials/pro-features.php:220
msgid "Hide Login URL"
msgstr ""

#: admin/class-admin-pro.php:913
msgid "Custom login page address"
msgstr ""

#: admin/class-admin-pro.php:914
msgid "CAPTCHA Integration"
msgstr ""

#: admin/class-admin-pro.php:914
msgid "reCAPTCHA, hCaptcha, Turnstile"
msgstr ""

#: admin/class-admin-pro.php:915
msgid "Honeypot Fields"
msgstr ""

#: admin/class-admin-pro.php:915
msgid "Invisible bot traps"
msgstr ""

#: admin/class-admin-pro.php:916
#: admin/class-admin-pro.php:1191
#: admin/views/partials/pro-features.php:231
msgid "Security Headers"
msgstr ""

#: admin/class-admin-pro.php:916
msgid "CSP, X-Frame, HSTS headers"
msgstr ""

#: admin/class-admin-pro.php:917
#: admin/class-admin-pro.php:1196
#: admin/views/partials/pro-features.php:229
msgid "Hardening Wizard"
msgstr ""

#: admin/class-admin-pro.php:917
msgid "Step-by-step security hardening"
msgstr ""

#: admin/class-admin-pro.php:918
msgid "Self-Healing Core"
msgstr ""

#: admin/class-admin-pro.php:918
msgid "Auto-repair WordPress core files"
msgstr ""

#: admin/class-admin-pro.php:919
#: admin/class-admin-pro.php:1206
msgid "Upload Scanner"
msgstr ""

#: admin/class-admin-pro.php:919
msgid "Block malicious file uploads"
msgstr ""

#: admin/class-admin-pro.php:920
msgid "Login Anomaly Detection"
msgstr ""

#: admin/class-admin-pro.php:920
msgid "AI detects unusual login patterns"
msgstr ""

#: admin/class-admin-pro.php:921
msgid "Live IP Threat Feed"
msgstr ""

#: admin/class-admin-pro.php:921
msgid "Auto-block known-malicious IPs from a live feed"
msgstr ""

#: admin/class-admin-pro.php:938
#: admin/class-admin-pro.php:1143
msgid "AI-Powered Analysis"
msgstr ""

#: admin/class-admin-pro.php:942
msgid "500 AI Analyses"
msgstr ""

#: admin/class-admin-pro.php:942
msgid "Deep code analysis per year"
msgstr ""

#: admin/class-admin-pro.php:943
msgid "Malware Detection"
msgstr ""

#: admin/class-admin-pro.php:943
msgid "AI identifies malicious code"
msgstr ""

#: admin/class-admin-pro.php:944
msgid "AI Remediation"
msgstr ""

#: admin/class-admin-pro.php:944
msgid "Smart fix suggestions"
msgstr ""

#: admin/class-admin-pro.php:945
msgid "Risk Classification"
msgstr ""

#: admin/class-admin-pro.php:945
msgid "Auto-classify threat levels"
msgstr ""

#: admin/class-admin-pro.php:946
msgid "Chat with AI about security issues"
msgstr ""

#: admin/class-admin-pro.php:947
#: admin/class-admin-pro.php:1301
msgid "AI Security Reports"
msgstr ""

#: admin/class-admin-pro.php:947
msgid "AI-generated security reports"
msgstr ""

#: admin/class-admin-pro.php:948
msgid "Detect malware by code structure"
msgstr ""

#: admin/class-admin-pro.php:949
msgid "AI predicts future threats"
msgstr ""

#: admin/class-admin-pro.php:966
msgid "Monitoring & Alerts"
msgstr ""

#: admin/class-admin-pro.php:970
msgid "Real-time Monitoring"
msgstr ""

#: admin/class-admin-pro.php:970
msgid "Instant file change detection"
msgstr ""

#: admin/class-admin-pro.php:971
#: admin/views/class-view-scanner.php:2147
#: admin/views/partials/pro-features.php:177
msgid "Live Attack Map"
msgstr ""

#: admin/class-admin-pro.php:971
msgid "Visual map of attack origins"
msgstr ""

#: admin/class-admin-pro.php:972
msgid "Toast Notifications"
msgstr ""

#: admin/class-admin-pro.php:972
msgid "Real-time popup alerts"
msgstr ""

#: admin/class-admin-pro.php:973
#: admin/class-admin-pro.php:1226
msgid "SMS Alerts"
msgstr ""

#: admin/class-admin-pro.php:973
msgid "Twilio, Vonage, AWS SNS"
msgstr ""

#: admin/class-admin-pro.php:974
#: admin/class-admin-pro.php:1231
msgid "WhatsApp Alerts"
msgstr ""

#: admin/class-admin-pro.php:974
msgid "Instant WhatsApp messages"
msgstr ""

#: admin/class-admin-pro.php:975
msgid "Telegram Alerts"
msgstr ""

#: admin/class-admin-pro.php:975
msgid "Telegram bot notifications"
msgstr ""

#: admin/class-admin-pro.php:976
msgid "Slack Integration"
msgstr ""

#: admin/class-admin-pro.php:976
msgid "Alerts to Slack channels"
msgstr ""

#: admin/class-admin-pro.php:977
msgid "Automated phone calls for critical events"
msgstr ""

#: admin/class-admin-pro.php:978
#: admin/views/class-view-settings.php:1220
#: admin/views/partials/pro-features.php:215
msgid "Uptime Monitoring"
msgstr ""

#: admin/class-admin-pro.php:978
msgid "Know when site goes down"
msgstr ""

#: admin/class-admin-pro.php:979
#: admin/views/partials/pro-features.php:210
msgid "Live Traffic Monitor"
msgstr ""

#: admin/class-admin-pro.php:979
msgid "See visitors in real-time"
msgstr ""

#: admin/class-admin-pro.php:980
msgid "Live File Changes"
msgstr ""

#: admin/class-admin-pro.php:980
msgid "Watch file changes live"
msgstr ""

#: admin/class-admin-pro.php:981
#: admin/views/partials/pro-features.php:248
msgid "Security Log"
msgstr ""

#: admin/class-admin-pro.php:981
msgid "Complete audit trail"
msgstr ""

#: admin/class-admin-pro.php:982
msgid "Security Insights"
msgstr ""

#: admin/class-admin-pro.php:982
msgid "Live charts of attacks blocked & threats stopped"
msgstr ""

#: admin/class-admin-pro.php:983
msgid "Dark Web Monitor"
msgstr ""

#: admin/class-admin-pro.php:983
msgid "Credential breach detection"
msgstr ""

#: admin/class-admin-pro.php:984
msgid "Blacklist Check"
msgstr ""

#: admin/class-admin-pro.php:984
msgid "Google Safe Browsing check"
msgstr ""

#: admin/class-admin-pro.php:1001
msgid "Scanning & Detection"
msgstr ""

#: admin/class-admin-pro.php:1005
msgid "Canary Files"
msgstr ""

#: admin/class-admin-pro.php:1005
msgid "Honeytokens for breach detection"
msgstr ""

#: admin/class-admin-pro.php:1006
#: admin/views/partials/pro-features.php:236
msgid "Vulnerability Scanner"
msgstr ""

#: admin/class-admin-pro.php:1006
msgid "Check plugins for CVEs"
msgstr ""

#: admin/class-admin-pro.php:1007
#: admin/class-admin-pro.php:1136
msgid "Database Malware Scan"
msgstr ""

#: admin/class-admin-pro.php:1007
msgid "Scan DB for injected malware, redirects & SEO spam"
msgstr ""

#: admin/class-admin-pro.php:1008
#: admin/views/partials/pro-features.php:238
msgid "Plugin Risk Analysis"
msgstr ""

#: admin/class-admin-pro.php:1008
msgid "Supply chain risk scoring"
msgstr ""

#: admin/class-admin-pro.php:1009
msgid "Auto Baseline Refresh"
msgstr ""

#: admin/class-admin-pro.php:1009
msgid "Update after verified changes"
msgstr ""

#: admin/class-admin-pro.php:1010
msgid "7-Layer Ultimate Scanner"
msgstr ""

#: admin/class-admin-pro.php:1010
msgid "Enterprise-grade multi-layer scanning"
msgstr ""

#: admin/class-admin-pro.php:1011
msgid "Structure-based malware detection"
msgstr ""

#: admin/class-admin-pro.php:1028
#: admin/class-admin-pro.php:1248
msgid "Backup & Recovery"
msgstr ""

#: admin/class-admin-pro.php:1032
#: admin/views/class-view-settings.php:1103
msgid "Cloud Backup"
msgstr ""

#: admin/class-admin-pro.php:1032
msgid "Google Drive, Dropbox, S3"
msgstr ""

#: admin/class-admin-pro.php:1033
msgid "Auto-Restore"
msgstr ""

#: admin/class-admin-pro.php:1033
msgid "Restore from clean baseline"
msgstr ""

#: admin/class-admin-pro.php:1034
#: admin/views/partials/buttons.php:1966
#: admin/views/partials/buttons.php:2150
#: includes/free-plus/eventlog/class-event-log.php:307
#: includes/free-plus/insights/class-insights.php:156
#: includes/free-plus/livefeed/class-livefeed.php:39
#: includes/free-plus/quarantine/class-quarantine.php:3188
#: includes/free-plus/quarantine/class-quarantine.php:3189
msgid "Quarantine"
msgstr ""

#: admin/class-admin-pro.php:1034
msgid "Isolate suspicious files"
msgstr ""

#: admin/class-admin-pro.php:1035
msgid "Emergency Recovery"
msgstr ""

#: admin/class-admin-pro.php:1035
msgid "Recover even when WP is down"
msgstr ""

#: admin/class-admin-pro.php:1036
msgid "Restore Sandbox"
msgstr ""

#: admin/class-admin-pro.php:1036
msgid "Test restore before going live"
msgstr ""

#: admin/class-admin-pro.php:1037
#: admin/views/partials/pro-features.php:243
msgid "Clean Snapshots"
msgstr ""

#: admin/class-admin-pro.php:1037
msgid "Core + plugins + themes snapshots"
msgstr ""

#: admin/class-admin-pro.php:1038
msgid "Time Machine"
msgstr ""

#: admin/class-admin-pro.php:1038
msgid "Full file version history with diff"
msgstr ""

#: admin/class-admin-pro.php:1039
msgid "Download to Computer"
msgstr ""

#: admin/class-admin-pro.php:1039
msgid "Save backups locally to your PC"
msgstr ""

#: admin/class-admin-pro.php:1056
msgid "Management & Reports"
msgstr ""

#: admin/class-admin-pro.php:1060
#: admin/class-admin-pro.php:1406
#: admin/views/class-view-scanner.php:247
#: includes/free-plus/score/class-security-score.php:28
#: includes/free-plus/score/class-security-score.php:29
#: includes/free-plus/score/class-security-score.php:94
msgid "Security Score"
msgstr ""

#: admin/class-admin-pro.php:1060
msgid "Track security posture"
msgstr ""

#: admin/class-admin-pro.php:1061
msgid "Visual security overview"
msgstr ""

#: admin/class-admin-pro.php:1062
msgid "Multi-site Support"
msgstr ""

#: admin/class-admin-pro.php:1062
msgid "Manage all sites centrally"
msgstr ""

#: admin/class-admin-pro.php:1063
msgid "Gamification"
msgstr ""

#: admin/class-admin-pro.php:1063
msgid "Achievements, streaks & badges"
msgstr ""

#: admin/class-admin-pro.php:1064
msgid "Change Approval"
msgstr ""

#: admin/class-admin-pro.php:1064
msgid "Approval workflow for teams"
msgstr ""

#: admin/class-admin-pro.php:1065
msgid "GDPR, PCI-DSS"
msgstr ""

#: admin/class-admin-pro.php:1066
msgid "Industry Benchmark"
msgstr ""

#: admin/class-admin-pro.php:1066
msgid "Compare your security posture"
msgstr ""

#: admin/class-admin-pro.php:1067
msgid "Data Retention Controls"
msgstr ""

#: admin/class-admin-pro.php:1067
msgid "Manage logs & system data"
msgstr ""

#: admin/class-admin-pro.php:1087
msgid "FREE vs PRO Comparison"
msgstr ""

#: admin/class-admin-pro.php:1100
msgid "Feature"
msgstr ""

#: admin/class-admin-pro.php:1101
#: admin/class-admin-pro.php:1449
#: admin/views/class-view-scanner.php:910
#: admin/views/class-view-scanner.php:1265
msgid "FREE"
msgstr ""

#: admin/class-admin-pro.php:1108
msgid "File Integrity Monitoring"
msgstr ""

#: admin/class-admin-pro.php:1111
msgid "Baseline Creation"
msgstr ""

#: admin/class-admin-pro.php:1116
msgid "File Change Detection"
msgstr ""

#: admin/class-admin-pro.php:1121
msgid "Visual Diff Comparison"
msgstr ""

#: admin/class-admin-pro.php:1126
msgid "WordPress Core Integrity Check"
msgstr ""

#: admin/class-admin-pro.php:1131
msgid "Vulnerability / CVE Scanner"
msgstr ""

#: admin/class-admin-pro.php:1132
#: admin/class-admin-pro.php:1172
#: admin/class-admin-pro.php:1182
#: admin/class-admin-pro.php:1187
#: admin/class-admin-pro.php:1197
#: admin/class-admin-pro.php:1212
#: admin/class-admin-pro.php:1327
#: admin/class-admin-pro.php:1332
#: admin/class-admin-pro.php:1347
#: admin/class-admin-pro.php:1392
msgid "Basic"
msgstr ""

#: admin/class-admin-pro.php:1146
#: admin/views/class-view-settings.php:793
msgid "AI Code Analysis"
msgstr ""

#: admin/class-admin-pro.php:1147
msgid "lifetime"
msgstr ""

#: admin/class-admin-pro.php:1148
#: admin/class-admin-pro.php:1450
msgid "year"
msgstr ""

#: admin/class-admin-pro.php:1151
msgid "AI Malware Detection"
msgstr ""

#: admin/class-admin-pro.php:1156
msgid "AI Remediation Suggestions"
msgstr ""

#: admin/class-admin-pro.php:1171
msgid "Web Application Firewall (WAF)"
msgstr ""

#: admin/class-admin-pro.php:1181
msgid "Two-Factor Authentication (2FA)"
msgstr ""

#: admin/class-admin-pro.php:1201
msgid "Self-Healing Core Files"
msgstr ""

#: admin/class-admin-pro.php:1211
msgid "Login CAPTCHA (Turnstile + Honeypot)"
msgstr ""

#: admin/class-admin-pro.php:1218
msgid "Alerts & Notifications"
msgstr ""

#: admin/class-admin-pro.php:1221
#: admin/views/class-view-settings.php:324
msgid "Email Alerts"
msgstr ""

#: admin/class-admin-pro.php:1236
msgid "Telegram/Slack Alerts"
msgstr ""

#: admin/class-admin-pro.php:1251
msgid "Cloud Backup (Google Drive, S3)"
msgstr ""

#: admin/class-admin-pro.php:1256
msgid "Auto-Restore from Baseline"
msgstr ""

#: admin/class-admin-pro.php:1261
#: includes/free-plus/quarantine/class-quarantine.php:3202
msgid "File Quarantine"
msgstr ""

#: admin/class-admin-pro.php:1262
msgid "Manual"
msgstr ""

#: admin/class-admin-pro.php:1266
msgid "Time Machine (Backup History)"
msgstr ""

#: admin/class-admin-pro.php:1276
msgid "Admin Login Rescue (emailed link)"
msgstr ""

#: admin/class-admin-pro.php:1277
#: admin/class-admin-pro.php:1312
msgid "Local"
msgstr ""

#: admin/class-admin-pro.php:1281
msgid "Safe Restore Sandbox"
msgstr ""

#: admin/class-admin-pro.php:1286
msgid "Clean Snapshots (incl. Premium Plugins)"
msgstr ""

#: admin/class-admin-pro.php:1287
msgid "Core files"
msgstr ""

#: admin/class-admin-pro.php:1291
msgid "Restore from Local ZIP"
msgstr ""

#: admin/class-admin-pro.php:1298
msgid "Advanced Intelligence"
msgstr ""

#: admin/class-admin-pro.php:1311
msgid "Enhanced Threat Intelligence"
msgstr ""

#: admin/class-admin-pro.php:1316
#: admin/views/class-view-settings.php:1161
#: admin/views/partials/pro-features.php:222
msgid "Login Anomaly Intelligence"
msgstr ""

#: admin/class-admin-pro.php:1326
msgid "AI Security Assistant (Chatbot)"
msgstr ""

#: admin/class-admin-pro.php:1331
#: admin/views/partials/pro-features.php:212
msgid "Security Insights Dashboard"
msgstr ""

#: admin/class-admin-pro.php:1336
msgid "Industry Benchmark Ranking"
msgstr ""

#: admin/class-admin-pro.php:1343
msgid "Unique & Innovative Features"
msgstr ""

#: admin/class-admin-pro.php:1346
#: admin/views/class-view-settings.php:1178
msgid "Hacker Trap (Honeypots)"
msgstr ""

#: admin/class-admin-pro.php:1356
#: admin/views/class-view-settings.php:1094
msgid "Real-Time File Protection"
msgstr ""

#: admin/class-admin-pro.php:1386
msgid "Compliance Dashboard (GDPR / PCI-DSS)"
msgstr ""

#: admin/class-admin-pro.php:1396
msgid "Blacklist Check (Google Safe Browsing)"
msgstr ""

#: admin/class-admin-pro.php:1403
msgid "Gamification & Engagement"
msgstr ""

#: admin/class-admin-pro.php:1411
msgid "Basic Achievements (5)"
msgstr ""

#: admin/class-admin-pro.php:1416
msgid "Advanced Achievements (20+)"
msgstr ""

#: admin/class-admin-pro.php:1421
msgid "Streaks & Leaderboard"
msgstr ""

#: admin/class-admin-pro.php:1426
msgid "Security Score History Graph"
msgstr ""

#: admin/class-admin-pro.php:1433
msgid "Support & Updates"
msgstr ""

#: admin/class-admin-pro.php:1436
msgid "Plugin Updates"
msgstr ""

#: admin/class-admin-pro.php:1441
msgid "Priority Support"
msgstr ""

#: admin/class-admin-pro.php:1448
msgid "Price"
msgstr ""

#: admin/class-admin-pro.php:1467
msgid "Ready to Secure Your WordPress Site?"
msgstr ""

#: admin/class-admin-pro.php:1468
msgid "Join thousands of site owners who trust AI CyberGuard for their security."
msgstr ""

#: admin/class-admin-pro.php:1470
msgid "Learn More About PRO"
msgstr ""

#: admin/class-admin-pro.php:1486
msgid "Please enter a license key"
msgstr ""

#: admin/class-admin-pro.php:1490
msgid "Activating..."
msgstr ""

#: admin/class-admin-pro.php:1491
msgid "Validating license..."
msgstr ""

#: admin/class-admin-pro.php:1506
msgid "Connection error. Please try again."
msgstr ""

#: admin/class-admin-pro.php:1513
msgid "Are you sure you want to deactivate this license?"
msgstr ""

#: admin/class-admin-pro.php:1518
msgid "Deactivating..."
msgstr ""

#: admin/class-admin-tools.php:28
msgid "This permanently deletes ALL AI CyberGuard data — scan baseline, reports, ignored files, settings, AND every quarantined file and safety snapshot. This cannot be undone. Continue?"
msgstr ""

#: admin/class-admin-tools.php:29
msgid "Delete all data"
msgstr ""

#: admin/views/class-view-scanner.php:107
msgid "Scan Details"
msgstr ""

#: admin/views/class-view-scanner.php:212
#: includes/free-plus/shared/class-ui.php:328
#: includes/free-plus/shared/class-ui.php:329
msgid "Excellent"
msgstr ""

#: admin/views/class-view-scanner.php:216
#: includes/free-plus/score/class-security-score.php:53
#: includes/free-plus/shared/class-ui.php:331
#: includes/free-plus/shared/class-ui.php:332
msgid "Good"
msgstr ""

#: admin/views/class-view-scanner.php:220
msgid "Needs Attention"
msgstr ""

#: admin/views/class-view-scanner.php:224
#: includes/free-plus/shared/class-ui.php:338
#: includes/free-plus/shared/class-ui.php:384
msgid "Critical"
msgstr ""

#: admin/views/class-view-scanner.php:248
msgid "Your website security rating based on scan results and configuration."
msgstr ""

#. translators: %d is the number of security recommendations.
#: admin/views/class-view-scanner.php:274
#, php-format
msgid "%d Security Recommendations"
msgstr ""

#: admin/views/class-view-scanner.php:319
msgid "Fix Now →"
msgstr ""

#: admin/views/class-view-scanner.php:321
#: admin/views/class-view-scanner.php:587
msgid "Configure →"
msgstr ""

#: admin/views/class-view-scanner.php:342
msgid "Excellent! Your security configuration is optimal."
msgstr ""

#: admin/views/class-view-scanner.php:376
msgid "Create Security Baseline"
msgstr ""

#: admin/views/class-view-scanner.php:377
msgid "A baseline is required to detect file changes. Without it, the scanner cannot protect your site."
msgstr ""

#: admin/views/class-view-scanner.php:379
msgid "Create Baseline →"
msgstr ""

#. translators: %d is the number of high-risk files detected.
#: admin/views/class-view-scanner.php:392
#, php-format
msgid "%d HIGH Risk Files Detected"
msgstr ""

#: admin/views/class-view-scanner.php:393
msgid "These files contain suspicious patterns. Use AI Analysis to determine if they are malware."
msgstr ""

#: admin/views/class-view-scanner.php:395
msgid "Run AI Analysis →"
msgstr ""

#: admin/views/class-view-scanner.php:429
msgid "Run Your First Malware Scan"
msgstr ""

#: admin/views/class-view-scanner.php:430
msgid "Your site has never been scanned for malware. The baseline detects future changes, but only a malware scan inspects the files you already have."
msgstr ""

#: admin/views/class-view-scanner.php:432
#: admin/views/class-view-scanner.php:444
msgid "Scan Now →"
msgstr ""

#. translators: %s is a human-readable time difference, e.g. "2 months".
#: admin/views/class-view-scanner.php:441
#, php-format
msgid "Last Malware Scan Was %s Ago"
msgstr ""

#: admin/views/class-view-scanner.php:442
msgid "Malware scans are run manually. Run one now to check the files currently on your site."
msgstr ""

#: admin/views/class-view-scanner.php:457
#: admin/views/class-view-settings.php:260
msgid "Enable Scheduled Scans"
msgstr ""

#: admin/views/class-view-scanner.php:466
msgid "Automatic scans alert you when your files change, and check every changed file for malware. Currently disabled."
msgstr ""

#: admin/views/class-view-scanner.php:468
#: admin/views/class-view-scanner.php:487
#: admin/views/class-view-scanner.php:601
#: admin/views/class-view-scanner.php:614
msgid "Enable →"
msgstr ""

#: admin/views/class-view-scanner.php:479
#: admin/views/class-view-settings.php:330
msgid "Enable Email Alerts"
msgstr ""

#: admin/views/class-view-scanner.php:485
msgid "Get emailed if malware is found, when your files change, or when plugins need updating."
msgstr ""

#: admin/views/class-view-scanner.php:510
msgid "Firewall Is Not Blocking Yet"
msgstr ""

#: admin/views/class-view-scanner.php:511
msgid "The firewall is in Monitor mode: it records suspicious requests but lets them through. Switch to Enforce once the log looks clean."
msgstr ""

#: admin/views/class-view-scanner.php:514
msgid "Review & Enforce →"
msgstr ""

#. translators: %d is the number of medium-risk files needing review.
#: admin/views/class-view-scanner.php:528
#, php-format
msgid "%d Medium Risk Files Need Review"
msgstr ""

#: admin/views/class-view-scanner.php:529
msgid "These files have some suspicious characteristics. Review them to ensure they are legitimate."
msgstr ""

#: admin/views/class-view-scanner.php:531
#: admin/views/class-view-scanner.php:648
msgid "Review Files →"
msgstr ""

#: admin/views/class-view-scanner.php:545
msgid "Enable Web Application Firewall (WAF)"
msgstr ""

#: admin/views/class-view-scanner.php:546
msgid "The WAF protects against SQL injection, XSS, and other attacks. Start with Monitor mode to avoid blocking legitimate traffic."
msgstr ""

#: admin/views/class-view-scanner.php:548
msgid "Enable WAF →"
msgstr ""

#: admin/views/class-view-scanner.php:556
msgid "WAF is in Monitor Mode"
msgstr ""

#: admin/views/class-view-scanner.php:557
msgid "Attacks are being logged but not blocked. Switch to Protect mode once you verify no legitimate traffic is flagged."
msgstr ""

#: admin/views/class-view-scanner.php:559
msgid "Review Logs →"
msgstr ""

#: admin/views/class-view-scanner.php:570
msgid "Enable Two-Factor Authentication"
msgstr ""

#: admin/views/class-view-scanner.php:571
msgid "Add an extra layer of security to admin accounts. Prevents unauthorized access even if passwords are compromised."
msgstr ""

#: admin/views/class-view-scanner.php:573
msgid "Enable 2FA →"
msgstr ""

#: admin/views/class-view-scanner.php:584
msgid "Configure Cloud Backup"
msgstr ""

#: admin/views/class-view-scanner.php:585
msgid "Automatic backups to Google Drive, Dropbox, or S3 ensure you can recover from any attack."
msgstr ""

#: admin/views/class-view-scanner.php:598
msgid "Enable Real-Time File Monitoring"
msgstr ""

#: admin/views/class-view-scanner.php:599
msgid "Detect file changes as they happen, not just during scheduled scans."
msgstr ""

#: admin/views/class-view-scanner.php:611
msgid "Enable Vulnerability Scanner"
msgstr ""

#: admin/views/class-view-scanner.php:612
msgid "Automatically check your plugins and themes for known security vulnerabilities."
msgstr ""

#. translators: %d is the number of changed files since the baseline.
#: admin/views/class-view-scanner.php:630
#, php-format
msgid "%d Changed Files Since Baseline"
msgstr ""

#: admin/views/class-view-scanner.php:631
msgid "Review these changes or refresh your baseline if they are from legitimate updates."
msgstr ""

#: admin/views/class-view-scanner.php:633
msgid "Review Changes →"
msgstr ""

#. translators: %d is the number of new files detected.
#: admin/views/class-view-scanner.php:645
#, php-format
msgid "%d New Files Detected"
msgstr ""

#: admin/views/class-view-scanner.php:646
msgid "New files were added since baseline. Verify they are from legitimate sources."
msgstr ""

#: admin/views/class-view-scanner.php:746
msgid "Threat Analysis"
msgstr ""

#: admin/views/class-view-scanner.php:760
#: admin/views/partials/tables.php:488
msgid "CRITICAL"
msgstr ""

#: admin/views/class-view-scanner.php:763
#: admin/views/partials/tables.php:490
msgid "AI Required!"
msgstr ""

#: admin/views/class-view-scanner.php:773
#: admin/views/partials/tables.php:499
msgid "HIGH RISK"
msgstr ""

#: admin/views/class-view-scanner.php:776
#: admin/views/partials/tables.php:512
msgid "AI Suggested"
msgstr ""

#: admin/views/class-view-scanner.php:786
#: admin/views/partials/tables.php:510
msgid "MEDIUM"
msgstr ""

#: admin/views/class-view-scanner.php:789
#: admin/views/partials/tables.php:523
msgid "AI Optional"
msgstr ""

#: admin/views/class-view-scanner.php:799
#: admin/views/partials/tables.php:521
msgid "LOW"
msgstr ""

#: admin/views/class-view-scanner.php:806
#: admin/views/partials/tables.php:532
msgid "SAFE"
msgstr ""

#. translators: %d is the number of critical files requiring immediate AI analysis.
#: admin/views/class-view-scanner.php:816
#, php-format
msgid "%d CRITICAL files require immediate AI analysis!"
msgstr ""

#: admin/views/class-view-scanner.php:820
msgid "Run AI Analysis on all CRITICAL files immediately"
msgstr ""

#: admin/views/class-view-scanner.php:821
msgid "If malware confirmed: Delete, update passwords, scan again"
msgstr ""

#. translators: %d is the number of high-risk files detected.
#: admin/views/class-view-scanner.php:829
#, php-format
msgid "%d HIGH RISK files detected!"
msgstr ""

#: admin/views/class-view-scanner.php:834
msgid "Click \"AI Analysis\" on each file to understand if it's malicious"
msgstr ""

#: admin/views/class-view-scanner.php:835
msgid "If malware confirmed: Delete file, update all passwords, scan again"
msgstr ""

#. translators: %d is the number of medium-risk files found.
#: admin/views/class-view-scanner.php:844
#, php-format
msgid "%d MEDIUM risk files found"
msgstr ""

#: admin/views/class-view-scanner.php:845
msgid "These may be false positives. Use AI Analysis to verify, or review manually if the file looks unfamiliar."
msgstr ""

#: admin/views/class-view-scanner.php:867
#: admin/views/partials/pro-features.php:429
msgid "Advanced WAF • SMS Alerts • Cloud Backup • Uptime Monitoring"
msgstr ""

#: admin/views/class-view-scanner.php:869
#: admin/views/partials/pro-features.php:434
msgid "Learn More"
msgstr ""

#: admin/views/class-view-scanner.php:883
#: includes/dashboard/class-dashboard-widget.php:53
msgid "Setup Required"
msgstr ""

#. translators: %d is the number of detected security issues.
#: admin/views/class-view-scanner.php:890
#, php-format
msgid "%d Issues"
msgstr ""

#: admin/views/class-view-scanner.php:896
msgid "Secure"
msgstr ""

#: admin/views/class-view-scanner.php:909
msgid "Database Security Scanner"
msgstr ""

#: admin/views/class-view-scanner.php:914
msgid "Scan your WordPress database for malicious code injections in wp_options, wp_posts, and user accounts."
msgstr ""

#: admin/views/class-view-scanner.php:932
msgid "The database has not been scanned yet."
msgstr ""

#: admin/views/class-view-scanner.php:933
msgid "Run a scan to check wp_options, wp_posts, and user accounts for hidden malware or spam."
msgstr ""

#: admin/views/class-view-scanner.php:942
#: admin/views/class-view-scanner.php:954
#: admin/views/class-view-scanner.php:961
msgid "Scan Database"
msgstr ""

#: admin/views/class-view-scanner.php:960
msgid "Scanning database…"
msgstr ""

#: admin/views/class-view-scanner.php:962
msgid "Scan failed. Please try again."
msgstr ""

#: admin/views/class-view-scanner.php:1054
msgid "Database scan incomplete"
msgstr ""

#. translators: %s is the number of database rows that could not be checked.
#: admin/views/class-view-scanner.php:1058
#, php-format
msgid "No suspicious content was found in the rows that were scanned, but %s rows could not be checked. Re-run the scan to cover the rest."
msgstr ""

#: admin/views/class-view-scanner.php:1062
msgid "No suspicious content was found in the rows that were scanned, but some rows could not be checked. Re-run the scan to cover the rest."
msgstr ""

#: admin/views/class-view-scanner.php:1068
msgid "No suspicious content found in database!"
msgstr ""

#. translators: %s: human-readable time since the last database scan (e.g. "5 minutes").
#: admin/views/class-view-scanner.php:1074
#, php-format
msgid "Last scanned: %s ago"
msgstr ""

#. translators: %d is the number of suspicious database entries found.
#: admin/views/class-view-scanner.php:1083
#, php-format
msgid "Found %d entries that match code patterns worth reviewing"
msgstr ""

#: admin/views/class-view-scanner.php:1084
msgid "These are patterns that CAN appear in malware but are also common in legitimate content (calculators, page builders, SEO and caching plugins). A match does not mean your site is infected. Review each item below, and if you are unsure, have a developer confirm it before changing anything."
msgstr ""

#: admin/views/class-view-scanner.php:1089
msgid "What should you do?"
msgstr ""

#: admin/views/class-view-scanner.php:1097
msgid "Don't panic!"
msgstr ""

#: admin/views/class-view-scanner.php:1098
msgid "Many findings are false positives - legitimate plugins sometimes use code patterns that look suspicious."
msgstr ""

#: admin/views/class-view-scanner.php:1105
msgid "Investigate each finding"
msgstr ""

#: admin/views/class-view-scanner.php:1106
msgid "Click \"Edit\" to see the full content. Ask yourself: Do I recognize this? Is it from a plugin I installed?"
msgstr ""

#: admin/views/class-view-scanner.php:1113
msgid "When to be concerned"
msgstr ""

#: admin/views/class-view-scanner.php:1114
msgid "Be worried if you see: Unfamiliar admin users, random character option names, or encoded content you didn't add."
msgstr ""

#: admin/views/class-view-scanner.php:1121
msgid "If you find real malware"
msgstr ""

#: admin/views/class-view-scanner.php:1122
msgid "If a developer confirms an entry is genuinely malicious: change all passwords, update all plugins and themes, remove the confirmed entry (ideally with professional help and a backup first), and consider restoring from a known-clean backup."
msgstr ""

#: admin/views/class-view-scanner.php:1132
msgid "Important before you change anything"
msgstr ""

#: admin/views/class-view-scanner.php:1133
msgid "Editing or deleting entries in the database can break your website and is not reversible. If you are not a developer, do NOT change anything yourself. Have a professional developer perform the fix, and only after taking a full backup of your site and database. When you contact a professional, copy the details of each finding below — the description of what was detected and exactly where it is (the table and the entry name) — and send it to them so they know precisely what to check."
msgstr ""

#: admin/views/class-view-scanner.php:1138
msgid "Common false positives:"
msgstr ""

#: admin/views/class-view-scanner.php:1139
msgid "SEO plugins (Yoast, RankMath), page builders (Elementor, Divi), caching plugins, and security plugins (including AI CyberGuard) may trigger alerts because they store code or patterns in the database."
msgstr ""

#: admin/views/class-view-scanner.php:1174
msgid "Suspicious Users"
msgstr ""

#: admin/views/class-view-scanner.php:1180
msgid "Important:"
msgstr ""

#: admin/views/class-view-scanner.php:1181
msgid "Unfamiliar admin users are a serious red flag. If you don't recognize a user, check when they were created and delete immediately if suspicious."
msgstr ""

#: admin/views/class-view-scanner.php:1197
#: admin/views/class-view-scanner.php:1289
msgid "Clear Results"
msgstr ""

#: admin/views/class-view-scanner.php:1226
msgid "Edit"
msgstr ""

#: admin/views/class-view-scanner.php:1264
#: admin/views/partials/buttons.php:2232
#: includes/scanner/class-repository-comparison.php:616
msgid "WordPress Core Integrity"
msgstr ""

#: admin/views/class-view-scanner.php:1269
msgid "Compare your WordPress core files against official checksums from WordPress.org to detect modifications."
msgstr ""

#: admin/views/class-view-scanner.php:1296
msgid "Verify Again"
msgstr ""

#: admin/views/class-view-scanner.php:1302
msgid "Verify your WordPress core files against official checksums to ensure they haven't been tampered with."
msgstr ""

#: admin/views/class-view-scanner.php:1309
msgid "Verify Core Files"
msgstr ""

#: admin/views/class-view-scanner.php:1326
msgid "No baseline found. Please create a baseline before relying on scan results."
msgstr ""

#: admin/views/class-view-scanner.php:1333
#: admin/views/class-view-scanner.php:1334
#: admin/views/class-view-scanner.php:1411
msgid "Baseline created successfully."
msgstr ""

#: admin/views/class-view-scanner.php:1335
#: admin/views/class-view-scanner.php:1410
msgid "Baseline refreshed successfully."
msgstr ""

#: admin/views/class-view-scanner.php:1336
msgid "File added to ignore list."
msgstr ""

#: admin/views/class-view-scanner.php:1337
msgid "File removed from ignore list."
msgstr ""

#: admin/views/class-view-scanner.php:1342
msgid "Could not add file to ignore list — path was rejected (outside ABSPATH) or the file no longer exists."
msgstr ""

#: admin/views/class-view-scanner.php:1343
#: admin/views/class-view-settings.php:200
msgid "Unknown command. The action was not executed."
msgstr ""

#: admin/views/class-view-scanner.php:1344
msgid "🤖 AI analysis complete! See insights below."
msgstr ""

#. translators: %s is the number of suspicious database entries found.
#: admin/views/class-view-scanner.php:1364
#, php-format
msgid "Database scan complete — %s suspicious entry found. See the details below."
msgid_plural "Database scan complete — %s suspicious entries found. See the details below."
msgstr[0] ""
msgstr[1] ""

#: admin/views/class-view-scanner.php:1373
msgid "✅ Database scan complete — no suspicious content found."
msgstr ""

#: admin/views/class-view-scanner.php:1380
msgid "Database scan incomplete — no suspicious content was found in the rows that were checked, but some rows could not be scanned. Re-run the scan to cover them."
msgstr ""

#: admin/views/class-view-scanner.php:1383
msgid "Database scan complete."
msgstr ""

#: admin/views/class-view-scanner.php:1391
msgid "AI analysis failed. Please try again."
msgstr ""

#. translators: %s is the number of files that were larger than the 50 MB limit
#: admin/views/class-view-scanner.php:1418
#, php-format
msgid "%s file was larger than the 50 MB limit, so its contents are not covered by change monitoring. You will still be told if it is added, removed, or crosses that limit."
msgid_plural "%s files were larger than the 50 MB limit, so their contents are not covered by change monitoring. You will still be told if they are added, removed, or cross that limit."
msgstr[0] ""
msgstr[1] ""

#. translators: %d is the number of malware threats found.
#: admin/views/class-view-scanner.php:1483
#, php-format
msgid "Malware found — %d threat"
msgid_plural "Malware found — %d threats"
msgstr[0] ""
msgstr[1] ""

#: admin/views/class-view-scanner.php:1484
msgid "Detected by your last malware scan. Open the scanner to review and clean them."
msgstr ""

#: admin/views/class-view-scanner.php:1485
msgid "Open malware scanner"
msgstr ""

#: admin/views/class-view-scanner.php:1492
msgid "WordPress core files have changed"
msgstr ""

#: admin/views/class-view-scanner.php:1493
msgid "One or more core files do not match the official WordPress release. This is not confirmed malware, but core files should not differ — review them and reinstall WordPress core if the change was not expected."
msgstr ""

#: admin/views/class-view-scanner.php:1494
msgid "Review core integrity"
msgstr ""

#. translators: %d is the number of high-priority items that need review.
#: admin/views/class-view-scanner.php:1501
#, php-format
msgid "%d high-priority item to review"
msgid_plural "%d high-priority items to review"
msgstr[0] ""
msgstr[1] ""

#: admin/views/class-view-scanner.php:1502
msgid "Not confirmed malware, but these patterns can execute code and are worth a look. Open the scanner to review them."
msgstr ""

#: admin/views/class-view-scanner.php:1503
msgid "Review findings"
msgstr ""

#. translators: %d is the number of changed files since the last Regular scan.
#: admin/views/class-view-scanner.php:1508
#, php-format
msgid "%d file change to review"
msgid_plural "%d file changes to review"
msgstr[0] ""
msgstr[1] ""

#: admin/views/class-view-scanner.php:1509
msgid "Files changed since your last Regular scan. Review them and confirm the changes were expected by you."
msgstr ""

#: admin/views/class-view-scanner.php:1510
msgid "Review changes"
msgstr ""

#: admin/views/class-view-scanner.php:1515
msgid "No threats found — but the scan was incomplete"
msgstr ""

#: admin/views/class-view-scanner.php:1516
msgid "Some files or folders were too large or too deep to fully check, so we can't yet confirm the whole site is clean. Re-run the scan, or review the coverage notices in the results."
msgstr ""

#: admin/views/class-view-scanner.php:1517
msgid "Review scan coverage"
msgstr ""

#: admin/views/class-view-scanner.php:1523
msgid "File check incomplete"
msgstr ""

#. translators: %d is the number of files that could not be checked.
#: admin/views/class-view-scanner.php:1525
#, php-format
msgid "%d file could not be read during the last file-integrity check, so it was not verified. Re-run the Regular scan once the file is accessible."
msgid_plural "%d files could not be read during the last file-integrity check, so they were not verified. Re-run the Regular scan once the files are accessible."
msgstr[0] ""
msgstr[1] ""

#: admin/views/class-view-scanner.php:1526
msgid "Re-run Regular scan"
msgstr ""

#: admin/views/class-view-scanner.php:1536
msgid "Create a baseline — file-change detection is not active yet"
msgstr ""

#: admin/views/class-view-scanner.php:1537
msgid "A Regular scan ran, but without a baseline it cannot tell which files were added, changed, or deleted, so it cannot alert you to a new or modified file. Create a baseline now to turn on file-change detection. (Your Malware scan is separate and still works.)"
msgstr ""

#: admin/views/class-view-scanner.php:1538
msgid "Create baseline"
msgstr ""

#: admin/views/class-view-scanner.php:1542
msgid "You're protected"
msgstr ""

#. translators: %s is a human-readable time difference, e.g. "5 minutes".
#: admin/views/class-view-scanner.php:1545
#, php-format
msgid "Last checked %s ago · All clear."
msgstr ""

#. translators: %s is a human-readable time difference, e.g. "5 minutes".
#: admin/views/class-view-scanner.php:1545
msgid "All clear."
msgstr ""

#: admin/views/class-view-scanner.php:1550
msgid "Run your first malware scan"
msgstr ""

#: admin/views/class-view-scanner.php:1551
msgid "One click and the AI checks your whole site for malware. It keeps watch on its own from there."
msgstr ""

#: admin/views/class-view-scanner.php:1552
msgid "Run first malware scan"
msgstr ""

#. translators: %d is the number of files larger than the 50 MB integrity limit.
#: admin/views/class-view-scanner.php:1567
#, php-format
msgid "(%d file is larger than the 50 MB limit, so its contents are not checked — you are still told if it is added, removed, or crosses that limit.)"
msgid_plural "(%d files are larger than the 50 MB limit, so their contents are not checked — you are still told if they are added, removed, or cross that limit.)"
msgstr[0] ""
msgstr[1] ""

#: admin/views/class-view-scanner.php:1615
msgid "Dismiss this message"
msgstr ""

#: admin/views/class-view-scanner.php:1615
#: includes/admin/class-security-downgrade-notice.php:47
#: includes/ai/class-ai-analyzer.php:2012
#: includes/free-plus/setup/class-setup-wizard.php:339
msgid "Dismiss"
msgstr ""

#. translators: 1: formatted date and time of the last scan, 2: scan type label.
#: admin/views/class-view-scanner.php:1661
#, php-format
msgid "Last scan: %1$s (%2$s scan)"
msgstr ""

#: admin/views/class-view-scanner.php:1695
#: admin/views/class-view-settings.php:438
#: admin/views/class-view-settings.php:716
msgid "AI Analysis"
msgstr ""

#: admin/views/class-view-scanner.php:1696
msgid "POWERED BY CLAUDE"
msgstr ""

#: admin/views/class-view-scanner.php:1705
msgid "What is AI Analysis?"
msgstr ""

#: admin/views/class-view-scanner.php:1709
msgid "AI Analysis is a BONUS feature that uses artificial intelligence (Claude by Anthropic) to deeply analyze your changed files and detect malicious code patterns."
msgstr ""

#: admin/views/class-view-scanner.php:1714
msgid "What AI Detects:"
msgstr ""

#: admin/views/class-view-scanner.php:1716
msgid "Hidden backdoor code"
msgstr ""

#: admin/views/class-view-scanner.php:1717
msgid "Web shells"
msgstr ""

#: admin/views/class-view-scanner.php:1718
msgid "Obfuscated malware"
msgstr ""

#: admin/views/class-view-scanner.php:1719
msgid "Suspicious external URLs and IP addresses"
msgstr ""

#: admin/views/class-view-scanner.php:1720
msgid "Unauthorized WordPress hooks"
msgstr ""

#: admin/views/class-view-scanner.php:1726
msgid "Pro Tip - Save Your Credits!"
msgstr ""

#: admin/views/class-view-scanner.php:1728
msgid "Use AI analysis only for suspicious files! Look for the"
msgstr ""

#: admin/views/class-view-scanner.php:1730
msgid "badge in the scan results table. These are files that have suspicious characteristics."
msgstr ""

#: admin/views/class-view-scanner.php:1736
msgid "IMPORTANT - Read This!"
msgstr ""

#: admin/views/class-view-scanner.php:1738
msgid "AI Analysis is completely OPTIONAL. The AI CyberGuard scanner works perfectly WITHOUT it! You will still get:"
msgstr ""

#: admin/views/class-view-scanner.php:1741
msgid "✓ Full detection of all changed files"
msgstr ""

#: admin/views/class-view-scanner.php:1742
msgid "✓ New file detection"
msgstr ""

#: admin/views/class-view-scanner.php:1743
msgid "✓ Deleted file detection"
msgstr ""

#: admin/views/class-view-scanner.php:1744
msgid "✓ Email alerts"
msgstr ""

#: admin/views/class-view-scanner.php:1745
msgid "✓ All security features"
msgstr ""

#: admin/views/class-view-scanner.php:1751
msgid "Free Credits"
msgstr ""

#. translators: %d is the number of free AI analyses included.
#: admin/views/class-view-scanner.php:1754
#, php-format
msgid "You get %d FREE AI analyses to try this feature. Each analysis reads your changed files and provides detailed security insights."
msgstr ""

#: admin/views/class-view-scanner.php:1760
msgid "Need more? PRO gives you 500 analyses/year"
msgstr ""

#: admin/views/class-view-scanner.php:1793
msgid "PRO AI Credits"
msgstr ""

#: admin/views/class-view-scanner.php:1793
msgid "Free AI Credits"
msgstr ""

#: admin/views/class-view-scanner.php:1814
msgid "AI Analysis requires activation"
msgstr ""

#: admin/views/class-view-scanner.php:1817
msgid "Enable AI Analysis in Settings to unlock powerful malware detection powered by Claude AI."
msgstr ""

#: admin/views/class-view-scanner.php:1821
msgid "Go to Settings"
msgstr ""

#: admin/views/class-view-scanner.php:1829
msgid "AI analysis service is temporarily unavailable. Please try again later."
msgstr ""

#: admin/views/class-view-scanner.php:1836
msgid "🎯 AI Analysis Credits Used"
msgstr ""

#: admin/views/class-view-scanner.php:1839
msgid "💡 The file scanner works perfectly without AI — you still get full protection!"
msgstr ""

#: admin/views/class-view-scanner.php:1878
msgid "Suspicious Code Detected:"
msgstr ""

#: admin/views/class-view-scanner.php:1888
msgid "Recommendations:"
msgstr ""

#. translators: %s is the date/time the analysis was performed.
#: admin/views/class-view-scanner.php:1901
#, php-format
msgid "Analyzed: %s"
msgstr ""

#: admin/views/class-view-scanner.php:1911
msgid "Run New Analysis"
msgstr ""

#: admin/views/class-view-scanner.php:1915
#: admin/views/class-view-scanner.php:1936
msgid "This analyzes ALL scan results together. To analyze a specific file, use the \"Analyze\" button next to that file in the results table below."
msgstr ""

#: admin/views/class-view-scanner.php:1922
msgid "Changes detected! Run AI analysis to get intelligent security insights."
msgstr ""

#: admin/views/class-view-scanner.php:1924
msgid "Your site is clean. AI analysis will be available when changes are detected."
msgstr ""

#: admin/views/class-view-scanner.php:1932
msgid "Analyze with AI"
msgstr ""

#: admin/views/class-view-scanner.php:1961
#: admin/views/class-view-scanner.php:2039
msgid "Export to CSV"
msgstr ""

#. translators: 1: number of displayed results, 2: total number of results
#: admin/views/class-view-scanner.php:1988
#, php-format
msgid "Displaying %1$d of %2$d results"
msgstr ""

#: admin/views/class-view-scanner.php:1996
msgid "Show:"
msgstr ""

#. translators: %d is the total number of results.
#: admin/views/class-view-scanner.php:2010
#, php-format
msgid "All (%d)"
msgstr ""

#: admin/views/class-view-scanner.php:2022
msgid "Displaying a large number of results may slow down the page. Consider using Export to CSV for large datasets."
msgstr ""

#. translators: %d is the number of items in the large result set.
#: admin/views/class-view-scanner.php:2036
#, php-format
msgid "Large result set detected (%d items). For performance, the full list is not displayed."
msgstr ""

#: admin/views/class-view-scanner.php:2127
msgid "blocked today"
msgstr ""

#: admin/views/class-view-scanner.php:2133
msgid "countries"
msgstr ""

#: admin/views/class-view-scanner.php:2138
msgid "Last attack:"
msgstr ""

#: admin/views/class-view-scanner.php:2148
msgid "Last 24 hours"
msgstr ""

#: admin/views/class-view-scanner.php:2155
msgid "Attack locations are not shown on the map yet."
msgstr ""

#: admin/views/class-view-scanner.php:2156
msgid "The map and counters already update live. To plot where blocked attacks come from, turn on location lookup (GeoIP) in"
msgstr ""

#: admin/views/class-view-scanner.php:2157
msgid "Settings → Privacy &amp; External Services"
msgstr ""

#: admin/views/class-view-scanner.php:2192
msgid "No attacks detected in last 24 hours. Your site is protected!"
msgstr ""

#: admin/views/class-view-scanner.php:2199
msgid "Top attacking countries:"
msgstr ""

#: admin/views/class-view-scanner.php:2219
msgid "Live Security Monitor"
msgstr ""

#: admin/views/class-view-scanner.php:2224
msgid "Clear this list"
msgstr ""

#: admin/views/class-view-scanner.php:2226
#: admin/views/class-view-scanner.php:3090
#: admin/views/partials/tables.php:958
msgid "Clear"
msgstr ""

#: admin/views/class-view-scanner.php:2229
#: admin/views/class-view-scanner.php:2888
#: includes/free-plus/livefeed/class-livefeed.php:96
#: includes/free-plus/livefeed/class-livefeed.php:126
msgid "Pause"
msgstr ""

#: admin/views/class-view-scanner.php:2233
#: admin/views/class-view-scanner.php:2273
msgid "View All →"
msgstr ""

#: admin/views/class-view-scanner.php:2258
msgid "Recent File Changes"
msgstr ""

#: admin/views/class-view-scanner.php:2262
msgid "Scan for file changes now"
msgstr ""

#: admin/views/class-view-scanner.php:2264
msgid "Refresh"
msgstr ""

#: admin/views/class-view-scanner.php:2267
msgid "Clear this list (files will reappear if changed again)"
msgstr ""

#: admin/views/class-view-scanner.php:2269
#: admin/views/class-view-scanner.php:3066
#: admin/views/partials/tables.php:795
#: admin/views/partials/tables.php:834
msgid "Clear List"
msgstr ""

#: admin/views/class-view-scanner.php:2882
#: includes/free-plus/livefeed/class-livefeed.php:126
msgid "Resume"
msgstr ""

#: admin/views/class-view-scanner.php:2980
msgid "Attack Blocked!"
msgstr ""

#: admin/views/class-view-scanner.php:2981
msgid "new attack(s) blocked"
msgstr ""

#: admin/views/class-view-scanner.php:3000
msgid "New Security Event"
msgstr ""

#: admin/views/class-view-scanner.php:3001
msgid "Check Live Security Monitor for details"
msgstr ""

#: admin/views/class-view-scanner.php:3051
msgid "Clear all file change entries from the list? Files will reappear if they change again."
msgstr ""

#: admin/views/class-view-scanner.php:3055
msgid "Clearing..."
msgstr ""

#: admin/views/class-view-scanner.php:3064
msgid "List Cleared"
msgstr ""

#: admin/views/class-view-scanner.php:3064
msgid "File change list has been cleared"
msgstr ""

#: admin/views/class-view-scanner.php:3075
msgid "Clear all security events from the monitor? New events will still be logged."
msgstr ""

#: admin/views/class-view-scanner.php:3088
msgid "Monitor Cleared"
msgstr ""

#: admin/views/class-view-scanner.php:3088
msgid "Security monitor has been cleared"
msgstr ""

#: admin/views/class-view-scanner.php:3119
msgid "Scanned"
msgstr ""

#: admin/views/class-view-scanner.php:3120
msgid "files"
msgstr ""

#: admin/views/class-view-scanner.php:3123
msgid "Changes Found!"
msgstr ""

#: admin/views/class-view-scanner.php:3124
msgid "new changes detected"
msgstr ""

#: admin/views/class-view-scanner.php:3126
msgid "Scan Complete"
msgstr ""

#: admin/views/class-view-scanner.php:3129
#: admin/views/class-view-scanner.php:3133
msgid "Error"
msgstr ""

#. translators: %d is the number of minutes since the last update.
#: admin/views/class-view-scanner.php:3869
#, php-format
msgid "%d minutes ago"
msgstr ""

#. translators: %d is the number of hours since the last update.
#: admin/views/class-view-scanner.php:3872
#, php-format
msgid "%d hours ago"
msgstr ""

#: admin/views/class-view-scanner.php:3877
#: admin/views/class-view-settings.php:601
#: admin/views/class-view-settings.php:755
#: includes/free-plus/digest/class-weekly-digest.php:209
#: includes/scanner/class-threat-feed.php:754
msgid "Never"
msgstr ""

#: admin/views/class-view-scanner.php:3882
msgid "Real-time (PRO)"
msgstr ""

#: admin/views/class-view-scanner.php:3882
#: admin/views/class-view-settings.php:608
msgid "Weekly"
msgstr ""

#. translators: %d is the number of days until the next update is available.
#: admin/views/class-view-scanner.php:3899
#, php-format
msgid "Next update available in %d days"
msgstr ""

#: admin/views/class-view-scanner.php:3911
msgid "Threat Intelligence Database"
msgstr ""

#: admin/views/class-view-scanner.php:3913
#: admin/views/class-view-settings.php:755
#: admin/views/partials/buttons.php:1752
#: admin/views/partials/buttons.php:1760
msgid "signatures"
msgstr ""

#: admin/views/class-view-scanner.php:3914
#: admin/views/class-view-settings.php:755
#: admin/views/partials/buttons.php:1753
msgid "malware hashes"
msgstr ""

#: admin/views/class-view-scanner.php:3915
#: admin/views/partials/buttons.php:1754
msgid "Updated:"
msgstr ""

#: admin/views/class-view-scanner.php:3921
msgid "Refresh Now"
msgstr ""

#: admin/views/class-view-scanner.php:4035
#: admin/views/class-view-settings.php:649
#: admin/views/class-view-settings.php:881
msgid "Update failed"
msgstr ""

#: admin/views/class-view-scanner.php:4040
#: admin/views/class-view-settings.php:654
#: admin/views/class-view-settings.php:885
#: admin/views/partials/buttons.php:296
#: admin/views/partials/buttons.php:519
#: admin/views/partials/buttons.php:1824
#: admin/views/partials/buttons.php:1910
msgid "Connection error"
msgstr ""

#: admin/views/class-view-settings.php:101
msgid "Don't forget to click \"Save Settings\" after making changes!"
msgstr ""

#: admin/views/class-view-settings.php:118
msgid "Scanner Settings"
msgstr ""

#: admin/views/class-view-settings.php:133
msgid "Login Security"
msgstr ""

#. translators: %s is the AI-CyberGuard website URL
#: admin/views/class-view-settings.php:164
#, php-format
msgid "Learn more at <a href=\"%s\" target=\"_blank\" rel=\"noopener\">AI-CyberGuard.com</a>"
msgstr ""

#: admin/views/class-view-settings.php:177
msgid "Settings saved successfully."
msgstr ""

#: admin/views/class-view-settings.php:178
msgid "Privacy settings saved successfully."
msgstr ""

#: admin/views/class-view-settings.php:179
msgid "✅ Test email sent successfully! Check your inbox (and spam folder)."
msgstr ""

#: admin/views/class-view-settings.php:180
msgid "❌ Test email failed to send. Please check: 1) Your SMTP configuration 2) wp_mail function is working 3) Email recipient is valid 4) Server allows outgoing mail"
msgstr ""

#: admin/views/class-view-settings.php:182
msgid "IP address unblocked."
msgstr ""

#: admin/views/class-view-settings.php:183
msgid "IP address blocked temporarily."
msgstr ""

#: admin/views/class-view-settings.php:184
msgid "IP added to permanent blacklist."
msgstr ""

#: admin/views/class-view-settings.php:185
msgid "IP removed from blacklist."
msgstr ""

#: admin/views/class-view-settings.php:186
msgid "IP added to whitelist."
msgstr ""

#: admin/views/class-view-settings.php:187
msgid "IP removed from whitelist."
msgstr ""

#: admin/views/class-view-settings.php:188
msgid "Failed attempts cleared for IP."
msgstr ""

#: admin/views/class-view-settings.php:189
msgid "All suspicious activity cleared."
msgstr ""

#: admin/views/class-view-settings.php:190
msgid "Selected IPs blocked temporarily."
msgstr ""

#: admin/views/class-view-settings.php:191
msgid "Selected IPs added to permanent blacklist."
msgstr ""

#: admin/views/class-view-settings.php:192
msgid "Selected IPs cleared from suspicious list."
msgstr ""

#: admin/views/class-view-settings.php:193
msgid "Selected IPs unblocked."
msgstr ""

#: admin/views/class-view-settings.php:194
msgid "All blocked IPs have been unblocked."
msgstr ""

#: admin/views/class-view-settings.php:195
msgid "Invalid IP address format."
msgstr ""

#: admin/views/class-view-settings.php:196
msgid "File removed from ignored list."
msgstr ""

#: admin/views/class-view-settings.php:244
msgid "Save Scanner Settings"
msgstr ""

#: admin/views/class-view-settings.php:253
msgid "Scheduled Scans"
msgstr ""

#: admin/views/class-view-settings.php:257
msgid "Automatic scans run in the background, alert you when files change, and check every changed file for malware. Recommended: Enable with \"Twice daily\" for most sites."
msgstr ""

#: admin/views/class-view-settings.php:261
msgid "Run automatic scans"
msgstr ""

#: admin/views/class-view-settings.php:262
msgid "Scans run via WordPress cron. Make sure your site has regular traffic or set up a server cron job."
msgstr ""

#: admin/views/class-view-settings.php:266
msgid "Frequency"
msgstr ""

#: admin/views/class-view-settings.php:268
msgid "Hourly (high traffic sites)"
msgstr ""

#: admin/views/class-view-settings.php:269
msgid "Every 4 hours"
msgstr ""

#: admin/views/class-view-settings.php:270
msgid "Twice daily (recommended)"
msgstr ""

#: admin/views/class-view-settings.php:271
msgid "Daily (low traffic sites)"
msgstr ""

#. translators: %s is the local time of the next scheduled scan
#: admin/views/class-view-settings.php:282
#, php-format
msgid "Next scan: %s"
msgstr ""

#: admin/views/class-view-settings.php:287
msgid "No scan scheduled — save settings to schedule."
msgstr ""

#: admin/views/class-view-settings.php:294
msgid "Preferred time"
msgstr ""

#: admin/views/class-view-settings.php:296
msgid "For Daily / Twice-daily schedules, the scan starts around this time in your site timezone — pick a quiet, low-traffic hour. WordPress runs scheduled tasks on visitor traffic, so it runs close to this time, not exactly on the clock."
msgstr ""

#: admin/views/class-view-settings.php:299
msgid "Scan Mode"
msgstr ""

#: admin/views/class-view-settings.php:301
msgid "Regular - risky files only (fast, recommended)"
msgstr ""

#: admin/views/class-view-settings.php:302
msgid "Full - all files (thorough but slower)"
msgstr ""

#: admin/views/class-view-settings.php:304
msgid "Regular scans check PHP, JS, and config files. Full scans check everything including images and backups."
msgstr ""

#: admin/views/class-view-settings.php:312
msgid "Scan results are displayed on the main Dashboard page. After each scheduled scan, you can view the results and receive email alerts (if enabled)."
msgstr ""

#: admin/views/class-view-settings.php:327
msgid "Get notified by email when files change — and immediately if a scheduled scan finds malware."
msgstr ""

#: admin/views/class-view-settings.php:331
msgid "Send email when changes are detected"
msgstr ""

#: admin/views/class-view-settings.php:334
#: includes/free-plus/digest/class-weekly-digest.php:333
msgid "Recipients"
msgstr ""

#: admin/views/class-view-settings.php:336
msgid "Comma-separated emails. Leave empty to use the site admin email."
msgstr ""

#: admin/views/class-view-settings.php:339
msgid "Subject Prefix"
msgstr ""

#: admin/views/class-view-settings.php:341
msgid "Optional prefix for filtering emails in your inbox. Example: [MyCompany-Security]"
msgstr ""

#: admin/views/class-view-settings.php:344
msgid "Rate Limit"
msgstr ""

#: admin/views/class-view-settings.php:346
msgid "No limit (send all alerts)"
msgstr ""

#: admin/views/class-view-settings.php:347
msgid "Max 1 per hour"
msgstr ""

#: admin/views/class-view-settings.php:348
msgid "Max 1 per 4 hours"
msgstr ""

#: admin/views/class-view-settings.php:349
msgid "Max 1 per 12 hours"
msgstr ""

#: admin/views/class-view-settings.php:350
msgid "Max 1 per 24 hours"
msgstr ""

#: admin/views/class-view-settings.php:354
msgid "Prevent email overload during large updates. \"No limit\" is fine for most sites. Confirmed malware alerts are always sent immediately and ignore this limit."
msgstr ""

#: admin/views/class-view-settings.php:357
msgid "Noise Control"
msgstr ""

#: admin/views/class-view-settings.php:358
msgid "Only alert on risky file types (PHP, JS, config files)"
msgstr ""

#: admin/views/class-view-settings.php:359
msgid "Reduces alerts for harmless changes like images or CSS files."
msgstr ""

#: admin/views/class-view-settings.php:362
msgid "Include available plugin updates in alerts"
msgstr ""

#: admin/views/class-view-settings.php:374
msgid "Scan Exclusions"
msgstr ""

#: admin/views/class-view-settings.php:375
msgid "Reduce false positives by excluding known-changing files like cache folders and logs."
msgstr ""

#: admin/views/class-view-settings.php:379
msgid "Security Trade-off:"
msgstr ""

#: admin/views/class-view-settings.php:379
msgid "Excluded folders are not scanned at all. Only exclude folders you trust completely."
msgstr ""

#: admin/views/class-view-settings.php:384
msgid "Allowed Change Patterns"
msgstr ""

#: admin/views/class-view-settings.php:386
msgid "One pattern per line. Use <code>*</code> as wildcard. These files are <strong>still scanned</strong> but won't trigger email alerts."
msgstr ""

#: admin/views/class-view-settings.php:387
#: admin/views/class-view-settings.php:396
msgid "Common examples:"
msgstr ""

#: admin/views/class-view-settings.php:393
msgid "Excluded Directories"
msgstr ""

#: admin/views/class-view-settings.php:395
msgid "These folders are completely ignored. Use only for non-sensitive folders like backup archives."
msgstr ""

#: admin/views/class-view-settings.php:410
msgid "Test Email"
msgstr ""

#: admin/views/class-view-settings.php:411
msgid "Send a test message to verify your email configuration."
msgstr ""

#: admin/views/class-view-settings.php:415
msgid "Send Test Email"
msgstr ""

#: admin/views/class-view-settings.php:442
msgid "Privacy Notice"
msgstr ""

#: admin/views/class-view-settings.php:444
msgid "When enabled, AI Analysis sends code excerpts from detected file changes to an external AI service (Claude by Anthropic) for security analysis. Alongside each excerpt it also sends the file name, its path relative to your site root, the file type, and your WordPress version (never the absolute server path or a username). Sensitive data like passwords, API keys, and database credentials are automatically redacted before sending."
msgstr ""

#: admin/views/class-view-settings.php:453
msgid "AI Analysis is currently disabled. Enable it to get intelligent security insights."
msgstr ""

#: admin/views/class-view-settings.php:457
#: admin/views/class-view-settings.php:484
#: admin/views/class-view-settings.php:489
msgid "Enable AI Analysis"
msgstr ""

#: admin/views/class-view-settings.php:460
msgid "By enabling, you consent to sending code excerpts to an external AI service for analysis."
msgstr ""

#: admin/views/class-view-settings.php:470
msgid "Enabling..."
msgstr ""

#: admin/views/class-view-settings.php:483
msgid "Failed to enable AI Analysis."
msgstr ""

#: admin/views/class-view-settings.php:488
#: admin/views/partials/buttons.php:1601
#: admin/views/partials/buttons.php:1686
#: includes/free-plus/ai-help/class-ai-help.php:1049
#: includes/free-plus/hub/class-hub.php:302
msgid "Network error. Please try again."
msgstr ""

#: admin/views/class-view-settings.php:503
msgid "AI Analysis is enabled and ready to use!"
msgstr ""

#: admin/views/class-view-settings.php:508
msgid "AI Analysis is enabled but the service is temporarily unavailable."
msgstr ""

#: admin/views/class-view-settings.php:514
msgid "Usage Statistics"
msgstr ""

#: admin/views/class-view-settings.php:517
msgid "Credits Used"
msgstr ""

#. translators: %d is the number of PRO AI analyses remaining this year
#: admin/views/class-view-settings.php:530
#, php-format
msgid "%d PRO analyses remaining this year"
msgstr ""

#. translators: %d is the number of free AI analyses remaining
#: admin/views/class-view-settings.php:533
#, php-format
msgid "%d free analyses remaining"
msgstr ""

#: admin/views/class-view-settings.php:541
msgid "How AI Analysis Works"
msgstr ""

#: admin/views/class-view-settings.php:543
msgid "AI analyzes your scan results when file changes are detected"
msgstr ""

#: admin/views/class-view-settings.php:544
msgid "Get risk assessment: None, Low, Medium, or High"
msgstr ""

#: admin/views/class-view-settings.php:545
msgid "Receive actionable security recommendations"
msgstr ""

#: admin/views/class-view-settings.php:546
msgid "Sensitive data (passwords, API keys) is automatically redacted"
msgstr ""

#: admin/views/class-view-settings.php:548
msgid "PRO: 500 AI analyses/year (resets annually)"
msgstr ""

#. translators: %d is the number of free lifetime AI analyses
#: admin/views/class-view-settings.php:551
#, php-format
msgid "Free tier: %d analyses (lifetime)"
msgstr ""

#: admin/views/class-view-settings.php:552
msgid "PRO: 500 AI analyses/year"
msgstr ""

#: admin/views/class-view-settings.php:568
#: admin/views/class-view-settings.php:715
#: admin/views/class-view-settings.php:734
msgid "Threat Intelligence Feed"
msgstr ""

#: admin/views/class-view-settings.php:572
msgid "What is Threat Intelligence?"
msgstr ""

#: admin/views/class-view-settings.php:574
msgid "AI CyberGuard automatically downloads the latest malware signatures and threat patterns from our security database. This keeps your scanner updated with new threats as they are discovered."
msgstr ""

#: admin/views/class-view-settings.php:577
msgid "NEW malware patterns added weekly"
msgstr ""

#: admin/views/class-view-settings.php:578
msgid "Known malware file hashes (MD5)"
msgstr ""

#: admin/views/class-view-settings.php:579
msgid "Web shell signatures"
msgstr ""

#: admin/views/class-view-settings.php:580
msgid "Backdoor detection patterns"
msgstr ""

#: admin/views/class-view-settings.php:590
msgid "Threat Signatures"
msgstr ""

#: admin/views/class-view-settings.php:596
msgid "Malware Hashes"
msgstr ""

#: admin/views/class-view-settings.php:603
msgid "Last Updated"
msgstr ""

#: admin/views/class-view-settings.php:611
msgid "Update Frequency"
msgstr ""

#: admin/views/class-view-settings.php:620
#: admin/views/class-view-settings.php:756
msgid "Update Now"
msgstr ""

#: admin/views/class-view-settings.php:635
#: admin/views/class-view-settings.php:872
msgid "Updating..."
msgstr ""

#: admin/views/class-view-settings.php:696
msgid "Privacy & External Requests"
msgstr ""

#: admin/views/class-view-settings.php:701
msgid "Your Privacy Matters"
msgstr ""

#: admin/views/class-view-settings.php:705
msgid "AI CyberGuard respects your privacy. All external connections to GuardPress servers are disabled by default. You have full control over what data is shared. Enable the features below to get the most out of the plugin."
msgstr ""

#: admin/views/class-view-settings.php:712
msgid "Recommended for Full Protection:"
msgstr ""

#: admin/views/class-view-settings.php:715
msgid "Enable for latest malware signatures (weekly updates)"
msgstr ""

#: admin/views/class-view-settings.php:716
msgid "Enable for deep code analysis (20 free credits)"
msgstr ""

#: admin/views/class-view-settings.php:737
msgid "Registers your site with guardpress.ai (random installation ID + plugin version) and downloads the latest malware signatures, updated weekly. While this is on, scans may also check suspicious file hashes and URLs against the public abuse.ch database."
msgstr ""

#: admin/views/class-view-settings.php:740
#: admin/views/class-view-settings.php:800
#: admin/views/class-view-settings.php:833
msgid "Data sent:"
msgstr ""

#: admin/views/class-view-settings.php:740
msgid "random installation ID + plugin version; suspicious file hashes/URLs during scans"
msgstr ""

#: admin/views/class-view-settings.php:741
#: admin/views/class-view-settings.php:801
#: admin/views/class-view-settings.php:834
msgid "To:"
msgstr ""

#: admin/views/class-view-settings.php:748
#: admin/views/class-view-settings.php:808
#: admin/views/class-view-settings.php:841
msgid "ON"
msgstr ""

#: admin/views/class-view-settings.php:748
#: admin/views/class-view-settings.php:808
#: admin/views/class-view-settings.php:841
msgid "OFF"
msgstr ""

#: admin/views/class-view-settings.php:755
#: admin/views/partials/buttons.php:1760
msgid "Updated"
msgstr ""

#: admin/views/class-view-settings.php:767
msgid "Auto-update Schedule"
msgstr ""

#: admin/views/class-view-settings.php:770
msgid "Automatically check for new signatures via WordPress cron"
msgstr ""

#: admin/views/class-view-settings.php:780
msgid "AUTO"
msgstr ""

#: admin/views/class-view-settings.php:780
msgid "MANUAL"
msgstr ""

#: admin/views/class-view-settings.php:794
msgid "FREE CREDITS"
msgstr ""

#: admin/views/class-view-settings.php:797
msgid "Analyzes suspicious files using AI to detect hidden malware and backdoors."
msgstr ""

#: admin/views/class-view-settings.php:800
msgid "File content + the file name, its path relative to your site root, the file type, and your WordPress version (only when you click Analyze; secrets are redacted; no absolute path or username is sent)"
msgstr ""

#. translators: 1: number of AI credits used, 2: total AI credit limit
#: admin/views/class-view-settings.php:815
#, php-format
msgid "%1$d of %2$d AI credits used."
msgstr ""

#: admin/views/class-view-settings.php:827
msgid "Attack-map location lookup (GeoIP)"
msgstr ""

#: admin/views/class-view-settings.php:830
msgid "Looks up the country of attacking IP addresses so the Live Attack Map can plot them. Off by default — while off, the map only shows countries already known from cache."
msgstr ""

#: admin/views/class-view-settings.php:833
msgid "Attacking IP address (only when you open the dashboard, rate-limited)"
msgstr ""

#: admin/views/class-view-settings.php:853
msgid "Note: AI Analysis only sends data when YOU click the \"Analyze\" button. It never runs automatically. All connections use HTTPS encryption."
msgstr ""

#: admin/views/class-view-settings.php:858
msgid "Save Privacy Settings"
msgstr ""

#: admin/views/class-view-settings.php:910
msgid "Suspicious IPs"
msgstr ""

#: admin/views/class-view-settings.php:917
msgid "Temp. Blocked"
msgstr ""

#: admin/views/class-view-settings.php:924
msgid "Blacklisted"
msgstr ""

#: admin/views/class-view-settings.php:931
#: admin/views/partials/cards.php:99
msgid "Failed Today"
msgstr ""

#. translators: %d is the number of failed login attempts this week
#. translators: %d: number of failed logins this week
#. translators: %d: number of successful logins this week
#: admin/views/class-view-settings.php:935
#: admin/views/partials/cards.php:104
#: admin/views/partials/cards.php:113
#, php-format
msgid "This week: %d"
msgstr ""

#: admin/views/class-view-settings.php:956
msgid "What this does:"
msgstr ""

#: admin/views/class-view-settings.php:957
msgid "Automatically blocks IP addresses that repeatedly fail to log in. This stops password-guessing attacks."
msgstr ""

#: admin/views/class-view-settings.php:965
msgid "You can't lock yourself out:"
msgstr ""

#: admin/views/class-view-settings.php:966
msgid "Add your own IP to the Whitelist lower on this page (or use the Login Rescue page) — whitelisted addresses are never blocked, no matter how many logins fail."
msgstr ""

#: admin/views/class-view-settings.php:973
msgid "Enable Protection"
msgstr ""

#: admin/views/class-view-settings.php:974
msgid "Enable brute force protection"
msgstr ""

#: admin/views/class-view-settings.php:975
msgid "Recommended: Always keep this enabled to protect against automated attacks."
msgstr ""

#: admin/views/class-view-settings.php:980
msgid "Max Failed Attempts"
msgstr ""

#: admin/views/class-view-settings.php:982
msgid "After this many failed login attempts, the IP gets temporarily blocked. 3-5 is recommended."
msgstr ""

#: admin/views/class-view-settings.php:986
msgid "Lockout Duration"
msgstr ""

#: admin/views/class-view-settings.php:988
msgid "minutes"
msgstr ""

#: admin/views/class-view-settings.php:989
msgid "How long to block the IP. Longer = more secure but may inconvenience forgetful users."
msgstr ""

#: admin/views/class-view-settings.php:993
msgid "Additional Options"
msgstr ""

#: admin/views/class-view-settings.php:995
msgid "Increase lockout duration for repeat offenders"
msgstr ""

#: admin/views/class-view-settings.php:996
msgid "Doubles the lockout time each time the same IP gets blocked again."
msgstr ""

#: admin/views/class-view-settings.php:1000
msgid "Log all login attempts"
msgstr ""

#: admin/views/class-view-settings.php:1001
msgid "Records successful and failed logins for security auditing."
msgstr ""

#: admin/views/class-view-settings.php:1006
msgid "Email admin when an IP is locked out"
msgstr ""

#: admin/views/class-view-settings.php:1007
msgid "Get notified when someone triggers a lockout. Useful for detecting attacks."
msgstr ""

#: admin/views/class-view-settings.php:1014
msgid "Save Login Security Settings"
msgstr ""

#: admin/views/class-view-settings.php:1049
msgid "PRO Security Features"
msgstr ""

#: admin/views/class-view-settings.php:1057
msgid "These advanced security features are available in the PRO version."
msgstr ""

#: admin/views/class-view-settings.php:1061
msgid "Configure each feature from its dedicated settings page. Click on any feature below to manage its settings."
msgstr ""

#: admin/views/class-view-settings.php:1070
msgid "Advanced WAF (Real-Time)"
msgstr ""

#: admin/views/class-view-settings.php:1072
msgid "Always-on real-time firewall — upgrades the basic firewall already in FREE"
msgstr ""

#: admin/views/class-view-settings.php:1080
msgid "Block or allow traffic from specific countries"
msgstr ""

#: admin/views/class-view-settings.php:1086
msgid "Full 2FA (Org-Wide)"
msgstr ""

#: admin/views/class-view-settings.php:1088
msgid "Org-wide enforcement, per-role rules & trusted devices — beyond the per-user 2FA in FREE"
msgstr ""

#: admin/views/class-view-settings.php:1096
msgid "Monitor file changes instantly as they happen"
msgstr ""

#: admin/views/class-view-settings.php:1105
msgid "Automatic backups to Google Drive, Dropbox, or S3"
msgstr ""

#: admin/views/class-view-settings.php:1111
#: admin/views/partials/pro-features.php:239
msgid "Quarantine & Auto-Restore"
msgstr ""

#: admin/views/class-view-settings.php:1113
msgid "Isolate suspicious files, auto-restore from baseline"
msgstr ""

#: admin/views/class-view-settings.php:1121
msgid "Browse and restore any file version from history"
msgstr ""

#: admin/views/class-view-settings.php:1128
msgid "Instant Notifications"
msgstr ""

#: admin/views/class-view-settings.php:1130
msgid "SMS, WhatsApp, Telegram, Slack alerts"
msgstr ""

#: admin/views/class-view-settings.php:1138
msgid "Receive phone calls for critical security events"
msgstr ""

#: admin/views/class-view-settings.php:1147
msgid "Chat with AI about your security status and threats"
msgstr ""

#: admin/views/class-view-settings.php:1155
msgid "AI predicts potential vulnerabilities before attacks"
msgstr ""

#: admin/views/class-view-settings.php:1163
msgid "Detect unusual login patterns and suspicious behavior"
msgstr ""

#: admin/views/class-view-settings.php:1171
msgid "Visualize attack timeline and understand threat vectors"
msgstr ""

#: admin/views/class-view-settings.php:1180
msgid "Deploy decoy files to detect and trap attackers"
msgstr ""

#: admin/views/class-view-settings.php:1188
msgid "Advanced code analysis beyond simple hash matching"
msgstr ""

#: admin/views/class-view-settings.php:1196
msgid "Compare files with Git repositories for integrity"
msgstr ""

#: admin/views/class-view-settings.php:1203
msgid "Compliance Dashboard"
msgstr ""

#: admin/views/class-view-settings.php:1205
msgid "GDPR, PCI-DSS compliance reports and audit logs"
msgstr ""

#: admin/views/class-view-settings.php:1211
#: admin/views/partials/pro-features.php:253
msgid "Security Gamification"
msgstr ""

#: admin/views/class-view-settings.php:1213
msgid "Achievements, streaks, leaderboard & score history"
msgstr ""

#: admin/views/class-view-settings.php:1222
msgid "Get alerted when your site goes down"
msgstr ""

#: admin/views/class-view-settings.php:1236
#: includes/free-plus/streaks/class-streaks.php:208
msgid "Locked"
msgstr ""

#: admin/views/class-view-settings.php:1236
#: includes/free-plus/hardening/class-hardening.php:314
#: includes/free-plus/hide-login/class-hide-login.php:345
msgid "Active"
msgstr ""

#: admin/views/class-view-settings.php:1236
msgid "Inactive"
msgstr ""

#: admin/views/class-view-settings.php:1259
msgid "Unlock with PRO"
msgstr ""

#: admin/views/class-view-settings.php:1264
msgid "Configure"
msgstr ""

#: admin/views/partials/buttons.php:89
msgid "👉 New here? Run a Malware Scan (above) first, then click “Create Baseline.” The baseline records your current files as the clean reference, so the scanner can spot anything that changes later."
msgstr ""

#: admin/views/partials/buttons.php:94
#: admin/views/partials/buttons.php:902
msgid "Create Baseline"
msgstr ""

#: admin/views/partials/buttons.php:100
#: admin/views/partials/buttons.php:903
msgid "Refresh Baseline"
msgstr ""

#: admin/views/partials/buttons.php:106
msgid "Regular Scan (file changes)"
msgstr ""

#: admin/views/partials/buttons.php:112
msgid "Full Scan (file changes)"
msgstr ""

#: admin/views/partials/buttons.php:118
#: includes/admin-bar/class-admin-bar.php:96
#: includes/dashboard/class-dashboard-widget.php:123
#: includes/free-plus/hide-login/class-hide-login.php:356
msgid "Settings"
msgstr ""

#: admin/views/partials/buttons.php:133
msgid "Initializing..."
msgstr ""

#: admin/views/partials/buttons.php:135
#: admin/views/partials/buttons.php:449
#: admin/views/partials/buttons.php:1418
msgid "Cancel"
msgstr ""

#: admin/views/partials/buttons.php:146
#: admin/views/partials/buttons.php:1429
msgid "Files: 0 / 0"
msgstr ""

#: admin/views/partials/buttons.php:147
#: admin/views/partials/buttons.php:1431
msgid "Estimating..."
msgstr ""

#: admin/views/partials/buttons.php:190
#: admin/views/partials/buttons.php:869
msgid "Calculating..."
msgstr ""

#: admin/views/partials/buttons.php:275
#: admin/views/partials/buttons.php:1791
msgid "Initializing scan..."
msgstr ""

#: admin/views/partials/buttons.php:292
#: admin/views/partials/buttons.php:1820
msgid "Failed to initialize scan"
msgstr ""

#: admin/views/partials/buttons.php:335
#: admin/views/partials/buttons.php:1862
msgid "Scan error"
msgstr ""

#: admin/views/partials/buttons.php:346
msgid "Scan stopped after repeated connection errors. Please reload the page and try again."
msgstr ""

#: admin/views/partials/buttons.php:374
#: includes/scanner/class-batch-scanner.php:826
msgid "Scan complete!"
msgstr ""

#: admin/views/partials/buttons.php:385
msgid "Failed to finalize scan"
msgstr ""

#: admin/views/partials/buttons.php:389
#: admin/views/partials/buttons.php:608
msgid "Connection error during finalization"
msgstr ""

#: admin/views/partials/buttons.php:426
msgid "Malware was found on this site"
msgstr ""

#: admin/views/partials/buttons.php:427
msgid "Some files still need your review"
msgstr ""

#: admin/views/partials/buttons.php:430
msgid "confirmed threat(s)"
msgstr ""

#: admin/views/partials/buttons.php:431
msgid "and"
msgstr ""

#: admin/views/partials/buttons.php:432
msgid "high-priority item(s) to review from your last Malware Scan have not been dealt with yet."
msgstr ""

#: admin/views/partials/buttons.php:434
msgid "confirmed threat(s) from your last Malware Scan have not been dealt with yet."
msgstr ""

#: admin/views/partials/buttons.php:436
msgid "high-priority item(s) from your last Malware Scan still need your review — the scanner flagged them as possibly malicious."
msgstr ""

#: admin/views/partials/buttons.php:442
msgid "It is recommended to remove them BEFORE creating a baseline."
msgstr ""

#: admin/views/partials/buttons.php:443
msgid "To be clear about what a baseline does and does not do: the Malware Scan will keep reporting these files either way — a baseline does not hide malware. What changes is that these files become your accepted reference, so the file-change scan stops flagging them, and any later tampering is measured from the already-infected version."
msgstr ""

#: admin/views/partials/buttons.php:447
msgid "I am aware — create the baseline anyway"
msgstr ""

#: admin/views/partials/buttons.php:451
#: admin/views/partials/buttons.php:672
#: admin/views/partials/buttons.php:798
msgid "Close"
msgstr ""

#: admin/views/partials/buttons.php:499
msgid "Initializing baseline creation..."
msgstr ""

#: admin/views/partials/buttons.php:515
msgid "Failed to initialize baseline"
msgstr ""

#: admin/views/partials/buttons.php:557
msgid "Baseline error"
msgstr ""

#: admin/views/partials/buttons.php:565
msgid "Baseline stopped after repeated connection errors. Please reload the page and try again."
msgstr ""

#: admin/views/partials/buttons.php:593
msgid "Baseline created!"
msgstr ""

#: admin/views/partials/buttons.php:604
msgid "Failed to finalize baseline"
msgstr ""

#: admin/views/partials/buttons.php:660
msgid "Baseline created successfully"
msgstr ""

#: admin/views/partials/buttons.php:662
msgid "files were recorded as your reference point."
msgstr ""

#: admin/views/partials/buttons.php:666
msgid "File-change detection is now active. From here on, a Regular or Full Scan can tell you which files were added, changed or removed."
msgstr ""

#: admin/views/partials/buttons.php:667
msgid "Note: a baseline records file changes. It does not remove malware — if a Malware Scan reported threats, deal with those separately."
msgstr ""

#: admin/views/partials/buttons.php:671
#: admin/views/partials/buttons.php:796
#: includes/free-plus/setup/class-setup-wizard.php:246
msgid "Done"
msgstr ""

#: admin/views/partials/buttons.php:776
msgid "Scan complete — file changes found"
msgstr ""

#: admin/views/partials/buttons.php:777
msgid "Scan complete — no changes found"
msgstr ""

#: admin/views/partials/buttons.php:783
msgid "Compared against your baseline:"
msgstr ""

#: admin/views/partials/buttons.php:785
#: includes/scanner/class-visual-diff.php:124
msgid "changed"
msgstr ""

#: admin/views/partials/buttons.php:786
msgid "new"
msgstr ""

#: admin/views/partials/buttons.php:787
msgid "deleted"
msgstr ""

#: admin/views/partials/buttons.php:788
msgid "Most file changes are harmless — WordPress, plugin and theme updates change files too. A file listed here is not necessarily malware. Close this to see the full list."
msgstr ""

#: admin/views/partials/buttons.php:790
msgid "Every file still matches your baseline — nothing was added, changed or deleted."
msgstr ""

#: admin/views/partials/buttons.php:791
msgid "This compares files against your baseline. It is not a malware scan — run a Malware Scan to check file contents."
msgstr ""

#: admin/views/partials/buttons.php:796
msgid "Show me what changed"
msgstr ""

#: admin/views/partials/buttons.php:863
#: admin/views/partials/buttons.php:1936
msgid "Files:"
msgstr ""

#: admin/views/partials/buttons.php:867
#: admin/views/partials/buttons.php:1853
msgid "ETA:"
msgstr ""

#: admin/views/partials/buttons.php:897
msgid "Two different scans — what’s the difference?"
msgstr ""

#: admin/views/partials/buttons.php:898
msgid "The Malware Scan (purple box above) looks for known malicious code inside your files. The scans below — Regular Scan and Full Scan — do something different: they compare your files against your saved Baseline and report any file that was changed, added, or removed. Most file changes are completely harmless (WordPress, plugin or theme updates), so a file listed here is NOT necessarily malware — it simply changed since your baseline. The two scans work together: malware scanning catches known bad code, and file-change scanning catches tampering even when the code is not yet a known signature."
msgstr ""

#: admin/views/partials/buttons.php:902
msgid "records your current files as the clean reference — do this once, ideally right after a clean Malware Scan."
msgstr ""

#: admin/views/partials/buttons.php:903
msgid "click this after legitimate WordPress, plugin, or theme updates, so the scanner learns the new files and stops flagging them as changes (avoids false alarms)."
msgstr ""

#: admin/views/partials/buttons.php:904
msgid "Regular Scan"
msgstr ""

#: admin/views/partials/buttons.php:904
msgid "checks only risky file types (PHP, JS, configs). Fast and recommended."
msgstr ""

#: admin/views/partials/buttons.php:905
msgid "Full Scan"
msgstr ""

#: admin/views/partials/buttons.php:905
msgid "checks every file (slower). Use only if you suspect your site was hacked."
msgstr ""

#. translators: %d is the number of confirmed malware findings from the automatic scheduled scan.
#: admin/views/partials/buttons.php:973
#, php-format
msgid "Your scheduled scan found %d confirmed threat"
msgid_plural "Your scheduled scan found %d confirmed threats"
msgstr[0] ""
msgstr[1] ""

#. translators: %s is a human-readable time difference, e.g. "2 hours".
#: admin/views/partials/buttons.php:1007
#, php-format
msgid "First detected automatically %s ago, while you were away."
msgstr ""

#. translators: %d is the number of additional files not listed.
#: admin/views/partials/buttons.php:1044
#, php-format
msgid "and %d more file."
msgid_plural "and %d more files."
msgstr[0] ""
msgstr[1] ""

#. translators: %d is the number of infected files beyond the list limit.
#: admin/views/partials/buttons.php:1052
#, php-format
msgid "and %d further infected file that did not fit in this list."
msgid_plural "and %d further infected files that did not fit in this list."
msgstr[0] ""
msgstr[1] ""

#. translators: %d is the number of changed files the last scheduled scan could not fully check.
#: admin/views/partials/buttons.php:1081
#, php-format
msgid "That scan also could not fully check %d other changed file, so this list may not be everything."
msgid_plural "That scan also could not fully check %d other changed files, so this list may not be everything."
msgstr[0] ""
msgstr[1] ""

#: admin/views/partials/buttons.php:1093
msgid "A scheduled scan inspects the files that CHANGED since your baseline, so this is not a whole-site result. Run a full Malware Scan below to check the rest of the site. This notice clears itself once you remove these files, or once a scan reads them again and no longer finds them infected."
msgstr ""

#: admin/views/partials/buttons.php:1130
#: admin/views/partials/buttons.php:1352
msgid "Quick Malware Scan"
msgstr ""

#: admin/views/partials/buttons.php:1133
msgid "Run this BEFORE creating baseline"
msgstr ""

#: admin/views/partials/buttons.php:1190
msgid "Deep scan complete — site looks clean"
msgstr ""

#: admin/views/partials/buttons.php:1192
msgid "Quick scan complete — no malware found in the common PHP locations"
msgstr ""

#. translators: %d is the number of confirmed malware threats found by the scan
#: admin/views/partials/buttons.php:1220
#, php-format
msgid "%d threat found"
msgid_plural "%d threats found"
msgstr[0] ""
msgstr[1] ""

#: admin/views/partials/buttons.php:1224
msgid "WordPress core files have changed — reinstall WordPress"
msgstr ""

#. translators: %d is the number of serious items shown as potential threats
#: admin/views/partials/buttons.php:1237
#, php-format
msgid "No confirmed malware — %d item needs checking now"
msgid_plural "No confirmed malware — %d items need checking now"
msgstr[0] ""
msgstr[1] ""

#: admin/views/partials/buttons.php:1241
msgid "A file in your WordPress core folders is not part of the official release"
msgstr ""

#: admin/views/partials/buttons.php:1243
msgid "No malware found — but the scan was incomplete"
msgstr ""

#. translators: %d is the number of items that need review (not confirmed malware)
#: admin/views/partials/buttons.php:1247
#, php-format
msgid "No malware — %d item to review"
msgid_plural "No malware — %d items to review"
msgstr[0] ""
msgstr[1] ""

#: admin/views/partials/buttons.php:1251
msgid "Scan complete — review the results"
msgstr ""

#. translators: %s is a human-readable time difference, e.g. "5 minutes ago"
#: admin/views/partials/buttons.php:1260
#, php-format
msgid "Last scan: %s"
msgstr ""

#: admin/views/partials/buttons.php:1282
msgid "Why scan before baseline?"
msgstr ""

#: admin/views/partials/buttons.php:1283
msgid "Creating a baseline on an infected site will record malware as \"normal\". Run this quick scan first — it checks the common PHP malware locations — before establishing your security baseline."
msgstr ""

#. translators: %d is the number of days since threat signatures were last updated
#: admin/views/partials/buttons.php:1300
#, php-format
msgid "Threat signatures last updated %d days ago."
msgstr ""

#: admin/views/partials/buttons.php:1304
msgid "Threat signatures updated today."
msgstr ""

#: admin/views/partials/buttons.php:1307
msgid "Threat signatures never updated. Click \"Refresh\" in Threat Intelligence section below."
msgstr ""

#: admin/views/partials/buttons.php:1320
msgid "Threat Updates: Weekly"
msgstr ""

#: admin/views/partials/buttons.php:1378
msgid "Deep Scan (entire site)"
msgstr ""

#: admin/views/partials/buttons.php:1401
msgid "Show last scan results"
msgstr ""

#: admin/views/partials/buttons.php:1416
msgid "Initializing malware scan..."
msgstr ""

#: admin/views/partials/buttons.php:1430
msgid "Threats: 0"
msgstr ""

#: admin/views/partials/buttons.php:1436
msgid "The first scan inspects every single file, so it can take a few minutes — and longer on large sites with many files, so please be patient. From then on it is much faster: each file is given a unique cryptographic fingerprint, so every later scan instantly recognizes the unchanged files and skips them."
msgstr ""

#: admin/views/partials/buttons.php:1441
msgid "Do not close this page while the scan is running"
msgstr ""

#: admin/views/partials/buttons.php:1489
#: admin/views/partials/buttons.php:1668
#: includes/free-plus/quarantine/class-quarantine.php:3257
msgid "Quarantined"
msgstr ""

#: admin/views/partials/buttons.php:1497
msgid ""
"Move this file to Quarantine?\n"
"\n"
"The file is removed from its current location and kept in a protected area — your site keeps running, and you can restore it any time from the Quarantine page.\n"
"\n"
"(Core and critical WordPress files are protected automatically and cannot be quarantined.)"
msgstr ""

#: admin/views/partials/buttons.php:1517
msgid "Security Warning — what to do"
msgstr ""

#: admin/views/partials/buttons.php:1518
msgid "About this finding"
msgstr ""

#: admin/views/partials/buttons.php:1549
msgid "File path:"
msgstr ""

#: admin/views/partials/buttons.php:1558
msgid "Copy path"
msgstr ""

#: admin/views/partials/buttons.php:1560
msgid "Copied ✓"
msgstr ""

#: admin/views/partials/buttons.php:1569
msgid "To remove it yourself, delete this exact file via FTP, your hosting File Manager, or the server console."
msgstr ""

#: admin/views/partials/buttons.php:1585
msgid "This file is legitimate — don’t show it again"
msgstr ""

#: admin/views/partials/buttons.php:1588
msgid "Hide this file from future scans? It will automatically reappear if its content ever changes."
msgstr ""

#: admin/views/partials/buttons.php:1596
msgid "✓ Approved — hidden from future scans"
msgstr ""

#: admin/views/partials/buttons.php:1599
#: includes/scanner/class-malware-scanner.php:3898
msgid "Could not save the approval."
msgstr ""

#: admin/views/partials/buttons.php:1611
msgid "Open Plugins screen"
msgstr ""

#: admin/views/partials/buttons.php:1612
msgid "Open Themes screen"
msgstr ""

#: admin/views/partials/buttons.php:1617
msgid "Got it"
msgstr ""

#: admin/views/partials/buttons.php:1655
msgid "The server blocked deletion, so the file was emptied to zero bytes. It can no longer run code or expose data. A safe copy is kept in Quarantine."
msgstr ""

#: admin/views/partials/buttons.php:1655
msgid "Emptied (neutralised)"
msgstr ""

#: admin/views/partials/buttons.php:1659
msgid "File emptied instead of moved"
msgstr ""

#: admin/views/partials/buttons.php:1676
msgid "Could not remove this file automatically"
msgstr ""

#: admin/views/partials/buttons.php:1680
#: includes/free-plus/quarantine/class-quarantine.php:1469
msgid "Quarantine failed."
msgstr ""

#: admin/views/partials/buttons.php:1705
msgid "Welcome — let’s scan safely"
msgstr ""

#: admin/views/partials/buttons.php:1707
msgid "Before your first scan, AI CyberGuard can turn on the Threat Intelligence Feed. This registers your site with guardpress.ai using a random installation ID (not your site URL) and your plugin version, downloads the newest malware signatures, keeps them updated weekly, and lets scans check suspicious file hashes and URLs against the public abuse.ch database. You can turn this off any time under Settings → Privacy."
msgstr ""

#: admin/views/partials/buttons.php:1708
msgid "⚠️ Not recommended to scan without updating — you may miss the newest threats."
msgstr ""

#: admin/views/partials/buttons.php:1711
msgid "Scan without updating"
msgstr ""

#: admin/views/partials/buttons.php:1712
msgid "Update & Scan"
msgstr ""

#: admin/views/partials/buttons.php:1737
msgid "Updating Threat Database to the latest threats…"
msgstr ""

#: admin/views/partials/buttons.php:1754
msgid "Just now"
msgstr ""

#: admin/views/partials/buttons.php:1760
msgid "Starting scan…"
msgstr ""

#: admin/views/partials/buttons.php:1761
msgid "Couldn’t reach the server — scanning with current signatures…"
msgstr ""

#: admin/views/partials/buttons.php:1792
#: admin/views/partials/buttons.php:1937
msgid "Threats:"
msgstr ""

#: admin/views/partials/buttons.php:1874
msgid "Scan stopped after repeated connection errors. Please reload the page and run the scan again."
msgstr ""

#: admin/views/partials/buttons.php:1906
msgid "Failed to get results"
msgstr ""

#: admin/views/partials/buttons.php:1978
msgid "An official WordPress file that normally ships with WordPress is missing from your site (it was deleted or never restored). If you deleted it on purpose, you can ignore this. If not, the safe fix is Dashboard → Updates → “Re-install version”, which puts back every official file. Note: if this is an optional file (such as wp-config-sample.php) your site works fine without it."
msgstr ""

#: admin/views/partials/buttons.php:1980
msgid "This is a genuine WordPress core file, but its content does not match the official release. Do NOT edit core files by hand — that can break your site. The safe fix: Dashboard → Updates → “Re-install version”. WordPress will rewrite every official core file with a clean original copy. Run a new scan afterwards — this item should disappear."
msgstr ""

#: admin/views/partials/buttons.php:1982
msgid "This file is NOT an official WordPress file, yet it sits inside a WordPress core area — a classic hiding spot for planted files. Important: re-installing WordPress will NOT remove it (re-install only rewrites official files; it never deletes extra ones). What to do: first make sure it is not something you or your hosting company placed there on purpose; if you do not recognize it, delete the exact path shown in this popup via SFTP or your hosting File Manager. Removing a file that was never part of WordPress cannot break WordPress itself."
msgstr ""

#: admin/views/partials/buttons.php:1984
#: includes/free-plus/ai-help/class-ai-help.php:131
msgid "What to do"
msgstr ""

#: admin/views/partials/buttons.php:1987
msgid "This is a file from a known security/caching plugin (for example Wordfence). It is safe to keep if you installed that plugin. If you did not install it, deactivate that plugin first, then delete the file."
msgstr ""

#: admin/views/partials/buttons.php:1988
#: admin/views/partials/buttons.php:2159
msgid "Details"
msgstr ""

#: admin/views/partials/buttons.php:2031
msgid "Following a deep scan of all files, your site looks clean!"
msgstr ""

#: admin/views/partials/buttons.php:2031
msgid "Following a quick malware scan, your site looks clean!"
msgstr ""

#: admin/views/partials/buttons.php:2033
msgid "Threats Detected!"
msgstr ""

#: admin/views/partials/buttons.php:2034
msgid "Issues found — review recommended (no confirmed malware)"
msgstr ""

#: admin/views/partials/buttons.php:2042
msgid "Close results"
msgstr ""

#: admin/views/partials/buttons.php:2086
msgid "Potential"
msgstr ""

#: admin/views/partials/buttons.php:2090
#: admin/views/partials/buttons.php:2118
msgid "Review"
msgstr ""

#: admin/views/partials/buttons.php:2093
msgid "Files you approved earlier were hidden. They will reappear automatically if their content ever changes."
msgstr ""

#: admin/views/partials/buttons.php:2093
msgid "Approved & hidden"
msgstr ""

#: admin/views/partials/buttons.php:2096
msgid "Changed files"
msgstr ""

#: admin/views/partials/buttons.php:2099
#: admin/views/partials/buttons.php:2120
msgid "Not fully scanned"
msgstr ""

#: admin/views/partials/buttons.php:2126
#: admin/views/partials/buttons.php:2234
#: includes/free-plus/quarantine/class-quarantine.php:3256
msgid "File"
msgstr ""

#: admin/views/partials/buttons.php:2126
msgid "Finding"
msgstr ""

#: admin/views/partials/buttons.php:2126
#: admin/views/partials/tables.php:54
#: admin/views/partials/tables.php:802
#: includes/free-plus/digest/class-weekly-digest.php:325
#: includes/free-plus/hide-login/class-hide-login.php:345
msgid "Status"
msgstr ""

#: admin/views/partials/buttons.php:2126
#: admin/views/partials/buttons.php:2234
msgid "Severity"
msgstr ""

#: admin/views/partials/buttons.php:2126
#: admin/views/partials/buttons.php:2234
#: admin/views/partials/tables.php:634
#: admin/views/partials/tables.php:1112
#: admin/views/partials/tables.php:1187
msgid "Action"
msgstr ""

#: admin/views/partials/buttons.php:2157
msgid "Warning — what to do"
msgstr ""

#: admin/views/partials/buttons.php:2201
msgid "Confirmed threats"
msgstr ""

#: admin/views/partials/buttons.php:2207
msgid "High-priority review — not confirmed malware"
msgstr ""

#: admin/views/partials/buttons.php:2208
msgid "These matched serious patterns or sit in risky locations, but are NOT confirmed malware. Review each one: quarantine it if offered and you do not recognize it, or approve it from its popup if you know it is legitimate."
msgstr ""

#: admin/views/partials/buttons.php:2218
msgid "Reviewed items"
msgstr ""

#: admin/views/partials/buttons.php:2218
msgid "code patterns that also appear in legitimate plugins and themes; not confirmed malware"
msgstr ""

#: admin/views/partials/buttons.php:2234
msgid "Issue"
msgstr ""

#: admin/views/partials/buttons.php:2242
msgid "Modified Core File"
msgstr ""

#: admin/views/partials/buttons.php:2242
msgid "File differs from original WordPress"
msgstr ""

#: admin/views/partials/buttons.php:2270
msgid "Suspicious Core File Copy"
msgstr ""

#: admin/views/partials/buttons.php:2271
msgid "Backup/copy of WordPress core file. May expose credentials - DELETE IMMEDIATELY!"
msgstr ""

#: admin/views/partials/buttons.php:2279
msgid "GuardPress Recovery File"
msgstr ""

#: admin/views/partials/buttons.php:2281
msgid "Known Plugin File"
msgstr ""

#: admin/views/partials/buttons.php:2283
msgid "File from a known security/caching plugin (e.g., Wordfence). Safe if you installed it."
msgstr ""

#: admin/views/partials/buttons.php:2289
msgid "Missing WordPress File"
msgstr ""

#: admin/views/partials/buttons.php:2290
msgid "An official WordPress file is missing. If you did not delete it on purpose, re-install WordPress to restore it."
msgstr ""

#: admin/views/partials/buttons.php:2294
msgid "Unknown File in Core Directory"
msgstr ""

#: admin/views/partials/buttons.php:2295
msgid "File in wp-admin/ or wp-includes/ not part of WordPress - likely malicious!"
msgstr ""

#: admin/views/partials/buttons.php:2301
msgid "Disguised Core File Name"
msgstr ""

#: admin/views/partials/buttons.php:2302
msgid "The file name imitates a WordPress core file but is not that file. If you did not create it yourself, quarantine it."
msgstr ""

#: admin/views/partials/buttons.php:2306
msgid "Unknown File in Root"
msgstr ""

#: admin/views/partials/buttons.php:2309
msgid "Unrecognized file in site root. Investigate to verify it belongs to a plugin you installed."
msgstr ""

#: admin/views/partials/buttons.php:2337
msgid "Files scanned:"
msgstr ""

#: admin/views/partials/buttons.php:2338
msgid "Duration:"
msgstr ""

#: admin/views/partials/buttons.php:2342
msgid "Scan time:"
msgstr ""

#: admin/views/partials/cards.php:54
msgid "Total Files"
msgstr ""

#: admin/views/partials/cards.php:58
msgid "Files scanned in last run"
msgstr ""

#: admin/views/partials/cards.php:92
#: includes/free-plus/insights/class-insights.php:290
msgid "Blocked IPs"
msgstr ""

#: admin/views/partials/cards.php:108
msgid "Successful Today"
msgstr ""

#: admin/views/partials/cards.php:117
msgid "Total Failed"
msgstr ""

#. translators: %d: total number of successful logins
#: admin/views/partials/cards.php:121
#, php-format
msgid "Successful: %d"
msgstr ""

#: admin/views/partials/header.php:41
msgid "You are a PRO User!"
msgstr ""

#: admin/views/partials/header.php:42
msgid "All premium features are unlocked. Thank you for your support!"
msgstr ""

#: admin/views/partials/header.php:52
msgid "Unlock Full Protection with AI CyberGuard PRO"
msgstr ""

#: admin/views/partials/header.php:53
msgid "Get Advanced WAF, Full 2FA, Cloud Backup, SMS Alerts, 500 AI analyses/year & more!"
msgstr ""

#: admin/views/partials/header.php:56
msgid "Upgrade to PRO"
msgstr ""

#: admin/views/partials/header.php:91
msgid "Back to Scanner"
msgstr ""

#. translators: %1$s is the plugin version, %2$s is the documentation URL, %3$s is the guardpress.ai URL
#: admin/views/partials/header.php:106
#, php-format
msgid "AI-CyberGuard v%1$s | <a href=\"%2$s\" target=\"_blank\" rel=\"noopener\">Documentation</a> | <a href=\"%3$s\" target=\"_blank\" rel=\"noopener\">guardpress.ai</a>"
msgstr ""

#: admin/views/partials/header.php:119
msgid "Privacy: Most scan work runs on your own server. Integrity checks may contact the official WordPress.org APIs; the Threat Feed, AI Analysis, GeoIP, breached-password and CAPTCHA features use external services only when you enable or trigger them — see Settings → Privacy & External Requests."
msgstr ""

#: admin/views/partials/header.php:130
msgid "Scanning in progress..."
msgstr ""

#: admin/views/partials/header.php:131
msgid "Analyzing your files for changes"
msgstr ""

#: admin/views/partials/header.php:133
msgid "Please keep this tab open"
msgstr ""

#. translators: 1: number of changed files, 2: number of new files, 3: number of deleted files.
#: admin/views/partials/notices.php:63
#, php-format
msgid "Scan completed: %1$d changed, %2$d new, %3$d deleted"
msgstr ""

#: admin/views/partials/pro-features.php:44
msgid "PRO Features Unlocked!"
msgstr ""

#: admin/views/partials/pro-features.php:45
msgid "All premium features are available in the sidebar menu: WAF, 2FA, Notifications, Cloud Backup, and more."
msgstr ""

#: admin/views/partials/pro-features.php:61
msgid "Advanced Security Features"
msgstr ""

#: admin/views/partials/pro-features.php:66
msgid "Unlock powerful security features with AI CyberGuard PRO"
msgstr ""

#. translators: %d is the number of PRO-exclusive features listed in this section.
#: admin/views/partials/pro-features.php:91
#, php-format
msgid "%d Exclusive Feature — Only in AI CyberGuard"
msgid_plural "%d Exclusive Features — Only in AI CyberGuard"
msgstr[0] ""
msgstr[1] ""

#: admin/views/partials/pro-features.php:99
msgid "Next-generation capabilities you won't find in any other WordPress security plugin. This is what sets AI CyberGuard PRO apart."
msgstr ""

#: admin/views/partials/pro-features.php:105
msgid "Everything else included in PRO"
msgstr ""

#: admin/views/partials/pro-features.php:106
msgid "A complete prevention, detection, monitoring and recovery toolkit — all in one platform."
msgstr ""

#: admin/views/partials/pro-features.php:113
msgid "…and more. PRO keeps gaining features — this list is not exhaustive."
msgstr ""

#: admin/views/partials/pro-features.php:155
msgid "Restore your site in one click even when WordPress is down, hacked, inaccessible, or showing a white screen — with a database-down fallback."
msgstr ""

#: admin/views/partials/pro-features.php:156
msgid "Already in FREE: Safety Snapshots, which you download and restore by hand."
msgstr ""

#: admin/views/partials/pro-features.php:157
msgid "Safe Restore Sandbox + Own Your Backups"
msgstr ""

#: admin/views/partials/pro-features.php:157
msgid "Test a restore in an isolated sandbox first, then push live. Keep backups in your own cloud or download full backups to your computer."
msgstr ""

#: admin/views/partials/pro-features.php:158
msgid "A full timeline of security-critical file changes with visual diffs and point-in-time rollback — not just backups."
msgstr ""

#: admin/views/partials/pro-features.php:161
msgid "Already in FREE: file-change detection, with the changed files listed."
msgstr ""

#: admin/views/partials/pro-features.php:165
msgid "Catch obfuscated, polymorphic and zero-day malware by analyzing code structure, entropy and behavior in PHP and JavaScript."
msgstr ""

#: admin/views/partials/pro-features.php:166
msgid "Already in FREE: entropy and obfuscation analysis of scanned files."
msgstr ""

#: admin/views/partials/pro-features.php:167
msgid "Ask anything in plain language, in any language, right inside your dashboard — instant answers and guidance tailored to your site."
msgstr ""

#: admin/views/partials/pro-features.php:168
msgid "Already in FREE: the AI Assistant on your dashboard."
msgstr ""

#: admin/views/partials/pro-features.php:169
msgid "Invisible decoy files inspired by advanced deception techniques. The moment one is touched, you know something is wrong."
msgstr ""

#: admin/views/partials/pro-features.php:170
msgid "Know if your admin credentials appear in known data breaches — before attackers use leaked passwords against your site."
msgstr ""

#: admin/views/partials/pro-features.php:171
msgid "Already in FREE: a breached-password check when a password is set or reset."
msgstr ""

#: admin/views/partials/pro-features.php:172
msgid "A real automated phone call for truly critical incidents, so the most urgent events never get lost in an inbox."
msgstr ""

#: admin/views/partials/pro-features.php:173
msgid "Self-Healing Files"
msgstr ""

#: admin/views/partials/pro-features.php:173
msgid "Automatically repairs tampered core, plugin and theme files back to a known-clean state from your snapshots."
msgstr ""

#: admin/views/partials/pro-features.php:174
msgid "Already in FREE: Quarantine, to isolate a file and restore it yourself."
msgstr ""

#: admin/views/partials/pro-features.php:175
msgid "AI-driven risk forecasting that flags danger building on your site before it becomes a real incident."
msgstr ""

#: admin/views/partials/pro-features.php:176
msgid "Already in FREE: a live Security Score for your current posture."
msgstr ""

#: admin/views/partials/pro-features.php:177
msgid "Watch attacks against your site in real time on a live global map — see where threats come from and how they are blocked."
msgstr ""

#: admin/views/partials/pro-features.php:181
msgid "Already in FREE: the Live Attack Map above on this page."
msgstr ""

#: admin/views/partials/pro-features.php:182
msgid "Replay exactly how an attack unfolded, step by step, so you understand what happened and how to close the gap."
msgstr ""

#: admin/views/partials/pro-features.php:183
msgid "Nothing security-critical changes without your sign-off — ideal for agencies and teams managing client sites."
msgstr ""

#: admin/views/partials/pro-features.php:184
msgid "Weekly AI Security Reports"
msgstr ""

#: admin/views/partials/pro-features.php:184
msgid "A clear, plain-English security summary written by AI and delivered every week — no log-digging required."
msgstr ""

#: admin/views/partials/pro-features.php:185
msgid "Already in FREE: a weekly security digest by email."
msgstr ""

#: admin/views/partials/pro-features.php:195
msgid "Blocks SQL-injection, XSS and file-inclusion (LFI/RFI) attacks — with Monitor & Protect modes, smart rules and rate limiting."
msgstr ""

#: admin/views/partials/pro-features.php:196
msgid "Already in FREE: Firewall (Lite), which filters the request URL and query string."
msgstr ""

#: admin/views/partials/pro-features.php:201
msgid "Live Malicious-IP Threat Feed"
msgstr ""

#: admin/views/partials/pro-features.php:201
msgid "Blocks IPs that are attacking the GuardPress network right now — a signed feed refreshed hourly — before they ever reach your login."
msgstr ""

#: admin/views/partials/pro-features.php:202
msgid "FREE builds a blocklist from attacks on YOUR site; the network-wide feed is PRO."
msgstr ""

#: admin/views/partials/pro-features.php:203
msgid "Smart 404 Blocking"
msgstr ""

#: admin/views/partials/pro-features.php:203
msgid "Automatically detects and bans bots probing for vulnerable paths by spotting floods of suspicious 404s."
msgstr ""

#: admin/views/partials/pro-features.php:204
msgid "Allow or block traffic by country with a click."
msgstr ""

#: admin/views/partials/pro-features.php:205
msgid "FREE shows you which country a blocked IP came from; blocking by country is PRO."
msgstr ""

#: admin/views/partials/pro-features.php:206
msgid "Real-Time Protection"
msgstr ""

#: admin/views/partials/pro-features.php:206
msgid "Continuous monitoring and blocking as threats happen."
msgstr ""

#: admin/views/partials/pro-features.php:210
msgid "Watch every visitor and request to your site, live."
msgstr ""

#: admin/views/partials/pro-features.php:211
msgid "FREE shows security events live; every visitor and request is PRO."
msgstr ""

#: admin/views/partials/pro-features.php:212
msgid "A shareable front-end page of live charts — every attack blocked, threat stopped and traffic trend, at its own URL."
msgstr ""

#: admin/views/partials/pro-features.php:213
msgid "Already in FREE: the Security Insights dashboard inside wp-admin."
msgstr ""

#: admin/views/partials/pro-features.php:214
msgid "Blacklist Monitoring"
msgstr ""

#: admin/views/partials/pro-features.php:214
msgid "Checks whether your site or IP appears on security blacklists."
msgstr ""

#: admin/views/partials/pro-features.php:215
msgid "Know instantly if your site ever goes down, around the clock."
msgstr ""

#: admin/views/partials/pro-features.php:216
#: includes/free-plus/twofa/class-2fa.php:939
msgid "Two-Factor Authentication"
msgstr ""

#: admin/views/partials/pro-features.php:216
msgid "Authenticator-app codes plus backup codes for your logins."
msgstr ""

#: admin/views/partials/pro-features.php:217
msgid "Already in FREE: two-factor authentication with backup codes."
msgstr ""

#: admin/views/partials/pro-features.php:218
msgid "CAPTCHA on Login"
msgstr ""

#: admin/views/partials/pro-features.php:218
msgid "reCAPTCHA and hCaptcha to stop automated attacks."
msgstr ""

#: admin/views/partials/pro-features.php:219
msgid "Already in FREE: CAPTCHA on the login form."
msgstr ""

#: admin/views/partials/pro-features.php:220
msgid "Move wp-login to a secret address to dodge bots."
msgstr ""

#: admin/views/partials/pro-features.php:221
msgid "Already in FREE: Hide Login URL."
msgstr ""

#: admin/views/partials/pro-features.php:222
msgid "Flags suspicious logins even with a correct password."
msgstr ""

#: admin/views/partials/pro-features.php:227
msgid "Hacker Traps (Honeypots)"
msgstr ""

#: admin/views/partials/pro-features.php:227
msgid "Decoy login and admin traps that catch intruders in the act."
msgstr ""

#: admin/views/partials/pro-features.php:228
msgid "FREE can enable a login honeypot under Login Protection; the admin-wide traps are PRO."
msgstr ""

#: admin/views/partials/pro-features.php:229
msgid "Guided one-click hardening of your whole site."
msgstr ""

#: admin/views/partials/pro-features.php:230
msgid "Already in FREE: the Hardening panel."
msgstr ""

#: admin/views/partials/pro-features.php:231
msgid "Adds modern HTTP security headers automatically."
msgstr ""

#: admin/views/partials/pro-features.php:236
msgid "Detects known vulnerabilities in plugins, themes and core."
msgstr ""

#: admin/views/partials/pro-features.php:237
msgid "FREE alerts you when updates are pending; matching against known vulnerabilities is PRO."
msgstr ""

#: admin/views/partials/pro-features.php:238
msgid "Spot risky or abandoned plugins before they become a problem."
msgstr ""

#: admin/views/partials/pro-features.php:239
msgid "Safely isolate suspicious files and restore clean versions."
msgstr ""

#: admin/views/partials/pro-features.php:240
msgid "Already in FREE: Quarantine."
msgstr ""

#: admin/views/partials/pro-features.php:241
msgid "Upload Scanner & Guard"
msgstr ""

#: admin/views/partials/pro-features.php:241
msgid "Blocks dangerous uploads at the firewall and scans accepted files for malware before they can do harm."
msgstr ""

#: admin/views/partials/pro-features.php:242
msgid "Smart One-Click Backup & Restore"
msgstr ""

#: admin/views/partials/pro-features.php:242
msgid "Back up to Google Drive, Dropbox, S3 or your computer — and restore instantly with one click."
msgstr ""

#: admin/views/partials/pro-features.php:243
msgid "Verified known-good baselines to recover from instantly."
msgstr ""

#: admin/views/partials/pro-features.php:244
msgid "Already in FREE: Safety Snapshots."
msgstr ""

#: admin/views/partials/pro-features.php:245
msgid "AI Remediation Guidance"
msgstr ""

#: admin/views/partials/pro-features.php:245
msgid "Step-by-step AI guidance to clean and fix detected threats."
msgstr ""

#: admin/views/partials/pro-features.php:246
msgid "Multi-Channel Alerts"
msgstr ""

#: admin/views/partials/pro-features.php:246
msgid "Email, Slack, Telegram, WhatsApp and SMS notifications."
msgstr ""

#: admin/views/partials/pro-features.php:247
msgid "Already in FREE: email alerts."
msgstr ""

#: admin/views/partials/pro-features.php:248
msgid "A complete, searchable record of every security event."
msgstr ""

#: admin/views/partials/pro-features.php:249
msgid "Already in FREE: the Security Event Log."
msgstr ""

#: admin/views/partials/pro-features.php:250
msgid "Security Score & Benchmark"
msgstr ""

#: admin/views/partials/pro-features.php:250
msgid "A live security posture score, benchmarked against best practices."
msgstr ""

#: admin/views/partials/pro-features.php:251
msgid "Already in FREE: the Security Score."
msgstr ""

#: admin/views/partials/pro-features.php:252
msgid "Reports and audit logs to help evidence your GDPR and PCI-DSS controls."
msgstr ""

#: admin/views/partials/pro-features.php:253
msgid "Achievements and milestones that make hardening rewarding."
msgstr ""

#: admin/views/partials/pro-features.php:254
msgid "Already in FREE: security streaks and achievement badges."
msgstr ""

#: admin/views/partials/pro-features.php:255
msgid "Multi-Site Dashboard"
msgstr ""

#: admin/views/partials/pro-features.php:255
msgid "Manage and monitor many sites from one place."
msgstr ""

#: admin/views/partials/pro-features.php:315
msgid "Upgrade"
msgstr ""

#: admin/views/partials/pro-features.php:317
msgid "PRO"
msgstr ""

#: admin/views/partials/pro-features.php:349
msgid "Attacks Blocked (7d)"
msgstr ""

#: admin/views/partials/pro-features.php:353
msgid "IPs Blocked"
msgstr ""

#: admin/views/partials/pro-features.php:357
msgid "Files Quarantined"
msgstr ""

#: admin/views/partials/pro-features.php:361
msgid "Uptime (7d)"
msgstr ""

#: admin/views/partials/tables.php:23
msgid "No changes found. Your files match the baseline."
msgstr ""

#: admin/views/partials/tables.php:29
msgid "Tip: If a change is legitimate (e.g., a plugin update), click Ignore to exclude it from future scans."
msgstr ""

#. translators: %d is the number of files that have changes
#: admin/views/partials/tables.php:37
#, php-format
msgid "%d files with changes"
msgstr ""

#: admin/views/partials/tables.php:39
msgid "Filter:"
msgstr ""

#: admin/views/partials/tables.php:41
#: admin/views/partials/tables.php:618
#: admin/views/partials/tables.php:894
msgid "All"
msgstr ""

#: admin/views/partials/tables.php:46
msgid "Copy paths"
msgstr ""

#: admin/views/partials/tables.php:47
msgid "Copy report"
msgstr ""

#: admin/views/partials/tables.php:53
msgid "File Path"
msgstr ""

#: admin/views/partials/tables.php:55
#: admin/views/partials/tables.php:910
#: includes/free-plus/quarantine/class-quarantine.php:3258
#: includes/free-plus/snapshot/class-snapshot.php:2738
msgid "Actions"
msgstr ""

#. translators: %s is the pattern scan summary
#: admin/views/partials/tables.php:107
#, php-format
msgid "Pattern scan: %s"
msgstr ""

#: admin/views/partials/tables.php:114
msgid "File Info"
msgstr ""

#: admin/views/partials/tables.php:147
msgid "View Code"
msgstr ""

#: admin/views/partials/tables.php:152
msgid "Analyze"
msgstr ""

#: admin/views/partials/tables.php:161
msgid "Ignore"
msgstr ""

#: admin/views/partials/tables.php:174
msgid "Why is this suspicious?"
msgstr ""

#: admin/views/partials/tables.php:183
msgid "DANGEROUS COMBINATIONS DETECTED:"
msgstr ""

#: admin/views/partials/tables.php:190
msgid "Patterns:"
msgstr ""

#: admin/views/partials/tables.php:191
msgid "risk points"
msgstr ""

#: admin/views/partials/tables.php:209
msgid "Code Execution"
msgstr ""

#: admin/views/partials/tables.php:210
msgid "System Access"
msgstr ""

#: admin/views/partials/tables.php:211
msgid "Obfuscation/Encoding"
msgstr ""

#: admin/views/partials/tables.php:212
msgid "File Operations"
msgstr ""

#: admin/views/partials/tables.php:213
msgid "Network Connections"
msgstr ""

#: admin/views/partials/tables.php:214
msgid "User Input Handling"
msgstr ""

#: admin/views/partials/tables.php:215
msgid "WordPress Functions"
msgstr ""

#: admin/views/partials/tables.php:216
msgid "Suspicious Naming"
msgstr ""

#: admin/views/partials/tables.php:217
msgid "Suspicious Location"
msgstr ""

#: admin/views/partials/tables.php:253
msgid "Recommendation:"
msgstr ""

#: admin/views/partials/tables.php:286
msgid "File was deleted"
msgstr ""

#: admin/views/partials/tables.php:299
msgid "Non-executable file type"
msgstr ""

#. translators: %s is the suspicious substring found in the file name
#: admin/views/partials/tables.php:317
#, php-format
msgid "Suspicious filename contains \"%s\""
msgstr ""

#: admin/views/partials/tables.php:326
msgid "Hidden PHP file (starts with dot)"
msgstr ""

#: admin/views/partials/tables.php:352
msgid "Random filename pattern (possible malware)"
msgstr ""

#: admin/views/partials/tables.php:368
msgid "PHP in uploads folder (very suspicious)"
msgstr ""

#: admin/views/partials/tables.php:369
msgid "PHP in cache folder (suspicious)"
msgstr ""

#: admin/views/partials/tables.php:370
#: admin/views/partials/tables.php:371
msgid "PHP in temp folder (suspicious)"
msgstr ""

#: admin/views/partials/tables.php:395
msgid "New file in WordPress core — likely a WordPress/plugin update. Run a Malware Scan to verify."
msgstr ""

#: admin/views/partials/tables.php:412
msgid "wp-config.php changed — it holds your site secrets, so review it. Run a Malware Scan to verify."
msgstr ""

#: admin/views/partials/tables.php:426
msgid "New file detected — likely a WordPress/plugin/theme update. Run a Malware Scan to verify."
msgstr ""

#: admin/views/partials/tables.php:436
msgid "PHP file modified (likely from update)"
msgstr ""

#: admin/views/partials/tables.php:442
msgid "PHP file modified"
msgstr ""

#: admin/views/partials/tables.php:451
msgid "New JavaScript file"
msgstr ""

#: admin/views/partials/tables.php:457
msgid "JavaScript file modified"
msgstr ""

#: admin/views/partials/tables.php:462
msgid "JavaScript file"
msgstr ""

#: admin/views/partials/tables.php:469
msgid "No suspicious indicators"
msgstr ""

#: admin/views/partials/tables.php:501
msgid "AI Recommended"
msgstr ""

#: admin/views/partials/tables.php:534
msgid "Skip AI"
msgstr ""

#: admin/views/partials/tables.php:544
msgid "INFO"
msgstr ""

#: admin/views/partials/tables.php:575
msgid "Currently Blocked IPs"
msgstr ""

#: admin/views/partials/tables.php:578
msgid "No IPs are currently blocked."
msgstr ""

#: admin/views/partials/tables.php:591
#: admin/views/partials/tables.php:866
msgid "Bulk Actions"
msgstr ""

#: admin/views/partials/tables.php:592
msgid "Unblock Selected"
msgstr ""

#: admin/views/partials/tables.php:593
#: admin/views/partials/tables.php:868
msgid "Blacklist Selected"
msgstr ""

#: admin/views/partials/tables.php:595
#: admin/views/partials/tables.php:871
msgid "Apply"
msgstr ""

#: admin/views/partials/tables.php:602
msgid "Are you sure you want to unblock ALL currently blocked IPs?"
msgstr ""

#: admin/views/partials/tables.php:603
msgid "Unblock All"
msgstr ""

#. translators: %d is the number of blocked IP items
#. translators: %d is the number of suspicious IP items
#: admin/views/partials/tables.php:611
#: admin/views/partials/tables.php:887
#, php-format
msgid "%d items"
msgstr ""

#: admin/views/partials/tables.php:621
#: admin/views/partials/tables.php:897
msgid "Prev"
msgstr ""

#: admin/views/partials/tables.php:623
#: admin/views/partials/tables.php:899
msgid "Next"
msgstr ""

#: admin/views/partials/tables.php:630
#: admin/views/partials/tables.php:800
#: admin/views/partials/tables.php:906
#: admin/views/partials/tables.php:1109
#: admin/views/partials/tables.php:1184
msgid "IP Address"
msgstr ""

#: admin/views/partials/tables.php:631
msgid "Blocked At"
msgstr ""

#: admin/views/partials/tables.php:632
msgid "Expires"
msgstr ""

#: admin/views/partials/tables.php:633
#: admin/views/partials/tables.php:907
msgid "Attempts"
msgstr ""

#: admin/views/partials/tables.php:653
msgid "Unblock"
msgstr ""

#: admin/views/partials/tables.php:744
#: admin/views/partials/tables.php:1051
msgid "Please select an action"
msgstr ""

#: admin/views/partials/tables.php:754
#: admin/views/partials/tables.php:1061
msgid "Please select at least one IP"
msgstr ""

#: admin/views/partials/tables.php:763
#: admin/views/partials/tables.php:1071
msgid "Are you sure you want to perform this action on"
msgstr ""

#: admin/views/partials/tables.php:763
#: admin/views/partials/tables.php:1071
msgid "items?"
msgstr ""

#: admin/views/partials/tables.php:792
msgid "Recent Login Activity"
msgstr ""

#: admin/views/partials/tables.php:799
msgid "Time"
msgstr ""

#: admin/views/partials/tables.php:801
#: includes/security/class-login-security.php:232
msgid "Username"
msgstr ""

#: admin/views/partials/tables.php:822
msgid "Clear all login activity records?"
msgstr ""

#: admin/views/partials/tables.php:830
msgid "Login activity cleared."
msgstr ""

#: admin/views/partials/tables.php:849
msgid "Suspicious Activity"
msgstr ""

#: admin/views/partials/tables.php:850
msgid "IPs with failed login attempts that have not yet triggered automatic lockout."
msgstr ""

#: admin/views/partials/tables.php:853
msgid "No suspicious activity detected."
msgstr ""

#: admin/views/partials/tables.php:867
msgid "Block Selected"
msgstr ""

#: admin/views/partials/tables.php:869
msgid "Clear Selected"
msgstr ""

#: admin/views/partials/tables.php:878
msgid "Are you sure you want to clear ALL suspicious activity?"
msgstr ""

#: admin/views/partials/tables.php:879
msgid "Clear All"
msgstr ""

#: admin/views/partials/tables.php:908
msgid "Last Try"
msgstr ""

#: admin/views/partials/tables.php:909
msgid "Usernames Tried"
msgstr ""

#: admin/views/partials/tables.php:940
msgid "Block"
msgstr ""

#: admin/views/partials/tables.php:949
msgid "Blacklist"
msgstr ""

#: admin/views/partials/tables.php:1090
msgid "Permanent Blacklist"
msgstr ""

#: admin/views/partials/tables.php:1091
msgid "IPs on this list are permanently blocked from logging in."
msgstr ""

#: admin/views/partials/tables.php:1098
msgid "Enter IP address"
msgstr ""

#: admin/views/partials/tables.php:1099
msgid "Add to Blacklist"
msgstr ""

#: admin/views/partials/tables.php:1103
msgid "No IPs on blacklist."
msgstr ""

#: admin/views/partials/tables.php:1110
#: admin/views/partials/tables.php:1186
msgid "Added"
msgstr ""

#: admin/views/partials/tables.php:1111
msgid "Reason"
msgstr ""

#: admin/views/partials/tables.php:1120
msgid "Your IP!"
msgstr ""

#: admin/views/partials/tables.php:1131
#: admin/views/partials/tables.php:1206
#: admin/views/partials/tables.php:1243
msgid "Remove"
msgstr ""

#: admin/views/partials/tables.php:1143
msgid "IP Whitelist"
msgstr ""

#: admin/views/partials/tables.php:1144
msgid "IPs on this list are never blocked, even after failed attempts."
msgstr ""

#: admin/views/partials/tables.php:1149
msgid "Your current IP:"
msgstr ""

#: admin/views/partials/tables.php:1151
msgid "Whitelisted"
msgstr ""

#: admin/views/partials/tables.php:1162
#: admin/views/partials/tables.php:1174
msgid "Add to Whitelist"
msgstr ""

#: admin/views/partials/tables.php:1172
#: includes/security/class-login-security.php:231
#: includes/security/class-login-security.php:274
msgid "IP address"
msgstr ""

#: admin/views/partials/tables.php:1173
msgid "Label (optional)"
msgstr ""

#: admin/views/partials/tables.php:1178
msgid "No IPs on whitelist."
msgstr ""

#: admin/views/partials/tables.php:1185
msgid "Label"
msgstr ""

#: admin/views/partials/tables.php:1195
msgid "You"
msgstr ""

#: admin/views/partials/tables.php:1217
msgid "Ignored Files"
msgstr ""

#: admin/views/partials/tables.php:1220
msgid "No ignored files yet."
msgstr ""

#. translators: %d is the number of ignored files
#: admin/views/partials/tables.php:1228
#, php-format
msgid "%d ignored files"
msgstr ""

#: admin/views/partials/tables.php:1229
msgid "Show list"
msgstr ""

#: admin/views/partials/tables.php:1230
msgid "Hide list"
msgstr ""

#: includes/admin-bar/class-admin-bar.php:81
msgid "AI CyberGuard Security Status"
msgstr ""

#: includes/admin-bar/class-admin-bar.php:89
msgid "View Scan Results"
msgstr ""

#: includes/admin/class-admin-notices.php:98
msgid "Refresh your file baseline"
msgstr ""

#: includes/admin/class-admin-notices.php:99
msgid "Your integrity baseline was created by an earlier version. Rebuild it once so AI CyberGuard also watches your large files (over 50 MB) for tampering."
msgstr ""

#: includes/admin/class-admin-notices.php:101
msgid "Rebuild baseline"
msgstr ""

#: includes/admin/class-admin-notices.php:119
msgid "Enjoying AI CyberGuard?"
msgstr ""

#: includes/admin/class-admin-notices.php:120
msgid "Help others discover it by leaving a review on WordPress.org!"
msgstr ""

#: includes/admin/class-admin-notices.php:122
msgid "Leave a Review"
msgstr ""

#: includes/admin/class-security-downgrade-notice.php:45
msgid "AI CyberGuard security notice"
msgstr ""

#: includes/admin/class-security-downgrade-notice.php:46
msgid "This server can't encrypt secrets at rest, so the plugin's API secret is currently stored in plain text. To fix this, enable the PHP OpenSSL extension, or make sure your wp-config.php has the standard WordPress secret keys (AUTH_KEY, SECURE_AUTH_KEY, NONCE_SALT). The plugin keeps working either way."
msgstr ""

#: includes/admin/class-security-downgrade-notice.php:53
msgid "No permission."
msgstr ""

#: includes/ai/class-ai-analyzer.php:1785
msgid "use_credit is deprecated. AI requests should use the server proxy (run_ai)."
msgstr ""

#: includes/ai/class-ai-analyzer.php:1822
msgid "AI analysis is not enabled. Please enable it in Settings."
msgstr ""

#. translators: %d: number of AI credits included with this version
#: includes/ai/class-ai-analyzer.php:1839
#, php-format
msgid "You have used all %d AI credits included with this version."
msgstr ""

#: includes/ai/class-ai-analyzer.php:1847
msgid "AI service is temporarily unavailable. Please try again later."
msgstr ""

#. translators: %d: number of minutes to wait before retrying
#: includes/ai/class-ai-analyzer.php:1881
#, php-format
msgid "Too many AI requests. Please wait %d minutes before trying again."
msgstr ""

#: includes/ai/class-ai-analyzer.php:2003
msgid "AI Analysis Limit Reached"
msgstr ""

#. translators: %d: number of free AI analyses included
#: includes/ai/class-ai-analyzer.php:2007
#, php-format
msgid "You have used all %d free AI analyses included with AI CyberGuard."
msgstr ""

#: includes/ai/class-ai-analyzer.php:2050
msgid "✅ Your site is secure! No file changes detected since the last baseline."
msgstr ""

#: includes/ai/class-ai-analyzer.php:2167
msgid "File is not a readable regular file (it may be a symbolic link or a special file)."
msgstr ""

#: includes/ai/class-ai-analyzer.php:2172
msgid "Could not determine file size. File may be inaccessible."
msgstr ""

#. translators: 1: file size; 2: hard cap
#: includes/ai/class-ai-analyzer.php:2177
#, php-format
msgid "File too large for AI analysis (%1$s, max %2$s). Files this large are almost always libraries or build artifacts — analyze a specific suspicious file inside the bundle instead."
msgstr ""

#: includes/ai/class-ai-analyzer.php:2185
msgid "Could not read file content."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4187
msgid "GuardPress is still activating. Please try again in a moment."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4233
msgid "The analysis was withheld because a credential could not be fully redacted from the code excerpt. No data was sent. Please report this file to GuardPress support."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4248
msgid "Failed to encode AI request."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4253
msgid "The analysis request was too large to send safely. Please analyze a smaller file or fewer changes."
msgstr ""

#. translators: %s: error message returned by the HTTP request
#: includes/ai/class-ai-analyzer.php:4268
#, php-format
msgid "Cannot connect to GuardPress AI service: %s"
msgstr ""

#. translators: 1: HTTP status code, 2: error message returned by the AI service
#: includes/ai/class-ai-analyzer.php:4288
#, php-format
msgid "AI service error (HTTP %1$d): %2$s"
msgstr ""

#. translators: %d: HTTP status code returned by the AI service
#: includes/ai/class-ai-analyzer.php:4295
#, php-format
msgid "AI service returned HTTP %d. Please try again — the service may be temporarily unavailable."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4313
msgid "AI service response could not be verified (signature mismatch). Please try again or contact support if this persists."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4320
msgid "AI service returned an invalid response. Please try again."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4325
msgid "AI request failed. Please try again."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4328
msgid "No AI credits remaining."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4345
msgid "AI service response missing result."
msgstr ""

#: includes/ai/class-ai-analyzer.php:4498
msgid "No Risk"
msgstr ""

#: includes/ai/class-ai-analyzer.php:4499
msgid "Low Risk"
msgstr ""

#: includes/ai/class-ai-analyzer.php:4500
msgid "Medium Risk"
msgstr ""

#: includes/ai/class-ai-analyzer.php:4501
msgid "High Risk"
msgstr ""

#: includes/ai/class-ai-analyzer.php:4502
msgid "Unknown"
msgstr ""

#: includes/class-achievements.php:358
msgid "Achievement Unlocked!"
msgstr ""

#: includes/class-achievements.php:431
msgid "Achievements"
msgstr ""

#: includes/class-achievements.php:436
msgid "points"
msgstr ""

#: includes/class-achievements.php:477
msgid "Complete actions above to unlock achievements!"
msgstr ""

#: includes/class-achievements.php:479
msgid "All achievements unlocked!"
msgstr ""

#: includes/dashboard/class-dashboard-widget.php:47
msgid "All Clear"
msgstr ""

#: includes/dashboard/class-dashboard-widget.php:48
msgid "No file changes detected."
msgstr ""

#: includes/dashboard/class-dashboard-widget.php:54
msgid "Create a baseline to start monitoring."
msgstr ""

#: includes/dashboard/class-dashboard-widget.php:60
msgid "Check Incomplete"
msgstr ""

#: includes/dashboard/class-dashboard-widget.php:61
msgid "Some files could not be read during the last scan. Re-run the Regular scan."
msgstr ""

#: includes/dashboard/class-dashboard-widget.php:66
msgid "Action Required"
msgstr ""

#. translators: %d is the number of file changes detected
#: includes/dashboard/class-dashboard-widget.php:68
#: includes/dashboard/class-dashboard-widget.php:74
#, php-format
msgid "%d file changes detected."
msgstr ""

#: includes/dashboard/class-dashboard-widget.php:72
msgid "Review Needed"
msgstr ""

#. translators: 1: date and time of the last scan, 2: scan type (e.g. Regular)
#: includes/dashboard/class-dashboard-widget.php:109
#, php-format
msgid "Last scan: %1$s (%2$s)"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:75
#: includes/free-plus/admin-rescue/class-admin-rescue.php:76
#: includes/free-plus/admin-rescue/class-admin-rescue.php:98
msgid "Login Rescue"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:85
#: includes/free-plus/ai-help/class-ai-help.php:958
#: includes/free-plus/captcha/class-captcha.php:754
#: includes/free-plus/digest/class-weekly-digest.php:278
#: includes/free-plus/eventlog/class-event-log.php:327
#: includes/free-plus/hardening/class-hardening.php:275
#: includes/free-plus/hide-login/class-hide-login.php:308
#: includes/free-plus/hub/class-hub.php:166
#: includes/free-plus/insights/class-insights.php:252
#: includes/free-plus/quarantine/class-quarantine.php:3198
#: includes/free-plus/score/class-security-score.php:90
#: includes/free-plus/setup/class-setup-wizard.php:179
#: includes/free-plus/snapshot/class-snapshot.php:2653
#: includes/free-plus/trust-badge/class-trust-badge.php:125
#: includes/free-plus/twofa/class-2fa.php:935
#: includes/free-plus/waf/class-waf.php:519
msgid "You do not have permission to access this page."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:99
msgid "Never get locked out of your own site. Whitelist your IP now, and keep a recovery path ready."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:104
msgid "Your current IP is now whitelisted — login protection will never lock it out."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:105
msgid "A rescue link was emailed to your site admin address."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:106
msgid "A rescue link was requested very recently. Please wait a few minutes before trying again."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:108
msgid "★ Do this first:"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:108
msgid "whitelist this computer now, before you turn on any login limits or CAPTCHA. Once saved you can never accidentally lock yourself out — even if you mistype your password."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:111
msgid "Your connection"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:113
msgid "Your login location (IP)"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:114
msgid "Behind a proxy / CDN?"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:114
msgid "Yes — we detected your real location even though you use a proxy (like Cloudflare)."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:114
msgid "No — direct connection."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:115
msgid "Protected from lockout"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:115
msgid "Yes — this computer can never be locked out by your security rules."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:115
msgid "Not yet — use the button below."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:122
msgid "Whitelist my current IP"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:127
msgid "Email myself a test rescue link"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:130
msgid "If you ever get locked out, open your login page and click “Locked out? Email me a rescue link”. The link goes only to your site admin email, is single-use, and expires in 15 minutes."
msgstr ""

#. translators: %s: ip
#: includes/free-plus/admin-rescue/class-admin-rescue.php:145
#, php-format
msgid "Admin whitelisted their IP (%s) via Login Rescue"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:167
msgid "Locked out? Email me a rescue link"
msgstr ""

#. translators: 1: consuming ip, 2: ip the link was issued to
#: includes/free-plus/admin-rescue/class-admin-rescue.php:229
#, php-format
msgid "Login rescue link used — IP %1$s whitelisted and unblocked (link originally requested from %2$s)"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:258
msgid "Confirm rescue"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:259
msgid "Click the button below to whitelist THIS device and clear any lockout for it. For your security this only happens when you press the button — opening the link alone does nothing."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:260
msgid "Whitelist this device & clear lockout"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:291
msgid "If a rescue link was available, it has just been emailed to the site administrator address. Open that link to whitelist your device, then sign in at your usual login page."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:292
msgid "Rescue successful — your device is now whitelisted and any temporary lockout has been lifted. You can now sign in at your usual login page."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:293
msgid "That rescue link is invalid or has expired. Please request a new one from the login page."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:294
msgid "Login Rescue is turned off on this site, so this rescue link cannot be used. Please contact the site administrator."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:297
msgid "Rescue link requested"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:298
msgid "Rescue successful"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:299
msgid "Rescue link invalid"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:300
msgid "Login Rescue disabled"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:363
msgid "Login rescue link"
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:364
msgid "A login rescue link was requested for your site."
msgstr ""

#: includes/free-plus/admin-rescue/class-admin-rescue.php:365
msgid "If this was you (locked out of wp-admin), open this single-use link within 15 minutes to whitelist your current IP and clear its lockout:"
msgstr ""

#. translators: %s: ip
#: includes/free-plus/admin-rescue/class-admin-rescue.php:367
#, php-format
msgid "It was requested from IP: %s"
msgstr ""

#. translators: %s: ip
#: includes/free-plus/admin-rescue/class-admin-rescue.php:368
msgid "If this was not you, you can ignore this email — the link does nothing until clicked and expires shortly."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:45
msgid "This file contains code patterns commonly used to hide a backdoor (for example eval of base64-encoded or obfuscated code)."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:46
msgid "A backdoor lets an attacker run commands, create hidden admin users or inject spam — and it survives even after you change passwords."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:47
msgid "Open the file to confirm it is not a legitimate library, then remove it or restore a clean copy and re-scan."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:51
msgid "An IP address was locked out after too many failed logins."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:52
msgid "This is automated brute-forcing trying to guess a password. The lockout stopped it for now."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:53
msgid "If it keeps happening, turn on two-factor auth and a login CAPTCHA, and whitelist your own IP in Login Rescue."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:57
msgid "An account password was found in a known public data breach."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:58
msgid "Attackers try breached passwords first (credential stuffing), so a reused breached password is high risk."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:59
msgid "Change it to a long, unique password and enable two-factor authentication."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:63
msgid "An installed plugin, theme, or WordPress core is out of date or has a known vulnerability."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:64
msgid "Outdated components are the single most common way WordPress sites get hacked."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:65
msgid "Update it from the Updates screen, then run a scan and refresh your baseline."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:69
msgid "A file changed compared with your known-good baseline (or the official WordPress.org checksum)."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:70
msgid "Unexpected changes can mean a malware injection — or simply a legitimate update."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:71
msgid "If you did not just update, review the change and restore the file from a clean copy if it looks suspicious."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:75
msgid "XML-RPC activity was detected or limited."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:76
msgid "XML-RPC — especially system.multicall — is abused to brute-force logins and amplify attacks."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:77
msgid "If you do not use the WordPress mobile app or remote publishing, disable XML-RPC in Hardening."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:81
msgid "A request was blocked by your firewall rules."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:82
msgid "Blocking malicious requests and regions you never serve sharply cuts automated attacks."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:83
msgid "No action needed unless a real visitor was blocked — then adjust your rules or whitelist them."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:87
msgid "A file exactly matches a known piece of malware (its fingerprint is on a malware blocklist)."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:88
msgid "A known-malware match is high confidence — this is almost certainly a real infection, not a false alarm."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:89
msgid "Quarantine the file (or restore a clean copy), change all passwords, update everything, and re-scan to confirm."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:93
msgid "An administrator account exists that you do not recognise."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:94
msgid "Attackers create hidden admin users so they keep access even after you change your own password — a classic sign of a breach."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:95
msgid "If you did not create it, remove that user under Users, change all admin passwords, run a full scan, and enable two-factor auth."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:99
msgid "Visitors are being redirected elsewhere, or spam/unknown content has appeared on the site."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:100
msgid "Redirects and injected spam are typical results of a malware infection and can get your site blacklisted by search engines."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:101
msgid "Run a full scan, remove/restore the affected files, change passwords, and once clean request a review in Google Search Console."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:105
msgid "An automated bot was stopped at the login, registration, or lost-password form."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:106
msgid "Bots mass-attack these forms to guess passwords or create spam accounts; the challenge filtered one out."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:107
msgid "No action needed — this is the protection working. If a real person was blocked, the invisible honeypot rarely affects humans."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:122
msgid "This is a security event AI CyberGuard flagged for your attention."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:123
msgid "Reviewing flagged events early is the best way to catch a problem before it spreads."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:124
msgid "Open the details, and if anything looks unexpected, run a fresh scan and review your hardening."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:129
msgid "What happened"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:130
msgid "Why it matters"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:160
msgid "Explain"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:176
msgid "Could not explain this right now."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:189
#: includes/free-plus/ai-help/class-ai-help.php:190
#: includes/free-plus/ai-help/class-ai-help.php:965
msgid "AI Assistant"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:212
msgid ""
"Great question — here's how to harden this site against attacks, using AI CyberGuard plus a few habits:\n"
"1) Run a scan and fix the red items on the Security Score page — those are your weakest points.\n"
"2) Open the Hardening page and turn on the protections (disable the file editor, hide your WP version, block user enumeration).\n"
"3) Turn on the Firewall. Keep it in Monitor mode first to see traffic, then switch to Enforce.\n"
"4) Enable two-factor authentication for your admin account, and keep login protection on.\n"
"5) Keep WordPress, plugins, and themes updated, and use strong unique passwords.\n"
"6) Take a Safety Snapshot of critical files before risky changes.\n"
"\n"
"The free edition covers all of the above, including automatic scheduled scans (turn them on in Settings & Security). For always-on, real-time protection — a full firewall that blocks attacks the instant they arrive, exact-time scheduling, and automated cleanup — that's AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:217
msgid ""
"How often to scan depends on your site:\n"
"1) A regular site: once or twice a day is plenty.\n"
"2) A store or busy site: every few hours.\n"
"3) A high-value or frequently-targeted site: hourly, ideally with real-time monitoring.\n"
"\n"
"The free edition can do this for you: turn on Scheduled Scans in Settings & Security and pick Daily, Twice-daily, Hourly or Every 4 hours with a preferred time (these run *around* the chosen time, since WordPress fires them on visitor traffic). You can also run a scan manually anytime. Tip: always run a scan right after updating plugins or themes. Exact, to-the-minute scheduling plus always-on real-time monitoring are part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:222
msgid ""
"If a scan gets stuck or is very slow, it's usually a big file tree or a limited server:\n"
"1) Use a regular scan rather than a full deep scan for routine checks.\n"
"2) Exclude large, noisy folders (uploads, cache, backups) from scanning.\n"
"3) Raise your memory limit by adding to wp-config.php: define('WP_MEMORY_LIMIT', '256M');\n"
"4) Ask your host to raise PHP max_execution_time if it's very low.\n"
"5) Refresh the page — sometimes progress just needs a reload.\n"
"\n"
"Tip: a very large uploads folder is the most common cause."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:227
msgid ""
"You can keep noisy or huge folders out of scans so results stay clean and fast:\n"
"1) Add directories you don't need scanned (caches, backups, large uploads), for example: wp-content/cache/*, wp-content/uploads/backups/*\n"
"2) Allow patterns that change normally so they don't trigger alerts, for example: *.log, wp-content/debug.log\n"
"3) Re-run a scan to confirm the noise is gone.\n"
"\n"
"Tip: excluding cache and backup folders both speeds up scans and cuts false alarms."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:232
msgid ""
"If the firewall blocks someone it shouldn't:\n"
"1) Check the Event Log to see exactly what was blocked and why.\n"
"2) Add the affected visitor's IP to the firewall whitelist.\n"
"3) If it keeps happening, switch the firewall back to Monitor mode while you investigate — that blocks nothing.\n"
"\n"
"Remember the firewall never blocks logged-in administrators, and loopback is always allowed. Tip: start in Monitor mode for a while before enforcing, so you can see what would be blocked first."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:237
msgid ""
"Running a scan takes a few seconds:\n"
"1) Open AI CyberGuard → Dashboard.\n"
"2) Click \"Run Scan\".\n"
"3) Wait for the result — you'll see anything changed, new, deleted, or matching a known malware signature.\n"
"\n"
"The very first scan also builds your integrity baseline (your \"known-good\" snapshot). Tip: run a scan right after you update plugins or themes so the baseline stays current."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:241
msgid ""
"The baseline is a snapshot of your files when they were known to be clean. Integrity monitoring compares your current files against it and flags differences.\n"
"\n"
"When to refresh it:\n"
"1) After a legitimate update (plugin, theme, or core).\n"
"2) From AI CyberGuard → Dashboard, choose to refresh/rebuild the baseline.\n"
"3) Future scans then treat those expected changes as normal.\n"
"\n"
"Tip: only refresh after you're sure the changes are legitimate — otherwise you'd \"bless\" an unwanted change."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:245
msgid ""
"The scanner inspects your WordPress files — core, plugins, themes, and the uploads area — comparing them to known malware signatures and to your integrity baseline.\n"
"\n"
"It looks for:\n"
"1) Files that changed unexpectedly.\n"
"2) New or hidden files that shouldn't be there.\n"
"3) Code patterns that match known malware.\n"
"\n"
"Tip: legitimate updates will show as \"changed\" — refresh your baseline after updating to clear them."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:250
msgid ""
"Open AI CyberGuard → Security Score to see your score out of 100.\n"
"1) The dial shows your overall posture (green = good, amber = needs attention, red = at risk).\n"
"2) Below it, the top issues are listed worst-first.\n"
"3) Each issue has a \"How to fix\" snippet — often a line to add to wp-config.php — and sometimes a direct action link.\n"
"\n"
"Tip: fixing the red \"Failed\" items first gives the biggest score jump."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:254
msgid ""
"Some hardening fixes are one-line additions to wp-config.php (for example, disabling the built-in file editor).\n"
"1) Copy the snippet shown on the Security Score page.\n"
"2) Edit wp-config.php in your site root (via your host's file manager or FTP).\n"
"3) Paste the line above the comment that says \"That's all, stop editing!\".\n"
"4) Save and re-check your score.\n"
"\n"
"Tip: always keep a backup of wp-config.php before editing it."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:259
msgid ""
"Login protection defends your wp-login page from brute-force guessing.\n"
"1) It counts failed login attempts per IP.\n"
"2) After too many failures, that IP is locked out for a while.\n"
"3) You can review activity and manage the blacklist/whitelist under Settings & Security.\n"
"\n"
"Tip: add your own office IP to the whitelist so you're never locked out."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:263
msgid ""
"Locked out? You have an easy, built-in way back in:\n"
"1) On the login page, click \"Locked out? Email me a rescue link\". A single-use link (valid 15 minutes) is emailed to your site's admin address — click it to whitelist and unblock your IP, then log in.\n"
"2) If you changed your login URL with Hide Login and forgot it, add define('GUARDPRESS_DISABLE_HIDE_LOGIN', true); to wp-config.php to restore the normal /wp-login.php.\n"
"3) Last resort: use your host's file manager/FTP to rename the plugin folder (wp-content/plugins/ai-cyberguard) to disable it, log in, then rename it back.\n"
"\n"
"Tip: prevent all of this — go to AI CyberGuard → Login Rescue now and click \"Whitelist my current IP\"."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:267
msgid ""
"You can control which IPs are always allowed or always blocked:\n"
"1) Go to Settings & Security.\n"
"2) Add trusted IPs (like your office or home) to the whitelist — they're never locked out.\n"
"3) Add known-bad IPs to the blacklist — they're blocked outright.\n"
"\n"
"Tip: find your current IP by searching \"what is my IP\" in your browser."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:272
msgid ""
"AI CyberGuard → Event Log is a rolling record of the last 7 days of security activity.\n"
"1) It shows login lockouts, malware findings, and update/vulnerability alerts.\n"
"2) Each row shows when it happened, the type, and details.\n"
"3) Entries older than 7 days are trimmed automatically to keep it tidy.\n"
"\n"
"Tip: a quiet log is a good sign — it means nothing suspicious has been recorded."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:277
msgid ""
"The Weekly Report emails you a plain-language security summary once a week.\n"
"1) Open AI CyberGuard → Weekly Report.\n"
"2) Use the toggle to enable or disable it.\n"
"3) Click \"Send a test report now\" to preview it immediately.\n"
"\n"
"It includes your score, login attacks, available updates, last scan, and recent events. Recipients come from the email field in Settings & Security."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:282
msgid ""
"Outdated plugins, themes, and core are the most common way sites get hacked. AI CyberGuard checks weekly for available updates and reports them in your Weekly Report and Event Log.\n"
"1) Review the list of components with updates.\n"
"2) Update them from WordPress → Dashboard → Updates.\n"
"3) Run a scan and refresh your baseline afterward.\n"
"\n"
"Tip: enable auto-updates for trusted plugins to stay current effortlessly."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:287
msgid ""
"The threat signature feed is the list of known malware patterns the scanner matches against.\n"
"1) On the free edition it refreshes weekly.\n"
"2) More signatures = better detection of new threats.\n"
"3) The plugin also keeps a local IP blocklist built from IPs blocked by login protection.\n"
"\n"
"Tip: keeping the plugin active ensures the feed stays updated automatically."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:292
msgid ""
"In the free edition, the Live Attack Map on your dashboard shows which countries recent attacks came from — turn on \"Attack-map location lookup\" under Settings → Privacy to plot them.\n"
"\n"
"Actually BLOCKING traffic by country is a PRO feature: PRO adds country rules that deny requests from regions you choose. If your audience is local, that can sharply cut automated attacks — it's one of the most popular reasons people upgrade."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:297
msgid ""
"To control who receives alerts and the weekly report:\n"
"1) Go to Settings & Security.\n"
"2) Enter one or more recipient email addresses.\n"
"3) Save, then send a test report from AI CyberGuard → Weekly Report to confirm delivery.\n"
"\n"
"If no recipient is set, alerts fall back to your site's admin email."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:301
msgid ""
"If emails aren't arriving, it's almost always your site's mail setup, not the plugin (WordPress sends through your server by default, which many hosts block or send to spam).\n"
"1) Check your spam/junk folder first.\n"
"2) Confirm the recipient address in Settings & Security is correct.\n"
"3) Install a free SMTP plugin (for example WP Mail SMTP) and connect a real mailbox — this fixes the vast majority of delivery problems.\n"
"4) Send a test report again from AI CyberGuard → Weekly Report.\n"
"\n"
"Tip: SMTP delivery is far more reliable than the default PHP mail."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:306
msgid ""
"Does scanning slow your site? For visitors, no — scans run in the background (via WordPress cron) and don't affect page-loading for your guests.\n"
"1) Scans use server resources only while they run, then stop.\n"
"2) On large sites a scan may take longer, but it's throttled to stay gentle.\n"
"3) Normal browsing and admin work are unaffected.\n"
"\n"
"Tip: if your host is very limited, schedule scans for low-traffic hours."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:311
msgid ""
"If a clean file is flagged:\n"
"1) Check whether the change was legitimate (a recent update usually is).\n"
"2) If it was, refresh your baseline so the file is accepted going forward.\n"
"3) If you're unsure, leave it flagged and investigate — better safe than sorry.\n"
"\n"
"The scanner already applies false-positive prevention to reduce noise, so flags are usually meaningful."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:316
msgid ""
"If you suspect your site is hacked, act calmly and in order:\n"
"1) Run a scan (AI CyberGuard → Dashboard) to see exactly what's affected.\n"
"2) Update all plugins, themes, and WordPress core.\n"
"3) Change all admin passwords and your hosting/database passwords.\n"
"4) Review the flagged files — remove or restore anything malicious from a clean backup.\n"
"5) Re-scan to confirm it's clean.\n"
"\n"
"Tip: automated quarantine and one-click restore make cleanup much faster — those are part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:320
msgid ""
"Common signs of a compromised WordPress site:\n"
"1) Unexpected admin users or content you didn't create.\n"
"2) Redirects to strange websites, or browser security warnings.\n"
"3) Your host emails you about malware or spam being sent.\n"
"4) New or modified files the scanner flags.\n"
"\n"
"If you see any of these, run a scan immediately and follow the cleanup steps. Tip: regular scans catch most of these early."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:325
msgid ""
"Great question — most hacks are preventable. The golden rules, and how this plugin helps:\n"
"1) Keep everything updated — WordPress core, plugins, and themes. Outdated software is the #1 way sites get hacked. The plugin checks weekly and reports what needs updating.\n"
"2) Use a strong, unique admin password (12+ characters), and turn on two-factor authentication under Two-Factor Auth so a stolen password isn't enough.\n"
"3) Keep login protection on (it's active by default) to stop brute-force guessing.\n"
"4) Run a scan and build your baseline, then open Security Score and fix the red items.\n"
"5) Turn on the protections under Hardening (disable the file editor, hide your WP version, etc.).\n"
"6) Switch the Firewall on — start in Monitor mode, then move to Enforce once you're comfortable.\n"
"7) Keep backups, and take a Safety Snapshot before risky changes.\n"
"\n"
"Tip: the free edition can run scheduled scans for you (turn them on in Settings & Security). For hands-off, real-time protection — an always-on firewall, exact-time scheduling, and cloud backups — AI CyberGuard PRO does all of this for you automatically."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:330
msgid ""
"If the firewall blocked someone it shouldn't have:\n"
"1) Open the Event Log to see exactly what was blocked and why.\n"
"2) The quickest fix: set the Firewall back to Monitor mode (it logs without blocking) while you investigate.\n"
"3) Add the affected visitor's IP to the firewall whitelist so they're always allowed.\n"
"4) Make sure your own IP is whitelisted too.\n"
"\n"
"Tip: the free firewall only blocks on high-confidence signals by default, so false blocks are rare — Monitor mode lets you confirm before enforcing."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:335
msgid ""
"Welcome! A good first-time setup:\n"
"1) Run your first scan (Dashboard → Run Scan) — this builds your baseline.\n"
"2) Open Security Score and fix the top red items.\n"
"3) Set your alert email in Settings & Security and send a test Weekly Report.\n"
"4) Whitelist your own IP so you're never locked out.\n"
"\n"
"That's it — you're protected, and the plugin keeps watching automatically."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:340
msgid ""
"The free edition can run scheduled scans automatically:\n"
"1) Open Settings & Security and turn on Scheduled Scans.\n"
"2) Pick a frequency — Daily, Twice-daily, Hourly or Every 4 hours — and a preferred time.\n"
"3) You can still run a manual scan anytime from the Dashboard.\n"
"\n"
"Note: WordPress fires scheduled tasks on visitor traffic, so a free scheduled scan runs *around* your chosen time rather than to the exact minute. Exact, to-the-minute scheduling plus always-on real-time monitoring are part of AI CyberGuard PRO. Tip: also run a scan right after updating plugins or themes."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:345
msgid ""
"This edition includes a request Firewall (AI CyberGuard → Firewall) that inspects incoming requests for attack patterns (path traversal, SQL injection, XSS and more) and can act on the local IP blocklist:\n"
"1) Open the Firewall page.\n"
"2) It starts in Monitor mode (logs only, blocks nothing) — safe to leave on while you watch the Event Log.\n"
"3) Optionally tick \"act on suspicious request signatures\" and \"act on the local IP blocklist\".\n"
"4) When you're confident, switch to Enforce mode to actually block. Logged-in admins and whitelisted IPs are never blocked.\n"
"\n"
"Tip: run Monitor for a few days first. An always-on, cloud-managed, auto-updating real-time firewall is part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:350
msgid ""
"Two-factor authentication (2FA) adds a second login step — a 6-digit code from an authenticator app — so a stolen password isn't enough to get in. It's included free in this edition.\n"
"1) Go to AI CyberGuard → Two-Factor Auth and click \"Set up two-factor authentication\".\n"
"2) Scan the QR code into an app like Google Authenticator or Authy and enter the code to enable it.\n"
"3) Save your backup codes.\n"
"\n"
"It's per-user and fully reversible. Org-wide 2FA policies and trusted-device management are part of AI CyberGuard PRO. Tip: enable it for every admin account."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:355
msgid ""
"This edition gives you two recovery tools, both manual and local:\n"
"1) The integrity baseline shows exactly what changed, so you know what to fix.\n"
"2) Safety Snapshots (AI CyberGuard → Safety Snapshots) save protected copies of critical files before a risky change. To restore one, click \"Download clean copy\" next to the file and place it back yourself — the copies are kept safely and nothing is auto-overwritten.\n"
"\n"
"For a full safety net, also keep whole-site backups via your host or a backup plugin. Automated, scheduled, cloud-stored backups with one-click WHOLE-SITE restore are part of AI CyberGuard PRO. Tip: snapshot functions.php and .htaccess before editing them."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:360
msgid ""
"Quarantine (AI CyberGuard → Quarantine) safely isolates a suspicious file — it's moved to protected storage and removed from its place, and you can restore it later if it turns out to be fine:\n"
"1) Confirm the file really is suspicious (use a scan and the \"Explain\" button).\n"
"2) On the Quarantine page, enter the file's path (e.g. wp-content/uploads/2026/05/suspicious.php) and click \"Quarantine file\".\n"
"3) To put the file back, click \"Download clean copy\" and copy it to its original location yourself; to remove for good, click \"Delete\".\n"
"\n"
"It's manual and protects you from mistakes (it refuses core files and wp-config.php). Tip: quarantine is safer than deleting — you can always restore. Fully automatic one-click quarantine of detected threats is part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:365
msgid ""
"The free edition sends alerts and the weekly summary by email.\n"
"\n"
"Additional instant channels — SMS text alerts and integrations like Slack — are part of AI CyberGuard PRO, for when you need to know the moment something happens. Tip: make sure email delivery works well first (an SMTP plugin helps)."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:370
msgid ""
"Privacy matters. The free edition stores its data on your own site (files and the database), and the built-in help assistant answers entirely locally — what you type here never leaves your server.\n"
"\n"
"Most scan work runs on your own server. Some user-initiated scans may contact the official WordPress.org APIs to verify core/plugin checksums and repository files.\n"
"\n"
"Optional external services are used only when you enable or trigger them:\n"
"1) Threat Feed (when on): sends a random installation ID and your plugin version to guardpress.ai, and may check suspicious file hashes/URLs against abuse.ch during scans.\n"
"2) AI Analysis (when on): sends only the specific file you click Analyze on, with secrets redacted.\n"
"3) GeoIP attack-map countries, breached-password checks and the login CAPTCHA each have their own opt-in.\n"
"\n"
"Tip: there are no ads and no selling of your data."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:375
msgid ""
"To remove the plugin:\n"
"1) Go to WordPress → Plugins.\n"
"2) Deactivate AI CyberGuard, then click Delete.\n"
"\n"
"Deleting runs the cleanup routine that removes the plugin's options and data. Tip: if you're just troubleshooting, deactivating (without deleting) keeps your settings for when you reactivate."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:380
msgid ""
"If a scan seems stuck:\n"
"1) Refresh the Dashboard page — progress sometimes just needs a reload.\n"
"2) Wait a bit longer on large sites; big file trees take more time.\n"
"3) If it still won't finish, deactivate and reactivate the plugin, then try again.\n"
"4) Check that your host isn't hitting a low memory or time limit.\n"
"\n"
"Tip: very large uploads folders are the most common cause of slow scans."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:385
msgid ""
"AI CyberGuard runs on standard, supported WordPress and PHP versions and is designed to coexist with common plugins.\n"
"1) Keep WordPress and PHP reasonably current for best results.\n"
"2) If you suspect a conflict, the usual test is to deactivate other plugins one at a time.\n"
"\n"
"Tip: keep a backup before major changes, as with any plugin."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:390
msgid ""
"You can upgrade to AI CyberGuard PRO from the Upgrade page in the plugin menu, which shows current plans and what each unlocks.\n"
"\n"
"PRO is the hands-off, automated tier: an always-on real-time firewall, exact-time scheduling + real-time file monitoring, automatic one-click quarantine/cleanup, scheduled cloud backups with one-click whole-site restore, extra alert channels (SMS/Slack), and priority support. Tip: this free edition already covers scanning (including automatic scheduled scans), the firewall, hardening, login protection, two-factor auth, quarantine, snapshots and reports — upgrade when you want the real-time, cloud-managed automation."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:395
msgid ""
"This free edition is generous — it includes: malware/file scanning with a fast incremental re-scan, automatic scheduled scans (Daily, Twice-daily, Hourly or Every 4 hours), integrity monitoring, a security score with fix guidance, a request firewall (Monitor/Enforce), hardening tools, login brute-force protection, login CAPTCHA, breached-password checks, two-factor auth, Hide Login, Login Rescue, manual quarantine and safety snapshots, a 7-day event log, weekly email reports, update/vulnerability checks, the Security Hub, and this assistant.\n"
"\n"
"PRO is about hands-off AUTOMATION: an always-on real-time/cloud-managed firewall, country blocking, exact-time scheduling and real-time file monitoring, automatic one-click quarantine/cleanup, scheduled cloud backups with one-click whole-site restore, conversational AI that fixes findings for you, extra alert channels (SMS/Slack), and priority support.\n"
"\n"
"Tip: the rule of thumb — free = local and on your own server (manual or scheduled scans); PRO = real-time, cloud-managed, and fixes things for you."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:403
msgid ""
"The Security Hub (AI CyberGuard → Security Hub) is your at-a-glance home base:\n"
"1) A big letter-grade dial (A+ down to F) shows your overall security posture.\n"
"2) \"Threat Weather\" sums up current risk in one word: Calm, Guarded, Elevated, or Critical.\n"
"3) \"Quick Wins\" lists the easiest fixes that raise your grade the most — start here.\n"
"4) \"Risk Radar\" shows the weak spots from your security checklist.\n"
"5) Tap \"Brief me\" for a plain-language AI summary of your posture — generated on your own server, nothing leaves your site.\n"
"6) Below that: this week's activity, a live feed, and your security streak.\n"
"\n"
"Tip: visit the Hub first each time — the Quick Wins tell you exactly what to do next."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:408
msgid ""
"Hide Login moves your login page off the well-known /wp-login.php to a secret address only you know, so brute-force bots can't find it.\n"
"1) Go to AI CyberGuard → Hide Login.\n"
"2) Tick \"Enable\", then type a secret slug (letters/numbers/dashes), e.g. my-secret-door.\n"
"3) Tick the confirmation box and Save — your login becomes yoursite.com/my-secret-door.\n"
"4) Bookmark the new URL right away!\n"
"\n"
"There are safety nets so you can get back in: you're never blocked while logged in, the emailed Login Rescue link gets you back in, and — if email ever fails — adding define('GUARDPRESS_DISABLE_HIDE_LOGIN', true); to wp-config.php instantly restores the normal login.\n"
"Tip: pick something only you would guess — avoid \"login\" or \"admin\"."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:413
msgid ""
"Login Rescue is your safety net to help you recover access if a security feature ever locks you out.\n"
"1) Before you ever need it: AI CyberGuard → Login Rescue → click \"Whitelist my current IP\" — your IP is then never locked out.\n"
"2) If you DO get locked out: open your login page and click \"Locked out? Email me a rescue link\".\n"
"3) A single-use link (valid 15 minutes) is emailed ONLY to your site's admin address.\n"
"4) Click it — your IP is instantly whitelisted and unblocked, and you can log in.\n"
"\n"
"Tip: run \"Whitelist my current IP\" now and send yourself a test rescue link, so you know it works before you ever need it."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:418
msgid ""
"The 60-Second Setup walks you through the protections that matter most, with a live progress ring.\n"
"1) Go to AI CyberGuard → Setup.\n"
"2) Each step shows whether it's done, with a one-click button to open it: Firewall, Hardening, Login Protection, Two-Factor Auth, and Login Rescue.\n"
"3) Work down the list — most steps take only a few seconds.\n"
"4) The ring fills as you go; when every essential step is green, you're well protected.\n"
"\n"
"Tip: do the steps in order — and don't skip \"Login Rescue\", it's your safety net."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:423
msgid ""
"Streaks & Achievements (on the Security Hub) are a friendly way to stay motivated:\n"
"1) Your \"clean streak\" counts the days in a row with no serious security event (malware, firewall, or vulnerability).\n"
"2) Badges unlock as you harden the site — e.g. Enlisted, Hardened, Fortified, a 7-day streak, and a 30-day streak.\n"
"3) A serious event resets the streak, so a growing streak is a sign things are healthy.\n"
"\n"
"Tip: it's positive reinforcement — a long streak means your defences are doing their job."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:428
msgid ""
"Compromised-Password protection checks whether a password has appeared in a known public data breach — attackers try those first.\n"
"1) Go to AI CyberGuard → Login Protection.\n"
"2) Turn on \"Block / warn on breached passwords\".\n"
"3) Choose the action: Warn (let people in but nudge them to change it) or Block (force a reset).\n"
"4) It checks when a password is set and at admin login.\n"
"\n"
"Your privacy is protected by \"k-anonymity\" — only a tiny partial fingerprint of the password is ever sent, never the password itself.\n"
"Tip: if a password is flagged, change it to a long, unique one and turn on two-factor auth."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:433
msgid ""
"Login bot protection adds a challenge so automated bots can't hammer your login, registration, or lost-password forms.\n"
"1) Go to AI CyberGuard → Login Protection.\n"
"2) Turn on the bot challenge and pick where it applies (login, register, lost-password).\n"
"3) Choose a provider:\n"
"   - Honeypot (recommended): invisible to real visitors, self-hosted, zero setup — nothing leaves your server.\n"
"   - Cloudflare Turnstile: a free, privacy-friendly checkbox; paste your Turnstile site key + secret key.\n"
"4) Save.\n"
"\n"
"Tip: start with Honeypot — it's invisible to your visitors and needs no keys."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:438
msgid ""
"The Live Security Feed (on the Security Hub) is a compact, auto-refreshing list of recent events so the site feels alive.\n"
"1) It shows the latest events from the last 24 hours (logins, firewall, malware, vulnerabilities).\n"
"2) It refreshes on its own; use Pause/Resume to stop the updates.\n"
"3) For privacy, IP addresses are hidden in this view (the full Event Log still shows them).\n"
"\n"
"Tip: full real-time traffic monitoring with IPs, geo and an attack map is part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:443
msgid ""
"The Trust Badge shows a small \"Secured by AI CyberGuard\" seal on your site — free word-of-mouth that also reassures visitors.\n"
"1) Go to AI CyberGuard → Trust Badge.\n"
"2) Either tick \"Show in footer\" and pick a style (Soft, Dark, or Gradient), or place it anywhere with the shortcode [aicyberguard_badge].\n"
"3) Save.\n"
"\n"
"The badge is deliberately generic — it never reveals your version, score, or anything an attacker could use.\n"
"Tip: match your theme with the shortcode, e.g. [aicyberguard_badge style=\"dark\"]."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:448
msgid ""
"Wherever you see a security finding, look for the \"✨ Explain\" button.\n"
"1) Click it and AI CyberGuard explains, in plain English, three things: what happened, why it matters, and what to generally do about it.\n"
"2) It runs entirely on your own server — nothing you click is sent anywhere.\n"
"\n"
"Tip: use it whenever a finding's wording isn't clear. Step-by-step automatic fixing of each alert is part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:453
msgid ""
"The Insights page (AI CyberGuard → Insights) is a read-only analytics view of your last 7 days:\n"
"1) Your security score and how it breaks down.\n"
"2) Login stats — failed logins and blocked IPs.\n"
"3) Available updates for core, plugins, and themes.\n"
"4) Activity by day and by type (login, malware, firewall, vulnerabilities, quarantine).\n"
"5) Threat-feed status (how many signatures, last update).\n"
"\n"
"Tip: it makes no changes and contacts nothing — it's purely a dashboard to spot trends."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:458
msgid ""
"Two-factor authentication (2FA) adds a second login step — a 6-digit code from an app — so a stolen password isn't enough. It's free in this edition and easy to set up:\n"
"1) Go to AI CyberGuard → Two-Factor Auth → \"Set up two-factor authentication\".\n"
"2) Scan the QR code (or type the setup key) into an authenticator app like Google Authenticator or Authy.\n"
"3) Enter the 6-digit code the app shows, then click \"Verify & enable\".\n"
"4) Save the 10 backup codes it gives you somewhere safe — they let you in if you lose your phone.\n"
"\n"
"It's per-user and fully reversible (a \"Disable 2FA\" button is always there). Tip: set it up for every admin account."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:463
msgid ""
"The Hardening page (AI CyberGuard → Hardening) switches on extra protections with one click each — all reversible, and none of them edit your files:\n"
"1) Disable the built-in file editor (so nobody can edit plugin/theme code from wp-admin).\n"
"2) Hide the WordPress version (gives attackers less to target).\n"
"3) Disable XML-RPC, OR \"limit\" it (keep app support but block the abused pingback/multicall methods).\n"
"4) Block user enumeration (stop ?author=1 and the public user list from leaking usernames).\n"
"5) Remove revealing header tags.\n"
"\n"
"Tick the ones you want and Save. Tip: \"Disable file editor\" and \"Block user enumeration\" are safe wins for almost every site."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:468
msgid ""
"XML-RPC (the xmlrpc.php file) is an old remote-access feature — the WordPress mobile app, Jetpack, and pingbacks use it. Attackers abuse it to brute-force logins and amplify attacks.\n"
"1) Go to AI CyberGuard → Hardening.\n"
"2) If you don't use the mobile app, Jetpack, or remote publishing: choose \"Disable XML-RPC\" to block it completely.\n"
"3) If you DO use them: choose \"Limit XML-RPC\" instead — it keeps app access but blocks the dangerous pingback and system.multicall methods.\n"
"\n"
"Tip: most small sites can safely disable it entirely."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:473
msgid ""
"\"User enumeration\" is how attackers discover your usernames — by visiting URLs like yoursite.com/?author=1 or the public REST users list — so they can then brute-force those names.\n"
"1) Go to AI CyberGuard → Hardening.\n"
"2) Turn on \"Block user enumeration\".\n"
"3) Those probing methods stop revealing usernames.\n"
"\n"
"Tip: combine this with a login name that isn't \"admin\" and with two-factor auth for strong account protection."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:478
msgid ""
"WordPress has a built-in code editor (Appearance → Theme File Editor, Plugins → Plugin Editor). It's handy, but if an attacker gets into wp-admin it lets them inject malware instantly.\n"
"1) Go to AI CyberGuard → Hardening.\n"
"2) Turn on \"Disable the built-in file editor\".\n"
"3) The editor disappears from wp-admin (you can still edit files via FTP or your host's file manager).\n"
"\n"
"Tip: almost nobody needs the in-dashboard editor — turning it off is a safe, recommended win."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:483
msgid ""
"The Firewall has two modes:\n"
"1) Monitor (the default): it watches and LOGS suspicious requests but blocks nothing — completely safe. Great for the first week so you can see what WOULD be blocked.\n"
"2) Enforce: it actually blocks matching malicious requests. Logged-in admins and whitelisted IPs are never blocked.\n"
"\n"
"To switch: AI CyberGuard → Firewall → choose the mode → Save.\n"
"Tip: run in Monitor for a few days, check the Event Log for any false alarms, then move to Enforce with confidence."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:488
msgid ""
"The first malware scan checks every single file, so it can take a few minutes. After that, scans are much faster:\n"
"1) On the first scan, every clean file is remembered.\n"
"2) On later scans, files that haven't changed are skipped automatically — only new or modified files are re-checked.\n"
"3) If a file changes, or the malware signatures update, that file is re-scanned, so detection is never weakened.\n"
"\n"
"Tip: the slow scan is a one-time cost — your day-to-day scans will be quick."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:493
msgid ""
"AI CyberGuard's screens support a dark theme:\n"
"1) On any AI CyberGuard page, look for the moon icon in the top-right of the colored header.\n"
"2) Click it to toggle dark mode on or off.\n"
"3) Your choice is remembered in your browser for next time.\n"
"\n"
"Tip: it only affects AI CyberGuard's own pages, not the rest of wp-admin."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:501
msgid ""
"A strong password is your first line of defence. The rules:\n"
"1) Make it long — 14+ characters beats clever-but-short.\n"
"2) Use a passphrase: four random words plus a number/symbol, e.g. river-cactus-42-lamp.\n"
"3) Never reuse it on another site — reused passwords are how most accounts get taken over.\n"
"4) Use a password manager (Bitwarden, 1Password, or your browser) so you don't have to remember them.\n"
"5) Turn on two-factor auth so even a stolen password isn't enough.\n"
"\n"
"Tip: change any password AI CyberGuard flags as found in a data breach."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:506
msgid ""
"To change your WordPress password:\n"
"1) Click your name (top-right of wp-admin) → Edit Profile, or go to Users → Profile.\n"
"2) Scroll to \"Account Management\" → \"Set New Password\".\n"
"3) Let WordPress generate a strong one, or paste your own long, unique password.\n"
"4) Click \"Update Profile\". You stay logged in on this device.\n"
"\n"
"Tip: right after changing it, turn on Two-Factor Auth (AI CyberGuard → Two-Factor Auth) so the new password is backed by a second step."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:511
msgid ""
"Quick plain-English definitions:\n"
"1) Malware = any malicious code planted on your site (to send spam, steal data, redirect visitors, or attack others).\n"
"2) Backdoor = hidden code that lets an attacker back in even after you change passwords — the most important thing to remove.\n"
"3) Web shell = a malicious file that gives an attacker a control panel over your server.\n"
"\n"
"AI CyberGuard's scanner looks for the code patterns these use (like eval of base64-encoded code).\n"
"Tip: if a file is flagged with words like eval/base64/shell_exec, open it to confirm, then remove it or restore a clean copy and re-scan."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:516
msgid ""
"A \"brute-force\" attack is when bots try thousands of username/password combinations on your login hoping to guess one. \"Credential stuffing\" is the same idea using passwords leaked from other sites.\n"
"\n"
"How AI CyberGuard stops it:\n"
"1) Login protection locks out an IP after too many failed attempts.\n"
"2) Compromised-Password protection blocks passwords known from breaches.\n"
"3) A login CAPTCHA stops automated bots.\n"
"4) Hide Login moves the login page so most bots never find it.\n"
"5) Two-factor auth means a guessed password still isn't enough.\n"
"\n"
"Tip: turning on two or three of these makes brute-forcing effectively hopeless."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:521
msgid ""
"Phishing is a fake message (email or text) pretending to be a service you trust, to trick you into typing your password on a fake page or clicking a malicious link.\n"
"\n"
"How to stay safe:\n"
"1) Never log in via a link in an email — type your site address yourself.\n"
"2) Check the sender address, and hover over links to see the real destination.\n"
"3) Turn on two-factor auth so a stolen password alone can't get in.\n"
"\n"
"Tip: AI CyberGuard protects your WordPress site itself; phishing targets you personally, so caution plus 2FA are your best defence."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:526
msgid ""
"HTTPS (the padlock in the address bar, backed by an SSL/TLS certificate) encrypts traffic between visitors and your site so passwords and data can't be read in transit. You absolutely want it.\n"
"1) Most hosts offer a free certificate (Let's Encrypt) — enable it in your hosting panel.\n"
"2) Then set your WordPress Address and Site Address to https:// under Settings → General.\n"
"3) AI CyberGuard's Security Score checks whether HTTPS is active and flags it if not.\n"
"\n"
"Tip: a free certificate from your host plus a redirect to https is enough for most sites."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:531
msgid ""
"Yes — backups are essential; they're your guaranteed recovery if anything ever goes wrong.\n"
"1) Simplest: many hosts take daily backups — check your hosting panel and learn how to restore one.\n"
"2) Or install a dedicated backup plugin (e.g. UpdraftPlus) to save copies to Google Drive/Dropbox.\n"
"3) In AI CyberGuard, use Safety Snapshots to copy critical files before a risky change so you can roll just those back.\n"
"\n"
"Tip: keep backups OFF your server (cloud or email) so a hack can't destroy them too. Automated cloud backups with one-click full-site restore are part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:536
msgid ""
"Safety Snapshots (AI CyberGuard → Safety Snapshots) let you copy important files before a risky change, so you can roll just those back:\n"
"1) Click \"Snapshot critical files\" to capture your theme's functions.php and root .htaccess in one click, or enter a path to snapshot a specific file.\n"
"2) Make your change. If it breaks something, click \"Download clean copy\" next to the file and put it back yourself.\n"
"3) Automatic in-place restore is disabled for security, so nothing is overwritten without you — the saved copy is always there to download.\n"
"\n"
"It's manual and local (it never touches wp-config.php). Tip: take a snapshot before editing functions.php or .htaccess. Scheduled, cloud-stored, whole-site backups with one-click restore are part of AI CyberGuard PRO."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:541
msgid ""
"Before installing a plugin or theme:\n"
"1) Prefer the official WordPress.org directory or a reputable paid vendor.\n"
"2) Check it's recently updated, has many active installs, and good reviews.\n"
"3) NEVER install \"nulled\"/pirated premium plugins — they're the #1 source of pre-installed backdoors.\n"
"4) After installing, run an AI CyberGuard scan and refresh your baseline.\n"
"\n"
"Tip: fewer, well-maintained plugins = a smaller attack surface. Remove anything you don't use."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:546
msgid ""
"Seeing failed login attempts is normal — bots probe every WordPress site constantly. It only matters if they succeed, and AI CyberGuard is built to stop that:\n"
"1) Check AI CyberGuard → Event Log to see the attempts and any lockouts.\n"
"2) Make sure login protection is on (it locks out repeat offenders automatically).\n"
"3) Strengthen it: enable a login CAPTCHA and Two-Factor Auth.\n"
"4) Consider Hide Login to move the login page so bots can't find it.\n"
"\n"
"Tip: a flood of failed logins that never succeeds means your defences are working."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:551
msgid ""
"If Google or the browser shows \"deceptive site\" or \"this site may be hacked\", a scanner detected something malicious — you need to clean up and then request a review:\n"
"1) Run a full AI CyberGuard scan and remove/restore any flagged files.\n"
"2) Update everything and change all passwords.\n"
"3) Once clean, use Google Search Console → Security Issues → \"Request Review\".\n"
"4) Re-scan to confirm it stays clean.\n"
"\n"
"Tip: the warning won't lift until both the malware is gone AND you've requested the review."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:556
msgid ""
"Stores are higher-value targets (payments + customer data), so layer up:\n"
"1) Keep WooCommerce, payment plugins, and core updated promptly.\n"
"2) Enforce HTTPS everywhere (checkout needs it anyway).\n"
"3) Turn on the Firewall (Enforce mode after a Monitor trial), a login CAPTCHA, and Two-Factor Auth for every admin/shop-manager account.\n"
"4) Scan regularly and keep good off-site backups.\n"
"\n"
"Tip: never store card numbers yourself — use a trusted payment gateway. For always-on real-time protection on a busy store, AI CyberGuard PRO adds an automated firewall and monitoring."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:561
msgid ""
"AI CyberGuard works fine behind Cloudflare, a CDN, or a caching plugin:\n"
"1) It reads the real visitor IP from trusted proxy headers, so login protection and the firewall block the right address — not your CDN's.\n"
"2) Page caching doesn't affect scanning or admin features.\n"
"3) Login and admin pages aren't cached anyway, so login protection still applies.\n"
"\n"
"Tip: if IPs ever look wrong, make sure your CDN passes the real client IP (Cloudflare does this by default)."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:566
msgid ""
"You CAN run AI CyberGuard alongside another plugin, but two plugins both doing firewalling, login limiting, or 2FA can cause double-blocks, double prompts, or confusing logs:\n"
"1) Pick ONE plugin to own each job (one firewall, one login protector, one 2FA).\n"
"2) Turn off the overlapping feature in whichever plugin you're NOT using for it.\n"
"3) If something behaves oddly, deactivate the other security plugin briefly to test.\n"
"\n"
"Tip: it's cleanest to let a single plugin handle each security function."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:571
msgid ""
"Yes — this edition is genuinely free to use: scanning, hardening, the firewall, login protection, two-factor auth, quarantine, safety snapshots, the security score, weekly reports, and this assistant. No account or API key is required, and nothing you type here leaves your site.\n"
"\n"
"There's an optional paid edition (AI CyberGuard PRO) that adds hands-off automation: a real-time firewall, exact-time scheduling and real-time monitoring, automated cleanup, cloud backups with one-click restore, and extra alert channels. (Automatic scheduled scans are already in this free edition — turn them on in Settings & Security.)\n"
"Tip: you can stay on free indefinitely — PRO is only for when you want real-time, cloud-managed automation."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:576
msgid ""
"Thanks for helping improve AI CyberGuard!\n"
"1) To report a bug or request a feature, use the support link for your edition (PRO includes priority support).\n"
"2) A short review on the plugin's listing genuinely helps other site owners find it.\n"
"3) If you hit an error, note what you clicked and any message shown — that makes it much faster to fix.\n"
"\n"
"Tip: include your WordPress and PHP versions when reporting an issue."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:581
msgid ""
"AI CyberGuard is built to be translated — all of its text is translation-ready:\n"
"1) It uses standard WordPress translation, so it follows your site's language where translations exist.\n"
"2) Right-to-left languages (like Hebrew and Arabic) are supported by WordPress's RTL handling.\n"
"3) You can add or improve a translation with any standard WordPress translation tool.\n"
"\n"
"Tip: set your site language under Settings → General; the plugin follows it."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:586
msgid ""
"You can install AI CyberGuard on as many sites as you like — install and activate it on each one separately, then configure each site's settings:\n"
"1) Each site keeps its own scans, score, and settings.\n"
"2) On a WordPress Multisite network, activate it the network's normal way (note: Hide Login is single-site only).\n"
"\n"
"Tip: managing many sites from one dashboard, with central reporting, is the kind of thing AI CyberGuard PRO is built for."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:591
msgid ""
"Every protection is independent and reversible — turning one off changes nothing else:\n"
"1) Open that feature's page from the AI CyberGuard menu (e.g. Firewall, Hardening, Login Protection).\n"
"2) Untick the option (or set the Firewall back to Monitor mode) and Save.\n"
"3) The change takes effect immediately; none of these edit your files permanently.\n"
"\n"
"Tip: if a setting caused a problem, switching it off cleanly undoes it — and for a login lockout, use Login Rescue."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:596
msgid ""
"To find your current public IP address:\n"
"1) In your browser, search \"what is my IP\" — the number shown (like 203.0.113.45) is yours.\n"
"2) Add it to the whitelist on AI CyberGuard → Login Rescue (or Settings & Security) so you're never locked out.\n"
"\n"
"Many home connections change IP occasionally, so if you get locked out later, just use the emailed Login Rescue link.\n"
"Tip: the quickest \"never get locked out\" move is the \"Whitelist my current IP\" button on the Login Rescue page."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:601
msgid ""
"For help beyond this assistant:\n"
"1) Check the plugin's documentation for step-by-step guides.\n"
"2) Use the support contact for your edition.\n"
"3) PRO users get priority support for faster responses.\n"
"\n"
"You can also ask me here about any feature — try words like scan, security hub, hide login, two-factor, firewall, login rescue, backup, quarantine, breached password, or how to secure my site."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:612
msgid "Ask me anything — how to use a feature, what an alert means, or general security. For example: \"How do I hide my login?\" — or try \"What should I do next?\""
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:675
msgid ""
"I'm not certain I matched your exact question — try rephrasing in a few words, or pick a topic below. Meanwhile, the short version of staying protected with AI CyberGuard:\n"
"1) Run a scan and fix the red items on your Security Score.\n"
"2) Turn on the Hardening protections and the Firewall.\n"
"3) Enable two-factor authentication and keep login protection on.\n"
"4) Keep WordPress, plugins, and themes updated.\n"
"\n"
"You can ask me about any of these:\n"
"• Getting around: Security Hub, Setup wizard, Insights, dark mode\n"
"• Scanning: run a scan, baseline, exclusions, why the first scan is slow, false positives\n"
"• Login security: two-factor auth, login CAPTCHA, breached passwords, Hide Login, Login Rescue, locked out\n"
"• Protection: firewall (monitor vs enforce), hardening, XML-RPC, attack-origin map, quarantine, safety snapshots\n"
"• Account & basics: strong passwords, change my password, what is malware / brute force / phishing, do I need HTTPS, backups\n"
"• Plugin: weekly report, event log, email not arriving, free vs PRO, privacy, uninstall\n"
"\n"
"For hands-off, always-on real-time protection, AI CyberGuard PRO adds a real-time firewall, exact-time scheduling with real-time monitoring, and automated cleanup. (This free edition can already run scheduled scans on its own.)"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:800
msgid "I've taken a look at your site."
msgstr ""

#. translators: 1: score out of 100, 2: grade letter, 3: passing checks, 4: total checks
#: includes/free-plus/ai-help/class-ai-help.php:805
#, php-format
msgid "Your current security grade is %1$s%2$s, with %3$d of %4$d checks passing."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:817
msgid "Run your first scan (Dashboard → Run Scan), so I can see what is actually on your site."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:820
msgid "Turn on Two-Factor Auth for your account (AI CyberGuard → Two-Factor Auth) — the single biggest account-security win."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:823
msgid "Switch on Login Protection (AI CyberGuard → Login Protection): a bot CAPTCHA plus breached-password checks."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:826
msgid "Run the Firewall in Monitor for a few days, then switch it to Enforce (AI CyberGuard → Firewall)."
msgstr ""

#. translators: %d: number of failed checks
#: includes/free-plus/ai-help/class-ai-help.php:831
#, php-format
msgid "Fix the %d failed item on your Security Score."
msgid_plural "Fix the %d failed items on your Security Score."
msgstr[0] ""
msgstr[1] ""

#: includes/free-plus/ai-help/class-ai-help.php:836
msgid "Optionally, hide your login URL so bots cannot find it (AI CyberGuard → Hide Login)."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:838
msgid "Whitelist your IP in Login Rescue so you can never be locked out (AI CyberGuard → Login Rescue)."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:850
msgid "Here's what I'd do next, in priority order:"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:852
msgid "Work down that list and your grade will climb noticeably — ask me how to do any step."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:857
msgid "on ✅"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:858
msgid "off — recommended ⚠️"
msgstr ""

#. translators: %s: Two-Factor Auth status (on/off)
#: includes/free-plus/ai-help/class-ai-help.php:863
#, php-format
msgid "• Two-Factor Auth: %s"
msgstr ""

#. translators: %s: Firewall mode (Enforce/Monitor/off)
#: includes/free-plus/ai-help/class-ai-help.php:866
#, php-format
msgid "• Firewall: %s"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:867
msgid "Enforce ✅"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:867
msgid "Monitor — watching only"
msgstr ""

#. translators: %s: Hide Login status (on/off)
#: includes/free-plus/ai-help/class-ai-help.php:867
#: includes/free-plus/ai-help/class-ai-help.php:872
msgid "off"
msgstr ""

#. translators: %s: Login Protection status (on/off)
#: includes/free-plus/ai-help/class-ai-help.php:870
#, php-format
msgid "• Login Protection: %s"
msgstr ""

#. translators: %s: Hide Login status (on/off)
#: includes/free-plus/ai-help/class-ai-help.php:872
#, php-format
msgid "• Hide Login: %s"
msgstr ""

#. translators: %s: human-readable time since the last scan
#: includes/free-plus/ai-help/class-ai-help.php:875
#, php-format
msgid "• Last scan: %s ago."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:877
msgid "• Last scan: none yet — run one from the Dashboard."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:880
msgid "Want this as a step-by-step plan? Ask: \"What should I do next?\""
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:887
msgid ""
"I don't see a completed scan yet, so I can't say for certain. Run one now: AI CyberGuard → Dashboard → Run Scan. It checks your files against known malware and your clean-file baseline, and then I can tell you exactly what it found.\n"
"\n"
"In the meantime, watch for the classic warning signs: admin users you didn't create, redirects to strange sites, or your host emailing you about spam."
msgstr ""

#. translators: %s: time ago
#: includes/free-plus/ai-help/class-ai-help.php:897
#, php-format
msgid ""
"Your last scan (%s ago) found no threats in the parts it checked — but it could NOT finish checking everything (some files or folders were too large, too deep, unreadable, or couldn't be verified). So I can't yet confirm the site is clean.\n"
"\n"
"Please do this:\n"
"1) Re-run the scan, and review the coverage notices in the results.\n"
"2) If a specific file keeps being skipped, check its size/permissions.\n"
"3) Once a scan completes with full coverage, I can give you a clear all-clear."
msgstr ""

#. translators: %s: time ago
#: includes/free-plus/ai-help/class-ai-help.php:904
#, php-format
msgid ""
"Good news — your last scan (%s ago) found no threats and checked everything, so there's no current sign of a hack.\n"
"\n"
"Keep it that way:\n"
"1) Keep WordPress, plugins and themes updated.\n"
"2) Keep login protection and two-factor auth on.\n"
"3) Re-scan after any update.\n"
"\n"
"If you're seeing odd behaviour anyway (redirects, unknown admin users, host warnings), run a fresh scan and tell me what it flags."
msgstr ""

#. translators: 1: number of findings, 2: time ago
#: includes/free-plus/ai-help/class-ai-help.php:910
#, php-format
msgid ""
"Your last scan (%2$s ago) flagged %1$d item that needs a look. Here's the plan:\n"
"1) Open the scan results and tap the ✨ Explain button on the finding.\n"
"2) Quarantine anything malicious (AI CyberGuard → Quarantine) — it's reversible.\n"
"3) Update everything and change all admin + hosting passwords.\n"
"4) Re-scan to confirm it's clean."
msgid_plural ""
"Your last scan (%2$s ago) flagged %1$d items that need a look. Here's the plan:\n"
"1) Open the scan results and tap the ✨ Explain button on each finding.\n"
"2) Quarantine anything malicious (AI CyberGuard → Quarantine) — it's reversible.\n"
"3) Update everything and change all admin + hosting passwords.\n"
"4) Re-scan to confirm it's clean."
msgstr[0] ""
msgstr[1] ""

#: includes/free-plus/ai-help/class-ai-help.php:924
msgid "💡 Tip: ask \"What should I do next?\" for steps tailored to your site."
msgstr ""

#. translators: 1: score/100, 2: grade letter
#: includes/free-plus/ai-help/class-ai-help.php:936
#, php-format
msgid "Hi! I'm your security assistant. Your site's grade right now is %1$s%2$s. Ask me anything — how to use a feature, what an alert means, or general security. Or type \"What should I do next?\" for a plan tailored to your site."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:941
msgid "Hi! I'm your security assistant. Ask me anything — how to use a feature, what an alert means, or general WordPress security. Try \"What should I do next?\" for a plan tailored to your site."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:966
msgid "Ask how to use any feature, what an alert means, or general security. It knows your site and answers instantly on your own server — no account, no API key, nothing leaves your site."
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:995
msgid "e.g. How do I run a scan?"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:996
msgid "Ask"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:999
msgid "what should I do next?"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1000
msgid "run a scan"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1001
msgid "set up two-factor auth"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1002
msgid "hide my login url"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1003
msgid "I'm locked out"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1004
msgid "is my site hacked"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1005
msgid "how do I secure my site"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1006
msgid "email not arriving"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1007
msgid "free vs pro"
msgstr ""

#: includes/free-plus/ai-help/class-ai-help.php:1047
msgid "Sorry, something went wrong."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:145
msgid "Leave this field empty"
msgstr ""

#. translators: %s: form
#: includes/free-plus/captcha/class-captcha.php:521
#, php-format
msgid "CAPTCHA challenge failed on %s"
msgstr ""

#. translators: %d: count this window
#: includes/free-plus/captcha/class-captcha.php:570
#, php-format
msgid "CAPTCHA verifier unreachable — allowed through (fail open #%d this window)."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:580
msgid "CAPTCHA verifier unreachable and fail-open budget exhausted — challenge enforced (fail closed)."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:713
msgid "<strong>Verification failed.</strong> Please confirm you are human and try again."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:722
#: includes/free-plus/captcha/class-captcha.php:732
msgid "Verification failed. Please confirm you are human and try again."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:744
#: includes/free-plus/captcha/class-captcha.php:745
#: includes/free-plus/captcha/class-captcha.php:760
msgid "Login Protection"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:761
msgid "Stop bots and breached passwords at the door — privacy-first, no Google reCAPTCHA required."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:767
msgid "Two protections in one place: a bot challenge on your login / registration / lost-password forms, and a check that blocks passwords found in known data breaches (your actual password is never sent — only a short code derived from it is checked)."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:768
msgid "Turn both on. For the bot challenge, the Honeypot provider is recommended — it is invisible to real visitors and needs no keys. For breached passwords, \"Warn\" is gentle; \"Block\" is strict."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:769
msgid "risk-based adaptive challenges, device fingerprinting, and continuous breached-credential monitoring of every account."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:773
msgid "Settings saved."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:782
msgid "Compromised-password protection"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:783
msgid "Checks passwords against billions of known-breached passwords. Your actual password is never sent — only a short code derived from it is checked against a safe database."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:785
#: includes/free-plus/captcha/class-captcha.php:795
msgid "Enable"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:785
msgid "Block / warn on breached passwords"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:786
msgid "When breached"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:787
msgid "Warn — recommended (lets them log in, but warns them to change it)"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:788
msgid "Block (forces a password reset before they can log in)"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:793
msgid "Bot protection on login forms"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:795
msgid "Challenge bots on login / register / lost-password"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:796
msgid "Method"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:797
msgid "Invisible honeypot"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:797
msgid "self-hosted, zero config, nothing leaves your server (recommended)."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:798
msgid "Cloudflare Turnstile"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:798
msgid "free, but you must paste two keys from your Cloudflare account (Dashboard → Turnstile) into the fields below."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:800
msgid "Turnstile site key"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:801
msgid "Turnstile secret key"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:802
msgid "Protect forms"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:803
#: includes/free-plus/eventlog/class-event-log.php:304
#: includes/free-plus/insights/class-insights.php:152
#: includes/free-plus/livefeed/class-livefeed.php:37
msgid "Login"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:803
msgid "Register"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:803
msgid "Lost password"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:807
msgid "Before you turn this on:"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:807
msgid "whitelist your own computer in Login Rescue first, so a bot challenge can never accidentally lock you out."
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:807
msgid "Open Login Rescue →"
msgstr ""

#: includes/free-plus/captcha/class-captcha.php:810
msgid "Save changes"
msgstr ""

#. translators: %s: site name
#: includes/free-plus/digest/class-weekly-digest.php:83
#, php-format
msgid "GuardPress weekly security digest — %s"
msgstr ""

#. translators: %s is the site name.
#: includes/free-plus/digest/class-weekly-digest.php:103
#, php-format
msgid "Weekly security digest for %s"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:113
msgid "SECURITY SCORE"
msgstr ""

#. translators: 1: score, 2: pass, 3: warn, 4: fail
#: includes/free-plus/digest/class-weekly-digest.php:116
#, php-format
msgid "  Score: %1$d/100  (passed %2$d, warnings %3$d, failed %4$d)"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:129
msgid "FILE INTEGRITY SCAN"
msgstr ""

#. translators: 1: scan type, 2: how long ago
#: includes/free-plus/digest/class-weekly-digest.php:136
#, php-format
msgid "  Last %1$s scan: %2$s ago"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:137
msgid "file"
msgstr ""

#. translators: 1: changed, 2: new, 3: deleted
#: includes/free-plus/digest/class-weekly-digest.php:142
#, php-format
msgid "  Changes: %1$d changed, %2$d new, %3$d deleted"
msgstr ""

#. translators: %d: number of files skipped
#: includes/free-plus/digest/class-weekly-digest.php:152
#, php-format
msgid "  WARNING - scan INCOMPLETE: %d file(s) could not be read and were not checked. Re-run the Regular scan."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:157
msgid "  No scan has run yet. Run a scan from AI CyberGuard → Dashboard."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:165
msgid "LOGIN PROTECTION (last 7 days)"
msgstr ""

#. translators: %d is the number of failed login attempts in the last 7 days.
#: includes/free-plus/digest/class-weekly-digest.php:167
#, php-format
msgid "  Failed logins: %d"
msgstr ""

#. translators: %d is the number of currently blocked IP addresses.
#: includes/free-plus/digest/class-weekly-digest.php:169
#, php-format
msgid "  Currently blocked IPs: %d"
msgstr ""

#. translators: %d is the number of blacklisted IP addresses.
#: includes/free-plus/digest/class-weekly-digest.php:171
#, php-format
msgid "  Blacklisted IPs: %d"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:180
msgid "UPDATES / VULNERABILITY SURFACE"
msgstr ""

#. translators: 1: core, 2: plugins, 3: themes
#: includes/free-plus/digest/class-weekly-digest.php:184
#, php-format
msgid "  Updates available — core %1$d, plugins %2$d, themes %3$d"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:190
msgid "Plugins:"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:193
msgid "  Everything is up to date."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:203
msgid "THREAT SIGNATURES"
msgstr ""

#. translators: %d is the number of loaded threat signatures.
#: includes/free-plus/digest/class-weekly-digest.php:205
#, php-format
msgid "  Signatures: %d"
msgstr ""

#. translators: %s: last update phrase
#: includes/free-plus/digest/class-weekly-digest.php:208
#, php-format
msgid "  Last updated: %s"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:218
msgid "EVENT LOG"
msgstr ""

#. translators: %d is the number of security events recorded in the last 7 days.
#: includes/free-plus/digest/class-weekly-digest.php:220
#, php-format
msgid "  %d events recorded in the last 7 days."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:225
msgid "Open WordPress Admin → AI CyberGuard for full details."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:237
#: includes/free-plus/digest/class-weekly-digest.php:238
msgid "Weekly Report"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:296
msgid "Weekly Security Report"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:297
msgid "A plain-language summary emailed to you weekly: score, login attacks, updates, last scan, and recent events."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:303
msgid "Once a week, AI CyberGuard emails you a plain-language security summary. It is sent through your own site (no external service), to your admin email or the recipient you set under Settings & Security."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:304
msgid "Leave it enabled (the default), then click \"Send test report now\" to confirm the email actually arrives. If it does not, an SMTP plugin fixes most delivery problems."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:305
msgid "daily or instant reports, plus extra channels — SMS and Slack — for the moment something happens."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:312
msgid "Weekly digest enabled."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:314
msgid "Weekly digest disabled."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:316
msgid "Test digest sent."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:318
msgid "Could not send the test email. Check your site mail configuration."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:327
#: includes/free-plus/twofa/class-2fa.php:990
msgid "Enabled"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:328
msgid "Disabled"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:334
msgid "No valid recipient configured."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:335
msgid "Set in AI CyberGuard → Settings & Security (email recipients)."
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:338
msgid "Next report"
msgstr ""

#. translators: %s: time diff
#: includes/free-plus/digest/class-weekly-digest.php:340
#, php-format
msgid "in %s"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:354
msgid "Disable weekly digest"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:354
msgid "Enable weekly digest"
msgstr ""

#: includes/free-plus/digest/class-weekly-digest.php:361
msgid "Send a test report now"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:293
#: includes/free-plus/eventlog/class-event-log.php:333
msgid "Security Event Log"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:294
msgid "Event Log"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:303
#: includes/free-plus/livefeed/class-livefeed.php:38
#: includes/free-plus/waf/class-waf.php:445
#: includes/free-plus/waf/class-waf.php:446
msgid "Firewall"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:305
#: includes/free-plus/hub/class-hub.php:264
#: includes/free-plus/insights/class-insights.php:154
#: includes/free-plus/livefeed/class-livefeed.php:37
msgid "Malware"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:306
#: includes/free-plus/livefeed/class-livefeed.php:38
msgid "Vulnerability"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:308
#: includes/free-plus/insights/class-insights.php:157
#: includes/free-plus/livefeed/class-livefeed.php:39
msgid "Info"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:334
msgid "A rolling record of the last 7 days of security activity. Older entries are removed automatically."
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:340
msgid "A read-only timeline of security events — login lockouts, firewall blocks, malware findings, vulnerability alerts and quarantine actions. It records automatically; you cannot edit it."
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:341
msgid "A quiet log is a good sign. Check it after any alert, and before switching the Firewall from Monitor to Enforce."
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:342
msgid "long-term log retention, powerful search and filtering, CSV export, and real-time activity streaming."
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:350
msgid "No events in the last 7 days"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:352
msgid "A quiet log is a good sign — nothing suspicious has been recorded."
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:365
#: includes/free-plus/hub/class-hub.php:266
msgid "Total (7d)"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:374
msgid "When"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:375
msgid "Type"
msgstr ""

#: includes/free-plus/eventlog/class-event-log.php:376
msgid "Event"
msgstr ""

#. translators: %s: human-readable time difference
#. translators: %s: time ago
#. translators: %s: time diff
#. translators: %s: ago
#: includes/free-plus/eventlog/class-event-log.php:387
#: includes/free-plus/insights/class-insights.php:359
#: includes/free-plus/livefeed/class-livefeed.php:58
#: includes/free-plus/quarantine/class-quarantine.php:3269
#: includes/free-plus/snapshot/class-snapshot.php:2744
#, php-format
msgid "%s ago"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:36
msgid "Disable the built-in file editor"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:37
msgid "Stops anyone (including a hacker who breaks into your admin) from editing theme or plugin code directly in WordPress. Reversible anytime."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:41
msgid "Hide the WordPress version"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:42
msgid "Removes the WordPress version number from your page source, so attackers can't easily target version-specific exploits."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:46
msgid "Disable XML-RPC"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:47
msgid "Blocks xmlrpc.php — an old WordPress feature that hackers abuse for password-guessing attacks and to help overload sites."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:48
msgid "Leave OFF if you use the WordPress mobile app or Jetpack, which rely on XML-RPC."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:51
msgid "Limit XML-RPC (keep app support)"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:52
msgid "Keeps XML-RPC working for apps/Jetpack but blocks the dangerous pingback and system.multicall methods (the login-amplification vector), and logs attempts."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:53
msgid "Ignored if “Disable XML-RPC” above is on (that already blocks everything)."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:56
msgid "Block user enumeration"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:57
msgid "Stops bots from discovering your admin usernames by guessing — a common first step before a break-in attempt."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:61
msgid "Remove revealing header tags"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:62
msgid "Removes hidden WordPress info from your page code that hackers scan for clues but that serves no purpose for your site. Safe to remove — nothing breaks."
msgstr ""

#. translators: %s: xml-rpc method
#: includes/free-plus/hardening/class-hardening.php:188
#, php-format
msgid "XML-RPC activity blocked/limited (method: %s)"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:236
#: includes/free-plus/hardening/class-hardening.php:237
msgid "Hardening"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:262
msgid "Hardening settings updated."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:279
msgid "Security Hardening"
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:280
msgid "One-click protections you can turn on safely. Everything here is reversible and never edits your files."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:285
msgid "Each toggle enables a proven WordPress hardening measure — disable the file editor, hide your version, limit XML-RPC, block user enumeration, remove revealing header tags. None of it edits your files, so any option is instantly reversible."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:286
msgid "Safe wins for almost every site: turn on \"Disable the file editor\" and \"Block user enumeration\". If you do not use the WordPress mobile app, also disable XML-RPC."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:287
msgid "automatic hardening with configuration-drift monitoring that re-applies protections and alerts you the moment something changes."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:292
msgid "Hardening settings saved."
msgstr ""

#: includes/free-plus/hardening/class-hardening.php:325
msgid "Save hardening settings"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:298
#: includes/free-plus/hide-login/class-hide-login.php:299
#: includes/free-plus/hide-login/class-hide-login.php:318
msgid "Hide Login"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:319
msgid "Move your login page off the well-known /wp-login.php so brute-force bots can’t find it."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:324
msgid "Hackers run bots that hammer the standard /wp-login.php address all day, guessing passwords. Move that page to a secret address only you know, and those bots hit a dead end — they cannot attack a door they cannot find."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:325
msgid "Pick a slug only you would think of (not “login” or your site name) and bookmark the new URL the moment you save. Worried about being locked out? There are safety nets designed to get you back in: the email-based Login Rescue page, and — if email ever fails — adding define('GUARDPRESS_DISABLE_HIDE_LOGIN', true); to wp-config.php instantly restores the normal login."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:326
msgid "lock the login page to your own IP address or country and require a trusted device — on top of the hidden address."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:330
msgid "Saved. Your login URL is shown below — bookmark it now."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:331
msgid "That login slug is empty, reserved, or already used by an existing page. Pick another."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:332
msgid "Please tick the confirmation box so you don’t lock yourself out."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:335
msgid "A wp-config constant (GUARDPRESS_DISABLE_HIDE_LOGIN) is currently forcing this feature OFF. Remove it to use Hide Login."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:338
msgid "Hide Login is available on single-site installs only. On Multisite it stays off."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:343
msgid "Your login URL"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:345
msgid "Off"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:346
msgid "Login URL"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:360
msgid "Enable Hide Login"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:364
msgid "Choose your secret login slug:"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:369
msgid "Letters, numbers and dashes only. Avoid common words like “login” or “admin”."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:373
msgid "Before you enable this:"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:374
msgid "After saving, your ONLY login URL becomes the one above — wp-login.php will stop showing the form. Save the new URL somewhere safe."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:375
msgid "Safety nets: you can always reach “Login Rescue” by email, and adding define('GUARDPRESS_DISABLE_HIDE_LOGIN', true); to wp-config.php instantly restores wp-login.php."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:379
msgid "I understand and have noted my new login URL."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:381
msgid "Save login settings"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:386
msgid "PRO adds IP-allowlisted login, country/ASN login rules and trusted-device gating on top of the hidden URL."
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:437
msgid "Hide Login enabled (login URL changed)"
msgstr ""

#: includes/free-plus/hide-login/class-hide-login.php:437
msgid "Hide Login disabled"
msgstr ""

#: includes/free-plus/hub/class-hub.php:37
#: includes/free-plus/hub/class-hub.php:38
#: includes/free-plus/hub/class-hub.php:173
msgid "Security Hub"
msgstr ""

#. translators: 1: letter grade, 2: score
#: includes/free-plus/hub/class-hub.php:117
#, php-format
msgid "Your security grade is %1$s (%2$d/100)."
msgstr ""

#: includes/free-plus/hub/class-hub.php:123
msgid "Biggest risk right now: an active threat signal was detected. Run a scan and review the flagged items before anything else."
msgstr ""

#. translators: %s: issue
#: includes/free-plus/hub/class-hub.php:127
#, php-format
msgid "Your weakest point is: %s. Fixing it gives the biggest score jump."
msgstr ""

#. translators: %s: issue
#: includes/free-plus/hub/class-hub.php:128
msgid "You have a few failed hardening checks — fix the red items first."
msgstr ""

#: includes/free-plus/hub/class-hub.php:130
msgid "No critical failures — just a few warnings to tidy up when you have a moment."
msgstr ""

#: includes/free-plus/hub/class-hub.php:132
msgid "Nice — every hardening check is passing. Keep WordPress, plugins and themes updated to stay there."
msgstr ""

#. translators: %d: count
#: includes/free-plus/hub/class-hub.php:138
#, php-format
msgid "In the last 7 days there was %d login-protection event."
msgid_plural "In the last 7 days there were %d login-protection events."
msgstr[0] ""
msgstr[1] ""

#: includes/free-plus/hub/class-hub.php:142
msgid "Login protection has been quiet this week — a good sign."
msgstr ""

#: includes/free-plus/hub/class-hub.php:174
msgid "Your whole security posture at a glance — with an AI briefing in one tap."
msgstr ""

#: includes/free-plus/hub/class-hub.php:180
msgid "The Security Hub is your home base. The dial is your overall security score, the Risk Radar lists anything currently exposed, and Quick Wins are the fastest fixes — each links straight to the page that handles it."
msgstr ""

#: includes/free-plus/hub/class-hub.php:181
msgid "New here? Tap “Brief me” for a plain-language summary, then work down the Quick Wins from the top. Green is good — fix the red items first."
msgstr ""

#: includes/free-plus/hub/class-hub.php:182
msgid "a live attack map, deeper AI briefings, and one-click automatic fixes for the issues found here."
msgstr ""

#: includes/free-plus/hub/class-hub.php:208
msgid "AI Security Briefing"
msgstr ""

#: includes/free-plus/hub/class-hub.php:209
msgid "Brief me"
msgstr ""

#: includes/free-plus/hub/class-hub.php:210
msgid "Tap “Brief me” for a plain-language summary of your security right now — generated on your server, nothing leaves the site."
msgstr ""

#: includes/free-plus/hub/class-hub.php:221
msgid "Risk Radar — exposed surfaces"
msgstr ""

#: includes/free-plus/hub/class-hub.php:223
msgid "No open exposures detected. Your attack surface is minimal."
msgstr ""

#: includes/free-plus/hub/class-hub.php:248
msgid "Quick Wins"
msgstr ""

#: includes/free-plus/hub/class-hub.php:256
msgid "This week in security"
msgstr ""

#: includes/free-plus/hub/class-hub.php:260
msgid "Login events"
msgstr ""

#: includes/free-plus/hub/class-hub.php:263
msgid "Firewall blocks"
msgstr ""

#: includes/free-plus/hub/class-hub.php:265
msgid "Vuln alerts"
msgstr ""

#: includes/free-plus/hub/class-hub.php:268
msgid "Total counts every security event in the last 7 days (login, firewall, malware, vulnerability and info)."
msgstr ""

#: includes/free-plus/hub/class-hub.php:300
msgid "Could not generate a briefing right now."
msgstr ""

#: includes/free-plus/hub/class-hub.php:318
msgid "Fix a hardening item"
msgstr ""

#: includes/free-plus/hub/class-hub.php:320
#: includes/free-plus/shared/class-ui.php:418
msgid "Fix"
msgstr ""

#: includes/free-plus/hub/class-hub.php:325
msgid "Everything looks hardened — run a fresh scan"
msgstr ""

#: includes/free-plus/hub/class-hub.php:347
msgid "Security events per day (last 7 days)"
msgstr ""

#: includes/free-plus/insights/class-insights.php:29
#: includes/free-plus/insights/class-insights.php:30
#: includes/free-plus/insights/class-insights.php:256
msgid "Insights"
msgstr ""

#: includes/free-plus/insights/class-insights.php:153
msgid "Firewall (WAF)"
msgstr ""

#: includes/free-plus/insights/class-insights.php:155
msgid "Vulnerabilities"
msgstr ""

#: includes/free-plus/insights/class-insights.php:186
msgid "7-day activity chart"
msgstr ""

#: includes/free-plus/insights/class-insights.php:257
msgid "A quick read on your security posture and recent activity, drawn from your own site data."
msgstr ""

#: includes/free-plus/insights/class-insights.php:263
msgid "Insights reads your live site data every time you open it — security score, login attacks, available updates and a 7-day activity chart. It only reads; it changes nothing on your site."
msgstr ""

#: includes/free-plus/insights/class-insights.php:264
msgid "These numbers refresh on every visit (just reload to update). If something looks off, run a scan or open the relevant page to act on it."
msgstr ""

#: includes/free-plus/insights/class-insights.php:265
msgid "real-time monitoring and long-term historical trend charts — not just the last 7 days."
msgstr ""

#: includes/free-plus/insights/class-insights.php:288
msgid "Security score"
msgstr ""

#: includes/free-plus/insights/class-insights.php:289
msgid "Failed logins (7d)"
msgstr ""

#: includes/free-plus/insights/class-insights.php:291
msgid "Updates available"
msgstr ""

#: includes/free-plus/insights/class-insights.php:296
msgid "Security activity — last 7 days"
msgstr ""

#: includes/free-plus/insights/class-insights.php:303
msgid "Each bar is one day. Its coloured sections show how many events of each type happened that day (hover to see the count). The figures below are the 7-day total per type."
msgstr ""

#: includes/free-plus/insights/class-insights.php:315
msgid "No security events in the last 7 days — nothing to chart yet. That is a good sign."
msgstr ""

#: includes/free-plus/insights/class-insights.php:321
msgid "Protection status"
msgstr ""

#: includes/free-plus/insights/class-insights.php:328
msgid "Threat signatures"
msgstr ""

#: includes/free-plus/insights/class-insights.php:340
msgid "Local IP blocklist"
msgstr ""

#: includes/free-plus/insights/class-insights.php:341
msgid "address(es)"
msgstr ""

#: includes/free-plus/insights/class-insights.php:357
msgid "Last scan"
msgstr ""

#: includes/free-plus/insights/class-insights.php:361
msgid "No scan recorded yet"
msgstr ""

#. translators: %d: number of IPs
#: includes/free-plus/ip-feed/class-ip-feed.php:92
#, php-format
msgid "Weekly IP feed refreshed — %d address(es) on the local blocklist."
msgstr ""

#: includes/free-plus/livefeed/class-livefeed.php:91
msgid "Live Security Feed"
msgstr ""

#: includes/free-plus/livefeed/class-livefeed.php:94
#: includes/free-plus/livefeed/class-livefeed.php:127
msgid "Live"
msgstr ""

#: includes/free-plus/livefeed/class-livefeed.php:101
msgid "Security events only — refreshes automatically. Full real-time traffic monitoring is in PRO."
msgstr ""

#: includes/free-plus/livefeed/class-livefeed.php:109
#: includes/free-plus/livefeed/class-livefeed.php:139
msgid "No security events in the last 24 hours — all quiet."
msgstr ""

#: includes/free-plus/livefeed/class-livefeed.php:127
msgid "Paused"
msgstr ""

#: includes/free-plus/loader.php:44
msgid "Once weekly (GuardPress)"
msgstr ""

#: includes/free-plus/pwned/class-pwned.php:139
msgid "<strong>Security:</strong> this password has appeared in a known data breach and cannot be used. Please reset it (Lost your password?) to log in."
msgstr ""

#: includes/free-plus/pwned/class-pwned.php:156
msgid "<strong>AI CyberGuard:</strong> your account password has appeared in a known data breach. We strongly recommend changing it to a strong, unique password."
msgstr ""

#: includes/free-plus/pwned/class-pwned.php:161
msgid "This password has appeared in a known data breach. Please choose a different, unique password."
msgstr ""

#. translators: %s: username
#: includes/free-plus/pwned/class-pwned.php:169
#, php-format
msgid "Compromised (breached) password detected for %s"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1259
#: includes/free-plus/snapshot/class-snapshot.php:1367
msgid "Please enter a file path."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1275
msgid "That file was not found. Enter a path relative to your WordPress root (e.g. wp-content/uploads/suspicious.php)."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1280
msgid "Could not resolve the WordPress root."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1285
msgid "For safety, only files inside your WordPress installation can be quarantined."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1294
msgid "This is a WordPress core file. Core files should be repaired by reinstalling WordPress, not quarantined."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1300
msgid "This is a critical WordPress file and cannot be quarantined — doing so would break your site."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1320
msgid "This is a WordPress core file in your site root. Removing it would break your site — repair core by reinstalling WordPress, never quarantine it."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1328
msgid "This is a Must-Use (mu-plugins) file that WordPress loads on every request. Quarantining it could break your site. If it is truly malicious, remove it manually from a clean copy instead."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1339
msgid "This is a WordPress drop-in that loads during startup (caching / database / multisite). Quarantining it could break your site. If it is truly malicious, remove it manually instead."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1348
msgid "This file belongs to AI CyberGuard itself and cannot be quarantined."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1359
msgid "This file is inside the plugin data directory and cannot be quarantined."
msgstr ""

#. translators: %s: extension label, e.g. active “ad-inserter-pro” plugin
#: includes/free-plus/quarantine/class-quarantine.php:1375
#, php-format
msgid "This file belongs to your %s. Quarantining it would break that extension and possibly your whole site. If you believe it is infected, reinstall that plugin/theme from a clean copy instead."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1406
msgid "active theme"
msgstr ""

#. translators: %s: plugin folder slug
#. translators: %s: plugin file
#: includes/free-plus/quarantine/class-quarantine.php:1428
#: includes/free-plus/quarantine/class-quarantine.php:1431
#, php-format
msgid "active “%s” plugin"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1473
msgid "File moved to quarantine. You can restore it any time from the Quarantine page."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1491
msgid "That file could not be quarantined."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1496
msgid "Could not prepare the quarantine directory."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1510
msgid "Could not lock the quarantine record for a safe update (another quarantine action may be in progress, or the data folder is not writable), so nothing was removed — your file is untouched. Please try again in a moment."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1525
msgid "Could not save the quarantine record, so nothing was removed — your file is untouched. This is usually a disk-space or file-permission problem in the plugin data folder. Please try again, or remove the file manually."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1562
msgid "The file could not be safely read for quarantine — its path changed to a symbolic link or special file. Nothing was changed."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1569
#: includes/free-plus/quarantine/class-quarantine.php:1977
msgid "Could not read the file to verify it before quarantining, so nothing was changed. Please try again."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1576
#: includes/free-plus/quarantine/class-quarantine.php:1985
msgid "Quarantine copy verification failed. No changes were made."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1596
#: includes/free-plus/quarantine/class-quarantine.php:2006
msgid "Could not lock the quarantine record for a safe update, so nothing was removed — your file is untouched. Please try again in a moment."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1603
#: includes/free-plus/quarantine/class-quarantine.php:2016
msgid "Could not read the quarantine record to update it safely, so nothing was removed — your file is untouched. Please try again in a moment."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1620
#: includes/free-plus/quarantine/class-quarantine.php:2033
msgid "Could not save the quarantine record, so nothing was removed — your file is untouched. Please try again, or remove the file manually."
msgstr ""

#. translators: %s: file path
#: includes/free-plus/quarantine/class-quarantine.php:1714
#, php-format
msgid "This file could not be deleted because your web server blocked the removal (a hosting permission restriction). AI CyberGuard did not stop there: it first saved a verified safe copy to quarantine, then automatically made the file writable and emptied its contents to zero bytes. The file is now completely harmless — it can no longer run code or expose any passwords or data — even though it still physically exists. You can delete the empty file yourself whenever it is convenient, but there is no security risk if you leave it. File: %s"
msgstr ""

#. translators: %s: file path
#: includes/free-plus/quarantine/class-quarantine.php:1726
#, php-format
msgid "AI CyberGuard tried every automatic option to neutralise this file but your server blocked all of them: it saved a verified safe copy to quarantine, then tried to delete the original, then tried to make it writable and empty it — all were denied. This almost always means the file is owned by a different system user (such as root) than the one your website runs as, so only your hosting account can remove it. Please delete this file manually through your FTP client or your hosting File Manager, or ask your host to remove it. Until then it remains active. File: %s"
msgstr ""

#. translators: %s: file path
#: includes/free-plus/quarantine/class-quarantine.php:1752
#, php-format
msgid "A safe copy was prepared, but the original could not be confirmed removed (its location changed during removal). Please verify and delete it manually: %s"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1772
msgid "The file was quarantined, but a raw temporary copy of it could not be removed automatically. Please delete the *.gpqdel-* file next to the original via FTP or your hosting File Manager."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:1788
msgid "The file was quarantined, but another (newer) file that appeared at that location could not be put back automatically. It is preserved in a *.gpqdel-* file next to it and will be restored automatically on the next admin page load; if not, rename it back manually."
msgstr ""

#. translators: 1: preserved file path, 2: original relative file path
#: includes/free-plus/quarantine/class-quarantine.php:1802
#, php-format
msgid "The file was quarantined, but another (newer) file that appeared at that location could not be put back automatically and could not be queued for retry. Its contents were preserved at %1$s — please move it back to %2$s manually."
msgstr ""

#. translators: %s: file path
#: includes/free-plus/quarantine/class-quarantine.php:1813
#: includes/free-plus/quarantine/class-quarantine.php:2058
#, php-format
msgid "File quarantined: %s"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2050
msgid "The file was quarantined, but a temporary copy of its raw bytes could not be removed and could not be queued for cleanup. Please remove it manually from wp-content/guardpress-data/quarantine."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2561
msgid "Could not lock the quarantine record for a safe update (another quarantine action may be in progress, or the data folder is not writable), so nothing was restored — your files are untouched. Please try again in a moment."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2582
#: includes/free-plus/quarantine/class-quarantine.php:2764
#: includes/free-plus/quarantine/class-quarantine.php:3138
msgid "Quarantine record not found."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2591
msgid "This quarantine record could not be authenticated and was not restored."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2599
#: includes/free-plus/quarantine/class-quarantine.php:2778
msgid "The quarantined copy could not be located safely."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2623
#: includes/free-plus/quarantine/class-quarantine.php:2651
#: includes/free-plus/quarantine/class-quarantine.php:2660
msgid "The original location is no longer valid, so restore was cancelled."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2631
msgid "The quarantined copy is missing."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2635
msgid "The original location could not be determined, so restore was cancelled."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2665
msgid "A file already exists at the original location, so restore was cancelled to avoid overwriting it."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2689
msgid "The quarantined copy could not be read for verification, so restore was cancelled. Nothing was changed."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2693
msgid "The quarantined copy failed its integrity check (it may be corrupt or tampered), so restore was cancelled. Nothing was changed."
msgstr ""

#. translators: %s: original file path
#: includes/free-plus/quarantine/class-quarantine.php:2706
#, php-format
msgid "For your security, AI CyberGuard does not write restored files directly back into your site automatically (this blocks a rare server-level attack). Your verified clean copy is kept safely in quarantine. To put it back, copy it to its original location yourself: %s — for example via your hosting File Manager or SFTP. Nothing was changed."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2719
msgid "The file was restored, but another process changed it immediately afterwards, so the new file was left in place and the quarantined copy was kept. Please review the file."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2732
msgid "Your file was restored to its original location, but the quarantine list could not be updated (a disk-space or file-permission problem in the plugin data folder). The entry may still appear in the list — use Delete to clear it once the storage issue is resolved."
msgstr ""

#. translators: %s: file path
#: includes/free-plus/quarantine/class-quarantine.php:2742
#, php-format
msgid "File restored from quarantine: %s"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:2774
msgid "This quarantine record could not be authenticated."
msgstr ""

#. translators: %s: the quarantine entry id to pass to the WP-CLI command.
#: includes/free-plus/quarantine/class-quarantine.php:2802
#, php-format
msgid "The quarantined copy could not be delivered in the browser: it failed verification against its recorded checksum (corrupt, tampered, or no recorded checksum), or it is too large to deliver as a verified clean copy. The saved copy in the protected store is guard-wrapped for safety and is NOT the plain original — do not copy it directly. To extract the verified clean original, run:  wp guardpress extract-clean quarantine %s  (WP-CLI). It writes the verified clean original to a private temporary file and prints its path; then move that file into place yourself with mv. Nothing was changed."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3119
msgid "Could not lock the quarantine record for a safe update (another quarantine action may be in progress, or the data folder is not writable), so nothing was deleted. Please try again in a moment."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3145
msgid "The quarantine list could not be updated (a disk-space or file-permission problem in the plugin data folder), so nothing was deleted. Please try again once the storage issue is resolved."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3167
msgid "The entry was removed from the quarantine list, but its protected copy file could not be deleted from disk (it stays inert and cannot run). If you want it gone, remove it manually from wp-content/guardpress-data/quarantine."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3203
msgid "Safely isolate a suspicious file. Nothing is deleted until you choose to — a verified clean copy is kept, and you can download it at any time to put the file back manually."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3208
msgid "Quarantine moves a suspicious file to protected storage and removes it from its place — and you can restore it later. For your safety it refuses to touch WordPress core files and wp-config.php."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3209
msgid "Quarantine instead of deleting — it is reversible. Confirm a file is really suspicious first (run a scan and use the Explain button on the finding)."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3210
msgid "fully automatic one-click quarantine of detected threats, with bulk cleanup and easy restore."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3217
msgid "File moved to quarantine."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3219
msgid "Clean copy downloaded. Place it at its original location to finish restoring it."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3221
msgid "Quarantined file permanently deleted."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3224
msgid "Automatic in-place restore is disabled for security; your clean copy is kept safely in quarantine. Copy it back to its original location manually."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3226
#: includes/free-plus/snapshot/class-snapshot.php:2689
msgid "The action could not be completed."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3231
msgid "Quarantine a file"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3233
msgid "Enter the path of a suspicious file (relative to your WordPress root). The file is moved to a protected area; you can download a clean copy of it at any time to restore it manually. Core and critical files are blocked automatically."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3238
msgid "e.g. wp-content/uploads/2026/05/suspicious.php"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3239
msgid "Quarantine file"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3246
msgid "Quarantined files"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3249
msgid "To restore a file, click \"Download clean copy\" and place the downloaded file at its original location yourself (for example via your hosting File Manager or SFTP). Automatic in-place restore is disabled to block a rare server-level attack. The stored copies are protected and must not be copied directly."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3253
msgid "No files are in quarantine."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3284
msgid "Download the clean original file, then copy it back to its location manually."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3284
#: includes/free-plus/snapshot/class-snapshot.php:2766
msgid "Download clean copy"
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3288
msgid "Permanently delete this quarantined file? This cannot be undone."
msgstr ""

#: includes/free-plus/quarantine/class-quarantine.php:3292
#: includes/free-plus/snapshot/class-snapshot.php:2791
msgid "Delete"
msgstr ""

#: includes/free-plus/score/class-security-score.php:56
msgid "Needs attention"
msgstr ""

#: includes/free-plus/score/class-security-score.php:58
#: includes/free-plus/shared/class-ui.php:336
#: includes/free-plus/shared/class-ui.php:337
msgid "At risk"
msgstr ""

#. translators: %d: score
#: includes/free-plus/score/class-security-score.php:75
#, php-format
msgid "Security score %d out of 100"
msgstr ""

#: includes/free-plus/score/class-security-score.php:95
msgid "How well your site is hardened, with the top issues to fix first."
msgstr ""

#: includes/free-plus/score/class-security-score.php:101
msgid "Your score (0-100) is calculated from a checklist of standard WordPress security best practices, with the most important issues listed first. It refreshes every time you open the page."
msgstr ""

#: includes/free-plus/score/class-security-score.php:102
msgid "A higher score means fewer ways for hackers to break in. The red \"Failed\" items are active security gaps — fixing them is your top priority. Most fixes are one click or a setting in WordPress; a few need your hosting provider. Don't edit files unless you're confident."
msgstr ""

#: includes/free-plus/score/class-security-score.php:103
msgid "continuous scoring with one-click auto-remediation and a history of how your score changes over time."
msgstr ""

#: includes/free-plus/score/class-security-score.php:109
msgid "The security checklist component is unavailable."
msgstr ""

#: includes/free-plus/score/class-security-score.php:137
msgid "Based on standard WordPress hardening checks. Fix the items below to raise your score."
msgstr ""

#: includes/free-plus/score/class-security-score.php:140
msgid "Passed"
msgstr ""

#: includes/free-plus/score/class-security-score.php:141
msgid "Warnings"
msgstr ""

#: includes/free-plus/score/class-security-score.php:142
#: includes/free-plus/score/class-security-score.php:193
msgid "Failed"
msgstr ""

#: includes/free-plus/score/class-security-score.php:143
msgid "Checks"
msgstr ""

#: includes/free-plus/score/class-security-score.php:172
msgid "🟢 Green = Safe   ·   🟠 Orange = Fix soon   ·   🔴 Red = Fix immediately"
msgstr ""

#: includes/free-plus/score/class-security-score.php:173
msgid "Top issues to fix"
msgstr ""

#: includes/free-plus/score/class-security-score.php:177
msgid "All checks passed. Your basic hardening looks solid."
msgstr ""

#: includes/free-plus/score/class-security-score.php:193
msgid "Warning"
msgstr ""

#: includes/free-plus/score/class-security-score.php:209
msgid "How to fix (add to wp-config.php):"
msgstr ""

#: includes/free-plus/score/class-security-score.php:211
msgid "Not comfortable editing files? Ask your hosting provider — or upgrade to PRO to fix this with one click, no code."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:93
msgid "Turn on the Firewall"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:94
msgid "Block common attack patterns before they reach WordPress (enforce mode)."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:97
msgid "Open Firewall"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:102
msgid "Apply hardening"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:103
msgid "Disable the file editor, lock down XML-RPC and more — in one click."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:106
msgid "Open Hardening"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:111
msgid "Protect your login"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:112
msgid "Add bot protection (CAPTCHA) and block breached passwords."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:115
msgid "Open Login Protection"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:120
msgid "Enable Two-Factor Auth"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:121
msgid "Add a second step at login for your admin account."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:124
msgid "Set up 2FA"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:129
msgid "Set your rescue safety-net"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:130
msgid "Whitelist your IP so login protection can never lock you out."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:133
msgid "Open Login Rescue"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:138
msgid "Hide your login URL (optional)"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:139
msgid "Move wp-login.php to a secret address bots can’t find."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:142
msgid "Open Hide Login"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:168
#: includes/free-plus/setup/class-setup-wizard.php:169
msgid "Setup"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:185
msgid "60-Second Setup"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:186
msgid "Five quick steps to a hardened site. Each is one click away."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:192
msgid "Setup marked complete. You can revisit this page any time."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:198
msgid "complete"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:201
msgid "Your setup progress"
msgstr ""

#. translators: 1: done count, 2: total
#: includes/free-plus/setup/class-setup-wizard.php:205
#, php-format
msgid "%1$d of %2$d essential steps complete."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:215
msgid "🎉 All essential protections are on. Nicely done!"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:217
msgid "Tackle the open steps below — each takes a few seconds."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:224
msgid "Steps"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:240
msgid "Optional"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:256
msgid "Go to Security Hub"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:261
msgid "Mark setup complete"
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:328
msgid "Finish setting up AI CyberGuard"
msgstr ""

#. translators: 1: done, 2: total
#: includes/free-plus/setup/class-setup-wizard.php:332
#, php-format
msgid "%1$d of %2$d essential protections are on. Pick up where you left off — it only takes seconds."
msgstr ""

#: includes/free-plus/setup/class-setup-wizard.php:338
msgid "Back to Setup"
msgstr ""

#: includes/free-plus/shared/class-ui.php:284
msgid "Toggle dark mode"
msgstr ""

#: includes/free-plus/shared/class-ui.php:330
msgid "Strong"
msgstr ""

#: includes/free-plus/shared/class-ui.php:333
msgid "Fair"
msgstr ""

#: includes/free-plus/shared/class-ui.php:334
#: includes/free-plus/shared/class-ui.php:335
msgid "Needs work"
msgstr ""

#: includes/free-plus/shared/class-ui.php:381
msgid "Calm"
msgstr ""

#: includes/free-plus/shared/class-ui.php:381
msgid "No active threats detected."
msgstr ""

#: includes/free-plus/shared/class-ui.php:382
msgid "Guarded"
msgstr ""

#: includes/free-plus/shared/class-ui.php:382
msgid "Routine activity — nothing urgent."
msgstr ""

#: includes/free-plus/shared/class-ui.php:383
msgid "Elevated"
msgstr ""

#: includes/free-plus/shared/class-ui.php:383
msgid "Increased attempts — review soon."
msgstr ""

#: includes/free-plus/shared/class-ui.php:384
msgid "Active threat — act now."
msgstr ""

#: includes/free-plus/shared/class-ui.php:432
msgid "High confidence"
msgstr ""

#: includes/free-plus/shared/class-ui.php:433
msgid "Medium confidence"
msgstr ""

#: includes/free-plus/shared/class-ui.php:434
msgid "Low confidence"
msgstr ""

#: includes/free-plus/shared/class-ui.php:454
msgid "Tip:"
msgstr ""

#: includes/free-plus/shared/class-ui.php:457
msgid "Upgrade to PRO:"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1376
msgid "That file was not found. Enter a path relative to your WordPress root."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1380
msgid "For safety, only files inside your WordPress installation can be snapshotted."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1387
msgid "wp-config.php contains secrets and is not copied. Keep a separate secure backup of it."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1395
msgid "Files inside the plugin data directory cannot be snapshotted."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1400
msgid "That file is larger than the 5 MB per-file limit for Lite snapshots."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1463
msgid "Could not prepare the snapshot directory."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1467
#: includes/free-plus/snapshot/class-snapshot.php:1570
msgid "You have reached the maximum number of snapshots. Delete an old one first."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1476
msgid "A file could not be validated."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1481
msgid "No valid files to snapshot."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1487
msgid "Could not create the snapshot folder."
msgstr ""

#. translators: %s: file
#: includes/free-plus/snapshot/class-snapshot.php:1505
#, php-format
msgid "Could not safely read %s — its path changed to a symbolic link or special file."
msgstr ""

#. translators: %s: file
#: includes/free-plus/snapshot/class-snapshot.php:1518
#, php-format
msgid "Could not copy %s."
msgstr ""

#. translators: %s: file
#: includes/free-plus/snapshot/class-snapshot.php:1528
#, php-format
msgid "Snapshot copy of %s could not be verified."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1551
msgid "Could not lock the snapshot list for a safe update (another snapshot action may be in progress, or the data folder is not writable), so the snapshot was rolled back and nothing was changed. Please try again in a moment."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1563
msgid "The snapshot list could not be read reliably (a temporary file error in the plugin data folder), so the new snapshot was rolled back and your existing snapshots were left untouched. Please try again in a moment."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1586
msgid "The snapshot files were copied, but the snapshot list could not be saved, so the snapshot was rolled back. This is usually a disk-space or file-permission problem in the plugin data folder. Please try again."
msgstr ""

#. translators: %d: number of files
#: includes/free-plus/snapshot/class-snapshot.php:1592
#, php-format
msgid "Safety snapshot created (%d file(s))."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1611
#: includes/free-plus/snapshot/class-snapshot.php:2198
#: includes/free-plus/snapshot/class-snapshot.php:2211
msgid "Snapshot not found."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1619
#: includes/free-plus/snapshot/class-snapshot.php:2216
msgid "This snapshot record could not be authenticated and was not restored."
msgstr ""

#. translators: %d: number of files that could not be restored
#: includes/free-plus/snapshot/class-snapshot.php:1852
#, php-format
msgid "Safety snapshot restore FAILED — 0 of %d file(s) restored (saved copies missing, corrupt, or blocked)."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1857
msgid "Restore failed: none of the snapshot files could be restored — the saved copies are missing, fail their integrity check, or were blocked for safety. Nothing was changed."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1866
msgid "A pre-restore copy was kept."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:1867
msgid "A pre-restore copy was saved to disk but could not be recorded in the snapshot list."
msgstr ""

#. translators: 1: restored count, 2: total, 3: skipped count, 4: pre-restore-copy status sentence
#: includes/free-plus/snapshot/class-snapshot.php:1874
#, php-format
msgid "Safety snapshot PARTIALLY restored: %1$d of %2$d file(s) (%3$d skipped — missing/corrupt/blocked). %4$s"
msgstr ""

#. translators: 1: count, 2: pre-restore-copy status sentence
#: includes/free-plus/snapshot/class-snapshot.php:1876
#, php-format
msgid "Safety snapshot restored (%1$d file(s)). %2$s"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2078
msgid "No critical files were found to snapshot."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2080
msgid "Critical files"
msgstr ""

#. translators: %s: file
#: includes/free-plus/snapshot/class-snapshot.php:2091
#, php-format
msgid "File: %s"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2112
msgid "The snapshot could not be verified and nothing was changed."
msgstr ""

#. translators: 1: verified count, 2: total count, 3: missing/corrupt count
#: includes/free-plus/snapshot/class-snapshot.php:2124
#, php-format
msgid "%1$d of %2$d snapshot file(s) are verified and available to restore; %3$d are missing or corrupt and cannot be restored. For your security, AI CyberGuard does not write files back into your site automatically. In the snapshot list, use the \"Download clean copy\" button for each verified file, then place it at its original path yourself (for example via your hosting File Manager or SFTP). Nothing was changed."
msgstr ""

#. translators: %d: number of verified files available to restore
#: includes/free-plus/snapshot/class-snapshot.php:2136
#, php-format
msgid "%d snapshot file is verified and available to restore. For your security, AI CyberGuard does not write files back into your site automatically. In the snapshot list, use the \"Download clean copy\" button to download the verified file, then place it at its original path yourself (for example via your hosting File Manager or SFTP). Nothing was changed."
msgid_plural "%d snapshot files are verified and available to restore. For your security, AI CyberGuard does not write files back into your site automatically. In the snapshot list, use the \"Download clean copy\" button for each file, then place each at its original path yourself (for example via your hosting File Manager or SFTP). Nothing was changed."
msgstr[0] ""
msgstr[1] ""

#: includes/free-plus/snapshot/class-snapshot.php:2249
msgid "None of this snapshot's saved copies could be verified — they are missing or fail their integrity check. Nothing was changed."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2273
msgid "Snapshot file not found."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2287
msgid "This snapshot record could not be authenticated."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2313
msgid "The snapshot copy could not be located safely."
msgstr ""

#. translators: 1: the snapshot entry id, 2: the file index within that snapshot, both for the WP-CLI command.
#: includes/free-plus/snapshot/class-snapshot.php:2328
#, php-format
msgid "The snapshot copy could not be delivered in the browser: it failed verification against its recorded checksum (corrupt, tampered, or no recorded checksum), or it is too large to deliver as a verified clean copy. The saved copy in the protected store is guard-wrapped for safety and is NOT the plain original — do not copy it directly. To extract the verified clean original, run:  wp guardpress extract-clean snapshot %1$s --file=%2$d  (WP-CLI). It writes the verified clean original to a private temporary file and prints its path; then move that file into place yourself with mv. Nothing was changed."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2631
msgid "The snapshot was removed from your list, but some of its saved file copies could not be deleted from disk. They are protected from web access and cannot run, but you may want to remove them manually from wp-content/guardpress-data/snapshots/."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2643
#: includes/free-plus/snapshot/class-snapshot.php:2644
#: includes/free-plus/snapshot/class-snapshot.php:2657
msgid "Safety Snapshots"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2658
msgid "Save a copy of important files before a risky change, then download the clean copy and put it back yourself if needed."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2664
msgid "Snapshots save protected copies of important files so you can recover just those if an edit goes wrong. For your security, automatic in-place restore is disabled: you download each verified clean copy and put it back at its original path yourself. wp-config.php is never copied."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2665
msgid "Take a snapshot of your theme's functions.php and root .htaccess before editing them. (Limits: up to 20 snapshots, 5 MB per file.)"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2666
msgid "scheduled, cloud-stored, whole-site backups with one-click full restore."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2673
msgid "Snapshot created."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2676
msgid "Your clean copies are verified and available. Download each one and place it at its original path to finish the restore. Nothing was changed automatically."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2679
msgid "Snapshot only partially restored — some files could not be written back."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2682
msgid "Automatic in-place restore is disabled for security; your verified clean copies are kept safely in the snapshot store. Copy a file back to its original location manually."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2684
msgid "Snapshot deleted."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2687
msgid "Snapshot removed from the list, but some saved copies could not be deleted from disk."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2694
msgid "Create a snapshot"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2699
msgid "These are the files most likely to break your site if an edit goes wrong — your active theme's functions.php and your root .htaccess. Snapshot them before you edit, then download the clean copy and put it back yourself if needed. Exactly these files will be saved:"
msgstr ""

#. translators: %d: count
#: includes/free-plus/snapshot/class-snapshot.php:2701
#, php-format
msgid "%d file found:"
msgid_plural "%d files found:"
msgstr[0] ""
msgstr[1] ""

#: includes/free-plus/snapshot/class-snapshot.php:2711
msgid "Snapshot critical files"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2715
msgid "Or snapshot a specific file (relative to your WordPress root):"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2719
msgid "e.g. wp-content/themes/yourtheme/functions.php"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2720
msgid "Snapshot this file"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2727
msgid "Your snapshots"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2730
msgid "To keep your site safe, automatic in-place restore is disabled. Download each verified clean copy and place it at its original path yourself (for example via your hosting File Manager or SFTP). The saved copies are guard-protected — download them with the button below, do not copy the raw store files directly."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2732
msgid "No snapshots yet."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2735
#: includes/free-plus/snapshot/class-snapshot.php:2742
msgid "Snapshot"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2736
msgid "Files"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2737
msgid "Created"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2780
msgid "Check the saved copies for this snapshot? Nothing is changed — you then download each clean copy and put it back yourself."
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2784
msgid "How to restore"
msgstr ""

#: includes/free-plus/snapshot/class-snapshot.php:2787
msgid "Delete this snapshot permanently?"
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:151
msgid "Enlisted"
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:151
msgid "Activated AI CyberGuard."
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:152
msgid "Watchful"
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:152
msgid "Monitoring is live and logging activity."
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:153
msgid "Hardened"
msgstr ""

#. translators: the percent sign is literal; no placeholder is substituted here.
#: includes/free-plus/streaks/class-streaks.php:153
msgid "Passed 60 percent of the security checklist."
msgstr ""

#. translators: the percent sign is literal; no placeholder is substituted here.
#: includes/free-plus/streaks/class-streaks.php:154
msgid "Fortified"
msgstr ""

#. translators: the percent sign is literal; no placeholder is substituted here.
#: includes/free-plus/streaks/class-streaks.php:154
msgid "Passed 90% of the security checklist."
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:155
msgid "7-Day Streak"
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:155
msgid "A full week with no serious events."
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:156
msgid "30-Day Streak"
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:156
msgid "A full month with no serious events."
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:172
msgid "Streaks & Achievements"
msgstr ""

#. translators: %s: number of days
#: includes/free-plus/streaks/class-streaks.php:184
msgid "day clean streak"
msgid_plural "days clean streak"
msgstr[0] ""
msgstr[1] ""

#. translators: %s: best streak in days
#: includes/free-plus/streaks/class-streaks.php:189
#, php-format
msgid "Best: %s day"
msgid_plural "Best: %s days"
msgstr[0] ""
msgstr[1] ""

#: includes/free-plus/streaks/class-streaks.php:196
msgid "Badges earned"
msgstr ""

#: includes/free-plus/streaks/class-streaks.php:218
msgid "Your streak counts days without a serious malware, firewall or vulnerability event. Keep it going!"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:58
#: includes/free-plus/trust-badge/class-trust-badge.php:68
msgid "Secured by AI CyberGuard"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:59
msgid "Secured &amp; Monitored"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:115
#: includes/free-plus/trust-badge/class-trust-badge.php:116
#: includes/free-plus/trust-badge/class-trust-badge.php:129
msgid "Trust Badge"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:130
msgid "Show visitors your site is protected. Opt-in, and it never reveals anything that could help an attacker."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:136
msgid "Displays a small \"Secured by AI CyberGuard\" seal on your site. It is deliberately generic — it never shows your version, score, or anything an attacker could use."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:137
msgid "Use the footer toggle, or place it anywhere with the shortcode [aicyberguard_badge]. Add style=\"dark\" or style=\"gradient\" to match your theme."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:138
msgid "a verified live-score badge that links to a public security report page for your visitors."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:142
msgid "Saved."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:146
msgid "Preview"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:152
msgid "These are previews — pick a style with the options below. (Clicking a preview does nothing; the live badge on your site links to guardpress.ai.)"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:160
msgid "Why put the seal on your site?"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:161
msgid "Two reasons. First, it builds trust — visitors see at a glance that you take their safety seriously. Second, it can quietly deter attackers: someone sizing up your site for weaknesses sees it is actively defended and often moves on to an easier, unprotected target. It is the digital version of a security sign on the front door."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:162
msgid "And because the seal is completely generic — no version, no score — it warns off opportunists without handing a real attacker anything to use. Turn on “Auto-show in footer” below to put it up in seconds."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:171
msgid "Auto-show in footer"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:171
msgid "Add the badge to my site footer"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:172
msgid "Style"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:173
msgid "Soft"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:173
msgid "Dark"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:173
msgid "Gradient"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:178
msgid "Corner"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:179
msgid "Bottom-left"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:179
msgid "Bottom-right"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:182
msgid "The badge floats fixed in this corner, so it stays visible as visitors scroll."
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:185
msgid "Save"
msgstr ""

#: includes/free-plus/trust-badge/class-trust-badge.php:188
msgid "Or place it anywhere with the shortcode:"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:302
msgid "Two-factor secret could not be decrypted (salts changed?) — treating as needs re-enroll."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:557
msgid "Authentication code"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:558
msgid "(only if you enabled two-factor)"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:590
msgid "Two-factor authentication is enabled for this account. Account-password login over XML-RPC/REST is disabled — use an Application Password for non-interactive access."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:652
msgid "<strong>Two-factor:</strong> too many incorrect codes. Please wait a few minutes before trying again."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:662
msgid "<strong>Two-factor:</strong> enter the 6-digit code from your authenticator app (or a backup code) in the Authentication code field."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:699
msgid "<strong>Two-factor:</strong> that code was not valid. Try again, or use one of your backup codes."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:709
#: includes/free-plus/twofa/class-2fa.php:710
msgid "Two-Factor Auth"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:791
msgid "Two-factor enable was rolled back — the new settings could not be saved."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:808
msgid "Two-factor authentication enabled for an administrator."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:857
msgid "Two-factor disable failed and was reverted — your existing 2FA settings are intact."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:867
msgid "Two-factor authentication disabled for an administrator."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:925
msgid "Backup-code regeneration failed to save — your existing codes still work."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:940
msgid "Add a second step to your own login. Opt-in, with backup codes — you can turn it off anytime."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:945
msgid "Two-factor auth means a 6-digit code from an authenticator app (Google Authenticator, Authy) is required at login, so a stolen password alone is not enough. It is per-user, with one-time backup codes. For accounts with 2FA on, signing in over REST or XML-RPC with the main account password is blocked — keep using a WordPress Application Password for integrations."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:946
msgid "Set it up for every administrator account, and save the backup codes somewhere safe in case you lose your phone. Lost both your authenticator AND your backup codes? Another administrator must clear your 2FA directly — delete this user's \"guardpress_freeplus_2fa_*\" meta keys (secret / enabled / backup) in the database, or run \"wp user meta delete <user> guardpress_freeplus_2fa_enabled\" (and the secret/backup keys) via WP-CLI. Login Rescue only restores blocked login attempts and IP access — it does NOT reset or recover 2FA."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:947
msgid "enforce two-factor across all users and roles, with trusted-device management and recovery policies."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:957
msgid "That code did not match. Make sure your authenticator app time is correct and try again."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:959
msgid "Two-factor authentication is now enabled. Save your backup codes below."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:961
msgid "Two-factor authentication has been disabled."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:963
msgid "New backup codes generated. Your old codes no longer work."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:966
msgid "That change could not be saved, so nothing was modified — your previous two-factor settings are unchanged. Please try again. If it keeps failing, there may be a temporary database or cache problem on the server."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:969
msgid "For your security, enter a current 6-digit code (or a backup code) in the field before disabling or regenerating. If you have lost your phone AND your backup codes, another administrator must clear your 2FA directly — delete this account's \"guardpress_freeplus_2fa_*\" meta keys (secret / enabled / backup) in the database, or run \"wp user meta delete <user> guardpress_freeplus_2fa_enabled\" (and the secret/backup keys) via WP-CLI. Login Rescue only restores login attempts/IP access; it cannot reset or recover 2FA."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:977
msgid "Your backup codes — save these now"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:978
msgid "Each code works once. Store them somewhere safe. They are shown only this one time. Use one to log in if you lose your phone."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:991
msgid "Two-factor authentication is active for your account."
msgstr ""

#. translators: %d: count
#: includes/free-plus/twofa/class-2fa.php:995
#, php-format
msgid "You have %d backup codes remaining."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:999
msgid "To disable 2FA or regenerate backup codes, confirm with a current 6-digit code or a backup code:"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1006
#: includes/free-plus/twofa/class-2fa.php:1013
msgid "Code"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1007
msgid "Regenerate backup codes"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1010
msgid "Disable two-factor authentication for your account?"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1014
msgid "Disable 2FA"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1024
msgid "Step 1 — add the key to your authenticator app"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1025
msgid "In Google Authenticator, Authy, or similar, choose \"Enter a setup key\" and paste this key (time-based):"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1027
msgid "Setup URI:"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1031
msgid "Step 2 — confirm a code to turn it on"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1035
msgid "6-digit code"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1036
msgid "Verify & enable"
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1043
msgid "Two-factor authentication adds a one-time code from your phone on top of your password, so a stolen password alone is not enough to log in. It applies only to your account, and you can disable it anytime."
msgstr ""

#: includes/free-plus/twofa/class-2fa.php:1047
msgid "Set up two-factor authentication"
msgstr ""

#. translators: 1: core count, 2: plugin count, 3: theme count
#: includes/free-plus/vuln-alerts/class-vuln-alerts.php:139
#, php-format
msgid "Weekly check: updates available — core %1$d, plugins %2$d, themes %3$d. Outdated components are a common attack vector."
msgstr ""

#: includes/free-plus/vuln-alerts/class-vuln-alerts.php:148
msgid "Weekly check: core, plugins and themes are all up to date."
msgstr ""

#. translators: %s: reason
#: includes/free-plus/waf/class-waf.php:317
#, php-format
msgid "Firewall blocked a request (%s)."
msgstr ""

#. translators: %s: reason
#: includes/free-plus/waf/class-waf.php:318
#, php-format
msgid "Firewall detected a suspicious request (%s) — monitor mode, not blocked."
msgstr ""

#: includes/free-plus/waf/class-waf.php:362
#: includes/free-plus/waf/class-waf.php:370
msgid "Your request was blocked by the site firewall."
msgstr ""

#: includes/free-plus/waf/class-waf.php:371
msgid "Forbidden"
msgstr ""

#: includes/free-plus/waf/class-waf.php:470
msgid "Firewall protection turned on (Enforce) from the dashboard prompt."
msgstr ""

#. translators: %s: mode
#: includes/free-plus/waf/class-waf.php:506
#, php-format
msgid "Firewall settings updated (mode: %s)."
msgstr ""

#: includes/free-plus/waf/class-waf.php:523
msgid "Firewall (Lite)"
msgstr ""

#: includes/free-plus/waf/class-waf.php:524
msgid "A request firewall that starts in Monitor mode (logging only). In Enforce mode it blocks requests that match its rules; logged-in administrators and your whitelisted IPs are exempt where configured."
msgstr ""

#: includes/free-plus/waf/class-waf.php:530
msgid "The Firewall inspects the request URL and query string for attack patterns (SQL injection, path traversal, XSS) and can act on the local IP blocklist. Logged-in admins and your whitelisted IPs are exempt from blocking where configured. (Full request-body inspection is part of the PRO cloud firewall.)"
msgstr ""

#: includes/free-plus/waf/class-waf.php:531
msgid "It starts in Monitor mode — it logs matching requests but blocks nothing, so it will not break your site. After a few days it reminds you to review the log and, if the entries look right, switch on blocking (Enforce). Review the log before enabling Enforce."
msgstr ""

#: includes/free-plus/waf/class-waf.php:532
msgid "an always-on, cloud-managed firewall with auto-updating rules that blocks attacks in real time, before they reach WordPress."
msgstr ""

#: includes/free-plus/waf/class-waf.php:538
msgid "Firewall settings saved."
msgstr ""

#: includes/free-plus/waf/class-waf.php:540
msgid "Enforce mode is on — the firewall now blocks requests that match its rules. You can switch back to Monitor any time below."
msgstr ""

#: includes/free-plus/waf/class-waf.php:553
msgid "Enforce"
msgstr ""

#: includes/free-plus/waf/class-waf.php:553
msgid "Monitor"
msgstr ""

#: includes/free-plus/waf/class-waf.php:553
#: includes/free-plus/waf/class-waf.php:596
msgid "Mode"
msgstr ""

#: includes/free-plus/waf/class-waf.php:554
msgid "WAF events (7d)"
msgstr ""

#: includes/free-plus/waf/class-waf.php:555
msgid "Blocklist IPs"
msgstr ""

#. translators: 1: days watched, 2: number of suspicious requests
#: includes/free-plus/waf/class-waf.php:568
#, php-format
msgid "Your firewall watched your site for %1$d days and spotted %2$d suspicious request(s) it would block."
msgstr ""

#. translators: %d: days watched
#: includes/free-plus/waf/class-waf.php:571
#, php-format
msgid "Your firewall watched your site for %d days — all quiet."
msgstr ""

#: includes/free-plus/waf/class-waf.php:577
msgid "Ready to turn on protection?"
msgstr ""

#: includes/free-plus/waf/class-waf.php:579
msgid "Monitor mode only logs — it has not blocked anything yet. Review the entries above first; in Enforce mode, requests that match these rules are blocked. Logged-in admins and whitelisted IPs are exempt where configured, and you can switch back to Monitor at any time, but no firewall can guarantee zero false positives."
msgstr ""

#: includes/free-plus/waf/class-waf.php:585
msgid "Turn on attack blocking"
msgstr ""

#: includes/free-plus/waf/class-waf.php:599
msgid "Monitor — safe starting mode"
msgstr ""

#: includes/free-plus/waf/class-waf.php:599
msgid "Logs matching requests but blocks nothing, so it will not break your site. Best for the first few days so you can review what it would block before enabling Enforce."
msgstr ""

#: includes/free-plus/waf/class-waf.php:603
msgid "Enforce — full protection (recommended)"
msgstr ""

#: includes/free-plus/waf/class-waf.php:603
msgid "Blocks requests that match the firewall rules. Logged-in admins and your whitelisted IPs are exempt where configured, which greatly reduces the chance of locking yourself out — if a legitimate request is ever blocked, it appears in the log."
msgstr ""

#: includes/free-plus/waf/class-waf.php:609
msgid "What to act on"
msgstr ""

#: includes/free-plus/waf/class-waf.php:612
msgid "Act on the local IP blocklist"
msgstr ""

#: includes/free-plus/waf/class-waf.php:612
msgid "High confidence — these are IPs your own login protection already flagged."
msgstr ""

#: includes/free-plus/waf/class-waf.php:616
msgid "Act on suspicious request signatures"
msgstr ""

#: includes/free-plus/waf/class-waf.php:616
msgid "A small set of high-confidence attack patterns (traversal, SQLi, XSS). Off by default."
msgstr ""

#: includes/free-plus/waf/class-waf.php:622
msgid "Always-allow IP whitelist"
msgstr ""

#: includes/free-plus/waf/class-waf.php:623
msgid "One IP per line. Loopback (127.0.0.1, ::1) is always allowed."
msgstr ""

#. translators: %s: IP
#: includes/free-plus/waf/class-waf.php:626
#, php-format
msgid "Your current IP is %s — consider adding it."
msgstr ""

#: includes/free-plus/waf/class-waf.php:632
msgid "Save firewall settings"
msgstr ""

#: includes/helpers/class-file-storage.php:1854
msgid "The GuardPress data directory is publicly accessible via HTTP. On Nginx servers, .htaccess rules are not enforced. Add these deny rules to your nginx.conf server block:"
msgstr ""

#: includes/helpers/class-file-storage.php:1863
msgid "After adding the rules and reloading Nginx, this warning clears automatically within 24 hours."
msgstr ""

#. translators: %d is the number of confirmed malware findings.
#: includes/notifications/class-email-notifier.php:253
#, php-format
msgid "MALWARE FOUND: %d confirmed threat"
msgid_plural "MALWARE FOUND: %d confirmed threats"
msgstr[0] ""
msgstr[1] ""

#: includes/scanner/class-batch-scanner.php:285
#: includes/scanner/class-batch-scanner.php:799
#: includes/scanner/class-batch-scanner.php:832
#: includes/scanner/class-malware-scanner.php:2151
#: includes/scanner/class-malware-scanner.php:2296
msgid "This scan was taken over by another tab. Please continue it from that tab."
msgstr ""

#. translators: %1$s is the number of files on the site, %2$s is the maximum allowed file count
#: includes/scanner/class-batch-scanner.php:401
#: includes/scanner/class-batch-scanner.php:1227
#, php-format
msgid "Site has %1$s files which exceeds the %2$s file limit. This prevents memory issues. Please use Directory Exclusions in Settings to exclude large folders like cache, backups, or node_modules."
msgstr ""

#: includes/scanner/class-batch-scanner.php:425
msgid "Could not save scan data. Either wp-content/ is not writable, or this server's filesystem does not support file locking (some NFS/OpenVZ mounts) — the scan will not run unlocked. Check the folder permissions first; if they are correct, ask your host about flock() support."
msgstr ""

#: includes/scanner/class-batch-scanner.php:465
msgid "Failed to initialize scan tracking. Check file permissions."
msgstr ""

#: includes/scanner/class-batch-scanner.php:478
msgid "Failed to save scan state. Check file permissions on wp-content/."
msgstr ""

#. translators: %s is the number of files found to scan
#: includes/scanner/class-batch-scanner.php:489
#, php-format
msgid "Found %s files to scan"
msgstr ""

#: includes/scanner/class-batch-scanner.php:562
#: includes/scanner/class-batch-scanner.php:1063
msgid "No scan in progress"
msgstr ""

#: includes/scanner/class-batch-scanner.php:586
msgid "Scan file list not found. Please restart the scan."
msgstr ""

#: includes/scanner/class-batch-scanner.php:670
#: includes/scanner/class-scan-runner.php:196
msgid "This file grew past the 50 MB integrity limit, so its contents are no longer checked. A code file that suddenly becomes this large is worth a look."
msgstr ""

#: includes/scanner/class-batch-scanner.php:702
#: includes/scanner/class-scan-runner.php:223
msgid "This file used to be too large to check and is now small enough — so it has changed. Its contents are being checked again from now on."
msgstr ""

#: includes/scanner/class-batch-scanner.php:767
msgid "Failed to save scan tracking data (disk full?). Scan aborted to prevent incorrect results."
msgstr ""

#: includes/scanner/class-batch-scanner.php:816
msgid "Failed to save final scan results (disk full?). Scan aborted to prevent incorrect results."
msgstr ""

#: includes/scanner/class-batch-scanner.php:844
msgid "Failed to save scan progress (disk full?). Scan aborted to prevent incorrect results."
msgstr ""

#. translators: %1$s is the number of files processed, %2$s is the total file count, %3$s is the percent complete
#: includes/scanner/class-batch-scanner.php:862
#, php-format
msgid "Scanning... %1$s of %2$s files (%3$s%%)"
msgstr ""

#: includes/scanner/class-batch-scanner.php:882
msgid "No scan data found"
msgstr ""

#: includes/scanner/class-batch-scanner.php:911
msgid "Cannot finalize: the scan ended in an error or was cancelled. No results were saved — your previous scan report is unchanged. Please run the scan again."
msgstr ""

#: includes/scanner/class-batch-scanner.php:929
msgid "Cannot finalize: scan is still in progress or has not run. Continue processing batches first, or use Cancel to start over."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1000
msgid "Failed to save scan results (disk full or permissions?). Your previous report was not changed. Please try finalizing again."
msgstr ""

#. translators: %1$s is the number of files scanned, %2$s is the scan duration in seconds
#: includes/scanner/class-batch-scanner.php:1041
#, php-format
msgid "Scan complete! Scanned %1$s files in %2$s seconds."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1060
msgid "Scan cancelled"
msgstr ""

#: includes/scanner/class-batch-scanner.php:1105
msgid "Likely a legitimate WordPress/plugin/theme update"
msgstr ""

#: includes/scanner/class-batch-scanner.php:1246
msgid "Failed to save baseline data. Check file permissions on wp-content/."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1273
msgid "Failed to save baseline state. Check file permissions on wp-content/."
msgstr ""

#. translators: %s is the number of files found to index
#: includes/scanner/class-batch-scanner.php:1284
#, php-format
msgid "Found %s files to index"
msgstr ""

#: includes/scanner/class-batch-scanner.php:1295
#: includes/scanner/class-batch-scanner.php:1723
msgid "No baseline creation in progress"
msgstr ""

#: includes/scanner/class-batch-scanner.php:1301
msgid "Baseline file list not found. Please restart."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1393
#: includes/scanner/class-batch-scanner.php:1418
msgid "This baseline build was taken over by another tab. Please continue it from that tab."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1402
#: includes/scanner/class-batch-scanner.php:1430
msgid "Failed to save baseline progress (disk full?). Build aborted to keep your previous baseline intact."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1412
msgid "Baseline creation complete!"
msgstr ""

#. translators: %1$s is the number of files processed, %2$s is the total file count, %3$s is the percent complete
#: includes/scanner/class-batch-scanner.php:1448
#, php-format
msgid "Creating baseline... %1$s of %2$s files (%3$s%%)"
msgstr ""

#: includes/scanner/class-batch-scanner.php:1464
msgid "No baseline data found"
msgstr ""

#: includes/scanner/class-batch-scanner.php:1484
msgid "Cannot finalize: the baseline build ended in an error or was cancelled. Your previous baseline is unchanged. Please run it again."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1496
msgid "Cannot finalize: baseline build is still in progress. Continue processing batches first, or use Cancel to start over."
msgstr ""

#. translators: %s: number of files that could not be read
#: includes/scanner/class-batch-scanner.php:1515
#, php-format
msgid "Baseline not saved: %s file could not be read during indexing, so the baseline would be incomplete. Your previous baseline is unchanged — re-run once the file is accessible."
msgid_plural "Baseline not saved: %s files could not be read during indexing, so the baseline would be incomplete. Your previous baseline is unchanged — re-run once the files are accessible."
msgstr[0] ""
msgstr[1] ""

#: includes/scanner/class-batch-scanner.php:1560
msgid "Could not create a safe baseline directory. Ensure wp-content/uploads/guardpress-baseline is a real directory and not a symbolic link."
msgstr ""

#: includes/scanner/class-batch-scanner.php:1595
msgid "Failed to save baseline file. Check file permissions on wp-content/uploads/."
msgstr ""

#. translators: %1$s is the number of files indexed, %2$s is the duration in seconds
#: includes/scanner/class-batch-scanner.php:1686
#, php-format
msgid "Baseline created! Indexed %1$s files in %2$s seconds."
msgstr ""

#. translators: %s is the number of files that were larger than the 50 MB hashing limit
#: includes/scanner/class-batch-scanner.php:1693
#, php-format
msgid "%s file was larger than the 50 MB limit and is not covered by change monitoring."
msgid_plural "%s files were larger than the 50 MB limit and are not covered by change monitoring."
msgstr[0] ""
msgstr[1] ""

#: includes/scanner/class-batch-scanner.php:1721
msgid "Baseline creation cancelled"
msgstr ""

#: includes/scanner/class-database-scanner.php:229
msgid "✅ Database scan complete. No suspicious content found."
msgstr ""

#. translators: %d is the number of database rows that could not be checked
#: includes/scanner/class-database-scanner.php:233
#, php-format
msgid "⚠️ Database scan PARTIAL — %d rows could not be checked. No suspicious content found in the rows that were scanned. Re-run to scan the rest."
msgstr ""

#. translators: %d is the number of suspicious database entries found
#: includes/scanner/class-database-scanner.php:239
#, php-format
msgid "⚠️ Found %d suspicious entries in database!"
msgstr ""

#: includes/scanner/class-database-scanner.php:399
msgid "Suspicious Option Name"
msgstr ""

#: includes/scanner/class-database-scanner.php:400
msgid "This option name is associated with known malware."
msgstr ""

#: includes/scanner/class-database-scanner.php:895
msgid "Temporary/disposable email address"
msgstr ""

#: includes/scanner/class-database-scanner.php:909
msgid "Generic username created recently"
msgstr ""

#: includes/scanner/class-database-scanner.php:927
msgid "Admin account with no activity"
msgstr ""

#: includes/scanner/class-database-scanner.php:945
msgid "Suspicious Admin Account"
msgstr ""

#. translators: %s: human-readable duration
#: includes/scanner/class-malware-scanner.php:1487
#, php-format
msgid "Another malware scan is already running (started %s ago). Please wait or cancel it."
msgstr ""

#: includes/scanner/class-malware-scanner.php:1511
msgid "Invalid scan type."
msgstr ""

#. translators: %s: relative path of the server-config file
#: includes/scanner/class-malware-scanner.php:1726
#, php-format
msgid "A server-config file (%s) is larger than 1 MB and was only partially inspected for PHP-handler directives — review it manually."
msgstr ""

#: includes/scanner/class-malware-scanner.php:1826
msgid "This scan was taken over by another tab during start-up. Please continue it from that tab."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2156
#: includes/scanner/class-malware-scanner.php:2301
msgid "Scan progress could not be saved (a temporary disk or permission problem). Please retry — no progress was lost."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2179
msgid "File could not be scanned"
msgstr ""

#: includes/scanner/class-malware-scanner.php:2180
msgid "This file was found when the scan started but was missing or unreadable when the scan reached it, so it was not checked."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2181
msgid "Re-run the scan. If it persists, check the file and its permissions."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2246
#: includes/scanner/class-malware-scanner.php:13781
msgid "File too large to fully scan"
msgstr ""

#: includes/scanner/class-malware-scanner.php:2247
#: includes/scanner/class-malware-scanner.php:13782
msgid "This file exceeds the scanner size limit (2 MB) and was not fully scanned for malware. Large executable/script files are unusual."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2248
#: includes/scanner/class-malware-scanner.php:13783
msgid "Open and review this file; remove it if you do not recognise it."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2405
msgid "Cannot finalize: malware scan is still in progress. Continue processing batches first, or use Cancel to start over."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2611
msgid "The scan finished but its results could not be saved. Please click Finalize again to retry — your scan progress is preserved."
msgstr ""

#. translators: 1: number of review items, 2: scan type
#: includes/scanner/class-malware-scanner.php:2704
#, php-format
msgid "Malware scan found no malware; %1$d item to review (%2$s scan)"
msgid_plural "Malware scan found no malware; %1$d items to review (%2$s scan)"
msgstr[0] ""
msgstr[1] ""

#. translators: 1: total threats, 2: scan type
#: includes/scanner/class-malware-scanner.php:2722
#: includes/scanner/class-malware-scanner.php:2759
#, php-format
msgid "Malware scan found %1$d threat (%2$s scan)"
msgid_plural "Malware scan found %1$d threats (%2$s scan)"
msgstr[0] ""
msgstr[1] ""

#: includes/scanner/class-malware-scanner.php:2815
msgid "An official WordPress core file is missing. Re-install WordPress (Dashboard → Updates → Re-install) to restore it."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2830
msgid "An official WordPress core file has been replaced by a symbolic link or a special file. Core files are never links — re-install WordPress (Dashboard → Updates → Re-install) to restore the genuine file."
msgstr ""

#: includes/scanner/class-malware-scanner.php:2898
msgid "A WordPress core folder (wp-admin / wp-includes) has been replaced by a symbolic link. Core folders are never links — re-install WordPress (Dashboard → Updates → Re-install) to restore the genuine folder."
msgstr ""

#. translators: %s: relative path of the server-config file
#: includes/scanner/class-malware-scanner.php:3005
#, php-format
msgid "A core server-config file (%s) is larger than 1 MB and was only partially inspected for PHP-handler directives — review it manually."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3040
msgid "A WordPress core file or folder has been replaced by a symbolic link. Core files are never links — re-install WordPress (Dashboard → Updates → Re-install) to restore the genuine files."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3093
msgid "This is a copy or backup of a server configuration file (such as web.config or .htaccess) sitting in your site root. These files can execute code and redirect requests, and a stray copy is a common way to hide a backdoor or leak settings. If you did not create it intentionally, delete it."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3157
msgid "GuardPress PRO recovery file — present by design."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3199
msgid "This file's name looks identical to a standard WordPress core file, but it is NOT that file — the name differs by hidden characters, spaces or unusual casing. This is a common disguise for planted files. If you did not create it yourself, quarantine it."
msgstr ""

#. translators: %s: hex bytes of the hidden/non-standard characters found in the file name
#: includes/scanner/class-malware-scanner.php:3246
#, php-format
msgid "Unrecognized file in site root. NOTE: the file name contains hidden or non-standard characters (bytes: %s) — a common disguise for planted files. If you did not create this file yourself, quarantine it."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3842
#: includes/scanner/class-malware-scanner.php:3846
#: includes/scanner/class-malware-scanner.php:3853
#: includes/scanner/class-malware-scanner.php:3858
msgid "Invalid file path."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3872
msgid "This file was not found in the last scan results."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3876
msgid "Confirmed threats cannot be approved."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3881
msgid "Could not read the file."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3904
msgid "this extension"
msgstr ""

#. translators: %1$s: plugin folder name
#: includes/scanner/class-malware-scanner.php:3914
#, php-format
msgid "🛑 This file is inside the “%1$s” plugin folder but is NOT part of the official plugin package. Legitimate plugin files are always part of the official package, so a file that does not belong there was almost certainly planted by an attacker and very likely IS a backdoor. Strongly recommended: REMOVE / REINSTALL the “%1$s” plugin from a clean copy now (reinstalling deletes the injected file too), or deactivate the plugin and then quarantine this file."
msgstr ""

#. translators: %1$s: plugin folder name
#: includes/scanner/class-malware-scanner.php:3921
#, php-format
msgid "📝 This file in the “%1$s” plugin differs from the official WordPress.org version. If you did not change it yourself, the plugin may have been tampered with — reinstall the “%1$s” plugin from a clean copy. Do not quarantine this file (that would break the plugin)."
msgstr ""

#. translators: %1$s: plugin folder name
#: includes/scanner/class-malware-scanner.php:3939
#, php-format
msgid "⚠️ This file is inside your active “%1$s” plugin (premium / not on WordPress.org, so it cannot be compared against an official copy) and uses a powerful code pattern (such as eval) that malware also uses. It is NOT confirmed malware — well-known plugins use such patterns as legitimate features, which is why this item is listed under Review and not as a threat. If you knowingly installed “%1$s” and this item also appeared in earlier scans, no action is needed — just keep the plugin updated. Treat it as suspicious only if it appeared suddenly on a plugin that used to scan clean, or if you do not recognise this plugin at all — in that case reinstall “%1$s” from the copy you purchased. Do not quarantine this file (that would break the plugin)."
msgstr ""

#. translators: %1$s: plugin folder name
#: includes/scanner/class-malware-scanner.php:3956
#, php-format
msgid "⚠️ This file is inside your active “%1$s” plugin (premium / not on WordPress.org, so it cannot be checked against an official copy) and matched a high-risk pattern. Treat it as suspicious — it may contain a backdoor. Quarantining it could break the plugin, so the recommended action is to REMOVE / REINSTALL the “%1$s” plugin from the copy you purchased. Before that, it is worth contacting the plugin’s developer and asking them to confirm that this file is a legitimate part of “%1$s” — they can tell you in minutes. If they do NOT recognise the code, let them know: it would mean the copy you received was tampered with, and other customers may have it too. (If you installed and fully trust this plugin it may still be a false positive — some plugins use powerful patterns like eval legitimately.)"
msgstr ""

#. translators: %1$s: plugin folder name
#: includes/scanner/class-malware-scanner.php:3962
#, php-format
msgid "ℹ️ This file is inside your active “%1$s” plugin (premium / not on WordPress.org, so it cannot be checked against an official copy). If you installed and trust this plugin, this is most likely a false positive — plugins sometimes use powerful patterns (eval, base64) legitimately. If you suspect it was hacked, reinstall the plugin from the copy you purchased. Do not quarantine (that would break the plugin)."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3968
msgid "ℹ️ This file is part of an active theme. If you suspect it is infected, reinstall the theme from a clean copy. Do not quarantine (that would break your site’s appearance)."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3973
msgid "⚠️ This is a WordPress core file that does NOT match the official release. Core files should not change on their own. Re-install WordPress (Dashboard → Updates → “Re-install version”) to restore the original — do NOT quarantine it (that would break your site)."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3982
msgid "🛑 This file is inside a WordPress core folder (wp-admin / wp-includes) but is NOT part of WordPress. Attackers hide back-doors here. Re-installing WordPress (Dashboard → Updates → “Re-install version”) removes any file that does not belong; or investigate and delete it manually over SFTP. (Quarantine is intentionally disabled for core folders.)"
msgstr ""

#: includes/scanner/class-malware-scanner.php:3987
msgid "ℹ️ This file is in a WordPress core folder, but the official checksums could not be downloaded to verify it. Treat it with caution and re-scan once your site can reach WordPress.org. Re-installing WordPress core restores any genuine core file."
msgstr ""

#: includes/scanner/class-malware-scanner.php:3994
msgid "Executable files do not normally belong in the uploads folder. If you do not recognise it, quarantining it is safe."
msgstr ""

#. translators: %1$s: plugin folder name
#: includes/scanner/class-malware-scanner.php:4007
#, php-format
msgid "⚠️ If you would rather delete just this one file yourself, you MUST first deactivate the “%1$s” plugin on the Plugins screen — deleting it while the plugin is still active can crash your site. ONLY after the plugin is deactivated is it safe to delete the file."
msgstr ""

#: includes/scanner/class-malware-scanner.php:4010
msgid "⚠️ If you would rather delete just this one file yourself, you MUST first switch to a different theme — deleting a file from the ACTIVE theme can break your site. ONLY after another theme is active is it safe to delete the file."
msgstr ""

#: includes/scanner/class-malware-scanner.php:4461
msgid "File only partially scanned"
msgstr ""

#: includes/scanner/class-malware-scanner.php:4463
msgid "Review this file manually; it was not fully verified as clean."
msgstr ""

#: includes/scanner/class-malware-scanner.php:12608
msgid "This file was too large or complex to finish scanning within the time budget, so it was only partially checked for malware."
msgstr ""

#: includes/scanner/class-malware-scanner.php:12921
msgid "Some malware checks could not finish on this file, so it was only partially checked. A file can be built deliberately to cause this."
msgstr ""

#: includes/scanner/class-malware-scanner.php:12986
msgid "This file could not be fully analysed - it was large or complex enough to exhaust the scan budget, so it was only partially checked. This can happen with large legitimate files; it is also a technique used to hide malicious code."
msgstr ""

#: includes/scanner/class-malware-scanner.php:12989
msgid "This file was too large to run the deep code analysis on with the memory available, so it was only partially checked. This can happen with large legitimate files; it is also a technique used to hide malicious code."
msgstr ""

#. translators: %d: number of confirmed malware findings
#: includes/scanner/class-malware-scanner.php:13426
#, php-format
msgid "⚠️ %d confirmed malware finding — review it below."
msgid_plural "⚠️ %d confirmed malware findings — review them below."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: number of serious (high/critical) review items shown as potential threats
#: includes/scanner/class-malware-scanner.php:13445
#, php-format
msgid "⚠️ No confirmed malware — but %d item looks serious enough to check now. It is shown with the main results as a potential threat."
msgid_plural "⚠️ No confirmed malware — but %d items look serious enough to check now. They are shown with the main results as potential threats."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: number of unrecognised files found in WordPress core directories
#: includes/scanner/class-malware-scanner.php:13459
#, php-format
msgid "⚠️ No confirmed malware — but %d file in your WordPress core folders is not part of the official WordPress release."
msgid_plural "⚠️ No confirmed malware — but %d files in your WordPress core folders are not part of the official WordPress release."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: number of coverage warnings
#: includes/scanner/class-malware-scanner.php:13472
#, php-format
msgid "⚠️ No threats detected, but the scan was incomplete (%d part of your site was not fully checked). Review the coverage notice below."
msgid_plural "⚠️ No threats detected, but the scan was incomplete (%d parts of your site were not fully checked). Review the coverage notices below."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: number of non-malware review items
#: includes/scanner/class-malware-scanner.php:13487
#, php-format
msgid "✅ No malware found. We also noted %d item to optionally review below — these are common in legitimate plugins and are not malware."
msgid_plural "✅ No malware found. We also noted %d items to optionally review below — these are common in legitimate plugins and are not malware."
msgstr[0] ""
msgstr[1] ""

#. translators: %d: number of coverage warnings
#: includes/scanner/class-malware-scanner.php:13509
#, php-format
msgid "Note: the scan was also incomplete — %d part of your site was not fully checked, so there may be more."
msgid_plural "Note: the scan was also incomplete — %d parts of your site were not fully checked, so there may be more."
msgstr[0] ""
msgstr[1] ""

#. translators: 1: malware name, 2: number of antivirus engines that detected it
#: includes/scanner/class-malwarebazaar.php:476
#, php-format
msgid "Confirmed malware \"%1$s\" - detected by %2$d antivirus engines."
msgstr ""

#: includes/scanner/class-pattern-detector.php:591
msgid "Scan limit reached for this request"
msgstr ""

#: includes/scanner/class-pattern-detector.php:598
msgid "File too large for pattern scanning"
msgstr ""

#: includes/scanner/class-pattern-detector.php:692
msgid "Threat Intelligence Match"
msgstr ""

#: includes/scanner/class-pattern-detector.php:693
msgid "Matched a signature from the AI CyberGuard threat database."
msgstr ""

#. translators: %s is the malware name from the signature database.
#: includes/scanner/class-pattern-detector.php:715
#, php-format
msgid "Known Malware: %s"
msgstr ""

#: includes/scanner/class-pattern-detector.php:716
msgid "This file's hash matches a known malware signature in our database."
msgstr ""

#: includes/scanner/class-pattern-detector.php:791
msgid "Extremely Long Code Line"
msgstr ""

#: includes/scanner/class-pattern-detector.php:792
msgid "Lines over 1000 characters often contain obfuscated malicious code."
msgstr ""

#: includes/scanner/class-pattern-detector.php:808
msgid "Randomized Variable Names"
msgstr ""

#: includes/scanner/class-pattern-detector.php:809
msgid "Very long random variable names suggest obfuscated malware."
msgstr ""

#: includes/scanner/class-pattern-detector.php:825
msgid "Heavily Encoded Content"
msgstr ""

#: includes/scanner/class-pattern-detector.php:826
msgid "File contains mostly non-readable characters. Likely encoded malware."
msgstr ""

#: includes/scanner/class-pattern-detector.php:839
msgid "Hidden File (starts with dot)"
msgstr ""

#: includes/scanner/class-pattern-detector.php:840
msgid "Hidden files can contain backdoors that are easy to miss."
msgstr ""

#: includes/scanner/class-pattern-detector.php:854
msgid "PHP File in Uploads Folder"
msgstr ""

#: includes/scanner/class-pattern-detector.php:855
msgid "PHP files should NEVER be in the uploads folder. This is a major red flag!"
msgstr ""

#. translators: 1: number of suspicious patterns found, 2: number of dangerous pattern combinations, 3: numeric risk score.
#: includes/scanner/class-pattern-detector.php:875
#, php-format
msgid "CRITICAL: %1$d suspicious patterns found with %2$d dangerous combinations. Risk score: %3$d"
msgstr ""

#: includes/scanner/class-pattern-detector.php:880
msgid "Immediately quarantine this file and investigate. Do NOT execute it. Consider restoring from backup or deleting."
msgstr ""

#. translators: 1: number of suspicious patterns found, 2: numeric risk score.
#: includes/scanner/class-pattern-detector.php:885
#, php-format
msgid "HIGH RISK: %1$d suspicious patterns found. Risk score: %2$d"
msgstr ""

#: includes/scanner/class-pattern-detector.php:889
msgid "Review this file carefully. Compare with original version if available. Consider using AI Analysis for deeper inspection."
msgstr ""

#. translators: 1: number of patterns detected, 2: numeric risk score.
#: includes/scanner/class-pattern-detector.php:894
#, php-format
msgid "MEDIUM RISK: %1$d patterns detected. Risk score: %2$d"
msgstr ""

#: includes/scanner/class-pattern-detector.php:898
msgid "Patterns found may be legitimate but warrant review. Check if file is part of a known plugin/theme."
msgstr ""

#. translators: 1: number of minor patterns found, 2: numeric risk score.
#: includes/scanner/class-pattern-detector.php:903
#, php-format
msgid "LOW RISK: %1$d minor patterns found. Risk score: %2$d"
msgstr ""

#: includes/scanner/class-pattern-detector.php:907
msgid "Likely safe. Patterns found are common in legitimate code but monitor for changes."
msgstr ""

#: includes/scanner/class-pattern-detector.php:910
msgid "No suspicious patterns detected."
msgstr ""

#: includes/scanner/class-pattern-detector.php:911
msgid "File appears clean. Continue monitoring for changes."
msgstr ""

#: includes/scanner/class-repository-comparison.php:45
msgid "Plugin not found locally"
msgstr ""

#: includes/scanner/class-repository-comparison.php:55
msgid "Plugin not found in WordPress.org repository (premium/custom plugin)"
msgstr ""

#. translators: 1: installed plugin version, 2: available repository version
#: includes/scanner/class-repository-comparison.php:67
#, php-format
msgid "Update available: %1$s → %2$s"
msgstr ""

#: includes/scanner/class-repository-comparison.php:73
msgid "Local version is newer than repository (dev version?)"
msgstr ""

#: includes/scanner/class-repository-comparison.php:76
msgid "Version matches repository"
msgstr ""

#: includes/scanner/class-repository-comparison.php:213
msgid "Could not retrieve WordPress checksums"
msgstr ""

#: includes/scanner/class-repository-comparison.php:380
msgid "GuardPress Emergency Recovery System (safe)"
msgstr ""

#: includes/scanner/class-repository-comparison.php:389
msgid "GuardPress PHP error handler (safe)"
msgstr ""

#: includes/scanner/class-repository-comparison.php:622
msgid "All WordPress core files match official checksums"
msgstr ""

#. translators: %d is the number of modified WordPress core files
#: includes/scanner/class-repository-comparison.php:629
#, php-format
msgid "%d core files have been modified!"
msgstr ""

#. translators: %d is the number of additional modified files not listed
#. translators: %d is the number of additional unexpected files not listed
#: includes/scanner/class-repository-comparison.php:636
#: includes/scanner/class-repository-comparison.php:654
#, php-format
msgid "... and %d more"
msgstr ""

#. translators: %d is the number of unexpected files found in core directories
#: includes/scanner/class-repository-comparison.php:646
#, php-format
msgid "%d unexpected files in core directories"
msgstr ""

#: includes/scanner/class-repository-comparison.php:647
msgid "These files are not part of official WordPress core. They may be from plugins, backups, or unauthorized additions. Please verify:"
msgstr ""

#: includes/scanner/class-repository-comparison.php:650
msgid "Verify this file"
msgstr ""

#: includes/scanner/class-repository-comparison.php:668
msgid "Recognized GuardPress files (trusted):"
msgstr ""

#: includes/scanner/class-repository-comparison.php:690
msgid "Plugin Repository Check"
msgstr ""

#: includes/scanner/class-repository-comparison.php:696
msgid "Total"
msgstr ""

#: includes/scanner/class-repository-comparison.php:700
msgid "From WP.org"
msgstr ""

#: includes/scanner/class-repository-comparison.php:705
msgid "Outdated"
msgstr ""

#: includes/scanner/class-repository-comparison.php:710
msgid "Premium/Custom"
msgstr ""

#: includes/scanner/class-threat-feed.php:543
msgid "Unauthorized"
msgstr ""

#: includes/scanner/class-threat-feed.php:589
msgid "Threat database updated to the latest signatures."
msgstr ""

#: includes/scanner/class-threat-feed.php:616
msgid "Threat Signature updates require your explicit consent. Please enable \"Threat Signature Updates\" in Settings & Security → Privacy & External Requests, then try again."
msgstr ""

#: includes/scanner/class-threat-feed.php:658
msgid "Please wait a moment before retrying."
msgstr ""

#. translators: %s: human-readable duration
#: includes/scanner/class-threat-feed.php:674
#, php-format
msgid "PRO threat updates are available every hour. Next update available in %s."
msgstr ""

#. translators: %s: human-readable duration
#: includes/scanner/class-threat-feed.php:679
#, php-format
msgid "Threat updates are available every 7 days. Next update available in %s."
msgstr ""

#: includes/scanner/class-threat-feed.php:701
msgid "Unknown error"
msgstr ""

#. translators: %s is the error message returned by the server.
#: includes/scanner/class-threat-feed.php:706
#, php-format
msgid "Could not connect to GuardPress server: %s. Please try again later."
msgstr ""

#. translators: 1: error message returned by the server, 2: number of previously cached signatures.
#: includes/scanner/class-threat-feed.php:712
#, php-format
msgid "Could not refresh from server (%1$s). Using %2$d previously cached signatures."
msgstr ""

#. translators: %d is the number of threat signatures loaded.
#: includes/scanner/class-threat-feed.php:719
#, php-format
msgid "Updated! %d threat signatures loaded."
msgstr ""

#: includes/scanner/class-threat-feed.php:756
msgid "Now"
msgstr ""

#: includes/scanner/class-threat-feed.php:759
msgid "Real-time (hourly)"
msgstr ""

#: includes/scanner/class-threat-feed.php:759
msgid "Weekly (7 days)"
msgstr ""

#. translators: %s is the threat type (e.g. malware distribution)
#: includes/scanner/class-urlhaus-integration.php:436
#, php-format
msgid "Known malicious URL: %s"
msgstr ""

#: includes/scanner/class-visual-diff.php:107
msgid "New file added"
msgstr ""

#: includes/scanner/class-visual-diff.php:113
msgid "File deleted"
msgstr ""

#: includes/scanner/class-visual-diff.php:122
msgid "added"
msgstr ""

#: includes/scanner/class-visual-diff.php:123
msgid "removed"
msgstr ""

#: includes/scanner/class-visual-diff.php:130
msgid "No visible differences (possibly whitespace changes)"
msgstr ""

#. translators: 1: first line number of the diff hunk, 2: last line number of the diff hunk
#: includes/scanner/class-visual-diff.php:139
#, php-format
msgid "Lines %1$d-%2$d"
msgstr ""

#. translators: %d is the number of additional lines not shown
#: includes/scanner/class-visual-diff.php:224
#, php-format
msgid "... and %d more lines"
msgstr ""

#: includes/scanner/class-visual-diff.php:289
msgid "(File too large to display - over 512KB)"
msgstr ""

#: includes/security/class-login-security.php:131
#: includes/security/class-login-security.php:139
msgid "AI CyberGuard — Login Security"
msgstr ""

#: includes/security/class-login-security.php:227
msgid "Login activity (AI CyberGuard)"
msgstr ""

#: includes/security/class-login-security.php:230
msgid "Date"
msgstr ""

#: includes/security/class-login-security.php:233
msgid "Result"
msgstr ""

#: includes/security/class-login-security.php:269
msgid "Failed login attempts (AI CyberGuard)"
msgstr ""

#: includes/security/class-login-security.php:317
msgid "The Login Security personal-data export could not be completed safely and was stopped to avoid producing a silently incomplete archive. Please try again."
msgstr ""

#: includes/security/class-login-security.php:334
msgid "Some login-security data could not be erased due to a database error and was retained. Please resolve the database issue and run the erasure again."
msgstr ""

#: includes/security/class-login-security.php:356
msgid "Some failed-login records could not be erased (unreadable data) and were retained. Please retry."
msgstr ""

#: includes/security/class-login-security.php:357
msgid "Some failed-login records could not be erased due to concurrent activity and were retained. Please retry."
msgstr ""

#: includes/security/class-login-security.php:1472
msgid "<strong>Access Denied.</strong> Your IP address has been permanently blocked."
msgstr ""

#. translators: %d is the number of minutes until login is allowed again
#: includes/security/class-login-security.php:1479
#, php-format
msgid "<strong>Too many failed attempts.</strong> Please try again in %d minutes."
msgstr ""

#. translators: %s is the site homepage URL
#: includes/security/class-login-security.php:1490
#, php-format
msgid "<h1>Access Permanently Blocked</h1><p>Your IP address has been blocked.</p><p><a href=\"%s\">Go to homepage</a></p>"
msgstr ""

#. translators: %s is the site homepage URL
#: includes/security/class-login-security.php:1490
msgid "Access Blocked"
msgstr ""

#. translators: 1: number of minutes until login is allowed again, 2: site homepage URL
#: includes/security/class-login-security.php:1495
#, php-format
msgid "<h1>Access Temporarily Blocked</h1><p>Too many failed login attempts.</p><p>Try again in <strong>%1$d minutes</strong>.</p><p><a href=\"%2$s\">Go to homepage</a></p>"
msgstr ""

#. translators: 1: number of minutes until login is allowed again, 2: site homepage URL
#: includes/security/class-login-security.php:1495
msgid "Login Blocked"
msgstr ""

#. translators: 1: IP address, 2: failed-attempt count
#: includes/security/class-login-security.php:1727
#, php-format
msgid "IP %1$s locked out after %2$d failed login attempts"
msgstr ""

#. translators: %s: IP address
#: includes/security/class-login-security.php:1756
#, php-format
msgid "IP %s blocked manually"
msgstr ""

#: includes/security/class-login-security.php:2439
msgid "Warning:"
msgstr ""

#. translators: %d is the number of login attempts remaining before lockout
#: includes/security/class-login-security.php:2441
#, php-format
msgid "%d login attempts remaining before lockout."
msgstr ""

#: includes/security/class-security-checklist.php:103
msgid "WordPress is up to date"
msgstr ""

#: includes/security/class-security-checklist.php:109
msgid "WordPress update available"
msgstr ""

#: includes/security/class-security-checklist.php:112
msgid "Update"
msgstr ""

#: includes/security/class-security-checklist.php:118
msgid "WordPress version"
msgstr ""

#: includes/security/class-security-checklist.php:130
msgid "PHP version is secure"
msgstr ""

#: includes/security/class-security-checklist.php:136
msgid "PHP version should be updated"
msgstr ""

#: includes/security/class-security-checklist.php:143
msgid "PHP version is outdated"
msgstr ""

#: includes/security/class-security-checklist.php:152
msgid "File editor is disabled"
msgstr ""

#: includes/security/class-security-checklist.php:153
msgid "DISALLOW_FILE_EDIT is set to true"
msgstr ""

#: includes/security/class-security-checklist.php:159
msgid "File editor is enabled"
msgstr ""

#: includes/security/class-security-checklist.php:160
msgid "Add DISALLOW_FILE_EDIT to wp-config.php"
msgstr ""

#: includes/security/class-security-checklist.php:162
msgid "How to fix"
msgstr ""

#: includes/security/class-security-checklist.php:171
msgid "Debug mode is disabled"
msgstr ""

#: includes/security/class-security-checklist.php:172
msgid "WP_DEBUG is off"
msgstr ""

#: includes/security/class-security-checklist.php:179
msgid "Debug mode is on (hidden)"
msgstr ""

#: includes/security/class-security-checklist.php:180
msgid "WP_DEBUG is on but display is disabled"
msgstr ""

#: includes/security/class-security-checklist.php:186
msgid "Debug mode is enabled"
msgstr ""

#: includes/security/class-security-checklist.php:187
msgid "Never enable WP_DEBUG in production"
msgstr ""

#: includes/security/class-security-checklist.php:195
msgid "SSL/HTTPS is active"
msgstr ""

#: includes/security/class-security-checklist.php:196
msgid "Connection is encrypted"
msgstr ""

#: includes/security/class-security-checklist.php:202
msgid "SSL/HTTPS is not active"
msgstr ""

#: includes/security/class-security-checklist.php:203
msgid "Install SSL certificate and force HTTPS"
msgstr ""

#: includes/security/class-security-checklist.php:213
msgid "Custom database prefix"
msgstr ""

#: includes/security/class-security-checklist.php:220
msgid "Default database prefix (wp_)"
msgstr ""

#: includes/security/class-security-checklist.php:221
msgid "Consider using a custom prefix for new installations"
msgstr ""

#: includes/security/class-security-checklist.php:231
msgid "No \"admin\" username"
msgstr ""

#: includes/security/class-security-checklist.php:232
msgid "Default admin username is not used"
msgstr ""

#: includes/security/class-security-checklist.php:238
msgid "\"admin\" username exists"
msgstr ""

#: includes/security/class-security-checklist.php:239
msgid "Change the username or create a new admin account"
msgstr ""

#: includes/security/class-security-checklist.php:241
msgid "Add User"
msgstr ""

#: includes/security/class-security-checklist.php:255
msgid "wp-config.php not found"
msgstr ""

#: includes/security/class-security-checklist.php:256
msgid "Could not locate wp-config.php"
msgstr ""

#: includes/security/class-security-checklist.php:279
msgid "wp-config.php is writable by group/other"
msgstr ""

#. translators: %s: octal permissions
#: includes/security/class-security-checklist.php:282
#, php-format
msgid "Current: %s — other users on the server can MODIFY wp-config.php. Set it to 0640 or 0600."
msgstr ""

#: includes/security/class-security-checklist.php:291
msgid "wp-config.php is world-readable"
msgstr ""

#. translators: %s: octal permissions
#: includes/security/class-security-checklist.php:294
#, php-format
msgid "Current: %s — other users on the server can READ your secrets. Prefer 0640 or 0600."
msgstr ""

#: includes/security/class-security-checklist.php:302
msgid "wp-config.php has safe permissions"
msgstr ""

#: includes/security/class-security-checklist.php:335
msgid "Nginx server detected — manual config required"
msgstr ""

#: includes/security/class-security-checklist.php:336
msgid "Nginx does not use .htaccess. Add \"deny all;\" rules to your nginx.conf or site block to protect sensitive directories (e.g. guardpress-data, guardpress-quarantine)."
msgstr ""

#: includes/security/class-security-checklist.php:346
msgid "IIS server — web.config is present"
msgstr ""

#: includes/security/class-security-checklist.php:347
msgid "IIS uses web.config instead of .htaccess. Configuration file is present."
msgstr ""

#: includes/security/class-security-checklist.php:352
msgid "IIS server — web.config not found"
msgstr ""

#: includes/security/class-security-checklist.php:353
msgid "IIS uses web.config instead of .htaccess. Ensure your WordPress web.config restricts access to sensitive files."
msgstr ""

#: includes/security/class-security-checklist.php:363
msgid ".htaccess file exists"
msgstr ""

#: includes/security/class-security-checklist.php:364
msgid "Apache/LiteSpeed configuration file is present"
msgstr ""

#: includes/security/class-security-checklist.php:370
msgid ".htaccess file missing"
msgstr ""

#: includes/security/class-security-checklist.php:371
msgid "Visit Settings > Permalinks to regenerate"
msgstr ""

#: includes/security/class-security-checklist.php:373
msgid "Permalinks"
msgstr ""

#: includes/security/class-security-checklist.php:398
#: includes/security/class-security-checklist.php:406
msgid "XML-RPC is disabled"
msgstr ""

#: includes/security/class-security-checklist.php:399
msgid "Disabled via xmlrpc_enabled filter"
msgstr ""

#: includes/security/class-security-checklist.php:407
msgid "xmlrpc.php file not found"
msgstr ""

#: includes/security/class-security-checklist.php:413
msgid "XML-RPC may be enabled"
msgstr ""

#: includes/security/class-security-checklist.php:414
msgid "Consider disabling if not needed"
msgstr ""

#: includes/security/class-security-checklist.php:424
msgid "Auto-updates enabled"
msgstr ""

#: includes/security/class-security-checklist.php:425
msgid "WordPress will automatically update"
msgstr ""

#: includes/security/class-security-checklist.php:431
msgid "Auto-updates disabled"
msgstr ""

#: includes/security/class-security-checklist.php:432
msgid "Consider enabling for security patches"
msgstr ""

#: includes/security/class-security-checklist.php:446
msgid "Use strong, unique passwords"
msgstr ""

#: includes/security/class-security-checklist.php:447
msgid "WordPress shows a strength meter but does not force strong passwords. Ensure every admin uses a long, unique password and enable two-factor authentication."
msgstr ""

#: includes/security/class-security-checklist.php:483
msgid "Security Checklist"
msgstr ""

#: includes/security/class-security-checklist.php:485
msgid "passed"
msgstr ""
