# Brainwerk Security Suite — it_IT translation.
msgid ""
msgstr ""
"Project-Id-Version: Brainwerk Security Suite\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/i18n-sec\n"
"POT-Creation-Date: 2026-08-02T13:45:50+00:00\n"
"Language: it_IT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: i18n_tools.py\n"

#. Plugin Name of the plugin
#: brainwerk-security-suite.php admin/class-shieldforge-admin.php:114
#: admin/class-shieldforge-admin.php:115 admin/class-shieldforge-admin.php:126
#: admin/class-shieldforge-admin.php:127 admin/class-shieldforge-admin.php:196
#: includes/class-shieldforge-badge.php:40
msgid "Brainwerk Security Suite"
msgstr "Brainwerk Security Suite"

#. Description of the plugin
#: brainwerk-security-suite.php
msgid ""
"Privacy-first WordPress security suite, designed for EU compliance and "
"Multisite installations. Lightweight, transparent, GDPR-ready."
msgstr ""

#. Author of the plugin
#: brainwerk-security-suite.php
msgid "Stefan Kogelgruber"
msgstr ""

#. Author URI of the plugin
#: brainwerk-security-suite.php
msgid "https://brainwerk.at"
msgstr ""

#: admin/class-shieldforge-admin.php:28
msgid "Dashboard"
msgstr "Dashboard"

#: admin/class-shieldforge-admin.php:29
msgid "Login & Auth"
msgstr "Login e autenticazione"

#: admin/class-shieldforge-admin.php:30
#: admin/class-shieldforge-dashboard-widget.php:239
msgid "2FA"
msgstr "2FA"

#: admin/class-shieldforge-admin.php:31
#: admin/class-shieldforge-dashboard-widget.php:224
#: admin/views/page-dashboard.php:79
msgid "Hardening"
msgstr "Hardening"

#: admin/class-shieldforge-admin.php:32
msgid "Hardening+"
msgstr "Hardening+"

#: admin/class-shieldforge-admin.php:33
msgid "Firewall"
msgstr "Firewall"

#: admin/class-shieldforge-admin.php:34
#: admin/class-shieldforge-dashboard-widget.php:234
msgid "Scanner"
msgstr ""

#: admin/class-shieldforge-admin.php:35
msgid "Vulnerabilities"
msgstr ""

#: admin/class-shieldforge-admin.php:36
msgid "Anomaly (beta)"
msgstr "Anomalie (beta)"

#: admin/class-shieldforge-admin.php:37 admin/views/page-incident.php:18
msgid "Incident Response"
msgstr "Risposta agli incidenti"

#: admin/class-shieldforge-admin.php:38
msgid "Audit"
msgstr "Audit"

#: admin/class-shieldforge-admin.php:39
msgid "Logs"
msgstr "Log"

#: admin/class-shieldforge-admin.php:40
msgid "Notifications"
msgstr "Notifiche"

#: admin/class-shieldforge-admin.php:41 admin/views/page-multisite.php:15
msgid "Multisite"
msgstr "Multisite"

#: admin/class-shieldforge-admin.php:42
msgid "Threat Network"
msgstr ""

#: admin/class-shieldforge-admin.php:43
msgid "Privacy / GDPR"
msgstr ""

#: admin/class-shieldforge-admin.php:44
msgid "Tools"
msgstr ""

#: admin/class-shieldforge-admin.php:45 admin/views/page-license.php:24
msgid "License"
msgstr "Licenza"

#: admin/class-shieldforge-admin.php:46 admin/views/page-modules.php:30
msgid "Extra Modules"
msgstr ""

#: admin/class-shieldforge-admin.php:59
msgid "Operations"
msgstr "Operazioni"

#: admin/class-shieldforge-admin.php:63
msgid "Setup & Hardening"
msgstr ""

#: admin/class-shieldforge-admin.php:67
msgid "Detection & Response"
msgstr "Rilevamento e risposta"

#: admin/class-shieldforge-admin.php:71
msgid "Records & Alerts"
msgstr ""

#: admin/class-shieldforge-admin.php:75
msgid "System"
msgstr ""

#: admin/class-shieldforge-admin.php:79
msgid "Advanced"
msgstr ""

#: admin/class-shieldforge-admin.php:169
msgid "Remove this block?"
msgstr ""

#: admin/class-shieldforge-admin.php:170
msgid "Block this IP?"
msgstr "Bloccare questo IP?"

#: admin/class-shieldforge-admin.php:171
msgid "Request failed."
msgstr ""

#: admin/class-shieldforge-admin.php:189
msgid "You do not have permission to access this page."
msgstr ""

#: admin/class-shieldforge-admin.php:261
msgid "This section is coming soon."
msgstr ""

#: admin/class-shieldforge-admin.php:347
msgid "Settings saved."
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:35
msgid "Brainwerk Security Suite — Security Overview"
msgstr "Brainwerk Security Suite — Panoramica sicurezza"

#. translators: %d: threat score
#: admin/class-shieldforge-dashboard-widget.php:63
#, php-format
msgid "Threat level CRITICAL (%d/100) — review attacker activity."
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:72
#, php-format
msgid "Threat level HIGH (%d/100) — review the activity log."
msgstr ""

#. translators: %d: lockout count
#: admin/class-shieldforge-dashboard-widget.php:85
#, php-format
msgid "%d brute-force lockouts in 24h — check the firewall list."
msgstr "%d blocchi per forza bruta in 24h — controlla l'elenco del firewall."

#. translators: %d: failed login count
#: admin/class-shieldforge-dashboard-widget.php:98
#, php-format
msgid ""
"%d failed logins in 24h — consider tightening the brute-force threshold."
msgstr ""
"%d accessi falliti in 24h — valuta di rendere più severa la soglia anti "
"forza bruta."

#. translators: %d: vulnerability count on active components
#: admin/class-shieldforge-dashboard-widget.php:115
#, php-format
msgid ""
"%d known vulnerability on an active plugin/theme/core. Update or replace "
"ASAP."
msgid_plural ""
"%d known vulnerabilities on active plugins/themes/core. Update or replace "
"ASAP."
msgstr[0] ""
"%d vulnerabilità nota su un plugin/tema/core attivo. Aggiorna o sostituisci "
"al più presto."
msgstr[1] ""
"%d vulnerabilità note su plugin/temi/core attivi. Aggiorna o sostituisci al "
"più presto."

#. translators: %d: malware-suspect hit count
#: admin/class-shieldforge-dashboard-widget.php:129
#, php-format
msgid ""
"%d suspicious code pattern detected by the scanner — investigate immediately."
msgid_plural ""
"%d suspicious code patterns detected by the scanner — investigate "
"immediately."
msgstr[0] ""
"%d pattern di codice sospetto rilevato dallo scanner — indaga immediatamente."
msgstr[1] ""
"%d pattern di codice sospetti rilevati dallo scanner — indaga immediatamente."

#. translators: 1: changed count, 2: missing count
#: admin/class-shieldforge-dashboard-widget.php:142
#, php-format
msgid ""
"%1$d files changed and %2$d missing in 24h — verify against intentional "
"updates."
msgstr ""
"%1$d file modificati e %2$d mancanti in 24h — verifica che corrispondano ad "
"aggiornamenti intenzionali."

#. translators: %d: changed file count
#: admin/class-shieldforge-dashboard-widget.php:153
#, php-format
msgid "%d file changed since the last scan — review on the Scanner tab."
msgid_plural ""
"%d files changed since the last scan — review on the Scanner tab."
msgstr[0] ""
"%d file modificato dall'ultima scansione — controllalo nella scheda Scanner."
msgstr[1] ""
"%d file modificati dall'ultima scansione — controllali nella scheda Scanner."

#. translators: %d: anomaly count
#: admin/class-shieldforge-dashboard-widget.php:166
#, php-format
msgid "%d anomalous login flagged — verify it is legitimate."
msgid_plural "%d anomalous logins flagged — verify they are legitimate."
msgstr[0] "%d accesso anomalo segnalato — verifica che sia legittimo."
msgstr[1] "%d accessi anomali segnalati — verifica che siano legittimi."

#: admin/class-shieldforge-dashboard-widget.php:181
msgid ""
"You do not have 2FA enabled. Set it up on your profile — single biggest "
"defense against password attacks."
msgstr ""

#. translators: 1: admin username, 2: hit count
#: admin/class-shieldforge-dashboard-widget.php:197
#, php-format
msgid ""
"Your own admin username \"%1$s\" is being targeted (%2$d attempts in 24h)."
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:214
msgid "BF"
msgstr "BF"

#: admin/class-shieldforge-dashboard-widget.php:216
msgid "Brute-force protection (IP-based)"
msgstr "Protezione contro la forza bruta (basata su IP)"

#: admin/class-shieldforge-dashboard-widget.php:219
msgid "Account-lock"
msgstr "Blocco account"

#: admin/class-shieldforge-dashboard-widget.php:221
msgid "Account-based lockout"
msgstr "Blocco a livello di account"

#: admin/class-shieldforge-dashboard-widget.php:226
msgid "Hardening (XML-RPC, version, REST, headers)"
msgstr "Hardening (XML-RPC, versione, REST, header)"

#: admin/class-shieldforge-dashboard-widget.php:229
msgid "Anomaly"
msgstr "Anomalia"

#: admin/class-shieldforge-dashboard-widget.php:231
#: admin/views/page-anomaly.php:65
msgid "Anomaly detection"
msgstr "Rilevamento anomalie"

#: admin/class-shieldforge-dashboard-widget.php:236
msgid "File-integrity + malware-pattern scanner"
msgstr "Scanner integrità file + pattern malware"

#: admin/class-shieldforge-dashboard-widget.php:241
msgid "Two-factor authentication module"
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:244
msgid "Vuln-DB"
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:246
msgid "Plugin/theme/core vulnerability scanner"
msgstr "Scanner delle vulnerabilità di plugin/temi/core"

#: admin/class-shieldforge-dashboard-widget.php:249
msgid "Anonymize"
msgstr "Anonimizza"

#: admin/class-shieldforge-dashboard-widget.php:251
#: includes/class-shieldforge-sanity.php:221
#: includes/class-shieldforge-tools.php:104
msgid "IP anonymization (GDPR)"
msgstr "Anonimizzazione IP (GDPR)"

#: admin/class-shieldforge-dashboard-widget.php:254
msgid "Digest"
msgstr "Riepilogo"

#: admin/class-shieldforge-dashboard-widget.php:256
#: includes/class-shieldforge-sanity.php:37
msgid "Daily digest e-mail"
msgstr "Email di riepilogo giornaliero"

#: admin/class-shieldforge-dashboard-widget.php:276
msgid "Calm"
msgstr "Calmo"

#: admin/class-shieldforge-dashboard-widget.php:277
msgid "Elevated"
msgstr "Elevato"

#: admin/class-shieldforge-dashboard-widget.php:278
msgid "High"
msgstr "Alto"

#: admin/class-shieldforge-dashboard-widget.php:279
msgid "Critical"
msgstr "Critico"

#. translators: 1: anomalies in 24h, 2: distinct attacker IPs in 24h
#: admin/class-shieldforge-dashboard-widget.php:297
#, php-format
msgid "%1$d anomalies · %2$d distinct attackers (24h)"
msgstr "%1$d anomalie · %2$d attaccanti distinti (24h)"

#: admin/class-shieldforge-dashboard-widget.php:308
msgid "Action items"
msgstr "Azioni da intraprendere"

#: admin/class-shieldforge-dashboard-widget.php:321
msgid "Logins"
msgstr "Accessi"

#: admin/class-shieldforge-dashboard-widget.php:325
msgid "Failed"
msgstr "Falliti"

#: admin/class-shieldforge-dashboard-widget.php:329
#: admin/views/page-multisite.php:42 admin/views/page-multisite.php:58
msgid "Lockouts"
msgstr "Lockout"

#: admin/class-shieldforge-dashboard-widget.php:333
msgid "Probes"
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:349
msgid "Top attackers (24h)"
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:362
msgid "Targeted users (24h)"
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:377
msgid "Recent events"
msgstr ""

#: admin/class-shieldforge-dashboard-widget.php:397
msgid "Open Brainwerk Security Suite"
msgstr "Apri Brainwerk Security Suite"

#: admin/views/page-anomaly.php:15
msgid "Baseline cleared."
msgstr "Baseline azzerata."

#. translators: 1: anomalies in 24h, 2: top attacker IP or "none"
#: admin/views/page-anomaly.php:54
#, php-format
msgid "%1$d anomalous logins in the last 24h. Top attacker IP: %2$s"
msgstr ""
"%1$d accessi anomali nelle ultime 24 ore. IP attaccante principale: %2$s"

#: admin/views/page-anomaly.php:56
msgid "none"
msgstr ""

#: admin/views/page-anomaly.php:65
msgid "beta"
msgstr ""

#: admin/views/page-anomaly.php:67
msgid ""
"A lightweight, explainable Z-score model that flags logins outside a user's "
"normal pattern (hour of day, IP family, user-agent class)."
msgstr ""
"Un modello Z-score leggero e spiegabile che segnala gli accessi fuori dal "
"pattern abituale di un utente (ora del giorno, famiglia di IP, classe di "
"user-agent)."

#: admin/views/page-anomaly.php:79
msgid "Enable"
msgstr "Attiva"

#: admin/views/page-anomaly.php:83
msgid "Record baselines on every successful login."
msgstr ""

#: admin/views/page-anomaly.php:88
msgid "Alert threshold"
msgstr "Soglia di avviso"

#: admin/views/page-anomaly.php:91
msgid "Score 0–100. Above this value, the event is logged as severity HIGH."
msgstr ""

#: admin/views/page-anomaly.php:95
msgid "Block threshold (future)"
msgstr "Soglia di blocco (futura)"

#: admin/views/page-anomaly.php:98
msgid "Reserved for a later release. Currently informational only."
msgstr ""

#: admin/views/page-anomaly.php:104 admin/views/page-audit.php:290
#: admin/views/page-hardening-plus.php:68
#: admin/views/page-hardening-plus.php:116
#: admin/views/page-hardening-plus.php:163
#: admin/views/page-hardening-plus.php:245 admin/views/page-scanner.php:303
#: admin/views/page-scanner.php:339 admin/views/page-threat-network.php:997
#: admin/views/page-threat-network.php:1045 admin/views/page-twofactor.php:111
#: admin/views/page-vulnerabilities.php:243
msgid "Save"
msgstr ""

#: admin/views/page-anomaly.php:110
msgid "Baseline status"
msgstr "Stato della baseline"

#: admin/views/page-anomaly.php:114
#, php-format
msgid "%1$s baseline record across %2$s user."
msgid_plural "%1$s baseline records across %2$s users."
msgstr[0] "%1$s record di baseline per %2$s utente."
msgstr[1] "%1$s record di baseline su %2$s utenti."

#: admin/views/page-anomaly.php:119
msgid "scoring becomes meaningful after ~5 logins per user."
msgstr ""

#: admin/views/page-anomaly.php:126 admin/views/page-anomaly.php:171
#: admin/views/page-logs.php:74 admin/views/page-twofactor.php:124
#: includes/class-shieldforge-admin-intros.php:215
msgid "User"
msgstr ""

#: admin/views/page-anomaly.php:127
msgid "Tracked metrics"
msgstr ""

#: admin/views/page-anomaly.php:128
msgid "Total samples"
msgstr ""

#: admin/views/page-anomaly.php:129
msgid "Last update (UTC)"
msgstr "Ultimo aggiornamento (UTC)"

#: admin/views/page-anomaly.php:149
msgid ""
"Clear all baseline data? Users will need to log in a few times before "
"scoring is meaningful again."
msgstr ""
"Azzerare tutti i dati di baseline? Gli utenti dovranno effettuare alcuni "
"accessi prima che il punteggio torni significativo."

#: admin/views/page-anomaly.php:152
msgid "Reset baseline"
msgstr ""

#: admin/views/page-anomaly.php:158
msgid "Recent anomalies"
msgstr ""

#: admin/views/page-anomaly.php:161
msgid ""
"No anomalous logins yet. Once a user has at least 5 successful logins, "
"future logins outside their normal pattern will appear here."
msgstr ""
"Nessun accesso anomalo finora. Quando un utente ha almeno 5 accessi "
"riusciti, i futuri accessi fuori dal suo pattern normale appariranno qui."

#: admin/views/page-anomaly.php:165
msgid ""
"Score is the maximum across all tracked metrics. The \"top metric\" column "
"shows which signal drove the score, with observed value vs. baseline mean ± "
"stddev."
msgstr ""

#: admin/views/page-anomaly.php:170 admin/views/page-logs.php:70
#: admin/views/page-threat-network.php:1069
msgid "When (UTC)"
msgstr ""

#: admin/views/page-anomaly.php:172 admin/views/page-audit.php:197
#: admin/views/page-dashboard.php:191 admin/views/page-dashboard.php:233
#: admin/views/page-firewall.php:43 admin/views/page-logs.php:47
#: admin/views/page-logs.php:73 admin/views/page-modules.php:73
#: admin/views/page-modules.php:158
#: includes/class-shieldforge-admin-intros.php:112
#: includes/class-shieldforge-admin-intros.php:195
#: includes/class-shieldforge-admin-intros.php:214
msgid "IP"
msgstr "IP"

#: admin/views/page-anomaly.php:173
msgid "Score"
msgstr ""

#: admin/views/page-anomaly.php:174
msgid "Top metric"
msgstr ""

#: admin/views/page-anomaly.php:175
msgid "Observed vs. baseline"
msgstr "Osservato vs. baseline"

#: admin/views/page-anomaly.php:228
msgid "Upgrade anomaly detection in Pro"
msgstr ""

#: admin/views/page-anomaly.php:229
msgid ""
"The free build flags outliers using fixed Z-score thresholds. Pro adds per-"
"user adaptive thresholds, geo-velocity (\"impossible travel\"), and step-up "
"auth challenges instead of just logging."
msgstr ""

#: admin/views/page-anomaly.php:231
msgid "Per-user adaptive thresholds"
msgstr "Soglie adattive per utente"

#: admin/views/page-anomaly.php:232
msgid "Geo-velocity / impossible-travel detection"
msgstr "Rilevamento geo-velocità / viaggi impossibili"

#: admin/views/page-anomaly.php:233
msgid "Step-up challenge (2FA prompt) on suspicious logins"
msgstr ""

#: admin/views/page-audit.php:31
msgid "Logout"
msgstr "Logout"

#: admin/views/page-audit.php:32
msgid "Post updated"
msgstr "Articolo aggiornato"

#: admin/views/page-audit.php:33
msgid "Post trashed"
msgstr "Articolo cestinato"

#: admin/views/page-audit.php:34
msgid "Post deleted"
msgstr "Articolo eliminato"

#: admin/views/page-audit.php:35
msgid "User registered"
msgstr ""

#: admin/views/page-audit.php:36
msgid "User deleted"
msgstr ""

#: admin/views/page-audit.php:37
msgid "User profile updated"
msgstr ""

#: admin/views/page-audit.php:38
msgid "Role changed"
msgstr ""

#: admin/views/page-audit.php:39
msgid "Admin created"
msgstr "Amministratore creato"

#: admin/views/page-audit.php:40
msgid "Plugin activated"
msgstr "Plugin attivato"

#: admin/views/page-audit.php:41
msgid "Plugin deactivated"
msgstr "Plugin disattivato"

#: admin/views/page-audit.php:42
msgid "Plugin updated"
msgstr "Plugin aggiornato"

#: admin/views/page-audit.php:43
msgid "Theme switched"
msgstr ""

#: admin/views/page-audit.php:44
msgid "Theme updated"
msgstr ""

#: admin/views/page-audit.php:45
msgid "Core updated"
msgstr "Core aggiornato"

#: admin/views/page-audit.php:46
msgid "Option changed"
msgstr "Opzione modificata"

#: admin/views/page-audit.php:73
msgid "fields: "
msgstr ""

#: admin/views/page-audit.php:94
msgid "WordPress"
msgstr ""

#: admin/views/page-audit.php:130
msgid "system / cron"
msgstr ""

#: admin/views/page-audit.php:141
msgid "Audit trail"
msgstr "Registro di audit"

#: admin/views/page-audit.php:143
msgid ""
"Who changed what, when. Covers post edits, user changes, plugin/theme/core "
"updates, and security-sensitive option changes. Useful for incident response "
"and DSGVO Art. 32 compliance."
msgstr ""

#: admin/views/page-audit.php:155
msgid "(last 7 days)"
msgstr "(ultimi 7 giorni)"

#: admin/views/page-audit.php:161
msgid "Recent audit events"
msgstr ""

#: admin/views/page-audit.php:167
msgid "Filter by type:"
msgstr "Filtra per tipo:"

#: admin/views/page-audit.php:169
msgid "All audit events"
msgstr "Tutti gli eventi di audit"

#: admin/views/page-audit.php:178
msgid "clear"
msgstr ""

#: admin/views/page-audit.php:185
msgid "No audit events yet."
msgstr "Nessun evento di audit finora."

#: admin/views/page-audit.php:186
msgid ""
"The audit trail starts recording from now. Edit a post, change a setting, "
"deactivate a plugin — anything you do shows up here. Useful for \"who "
"changed what when\" investigations."
msgstr ""

#: admin/views/page-audit.php:187
msgid "Edit my profile (test it)"
msgstr "Modifica il mio profilo (provalo)"

#: admin/views/page-audit.php:193 admin/views/page-scanner.php:190
#: includes/class-shieldforge-admin-intros.php:135
#: includes/class-shieldforge-admin-intros.php:191
#: includes/class-shieldforge-admin-intros.php:211
msgid "When"
msgstr ""

#: admin/views/page-audit.php:194
#: includes/class-shieldforge-admin-intros.php:192
msgid "Who"
msgstr ""

#: admin/views/page-audit.php:195 admin/views/page-logs.php:76
#: admin/views/page-scanner.php:371 admin/views/page-tools.php:111
#: includes/class-shieldforge-admin-intros.php:115
#: includes/class-shieldforge-admin-intros.php:193
msgid "Action"
msgstr "Azione"

#: admin/views/page-audit.php:196
#: includes/class-shieldforge-admin-intros.php:194
msgid "What"
msgstr ""

#: admin/views/page-audit.php:217
msgid "Previous"
msgstr "Indietro"

#: admin/views/page-audit.php:220
msgid "Next"
msgstr "Avanti"

#. translators: %d: page number
#: admin/views/page-audit.php:224
#, php-format
msgid "Page %d"
msgstr "Pagina %d"

#: admin/views/page-audit.php:231
msgid "Audit settings"
msgstr "Impostazioni audit"

#: admin/views/page-audit.php:243
msgid "Enable audit log"
msgstr "Attiva il log di audit"

#: admin/views/page-audit.php:247
msgid "Master toggle. Off = no audit hooks register at all (zero overhead)."
msgstr ""
"Interruttore principale. Disattivato = nessun hook di audit viene registrato "
"(zero overhead)."

#: admin/views/page-audit.php:252
msgid "Track post changes"
msgstr ""

#: admin/views/page-audit.php:256
msgid ""
"post_updated, wp_trash_post, before_delete_post (skips revisions, auto-"
"drafts, nav-menu-items)"
msgstr ""

#: admin/views/page-audit.php:261
msgid "Track user changes"
msgstr ""

#: admin/views/page-audit.php:265
msgid "profile_update, deleted_user (logouts always logged)"
msgstr ""

#: admin/views/page-audit.php:270
msgid "Track option changes"
msgstr ""

#: admin/views/page-audit.php:274
msgid ""
"Whitelist of security-sensitive keys: siteurl, home, admin_email, "
"users_can_register, default_role, blogname, registration (network), "
"site_admins (network)."
msgstr ""

#: admin/views/page-audit.php:279
msgid "Track updates"
msgstr ""

#: admin/views/page-audit.php:283
msgid "Plugin / theme / core updates via the WordPress updater."
msgstr "Aggiornamenti di plugin / temi / core tramite l'updater di WordPress."

#: admin/views/page-dashboard.php:29
msgid "All systems calm"
msgstr "Tutto tranquillo"

#: admin/views/page-dashboard.php:30
msgid "Slightly elevated activity"
msgstr ""

#: admin/views/page-dashboard.php:31
msgid "High threat level — review now"
msgstr "Livello di minaccia alto — controlla subito"

#: admin/views/page-dashboard.php:32
msgid "CRITICAL — investigate immediately"
msgstr "CRITICO — indaga immediatamente"

#: admin/views/page-dashboard.php:77
msgid "Login Logging"
msgstr "Registrazione dei login"

#: admin/views/page-dashboard.php:78 admin/views/page-login.php:36
msgid "Brute-Force Protection"
msgstr "Protezione contro la forza bruta"

#: admin/views/page-dashboard.php:80
msgid "404 Probing Tracking"
msgstr "Tracciamento dei probe 404"

#: admin/views/page-dashboard.php:81
msgid "Email Notifications"
msgstr "Notifiche email"

#: admin/views/page-dashboard.php:82
msgid "Daily Digest"
msgstr "Riepilogo giornaliero"

#: admin/views/page-dashboard.php:83
msgid "IP Anonymization (GDPR)"
msgstr "Anonimizzazione IP (GDPR)"

#: admin/views/page-dashboard.php:84
msgid "Anomaly Detection"
msgstr "Rilevamento anomalie"

#: admin/views/page-dashboard.php:95
msgid "/ 100"
msgstr "/ 100"

#. translators: 1: failed-login count 24h, 2: lockouts, 3: distinct-attacker-IPs
#: admin/views/page-dashboard.php:106
#, php-format
msgid ""
"Last 24h: %1$d failed logins, %2$d lockouts, %3$d distinct attacker IPs."
msgstr ""
"Ultime 24h: %1$d accessi falliti, %2$d lockout, %3$d IP attaccanti distinti."

#. translators: %d: action item count
#: admin/views/page-dashboard.php:122
#, php-format
msgid "%d thing needs your attention"
msgid_plural "%d things need your attention"
msgstr[0] "%d elemento richiede la tua attenzione"
msgstr[1] "%d elementi richiedono la tua attenzione"

#: admin/views/page-dashboard.php:138
msgid ""
"✓ No outstanding action items. Everything that should be on is on, and no "
"recent activity is noisy enough to act on."
msgstr ""

#: admin/views/page-dashboard.php:146
msgid "Last 24 hours"
msgstr "Ultime 24 ore"

#: admin/views/page-dashboard.php:150
msgid "Successful logins"
msgstr ""

#: admin/views/page-dashboard.php:154 admin/views/page-multisite.php:41
#: admin/views/page-multisite.php:57
msgid "Failed logins"
msgstr "Accessi falliti"

#: admin/views/page-dashboard.php:161
msgid "Lockouts triggered"
msgstr "Lockout attivati"

#: admin/views/page-dashboard.php:165
msgid "Probing 404s"
msgstr ""

#: admin/views/page-dashboard.php:171
msgid "Module status"
msgstr "Stato dei moduli"

#: admin/views/page-dashboard.php:176
msgid "On"
msgstr "Attivo"

#: admin/views/page-dashboard.php:176 admin/views/page-threat-network.php:911
msgid "Off"
msgstr "Disattivato"

#: admin/views/page-dashboard.php:185
msgid "Top attacker IPs (24h)"
msgstr ""

#: admin/views/page-dashboard.php:187
msgid "Quiet day — nothing to flag."
msgstr ""

#: admin/views/page-dashboard.php:192
msgid "Hits"
msgstr "Hit"

#: admin/views/page-dashboard.php:207
msgid "Plugin language"
msgstr "Lingua del plugin"

#: admin/views/page-dashboard.php:209
msgid ""
"Language of the Brainwerk Security Suite admin pages. \"WordPress default\" "
"follows your site / profile language; picking a language overrides it for "
"this plugin only."
msgstr ""
"Lingua delle pagine di amministrazione di Brainwerk Security Suite. "
"\"Predefinita di WordPress\" segue la lingua del sito / del profilo; "
"scegliere una lingua la sovrascrive solo per questo plugin."

#: admin/views/page-dashboard.php:222
msgid "Apply"
msgstr "Applica"

#: admin/views/page-dashboard.php:227 admin/views/page-firewall.php:31
msgid "Active blocks"
msgstr "Blocchi attivi"

#: admin/views/page-dashboard.php:229
msgid "No IPs are currently blocked."
msgstr "Nessun IP è attualmente bloccato."

#: admin/views/page-dashboard.php:234 admin/views/page-firewall.php:44
#: admin/views/page-firewall.php:82
#: includes/class-shieldforge-admin-intros.php:113
msgid "Reason"
msgstr ""

#: admin/views/page-dashboard.php:235
msgid "Until"
msgstr ""

#: admin/views/page-firewall.php:20
#, php-format
msgid "IP %s blocked for %d minutes."
msgstr "IP %s bloccato per %d minuti."

#: admin/views/page-firewall.php:35
msgid "No active IP blocks."
msgstr "Nessun blocco IP attivo."

#: admin/views/page-firewall.php:36
msgid ""
"Either nobody has tripped your brute-force threshold, or every block has "
"expired. The Logs tab shows historic blocks with one-click \"Block this IP "
"again\" actions if you need them."
msgstr ""
"O nessuno ha superato la tua soglia anti forza bruta, oppure tutti i blocchi "
"sono scaduti. La scheda Log mostra i blocchi storici con azioni \"Blocca di "
"nuovo questo IP\" con un clic, se ti servono."

#: admin/views/page-firewall.php:37
msgid "Open Logs"
msgstr "Apri i log"

#: admin/views/page-firewall.php:45
msgid "Until (UTC)"
msgstr ""

#: admin/views/page-firewall.php:46 admin/views/page-scanner.php:194
#: includes/class-shieldforge-admin-intros.php:139
#: includes/class-shieldforge-admin-intros.php:217
msgid "Actions"
msgstr "Azioni"

#: admin/views/page-firewall.php:57
msgid "Unblock"
msgstr ""

#: admin/views/page-firewall.php:68
msgid "Add manual block"
msgstr "Aggiungi blocco manuale"

#: admin/views/page-firewall.php:74
msgid "IP address"
msgstr "Indirizzo IP"

#: admin/views/page-firewall.php:78
msgid "Minutes"
msgstr "Minuti"

#: admin/views/page-firewall.php:87
msgid "Block IP"
msgstr "Blocca IP"

#: admin/views/page-firewall.php:93
msgid "Crawler & traffic rate limiting"
msgstr "Limitazione del traffico e dei crawler"

#: admin/views/page-firewall.php:95
msgid ""
"Throttles anonymous clients that exceed a requests-per-minute budget (HTTP "
"429; repeated offenders are banned). Genuine search engines (Google, Bing, "
"Apple, Yandex, Baidu) are verified via reverse DNS and never throttled — "
"clients faking a search-engine identity can be blocked outright. Logged-in "
"users and whitelisted IPs are always exempt."
msgstr ""

#: admin/views/page-firewall.php:105
msgid "Enable rate limiting"
msgstr "Attiva la limitazione delle richieste"

#: admin/views/page-firewall.php:109
msgid ""
"Count anonymous front-end requests per IP and throttle clients above the "
"limits"
msgstr ""
"Conta le richieste front-end anonime per IP e rallenta i client oltre i "
"limiti"

#: admin/views/page-firewall.php:111
msgid ""
"Counters live in short-lived transients keyed by an IP hash — no plain-text "
"IPs, no extra tables. On high-traffic sites a persistent object cache is "
"recommended."
msgstr ""
"I contatori vivono in transient di breve durata indicizzati da un hash "
"dell'IP — niente IP in chiaro, nessuna tabella extra. Sui siti ad alto "
"traffico è consigliata una object cache persistente."

#: admin/views/page-firewall.php:115
msgid "Limit for visitors (requests/min)"
msgstr "Limite per i visitatori (richieste/min)"

#: admin/views/page-firewall.php:118
msgid ""
"A human barely exceeds 60 page views per minute; 240 leaves generous "
"headroom for prefetching and asset-generating plugins."
msgstr ""
"Un essere umano supera a malapena 60 visualizzazioni di pagina al minuto; "
"240 lascia ampio margine per il prefetch e per i plugin che generano asset."

#: admin/views/page-firewall.php:122
msgid "Limit for crawlers (requests/min)"
msgstr "Limite per i crawler (richieste/min)"

#: admin/views/page-firewall.php:125
msgid ""
"Applies to clients whose user agent identifies as a bot/crawler/script. "
"Verified search engines are exempt."
msgstr ""
"Si applica ai client il cui user agent si identifica come bot/crawler/"
"script. I motori di ricerca verificati sono esenti."

#: admin/views/page-firewall.php:129
msgid "Ban duration (minutes)"
msgstr "Durata del ban (minuti)"

#: admin/views/page-firewall.php:132
msgid ""
"Applied after 3 limit violations within 15 minutes. The ban also appears "
"under \"Active blocks\" above."
msgstr ""
"Applicato dopo 3 violazioni del limite entro 15 minuti. Il ban compare anche "
"sotto \"Blocchi attivi\" qui sopra."

#: admin/views/page-firewall.php:136
msgid "Search-engine verification"
msgstr ""

#: admin/views/page-firewall.php:140
msgid ""
"Verify claimed search-engine crawlers via reverse DNS (result cached for a "
"week)"
msgstr ""

#: admin/views/page-firewall.php:145
msgid "Block clients that fake a search-engine identity (403 + IP block)"
msgstr ""
"Blocca i client che fingono un'identità da motore di ricerca (403 + blocco "
"IP)"

#: admin/views/page-firewall.php:151
msgid "Save rate limiting"
msgstr ""

#: admin/views/page-firewall.php:157
msgid "Whitelist (CIDR or single IP, one per line)"
msgstr ""

#: admin/views/page-firewall.php:166
msgid "Save whitelist"
msgstr ""

#: admin/views/page-hardening-plus.php:38
msgid "\"Secured by\" footer badge"
msgstr "Badge \"Secured by\" nel footer"

#: admin/views/page-hardening-plus.php:40
msgid ""
"Shows a small trust badge in your site footer that signals visitors the site "
"is protected. Off by default — turn it on if you want to display it."
msgstr ""

#: admin/views/page-hardening-plus.php:48
msgid "Show footer badge"
msgstr ""

#: admin/views/page-hardening-plus.php:52
msgid "Display the badge in the front-end footer"
msgstr "Mostra il badge nel footer del front-end"

#: admin/views/page-hardening-plus.php:55
#: admin/views/page-hardening-plus.php:110
msgid "Preview:"
msgstr "Anteprima:"

#. translators: %s: product/brand name, e.g. "Brainwerk Security Suite"
#: admin/views/page-hardening-plus.php:59
#: includes/class-shieldforge-badge.php:48
#, php-format
msgid "Secured by %s"
msgstr ""

#: admin/views/page-hardening-plus.php:62
msgid ""
"The badge links to brainwerk.at and shows \"… Pro\" automatically on Pro "
"installs. With Pro whitelabel active, the brand name follows your custom "
"brand."
msgstr ""

#: admin/views/page-hardening-plus.php:74
#: includes/class-shieldforge-admin-intros.php:89
msgid "Custom login URL"
msgstr "URL di login personalizzato"

#: admin/views/page-hardening-plus.php:76
msgid ""
"Rewrite wp-login.php to a custom path. Cuts ~90% of brute-force bot traffic "
"at the door — they all hit /wp-login.php blindly. Direct access to /wp-login."
"php returns a 404 instead."
msgstr ""

#: admin/views/page-hardening-plus.php:79
msgid "Lockout-recovery:"
msgstr "Recupero dal blocco:"

#: admin/views/page-hardening-plus.php:80
msgid ""
"If you forget your slug, add this to wp-config.php and visit /wp-login.php?"
"shieldforge_rescue=YOUR_TOKEN to bypass:"
msgstr ""
"Se dimentichi il tuo slug, aggiungi questo a wp-config.php e visita /wp-"
"login.php?shieldforge_rescue=YOUR_TOKEN per bypassare:"

#: admin/views/page-hardening-plus.php:92
msgid "Enable custom login URL"
msgstr "Attiva l'URL di login personalizzato"

#: admin/views/page-hardening-plus.php:96
msgid "Off by default — set the slug below first, then enable."
msgstr ""
"Disattivato per impostazione predefinita — imposta prima lo slug qui sotto, "
"poi attiva."

#: admin/views/page-hardening-plus.php:101
msgid "Slug"
msgstr ""

#: admin/views/page-hardening-plus.php:107
msgid ""
"Letters, numbers, dash, underscore. Avoid common words (admin, login, "
"secure). Example: kogi-portal, schul-zugang."
msgstr ""
"Lettere, numeri, trattino, underscore. Evita parole comuni (admin, login, "
"secure). Esempio: kogi-portal, schul-zugang."

#: admin/views/page-hardening-plus.php:122
#: includes/class-shieldforge-admin-intros.php:91
msgid "Honeypot anti-bot"
msgstr "Honeypot anti-bot"

#: admin/views/page-hardening-plus.php:124
msgid ""
"Adds a hidden field to login/register/comment forms. Bots fill every visible "
"field — submissions with the hidden field non-empty are blocked. 100% local, "
"no reCAPTCHA, no Google data transfer."
msgstr ""
"Aggiunge un campo nascosto ai moduli di login/registrazione/commento. I bot "
"compilano ogni campo visibile — gli invii con il campo nascosto non vuoto "
"vengono bloccati. 100% locale, niente reCAPTCHA, nessun trasferimento di "
"dati a Google."

#: admin/views/page-hardening-plus.php:136
msgid "Master toggle"
msgstr "Interruttore principale"

#: admin/views/page-hardening-plus.php:140
msgid "Enable honeypot anti-bot."
msgstr "Attiva l'honeypot anti-bot."

#: admin/views/page-hardening-plus.php:145
msgid "Surfaces"
msgstr ""

#: admin/views/page-hardening-plus.php:149
msgid "Login + lost-password form"
msgstr "Modulo login + password dimenticata"

#: admin/views/page-hardening-plus.php:153
msgid "Registration form"
msgstr ""

#: admin/views/page-hardening-plus.php:157
msgid "Comment form"
msgstr "Modulo dei commenti"

#: admin/views/page-hardening-plus.php:169
msgid "Security HTTP headers"
msgstr ""

#: admin/views/page-hardening-plus.php:171
msgid ""
"Per-header toggles. Each header is set only if your server (nginx/Apache) "
"doesn't already send it — we never override a stricter policy."
msgstr ""
"Interruttori per singolo header. Ogni header viene impostato solo se il tuo "
"server (nginx/Apache) non lo invia già — non sovrascriviamo mai una policy "
"più severa."

#: admin/views/page-hardening-plus.php:189
msgid "block MIME-sniff attacks"
msgstr ""

#: admin/views/page-hardening-plus.php:197
msgid "block clickjacking"
msgstr ""

#: admin/views/page-hardening-plus.php:213
msgid "disable geolocation, microphone, camera by default"
msgstr ""

#: admin/views/page-hardening-plus.php:221
msgid "force HTTPS for 1 year (HTTPS-only)"
msgstr ""

#: admin/views/page-hardening-plus.php:229
msgid "Enable CSP (off by default — wrong policy can break a site)"
msgstr ""
"Attiva la CSP (disattivata per impostazione predefinita — una policy "
"sbagliata può rompere il sito)"

#: admin/views/page-hardening-plus.php:234
msgid ""
"Report-Only mode (logs violations but does not enforce — recommended for "
"testing)"
msgstr ""

#: admin/views/page-hardening-plus.php:239
msgid ""
"Default policy is permissive enough for most WordPress + page-builder sites. "
"Tighten gradually with Report-Only mode on, watching browser-console "
"violations."
msgstr ""
"La policy predefinita è abbastanza permissiva per la maggior parte dei siti "
"WordPress + page builder. Restringila gradualmente con la modalità Report-"
"Only attiva, osservando le violazioni nella console del browser."

#: admin/views/page-hardening.php:14
msgid "Disable XML-RPC"
msgstr "Disattiva XML-RPC"

#: admin/views/page-hardening.php:15
msgid ""
"Closes a common attack surface used by amplification and brute-force bots. "
"Disable only if Jetpack/legacy app login is required."
msgstr ""
"Chiude una superficie d'attacco comune usata da bot di amplificazione e "
"forza bruta. Disattivalo solo se è necessario il login via Jetpack o app "
"legacy."

#: admin/views/page-hardening.php:18
msgid "Disable file editor in admin"
msgstr "Disattiva l'editor dei file nell'admin"

#: admin/views/page-hardening.php:19
msgid ""
"Sets DISALLOW_FILE_EDIT — prevents attackers with a stolen admin account "
"from injecting code via the theme/plugin editor."
msgstr ""

#: admin/views/page-hardening.php:22
msgid "Hide WordPress version"
msgstr "Nascondi la versione di WordPress"

#: admin/views/page-hardening.php:23
msgid ""
"Removes the generator meta tag and version from RSS to make automated CVE "
"scans harder."
msgstr ""

#: admin/views/page-hardening.php:26
msgid "Block author enumeration"
msgstr "Blocca l'enumerazione degli autori"

#: admin/views/page-hardening.php:27
msgid ""
"Stops \"?author=1\" tricks and removes /wp-json/wp/v2/users for anonymous "
"users — both leak usernames."
msgstr ""

#: admin/views/page-hardening.php:30
msgid "Send security headers"
msgstr ""

#: admin/views/page-hardening.php:31
msgid ""
"Adds X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-"
"Policy, and HSTS (when on HTTPS)."
msgstr ""
"Aggiunge X-Content-Type-Options, X-Frame-Options, Referrer-Policy, "
"Permissions-Policy e HSTS (quando il sito è in HTTPS)."

#: admin/views/page-hardening.php:34
msgid "Restrict REST API for anonymous users"
msgstr ""

#: admin/views/page-hardening.php:35
msgid ""
"Blocks anonymous access to /wp-json/wp/v2/users, which often leaks usernames."
msgstr ""
"Blocca l'accesso anonimo a /wp-json/wp/v2/users, che spesso rivela i nomi "
"utente."

#: admin/views/page-hardening.php:47
msgid "Hardening Toggles"
msgstr "Interruttori di hardening"

#: admin/views/page-hardening.php:62 admin/views/page-incident.php:50
#: admin/views/page-login.php:119 admin/views/page-notifications.php:62
#: admin/views/page-privacy.php:63
msgid "Save changes"
msgstr ""

#: admin/views/page-incident.php:20
msgid ""
"Forensische Triage, Beweissicherung, gestufter Lockdown und "
"deutschsprachiger Vorfalls-Report nach Anzeichen einer Kompromittierung. Das "
"Modul erkennt, sichert, sperrt und meldet — es bereinigt NICHT selbsttätig "
"(human-gated)."
msgstr ""
"Triage forense, conservazione delle prove, lockdown graduale e report "
"dell'incidente dopo segni di compromissione. Il modulo rileva, conserva, "
"blocca e segnala — NON ripulisce autonomamente (richiede conferma umana)."

#: admin/views/page-incident.php:23
msgid "Status:"
msgstr ""

#: admin/views/page-incident.php:24
msgid ""
"Modul-Gerüst aktiv (Phase 0). Automatische Auslöser, Engine und Lockdown "
"folgen in den nächsten Phasen."
msgstr ""
"Struttura del modulo attiva (fase 0). Trigger automatici, engine e lockdown "
"arriveranno nelle prossime fasi."

#: admin/views/page-incident.php:27
msgid "Offene Vorfälle:"
msgstr "Incidenti aperti:"

#: admin/views/page-incident.php:40
msgid "Automatische Reaktion"
msgstr "Reazione automatica"

#: admin/views/page-incident.php:43
msgid "Incident-Erkennung &amp; automatische Reaktion aktivieren"
msgstr "Attiva rilevamento incidenti &amp; reazione automatica"

#: admin/views/page-incident.php:46
msgid ""
"Default AUS. Wenn aktiviert, korreliert ShieldForge Kompromittierungs-"
"Indikatoren und kann (in späteren Phasen) gestuft in einen gesicherten "
"Zustand fallen — immer mit garantiertem Recovery-Pfad. Der manuelle Audit "
"unten funktioniert unabhängig von dieser Einstellung."
msgstr ""
"Disattivato per impostazione predefinita. Se attivato, ShieldForge correla "
"gli indicatori di compromissione e può (in fasi successive) passare "
"gradualmente a uno stato protetto — sempre con un percorso di ripristino "
"garantito. L'audit manuale qui sotto funziona indipendentemente da questa "
"impostazione."

#: admin/views/page-incident.php:54
msgid "Manueller Notfall-Audit"
msgstr "Audit di emergenza manuale"

#: admin/views/page-incident.php:56
msgid ""
"Startet eine read-only forensische Triage der Instanz (Datei-/DB-Integrität, "
"Persistenz-Orte, Korrelation mit den Angriffs-Logs). In Phase 0 ist dies ein "
"Gerüst-Button — es wird nichts gescannt oder verändert."
msgstr ""

#: admin/views/page-incident.php:63
msgid "Notfall-Audit starten"
msgstr "Avvia audit di emergenza"

#: admin/views/page-incident.php:69
msgid "Vorfälle"
msgstr ""

#: admin/views/page-incident.php:71
msgid "Keine Vorfälle erfasst."
msgstr "Nessun incidente registrato."

#: admin/views/page-incident.php:76 admin/views/page-modules.php:73
#: admin/views/page-modules.php:158
msgid "Zeit"
msgstr ""

#: admin/views/page-incident.php:77
msgid "Konfidenz"
msgstr "Confidenza"

#: admin/views/page-incident.php:78 admin/views/page-modules.php:73
#: admin/views/page-tools.php:55 admin/views/page-twofactor.php:125
msgid "Status"
msgstr ""

#: admin/views/page-incident.php:79
msgid "Auslöser"
msgstr "Trigger"

#: admin/views/page-incident.php:80
msgid "Zusammenfassung"
msgstr ""

#: admin/views/page-license.php:26 admin/views/partials/upgrade-hint.php:28
msgid "Pro"
msgstr ""

#: admin/views/page-license.php:28
msgid "Free"
msgstr "Gratuito"

#: admin/views/page-license.php:34
msgid "SHIELDFORGE_FORCE_PRO override is active."
msgstr ""

#: admin/views/page-license.php:35
msgid ""
"Pro features are unlocked locally without a license check. Remove the "
"constant from wp-config.php to switch back to the standard licensing flow."
msgstr ""

#: admin/views/page-license.php:39
msgid "Brainwerk Security Suite Pro is active on this site."
msgstr "Brainwerk Security Suite Pro è attivo su questo sito."

#: admin/views/page-license.php:42
#, php-format
msgid "Manage your subscription and download future updates at %s."
msgstr "Gestisci il tuo abbonamento e scarica i futuri aggiornamenti su %s."

#: admin/views/page-license.php:49
msgid ""
"Brainwerk Security Suite is fully functional on the free tier. Upgrade to "
"Pro to unlock 2FA-Passkeys, Geo-Blocking, Cloud Threat Intel, multisite "
"aggregate dashboards, AI-assisted incident analysis (BYOK or self-hosted), "
"Slack/Discord/Telegram/Teams notifications, and white-label mode."
msgstr ""
"Brainwerk Security Suite è pienamente funzionante nella versione gratuita. "
"Passa a Pro per sbloccare Passkey 2FA, geo-blocking, Cloud Threat Intel, "
"dashboard aggregate multisite, analisi degli incidenti assistita da IA (BYOK "
"o self-hosted), notifiche Slack/Discord/Telegram/Teams e modalità white-"
"label."

#: admin/views/page-license.php:53
msgid "View Pro plans →"
msgstr ""

#: admin/views/page-license.php:56
msgid "Documentation"
msgstr "Documentazione"

#: admin/views/page-license.php:60
msgid ""
"After purchase you will receive the Brainwerk Security Suite Pro plugin (."
"zip) plus a license key. Install the Pro plugin alongside this free one — "
"activation happens inside the Pro plugin."
msgstr ""
"Dopo l'acquisto riceverai il plugin Brainwerk Security Suite Pro (.zip) più "
"una chiave di licenza. Installa il plugin Pro accanto a questo gratuito — "
"l'attivazione avviene all'interno del plugin Pro."

#: admin/views/page-license.php:66
msgid "Pro features"
msgstr ""

#: admin/views/page-license.php:68
msgid "WebAuthn / Passkeys"
msgstr ""

#: admin/views/page-license.php:68
msgid ""
"phishing-resistant login with hardware keys, Face ID, Touch ID, Windows "
"Hello."
msgstr ""

#: admin/views/page-license.php:69
msgid "Geo-IP blocking"
msgstr "Blocco Geo-IP"

#: admin/views/page-license.php:69
msgid "country allow/deny lists on login, register, comment, REST."
msgstr ""

#: admin/views/page-license.php:70
msgid "Cloud Threat Intel"
msgstr "Cloud Threat Intel"

#: admin/views/page-license.php:70
msgid "Spamhaus DROP synced daily, EU-hosted relay."
msgstr ""

#: admin/views/page-license.php:71
msgid "AI Backend (BYOK or self-hosted)"
msgstr "Backend IA (BYOK o self-hosted)"

#: admin/views/page-license.php:71
msgid ""
"Mistral (EU) or local Ollama analyse flagged security events on demand. No "
"data leaves your stack unless you opt in."
msgstr ""
"Mistral (UE) o Ollama locale analizzano su richiesta gli eventi di sicurezza "
"segnalati. Nessun dato lascia il tuo stack senza il tuo consenso esplicito."

#: admin/views/page-license.php:72
msgid "Slack / Discord / Telegram / Teams"
msgstr ""

#: admin/views/page-license.php:72
msgid "real-time channel notifications for incidents and digest reports."
msgstr ""

#: admin/views/page-license.php:73
msgid "Multisite aggregate dashboard"
msgstr "Dashboard aggregata multisite"

#: admin/views/page-license.php:73
msgid ""
"cross-site attacker view, per-site threat scores, network-wide 2FA coverage."
msgstr ""

#: admin/views/page-license.php:74
msgid "White-label mode"
msgstr ""

#: admin/views/page-license.php:74
msgid "rebrand the plugin in admin for client installs."
msgstr ""

#: admin/views/page-login.php:26
msgid "Login Activity Logging"
msgstr "Registrazione delle attività di login"

#: admin/views/page-login.php:30
msgid "Log every login attempt (success and failure)"
msgstr "Registra ogni tentativo di accesso (riuscito e fallito)"

#: admin/views/page-login.php:32
msgid ""
"Stored in the database, respects the IP-anonymization setting under Privacy."
msgstr ""

#: admin/views/page-login.php:40
msgid "Block IPs after too many failed logins"
msgstr "Blocca gli IP dopo troppi accessi falliti"

#: admin/views/page-login.php:45
msgid "Failure threshold"
msgstr "Soglia di fallimenti"

#: admin/views/page-login.php:50
msgid "Number of failed logins from the same IP that triggers a block."
msgstr "Numero di accessi falliti dallo stesso IP che fa scattare un blocco."

#: admin/views/page-login.php:54 admin/views/page-login.php:101
msgid "Window (minutes)"
msgstr ""

#: admin/views/page-login.php:62 admin/views/page-login.php:109
msgid "Lockout duration (minutes)"
msgstr "Durata del blocco (minuti)"

#: admin/views/page-login.php:70
msgid "IP whitelist"
msgstr "Whitelist IP"

#: admin/views/page-login.php:75
msgid "One IP or CIDR per line. These addresses are never blocked."
msgstr "Un IP o CIDR per riga. Questi indirizzi non vengono mai bloccati."

#: admin/views/page-login.php:82
msgid "Account-based Lockout"
msgstr "Blocco a livello di account"

#: admin/views/page-login.php:83
msgid ""
"IP-based protection above blocks one source. This rule blocks one ACCOUNT "
"regardless of source IP — defense against credential-stuffing botnets that "
"rotate addresses."
msgstr ""
"La protezione basata su IP qui sopra blocca una sorgente. Questa regola "
"blocca un ACCOUNT indipendentemente dall'IP di origine — difesa contro le "
"botnet di credential stuffing che ruotano gli indirizzi."

#: admin/views/page-login.php:87
msgid "Lock individual accounts after too many failed logins"
msgstr "Blocca i singoli account dopo troppi accessi falliti"

#: admin/views/page-login.php:92
msgid "Failure threshold (per account)"
msgstr "Soglia di fallimenti (per account)"

#: admin/views/page-login.php:97
msgid ""
"Total failed attempts on the same username (across all IPs) before the "
"account is locked."
msgstr ""

#: admin/views/page-logs.php:37
msgid "Event log"
msgstr "Log degli eventi"

#: admin/views/page-logs.php:43
msgid "Event type"
msgstr "Tipo di evento"

#: admin/views/page-logs.php:50
msgid "Filter"
msgstr "Filtra"

#: admin/views/page-logs.php:51
msgid "Reset"
msgstr ""

#: admin/views/page-logs.php:55
#, php-format
msgid "%1$s entries · page %2$s of %3$s"
msgstr "%1$s voci · pagina %2$s di %3$s"

#: admin/views/page-logs.php:65
msgid "No events match the current filters."
msgstr "Nessun evento corrisponde ai filtri attuali."

#: admin/views/page-logs.php:71 includes/class-shieldforge-admin-intros.php:212
msgid "Event"
msgstr "Evento"

#: admin/views/page-logs.php:72
msgid "Sev."
msgstr ""

#: admin/views/page-logs.php:75
msgid "Request"
msgstr ""

#: admin/views/page-logs.php:93
msgid "Block 60m"
msgstr "Blocca 60 min"

#: admin/views/page-logs.php:112
msgid "« Prev"
msgstr ""

#: admin/views/page-logs.php:113
msgid "Next »"
msgstr "Avanti »"

#: admin/views/page-modules.php:13
msgid "Einstellungen gespeichert."
msgstr "Impostazioni salvate."

#: admin/views/page-modules.php:17
msgid ""
"Export-Anfrage versendet — User bekommt Bestätigungsmail mit Download-Link."
msgstr ""
"Richiesta di esportazione inviata — l'utente riceve un'email di conferma con "
"il link per il download."

#: admin/views/page-modules.php:17
msgid "Lösch-Anfrage versendet — User bekommt Bestätigungsmail."
msgstr ""
"Richiesta di cancellazione inviata — l'utente riceve un'email di conferma."

#: admin/views/page-modules.php:31
msgid ""
"9 zusätzliche Module für Defense-in-Depth. Alle standardmäßig OFF. Per "
"Toggle einzeln scharf schalten."
msgstr ""

#: admin/views/page-modules.php:37
msgid "HTTP-Security-Headers"
msgstr "Header di sicurezza HTTP"

#: admin/views/page-modules.php:37 admin/views/page-modules.php:51
#: admin/views/page-modules.php:58 admin/views/page-modules.php:65
#: admin/views/page-modules.php:102 admin/views/page-modules.php:118
#: admin/views/page-modules.php:125
msgid "AN"
msgstr "ON"

#: admin/views/page-modules.php:37 admin/views/page-modules.php:51
#: admin/views/page-modules.php:58 admin/views/page-modules.php:65
#: admin/views/page-modules.php:102 admin/views/page-modules.php:118
#: admin/views/page-modules.php:125
msgid "AUS"
msgstr "OFF"

#: admin/views/page-modules.php:38
msgid ""
"Sendet OWASP-empfohlene Response-Header: X-Frame-Options, X-Content-Type-"
"Options, Referrer-Policy, Permissions-Policy, HSTS, COOP, CORP. Empfohlen: "
"alle an."
msgstr ""

#: admin/views/page-modules.php:39 admin/views/page-modules.php:60
#: admin/views/page-modules.php:67 admin/views/page-modules.php:104
msgid "Modul aktiv"
msgstr "Modulo attivo"

#: admin/views/page-modules.php:40
msgid "X-Frame-Options: SAMEORIGIN (Clickjacking-Schutz)"
msgstr ""

#: admin/views/page-modules.php:41
msgid "X-Content-Type-Options: nosniff (MIME-Sniffing)"
msgstr ""

#: admin/views/page-modules.php:42
msgid "Referrer-Policy: strict-origin-when-cross-origin"
msgstr ""

#: admin/views/page-modules.php:43
msgid "Permissions-Policy (Kamera/Mikro/GPS deny)"
msgstr "Permissions-Policy (negazione fotocamera/microfono/GPS)"

#: admin/views/page-modules.php:44
msgid "Strict-Transport-Security (nur HTTPS)"
msgstr ""

#: admin/views/page-modules.php:45
msgid "Cross-Origin-Opener-Policy: same-origin"
msgstr "Cross-Origin-Opener-Policy: same-origin"

#: admin/views/page-modules.php:46
msgid "Cross-Origin-Resource-Policy: same-site"
msgstr "Cross-Origin-Resource-Policy: same-site"

#: admin/views/page-modules.php:51
msgid "HaveIBeenPwned-Passwort-Check"
msgstr "Controllo password HaveIBeenPwned"

#: admin/views/page-modules.php:52
msgid ""
"Prüft neue Passwörter gegen ~12 Mrd. geleakte Passwörter. <strong>Privacy "
"via k-Anonymity</strong>: nur SHA1-Präfix wird gesendet — HIBP sieht NIE das "
"echte Passwort."
msgstr ""

#: admin/views/page-modules.php:53
msgid ""
"<strong>Modul aktiv</strong> — User mit kompromittiertem Passwort werden zur "
"Änderung gezwungen"
msgstr ""
"<strong>Modulo attivo</strong> — gli utenti con password compromessa saranno "
"obbligati a cambiarla"

#: admin/views/page-modules.php:58
msgid "Trusted Devices"
msgstr ""

#: admin/views/page-modules.php:59
msgid ""
"Fingerprint = SHA256(UA + IP-Subnet + Accept-Language). Bei Login von "
"<strong>neuem Gerät</strong>: Mail-Benachrichtigung an User (Account-"
"Takeover-Frühwarnung). Max 20 Devices/User."
msgstr ""
"Fingerprint = SHA256(UA + sottorete IP + Accept-Language). Al login da un "
"<strong>nuovo dispositivo</strong>: notifica email all'utente (allarme "
"precoce di account takeover). Max 20 dispositivi per utente."

#: admin/views/page-modules.php:65
msgid "Live Traffic Monitor"
msgstr "Monitor del traffico in tempo reale"

#: admin/views/page-modules.php:66
msgid ""
"Speichert letzte 1000 „interessante\" Requests (Login, POST, Admin, AJAX, "
"XML-RPC) für Forensik. Ring-Buffer — auto-cleanup."
msgstr ""

#: admin/views/page-modules.php:71
msgid "Letzte 10 Requests anzeigen"
msgstr "Mostra le ultime 10 richieste"

#: admin/views/page-modules.php:73
msgid "Method"
msgstr "Metodo"

#: admin/views/page-modules.php:73 admin/views/page-modules.php:158
msgid "Pfad"
msgstr "Percorso"

#: admin/views/page-modules.php:92
msgid "Core-File-Compare"
msgstr "Confronto file core"

#: admin/views/page-modules.php:92
msgid "aktiv (manual)"
msgstr ""

#: admin/views/page-modules.php:93
msgid ""
"Vergleicht alle WordPress-Core-Files (wp-admin/, wp-includes/) gegen das "
"offizielle MD5-Manifest von wordpress.org. Findet modifizierte / fehlende / "
"extra Files. <strong>Datenschutz</strong>: kein Upload, alles lokal."
msgstr ""

#: admin/views/page-modules.php:95
msgid "Jetzt Core-Files prüfen"
msgstr "Controlla ora i file core"

#: admin/views/page-modules.php:102
msgid "CAPTCHA (hCaptcha / Turnstile)"
msgstr "CAPTCHA (hCaptcha / Turnstile)"

#: admin/views/page-modules.php:103
msgid ""
"<strong>Privacy-First:</strong> hCaptcha (EU-friendly) ODER Cloudflare "
"Turnstile (kein Cookie) statt Google reCAPTCHA. Auf Login/Register/Lost-"
"Password."
msgstr ""
"<strong>Privacy-First:</strong> hCaptcha (rispettoso delle norme UE) OPPURE "
"Cloudflare Turnstile (senza cookie) invece di Google reCAPTCHA. Su login/"
"registrazione/password dimenticata."

#: admin/views/page-modules.php:105
msgid "Provider:"
msgstr ""

#: admin/views/page-modules.php:107
msgid "hCaptcha (Empfehlung — EU)"
msgstr ""

#: admin/views/page-modules.php:108
msgid "Cloudflare Turnstile"
msgstr "Cloudflare Turnstile"

#: admin/views/page-modules.php:111
msgid "Site-Key:"
msgstr ""

#: admin/views/page-modules.php:112
msgid "Secret-Key:"
msgstr ""

#: admin/views/page-modules.php:113
msgid ""
"Site-Key + Secret-Key holen: <a href=\"https://www.hcaptcha.com/\" "
"target=\"_blank\" rel=\"noopener\">hCaptcha.com</a> (gratis) oder <a "
"href=\"https://www.cloudflare.com/products/turnstile/\" target=\"_blank\" "
"rel=\"noopener\">Cloudflare Turnstile</a>."
msgstr ""

#: admin/views/page-modules.php:118
msgid "Magic Login Links"
msgstr "Magic login link"

#: admin/views/page-modules.php:119
msgid ""
"Passwordless Login via E-Mail. User klickt „Magic-Link\" am wp-login.php → "
"bekommt 15-Min-gültigen Single-Use-Link per Mail. Rate-Limit: 3 "
"Anforderungen/h. User-Enumeration-Schutz."
msgstr ""
"Login senza password via email. L'utente clicca \"Magic link\" su wp-login."
"php → riceve per email un link monouso valido 15 minuti. Rate limit: 3 "
"richieste/h. Protezione contro l'enumerazione degli utenti."

#: admin/views/page-modules.php:120
msgid "<strong>Modul aktiv</strong> (Mail-Versand muss funktionieren!)"
msgstr "<strong>Modulo attivo</strong> (l'invio email deve funzionare!)"

#: admin/views/page-modules.php:125
msgid "WAF — Web Application Firewall"
msgstr ""

#: admin/views/page-modules.php:126
msgid ""
"40+ kuratierte Regex-Signaturen für SQLi, XSS, LFI, RCE, SSRF, XXE, Cmdi, WP-"
"User-Enum, Scanner-UAs. Blockiert mit 403. <strong>Kann False-Positives "
"erzeugen</strong> — mit Level 1 starten, Whitelist pflegen."
msgstr ""
"Oltre 40 firme regex curate per SQLi, XSS, LFI, RCE, SSRF, XXE, Cmdi, "
"enumerazione utenti WP, user-agent di scanner. Blocca con 403. <strong>Può "
"generare falsi positivi</strong> — inizia con il livello 1 e mantieni la "
"whitelist."

#: admin/views/page-modules.php:127
msgid "WAF aktiv"
msgstr ""

#: admin/views/page-modules.php:128
msgid "Paranoia-Level:"
msgstr "Livello di paranoia:"

#: admin/views/page-modules.php:130
msgid "1 — Low (sicher, ~95 % Treffer, <0.1 % FP) ← Empfehlung"
msgstr "1 — Basso (sicuro, ~95 % di rilevamenti, <0.1 % FP) ← Consigliato"

#: admin/views/page-modules.php:131
msgid "2 — Medium (zusätzliche Heuristik)"
msgstr "2 — Medio (euristiche aggiuntive)"

#: admin/views/page-modules.php:132
msgid "3 — High (aggressiv, FP-Whitelist nötig)"
msgstr "3 — Alto (aggressivo, richiede whitelist per i FP)"

#: admin/views/page-modules.php:135
msgid "Admins (manage_options) von WAF ausnehmen"
msgstr "Escludi gli amministratori (manage_options) dal WAF"

#: admin/views/page-modules.php:136
msgid "IP bei WAF-Treffer 24h sperren (sehr aggressiv!)"
msgstr "Blocca l'IP per 24h al rilevamento WAF (molto aggressivo!)"

#: admin/views/page-modules.php:137
msgid "Pfad-Whitelist (eine Zeile pro Pfad — z. B. <code>/anmeldung/</code>):"
msgstr ""
"Whitelist dei percorsi (una riga per percorso — es. <code>/anmeldung/</"
"code>):"

#: admin/views/page-modules.php:144
msgid "WAF — letzte Blocks & False-Positive-Whitelist"
msgstr ""

#: admin/views/page-modules.php:145
msgid ""
"Hier siehst du die letzten 30 WAF-Blocks. Wenn ein eigener legitimer Pfad "
"fälschlich geblockt wurde, klicke „Whitelisten\" — der Pfad wird in "
"<code>waf_path_whitelist</code> aufgenommen und beim nächsten Aufruf nicht "
"mehr geprüft."
msgstr ""
"Qui vedi gli ultimi 30 blocchi del WAF. Se un tuo percorso legittimo è stato "
"bloccato per errore, clicca \"Whitelist\" — il percorso viene aggiunto a "
"<code>waf_path_whitelist</code> e non verrà più controllato alla prossima "
"richiesta."

#: admin/views/page-modules.php:155
msgid ""
"Keine WAF-Blocks bisher — entweder keine Angriffe oder WAF nicht lange genug "
"aktiv."
msgstr ""
"Nessun blocco WAF finora — o nessun attacco, o il WAF non è attivo da "
"abbastanza tempo."

#: admin/views/page-modules.php:158
msgid "Regel"
msgstr ""

#: admin/views/page-modules.php:158
msgid "Aktion"
msgstr "Azione"

#: admin/views/page-modules.php:173
msgid "schon whitelisted"
msgstr ""

#: admin/views/page-modules.php:179
msgid "Diesen Pfad zur WAF-Whitelist hinzufügen"
msgstr "Aggiungi questo percorso alla whitelist del WAF"

#: admin/views/page-modules.php:179
msgid "Whitelisten"
msgstr ""

#: admin/views/page-modules.php:188
msgid "Aktuelle Whitelist:"
msgstr "Whitelist attuale:"

#: admin/views/page-modules.php:195
msgid "DSGVO-Privacy-Dashboard"
msgstr "Dashboard privacy GDPR"

#: admin/views/page-modules.php:195
msgid "immer aktiv"
msgstr ""

#: admin/views/page-modules.php:196
msgid "Datenkarte + DSGVO-Art.-15-Auskunft + Art.-17-Löschung in einem Klick."
msgstr ""

#: admin/views/page-modules.php:200
msgid "Datenkarte — wo werden welche personenbezogenen Daten gespeichert?"
msgstr "Mappa dei dati — dove vengono memorizzati quali dati personali?"

#: admin/views/page-modules.php:202
msgid "Kategorie"
msgstr "Categoria"

#: admin/views/page-modules.php:202
msgid "Tabelle"
msgstr ""

#: admin/views/page-modules.php:202
msgid "Felder"
msgstr "Campi"

#: admin/views/page-modules.php:202
msgid "Zeilen"
msgstr ""

#: admin/views/page-modules.php:202
msgid "Rechtsgrundlage"
msgstr ""

#: admin/views/page-modules.php:220
msgid "DSGVO Art. 15 — Auskunft"
msgstr "GDPR art. 15 — Accesso ai dati"

#: admin/views/page-modules.php:221
msgid ""
"Schickt eine Bestätigungsmail an die angegebene Adresse. Nach Bestätigung "
"kann der User alle zu ihm gespeicherten Daten herunterladen (WP-Core-"
"Mechanik)."
msgstr ""

#: admin/views/page-modules.php:225 admin/views/page-modules.php:235
msgid "user@example.com"
msgstr ""

#: admin/views/page-modules.php:226
msgid "Anfrage starten"
msgstr "Avvia richiesta"

#: admin/views/page-modules.php:230
msgid "DSGVO Art. 17 — Löschung"
msgstr "GDPR art. 17 — Cancellazione"

#: admin/views/page-modules.php:231
msgid ""
"Startet Lösch-Workflow für alle Daten dieser E-Mail. User bekommt "
"Bestätigungsmail zur Authorisierung."
msgstr ""

#: admin/views/page-modules.php:236
msgid "Löschen starten"
msgstr "Avvia cancellazione"

#: admin/views/page-modules.php:245
msgid "Alle Modul-Einstellungen speichern"
msgstr "Salva tutte le impostazioni dei moduli"

#: admin/views/page-modules.php:256
msgid "Läuft… (kann 10-30 Sekunden dauern)"
msgstr "In esecuzione… (può richiedere 10-30 secondi)"

#: admin/views/page-modules.php:257
msgid "Fehler:"
msgstr "Errore:"

#: admin/views/page-modules.php:258
msgid "unbekannt"
msgstr ""

#: admin/views/page-modules.php:259
#, php-format
msgid "✓ Alle %d Core-Files unverändert"
msgstr ""

#: admin/views/page-modules.php:260
#, php-format
msgid "⚠ %d Auffälligkeiten:"
msgstr ""

#: admin/views/page-modules.php:261
#, php-format
msgid "%d modifizierte Files"
msgstr "%d file modificati"

#: admin/views/page-modules.php:262
#, php-format
msgid "%d fehlende Files"
msgstr "%d file mancanti"

#: admin/views/page-modules.php:263
#, php-format
msgid "%d extra Files (verdächtig!)"
msgstr "%d file extra (sospetti!)"

#: admin/views/page-multisite.php:17
msgid ""
"This installation is not a Multisite network. The Multisite features (per-"
"site stats, network-wide blocks, per-site overrides) are unavailable."
msgstr ""

#: admin/views/page-multisite.php:29
#, php-format
msgid "Override cleared for site #%d."
msgstr "Override rimosso per il sito #%d."

#: admin/views/page-multisite.php:38
msgid "Network totals (last 24 h)"
msgstr "Totali del network (ultime 24 h)"

#: admin/views/page-multisite.php:40
msgid "Sites"
msgstr ""

#: admin/views/page-multisite.php:43 admin/views/page-multisite.php:59
msgid "404 probes"
msgstr "Probe 404"

#: admin/views/page-multisite.php:48
msgid "Per-site activity"
msgstr "Attività per sito"

#: admin/views/page-multisite.php:50
msgid "No sites found."
msgstr "Nessun sito trovato."

#: admin/views/page-multisite.php:56
msgid "Site"
msgstr ""

#: admin/views/page-multisite.php:60
msgid "Override"
msgstr "Override"

#: admin/views/page-multisite.php:76
msgid "Clear override and revert to network defaults?"
msgstr ""
"Rimuovere l'override e tornare alle impostazioni predefinite del network?"

#: admin/views/page-multisite.php:80
msgid "Clear"
msgstr "Svuota"

#: admin/views/page-notifications.php:26
msgid "Email notifications"
msgstr "Notifiche email"

#: admin/views/page-notifications.php:30
msgid "Send email alerts on critical events"
msgstr ""

#: admin/views/page-notifications.php:35
msgid "Recipient"
msgstr ""

#: admin/views/page-notifications.php:42
msgid "Quiet hours"
msgstr ""

#: admin/views/page-notifications.php:47
msgid ""
"During these hours only critical alerts are sent. Daily digest is unaffected."
msgstr ""
"In queste ore vengono inviati solo gli avvisi critici. Il riepilogo "
"giornaliero non è interessato."

#: admin/views/page-notifications.php:54
#: includes/class-shieldforge-admin-intros.php:227
msgid "Daily digest"
msgstr "Riepilogo giornaliero"

#: admin/views/page-notifications.php:58
msgid "Send a daily summary email at 07:00"
msgstr ""

#: admin/views/page-privacy.php:24
msgid "Privacy controls (GDPR)"
msgstr ""

#: admin/views/page-privacy.php:29
msgid "Anonymize IP addresses in stored logs"
msgstr "Anonimizza gli indirizzi IP nei log memorizzati"

#: admin/views/page-privacy.php:31
msgid ""
"IPv4: last octet zeroed. IPv6: kept to /64. Original IPs are never written "
"when this is on."
msgstr ""
"IPv4: ultimo ottetto azzerato. IPv6: ridotto a /64. Gli IP originali non "
"vengono mai scritti quando questa opzione è attiva."

#: admin/views/page-privacy.php:36
msgid "Pseudonymize usernames in logs"
msgstr ""

#: admin/views/page-privacy.php:38
msgid ""
"Stores a salted HMAC instead of the username — useful for shared "
"environments."
msgstr ""

#: admin/views/page-privacy.php:42
msgid "Log retention (days)"
msgstr "Conservazione dei log (giorni)"

#: admin/views/page-privacy.php:47
msgid "Older events are deleted automatically by a daily cron job."
msgstr ""
"Gli eventi più vecchi vengono eliminati automaticamente da un cron "
"giornaliero."

#: admin/views/page-privacy.php:54
msgid "Data map"
msgstr "Mappa dei dati"

#: admin/views/page-privacy.php:55
msgid ""
"Brainwerk Security Suite stores the following data locally — nothing is "
"transmitted to any third-party service in the free version."
msgstr ""
"Brainwerk Security Suite memorizza i seguenti dati in locale — nella "
"versione gratuita nulla viene trasmesso a servizi di terze parti."

#: admin/views/page-privacy.php:57
msgid ""
"Login attempts, hardening blocks, probing 404s, role changes. IPs anonymized "
"when enabled. Auto-deleted after retention period."
msgstr ""
"Tentativi di accesso, blocchi di hardening, 404 di probing, cambi di ruolo. "
"IP anonimizzati se l'opzione è attiva. Eliminati automaticamente dopo il "
"periodo di conservazione."

#: admin/views/page-privacy.php:58
msgid ""
"Currently blocked IPs (raw IP required to enforce blocking). Auto-removed "
"when block expires."
msgstr ""
"IP attualmente bloccati (l'IP in chiaro è necessario per applicare il "
"blocco). Rimossi automaticamente alla scadenza del blocco."

#: admin/views/page-privacy.php:59
msgid ""
"Per-user statistical baseline for anomaly detection (login times, network "
"ranges)."
msgstr ""
"Baseline statistica per utente per il rilevamento delle anomalie (orari di "
"accesso, intervalli di rete)."

#: admin/views/page-privacy.php:73
msgid "Privacy-policy snippet"
msgstr ""

#: admin/views/page-privacy.php:75
msgid ""
"Copy this snippet into your privacy policy. It reflects the current "
"Brainwerk Security Suite settings."
msgstr ""
"Copia questo frammento nella tua informativa sulla privacy. Riflette le "
"impostazioni attuali di Brainwerk Security Suite."

#: admin/views/page-privacy.php:80
msgid "Copy"
msgstr "Copia"

#: admin/views/page-privacy.php:84
msgid "Rendered preview"
msgstr ""

#: admin/views/page-scanner.php:17
msgid "critical"
msgstr ""

#: admin/views/page-scanner.php:18
msgid "high"
msgstr ""

#: admin/views/page-scanner.php:19
msgid "warn"
msgstr ""

#: admin/views/page-scanner.php:20
msgid "info"
msgstr ""

#: admin/views/page-scanner.php:33
msgid "Baseline cleared. The next scheduled scan will rebuild it."
msgstr "Baseline azzerata. La prossima scansione pianificata la ricostruirà."

#. translators: 1: hashed files this run, 2: errors, 3: finished bool
#: admin/views/page-scanner.php:40
#, php-format
msgid "Baseline run: %1$d files hashed, %2$d errors, finished: %3$s."
msgstr ""
"Esecuzione baseline: %1$d file sottoposti a hash, %2$d errori, terminata: "
"%3$s."

#: admin/views/page-scanner.php:43
msgid "yes"
msgstr ""

#: admin/views/page-scanner.php:43
msgid "no (continues next cron tick)"
msgstr ""

#. translators: %1$d scanned, %2$d added, %3$d changed, %4$d missing, %5$d malware suspects
#: admin/views/page-scanner.php:50
#, php-format
msgid ""
"Scan run: %1$d files scanned, %2$d added, %3$d changed, %4$d missing, %5$d "
"suspicious-pattern hits."
msgstr ""

#. translators: %s: path
#: admin/views/page-scanner.php:64
#, php-format
msgid "Path whitelisted: %s"
msgstr "Percorso aggiunto alla whitelist: %s"

#. translators: %s: path
#: admin/views/page-scanner.php:75
#, php-format
msgid "Re-baselined: %s"
msgstr ""

#: admin/views/page-scanner.php:98 admin/views/page-vulnerabilities.php:43
msgid "not scheduled"
msgstr ""

#: admin/views/page-scanner.php:99 admin/views/page-scanner.php:100
#: admin/views/page-twofactor.php:139 admin/views/page-vulnerabilities.php:40
msgid "never"
msgstr ""

#. translators: 1: changed, 2: added, 3: missing, 4: malware-suspect (24h)
#: admin/views/page-scanner.php:110
#, php-format
msgid ""
"Last 24h: %1$d changed, %2$d added, %3$d missing, %4$d suspicious patterns."
msgstr ""
"Ultime 24h: %1$d modificati, %2$d aggiunti, %3$d mancanti, %4$d pattern "
"sospetti."

#: admin/views/page-scanner.php:123
msgid "File-Integrity Monitor"
msgstr "Monitoraggio dell'integrità dei file"

#: admin/views/page-scanner.php:125
msgid ""
"Hashes every PHP file under WordPress core, plugins, mu-plugins and themes, "
"then re-checks them daily. Detects added, modified or deleted files and runs "
"a suspicious-pattern scan against new and modified files."
msgstr ""
"Calcola l'hash di ogni file PHP nel core di WordPress, nei plugin, nei mu-"
"plugin e nei temi, poi li ricontrolla ogni giorno. Rileva file aggiunti, "
"modificati o eliminati ed esegue una scansione dei pattern sospetti sui file "
"nuovi e modificati."

#: admin/views/page-scanner.php:126
msgid "All scanning is local — no file contents leave your server."
msgstr ""
"Tutta la scansione è locale — nessun contenuto di file lascia il tuo server."

#: admin/views/page-scanner.php:131
msgid "Tracked files"
msgstr ""

#: admin/views/page-scanner.php:132
msgid "Phase"
msgstr "Fase"

#: admin/views/page-scanner.php:132
#, php-format
msgid "cursor at file #%d"
msgstr ""

#: admin/views/page-scanner.php:133 admin/views/page-vulnerabilities.php:63
msgid "Last scan"
msgstr "Ultima scansione"

#: admin/views/page-scanner.php:134
msgid "Last baseline build"
msgstr "Ultima costruzione della baseline"

#: admin/views/page-scanner.php:135 admin/views/page-vulnerabilities.php:78
msgid "Next scheduled run"
msgstr "Prossima esecuzione pianificata"

#: admin/views/page-scanner.php:141
msgid "Run scan now"
msgstr ""

#: admin/views/page-scanner.php:142
msgid "Rebuild baseline"
msgstr ""

#: admin/views/page-scanner.php:143
msgid "Clear the entire baseline?"
msgstr "Azzerare l'intera baseline?"

#: admin/views/page-scanner.php:143
msgid "Clear baseline"
msgstr "Azzera baseline"

#: admin/views/page-scanner.php:146
msgid ""
"Manual runs are time-budgeted to ~45s. Long sites resume on the next cron "
"tick."
msgstr ""
"Le esecuzioni manuali hanno un budget di tempo di ~45s. I siti grandi "
"riprendono al successivo tick del cron."

#: admin/views/page-scanner.php:151
msgid "Findings (last 7 days)"
msgstr "Rilevamenti (ultimi 7 giorni)"

#. translators: 1: changed, 2: added, 3: missing, 4: malware-suspect
#: admin/views/page-scanner.php:156
#, php-format
msgid "%1$d changed · %2$d added · %3$d missing · %4$d suspicious patterns."
msgstr ""
"%1$d modificati · %2$d aggiunti · %3$d mancanti · %4$d pattern sospetti."

#: admin/views/page-scanner.php:168
msgid "No file-integrity findings yet — that's good news."
msgstr "Nessun rilevamento di integrità dei file finora — è una buona notizia."

#: admin/views/page-scanner.php:170
msgid ""
"No baseline has been built yet. The scanner needs to fingerprint every PHP "
"file once before it can detect changes. The first scheduled scan runs at "
"03:30, or you can build it on demand."
msgstr ""
"Nessuna baseline è stata ancora costruita. Lo scanner deve rilevare "
"l'impronta di ogni file PHP una volta prima di poter individuare le "
"modifiche. La prima scansione pianificata gira alle 03:30, oppure puoi "
"costruirla su richiesta."

#: admin/views/page-scanner.php:173
msgid "Rebuild baseline now"
msgstr ""

#. translators: %s: tracked files count
#: admin/views/page-scanner.php:178
#, php-format
msgid ""
"The baseline is in place (%s files tracked) and the daily scan has nothing "
"unusual to report."
msgstr ""

#: admin/views/page-scanner.php:182
msgid "Re-scan now anyway"
msgstr ""

#: admin/views/page-scanner.php:191
#: includes/class-shieldforge-admin-intros.php:136
msgid "Type"
msgstr ""

#: admin/views/page-scanner.php:192
#: includes/class-shieldforge-admin-intros.php:137
msgid "Path / Detail"
msgstr "Percorso / Dettaglio"

#: admin/views/page-scanner.php:193
#: includes/class-shieldforge-admin-intros.php:138
#: includes/class-shieldforge-admin-intros.php:213
msgid "Severity"
msgstr ""

#. translators: 1: rule id, 2: line number
#: admin/views/page-scanner.php:214
#, php-format
msgid "rule: %1$s · line %2$d"
msgstr ""

#: admin/views/page-scanner.php:225
#, php-format
msgid "size: %1$d → %2$d bytes"
msgstr ""

#: admin/views/page-scanner.php:235
msgid "Accept current state as the new baseline"
msgstr "Accetta lo stato attuale come nuova baseline"

#: admin/views/page-scanner.php:235
msgid "Re-baseline"
msgstr ""

#: admin/views/page-scanner.php:241
msgid "Stop alerting for this path"
msgstr ""

#: admin/views/page-scanner.php:241
msgid "Whitelist"
msgstr ""

#: admin/views/page-scanner.php:253
msgid "Scanner settings"
msgstr ""

#: admin/views/page-scanner.php:262 admin/views/page-vulnerabilities.php:207
msgid "Enable scanner"
msgstr "Attiva lo scanner"

#: admin/views/page-scanner.php:266
msgid "Run the daily integrity scan via wp-cron."
msgstr ""

#: admin/views/page-scanner.php:271
msgid "Pattern scanner"
msgstr "Scanner dei pattern"

#: admin/views/page-scanner.php:275
msgid "Also run suspicious-code pattern checks against new and modified files."
msgstr ""
"Esegui anche i controlli dei pattern di codice sospetto sui file nuovi e "
"modificati."

#: admin/views/page-scanner.php:280
msgid "Max file size (KB)"
msgstr "Dimensione massima dei file (KB)"

#: admin/views/page-scanner.php:283
msgid ""
"Files larger than this are skipped (cheap defense against accidental "
"scanning of huge data dumps)."
msgstr ""
"I file più grandi di questa soglia vengono saltati (difesa economica contro "
"la scansione accidentale di enormi dump di dati)."

#: admin/views/page-scanner.php:287
msgid "Extra skip directories"
msgstr "Directory aggiuntive da saltare"

#: admin/views/page-scanner.php:290
msgid ""
"One path segment per line, relative to the WordPress root. Sensible defaults "
"already cover uploads/, cache/, .git, node_modules and the like."
msgstr ""
"Un segmento di percorso per riga, relativo alla root di WordPress. I valori "
"predefiniti coprono già uploads/, cache/, .git, node_modules e simili."

#: admin/views/page-scanner.php:294
msgid "Tracked extensions"
msgstr ""

#: admin/views/page-scanner.php:297
msgid ""
"One extension per line. Default: php, phtml, phar, inc. .htaccess and wp-"
"config.php are always tracked."
msgstr ""
"Un'estensione per riga. Predefinite: php, phtml, phar, inc. .htaccess e wp-"
"config.php sono sempre monitorati."

#: admin/views/page-scanner.php:316
msgid "Repo integrity — plugins & themes vs. wordpress.org"
msgstr ""

#: admin/views/page-scanner.php:318
msgid ""
"Compares every installed plugin (official checksums API) and theme (original "
"release ZIP) against the wordpress.org distribution. Modified, missing or "
"extra files are reported so you can react. Packages that are not hosted on "
"wordpress.org are listed as \"unverifiable\" and never touched."
msgstr ""

#: admin/views/page-scanner.php:321
msgid ""
"To restore a tampered package, reinstall it the standard WordPress way — "
"deactivate & delete it, then install the clean copy from wordpress.org (your "
"settings are kept in the database)."
msgstr ""

#: admin/views/page-scanner.php:322
msgid "Add / reinstall plugins"
msgstr ""

#: admin/views/page-scanner.php:326 admin/views/page-vulnerabilities.php:84
#: admin/views/page-vulnerabilities.php:181
msgid "Scan now"
msgstr ""

#: admin/views/page-scanner.php:337
msgid "Run automatically every night (daily cron, 03:40)"
msgstr ""

#: admin/views/page-scanner.php:346
msgid "Last scan:"
msgstr "Ultima scansione:"

#. translators: 1: ok count, 2: mismatch count, 3: unverifiable count, 4: flagged file count
#: admin/views/page-scanner.php:351
#, php-format
msgid ""
"%1$d packages clean, %2$d with deviations (%4$d files), %3$d unverifiable."
msgstr ""
"%1$d pacchetti puliti, %2$d con deviazioni (%4$d file), %3$d non "
"verificabili."

#: admin/views/page-scanner.php:363
msgid "All verifiable packages match the official wordpress.org distribution."
msgstr ""
"Tutti i pacchetti verificabili corrispondono alla distribuzione ufficiale di "
"wordpress.org."

#: admin/views/page-scanner.php:368
msgid "Package"
msgstr "Pacchetto"

#: admin/views/page-scanner.php:369
msgid "File"
msgstr "File"

#: admin/views/page-scanner.php:370
msgid "Finding"
msgstr "Rilevamento"

#: admin/views/page-scanner.php:377
msgid "modified"
msgstr ""

#: admin/views/page-scanner.php:378
msgid "missing"
msgstr ""

#: admin/views/page-scanner.php:379
msgid "extra file (not in official package — inspect!)"
msgstr ""

#: admin/views/page-scanner.php:387
msgid "reinstall package"
msgstr ""

#: admin/views/page-scanner.php:389
msgid "manual review"
msgstr ""

#. translators: %d: package count
#: admin/views/page-scanner.php:405
#, php-format
msgid "%d packages not verifiable (not on wordpress.org)"
msgstr "%d pacchetti non verificabili (non presenti su wordpress.org)"

#: admin/views/page-scanner.php:414
msgid "No scan yet — click \"Scan now\" for the first run."
msgstr ""
"Nessuna scansione finora — clicca \"Scansiona ora\" per la prima esecuzione."

#: admin/views/page-scanner.php:424
msgid ""
"Scanning… themes are downloaded once for comparison, this can take a minute."
msgstr ""

#: admin/views/page-scanner.php:425
msgid "Scan failed."
msgstr ""

#: admin/views/page-threat-network.php:61
msgid "NIEDRIG"
msgstr ""

#: admin/views/page-threat-network.php:62
msgid "MITTEL"
msgstr ""

#: admin/views/page-threat-network.php:63
#: admin/views/page-threat-network.php:64
msgid "HOCH"
msgstr ""

#: admin/views/page-threat-network.php:81
#, php-format
msgid "aktualisiert vor %s"
msgstr ""

#: admin/views/page-threat-network.php:99
msgid ""
"Netz-Gesamtbild derzeit nicht erreichbar — es werden lokale Daten angezeigt."
msgstr ""

#: admin/views/page-threat-network.php:102
msgid ""
"Netz-Gesamtbild ist nur mit aktiver Teilnahme am Threat-Network verfügbar."
msgstr ""

#: admin/views/page-threat-network.php:202
msgid "steigend"
msgstr ""

#: admin/views/page-threat-network.php:203
msgid "fallend"
msgstr ""

#: admin/views/page-threat-network.php:204
msgid "stabil"
msgstr ""

#: admin/views/page-threat-network.php:222
#: admin/views/page-threat-network.php:584
#: admin/views/page-threat-network.php:749
msgid "Netz-Gesamtbild"
msgstr ""

#: admin/views/page-threat-network.php:225
#: admin/views/page-threat-network.php:583
#: admin/views/page-threat-network.php:748
msgid "Meine Site"
msgstr ""

#: admin/views/page-threat-network.php:237
msgid "SQL-Injection"
msgstr ""

#: admin/views/page-threat-network.php:238
msgid "Cross-Site-Scripting (XSS)"
msgstr ""

#: admin/views/page-threat-network.php:239
msgid "Local File Inclusion (LFI)"
msgstr ""

#: admin/views/page-threat-network.php:240
msgid "Remote Code Execution (RCE)"
msgstr ""

#: admin/views/page-threat-network.php:241
msgid "Path Traversal"
msgstr ""

#: admin/views/page-threat-network.php:242
msgid "Auth-Bypass"
msgstr ""

#: admin/views/page-threat-network.php:243
msgid "Server-Side Request Forgery (SSRF)"
msgstr ""

#: admin/views/page-threat-network.php:244
msgid "Object-Injection"
msgstr ""

#: admin/views/page-threat-network.php:245
msgid "File-Upload-Exploit"
msgstr ""

#: admin/views/page-threat-network.php:248
msgid "WPScan"
msgstr ""

#: admin/views/page-threat-network.php:249
msgid "sqlmap"
msgstr ""

#: admin/views/page-threat-network.php:250
msgid "Nuclei"
msgstr ""

#: admin/views/page-threat-network.php:251
msgid "Nikto"
msgstr ""

#: admin/views/page-threat-network.php:252
msgid "curl"
msgstr ""

#: admin/views/page-threat-network.php:253
msgid "wget"
msgstr ""

#: admin/views/page-threat-network.php:254
msgid "python-requests"
msgstr ""

#: admin/views/page-threat-network.php:255
msgid "Go-http"
msgstr ""

#: admin/views/page-threat-network.php:256
msgid "libwww"
msgstr ""

#: admin/views/page-threat-network.php:257
msgid "Headless-Chrome"
msgstr ""

#: admin/views/page-threat-network.php:258
msgid "generischer Bot"
msgstr ""

#: admin/views/page-threat-network.php:259
msgid "sonstiges Werkzeug"
msgstr ""

#. translators: 1: CVE id, 2: events in the last hour, 3: number of sites, 4: ratio over baseline
#: admin/views/page-threat-network.php:294
#, php-format
msgid ""
"⚠ Frühwarnung: Aktive Ausnutzung von %1$s — %2$d Angriffe in der letzten "
"Stunde über %3$d Sites (Faktor %4$s× über Normal). Jetzt aktualisieren."
msgstr ""

#. translators: 1: attack class label, 2: events in the last hour, 3: number of sites, 4: ratio over baseline
#: admin/views/page-threat-network.php:301
#, php-format
msgid ""
"⚠ Frühwarnung: Anstieg von %1$s-Angriffen — %2$d Angriffe in der letzten "
"Stunde über %3$d Sites (Faktor %4$s× über Normal). Jetzt aktualisieren."
msgstr ""

#. translators: 1: plugin/theme slug, 2: events in the last hour, 3: number of sites, 4: ratio over baseline
#: admin/views/page-threat-network.php:307
#, php-format
msgid ""
"⚠ Frühwarnung: Aktive Angriffswelle auf Plugin »%1$s« — %2$d Angriffe in der "
"letzten Stunde über %3$d Sites (Faktor %4$s× über Normal). Jetzt "
"aktualisieren."
msgstr ""

#: admin/views/page-threat-network.php:324
msgid "Schatten"
msgstr ""

#: admin/views/page-threat-network.php:325
msgid "Canary"
msgstr ""

#: admin/views/page-threat-network.php:326
#: admin/views/page-threat-network.php:439
msgid "Aktiv"
msgstr ""

#: admin/views/page-threat-network.php:367
msgid "Threat Intelligence — Kommandozentrale"
msgstr ""

#: admin/views/page-threat-network.php:368
msgid "Brainwerk Security Suite · Privacy-first · EU-gehostet"
msgstr ""

#: admin/views/page-threat-network.php:377
msgid "Netzwerk verbunden"
msgstr ""

#: admin/views/page-threat-network.php:378
msgid "Netzwerk getrennt"
msgstr ""

#: admin/views/page-threat-network.php:393
#, php-format
msgid "+%d weitere Frühwarnungen"
msgstr ""

#: admin/views/page-threat-network.php:402
msgid "Angriffe (24h)"
msgstr ""

#: admin/views/page-threat-network.php:406
msgid "Blockiert"
msgstr ""

#: admin/views/page-threat-network.php:410
msgid "Eindeutige Angreifer"
msgstr ""

#: admin/views/page-threat-network.php:414
msgid "Bedrohungs-Score"
msgstr ""

#: admin/views/page-threat-network.php:419
msgid "Feed-Indikatoren aktiv"
msgstr ""

#: admin/views/page-threat-network.php:427
msgid "Angriffs-Aktivität"
msgstr ""

#: admin/views/page-threat-network.php:428
msgid "24 Stunden, stündlich (WARN und höher)"
msgstr ""

#: admin/views/page-threat-network.php:432
#: admin/views/page-threat-network.php:519
#: admin/views/page-threat-network.php:537
#: admin/views/page-threat-network.php:555
#: admin/views/page-threat-network.php:576
#: admin/views/page-threat-network.php:622
#: admin/views/page-threat-network.php:645
#: admin/views/page-threat-network.php:668
#: admin/views/page-threat-network.php:697
#: admin/views/page-threat-network.php:714
#: admin/views/page-threat-network.php:788
msgid "Noch keine Daten — der Sensor sammelt."
msgstr ""

#: admin/views/page-threat-network.php:436
msgid "Threat-Netzwerk"
msgstr ""

#: admin/views/page-threat-network.php:438
msgid "Teilnahme"
msgstr ""

#: admin/views/page-threat-network.php:439
msgid "Aus"
msgstr ""

#: admin/views/page-threat-network.php:440
msgid "Feed-Version"
msgstr ""

#: admin/views/page-threat-network.php:442
msgid "Aktualisiert"
msgstr ""

#: admin/views/page-threat-network.php:444
msgid "Virtual-Patch-Regeln"
msgstr ""

#: admin/views/page-threat-network.php:446
msgid "Sensoren im Netz"
msgstr ""

#: admin/views/page-threat-network.php:451
msgid "Ed25519-Signatur verifiziert"
msgstr ""

#: admin/views/page-threat-network.php:452
msgid "ja"
msgstr ""

#: admin/views/page-threat-network.php:452
msgid "nein"
msgstr ""

#: admin/views/page-threat-network.php:460
msgid "Frühwarnungen (Netz)"
msgstr ""

#: admin/views/page-threat-network.php:461
msgid "Netzweite Angriffswellen mit auffälliger Rate gegenüber dem Normalwert"
msgstr ""

#. translators: 1: events in the last hour, 2: ratio over baseline, 3: number of sites
#: admin/views/page-threat-network.php:477
#, php-format
msgid "%1$d× / Faktor %2$s× / %3$d Sites"
msgstr ""

#: admin/views/page-threat-network.php:485
msgid "Keine aktiven Frühwarnungen — alles ruhig."
msgstr ""

#: admin/views/page-threat-network.php:493
msgid "Angriffsarten"
msgstr ""

#: admin/views/page-threat-network.php:496
#: admin/views/page-threat-network.php:797
msgid "Brute-Force"
msgstr ""

#: admin/views/page-threat-network.php:497
#: admin/views/page-threat-network.php:802
msgid "Honeypot"
msgstr ""

#: admin/views/page-threat-network.php:498
msgid "Probing"
msgstr ""

#: admin/views/page-threat-network.php:499
msgid "WAF"
msgstr ""

#: admin/views/page-threat-network.php:500
msgid "Malware"
msgstr ""

#: admin/views/page-threat-network.php:501
#: admin/views/page-threat-network.php:822
msgid "Anomalie"
msgstr ""

#: admin/views/page-threat-network.php:524
msgid "Top-Angreifer-IPs"
msgstr ""

#: admin/views/page-threat-network.php:542
msgid "Angegriffene Benutzernamen"
msgstr ""

#: admin/views/page-threat-network.php:562
msgid "Herkunft der Angriffe"
msgstr ""

#: admin/views/page-threat-network.php:563
msgid "Angreifer-Länder, 24h, lokal aufgelöst (keine externen Abfragen)"
msgstr ""

#: admin/views/page-threat-network.php:604
msgid "Meistangegriffene Plugins/Themes"
msgstr ""

#: admin/views/page-threat-network.php:606
#: admin/views/page-threat-network.php:629
#: admin/views/page-threat-network.php:652
#: admin/views/page-threat-network.php:678
msgid "7 Tage, Netz-Gesamtbild"
msgstr ""

#: admin/views/page-threat-network.php:607
#: admin/views/page-threat-network.php:630
msgid "7 Tage, lokal erkannt"
msgstr ""

#: admin/views/page-threat-network.php:627
msgid "Angriffsklassen"
msgstr ""

#: admin/views/page-threat-network.php:650
msgid "Angreifer-Werkzeuge"
msgstr ""

#: admin/views/page-threat-network.php:653
msgid "7 Tage, lokal erkannt (User-Agent)"
msgstr ""

#: admin/views/page-threat-network.php:676
msgid "Angreifer-Netze (Provider)"
msgstr ""

#: admin/views/page-threat-network.php:679
msgid "7 Tage, lokal aufgelöst (keine externen Abfragen)"
msgstr ""

#: admin/views/page-threat-network.php:702
msgid "Tageszeit-Muster"
msgstr ""

#: admin/views/page-threat-network.php:704
msgid "24 Stunden, Netz-Gesamtbild (UTC)"
msgstr ""

#: admin/views/page-threat-network.php:705
msgid "24 Stunden, lokal (UTC)"
msgstr ""

#: admin/views/page-threat-network.php:711
#, php-format
msgid "Spitze um %02d:00 UTC"
msgstr ""

#: admin/views/page-threat-network.php:719
msgid "Angriffs-Tempo"
msgstr ""

#: admin/views/page-threat-network.php:721
msgid "Netz-Gesamtbild, letzte Stunde vs. vorherige"
msgstr ""

#: admin/views/page-threat-network.php:722
msgid "Meine Site, letzte Stunde vs. vorherige"
msgstr ""

#. translators: 1: events in the last hour, 2: events in the previous hour
#: admin/views/page-threat-network.php:733
#, php-format
msgid "%1$d letzte Stunde · %2$d Stunde davor"
msgstr ""

#: admin/views/page-threat-network.php:744
msgid "Angriffs-Korridore"
msgstr ""

#: admin/views/page-threat-network.php:745
msgid ""
"Herkunfts- zu Ziel-Länder, letzte 7 Tage. Keine Kartenkacheln — ein "
"datenbasiertes Chord-Diagramm."
msgstr ""

#: admin/views/page-threat-network.php:762
msgid "Herkunft → Ziel"
msgstr ""

#: admin/views/page-threat-network.php:763
msgid "Ereignisse"
msgstr ""

#: admin/views/page-threat-network.php:764
msgid "Top-CVE"
msgstr ""

#: admin/views/page-threat-network.php:765
msgid "Top-Endpunktklasse"
msgstr ""

#: admin/views/page-threat-network.php:794
msgid "Angriffsarten — kurz erklärt"
msgstr ""

#: admin/views/page-threat-network.php:798
msgid "Automatisiertes Durchprobieren von Passwörtern gegen den Login."
msgstr ""

#: admin/views/page-threat-network.php:799
msgid "Schutz: Sperren nach Fehlversuchen, 2FA."
msgstr ""

#: admin/views/page-threat-network.php:803
msgid "Ein unsichtbares Köder-Feld — nur Bots füllen es aus."
msgstr ""

#: admin/views/page-threat-network.php:804
msgid "Schutz: Einreichung wird stumm verworfen."
msgstr ""

#: admin/views/page-threat-network.php:807
msgid "Probing/404"
msgstr ""

#: admin/views/page-threat-network.php:808
msgid "Scanner suchen nach bekannten Pfaden und Sicherheitslücken."
msgstr ""

#: admin/views/page-threat-network.php:809
msgid "Schutz: Muster-Erkennung, Rate-Limiting."
msgstr ""

#: admin/views/page-threat-network.php:812
msgid "WAF-Block"
msgstr ""

#: admin/views/page-threat-network.php:813
msgid ""
"Eine Anfrage passte zu einer bekannten Angriffssignatur und wurde geblockt."
msgstr ""

#: admin/views/page-threat-network.php:814
msgid "Schutz: Signierte Virtual-Patch-Regeln aus dem Netzwerk."
msgstr ""

#: admin/views/page-threat-network.php:817
msgid "Malware-Fund"
msgstr ""

#: admin/views/page-threat-network.php:818
msgid ""
"Verdächtiger Code-Fund im Dateisystem — möglicher Kompromittierungshinweis."
msgstr ""

#: admin/views/page-threat-network.php:819
msgid "Schutz: Datei-Integritätsscan, Scanner-Tab prüfen."
msgstr ""

#: admin/views/page-threat-network.php:823
msgid "Ein Login weicht stark vom gewohnten Verhalten des Kontos ab."
msgstr ""

#: admin/views/page-threat-network.php:824
msgid "Schutz: Statistische Verhaltensanalyse, Benachrichtigung."
msgstr ""

#: admin/views/page-threat-network.php:831
msgid "Immunisierungen"
msgstr ""

#: admin/views/page-threat-network.php:832
msgid ""
"Netzweit reifende Schutzregeln — vom stillen Mitlesen bis zur aktiven "
"Blockade."
msgstr ""

#. translators: %s: plain-language explanation of the newly active immun rule
#: admin/views/page-threat-network.php:840
#, php-format
msgid "✓ Neue Immunisierung aktiv: %s"
msgstr ""

#: admin/views/page-threat-network.php:849
msgid "Netz-Immunisierungen sind deaktiviert (Einstellung „intel_immunize“)."
msgstr ""

#: admin/views/page-threat-network.php:851
msgid ""
"Nur mit aktiver Teilnahme am Threat-Network verfügbar — siehe „Teilnahme & "
"Datenschutz“ unten."
msgstr ""

#: admin/views/page-threat-network.php:853
msgid "Derzeit keine Netz-Immunisierungen aktiv."
msgstr ""

#: admin/views/page-threat-network.php:858
msgid "Stufe"
msgstr ""

#: admin/views/page-threat-network.php:859
msgid "Warum bin ich davon geschützt?"
msgstr ""

#: admin/views/page-threat-network.php:860
msgid "Ziel / Muster"
msgstr ""

#: admin/views/page-threat-network.php:861
msgid "Reife (lokal)"
msgstr ""

#. translators: 1: shadow hit count, 2: canary hit count, 3: false-positive-suspected count
#: admin/views/page-threat-network.php:886
#, php-format
msgid "Schatten-Treffer: %1$d · Canary-Treffer: %2$d · FP-Verdacht: %3$d"
msgstr ""

#: admin/views/page-threat-network.php:902
msgid "Teilnahme & Datenschutz"
msgstr ""

#: admin/views/page-threat-network.php:906
msgid "Participation"
msgstr "Partecipazione"

#: admin/views/page-threat-network.php:909
msgid "Opted in"
msgstr "Adesione attiva"

#: admin/views/page-threat-network.php:916
msgid "Registration"
msgstr ""

#: admin/views/page-threat-network.php:919
msgid "Registered"
msgstr ""

#: admin/views/page-threat-network.php:922
msgid "Not registered"
msgstr "Non registrato"

#: admin/views/page-threat-network.php:927
msgid "Correlation salt"
msgstr "Salt di correlazione"

#: admin/views/page-threat-network.php:930
msgid "Current"
msgstr "Attuale"

#: admin/views/page-threat-network.php:931
#, php-format
msgid "epoch %s"
msgstr ""

#: admin/views/page-threat-network.php:933
msgid "Stale — refresh below"
msgstr ""

#: admin/views/page-threat-network.php:935
msgid "Local placeholder (no cross-site correlation until registered)"
msgstr ""
"Segnaposto locale (nessuna correlazione tra siti finché non registrato)"

#: admin/views/page-threat-network.php:940
msgid "Queue"
msgstr ""

#: admin/views/page-threat-network.php:944
#, php-format
msgid "%1$d pending · %2$d sent total · %3$d dropped"
msgstr "%1$d in attesa · %2$d inviati in totale · %3$d scartati"

#: admin/views/page-threat-network.php:956
msgid "Send queued now"
msgstr ""

#: admin/views/page-threat-network.php:961
msgid "Refresh salt"
msgstr ""

#: admin/views/page-threat-network.php:963
msgid "Unregister this site? No further data will be sent."
msgstr ""

#: admin/views/page-threat-network.php:966
msgid "Unregister"
msgstr ""

#: admin/views/page-threat-network.php:976
msgid "Serverstandort-Ländercode"
msgstr ""

#: admin/views/page-threat-network.php:982
msgid ""
"Manuelle Vorgabe (2-stelliger Ländercode) für die \"Ziel\"-Achse der "
"Angriffs-Korridore. Hat Vorrang vor der automatischen Erkennung. Leer lassen "
"zum Deaktivieren."
msgstr ""

#: admin/views/page-threat-network.php:986
msgid "Automatische Erkennung"
msgstr ""

#: admin/views/page-threat-network.php:991
msgid ""
"Serverstandort automatisch erkennen (einmaliger Abruf der eigenen Server-IP "
"über api.ipify.org)"
msgstr ""

#: admin/views/page-threat-network.php:993
msgid ""
"Standardmäßig aus — ohne Ländercode-Vorgabe und ohne automatische Erkennung "
"macht das Plugin keinen ausgehenden Aufruf und zeigt den Serverstandort als "
"\"Unbekannt\"."
msgstr ""

#: admin/views/page-threat-network.php:1008
msgid "Participation (opt-in)"
msgstr "Partecipazione (opt-in)"

#: admin/views/page-threat-network.php:1011
msgid "Contribute privacy-preserving threat telemetry to the network"
msgstr ""
"Contribuisci alla rete con telemetria sulle minacce rispettosa della privacy"

#: admin/views/page-threat-network.php:1014
msgid ""
"When on, attack indicators (never raw IPs or personal data) are queued and "
"sent to the EU-hosted central network so every participating site is "
"protected by what the others see. Default off."
msgstr ""

#: admin/views/page-threat-network.php:1018
msgid "Also allow my indicators in the shared redistribution feed"
msgstr "Consenti anche i miei indicatori nel feed condiviso di ridistribuzione"

#: admin/views/page-threat-network.php:1023
msgid "Connection"
msgstr "Connessione"

#: admin/views/page-threat-network.php:1026
#: admin/views/page-vulnerabilities.php:234
msgid "API endpoint"
msgstr "Endpoint API"

#: admin/views/page-threat-network.php:1030
msgid "EU-hosted central network. Change only if you run your own instance."
msgstr "Rete centrale ospitata in UE. Cambia solo se gestisci una tua istanza."

#: admin/views/page-threat-network.php:1034
msgid "Register token"
msgstr ""

#: admin/views/page-threat-network.php:1038
msgid ""
"One-time bootstrap token from the network operator. Needed once to register "
"this site."
msgstr ""
"Token di bootstrap monouso dall'operatore della rete. Serve una sola volta "
"per registrare questo sito."

#: admin/views/page-threat-network.php:1051
msgid "Register this site"
msgstr ""

#: admin/views/page-threat-network.php:1052
msgid ""
"Save the API endpoint + register token above first, then register. "
"Registration exchanges the token for a pseudonymous site identity and secret."
msgstr ""

#: admin/views/page-threat-network.php:1056
msgid "Register now"
msgstr ""

#: admin/views/page-threat-network.php:1062
msgid "Transparency — what gets sent"
msgstr ""

#: admin/views/page-threat-network.php:1063
msgid ""
"The most recent items queued for the network. Only the fields listed leave "
"your site; identifiers are salted hashes, never raw values."
msgstr ""

#: admin/views/page-threat-network.php:1065
msgid "Nothing queued yet."
msgstr "Niente in coda finora."

#: admin/views/page-threat-network.php:1070
msgid "Category"
msgstr "Categoria"

#: admin/views/page-threat-network.php:1071
msgid "Fields sent"
msgstr "Campi inviati"

#: admin/views/page-threat-network.php:1072
msgid "IP indicator"
msgstr "Indicatore IP"

#: admin/views/page-tools.php:21
msgid "Test mail sent."
msgstr ""

#: admin/views/page-tools.php:24
#, php-format
msgid "Removed %d log entries."
msgstr ""

#: admin/views/page-tools.php:27
msgid "Settings reset to defaults."
msgstr ""

#: admin/views/page-tools.php:40
msgid "Settings imported."
msgstr ""

#: admin/views/page-tools.php:51
msgid "Health check"
msgstr "Controllo di integrità"

#: admin/views/page-tools.php:54 admin/views/page-tools.php:109
msgid "Check"
msgstr "Controlla"

#: admin/views/page-tools.php:56 admin/views/page-tools.php:110
msgid "Detail"
msgstr "Dettaglio"

#: admin/views/page-tools.php:83
msgid "Pre-launch sanity check"
msgstr "Controllo di coerenza pre-lancio"

#: admin/views/page-tools.php:85
msgid ""
"Walks through every module and reports misconfigurations or hygiene issues "
"that would embarrass a reviewer or trip up a customer. Read-only — runs no "
"actions on its own."
msgstr ""

#: admin/views/page-tools.php:89
msgid "OK"
msgstr "OK"

#: admin/views/page-tools.php:90
msgid "Warnings"
msgstr ""

#: admin/views/page-tools.php:91
msgid "Failures"
msgstr "Fallimenti"

#: admin/views/page-tools.php:95
msgid "✓ Ready to ship."
msgstr ""

#: admin/views/page-tools.php:97
msgid "Only soft warnings — review before going live."
msgstr "Solo avvisi leggeri — controllali prima di andare online."

#: admin/views/page-tools.php:99
msgid "Critical issues — fix before going live."
msgstr "Problemi critici — risolvili prima di andare online."

#: admin/views/page-tools.php:124
msgid "Fix →"
msgstr "Correggi →"

#: admin/views/page-tools.php:134
msgid "Send test mail"
msgstr ""

#: admin/views/page-tools.php:140
msgid "Send"
msgstr ""

#: admin/views/page-tools.php:146
msgid "Settings export / import"
msgstr ""

#: admin/views/page-tools.php:150
msgid "Download settings.json"
msgstr "Scarica settings.json"

#: admin/views/page-tools.php:159
msgid "Import settings"
msgstr "Importa impostazioni"

#: admin/views/page-tools.php:165
msgid "Maintenance"
msgstr "Manutenzione"

#: admin/views/page-tools.php:169
msgid "Run log cleanup now"
msgstr ""

#: admin/views/page-tools.php:171
msgid "Reset all settings to defaults?"
msgstr ""

#: admin/views/page-tools.php:174
msgid "Reset to defaults"
msgstr ""

#. translators: %s: username
#: admin/views/page-twofactor.php:20
#, php-format
msgid "2FA disabled (rescue) for user: %s"
msgstr "2FA disattivata (ripristino) per l'utente: %s"

#: admin/views/page-twofactor.php:59
msgid "Your account does not have 2FA enabled yet."
msgstr ""

#: admin/views/page-twofactor.php:60
msgid ""
"This tab is the admin overview — the actual setup form is on your user "
"profile."
msgstr ""

#: admin/views/page-twofactor.php:63
msgid "Set up 2FA on my profile →"
msgstr ""

#: admin/views/page-twofactor.php:70
#: includes/class-shieldforge-twofactor.php:424
msgid "Two-factor authentication"
msgstr ""

#: admin/views/page-twofactor.php:72
msgid ""
"Standard TOTP (RFC 6238): works with Google Authenticator, Authy, Microsoft "
"Authenticator, 2FAS, FreeOTP, Aegis. Each user enrolls themselves on their "
"own profile page."
msgstr ""

#: admin/views/page-twofactor.php:73
msgid ""
"No external services involved — secrets and recovery codes never leave your "
"database."
msgstr ""
"Nessun servizio esterno coinvolto — i segreti e i codici di recupero non "
"lasciano mai il tuo database."

#: admin/views/page-twofactor.php:83
msgid "Enable 2FA module"
msgstr "Attiva il modulo 2FA"

#: admin/views/page-twofactor.php:87
msgid "Allow users to enable two-factor authentication on their profile."
msgstr ""
"Consenti agli utenti di attivare l'autenticazione a due fattori dal proprio "
"profilo."

#: admin/views/page-twofactor.php:92
msgid "Force 2FA for these roles"
msgstr "Rendi la 2FA obbligatoria per questi ruoli"

#: admin/views/page-twofactor.php:104
msgid ""
"Users in these roles see a warning on their profile until they complete "
"setup. Setup is still self-service — admins cannot enroll on someone's "
"behalf."
msgstr ""

#: admin/views/page-twofactor.php:117
msgid "Users with 2FA configured"
msgstr ""

#: admin/views/page-twofactor.php:119
msgid ""
"No users have set up 2FA yet. Each user enables it from their own profile "
"page (Users → Profile → Two-factor authentication)."
msgstr ""
"Nessun utente ha ancora configurato la 2FA. Ogni utente la attiva dalla "
"propria pagina del profilo (Utenti → Profilo → Autenticazione a due fattori)."

#: admin/views/page-twofactor.php:126
msgid "Recovery codes"
msgstr ""

#: admin/views/page-twofactor.php:127
msgid "Last used"
msgstr "Ultimo utilizzo"

#: admin/views/page-twofactor.php:128
msgid "Rescue action"
msgstr ""

#: admin/views/page-twofactor.php:139 admin/views/page-vulnerabilities.php:39
msgid "ago"
msgstr ""

#: admin/views/page-twofactor.php:150 admin/views/page-vulnerabilities.php:126
msgid "active"
msgstr ""

#: admin/views/page-twofactor.php:152
msgid "pending setup"
msgstr ""

#: admin/views/page-twofactor.php:163
#, php-format
msgid ""
"Disable 2FA for %s? Use only when the user lost both their authenticator and "
"recovery codes."
msgstr ""
"Disattivare la 2FA per %s? Da usare solo quando l'utente ha perso sia "
"l'authenticator sia i codici di recupero."

#: admin/views/page-twofactor.php:163
msgid "Rescue: disable"
msgstr ""

#: admin/views/page-twofactor.php:171
msgid ""
"Capped at 100 rows. Use the user-edit screen for individual user management."
msgstr ""
"Limitato a 100 righe. Usa la schermata di modifica utente per la gestione "
"dei singoli utenti."

#. translators: 1: queries, 2: errors, 3: plugins-affected, 4: themes-affected, 5: core-affected
#: admin/views/page-vulnerabilities.php:18
#, php-format
msgid ""
"Vulnerability scan complete: %1$d queries, %2$d errors, %3$d plugins / %4$d "
"themes / %5$d core hits."
msgstr ""

#: admin/views/page-vulnerabilities.php:27
msgid "Vulnerability cache cleared."
msgstr ""

#: admin/views/page-vulnerabilities.php:47
msgid "Plugin / Theme / Core vulnerabilities"
msgstr "Vulnerabilità di plugin / temi / core"

#: admin/views/page-vulnerabilities.php:49
msgid ""
"Daily check against an EU-hosted vulnerability API (default: shieldforge-"
"intel.brainwerk.at — no API key, self-hostable). Each scan sends only the "
"slug + version of installed components. No site URL, no admin email, no IPs."
msgstr ""

#: admin/views/page-vulnerabilities.php:55
msgid "The vulnerability scanner is off by default."
msgstr ""

#: admin/views/page-vulnerabilities.php:56
msgid ""
"It is the only feature that automatically contacts an external service. "
"Enable it below to consent to the daily lookup (slug + version only). You "
"can also run a one-off check with “Scan now” without turning on the daily "
"schedule."
msgstr ""

#: admin/views/page-vulnerabilities.php:64
msgid "Queries last run"
msgstr ""

#: admin/views/page-vulnerabilities.php:65
msgid "Findings (cached)"
msgstr "Rilevamenti (in cache)"

#. translators: 1: plugins-affected, 2: themes-affected, 3: core-affected
#: admin/views/page-vulnerabilities.php:70
#, php-format
msgid "%1$d plugins, %2$d themes, %3$d core"
msgstr "%1$d plugin, %2$d temi, %3$d core"

#: admin/views/page-vulnerabilities.php:85
msgid "Clear cached vulnerability data and dedup state?"
msgstr ""
"Svuotare i dati di vulnerabilità in cache e lo stato di deduplicazione?"

#: admin/views/page-vulnerabilities.php:85
msgid "Clear cache"
msgstr "Svuota cache"

#: admin/views/page-vulnerabilities.php:88
msgid ""
"Manual scans hit the API in real time and may take ~10–60s depending on how "
"many plugins are installed."
msgstr ""
"Le scansioni manuali interrogano l'API in tempo reale e possono richiedere "
"~10–60s a seconda di quanti plugin sono installati."

#: admin/views/page-vulnerabilities.php:103
#: includes/class-shieldforge-admin-intros.php:157
msgid "Component"
msgstr "Componente"

#: admin/views/page-vulnerabilities.php:104
#: includes/class-shieldforge-admin-intros.php:158
msgid "Version"
msgstr ""

#: admin/views/page-vulnerabilities.php:105
#: includes/class-shieldforge-admin-intros.php:159
msgid "Active"
msgstr "Attivo"

#: admin/views/page-vulnerabilities.php:106
#: includes/class-shieldforge-admin-intros.php:160
msgid "Vulnerability"
msgstr ""

#: admin/views/page-vulnerabilities.php:107
#: includes/class-shieldforge-admin-intros.php:161
msgid "Fixed in"
msgstr "Corretto in"

#: admin/views/page-vulnerabilities.php:108
#: includes/class-shieldforge-admin-intros.php:162
msgid "Sources"
msgstr ""

#: admin/views/page-vulnerabilities.php:128
msgid "inactive"
msgstr ""

#: admin/views/page-vulnerabilities.php:138
msgid "No patch available"
msgstr "Nessuna patch disponibile"

#: admin/views/page-vulnerabilities.php:177
msgid "No vulnerability scan has run yet."
msgstr "Nessuna scansione delle vulnerabilità è stata ancora eseguita."

#: admin/views/page-vulnerabilities.php:178
msgid ""
"The scanner queries a public CVE database for every plugin/theme/core "
"component on your site. The next scheduled run is at 04:30, but you can run "
"it on demand."
msgstr ""

#: admin/views/page-vulnerabilities.php:186
msgid "Vulnerable plugins"
msgstr ""

#: admin/views/page-vulnerabilities.php:187
msgid "Vulnerable themes"
msgstr ""

#: admin/views/page-vulnerabilities.php:188
msgid "Vulnerable WordPress core"
msgstr ""

#: admin/views/page-vulnerabilities.php:191
msgid "No known vulnerabilities found in the installed components. ✓"
msgstr "Nessuna vulnerabilità nota trovata nei componenti installati. ✓"

#: admin/views/page-vulnerabilities.php:197
msgid "Settings"
msgstr ""

#: admin/views/page-vulnerabilities.php:211
msgid "Run the daily vulnerability check."
msgstr ""

#: admin/views/page-vulnerabilities.php:216
msgid "Check themes"
msgstr "Controlla i temi"

#: admin/views/page-vulnerabilities.php:220
msgid "Also query the API for installed themes."
msgstr "Interroga l'API anche per i temi installati."

#: admin/views/page-vulnerabilities.php:225
msgid "Check WordPress core"
msgstr "Controlla il core di WordPress"

#: admin/views/page-vulnerabilities.php:229
msgid "Also check the running WordPress core version."
msgstr "Controlla anche la versione del core WordPress in esecuzione."

#: admin/views/page-vulnerabilities.php:237
msgid ""
"Override only if you mirror the API privately. Empty uses wpvulnerability."
"net."
msgstr ""
"Sovrascrivi solo se hai un mirror privato dell'API. Vuoto usa "
"wpvulnerability.net."

#: admin/views/partials/upgrade-hint.php:20
msgid "Unlock more in Brainwerk Security Suite Pro"
msgstr ""

#: admin/views/partials/upgrade-hint.php:21
msgid ""
"The free build covers logging, brute-force protection, hardening, and basic "
"anomaly detection. Pro adds adaptive thresholds, geo blocking, 2FA / "
"WebAuthn, chat-app alerts and a multisite aggregate dashboard."
msgstr ""

#: admin/views/partials/upgrade-hint.php:40
msgid "See license options"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:35
msgid ""
"<strong>The \"is anything on fire?\" overview.</strong> Live security status "
"of your site at a glance — threat level, recent attacker activity, and what "
"(if anything) needs your attention."
msgstr ""
"<strong>La panoramica \"c'è qualcosa che brucia?\".</strong> Lo stato di "
"sicurezza del tuo sito in tempo reale a colpo d'occhio — livello di "
"minaccia, attività recente degli attaccanti e cosa (eventualmente) richiede "
"la tua attenzione."

#: includes/class-shieldforge-admin-intros.php:37
msgid "What you see here"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:38
msgid ""
"A threat-score from 0 to 100 (calm / elevated / high / critical), action "
"items pulled from the last 24 hours, brute-force lockouts, anomalous logins, "
"top attacker IPs and which usernames they are guessing. The same overview "
"also appears as a widget on your main WordPress dashboard."
msgstr ""
"Un punteggio di minaccia da 0 a 100 (calmo / elevato / alto / critico), "
"azioni consigliate ricavate dalle ultime 24 ore, blocchi per forza bruta, "
"accessi anomali, principali IP attaccanti e quali nomi utente stanno "
"provando. La stessa panoramica appare anche come widget nella bacheca "
"principale di WordPress."

#: includes/class-shieldforge-admin-intros.php:39
msgid "Should I do anything?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:40
msgid ""
"On a calm day: nothing. The score stays low, no action items, and you can "
"close the tab. On a busy day, the action items are clickable shortcuts that "
"take you to the relevant tool — no detective work required."
msgstr ""
"In una giornata tranquilla: niente. Il punteggio resta basso, nessuna azione "
"da intraprendere e puoi chiudere la scheda. In una giornata movimentata, le "
"azioni da intraprendere sono scorciatoie cliccabili che ti portano allo "
"strumento giusto — nessun lavoro da detective richiesto."

#: includes/class-shieldforge-admin-intros.php:41
msgid "How the score is calculated"
msgstr "Come viene calcolato il punteggio"

#: includes/class-shieldforge-admin-intros.php:42
msgid ""
"Four signal groups, each capped at 25 points so no single noisy signal can "
"push the score on its own: failed-login volume, distinct attacker IPs, "
"probing density (bots scanning your site for known files), and escalation "
"signals (lockouts + anomalies + file changes + malware hits). The breakdown "
"is shown in the daily digest email."
msgstr ""
"Quattro gruppi di segnali, ognuno limitato a 25 punti, così nessun singolo "
"segnale rumoroso può spingere il punteggio da solo: volume di accessi "
"falliti, IP attaccanti distinti, densità di probing (bot che scandagliano il "
"tuo sito alla ricerca di file noti) e segnali di escalation (lockout + "
"anomalie + modifiche ai file + rilevamenti malware). La ripartizione è "
"mostrata nell'email di riepilogo giornaliero."

#: includes/class-shieldforge-admin-intros.php:48
msgid ""
"<strong>Stops password-guessing attacks.</strong> When someone (or a bot) "
"tries to log in too often with the wrong password, Brainwerk Security Suite "
"locks them out — by IP and by account."
msgstr ""
"<strong>Ferma gli attacchi che provano a indovinare le password.</strong> "
"Quando qualcuno (o un bot) tenta di accedere troppe volte con la password "
"sbagliata, Brainwerk Security Suite lo blocca — per IP e per account."

#: includes/class-shieldforge-admin-intros.php:50
msgid "Why two kinds of lockout?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:51
msgid ""
"IP-based lockout works against a single attacker hammering your site from "
"one IP. But modern botnets rotate through hundreds of IPs to avoid that — so "
"we ALSO lock the targeted account itself. After a configurable number of "
"failed attempts, that username is locked for a configurable window. "
"Attackers can't bypass it just by changing IP."
msgstr ""
"Il blocco basato su IP funziona contro un singolo attaccante che martella il "
"tuo sito da un solo IP. Ma le botnet moderne ruotano centinaia di IP per "
"evitarlo — perciò blocchiamo ANCHE l'account preso di mira. Dopo un numero "
"configurabile di tentativi falliti, quel nome utente viene bloccato per una "
"finestra configurabile. Gli attaccanti non possono aggirarlo semplicemente "
"cambiando IP."

#: includes/class-shieldforge-admin-intros.php:52
msgid "Safe defaults"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:53
msgid ""
"5 wrong tries within 5 minutes locks the IP for 30 minutes. 8 wrong tries "
"within 15 minutes locks the account for 15 minutes. These defaults catch "
"automated attacks without locking out real users who fat-fingered their "
"password."
msgstr ""
"5 tentativi errati entro 5 minuti bloccano l'IP per 30 minuti. 8 tentativi "
"errati entro 15 minuti bloccano l'account per 15 minuti. Queste impostazioni "
"predefinite intercettano gli attacchi automatizzati senza escludere gli "
"utenti reali che hanno solo sbagliato a digitare la password."

#: includes/class-shieldforge-admin-intros.php:54
msgid "I'm on a CDN — will it see real IPs?"
msgstr "Uso una CDN — vedrà gli IP reali?"

#: includes/class-shieldforge-admin-intros.php:55
msgid ""
"If your nginx/Apache forwards the original client IP via PROXY-protocol or X-"
"Forwarded-For, yes. The \"Healthcheck\" banner at the top warns you if all "
"visitors arrive as 127.0.0.1 — that means the chain is hiding the real IP "
"and brute-force protection would be useless without fixing the proxy first."
msgstr ""
"Se il tuo nginx/Apache inoltra l'IP originale del client tramite protocollo "
"PROXY o X-Forwarded-For, sì. Il banner \"Controllo di integrità\" in alto ti "
"avvisa se tutti i visitatori arrivano come 127.0.0.1 — significa che la "
"catena nasconde l'IP reale e la protezione contro la forza bruta sarebbe "
"inutile senza prima sistemare il proxy."

#: includes/class-shieldforge-admin-intros.php:61
msgid ""
"<strong>Two-factor authentication (2FA) — the single biggest defense against "
"stolen passwords.</strong> Even if someone gets your password, they still "
"need a 6-digit code from your phone to log in."
msgstr ""
"<strong>Autenticazione a due fattori (2FA) — la singola difesa più efficace "
"contro le password rubate.</strong> Anche se qualcuno ottiene la tua "
"password, gli serve comunque un codice a 6 cifre dal tuo telefono per "
"accedere."

#: includes/class-shieldforge-admin-intros.php:63
msgid "How does it work?"
msgstr "Come funziona?"

#: includes/class-shieldforge-admin-intros.php:64
msgid ""
"You install a free authenticator app on your phone (Google Authenticator, "
"Microsoft Authenticator, Authy, 2FAS — any of them). It generates a 6-digit "
"code that changes every 30 seconds. When you log in, you enter your password "
"as usual, then the current code from the app. Without the phone in hand, "
"your password is useless to an attacker."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:65
msgid "What if I lose my phone?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:66
msgid ""
"When you set up 2FA, you get 8 single-use recovery codes. Save them in your "
"password manager or print them out. Each one can be used exactly once "
"instead of an authenticator code. If you lose all 8 recovery codes too, an "
"admin (with manage_network_options capability) can disable 2FA for any user "
"from this tab."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:67
msgid "Setting it up"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:68
msgid ""
"This tab is the admin overview. The actual setup form is on each user's own "
"profile page — only you have the device, only you can enroll it. If \"Force "
"2FA for these roles\" is enabled, users in those roles see a warning until "
"they finish setup."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:74
msgid ""
"<strong>Closes off WordPress's \"default doors\" that attackers always try "
"first.</strong> Each toggle here disables a feature that 99% of sites don't "
"use but that 100% of bots probe for."
msgstr ""
"<strong>Chiude le \"porte predefinite\" di WordPress che gli attaccanti "
"provano sempre per prime.</strong> Ogni interruttore qui disattiva una "
"funzione che il 99% dei siti non usa ma che il 100% dei bot sonda."

#: includes/class-shieldforge-admin-intros.php:76
msgid "What gets turned off?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:77
msgid ""
"XML-RPC (a legacy API used by very old mobile apps — modern apps use REST). "
"The in-admin file editor (lets a logged-in admin edit theme/plugin files "
"directly — usable as a one-click backdoor if your account is hijacked). "
"Author enumeration (visiting /?author=1 reveals usernames). The WordPress "
"version string in the page source (lets bots match against vulnerability "
"databases). REST API access for anonymous visitors to sensitive endpoints "
"(users, comments, search)."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:78
msgid "Will this break my site?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:79
msgid ""
"Almost never. None of these are used by normal visitors or modern themes/"
"plugins. The few cases where it matters: if you use Jetpack with the "
"WordPress mobile app or a third-party scheduler that POSTs via XML-RPC, you "
"may need to leave XML-RPC on. Test after enabling each toggle if you have a "
"complex setup."
msgstr ""
"Quasi mai. Nessuna di queste funzioni è usata dai visitatori normali o da "
"temi/plugin moderni. I pochi casi in cui conta: se usi Jetpack con l'app "
"mobile di WordPress o uno scheduler di terze parti che invia POST via XML-"
"RPC, potresti dover lasciare attivo XML-RPC. Se hai una configurazione "
"complessa, fai un test dopo aver attivato ogni interruttore."

#: includes/class-shieldforge-admin-intros.php:80
msgid "What about more advanced hardening?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:81
msgid ""
"See the \"Hardening+\" tab for custom login URL, honeypot anti-bot, and "
"Content-Security-Policy headers — those are riskier (lockout potential) so "
"they live separately and ship default-OFF."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:87
msgid ""
"<strong>Three layered defenses for sites that want more than the basics.</"
"strong> Each can lock you out if misconfigured — read carefully before "
"enabling."
msgstr ""
"<strong>Tre difese stratificate per i siti che vogliono più del minimo.</"
"strong> Ognuna può bloccarti fuori se configurata male — leggi con "
"attenzione prima di attivarla."

#: includes/class-shieldforge-admin-intros.php:90
msgid ""
"Move /wp-login.php to a path of your choosing. Bots blindly hammer /wp-login."
"php — they'll get a 404 and move on. Crucial lockout-recovery: add a "
"SHIELDFORGE_LOGIN_RESCUE constant to wp-config.php BEFORE enabling this. If "
"you forget your slug, the rescue token brings you back."
msgstr ""
"Sposta /wp-login.php su un percorso a tua scelta. I bot martellano "
"ciecamente /wp-login.php — riceveranno un 404 e passeranno oltre. Recupero "
"dal blocco cruciale: aggiungi una costante SHIELDFORGE_LOGIN_RESCUE a wp-"
"config.php PRIMA di attivarlo. Se dimentichi il tuo slug, il token di "
"soccorso ti fa rientrare."

#: includes/class-shieldforge-admin-intros.php:92
msgid ""
"A hidden field is added to login / register / comment forms. Real users "
"never see it. Bots fill every visible field — submissions with the hidden "
"field non-empty are blocked. 100% local, no Google reCAPTCHA, no third-party "
"data transfer. Stops the dumb mass-bot 90% with zero user friction."
msgstr ""
"Un campo nascosto viene aggiunto ai moduli di login / registrazione / "
"commento. Gli utenti reali non lo vedono mai. I bot compilano ogni campo "
"visibile — gli invii con il campo nascosto non vuoto vengono bloccati. 100% "
"locale, niente Google reCAPTCHA, nessun trasferimento di dati a terzi. Ferma "
"il 90% dei bot di massa più banali senza alcun attrito per l'utente."

#: includes/class-shieldforge-admin-intros.php:93
msgid "Security HTTP headers (incl. CSP)"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:94
msgid ""
"Each header is set ONLY if your nginx/Apache doesn't already send it. CSP "
"(Content-Security-Policy) is off by default because a wrong policy can blank "
"out your site — turn it on in Report-Only mode first, watch the browser "
"console for violations, then enforce."
msgstr ""
"Ogni header viene impostato SOLO se il tuo nginx/Apache non lo invia già. La "
"CSP (Content-Security-Policy) è disattivata per impostazione predefinita "
"perché una policy sbagliata può rendere il sito una pagina bianca — attivala "
"prima in modalità Report-Only, osserva le violazioni nella console del "
"browser, poi applicala."

#: includes/class-shieldforge-admin-intros.php:100
msgid ""
"<strong>Currently-blocked IPs and how long they stay blocked.</strong> This "
"is the live consequence of the brute-force protection on the Login tab."
msgstr ""
"<strong>Gli IP attualmente bloccati e per quanto tempo restano bloccati.</"
"strong> È la conseguenza in tempo reale della protezione contro la forza "
"bruta nella scheda Login."

#: includes/class-shieldforge-admin-intros.php:102
msgid "How does an IP get on this list?"
msgstr "Come finisce un IP in questo elenco?"

#: includes/class-shieldforge-admin-intros.php:103
msgid ""
"Either automatically (it tripped the brute-force threshold and got auto-"
"blocked for the configured lockout duration) or manually (you clicked "
"\"Block this IP\" on the Logs tab)."
msgstr ""
"O automaticamente (ha superato la soglia anti forza bruta ed è stato "
"bloccato in automatico per la durata di blocco configurata) o manualmente "
"(hai cliccato \"Blocca questo IP\" nella scheda Log)."

#: includes/class-shieldforge-admin-intros.php:104
msgid "Can I unblock someone?"
msgstr "Posso sbloccare qualcuno?"

#: includes/class-shieldforge-admin-intros.php:105
msgid ""
"Yes — every row has an \"Unblock\" link. Useful when you locked yourself out "
"by typing your own password wrong too many times."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:106
msgid "Does this stop ALL traffic from the IP?"
msgstr "Questo ferma TUTTO il traffico dall'IP?"

#: includes/class-shieldforge-admin-intros.php:107
msgid ""
"No — only login attempts. The block prevents further password guessing but "
"doesn't stop the IP from reading public pages. For full IP-blocking, use a "
"Pro feature like Geo-blocking or Cloud Threat Intel, or block at the "
"firewall/CDN layer."
msgstr ""
"No — solo i tentativi di accesso. Il blocco impedisce ulteriori tentativi di "
"indovinare la password ma non impedisce all'IP di leggere le pagine "
"pubbliche. Per un blocco IP completo, usa una funzione Pro come il geo-"
"blocking o la Cloud Threat Intel, oppure blocca a livello di firewall/CDN."

#: includes/class-shieldforge-admin-intros.php:108
msgid "Crawler rate-limiting (further down this page)"
msgstr "Limitazione dei crawler (più in basso in questa pagina)"

#: includes/class-shieldforge-admin-intros.php:109
msgid ""
"Caps how many requests per minute a single IP may make — with separate, "
"stricter budgets for crawlers. Genuine search engines (Google, Bing, Apple, "
"Yandex, Baidu) are verified via reverse-DNS and never throttled; bots FAKING "
"a Googlebot user-agent are blocked outright. Logged-in users and whitelisted "
"IPs are always exempt. Off by default."
msgstr ""
"Limita quante richieste al minuto può fare un singolo IP — con budget "
"separati e più severi per i crawler. I motori di ricerca autentici (Google, "
"Bing, Apple, Yandex, Baidu) vengono verificati tramite reverse-DNS e mai "
"rallentati; i bot che FINGONO uno user-agent Googlebot vengono bloccati "
"subito. Gli utenti che hanno effettuato l'accesso e gli IP in whitelist sono "
"sempre esenti. Disattivato per impostazione predefinita."

#: includes/class-shieldforge-admin-intros.php:112
msgid "The blocked source IP (or anonymized /24 if IP anonymization is on)."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:113
msgid ""
"Why the block was created — typically `bf_threshold` (brute-force) or "
"`admin_quick_block` (you blocked manually)."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:114
msgid "Blocked until"
msgstr "Bloccato fino a"

#: includes/class-shieldforge-admin-intros.php:114
msgid ""
"When the block expires automatically. After this time the IP can attempt "
"logins again."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:115
msgid ""
"\"Unblock\" removes the entry immediately — useful if you locked yourself "
"out."
msgstr ""
"\"Sblocca\" rimuove immediatamente la voce — utile se ti sei bloccato fuori "
"da solo."

#: includes/class-shieldforge-admin-intros.php:121
msgid ""
"<strong>Knows what every PHP file on your site SHOULD look like, and tells "
"you when one suddenly changes.</strong> The earliest warning that something "
"compromised your site."
msgstr ""
"<strong>Sa che aspetto DOVREBBE avere ogni file PHP del tuo sito e ti avvisa "
"quando uno cambia all'improvviso.</strong> Il primissimo segnale che "
"qualcosa ha compromesso il tuo sito."

#: includes/class-shieldforge-admin-intros.php:123
msgid "How does it know what is \"normal\"?"
msgstr "Come fa a sapere cosa è \"normale\"?"

#: includes/class-shieldforge-admin-intros.php:124
msgid ""
"On the first run, it computes a SHA-256 hash of every PHP file under "
"WordPress core, your plugins, your themes, and mu-plugins. That's your "
"\"baseline\" — typically 5,000 to 15,000 files. After that, the daily scan "
"re-hashes everything and tells you about anything that was added, modified, "
"or deleted."
msgstr ""
"Alla prima esecuzione calcola un hash SHA-256 di ogni file PHP nel core di "
"WordPress, nei tuoi plugin, nei tuoi temi e nei mu-plugin. Questa è la tua "
"\"baseline\" — tipicamente da 5.000 a 15.000 file. Dopo, la scansione "
"giornaliera ricalcola gli hash di tutto e ti segnala qualsiasi cosa sia "
"stata aggiunta, modificata o eliminata."

#: includes/class-shieldforge-admin-intros.php:125
msgid "But files change all the time when I update plugins!"
msgstr "Ma i file cambiano in continuazione quando aggiorno i plugin!"

#: includes/class-shieldforge-admin-intros.php:126
msgid ""
"Right — every time WordPress installs an update, hundreds of files change. "
"The scanner picks those up too, but they appear bunched up at the time of "
"the update — you'll recognize them. The dangerous ones are the changes that "
"happen WITHOUT an update — those are the ones to investigate."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:127
msgid "And the malware-pattern checks?"
msgstr "E i controlli dei pattern malware?"

#: includes/class-shieldforge-admin-intros.php:128
msgid ""
"For every new or changed file, Brainwerk Security Suite runs 16 regex rules "
"looking for hostile patterns: eval(base64_decode(...)), known web shells "
"(c99/r57/WSO), inline admin-user-creation, password-cookie hijacks. Findings "
"show the exact line and code snippet. False-positive rate is very low."
msgstr ""
"Per ogni file nuovo o modificato, Brainwerk Security Suite esegue 16 regole "
"regex alla ricerca di pattern ostili: eval(base64_decode(...)), web shell "
"note (c99/r57/WSO), creazione inline di utenti admin, hijack di cookie di "
"password. I rilevamenti mostrano la riga esatta e il frammento di codice. Il "
"tasso di falsi positivi è molto basso."

#: includes/class-shieldforge-admin-intros.php:129
msgid "Privacy"
msgstr "Privacy"

#: includes/class-shieldforge-admin-intros.php:130
msgid ""
"100% local. No file contents leave your server. The scan results stay in "
"your own database."
msgstr ""
"100% locale. Nessun contenuto di file lascia il tuo server. I risultati "
"della scansione restano nel tuo database."

#: includes/class-shieldforge-admin-intros.php:131
msgid "Repository integrity check (further down this page)"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:132
msgid ""
"Compares every wp.org-hosted plugin and theme file against the official "
"checksums from wordpress.org. A modified, missing or extra file means "
"someone may have tampered with the package — it is reported here so you can "
"inspect it and reinstall the clean copy from wordpress.org the standard way. "
"Plugins/themes NOT from wp.org are listed as \"unverifiable\" and never "
"touched."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:135
msgid "UTC timestamp of when the scanner found the change."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:136
msgid ""
"What changed: <code>file added</code> (new file appeared), <code>file "
"changed</code> (existing file modified), <code>file missing</code> (file "
"deleted), <code>malware suspect</code> (suspicious code pattern detected)."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:137
msgid ""
"Path of the affected file relative to your WordPress root. For malware hits "
"the rule ID and a code snippet are shown below the path."
msgstr ""
"Percorso del file interessato relativo alla root di WordPress. Per i "
"rilevamenti malware, sotto il percorso vengono mostrati l'ID della regola e "
"un frammento di codice."

#: includes/class-shieldforge-admin-intros.php:138
msgid ""
"<code>info</code> = informational, <code>warn</code> = worth checking, "
"<code>high</code> = file in WP core or admin (very suspicious), "
"<code>critical</code> = known web shell signature."
msgstr ""
"<code>info</code> = informativo, <code>warn</code> = da controllare, "
"<code>high</code> = file nel core o nell'area admin di WP (molto sospetto), "
"<code>critical</code> = firma nota di web shell."

#: includes/class-shieldforge-admin-intros.php:139
msgid ""
"\"Re-baseline\" accepts the current state as the new normal (the change "
"won't be reported again). \"Whitelist\" suppresses all future alerts for "
"this exact path."
msgstr ""
"\"Nuova baseline\" accetta lo stato attuale come nuova normalità (la "
"modifica non verrà più segnalata). \"Whitelist\" sopprime tutti gli avvisi "
"futuri per questo percorso esatto."

#: includes/class-shieldforge-admin-intros.php:145
msgid ""
"<strong>Tells you which of your installed plugins/themes have known security "
"holes — and which version fixes them.</strong> Most WordPress hacks happen "
"via outdated plugins; this tab tells you which ones to update first."
msgstr ""
"<strong>Ti dice quali dei plugin/temi installati hanno falle di sicurezza "
"note — e quale versione le corregge.</strong> La maggior parte degli hack di "
"WordPress avviene tramite plugin obsoleti; questa scheda ti dice quali "
"aggiornare per primi."

#: includes/class-shieldforge-admin-intros.php:147
msgid "Where does the data come from?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:148
msgid ""
"A daily check against the wpvulnerability.net public database (free, EU-"
"hosted, no API key). For every plugin and theme installed on your site, "
"Brainwerk Security Suite sends ONLY the slug + version (e.g. \"contact-"
"form-7 / 5.3.1\") — no site URL, no admin email, no IP. The response is a "
"list of CVE-IDs that affect your version, with the version that fixes them."
msgstr ""
"Un controllo giornaliero sul database pubblico wpvulnerability.net "
"(gratuito, ospitato in UE, senza chiave API). Per ogni plugin e tema "
"installato sul tuo sito, Brainwerk Security Suite invia SOLO slug + versione "
"(es. \"contact-form-7 / 5.3.1\") — nessun URL del sito, nessuna email "
"dell'amministratore, nessun IP. La risposta è un elenco di CVE-ID che "
"riguardano la tua versione, con l'indicazione della versione che le corregge."

#: includes/class-shieldforge-admin-intros.php:149
msgid "Active vs inactive plugins"
msgstr "Plugin attivi vs inattivi"

#: includes/class-shieldforge-admin-intros.php:150
msgid ""
"Vulnerabilities on ACTIVE components are dangerous — fix immediately. "
"Vulnerabilities on INACTIVE plugins are usually unreachable but still worth "
"removing (less attack surface, fewer files to maintain). The dashboard "
"widget only nags about active critical ones to avoid alert fatigue."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:151
msgid "CVSS scores explained"
msgstr "I punteggi CVSS spiegati"

#: includes/class-shieldforge-admin-intros.php:152
msgid ""
"CVSS is a 0-10 severity score. 9.0+ = critical (often remote code "
"execution), 7.0-8.9 = high, 4.0-6.9 = medium, below 4.0 = low. Anything 7.0+ "
"on an active plugin should be patched this week, not \"soon\"."
msgstr ""
"Il CVSS è un punteggio di gravità da 0 a 10. 9.0+ = critico (spesso "
"esecuzione di codice remoto), 7.0-8.9 = alto, 4.0-6.9 = medio, sotto 4.0 = "
"basso. Qualsiasi 7.0+ su un plugin attivo va corretto questa settimana, non "
"\"prima o poi\"."

#: includes/class-shieldforge-admin-intros.php:153
msgid "Disable the scan"
msgstr "Disattiva la scansione"

#: includes/class-shieldforge-admin-intros.php:154
msgid ""
"If you want fully air-gapped operation, untick \"Enable scanner\" below — no "
"outbound calls at all. Brainwerk Security Suite stays useful but you lose "
"the early-warning on plugin CVEs."
msgstr ""
"Se vuoi un funzionamento completamente isolato, deseleziona \"Attiva lo "
"scanner\" qui sotto — nessuna chiamata in uscita. Brainwerk Security Suite "
"resta utile, ma perdi l'allarme precoce sui CVE dei plugin."

#: includes/class-shieldforge-admin-intros.php:157
msgid ""
"Plugin / theme name with its slug below (the slug is what we send to the "
"vulnerability API)."
msgstr ""
"Nome del plugin / tema con il suo slug sotto (lo slug è ciò che inviamo "
"all'API delle vulnerabilità)."

#: includes/class-shieldforge-admin-intros.php:158
msgid ""
"The version installed on your site right now. Compare to \"Fixed in\" below "
"to see if you need to update."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:159
msgid ""
"<code>active</code> (red dot) = currently in use — patch THIS WEEK. "
"<code>inactive</code> = installed but not running — not exploitable but "
"still worth removing."
msgstr ""
"<code>active</code> (punto rosso) = attualmente in uso — applica la patch "
"QUESTA SETTIMANA. <code>inactive</code> = installato ma non in esecuzione — "
"non sfruttabile ma comunque da rimuovere."

#: includes/class-shieldforge-admin-intros.php:160
msgid ""
"Short name of the CVE. The badge next to it is the CVSS score (0–10): 9.0+ "
"critical, 7.0–8.9 high, 4.0–6.9 medium. \"No patch available\" means the "
"vendor has not released a fix yet."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:161
msgid ""
"The plugin/theme version that fixes this CVE. Update to this version (or "
"newer) to close the hole."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:162
msgid ""
"Public CVE-IDs (clickable, opens the official advisory). EUVD = EU "
"Vulnerability Database mirror."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:168
msgid ""
"<strong>Spots logins that look unusual for a given user — without sending "
"data to any cloud.</strong> \"You normally log in from Vienna at 9am — this "
"3am attempt from Russia looks weird.\""
msgstr ""
"<strong>Individua gli accessi che appaiono insoliti per un determinato "
"utente — senza inviare dati ad alcun cloud.</strong> \"Di solito accedi da "
"Vienna alle 9 — questo tentativo delle 3 di notte dalla Russia sembra strano."
"\""

#: includes/class-shieldforge-admin-intros.php:170
msgid "How does it learn what's \"normal\"?"
msgstr "Come impara cosa è \"normale\"?"

#: includes/class-shieldforge-admin-intros.php:171
msgid ""
"After each successful login, Brainwerk Security Suite updates a small per-"
"user statistical baseline: which hours of the day you usually log in, which "
"IP family (residential / datacenter / mobile / unknown), and which type of "
"browser (modern / legacy / bot-like). The baseline becomes meaningful after "
"about 5 logins per user."
msgstr ""
"Dopo ogni accesso riuscito, Brainwerk Security Suite aggiorna una piccola "
"baseline statistica per utente: in quali ore del giorno accedi di solito, da "
"quale famiglia di IP (residenziale / datacenter / mobile / sconosciuta) e "
"con quale tipo di browser (moderno / legacy / simile a un bot). La baseline "
"diventa significativa dopo circa 5 accessi per utente."

#: includes/class-shieldforge-admin-intros.php:172
msgid "How does scoring work?"
msgstr "Come funziona il punteggio?"

#: includes/class-shieldforge-admin-intros.php:173
msgid ""
"Each new login is compared to the baseline using a Z-score (how far is this "
"from your normal pattern). A score of 0-100 is computed; above the alert "
"threshold the event is logged as severity HIGH and shown in the digest with "
"an explanation (\"logged in at 3am from a datacenter IP — your usual is "
"daytime from a residential IP\")."
msgstr ""
"Ogni nuovo accesso viene confrontato con la baseline tramite uno Z-score "
"(quanto si discosta dal tuo pattern normale). Viene calcolato un punteggio "
"0-100; oltre la soglia di avviso l'evento viene registrato con severità HIGH "
"e mostrato nel riepilogo con una spiegazione (\"accesso alle 3 di notte da "
"un IP di datacenter — di solito accedi di giorno da un IP residenziale\")."

#: includes/class-shieldforge-admin-intros.php:174
msgid "No cloud, no AI"
msgstr "Niente cloud, niente IA"

#: includes/class-shieldforge-admin-intros.php:175
msgid ""
"This is pure local statistics. No machine learning, no model server, no data "
"leaves the site. Explainable: every flagged event tells you which signal "
"triggered it."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:181
msgid ""
"<strong>Who changed what, when.</strong> A complete trail of post edits, "
"user changes, plugin/theme updates, and security-relevant setting changes. "
"Useful for incident response and DSGVO Art. 32 compliance."
msgstr ""
"<strong>Chi ha cambiato cosa e quando.</strong> Una traccia completa di "
"modifiche agli articoli, modifiche agli utenti, aggiornamenti di plugin/temi "
"e modifiche alle impostazioni rilevanti per la sicurezza. Utile per la "
"risposta agli incidenti e la conformità all'art. 32 GDPR."

#: includes/class-shieldforge-admin-intros.php:183
msgid "What gets recorded?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:184
msgid ""
"Post edits (who edited which post, what fields changed — but NOT the post "
"body, for privacy + log size). User changes (someone updated their email, "
"role, password). Plugin/theme/core updates. Security-sensitive options "
"(siteurl, admin_email, \"anyone can register\", default-role-for-new-users, "
"network site_admins)."
msgstr ""
"Modifiche agli articoli (chi ha modificato quale articolo, quali campi sono "
"cambiati — ma NON il corpo dell'articolo, per privacy + dimensione dei log). "
"Modifiche agli utenti (qualcuno ha aggiornato email, ruolo, password). "
"Aggiornamenti di plugin/temi/core. Opzioni sensibili per la sicurezza "
"(siteurl, admin_email, \"chiunque può registrarsi\", ruolo predefinito per i "
"nuovi utenti, site_admins del network)."

#: includes/class-shieldforge-admin-intros.php:185
msgid "What does NOT get recorded?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:186
msgid ""
"The actual content of post edits (avoid leaking drafts into logs). Password "
"values (only \"[changed]\" markers). Hundreds of harmless WordPress option-"
"write spam (transients, cache markers). Auto-drafts and revisions and nav-"
"menu items (skipped by default — too noisy)."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:187
msgid "When is this useful?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:188
msgid ""
"Three scenarios: (1) Something broke yesterday — the audit log shows what "
"was changed. (2) Compliance — DSGVO Art. 32 requires \"measures for security "
"of processing\" and a paper trail is one. (3) Incident response after a hack "
"— see exactly what the attacker touched after they got in."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:191
msgid "UTC timestamp of when the change happened."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:192
msgid ""
"The user who made the change (clickable — links to the user-edit screen). "
"\"system / cron\" means it was an automated WP process, not a person."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:193
msgid ""
"Type of change: <code>post updated</code>, <code>user profile updated</"
"code>, <code>option changed</code>, <code>plugin activated</code>, etc."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:194
msgid ""
"The specific object changed: post title and ID, plugin file, option name "
"with old→new values. For password and similar sensitive fields you only see "
"\"[changed]\"."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:195
msgid ""
"Source IP of the change (anonymized to /24 by default). Useful when "
"investigating \"who did this from where\"."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:201
msgid ""
"<strong>The raw event stream — every login, block, anomaly, file change, "
"vulnerability finding.</strong> Where you go when you need to dig into "
"\"what happened at 03:47 last Tuesday\"."
msgstr ""
"<strong>Il flusso grezzo degli eventi — ogni login, blocco, anomalia, "
"modifica di file, vulnerabilità rilevata.</strong> Il posto dove andare "
"quando devi scoprire \"cosa è successo alle 03:47 di martedì scorso\"."

#: includes/class-shieldforge-admin-intros.php:203
msgid "Filter and search"
msgstr "Filtra e cerca"

#: includes/class-shieldforge-admin-intros.php:204
msgid ""
"You can narrow the list by event type, severity, IP, username, or date "
"range. Click \"Block this IP\" or \"Unblock\" inline — no need to switch "
"tabs. The default view is the latest 50; pagination shows older entries."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:205
msgid "How long are logs kept?"
msgstr "Per quanto tempo vengono conservati i log?"

#: includes/class-shieldforge-admin-intros.php:206
msgid ""
"Configurable retention, default 30 days. A daily cleanup cron drops anything "
"older. If you want to keep them longer for compliance, increase the "
"retention setting on the Privacy / GDPR tab."
msgstr ""
"Conservazione configurabile, predefinita 30 giorni. Un cron di pulizia "
"giornaliero elimina tutto ciò che è più vecchio. Se vuoi conservarli più a "
"lungo per motivi di conformità, aumenta l'impostazione di conservazione "
"nella scheda Privacy / GDPR."

#: includes/class-shieldforge-admin-intros.php:207
msgid "Audit-only view?"
msgstr "Vista solo audit?"

#: includes/class-shieldforge-admin-intros.php:208
msgid ""
"For who-changed-what queries (post edits, user changes, plugin updates), use "
"the Audit tab — it shows the same data filtered to just the audit-trail "
"events with prettier per-event-type rendering."
msgstr ""
"Per le ricerche su chi-ha-cambiato-cosa (modifiche agli articoli, modifiche "
"agli utenti, aggiornamenti di plugin), usa la scheda Audit — mostra gli "
"stessi dati filtrati ai soli eventi del registro di audit, con una resa più "
"curata per tipo di evento."

#: includes/class-shieldforge-admin-intros.php:211
msgid ""
"Server timestamp in UTC. Note: NOT in your local timezone — this avoids "
"ambiguity when investigating across time zones / daylight savings."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:212
msgid ""
"What happened. Common ones: <code>login_success</code>, <code>login_failure</"
"code>, <code>login_blocked</code> (BF lockout active), "
"<code>bruteforce_lockout</code> (a new IP just got blocked), "
"<code>probing_404</code> (bot tried a known sensitive URL), "
"<code>anomaly_detected</code> (login that doesn't match the user's usual "
"pattern), <code>hardening_block</code> (REST/honeypot/geo-block fired), "
"<code>file_added/changed/missing</code>, <code>malware_suspect</code>, "
"<code>vulnerability_found</code>, <code>2fa_required/passed/failed</code>."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:213
msgid ""
"<code>info</code> = normal activity, <code>warn</code> = worth a glance, "
"<code>high</code> = important investigate, <code>critical</code> = fire-on-"
"the-roof. Severity decides which events trigger real-time email and "
"dashboard nags."
msgstr ""
"<code>info</code> = attività normale, <code>warn</code> = merita "
"un'occhiata, <code>high</code> = importante, da indagare, <code>critical</"
"code> = emergenza assoluta. La severità decide quali eventi attivano le "
"email in tempo reale e gli avvisi in bacheca."

#: includes/class-shieldforge-admin-intros.php:214
msgid ""
"Source IP of the request. Anonymized to /24 (IPv4) or /64 (IPv6) by default "
"— turn that off in Privacy / GDPR if you need full IPs for forensics."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:215
msgid ""
"Username being attempted (for login events) or the user who triggered the "
"event. May be hashed if pseudonymization is enabled."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:216
msgid "Context"
msgstr "Contesto"

#: includes/class-shieldforge-admin-intros.php:216
msgid ""
"JSON blob with event-specific extras: paths for file events, CVE IDs for "
"vulnerability events, the rule that matched for malware, the score breakdown "
"for anomalies. The \"_v\" field is the plugin version that wrote the event — "
"useful when triaging post-update bugs."
msgstr ""
"Blob JSON con extra specifici per evento: percorsi per gli eventi sui file, "
"ID CVE per gli eventi di vulnerabilità, la regola corrispondente per il "
"malware, la ripartizione del punteggio per le anomalie. Il campo \"_v\" è la "
"versione del plugin che ha scritto l'evento — utile nel triage di bug dopo "
"un aggiornamento."

#: includes/class-shieldforge-admin-intros.php:217
msgid ""
"\"Block this IP\" creates a manual firewall block on the IP for the "
"configured lockout duration. \"Unblock\" removes an existing block. No "
"\"delete event\" — events stay until the retention cutoff."
msgstr ""
"\"Blocca questo IP\" crea un blocco firewall manuale sull'IP per la durata "
"di blocco configurata. \"Sblocca\" rimuove un blocco esistente. Non esiste "
"\"elimina evento\" — gli eventi restano fino al limite di conservazione."

#: includes/class-shieldforge-admin-intros.php:223
msgid ""
"<strong>Email alerts on critical events + a daily summary.</strong> The "
"daily digest is the single most important email — pure ASCII, works with "
"every mail provider, and tells you in 30 seconds if something needs "
"attention."
msgstr ""
"<strong>Avvisi email sugli eventi critici + un riepilogo giornaliero.</"
"strong> Il riepilogo giornaliero è l'email più importante in assoluto — puro "
"ASCII, funziona con qualsiasi provider di posta e ti dice in 30 secondi se "
"qualcosa richiede attenzione."

#: includes/class-shieldforge-admin-intros.php:225
msgid "Real-time alerts"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:226
msgid ""
"Sent immediately when critical events fire: brute-force lockouts, new admin "
"users, anomalous logins, malware-pattern hits. Quiet hours can suppress non-"
"critical alerts overnight, with critical ones overriding the silence."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:228
msgid ""
"One email per day with the threat score, 24h-vs-7d trend, top attacker IPs, "
"top targeted usernames, top probing patterns, vulnerable active components, "
"and an ASCII heatmap of the last 24 hours. Pure-ASCII so it survives every "
"mail pipeline (php mail / classic SMTP / OAuth-SMTP / Microsoft Graph) "
"without character corruption."
msgstr ""
"Un'email al giorno con il punteggio di minaccia, il trend 24h-vs-7g, i "
"principali IP attaccanti, i principali nomi utente presi di mira, i "
"principali pattern di probing, i componenti attivi vulnerabili e una heatmap "
"ASCII delle ultime 24 ore. Puro ASCII, così sopravvive a ogni pipeline di "
"posta (php mail / SMTP classico / OAuth-SMTP / Microsoft Graph) senza "
"corruzione dei caratteri."

#: includes/class-shieldforge-admin-intros.php:229
msgid "Where is this digest from?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:230
msgid ""
"Same data the dashboard widget shows, formatted for inbox consumption. The "
"bottom of every email tells the recipient how to disable it — important so "
"you don't train people to ignore them."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:236
msgid ""
"<strong>Network-wide settings + per-site overrides for WordPress Multisite "
"installations.</strong> Configure once at the network level, override only "
"where needed."
msgstr ""
"<strong>Impostazioni a livello di network + override per singolo sito per le "
"installazioni WordPress Multisite.</strong> Configura una volta a livello di "
"network, sovrascrivi solo dove serve."

#: includes/class-shieldforge-admin-intros.php:238
msgid "How configuration cascades"
msgstr "Come si propaga la configurazione"

#: includes/class-shieldforge-admin-intros.php:239
msgid ""
"On Multisite, Brainwerk Security Suite stores defaults in network-options "
"(sitemeta), and any setting saved at a single-site level overrides them just "
"for that site. Most network admins set strict defaults and let nothing "
"override; agencies that host clients on subsites can give each client their "
"own thresholds."
msgstr ""
"Su Multisite, Brainwerk Security Suite memorizza i valori predefiniti nelle "
"network-options (sitemeta), e qualsiasi impostazione salvata a livello di "
"singolo sito li sovrascrive solo per quel sito. La maggior parte degli "
"amministratori di network imposta valori predefiniti severi senza permettere "
"override; le agenzie che ospitano clienti su sottositi possono dare a ogni "
"cliente le proprie soglie."

#: includes/class-shieldforge-admin-intros.php:240
msgid "Aggregate dashboard"
msgstr "Dashboard aggregata"

#: includes/class-shieldforge-admin-intros.php:241
msgid ""
"The cross-site stats appear in the network-admin dashboard widget — you see "
"\"12 lockouts across 7 sites in the last 24h\" instead of 12 separate single-"
"site widgets."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:242
msgid "Single-site install?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:243
msgid ""
"This tab is only meaningful on Multisite. On a single-site install you can "
"ignore it — every setting saves to that one site's options."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:249
msgid ""
"<strong>What data Brainwerk Security Suite stores about your visitors, and "
"your DSGVO/GDPR controls for it.</strong> This is the page you copy-paste "
"from when updating your site's privacy policy."
msgstr ""
"<strong>Quali dati Brainwerk Security Suite memorizza sui tuoi visitatori e "
"i controlli GDPR a tua disposizione.</strong> È la pagina da cui copiare "
"quando aggiorni l'informativa sulla privacy del tuo sito."

#: includes/class-shieldforge-admin-intros.php:251
msgid "Default-on privacy"
msgstr "Privacy attiva per impostazione predefinita"

#: includes/class-shieldforge-admin-intros.php:252
msgid ""
"IP anonymization is on by default — IPv4 addresses are stored as /24 (e.g. "
"1.2.3.0), IPv6 as /64. Username pseudonymization is off by default but can "
"be turned on if you want only hashed usernames in the log. Log retention is "
"30 days; older entries are auto-deleted."
msgstr ""
"L'anonimizzazione IP è attiva per impostazione predefinita — gli indirizzi "
"IPv4 sono memorizzati come /24 (es. 1.2.3.0), gli IPv6 come /64. La "
"pseudonimizzazione dei nomi utente è disattivata per impostazione "
"predefinita, ma può essere attivata se vuoi solo nomi utente in hash nel "
"log. La conservazione dei log è di 30 giorni; le voci più vecchie vengono "
"eliminate automaticamente."

#: includes/class-shieldforge-admin-intros.php:253
msgid "Privacy-policy snippet generator"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:254
msgid ""
"The generator produces ready-to-paste DE/EN text describing what Brainwerk "
"Security Suite stores and for how long. Copy it into your "
"\"Datenschutzerklärung\" / \"Privacy Policy\" page so you have an honest, "
"accurate disclosure."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:255
msgid "External services"
msgstr "Servizi esterni"

#: includes/class-shieldforge-admin-intros.php:256
msgid ""
"The free plugin makes ONE outbound call: the daily vulnerability check sends "
"slug+version of installed plugins/themes to wpvulnerability.net. Nothing "
"else leaves your server. You can disable the scanner under \"Vulnerabilities "
"→ Settings\" if you prefer fully air-gapped operation."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:262
msgid ""
"<strong>Manual one-shot actions.</strong> Send a test email, force a log "
"cleanup, retroactively anonymize old log entries — things you do once or "
"twice, not in daily operation."
msgstr ""
"<strong>Azioni manuali una tantum.</strong> Invia un'email di prova, forza "
"una pulizia dei log, anonimizza retroattivamente le vecchie voci di log — "
"cose che fai una o due volte, non nell'operatività quotidiana."

#: includes/class-shieldforge-admin-intros.php:264
msgid "Test the alert email"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:265
msgid ""
"Sends a sample notification to the address configured under Notifications. "
"Use this to verify the email pipeline works (SMTP, Office 365 Graph, "
"whatever you use) BEFORE a real attack — better to find out the email goes "
"to spam now than during an incident."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:266
msgid "Cleanup logs now"
msgstr "Pulisci i log adesso"

#: includes/class-shieldforge-admin-intros.php:267
msgid ""
"Manually trigger the daily retention-cleanup. Useful right after you reduced "
"the retention setting and want the older entries gone immediately."
msgstr ""
"Avvia manualmente la pulizia giornaliera di conservazione. Utile subito dopo "
"aver ridotto l'impostazione di conservazione, se vuoi che le voci più "
"vecchie spariscano immediatamente."

#: includes/class-shieldforge-admin-intros.php:268
msgid "Retroactive IP anonymization"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:269
msgid ""
"If you turned anonymization ON after the plugin had already been collecting "
"raw IPs, this rewrites the historical entries to the anonymized form. One-"
"time operation — safe to run, irreversible."
msgstr ""
"Se hai attivato l'anonimizzazione DOPO che il plugin aveva già raccolto IP "
"in chiaro, questa operazione riscrive le voci storiche nella forma "
"anonimizzata. Operazione una tantum — sicura da eseguire, irreversibile."

#: includes/class-shieldforge-admin-intros.php:275
msgid ""
"<strong>The \"we think we've been hacked — now what?\" module.</strong> "
"Forensic triage, evidence preservation, staged lockdown and a written "
"incident report. It detects, preserves and reports — it never auto-deletes "
"anything."
msgstr ""
"<strong>Il modulo \"pensiamo di essere stati hackerati — e adesso?\".</"
"strong> Triage forense, conservazione delle prove, lockdown graduale e un "
"report scritto dell'incidente. Rileva, conserva e documenta — non elimina "
"mai nulla automaticamente."

#: includes/class-shieldforge-admin-intros.php:277
msgid "What is an \"incident\" here?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:278
msgid ""
"A suspected compromise: a web shell finding, an unexplained admin user, "
"files changing without an update. Instead of panicking, you start a "
"structured response from this tab: collect the facts, secure the evidence, "
"optionally restrict the site, and get a report you can hand to your host, "
"your boss, or the data-protection officer."
msgstr ""
"Una sospetta compromissione: una web shell rilevata, un utente "
"amministratore inspiegabile, file che cambiano senza un aggiornamento. "
"Invece di farti prendere dal panico, da questa scheda avvii una risposta "
"strutturata: raccogli i fatti, metti al sicuro le prove, eventualmente "
"limiti il sito e ottieni un report da consegnare al tuo hosting, al tuo capo "
"o al responsabile della protezione dei dati."

#: includes/class-shieldforge-admin-intros.php:279
msgid "Why no automatic cleanup?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:280
msgid ""
"Deliberate design decision: every destructive action is human-gated. "
"Automated \"cleaners\" routinely delete the evidence you need to understand "
"HOW the attacker got in — and if you don't know that, they'll be back "
"through the same door. This module preserves first, and lets YOU decide what "
"to remove."
msgstr ""
"Decisione di progettazione deliberata: ogni azione distruttiva richiede "
"l'intervento umano. I \"pulitori\" automatici eliminano regolarmente le "
"prove che ti servono per capire COME è entrato l'attaccante — e se non lo "
"sai, tornerà dalla stessa porta. Questo modulo prima conserva, e lascia "
"decidere a TE cosa rimuovere."

#: includes/class-shieldforge-admin-intros.php:281
msgid "Current status of the module"
msgstr "Stato attuale del modulo"

#: includes/class-shieldforge-admin-intros.php:282
msgid ""
"The foundation is live: incident records, the opt-in toggle and the manual "
"audit trigger. Automated triggers, the forensic engine and the staged "
"lockdown ship in upcoming phases — each one opt-in. Until then the tab is "
"safe to leave disabled."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:288
msgid ""
"<strong>Optional, privacy-preserving attack-data sharing between Brainwerk "
"Security Suite sites.</strong> Your site reports anonymized attacker "
"indicators; in return it receives a signed feed of threats seen across the "
"network — including virtual-patch firewall rules."
msgstr ""
"<strong>Condivisione opzionale e rispettosa della privacy dei dati sugli "
"attacchi tra i siti Brainwerk Security Suite.</strong> Il tuo sito segnala "
"indicatori anonimizzati sugli attaccanti; in cambio riceve un feed firmato "
"delle minacce osservate nella rete — incluse regole firewall di virtual "
"patching."

#: includes/class-shieldforge-admin-intros.php:290
msgid "What exactly leaves my server?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:291
msgid ""
"Only verified facts about blocked attacks: an irreversibly hashed IP "
"indicator (rotating weekly salt — no raw IPs, not even reversible by us), "
"the attack category, the matched rule, HTTP method and status. No URLs with "
"visitor data, no usernames, no e-mail addresses. The \"What was sent\" audit "
"list on this tab shows every single event, so you can verify this claim "
"yourself."
msgstr ""
"Solo fatti verificati sugli attacchi bloccati: un indicatore IP con hash "
"irreversibile (salt a rotazione settimanale — nessun IP in chiaro, non "
"reversibile nemmeno da noi), la categoria dell'attacco, la regola "
"corrispondente, il metodo HTTP e lo status. Nessun URL con dati dei "
"visitatori, nessun nome utente, nessun indirizzo email. L'elenco di audit "
"\"Cosa è stato inviato\" in questa scheda mostra ogni singolo evento, così "
"puoi verificare tu stesso questa affermazione."

#: includes/class-shieldforge-admin-intros.php:292
msgid "What do I get back?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:293
msgid ""
"A cryptographically signed (Ed25519) intel feed: attacker indicators "
"observed on multiple sites, and curated firewall rules (\"virtual patches\") "
"for actively exploited vulnerabilities. The plugin verifies the signature "
"against a pinned public key before applying anything — a tampered or spoofed "
"feed is rejected outright (fail-closed)."
msgstr ""
"Un feed di intelligence firmato crittograficamente (Ed25519): indicatori di "
"attaccanti osservati su più siti e regole firewall curate (\"virtual "
"patch\") per vulnerabilità attivamente sfruttate. Il plugin verifica la "
"firma rispetto a una chiave pubblica fissata prima di applicare qualsiasi "
"cosa — un feed manomesso o contraffatto viene rifiutato senza eccezioni "
"(fail-closed)."

#: includes/class-shieldforge-admin-intros.php:294
msgid "Is this on by default?"
msgstr "È attivo per impostazione predefinita?"

#: includes/class-shieldforge-admin-intros.php:295
msgid ""
"No. Everything here is opt-in: sharing is off until you enable it, and IP-"
"blocking based on the received feed is a second, separate opt-in. Applying "
"the virtual-patch rules is on once you join, because that's the main benefit "
"and carries no privacy cost."
msgstr ""
"No. Tutto qui è opt-in: la condivisione è disattivata finché non la attivi, "
"e il blocco IP basato sul feed ricevuto è un secondo opt-in separato. "
"L'applicazione delle regole di virtual patching è attiva una volta aderito, "
"perché è il beneficio principale e non comporta alcun costo per la privacy."

#: includes/class-shieldforge-admin-intros.php:296
msgid "EU hosting"
msgstr "Hosting in UE"

#: includes/class-shieldforge-admin-intros.php:297
msgid ""
"The central endpoint is operated on EU infrastructure under GDPR. Retention "
"on the server is time-limited; indicators age out automatically."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:303
msgid ""
"<strong>Nine self-contained extra modules, each with its own toggle — all "
"OFF by default.</strong> Pwned-password check, extra security headers, local "
"CAPTCHA, live traffic view, core file compare, privacy dashboard, trusted "
"devices, magic login links, and the Web Application Firewall."
msgstr ""
"<strong>Nove moduli extra autonomi, ognuno con il proprio interruttore — "
"tutti disattivati per impostazione predefinita.</strong> Controllo delle "
"password compromesse, header di sicurezza aggiuntivi, CAPTCHA locale, vista "
"del traffico in tempo reale, confronto dei file core, dashboard privacy, "
"dispositivi attendibili, magic login link e il Web Application Firewall."

#: includes/class-shieldforge-admin-intros.php:305
msgid "Why a separate page?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:306
msgid ""
"These optional modules add extra layers of protection — each is off by "
"default. Each card on this page is one module — a toggle, its settings, and "
"where applicable a small data view. Enable only what you need; every module "
"you leave off costs zero performance."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:307
msgid "Which ones are worth turning on first?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:308
msgid ""
"For most sites: the WAF (blocks SQL-injection, XSS and traversal patterns "
"before WordPress processes them — start with paranoia level 1), the Pwned-"
"password check (rejects passwords that appeared in public breaches, checked "
"via k-anonymity — the password itself never leaves your server), and the "
"local CAPTCHA (pure-PHP arithmetic puzzle, no Google services, no consent "
"banner needed)."
msgstr ""
"Per la maggior parte dei siti: il WAF (blocca pattern di SQL injection, XSS "
"e traversal prima che WordPress li elabori — inizia con livello di paranoia "
"1), il controllo delle password compromesse (rifiuta le password apparse in "
"violazioni pubbliche, verificate via k-anonimato — la password in sé non "
"lascia mai il tuo server) e il CAPTCHA locale (puzzle aritmetico in puro "
"PHP, nessun servizio Google, nessun banner di consenso necessario)."

#: includes/class-shieldforge-admin-intros.php:309
msgid "Anything with lockout potential?"
msgstr "C'è qualcosa che può bloccarmi fuori?"

#: includes/class-shieldforge-admin-intros.php:310
msgid ""
"The WAF on a high paranoia level can block legitimate requests of unusual "
"plugins — watch the Firewall tab after enabling and lower the level if you "
"see false positives. Magic login links replace passwords with e-mailed one-"
"time links; make sure your site can reliably send mail before relying on "
"them."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:316
msgid ""
"<strong>Upgrade to Brainwerk Security Suite Pro.</strong> The free plugin "
"works on its own — Pro adds WebAuthn / Passkeys, geo-blocking, EU-hosted "
"cloud threat intel, AI-assisted incident analysis (BYOK Mistral or self-"
"hosted Ollama), Slack/Discord/Telegram/Teams notifications, multisite "
"aggregate dashboard, and white-label mode."
msgstr ""
"<strong>Passa a Brainwerk Security Suite Pro.</strong> Il plugin gratuito "
"funziona da solo — Pro aggiunge WebAuthn / Passkey, geo-blocking, threat "
"intel cloud ospitata in UE, analisi degli incidenti assistita da IA (BYOK "
"Mistral o Ollama self-hosted), notifiche Slack/Discord/Telegram/Teams, "
"dashboard aggregata multisite e modalità white-label."

#: includes/class-shieldforge-admin-intros.php:318
msgid "Where do I get Pro?"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:319
msgid ""
"From security-suite.brainwerk.at. Brainwerk Security Suite Pro is a separate "
"plugin (.zip) that you install alongside this free one — license activation "
"happens inside the Pro plugin, no key has to be entered here."
msgstr ""

#: includes/class-shieldforge-admin-intros.php:320
msgid "Pricing model"
msgstr "Modello di prezzo"

#: includes/class-shieldforge-admin-intros.php:321
msgid ""
"Per-installation tiers (1 site / 5 sites / unlimited). Annual subscription "
"with continued updates and priority support. Sold through Freemius — EU-"
"friendly checkout, full GDPR documentation."
msgstr ""
"Livelli per installazione (1 sito / 5 siti / illimitati). Abbonamento "
"annuale con aggiornamenti continui e supporto prioritario. Venduto tramite "
"Freemius — checkout adatto all'UE, documentazione GDPR completa."

#: includes/class-shieldforge-admin-intros.php:360
msgid "Read more about what this tool is for"
msgstr ""

#: includes/class-shieldforge-admin-intros.php:384
msgid "Columns explained"
msgstr "Le colonne spiegate"

#: includes/class-shieldforge-ajax.php:27
msgid "Invalid nonce."
msgstr "Nonce non valido."

#: includes/class-shieldforge-ajax.php:30
#: includes/class-shieldforge-twofactor-profile.php:204
#: includes/class-shieldforge-twofactor-profile.php:227
#: includes/class-shieldforge-twofactor-profile.php:240
msgid "Insufficient permissions."
msgstr "Permessi insufficienti."

#: includes/class-shieldforge-ajax.php:39
#: includes/class-shieldforge-ajax.php:57
msgid "Invalid IP."
msgstr "IP non valido."

#. translators: 1: z-score, 2: classification label
#: includes/class-shieldforge-anomaly.php:154
#, php-format
msgid "Z-score %1$s (%2$s)"
msgstr ""

#: includes/class-shieldforge-anomaly.php:294
#: includes/class-shieldforge-anomaly.php:299
#: includes/class-shieldforge-anomaly.php:302
msgid "unknown"
msgstr ""

#: includes/class-shieldforge-anomaly.php:295
msgid "desktop browser"
msgstr ""

#: includes/class-shieldforge-anomaly.php:296
msgid "mobile browser"
msgstr ""

#: includes/class-shieldforge-anomaly.php:297
msgid "CLI / script"
msgstr "CLI / script"

#: includes/class-shieldforge-anomaly.php:298
msgid "bot / crawler"
msgstr ""

#: includes/class-shieldforge-anomaly.php:307
msgid "login hour (UTC)"
msgstr ""

#: includes/class-shieldforge-anomaly.php:308
msgid "IP family (4 / 6)"
msgstr "Famiglia IP (4 / 6)"

#: includes/class-shieldforge-anomaly.php:309
msgid "user-agent class"
msgstr ""

#: includes/class-shieldforge-anomaly.php:323
msgid "no IP"
msgstr ""

#: includes/class-shieldforge-badge.php:38
msgid "Brainwerk Security Suite Pro"
msgstr "Brainwerk Security Suite Pro"

#: includes/class-shieldforge-bruteforce.php:43
msgid ""
"<strong>Access denied.</strong> Too many failed login attempts. Try again "
"later."
msgstr ""
"<strong>Accesso negato.</strong> Troppi tentativi di accesso falliti. "
"Riprova più tardi."

#: includes/class-shieldforge-bruteforce.php:56
msgid ""
"<strong>Access denied.</strong> This account has been temporarily locked due "
"to repeated failed sign-ins. Try again later."
msgstr ""
"<strong>Accesso negato.</strong> Questo account è stato temporaneamente "
"bloccato a causa di ripetuti accessi falliti. Riprova più tardi."

#: includes/class-shieldforge-captcha.php:94
msgid ""
"<strong>Sicherheits-Check fehlgeschlagen.</strong> Bitte CAPTCHA erneut "
"bestätigen."
msgstr ""
"<strong>Verifica di sicurezza non riuscita.</strong> Conferma di nuovo il "
"CAPTCHA."

#: includes/class-shieldforge-captcha.php:103
msgid "CAPTCHA-Check fehlgeschlagen. Bitte erneut versuchen."
msgstr "Verifica CAPTCHA non riuscita. Riprova."

#: includes/class-shieldforge-captcha.php:113
#: includes/class-shieldforge-captcha.php:115
msgid "CAPTCHA-Check fehlgeschlagen."
msgstr "Verifica CAPTCHA non riuscita."

#: includes/class-shieldforge-hardening.php:148
msgid "REST API access for anonymous users is restricted."
msgstr ""

#: includes/class-shieldforge-healthcheck.php:162
msgid "Server sees every visitor as 127.0.0.1 — IP-based protection is broken."
msgstr ""

#: includes/class-shieldforge-healthcheck.php:163
msgid ""
"Your web server is running behind a proxy or multiplexer (typical: sslh, "
"Cloudflare Tunnel, nginx-stream, Apache mod_proxy) that does not forward the "
"original client IP. Brainwerk Security Suite therefore counts every brute-"
"force attempt against the same bucket — five failed logins from any visitor "
"will lock out 127.0.0.1, which silently blocks every user including "
"yourself. Probing detection, anomaly scoring and threat intel are equally "
"affected."
msgstr ""

#: includes/class-shieldforge-healthcheck.php:164
msgid ""
"Either (a) configure your proxy to forward the real client IP via PROXY-"
"protocol or X-Forwarded-For header AND set "
"<code>define('SHIELDFORGE_TRUSTED_PROXIES', array('127.0.0.1'));</code> in "
"wp-config.php, or (b) keep brute-force protection disabled until the proxy "
"is fixed."
msgstr ""
"O (a) configura il tuo proxy per inoltrare il vero IP del client tramite "
"protocollo PROXY o header X-Forwarded-For E imposta "
"<code>define('SHIELDFORGE_TRUSTED_PROXIES', array('127.0.0.1'));</code> in "
"wp-config.php, oppure (b) lascia disattivata la protezione contro la forza "
"bruta finché il proxy non è sistemato."

#: includes/class-shieldforge-healthcheck.php:175
msgid "Privacy: IP anonymization is OFF."
msgstr ""

#: includes/class-shieldforge-healthcheck.php:176
msgid ""
"Full IP addresses are stored in the Brainwerk Security Suite log. In the EU "
"this is personal data under GDPR and requires either a documented lawful "
"basis or anonymization. Brainwerk Security Suite ships with anonymization on "
"by default for this reason."
msgstr ""
"Nel log di Brainwerk Security Suite sono memorizzati indirizzi IP completi. "
"Nell'UE si tratta di dati personali ai sensi del GDPR e richiedono una base "
"giuridica documentata oppure l'anonimizzazione. Per questo motivo Brainwerk "
"Security Suite viene fornito con l'anonimizzazione attiva per impostazione "
"predefinita."

#: includes/class-shieldforge-healthcheck.php:177
msgid ""
"Enable \"Anonymize IP addresses\" in the Privacy / GDPR tab unless you have "
"a documented legal basis to keep full IPs."
msgstr ""
"Attiva \"Anonimizza gli indirizzi IP\" nella scheda Privacy / GDPR, a meno "
"che tu non abbia una base giuridica documentata per conservare gli IP "
"completi."

#: includes/class-shieldforge-healthcheck.php:188
msgid "Brute-force protection is currently disabled."
msgstr "La protezione contro la forza bruta è attualmente disattivata."

#: includes/class-shieldforge-healthcheck.php:189
msgid ""
"Failed login events are still being logged for visibility, but no IP will be "
"locked out after repeated failures. Re-enable this only after verifying the "
"server passes the IP-masking check above."
msgstr ""
"Gli eventi di accesso fallito vengono comunque registrati per visibilità, ma "
"nessun IP verrà bloccato dopo ripetuti fallimenti. Riattiva questa funzione "
"solo dopo aver verificato che il server superi il controllo di mascheramento "
"IP qui sopra."

#: includes/class-shieldforge-healthcheck.php:190
msgid "Re-enable in the Login & Auth tab."
msgstr ""

#: includes/class-shieldforge-healthcheck.php:234
msgid "Dismiss this notice"
msgstr ""

#: includes/class-shieldforge-honeypot.php:69
msgid "Leave this field empty"
msgstr "Lascia vuoto questo campo"

#: includes/class-shieldforge-honeypot.php:94
#: includes/class-shieldforge-honeypot.php:104
msgid "Submission blocked: bot heuristic triggered."
msgstr ""

#: includes/class-shieldforge-honeypot.php:118
msgid "Submission blocked."
msgstr ""

#: includes/class-shieldforge-honeypot.php:119
msgid "Blocked"
msgstr "Bloccato"

#: includes/class-shieldforge-i18n.php:129
msgid "WordPress default (automatic)"
msgstr ""

#: includes/class-shieldforge-incident.php:107
msgid "You do not have permission to do this."
msgstr ""

#: includes/class-shieldforge-incident.php:127
msgid ""
"Notfall-Audit angefordert. Das Modul-Gerüst ist aktiv — die Forensik-/Triage-"
"Engine wird in einer späteren Phase ergänzt (es wurde nichts gescannt oder "
"verändert)."
msgstr ""
"Audit di emergenza richiesto. La struttura del modulo è attiva — l'engine di "
"forensica/triage sarà aggiunta in una fase successiva (non è stato "
"scansionato né modificato nulla)."

#: includes/class-shieldforge-login-url.php:149
msgid "The requested page could not be found."
msgstr ""

#: includes/class-shieldforge-magic-link.php:43
msgid "🔗 Stattdessen per Magic-Link einloggen (passwortlos)"
msgstr ""

#: includes/class-shieldforge-magic-link.php:55
msgid "Magic-Link anfordern"
msgstr "Richiedi magic link"

#: includes/class-shieldforge-magic-link.php:58
msgid "Benutzername oder E-Mail-Adresse"
msgstr "Nome utente o indirizzo email"

#: includes/class-shieldforge-magic-link.php:59
msgid "Magic-Link senden"
msgstr "Invia magic link"

#: includes/class-shieldforge-magic-link.php:60
msgid ""
"Wir schicken einen einmaligen Anmelde-Link an die hinterlegte E-Mail-"
"Adresse. Der Link ist 15 Minuten gültig."
msgstr ""

#: includes/class-shieldforge-magic-link.php:61
msgid "← Zurück zum normalen Login"
msgstr ""

#: includes/class-shieldforge-magic-link.php:86
#, php-format
msgid "[%s] Ihr Magic-Login-Link"
msgstr ""

#: includes/class-shieldforge-magic-link.php:87
#: includes/class-shieldforge-trusted-devices.php:90
#, php-format
msgid "Hallo %s,"
msgstr "Ciao %s,"

#: includes/class-shieldforge-magic-link.php:88
msgid ""
"Klicken Sie innerhalb der nächsten 15 Minuten auf folgenden Link, um sich "
"einzuloggen — kein Passwort nötig:"
msgstr ""
"Clicca sul seguente link entro i prossimi 15 minuti per accedere — nessuna "
"password necessaria:"

#: includes/class-shieldforge-magic-link.php:89
msgid "Jetzt einloggen"
msgstr "Accedi ora"

#: includes/class-shieldforge-magic-link.php:90
msgid ""
"Sie haben diesen Link nicht angefordert? Dann ignorieren Sie diese Mail — "
"niemand kann mit Ihrem Account einloggen ohne diesen Link UND Ihren ggf. "
"konfigurierten 2FA-Code."
msgstr ""

#: includes/class-shieldforge-magic-link.php:99
msgid "Magic-Link versandt"
msgstr "Magic link inviato"

#: includes/class-shieldforge-magic-link.php:101
msgid ""
"✓ Falls dieser Account existiert, ist eine Mail mit Login-Link unterwegs."
msgstr ""

#: includes/class-shieldforge-magic-link.php:102
msgid ""
"Prüfen Sie Ihren Posteingang (auch Spam-Ordner). Der Link ist 15 Minuten "
"gültig."
msgstr ""

#: includes/class-shieldforge-magic-link.php:104
msgid "← Zurück zum Login"
msgstr ""

#: includes/class-shieldforge-magic-link.php:111
msgid "Ungültiger Magic-Link."
msgstr ""

#: includes/class-shieldforge-magic-link.php:115
msgid "Link bereits verwendet oder abgelaufen."
msgstr "Link già utilizzato o scaduto."

#: includes/class-shieldforge-magic-link.php:119
msgid "Magic-Link abgelaufen. Bitte erneut anfordern."
msgstr "Magic link scaduto. Richiedine uno nuovo."

#: includes/class-shieldforge-magic-link.php:123
msgid "Ungültiger Token."
msgstr ""

#: includes/class-shieldforge-magic-link.php:128
msgid "User nicht gefunden."
msgstr ""

#. translators: %s: site name
#: includes/class-shieldforge-notifications.php:27
#, php-format
msgid "[%s] Brainwerk Security Suite: brute-force lockout triggered"
msgstr ""

#. translators: 1: IP, 2: failure count, 3: username
#: includes/class-shieldforge-notifications.php:32
#, php-format
msgid ""
"A brute-force lockout was triggered.\\n\\nIP: %1$s\\nFailed attempts: "
"%2$d\\nLast tried username: %3$s\\n"
msgstr ""
"È scattato un blocco per forza bruta.\\n\\nIP: %1$s\\nTentativi falliti: "
"%2$d\\nUltimo nome utente provato: %3$s\\n"

#: includes/class-shieldforge-notifications.php:42
#, php-format
msgid "[%s] Brainwerk Security Suite: new administrator created"
msgstr ""

#: includes/class-shieldforge-notifications.php:44
#, php-format
msgid ""
"A new user with role '%1$s' was created.\n"
"\n"
"User: %2$s (ID %3$d)\n"
"Email: %4$s\n"
"Created by: %5$s\n"
msgstr ""
"È stato creato un nuovo utente con ruolo '%1$s'.\n"
"\n"
"Utente: %2$s (ID %3$d)\n"
"Email: %4$s\n"
"Creato da: %5$s\n"

#: includes/class-shieldforge-notifications.php:55
#, php-format
msgid "[%s] Brainwerk Security Suite: probing burst detected"
msgstr ""

#: includes/class-shieldforge-notifications.php:57
#, php-format
msgid ""
"An IP triggered the probing alert threshold.\n"
"\n"
"IP: %1$s\n"
"Probing 404s in last hour: %2$d\n"
msgstr ""
"Un IP ha superato la soglia di avviso per i probe.\n"
"\n"
"IP: %1$s\n"
"404 di probing nell'ultima ora: %2$d\n"

#. translators: 1: site name, 2: threat label, 3: numeric score
#: includes/class-shieldforge-notifications.php:115
#, php-format
msgid "[%1$s] Brainwerk Security Suite digest - %2$s threat (%3$d/100)"
msgstr ""

#: includes/class-shieldforge-onboarding.php:97
msgid "Welcome to Brainwerk Security Suite."
msgstr ""

#: includes/class-shieldforge-onboarding.php:98
msgid ""
"A short setup wizard will help you tune the privacy, login, and notification "
"defaults."
msgstr ""
"Una breve procedura guidata di configurazione ti aiuterà a regolare le "
"impostazioni predefinite di privacy, login e notifiche."

#: includes/class-shieldforge-onboarding.php:101
msgid "Start setup"
msgstr ""

#: includes/class-shieldforge-onboarding.php:102
msgid "Skip"
msgstr ""

#: includes/class-shieldforge-privacy-dashboard.php:39
msgid "Vertrag (Schul-Anmeldung) bzw. berechtigtes Interesse (Admin-Konten)"
msgstr ""

#: includes/class-shieldforge-privacy-dashboard.php:40
msgid "Vertrag"
msgstr ""

#: includes/class-shieldforge-privacy-dashboard.php:41
msgid "Einwilligung des Kommentierenden"
msgstr "Consenso di chi commenta"

#: includes/class-shieldforge-privacy-dashboard.php:43
msgid "Berechtigtes Interesse (Brute-Force-Schutz, Art. 6 Abs. 1 lit. f DSGVO)"
msgstr ""
"Legittimo interesse (protezione contro la forza bruta, art. 6 par. 1 lett. f "
"GDPR)"

#: includes/class-shieldforge-privacy-dashboard.php:44
msgid "Berechtigtes Interesse"
msgstr "Legittimo interesse"

#: includes/class-shieldforge-privacy-dashboard.php:45
msgid "Rechtliche Verpflichtung (Nachvollziehbarkeit Admin-Aktionen)"
msgstr ""

#: includes/class-shieldforge-privacy-dashboard.php:47
msgid "Berechtigtes Interesse (Reichweitenmessung, anonymisiert)"
msgstr "Legittimo interesse (misurazione dell'audience, anonimizzata)"

#: includes/class-shieldforge-privacy-dashboard.php:49
msgid "Vertrag (Schulanmeldung)"
msgstr ""

#: includes/class-shieldforge-privacy-dashboard.php:80
#: includes/class-shieldforge-privacy-dashboard.php:96
msgid "Bitte gültige E-Mail-Adresse angeben."
msgstr "Inserisci un indirizzo email valido."

#. translators: %s: number of times leaked
#: includes/class-shieldforge-pwned.php:43
#, php-format
msgid ""
"<strong>Sicherheitswarnung:</strong> Dieses Passwort taucht <strong>%s mal</"
"strong> in bekannten Daten-Leaks auf (Quelle: HaveIBeenPwned). Bitte wählen "
"Sie ein anderes Passwort."
msgstr ""
"<strong>Avviso di sicurezza:</strong> questa password compare <strong>%s "
"volte</strong> in data leak noti (fonte: HaveIBeenPwned). Scegli un'altra "
"password."

#: includes/class-shieldforge-pwned.php:58
#, php-format
msgid ""
"Dieses Passwort taucht %s mal in bekannten Daten-Leaks auf. Bitte ein "
"anderes wählen."
msgstr "Questa password compare %s volte in data leak noti. Scegline un'altra."

#: includes/class-shieldforge-pwned.php:71
#, php-format
msgid "Dieses Passwort wurde %s mal geleakt. Bitte ein anderes wählen."
msgstr "Questa password è trapelata %s volte. Scegline un'altra."

#: includes/class-shieldforge-quick-setup.php:33
msgid "School / Education"
msgstr ""

#: includes/class-shieldforge-quick-setup.php:35
msgid ""
"Multiple staff accounts, occasional content edits, low e-commerce surface. "
"Forced 2FA for admins + editors, audit log on, vuln scanner on."
msgstr ""
"Più account del personale, modifiche occasionali ai contenuti, superficie e-"
"commerce ridotta. 2FA obbligatoria per amministratori + editor, log di audit "
"attivo, scanner delle vulnerabilità attivo."

#: includes/class-shieldforge-quick-setup.php:67
msgid "Agency / Multi-client"
msgstr "Agenzia / Multi-cliente"

#: includes/class-shieldforge-quick-setup.php:69
msgid ""
"You manage many client sites. Maximum hardening, mandatory 2FA for ALL "
"roles, every detection module on, audit-log retention longer."
msgstr ""

#: includes/class-shieldforge-quick-setup.php:103
msgid "E-commerce / Shop"
msgstr "E-commerce / Negozio"

#: includes/class-shieldforge-quick-setup.php:105
msgid ""
"Customer accounts, payment processing. Honeypot on every form, anomaly "
"detection on, force 2FA for shop managers."
msgstr ""
"Account clienti, elaborazione dei pagamenti. Honeypot su ogni modulo, "
"rilevamento anomalie attivo, 2FA obbligatoria per i gestori del negozio."

#: includes/class-shieldforge-quick-setup.php:134
msgid "Personal blog / Portfolio"
msgstr "Blog personale / Portfolio"

#: includes/class-shieldforge-quick-setup.php:136
msgid ""
"One-or-two-person setup, comment spam is the main worry. Lighter defaults, "
"honeypot on comments, no forced 2FA for casual contributors."
msgstr ""
"Configurazione per una o due persone, lo spam nei commenti è la "
"preoccupazione principale. Impostazioni predefinite più leggere, honeypot "
"sui commenti, nessuna 2FA obbligatoria per i collaboratori occasionali."

#. translators: %s: profile label
#: includes/class-shieldforge-quick-setup.php:203
#, php-format
msgid ""
"Quick-setup profile applied: %s. You can fine-tune any individual setting "
"from here."
msgstr ""

#: includes/class-shieldforge-quick-setup.php:235
msgid "Quick start: pick a site profile"
msgstr ""

#: includes/class-shieldforge-quick-setup.php:236
msgid ""
"One click sets sensible defaults for your site type. You can fine-tune any "
"individual setting later."
msgstr ""
"Un clic imposta valori predefiniti sensati per il tuo tipo di sito. Potrai "
"regolare ogni singola impostazione in seguito."

#: includes/class-shieldforge-quick-setup.php:241
msgid "Hide this banner — you can re-open it from the Tools tab"
msgstr "Nascondi questo banner — puoi riaprirlo dalla scheda Strumenti"

#: includes/class-shieldforge-quick-setup.php:254
msgid "Apply this profile →"
msgstr "Applica questo profilo →"

#: includes/class-shieldforge-sanity.php:38
msgid "Daily log cleanup"
msgstr "Pulizia giornaliera dei log"

#: includes/class-shieldforge-sanity.php:39
msgid "Daily file-integrity scan"
msgstr "Scansione giornaliera dell'integrità dei file"

#: includes/class-shieldforge-sanity.php:40
msgid "Daily vulnerability scan"
msgstr "Scansione giornaliera delle vulnerabilità"

#: includes/class-shieldforge-sanity.php:61
msgid "Healthcheck finding"
msgstr "Esito del controllo di integrità"

#: includes/class-shieldforge-sanity.php:102
#: includes/class-shieldforge-sanity.php:114
msgid "Plugin-header version vs. SHIELDFORGE_VERSION constant"
msgstr "Versione nell'header del plugin vs. costante SHIELDFORGE_VERSION"

#. translators: 1: header version, 2: constant version
#: includes/class-shieldforge-sanity.php:106
#, php-format
msgid ""
"Header says %1$s but constant is %2$s. Re-run bin/bump-version to re-sync."
msgstr ""
"L'header indica %1$s ma la costante è %2$s. Riesegui bin/bump-version per "
"risincronizzare."

#: includes/class-shieldforge-sanity.php:116
#, php-format
msgid "Both at %s."
msgstr "Entrambi a %s."

#: includes/class-shieldforge-sanity.php:130
msgid "Database schema migration pending"
msgstr "Migrazione dello schema del database in sospeso"

#: includes/class-shieldforge-sanity.php:132
#, php-format
msgid ""
"DB at v%1$s, code expects v%2$s. Visit any wp-admin page to trigger "
"admin_init migration."
msgstr ""
"DB alla v%1$s, il codice si aspetta la v%2$s. Visita una qualsiasi pagina wp-"
"admin per avviare la migrazione admin_init."

#: includes/class-shieldforge-sanity.php:138
msgid "Database schema migration"
msgstr "Migrazione dello schema del database"

#: includes/class-shieldforge-sanity.php:140
#, php-format
msgid "DB schema at v%s — current."
msgstr "Schema DB alla v%s — aggiornato."

#: includes/class-shieldforge-sanity.php:152
#, php-format
msgid "Next run in %s."
msgstr "Prossima esecuzione tra %s."

#: includes/class-shieldforge-sanity.php:160
msgid "Cron hook not scheduled. Deactivate + reactivate plugin to repair."
msgstr ""
"Hook cron non pianificato. Disattiva e riattiva il plugin per riparare."

#: includes/class-shieldforge-sanity.php:183
#: includes/class-shieldforge-sanity.php:191
msgid "Required database tables"
msgstr ""

#: includes/class-shieldforge-sanity.php:185
#, php-format
msgid "Missing: %s. Reactivate plugin to recreate."
msgstr "Mancante: %s. Riattiva il plugin per ricrearlo."

#: includes/class-shieldforge-sanity.php:193
#, php-format
msgid "All %d core tables present."
msgstr "Tutte le %d tabelle core sono presenti."

#: includes/class-shieldforge-sanity.php:202
#: includes/class-shieldforge-sanity.php:210
msgid "SHIELDFORGE_FORCE_PRO override"
msgstr ""

#: includes/class-shieldforge-sanity.php:204
msgid ""
"Constant is set in wp-config.php — Pro features are unlocked WITHOUT a real "
"licence. Fine for testing, remove for production."
msgstr ""
"La costante è impostata in wp-config.php — le funzioni Pro sono sbloccate "
"SENZA una vera licenza. Va bene per i test, rimuovila in produzione."

#: includes/class-shieldforge-sanity.php:212
msgid "Not set — Pro features gate on real licence as intended."
msgstr ""
"Non impostata — le funzioni Pro richiedono una vera licenza, come previsto."

#: includes/class-shieldforge-sanity.php:224
msgid "On — IPv4 anonymized to /24, IPv6 to /64."
msgstr "Attiva — IPv4 anonimizzati a /24, IPv6 a /64."

#: includes/class-shieldforge-sanity.php:225
msgid ""
"Off — full IPs are stored. Verify your privacy policy reflects this; you may "
"need explicit user consent under GDPR."
msgstr ""
"Disattivata — vengono memorizzati gli IP completi. Verifica che la tua "
"informativa sulla privacy lo rifletta; potresti aver bisogno del consenso "
"esplicito degli utenti ai sensi del GDPR."

#: includes/class-shieldforge-sanity.php:235
#: includes/class-shieldforge-sanity.php:244
#: includes/class-shieldforge-sanity.php:252
msgid "Log retention window"
msgstr "Finestra di conservazione dei log"

#: includes/class-shieldforge-sanity.php:237
#, php-format
msgid "Only %d days — may be too short for incident-response forensics."
msgstr ""
"Solo %d giorni — potrebbe essere troppo poco per la forensica di risposta "
"agli incidenti."

#: includes/class-shieldforge-sanity.php:246
#, php-format
msgid ""
"%d days is unusually long. GDPR data-minimization principles suggest the "
"shortest period that still meets your business need."
msgstr ""
"%d giorni è un periodo insolitamente lungo. I principi GDPR di "
"minimizzazione dei dati suggeriscono il periodo più breve che soddisfi "
"comunque le tue esigenze operative."

#: includes/class-shieldforge-sanity.php:254
#, php-format
msgid "%d days — sensible default."
msgstr "%d giorni — impostazione predefinita sensata."

#: includes/class-shieldforge-sanity.php:265
msgid "Brute-force protection"
msgstr "Protezione contro la forza bruta"

#: includes/class-shieldforge-sanity.php:267
msgid ""
"OFF — site is wide open to password-guessing. Turn on under Anmeldung tab."
msgstr ""
"DISATTIVATA — il sito è completamente esposto ai tentativi di indovinare le "
"password. Attivala nella scheda Login."

#: includes/class-shieldforge-sanity.php:274
msgid "Core hardening (XML-RPC etc.)"
msgstr "Hardening del core (XML-RPC ecc.)"

#: includes/class-shieldforge-sanity.php:276
msgid ""
"XML-RPC is on. Most sites don't need it; it's a common brute-force vector. "
"Turn off under Härtung tab unless you use Jetpack mobile / mobile WordPress "
"apps."
msgstr ""

#: includes/class-shieldforge-sanity.php:282
msgid "Critical security modules"
msgstr "Moduli di sicurezza critici"

#: includes/class-shieldforge-sanity.php:284
msgid "Brute-force + XML-RPC hardening both active."
msgstr "Protezione contro la forza bruta + hardening XML-RPC entrambi attivi."

#: includes/class-shieldforge-sanity.php:303
msgid "2FA users with no recovery codes"
msgstr "Utenti 2FA senza codici di recupero"

#. translators: 1: count, 2: usernames
#: includes/class-shieldforge-sanity.php:307
#, php-format
msgid ""
"%1$d user (%2$s) has 2FA enabled but no recovery codes — they will be locked "
"out if they lose their authenticator."
msgid_plural ""
"%1$d users (%2$s) have 2FA enabled but no recovery codes — they will be "
"locked out if they lose their authenticator."
msgstr[0] ""
"%1$d utente (%2$s) ha la 2FA attiva ma nessun codice di recupero — resterà "
"bloccato fuori se perde l'authenticator."
msgstr[1] ""
"%1$d utenti (%2$s) hanno la 2FA attiva ma nessun codice di recupero — "
"resteranno bloccati fuori se perdono l'authenticator."

#: includes/class-shieldforge-sanity.php:316
msgid "2FA recovery codes"
msgstr "Codici di recupero 2FA"

#: includes/class-shieldforge-sanity.php:318
msgid "Every 2FA-enrolled user has recovery codes on file."
msgstr "Ogni utente con 2FA attiva ha codici di recupero registrati."

#: includes/class-shieldforge-sanity.php:348
msgid "Administrators without a second factor"
msgstr "Amministratori senza un secondo fattore"

#: includes/class-shieldforge-sanity.php:351
#, php-format
msgid ""
"%d admin without 2FA / Passkey: %s. Highest-leverage account on the site — "
"should be protected."
msgid_plural ""
"%d admins without 2FA / Passkey: %s. Highest-leverage accounts on the site — "
"should be protected."
msgstr[0] ""
"%d amministratore senza 2FA / Passkey: %s. È l'account con più privilegi del "
"sito — andrebbe protetto."
msgstr[1] ""
"%d amministratori senza 2FA / Passkey: %s. Sono gli account con più "
"privilegi del sito — andrebbero protetti."

#: includes/class-shieldforge-sanity.php:360
msgid "Administrators with a second factor"
msgstr "Amministratori con un secondo fattore"

#: includes/class-shieldforge-sanity.php:362
msgid "Every administrator has 2FA or a Passkey enabled."
msgstr "Ogni amministratore ha la 2FA o una Passkey attiva."

#: includes/class-shieldforge-sanity.php:381
msgid "Test fixtures in plugins directory"
msgstr ""

#: includes/class-shieldforge-sanity.php:383
#, php-format
msgid "Found: %s. Delete before going live."
msgstr "Trovato: %s. Elimina prima di andare online."

#: includes/class-shieldforge-sanity.php:389
msgid "Test fixtures"
msgstr ""

#: includes/class-shieldforge-sanity.php:391
msgid "No leftover test files in the plugins directory."
msgstr "Nessun file di test residuo nella directory dei plugin."

#: includes/class-shieldforge-sanity.php:401
msgid "wp.org readme.txt"
msgstr ""

#: includes/class-shieldforge-sanity.php:403
msgid "readme.txt is missing — wp.org requires it."
msgstr ""

#: includes/class-shieldforge-sanity.php:413
#: includes/class-shieldforge-sanity.php:421
#: includes/class-shieldforge-sanity.php:429
msgid "readme.txt Stable tag"
msgstr ""

#: includes/class-shieldforge-sanity.php:415
#, php-format
msgid ""
"Stable tag is %1$s but plugin is %2$s. Bump readme before tagging the wp.org "
"release."
msgstr ""

#: includes/class-shieldforge-sanity.php:423
#, php-format
msgid "Matches plugin version (%s)."
msgstr "Corrisponde alla versione del plugin (%s)."

#: includes/class-shieldforge-sanity.php:431
msgid "No \"Stable tag:\" line found in readme.txt."
msgstr "Nessuna riga \"Stable tag:\" trovata in readme.txt."

#: includes/class-shieldforge-sanity.php:448
#: includes/class-shieldforge-sanity.php:456
msgid "Translation files"
msgstr ""

#: includes/class-shieldforge-sanity.php:450
#, php-format
msgid "Missing: %s."
msgstr "Mancante: %s."

#: includes/class-shieldforge-sanity.php:458
msgid "POT + DE PO/MO files all present in languages/."
msgstr "File POT + PO/MO DE tutti presenti in languages/."

#: includes/class-shieldforge-threat-intel.php:146
msgid "Failed-login volume"
msgstr "Volume di accessi falliti"

#: includes/class-shieldforge-threat-intel.php:152
msgid "Distinct attacker IPs"
msgstr "IP attaccanti distinti"

#: includes/class-shieldforge-threat-intel.php:158
msgid "Probing 404 density"
msgstr ""

#: includes/class-shieldforge-threat-intel.php:174
msgid ""
"Escalation signals (lockouts, anomalies, blocks, file changes, malware "
"suspects)"
msgstr ""
"Segnali di escalation (lockout, anomalie, blocchi, modifiche ai file, "
"sospetti malware)"

#: includes/class-shieldforge-threat-intel.php:466
msgid "24-Stunden-Angriffsaktivität"
msgstr ""

#: includes/class-shieldforge-threat-intel.php:830
msgid "Angriffs-Korridore: Herkunfts- zu Ziel-Ländern"
msgstr ""

#: includes/class-shieldforge-tools.php:24
msgid "No valid recipient address."
msgstr "Nessun indirizzo destinatario valido."

#: includes/class-shieldforge-tools.php:26
#, php-format
msgid "[%s] Brainwerk Security Suite test mail"
msgstr ""

#: includes/class-shieldforge-tools.php:27
msgid ""
"This is a Brainwerk Security Suite test message.\n"
"\n"
"If you received this, alert delivery is working."
msgstr ""

#: includes/class-shieldforge-tools.php:29
msgid "wp_mail() returned false."
msgstr ""

#: includes/class-shieldforge-tools.php:44
msgid "Invalid import payload."
msgstr "Payload di importazione non valido."

#: includes/class-shieldforge-tools.php:47
msgid "Payload is not from Brainwerk Security Suite."
msgstr "Il payload non proviene da Brainwerk Security Suite."

#: includes/class-shieldforge-tools.php:75
msgid "Database tables present"
msgstr "Tabelle del database presenti"

#: includes/class-shieldforge-tools.php:77
msgid "shieldforge_log not found — re-activate the plugin."
msgstr ""

#: includes/class-shieldforge-tools.php:81
msgid "Daily digest cron scheduled"
msgstr "Cron del riepilogo giornaliero pianificato"

#: includes/class-shieldforge-tools.php:85
#: includes/class-shieldforge-tools.php:93
msgid "Not scheduled"
msgstr "Non pianificato"

#: includes/class-shieldforge-tools.php:89
msgid "Cleanup cron scheduled"
msgstr "Cron di pulizia pianificato"

#: includes/class-shieldforge-tools.php:98
msgid "Notification address set"
msgstr "Indirizzo di notifica impostato"

#: includes/class-shieldforge-tools.php:100
msgid "No address configured"
msgstr "Nessun indirizzo configurato"

#: includes/class-shieldforge-tools.php:107
msgid "Enabled"
msgstr "Attivato"

#: includes/class-shieldforge-tools.php:108
msgid "Disabled — full IPs will be stored"
msgstr "Disattivato — verranno memorizzati gli IP completi"

#: includes/class-shieldforge-trusted-devices.php:89
#, php-format
msgid "[%s] Neuer Login von unbekanntem Gerät"
msgstr ""

#: includes/class-shieldforge-trusted-devices.php:91
msgid ""
"Es hat sich jemand mit Ihrem Account eingeloggt — von einem Gerät, das wir "
"bisher nicht gesehen haben."
msgstr ""
"Qualcuno ha effettuato l'accesso con il tuo account — da un dispositivo che "
"non avevamo mai visto prima."

#: includes/class-shieldforge-trusted-devices.php:92
msgid "Details:"
msgstr "Dettagli:"

#: includes/class-shieldforge-trusted-devices.php:93
msgid "Zeit:"
msgstr ""

#: includes/class-shieldforge-trusted-devices.php:94
msgid "IP (anonymisiert):"
msgstr "IP (anonimizzato):"

#: includes/class-shieldforge-trusted-devices.php:95
msgid "Gerät:"
msgstr "Dispositivo:"

#: includes/class-shieldforge-trusted-devices.php:97
msgid ""
"<strong>Waren Sie das?</strong> Dann ist alles in Ordnung. Sie können diese "
"Mail ignorieren."
msgstr ""
"<strong>Eri tu?</strong> Allora è tutto a posto. Puoi ignorare questa email."

#: includes/class-shieldforge-trusted-devices.php:98
msgid ""
"<strong>Waren Sie das nicht?</strong> Ändern Sie sofort Ihr Passwort und "
"aktivieren Sie Zwei-Faktor-Authentifizierung (2FA). Verständigen Sie ggf. "
"die Administration."
msgstr ""
"<strong>Non eri tu?</strong> Cambia subito la tua password e attiva "
"l'autenticazione a due fattori (2FA). Se necessario, informa "
"l'amministrazione."

#: includes/class-shieldforge-twofactor-profile.php:85
msgid "Two-factor authentication (Brainwerk Security Suite)"
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:89
msgid ""
"Site policy requires two-factor authentication for your role. Set it up "
"below."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:95
msgid "2FA is active."
msgstr "La 2FA è attiva."

#. translators: %d: remaining recovery codes
#: includes/class-shieldforge-twofactor-profile.php:99
#, php-format
msgid "%d recovery code left."
msgid_plural "%d recovery codes left."
msgstr[0] "%d codice di recupero rimasto."
msgstr[1] "%d codici di recupero rimasti."

#: includes/class-shieldforge-twofactor-profile.php:105
msgid ""
"You are running low on recovery codes. Generate a fresh batch to avoid being "
"locked out."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:113
msgid ""
"Generate fresh recovery codes? Existing codes will stop working immediately."
msgstr ""
"Generare nuovi codici di recupero? I codici esistenti smetteranno di "
"funzionare immediatamente."

#: includes/class-shieldforge-twofactor-profile.php:114
msgid ""
"Really disable 2FA for this account? You will lose phishing-resistant login."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:125
msgid "Regenerate recovery codes"
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:134
msgid "Disable two-factor"
msgstr "Disattiva l'autenticazione a due fattori"

#: includes/class-shieldforge-twofactor-profile.php:140
msgid ""
"This user has not set up 2FA yet. Only the user themselves can enable it."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:150
msgid "Step 1."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:150
msgid ""
"Open your authenticator app (Google Authenticator, Microsoft Authenticator, "
"Authy, 2FAS, Aegis, FreeOTP) and add a new account using the secret below."
msgstr ""
"Apri la tua app di autenticazione (Google Authenticator, Microsoft "
"Authenticator, Authy, 2FAS, Aegis, FreeOTP) e aggiungi un nuovo account "
"usando il segreto qui sotto."

#: includes/class-shieldforge-twofactor-profile.php:152
msgid "Setup secret (case-insensitive, spaces ignored):"
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:157
msgid "Algorithm: SHA-1 · Digits: 6 · Period: 30s"
msgstr "Algoritmo: SHA-1 · Cifre: 6 · Periodo: 30s"

#: includes/class-shieldforge-twofactor-profile.php:159
msgid "Open in app (mobile only)"
msgstr "Apri nell'app (solo mobile)"

#: includes/class-shieldforge-twofactor-profile.php:170
msgid "Step 2."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:170
msgid "Enter the 6-digit code your app shows right now."
msgstr ""
"Inserisci il codice a 6 cifre mostrato in questo momento dalla tua app."

#: includes/class-shieldforge-twofactor-profile.php:186
msgid "Confirm and enable 2FA"
msgstr "Conferma e attiva la 2FA"

#: includes/class-shieldforge-twofactor-profile.php:209
msgid "Only the user can complete their own 2FA setup."
msgstr "Solo l'utente può completare la propria configurazione 2FA."

#: includes/class-shieldforge-twofactor-profile.php:243
msgid "Only the user can regenerate their own recovery codes."
msgstr "Solo l'utente può rigenerare i propri codici di recupero."

#: includes/class-shieldforge-twofactor-profile.php:270
msgid "Two-factor authentication disabled."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:273
msgid "That code did not match. Check your device clock and try again."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:281
msgid "Save these recovery codes now — they are shown only once."
msgstr ""

#: includes/class-shieldforge-twofactor-profile.php:282
msgid ""
"Each code works exactly once. Store them somewhere safe (password manager, "
"printed copy in a drawer). Without them, losing your authenticator means "
"losing access."
msgstr ""
"Ogni codice funziona esattamente una volta. Conservali in un posto sicuro "
"(password manager, copia stampata in un cassetto). Senza di essi, perdere "
"l'authenticator significa perdere l'accesso."

#: includes/class-shieldforge-twofactor.php:373
msgid "Too many invalid codes. Please wait a few minutes and try again."
msgstr ""

#: includes/class-shieldforge-twofactor.php:398
msgid "Invalid 2FA code. Try again or use a recovery code."
msgstr "Codice 2FA non valido. Riprova o usa un codice di recupero."

#: includes/class-shieldforge-twofactor.php:422
msgid "Unable to render 2FA form (login subsystem unavailable)."
msgstr ""

#: includes/class-shieldforge-twofactor.php:428
msgid "Authentication code"
msgstr "Codice di autenticazione"

#: includes/class-shieldforge-twofactor.php:440
msgid ""
"Enter the 6-digit code from your authenticator app, or one of your recovery "
"codes (e.g. ABCD-EFGH)."
msgstr ""
"Inserisci il codice a 6 cifre dalla tua app di autenticazione, oppure uno "
"dei tuoi codici di recupero (es. ABCD-EFGH)."

#: includes/class-shieldforge-twofactor.php:444
msgid "Verify"
msgstr ""

#: includes/class-shieldforge-twofactor.php:448
msgid "Back to login"
msgstr "Torna al login"

#: includes/sensor/class-shieldforge-sensor.php:61
msgid "Every 5 minutes (ShieldForge sensor)"
msgstr "Ogni 5 minuti (sensore ShieldForge)"

#: includes/sensor/class-shieldforge-sensor.php:102
msgid "Site registered with the Threat Network."
msgstr ""

#: includes/sensor/class-shieldforge-sensor.php:103
#, php-format
msgid "Registration failed: %s"
msgstr ""

#: includes/sensor/class-shieldforge-sensor.php:107
msgid "This site is no longer registered. No further data will be sent."
msgstr ""

#: includes/sensor/class-shieldforge-sensor.php:112
msgid "Network salt refreshed."
msgstr "Salt di rete rigenerato."

#: includes/sensor/class-shieldforge-sensor.php:113
#, php-format
msgid "Salt refresh failed: %s"
msgstr ""

#: includes/sensor/class-shieldforge-sensor.php:118
#, php-format
msgid "Sent %d event(s) to the Threat Network."
msgstr ""

#: includes/sensor/class-shieldforge-sensor.php:119
#, php-format
msgid "Send failed: %s"
msgstr ""

#~ msgid "Module v0.12 ✨"
#~ msgstr "Moduli v0.12 ✨"

#~ msgid "Brainwerk Security Suite v0.12 — Neue Module"
#~ msgstr "Brainwerk Security Suite v0.12 — Nuovi moduli"

#~ msgid ""
#~ "9 neue Module, die Brainwerk Security Suite auf Konkurrenz-Niveau "
#~ "(Wordfence/Sucuri/Solid) bringen. Alle standardmäßig OFF. Per Toggle "
#~ "einzeln scharf schalten."
#~ msgstr ""
#~ "9 nuovi moduli che portano Brainwerk Security Suite al livello della "
#~ "concorrenza (Wordfence/Sucuri/Solid). Tutti disattivati per impostazione "
#~ "predefinita. Attivali singolarmente con il rispettivo interruttore."

#~ msgid ""
#~ "File restored from the official wordpress.org package: %s (previous "
#~ "version saved to quarantine)."
#~ msgstr ""
#~ "File ripristinato dal pacchetto ufficiale di wordpress.org: %s (versione "
#~ "precedente salvata in quarantena)."

#~ msgid ""
#~ "Compares every installed plugin (official checksums API) and theme "
#~ "(original release ZIP) against the wordpress.org distribution. Modified "
#~ "or missing files can be restored from the original with one click — the "
#~ "tampered version is kept in quarantine. Packages that are not hosted on "
#~ "wordpress.org are reported as \"unverifiable\" and never touched."
#~ msgstr ""
#~ "Confronta ogni plugin installato (API ufficiale dei checksum) e ogni tema "
#~ "(ZIP della release originale) con la distribuzione di wordpress.org. I "
#~ "file modificati o mancanti possono essere ripristinati dall'originale con "
#~ "un clic — la versione manomessa viene conservata in quarantena. I "
#~ "pacchetti non ospitati su wordpress.org sono segnalati come \"non "
#~ "verificabili\" e non vengono mai toccati."

#~ msgid ""
#~ "Daily check against a public vulnerability database (default: "
#~ "wpvulnerability.net — free, no API key, EU-hosted). Each scan sends only "
#~ "the slug + version of installed components. No site URL, no admin email, "
#~ "no IPs."
#~ msgstr ""
#~ "Controllo giornaliero su un database pubblico di vulnerabilità "
#~ "(predefinito: wpvulnerability.net — gratuito, senza chiave API, ospitato "
#~ "in UE). Ogni scansione invia solo slug + versione dei componenti "
#~ "installati. Nessun URL del sito, nessuna email dell'amministratore, "
#~ "nessun IP."

#~ msgid ""
#~ "Compares every wp.org-hosted plugin and theme file against the official "
#~ "checksums from wordpress.org. A modified file means someone tampered with "
#~ "it — the one-click \"Repair\" fetches the pristine original, quarantines "
#~ "the modified copy (nothing is deleted), and swaps it in. Plugins/themes "
#~ "NOT from wp.org are listed as \"unverifiable\" and never touched."
#~ msgstr ""
#~ "Confronta ogni file di plugin e temi ospitati su wp.org con i checksum "
#~ "ufficiali di wordpress.org. Un file modificato significa che qualcuno lo "
#~ "ha manomesso — il \"Ripara\" con un clic scarica l'originale intatto, "
#~ "mette in quarantena la copia modificata (nulla viene eliminato) e la "
#~ "sostituisce. I plugin/temi NON provenienti da wp.org sono elencati come "
#~ "\"non verificabili\" e non vengono mai toccati."

#~ msgid ""
#~ "From shieldforge.brainwerk.at. Brainwerk Security Suite Pro is a separate "
#~ "plugin (.zip) that you install alongside this free one — license "
#~ "activation happens inside the Pro plugin, no key has to be entered here."
#~ msgstr ""
#~ "Da shieldforge.brainwerk.at. Brainwerk Security Suite Pro è un plugin "
#~ "separato (.zip) da installare accanto a questo gratuito — l'attivazione "
#~ "della licenza avviene all'interno del plugin Pro, qui non va inserita "
#~ "nessuna chiave."
