BastionGuard/locale/en_US.po

9208 lines
280 KiB
Text

# BastionGuard™ English (United States) translation
# Copyright (C) 2025-2026 BastionGuard™
# This file is distributed under the same license as the BastionGuard package.
# Calogero Scarnà <info@bastionguard.eu>, 2025-2026.
#
msgid ""
msgstr ""
"Project-Id-Version: BastionGuard 1.0\n"
"Report-Msgid-Bugs-To: info@bastionguard.eu\n"
"POT-Creation-Date: 2026-01-19 07:54+0100\n"
"PO-Revision-Date: 2026-01-19 07:54+0100\n"
"Last-Translator: Calogero Scarnà <info@bastionguard.eu>\n"
"Language-Team: English (United States)\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/SettingsPage.cpp:366 ../src/wizard/wizard_setup.cpp:126
#: ../src/wizard/wizard_setup.cpp:248
msgid "Impossibile creare file temporaneo"
msgstr "Unable to create temporary file"
#: ../src/SettingsPage.cpp:374
msgid "Errore scrittura temporanea"
msgstr "Temporary file write error"
#: ../src/SettingsPage.cpp:433
msgid "[settings] 📖 Letto webports.conf: "
msgstr "[settings] 📖 Read webports.conf: "
#: ../src/SettingsPage.cpp:438
msgid "[settings] ⚠️ Nessun webports.conf trovato, uso default 81/444\n"
msgstr "[settings] ⚠️ No webports.conf found, using default ports 81/444\n"
#: ../src/SettingsPage.cpp:448
msgid "[copy_with_pkexec] File sorgente non trovato: "
msgstr "[copy_with_pkexec] Source file not found: "
#: ../src/SettingsPage.cpp:476
msgid "[update_ports_in_file] File non trovato: "
msgstr "[update_ports_in_file] File not found: "
#: ../src/SettingsPage.cpp:482
msgid "[update_ports_in_file] Impossibile aprire il file: "
msgstr "[update_ports_in_file] Cannot open file: "
#: ../src/SettingsPage.cpp:507
msgid "[update_ports_in_file] Impossibile scrivere il file temporaneo"
msgstr "[update_ports_in_file] Cannot write temporary file"
#: ../src/SettingsPage.cpp:518
msgid "[update_ports_in_file] "
msgstr "[update_ports_in_file] "
#: ../src/SettingsPage.cpp:552
msgid ""
"[detect_distro] lsb_release non fornisce info, fallback su /etc/os-release\n"
msgstr ""
"[detect_distro] lsb_release did not provide info, falling back to /etc/os-release\n"
#: ../src/SettingsPage.cpp:604
msgid "[detect_distro] Distribuzione rilevata: "
msgstr "[detect_distro] Detected distribution: "
#: ../src/SettingsPage.cpp:633
msgid "[detect_webserver] Apache rilevato"
msgstr "[detect_webserver] Apache detected"
#: ../src/SettingsPage.cpp:639
msgid "[detect_webserver] Nginx rilevato"
msgstr "[detect_webserver] Nginx detected"
#: ../src/SettingsPage.cpp:645
msgid "[detect_webserver] LiteSpeed rilevato"
msgstr "[detect_webserver] LiteSpeed detected"
#: ../src/SettingsPage.cpp:663
msgid "[detect_webserver] Nessun server rilevato"
msgstr "[detect_webserver] No web server detected"
#: ../src/SettingsPage.cpp:685
msgid "[settings] Porte lette da "
msgstr "[settings] Ports read from "
#: ../src/SettingsPage.cpp:689
msgid "[settings] ⚠ Impossibile aprire "
msgstr "[settings] ⚠ Cannot open "
#: ../src/SettingsPage.cpp:690
msgid " — uso valori di default (80/443)\n"
msgstr " — using default values (80/443)\n"
#: ../src/SettingsPage.cpp:710
msgid "[settings] ❌ Impossibile creare file temporaneo: "
msgstr "[settings] ❌ Cannot create temporary file: "
#: ../src/SettingsPage.cpp:724
msgid "[settings] ✅ Porte BastionGuard salvate in "
msgstr "[settings] ✅ BastionGuard ports saved in "
#: ../src/SettingsPage.cpp:729
msgid "[settings] ❌ Errore durante l'installazione via pkexec.\n"
msgstr "[settings] ❌ Error during installation via pkexec.\n"
#: ../src/SettingsPage.cpp:733
msgid "[settings] ⚠ Eccezione durante update_webserver_ports: "
msgstr "[settings] ⚠ Exception during update_webserver_ports: "
#: ../src/SettingsPage.cpp:820 ../src/SettingsPage.cpp:1092
msgid "Percorso quarantena: "
msgstr "Quarantine path: "
#: ../src/SettingsPage.cpp:821
msgid "Seleziona cartella quarantena"
msgstr "Select quarantine folder"
#: ../src/SettingsPage.cpp:822 ../src/SettingsPage.cpp:857
#: ../src/SettingsPage.cpp:1167
msgid "Antivirus real time: Disabilitato"
msgstr "Real-time antivirus: Disabled"
#: ../src/SettingsPage.cpp:824
msgid "Abilita tutte le opzioni"
msgstr "Enable all options"
#: ../src/SettingsPage.cpp:826
msgid "Protezione disattivata"
msgstr "Protection disabled"
#: ../src/SettingsPage.cpp:831
msgid "Directory Samba"
msgstr "Samba directories"
#: ../src/SettingsPage.cpp:856 ../src/SettingsPage.cpp:1166
msgid "Antivirus real time: Abilitato"
msgstr "Real-time antivirus: Enabled"
#: ../src/SettingsPage.cpp:871
msgid "Cartelle monitorate (clamonacc)"
msgstr "Monitored folders (clamonacc)"
#: ../src/SettingsPage.cpp:891 ../src/SettingsPage.cpp:1278
msgid "Aggiungi cartella"
msgstr "Add folder"
#: ../src/SettingsPage.cpp:892 ../src/SettingsPage.cpp:1279
msgid "Rimuovi cartella"
msgstr "Remove folder"
#: ../src/SettingsPage.cpp:895
msgid "Base"
msgstr "Basic"
#: ../src/SettingsPage.cpp:902
msgid "Opzioni di scansione"
msgstr "Scan options"
#: ../src/SettingsPage.cpp:933
msgid ""
"⚠️ Attenzione: modificare queste opzioni avanzate solo se si è sicuri.\n"
"Un uso improprio può compromettere la protezione."
msgstr ""
"⚠️ Warning: modify these advanced options only if you are sure.\n"
"Improper use may compromise protection."
#: ../src/SettingsPage.cpp:970
msgid "Tutte le opzioni avanzate abilitate (toggle)"
msgstr "All advanced options enabled (toggle)"
#: ../src/SettingsPage.cpp:971
msgid "Abilita tutte le opzioni avanzate"
msgstr "Enable all advanced options"
#: ../src/SettingsPage.cpp:976 ../src/SambaPage.cpp:96
msgid "Salva configurazione"
msgstr "Save configuration"
#: ../src/SettingsPage.cpp:981
msgid "Database firme personalizzato"
msgstr "Custom signatures database"
#: ../src/SettingsPage.cpp:988
msgid ""
"ClamAV utilizzerà automaticamente le firme personalizzate\n"
"presenti in questa cartella:"
msgstr ""
"ClamAV will automatically use custom signatures\n"
"present in this folder:"
#: ../src/SettingsPage.cpp:1019
msgid "[MANCANTE] "
msgstr "[MISSING] "
#: ../src/SettingsPage.cpp:1042
msgid "Avanzate"
msgstr "Advanced"
#: ../src/SettingsPage.cpp:1081
msgid "Seleziona una cartella quarantena"
msgstr "Select a quarantine folder"
#: ../src/SettingsPage.cpp:1083 ../src/SettingsPage.cpp:1103
#: ../src/SettingsPage.cpp:1288 ../src/SettingsPage.cpp:2611
#: ../src/wizard/wizard_window.cpp:275
msgid "_Annulla"
msgstr "_Cancel"
#: ../src/SettingsPage.cpp:1084 ../src/SettingsPage.cpp:1104
#: ../src/SettingsPage.cpp:1289
msgid "_Seleziona"
msgstr "_Select"
#: ../src/SettingsPage.cpp:1101
msgid "Seleziona una cartella"
msgstr "Select a folder"
#: ../src/SettingsPage.cpp:1144
msgid "Errore: impossibile scrivere il file temporaneo di configurazione"
msgstr "Error: cannot write temporary configuration file"
#: ../src/SettingsPage.cpp:1151
msgid "Configurazione salvata su"
msgstr "Configuration saved to"
#: ../src/SettingsPage.cpp:1153
msgid "Errore: impossibile salvare configurazione!"
msgstr "Error: cannot save configuration!"
#: ../src/SettingsPage.cpp:1159
msgid "Errore: impossibile installare clamd automaticamente."
msgstr "Error: cannot automatically install clamd."
#: ../src/SettingsPage.cpp:1179
msgid "Protezione Anti-Ransomware"
msgstr "Anti-Ransomware Protection"
#: ../src/SettingsPage.cpp:1187 ../src/SettingsPage.cpp:1360
msgid "Protezione Anti-Ransomware: Attiva"
msgstr "Anti-Ransomware Protection: Active"
#: ../src/SettingsPage.cpp:1188
msgid "Protezione Anti-Ransomware: Disattivata (servizio non attivo)"
msgstr "Anti-Ransomware Protection: Disabled (service not active)"
#: ../src/SettingsPage.cpp:1198
msgid "Regole YARA in uso"
msgstr "YARA rules in use"
#: ../src/SettingsPage.cpp:1210
msgid "Aggiorna regole YARA"
msgstr "Update YARA rules"
#: ../src/SettingsPage.cpp:1214
msgid "⏳ Aggiornamento regole YARA in corso..."
msgstr "⏳ Updating YARA rules..."
#: ../src/SettingsPage.cpp:1221
msgid "✔ Regole YARA aggiornate con successo"
msgstr "✔ YARA rules successfully updated"
#: ../src/SettingsPage.cpp:1224
msgid "❌ Errore durante l'aggiornamento delle regole YARA"
msgstr "❌ Error during YARA rules update"
#: ../src/SettingsPage.cpp:1232
msgid "Aggiorna Sanesecurity DB"
msgstr "Update Sanesecurity DB"
#: ../src/SettingsPage.cpp:1236
msgid "⏳ Aggiornamento Sanesecurity DB in corso..."
msgstr "⏳ Updating Sanesecurity DB..."
#: ../src/SettingsPage.cpp:1243
msgid "✔ Sanesecurity DB aggiornato con successo"
msgstr "✔ Sanesecurity DB successfully updated"
#: ../src/SettingsPage.cpp:1245
msgid "❌ Errore durante l'aggiornamento del Sanesecurity DB"
msgstr "❌ Error during Sanesecurity DB update"
#: ../src/SettingsPage.cpp:1259
msgid "Usa regole YARA"
msgstr "Use YARA rules"
#: ../src/SettingsPage.cpp:1263
msgid "Usa DB Sanesecurity"
msgstr "Use Sanesecurity DB"
#: ../src/SettingsPage.cpp:1267
msgid "Cartelle da scansionare:"
msgstr "Folders to scan:"
#: ../src/SettingsPage.cpp:1286
msgid "Seleziona cartella da scansionare"
msgstr "Select folder to scan"
#: ../src/SettingsPage.cpp:1315
msgid "Intervallo scansione (min):"
msgstr "Scan interval (minutes):"
#: ../src/SettingsPage.cpp:1320
msgid "Salva configurazione scanner"
msgstr "Save scanner configuration"
#: ../src/SettingsPage.cpp:1342 ../src/AntiRansomwarePage.cpp:58
msgid "Anti-Ransomware"
msgstr "Anti-Ransomware"
#: ../src/SettingsPage.cpp:1352
msgid "⏳ Avvio servizio Anti-Ransomware..."
msgstr "⏳ Starting Anti-Ransomware service..."
#: ../src/SettingsPage.cpp:1354
msgid "❌ Impossibile avviare il servizio Anti-Ransomware"
msgstr "❌ Cannot start Anti-Ransomware service"
#: ../src/SettingsPage.cpp:1363
msgid "⏳ Arresto servizio Anti-Ransomware..."
msgstr "⏳ Stopping Anti-Ransomware service..."
#: ../src/SettingsPage.cpp:1365
msgid "❌ Impossibile fermare il servizio Anti-Ransomware"
msgstr "❌ Cannot stop Anti-Ransomware service"
#: ../src/SettingsPage.cpp:1371
msgid "Protezione Anti-Ransomware: Disattivata"
msgstr "Anti-Ransomware Protection: Disabled"
#: ../src/SettingsPage.cpp:1380
msgid "⚠ refreshAntiransomRules chiamata ma rulesStore non è inizializzato\n"
msgstr "⚠ refreshAntiransomRules called but rulesStore is not initialized\n"
#: ../src/SettingsPage.cpp:1389
msgid "⚠ rulesStore non inizializzato\n"
msgstr "⚠ rulesStore not initialized\n"
#: ../src/SettingsPage.cpp:1399
msgid "⚠ Nessuna cartella YARA trovata in "
msgstr "⚠ No YARA folder found in "
#: ../src/SettingsPage.cpp:1419 ../src/Backend.cpp:1082
msgid "⚠ Impossibile aprire "
msgstr "⚠ Cannot open "
#: ../src/SettingsPage.cpp:1434
msgid " regole YARA caricate da "
msgstr " YARA rules loaded from "
#: ../src/SettingsPage.cpp:1436
msgid "⚠ Nessuna regola YARA trovata in "
msgstr "⚠ No YARA rules found in "
#: ../src/SettingsPage.cpp:1458
msgid "⚠️ Config non trovata → uso default (/home)\n"
msgstr "⚠️ Config not found → using default (/home)\n"
#: ../src/SettingsPage.cpp:1500
msgid "✔ Config caricata da "
msgstr "✔ Config loaded from "
#: ../src/SettingsPage.cpp:1528
msgid "# Configurazione BastionGuard Ransomware Scanner\n"
msgstr "# BastionGuard Ransomware Scanner Configuration\n"
#: ../src/SettingsPage.cpp:1548 ../src/SettingsPage.cpp:1552
msgid "✔ Config aggiornata in: "
msgstr "✔ Config updated in: "
#: ../src/SettingsPage.cpp:1550
msgid "❌ Errore: impossibile aggiornare config in "
msgstr "❌ Error: cannot update config in "
#: ../src/SettingsPage.cpp:1564
msgid "Protezione Anti-Phishing"
msgstr "Anti-Phishing Protection"
#: ../src/SettingsPage.cpp:1573
msgid "Protezione Anti-Phishing: Attiva (servizio di sistema)"
msgstr "Anti-Phishing Protection: Active (system service)"
#: ../src/SettingsPage.cpp:1574
msgid "Protezione Anti-Phishing: Disattivata (servizio non attivo)"
msgstr "Anti-Phishing Protection: Disabled (service not active)"
#: ../src/SettingsPage.cpp:1584
msgid "Aggiorna automaticamente la blacklist ogni 2 ore"
msgstr "Automatically update blacklist every 2 hours"
#: ../src/SettingsPage.cpp:1595
msgid "⏳ Attivazione aggiornamento automatico..."
msgstr "⏳ Enabling automatic update..."
#: ../src/SettingsPage.cpp:1596
msgid "⏳ Disattivazione aggiornamento automatico..."
msgstr "⏳ Disabling automatic update..."
#: ../src/SettingsPage.cpp:1603
msgid "✔ Aggiornamento automatico abilitato (ogni 2 ore)"
msgstr "✔ Automatic update enabled (every 2 hours)"
#: ../src/SettingsPage.cpp:1604
msgid "ℹ️ Aggiornamento automatico disabilitato"
msgstr "ℹ️ Automatic update disabled"
#: ../src/SettingsPage.cpp:1606
msgid "❌ Errore nella modifica del timer automatico"
msgstr "❌ Error modifying automatic timer"
#: ../src/SettingsPage.cpp:1616
msgid "Usa Google Safe Browsing (verifica aggiuntiva)"
msgstr "Use Google Safe Browsing (additional verification)"
#: ../src/SettingsPage.cpp:1619
msgid "Chiave API Google Safe Browsing:"
msgstr "Google Safe Browsing API Key:"
#: ../src/SettingsPage.cpp:1622
msgid "Inserisci la tua API key..."
msgstr "Enter your API key..."
#: ../src/SettingsPage.cpp:1629 ../src/SettingsPage.cpp:2834
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:84
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:113
msgid "Salva"
msgstr "Save"
#: ../src/SettingsPage.cpp:1634
msgid "Chiave Google Safe salvata"
msgstr "Google Safe key saved"
#: ../src/SettingsPage.cpp:1637 ../src/SettingsPage.cpp:1647
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:82
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:111
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:229
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:237
msgid "Mostra"
msgstr "Show"
#: ../src/SettingsPage.cpp:1647
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:229
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:237
msgid "Nascondi"
msgstr "Hide"
#: ../src/SettingsPage.cpp:1653
msgid "Verifica"
msgstr "Verify"
#: ../src/SettingsPage.cpp:1655
msgid "Verifica chiave Google Safe..."
msgstr "Verifying Google Safe Browsing key..."
#: ../src/SettingsPage.cpp:1660
msgid "Chiave Google Safe valida"
msgstr "Google Safe Browsing key is valid"
#: ../src/SettingsPage.cpp:1662
msgid "Chiave Google Safe non valida"
msgstr "Google Safe Browsing key is invalid"
#: ../src/SettingsPage.cpp:1687
msgid "✔ Google Safe Browsing abilitato"
msgstr "✔ Google Safe Browsing enabled"
#: ../src/SettingsPage.cpp:1688
msgid "ℹ️ Google Safe Browsing disabilitato"
msgstr "ℹ️ Google Safe Browsing disabled"
#: ../src/SettingsPage.cpp:1694
msgid "Blacklist caricate"
msgstr "Blacklist loaded"
#: ../src/SettingsPage.cpp:1705
msgid "Aggiorna blacklist"
msgstr "Update blacklist"
#: ../src/SettingsPage.cpp:1708
msgid "Aggiornamento blacklist..."
msgstr "Updating blacklist..."
#: ../src/SettingsPage.cpp:1715
msgid "Blacklist aggiornata"
msgstr "Blacklist updated"
#: ../src/SettingsPage.cpp:1722
msgid "♻ Riavvio servizio Anti-Phishing..."
msgstr "♻ Restarting Anti-Phishing service..."
#: ../src/SettingsPage.cpp:1725
msgid "✔ Servizio Anti-Phishing riavviato con nuova blacklist"
msgstr "✔ Anti-Phishing service restarted with new blacklist"
#: ../src/SettingsPage.cpp:1727
msgid "⚠ Errore durante il riavvio del servizio Anti-Phishing"
msgstr "⚠ Error during Anti-Phishing service restart"
#: ../src/SettingsPage.cpp:1732
msgid "Errore aggiornamento blacklist"
msgstr "Blacklist update error"
#: ../src/SettingsPage.cpp:1740
msgid "La lista completa aggiornata si trova in: phishing/blacklist.txt"
msgstr "The complete updated list is located at: phishing/blacklist.txt"
#: ../src/SettingsPage.cpp:1761
msgid "Blocco IP automatico (Firewall)"
msgstr "Automatic IP Blocking (Firewall)"
#: ../src/SettingsPage.cpp:1770
msgid "Abilita blocco IP automatico"
msgstr "Enable automatic IP blocking"
#: ../src/SettingsPage.cpp:1786
msgid ""
"Blocca automaticamente gli IP malevoli rilevati dal modulo Anti-Phishing\n"
"utilizzando il firewall di sistema (UFW / firewalld)."
msgstr ""
"Automatically block malicious IPs detected by the Anti-Phishing module\n"
"using the system firewall (UFW / firewalld)."
#: ../src/SettingsPage.cpp:1804
msgid "Firewall IP: Disattivato"
msgstr "IP Firewall: Disabled"
#: ../src/SettingsPage.cpp:1812
msgid "Firewall IP attivo: UFW"
msgstr "IP Firewall active: UFW"
#: ../src/SettingsPage.cpp:1815
msgid "Firewall IP attivo: firewalld"
msgstr "IP Firewall active: firewalld"
#: ../src/SettingsPage.cpp:1818
msgid "Firewall IP attivo"
msgstr "IP Firewall active"
#: ../src/SettingsPage.cpp:1833
msgid "Configura blocco IP firewall"
msgstr "Configure firewall IP blocking"
#: ../src/SettingsPage.cpp:1879
msgid "✔ Blocco IP firewall abilitato"
msgstr "✔ Firewall IP blocking enabled"
#: ../src/SettingsPage.cpp:1880
msgid "ℹ️ Blocco IP firewall disabilitato"
msgstr "ℹ️ Firewall IP blocking disabled"
#: ../src/SettingsPage.cpp:1900
msgid "Anti-Phishing"
msgstr "Anti-Phishing"
#: ../src/SettingsPage.cpp:1908
msgid "⏳ Avvio servizio Anti-Phishing..."
msgstr "⏳ Starting Anti-Phishing service..."
#: ../src/SettingsPage.cpp:1910
msgid "❌ Impossibile avviare il servizio Anti-Phishing"
msgstr "❌ Cannot start Anti-Phishing service"
#: ../src/SettingsPage.cpp:1916
msgid "Protezione Anti-Phishing: Attiva"
msgstr "Anti-Phishing Protection: Active"
#: ../src/SettingsPage.cpp:1919
msgid "⏳ Arresto servizio Anti-Phishing..."
msgstr "⏳ Stopping Anti-Phishing service..."
#: ../src/SettingsPage.cpp:1921
msgid "❌ Impossibile fermare il servizio Anti-Phishing"
msgstr "❌ Cannot stop Anti-Phishing service"
#: ../src/SettingsPage.cpp:1927
msgid "Protezione Anti-Phishing: Disattivata"
msgstr "Anti-Phishing Protection: Disabled"
#: ../src/SettingsPage.cpp:1933
msgid "⚠ refreshPhishLists chiamata ma phishStore non è inizializzato\n"
msgstr "⚠ refreshPhishLists called but phishStore is not initialized\n"
#: ../src/SettingsPage.cpp:1941
msgid "⚠ phishStore non inizializzato\n"
msgstr "⚠ phishStore not initialized\n"
#: ../src/SettingsPage.cpp:1964
msgid "Blacklist ridotta vuota in "
msgstr "Reduced blacklist is empty in "
#: ../src/SettingsPage.cpp:1967
msgid "Caricate "
msgstr "Loaded "
#: ../src/SettingsPage.cpp:1968
msgid "righe da blacklist ridotta"
msgstr "lines from reduced blacklist"
#: ../src/SettingsPage.cpp:1972
msgid "Nessuna blacklist ridotta trovata in "
msgstr "No reduced blacklist found in "
#: ../src/SettingsPage.cpp:1979
msgid "Lista completa in "
msgstr "Full list in "
#: ../src/SettingsPage.cpp:1982
msgid "Lista completa non trovata in "
msgstr "Full list not found in "
#: ../src/SettingsPage.cpp:2013
msgid "Lingua dell'applicazione"
msgstr "Application Language"
#: ../src/SettingsPage.cpp:2019
msgid "Seleziona lingua"
msgstr "Select language"
#: ../src/SettingsPage.cpp:2055
msgid "Applica"
msgstr "Apply"
#: ../src/SettingsPage.cpp:2076
msgid "✔ Lingua salvata in "
msgstr "✔ Language saved in "
#: ../src/SettingsPage.cpp:2078
msgid "❌ Impossibile salvare "
msgstr "❌ Cannot save "
#: ../src/SettingsPage.cpp:2085
msgid "Riavvio dei servizi in corso..."
msgstr "Services are being restarted..."
#: ../src/SettingsPage.cpp:2096
msgid "Attendere qualche secondo, l'app verrà riavviata automaticamente."
msgstr "Please wait a few seconds, the application will restart automatically."
#: ../src/SettingsPage.cpp:2120 ../src/SettingsPage.cpp:2129
msgid "[BastionGuard] ⚠ Impossibile riavviare "
msgstr "[BastionGuard] ⚠ Unable to restart "
#: ../src/SettingsPage.cpp:2121
msgid " tramite systemctl (anche con pkexec)"
msgstr " via systemctl (even with pkexec)"
#: ../src/SettingsPage.cpp:2163
msgid "❌ Impossibile rilanciare l’app (execl fallito)"
msgstr "❌ Cannot relaunch the application (execl failed)"
#: ../src/SettingsPage.cpp:2165
msgid "❌ Impossibile determinare il percorso dell’eseguibile"
msgstr "❌ Cannot determine executable path"
#: ../src/SettingsPage.cpp:2191 ../src/wizard/wizard_window.cpp:567
msgid "Sistema operativo / Distro"
msgstr "Operating System / Distribution"
#: ../src/SettingsPage.cpp:2196 ../src/wizard/wizard_window.cpp:571
msgid "Rilevamento automatico"
msgstr "Automatic detection"
#: ../src/SettingsPage.cpp:2230
msgid "Applica configurazione web"
msgstr "Apply web configuration"
#: ../src/SettingsPage.cpp:2308
msgid "[BastionGuard] Distro rilevata: "
msgstr "[BastionGuard] Detected distro: "
#: ../src/SettingsPage.cpp:2316 ../src/wizard/wizard_window.cpp:1252
msgid "Le porte devono essere numeriche valide."
msgstr "Ports must be valid numeric values."
#: ../src/SettingsPage.cpp:2317 ../src/SettingsPage.cpp:2326
#: ../src/SettingsPage.cpp:2383
msgid "BastionGuard - Errore"
msgstr "BastionGuard - Error"
#: ../src/SettingsPage.cpp:2325
msgid "Errore durante la sostituzione delle porte nel template."
msgstr "Error while replacing ports in the template."
#: ../src/SettingsPage.cpp:2355 ../src/wizard/wizard_window.cpp:1307
msgid "echo '[BastionGuard] Applicazione configurazione NGINX...'\n"
msgstr "echo '[BastionGuard] Applying NGINX configuration...'\n"
#: ../src/SettingsPage.cpp:2365 ../src/wizard/wizard_window.cpp:1320
msgid "echo '[BastionGuard] Verifica configurazione esistente...'\n"
msgstr "echo '[BastionGuard] Checking existing configuration...'\n"
#: ../src/SettingsPage.cpp:2371
msgid ""
" echo '[BastionGuard] Configurazione già presente, aggiornamento non "
"necessario.'\n"
msgstr ""
" echo '[BastionGuard] Configuration already present, update not necessary.'\n"
#: ../src/SettingsPage.cpp:2381
msgid "[BastionGuard] Fallito:\n"
msgstr "[BastionGuard] Failed:\n"
#: ../src/SettingsPage.cpp:2382
msgid "Errore durante l’applicazione della configurazione:\n"
msgstr "Error while applying configuration:\n"
#: ../src/SettingsPage.cpp:2387
msgid "Configurazione NGINX aggiornata e servizio riavviato."
msgstr "NGINX configuration updated and service restarted."
#: ../src/SettingsPage.cpp:2388
msgid "BastionGuard - Esito"
msgstr "BastionGuard - Result"
#: ../src/SettingsPage.cpp:2400
msgid "Opzioni"
msgstr "Options"
#: ../src/SettingsPage.cpp:2407
msgid "Gestione Whitelist Anti-Phishing"
msgstr "Anti-Phishing Whitelist Management"
#: ../src/SettingsPage.cpp:2449
msgid "Cerca dominio..."
msgstr "Search domain..."
#: ../src/SettingsPage.cpp:2454
msgid "Inserisci dominio o IP (es. example.com)"
msgstr "Enter domain or IP (e.g. example.com)"
#: ../src/SettingsPage.cpp:2457 ../src/SettingsPage.cpp:2578
#: ../src/SettingsPage.cpp:2832 ../src/SambaPage.cpp:93
#: ../src/SambaPage.cpp:285
msgid "Aggiungi"
msgstr "Add"
#: ../src/SettingsPage.cpp:2458 ../src/SettingsPage.cpp:2833
msgid "Rimuovi selezionato"
msgstr "Remove selected"
#: ../src/SettingsPage.cpp:2459
msgid "Salva modifiche"
msgstr "Save changes"
#: ../src/SettingsPage.cpp:2460
msgid "Ricarica"
msgstr "Reload"
#: ../src/SettingsPage.cpp:2507
msgid "Dominio non valido"
msgstr "Invalid domain"
#: ../src/SettingsPage.cpp:2508
msgid "Usa solo lettere, numeri e punti."
msgstr "Use only letters, numbers and dots."
#: ../src/SettingsPage.cpp:2531 ../src/SettingsPage.cpp:2894
msgid "Errore"
msgstr "Error"
#: ../src/SettingsPage.cpp:2532
msgid "Impossibile salvare la whitelist utente."
msgstr "Cannot save user whitelist."
#: ../src/SettingsPage.cpp:2547
msgid "Whitelist salvata"
msgstr "Whitelist saved"
#: ../src/SettingsPage.cpp:2548
msgid "La whitelist è stata aggiornata in entrambi i percorsi."
msgstr "The whitelist has been updated in both locations."
#: ../src/SettingsPage.cpp:2552
msgid "Anti-Phishing whitelist"
msgstr "Anti-Phishing whitelist"
#: ../src/SettingsPage.cpp:2563
msgid "Allowlist SHA256 Anti-ransomware"
msgstr "Anti-ransomware SHA256 Allowlist"
#: ../src/SettingsPage.cpp:2569
msgid "SHA256"
msgstr "SHA256"
#: ../src/SettingsPage.cpp:2570
msgid "Regola (opzionale)"
msgstr "Rule (optional)"
#: ../src/SettingsPage.cpp:2579 ../src/SambaPage.cpp:94
msgid "Rimuovi"
msgstr "Remove"
#: ../src/SettingsPage.cpp:2592
msgid "Aggiungi SHA256"
msgstr "Add SHA256"
#: ../src/SettingsPage.cpp:2612
msgid "_Aggiungi"
msgstr "_Add"
#: ../src/SettingsPage.cpp:2645
msgid "Filtri Anti-Falsi Positivi"
msgstr "Anti-False Positives Filters"
#: ../src/SettingsPage.cpp:2652
msgid "Analizza solo file sospetti"
msgstr "Analyze only suspicious files"
#: ../src/SettingsPage.cpp:2653
msgid "Percorsi da ignorare"
msgstr "Paths to ignore"
#: ../src/SettingsPage.cpp:2658
msgid "Percorsi aziendali sicuri"
msgstr "Safe corporate paths"
#: ../src/SettingsPage.cpp:2663
msgid "Estensioni da ignorare"
msgstr "Extensions to ignore"
#: ../src/SettingsPage.cpp:2668
msgid "Estensioni sospette"
msgstr "Suspicious extensions"
#: ../src/SettingsPage.cpp:2687
msgid "Salva impostazioni avanzate"
msgstr "Save advanced settings"
#: ../src/SettingsPage.cpp:2700
msgid "✔ Impostazioni avanzate salvate"
msgstr "✔ Advanced settings saved"
#: ../src/SettingsPage.cpp:2706
msgid "Anti-Ransomware avanzate"
msgstr "Advanced Anti-Ransomware"
#: ../src/SettingsPage.cpp:2725
msgid "Pagamenti Sicuri (CEF)"
msgstr "Secure Payments (CEF)"
#: ../src/SettingsPage.cpp:2732
msgid ""
"Questa opzione apre in sandbox CEF delle pagine tipiche di pagamento "
"(checkout, gateway, 3D Secure)\n"
"\n"
"Consigliato per acquisti online e inserimento dati carta."
msgstr ""
"This option opens typical payment pages (checkout, gateway, 3D Secure)\n"
"in CEF sandbox\n"
"\n"
"Recommended for online purchases and card data entry."
#: ../src/SettingsPage.cpp:2743
msgid ""
"ℹ️ I pagamenti sicuri utilizzano un browser isolato (CEF sandbox) per ridurre "
"il rischio di furto di credenziali e dati di pagamento.\n"
"Questa modalità non modifica il funzionamento del sito e non salva alcuna "
"informazione sensibile."
msgstr ""
"ℹ️ Secure payments use an isolated browser (CEF sandbox) to reduce the risk\n"
"of credential and payment data theft.\n"
"This mode does not change the website's functionality and does not save any\n"
"sensitive information."
#: ../src/SettingsPage.cpp:2754
msgid "Abilita pagamenti sicuri"
msgstr "Enable secure payments"
#: ../src/SettingsPage.cpp:2774
msgid "✔ Pagamenti sicuri: abilitati"
msgstr "✔ Secure payments: enabled"
#: ../src/SettingsPage.cpp:2775
msgid "ℹ️ Pagamenti sicuri: disabilitati"
msgstr "ℹ️ Secure payments: disabled"
#: ../src/SettingsPage.cpp:2784
msgid "Domini/URL per Pagamenti Sicuri"
msgstr "Domains/URLs for Secure Payments"
#: ../src/SettingsPage.cpp:2828
msgid ""
"Inserisci dominio o URL (es. paypal.com oppure https://checkout.stripe.com)"
msgstr ""
"Enter domain or URL (e.g. paypal.com or https://checkout.stripe.com)"
#: ../src/SettingsPage.cpp:2835 ../src/QuarantinePage.cpp:124
msgid "Ripristina"
msgstr "Restore"
#: ../src/SettingsPage.cpp:2850
msgid "Valore non valido"
msgstr "Invalid value"
#: ../src/SettingsPage.cpp:2851
msgid "Inserisci un dominio o URL valido."
msgstr "Enter a valid domain or URL."
#: ../src/SettingsPage.cpp:2895
msgid "Impossibile salvare payments.json."
msgstr "Cannot save payments.json."
#: ../src/SettingsPage.cpp:2900
msgid "✔ Lista pagamenti salvata"
msgstr "✔ Payments list saved"
#: ../src/SettingsPage.cpp:2916
msgid "Pagamenti Sicuri"
msgstr "Secure Payments"
#: ../src/SettingsPage.cpp:2928
msgid "Servizi Utente (systemd --user)"
msgstr "User Services (systemd --user)"
#: ../src/SettingsPage.cpp:2934
msgid ""
"Questi servizi vengono gestiti con systemd --user.\n"
"Abilitare = avvio automatico al login. Disabilitare = non parte "
"automaticamente."
msgstr ""
"These services are managed with systemd --user.\n"
"Enable = automatic start at login. Disable = does not start automatically."
#: ../src/SettingsPage.cpp:2943
msgid "Nota: puoi avviarli manualmente con: systemctl --user start <unit>"
msgstr "Note: you can start them manually with: systemctl --user start <unit>"
#: ../src/SettingsPage.cpp:2950
#: ../src/first_run/first-run-services-window.cpp:324
msgid "Privacy Guard"
msgstr "Privacy Guard"
#: ../src/SettingsPage.cpp:2950
#: ../src/first_run/first-run-services-window.cpp:324
msgid "Blocco microfono e webcam quando non in uso"
msgstr "Microphone and webcam blocking when not in use"
#: ../src/SettingsPage.cpp:2951
#: ../src/first_run/first-run-services-window.cpp:325
msgid "Ransomware Alert"
msgstr "Ransomware Alert"
#: ../src/SettingsPage.cpp:2951
#: ../src/first_run/first-run-services-window.cpp:325
msgid "Notifiche su possibili attività ransomware"
msgstr "Notifications about possible ransomware activity"
#: ../src/SettingsPage.cpp:2952
#: ../src/first_run/first-run-services-window.cpp:326
msgid "Ransomware Realtime Alert"
msgstr "Ransomware Realtime Alert"
#: ../src/SettingsPage.cpp:2952
#: ../src/first_run/first-run-services-window.cpp:326
msgid "Avvisi in tempo reale su comportamenti sospetti"
msgstr "Real-time alerts on suspicious behavior"
#: ../src/SettingsPage.cpp:2953
#: ../src/first_run/first-run-services-window.cpp:327
msgid "Ransomware Scanner"
msgstr "Ransomware Scanner"
#: ../src/SettingsPage.cpp:2953
#: ../src/first_run/first-run-services-window.cpp:327
msgid "Scansione periodica alla ricerca di comportamenti malevoli"
msgstr "Periodic scanning for malicious behavior"
#: ../src/SettingsPage.cpp:2954
#: ../src/first_run/first-run-services-window.cpp:328
msgid "User-Agent Randomizer"
msgstr "User-Agent Randomizer"
#: ../src/SettingsPage.cpp:2954
#: ../src/first_run/first-run-services-window.cpp:328
msgid "Modifica user-agent per aumentare anonimato"
msgstr "User-agent modification to increase anonymity"
#: ../src/SettingsPage.cpp:2955
#: ../src/first_run/first-run-services-window.cpp:329
msgid "PAC Daemon"
msgstr "PAC Daemon"
#: ../src/SettingsPage.cpp:2955
#: ../src/first_run/first-run-services-window.cpp:329
msgid "Gestione automatica di proxy PAC sicuri"
msgstr "Automatic management of secure PAC proxies"
#: ../src/SettingsPage.cpp:2956
#: ../src/first_run/first-run-services-window.cpp:330
msgid "CEF Sandbox Service"
msgstr "CEF Sandbox Service"
#: ../src/SettingsPage.cpp:2956
#: ../src/first_run/first-run-services-window.cpp:330
msgid "Supporto in background per pagamenti sicuri con CEF"
msgstr "Background support for secure payments with CEF"
#: ../src/SettingsPage.cpp:2964
msgid "Servizi Utente"
msgstr "User Services"
#: ../src/SettingsPage.cpp:2976
msgid "Servizi di Sistema (pkexec)"
msgstr "System Services (pkexec)"
#: ../src/SettingsPage.cpp:2982
msgid ""
"Questi servizi richiedono privilegi amministrativi.\n"
"Vengono gestiti con: pkexec systemctl ..."
msgstr ""
"These services require administrative privileges.\n"
"They are managed with: pkexec systemctl ..."
#: ../src/SettingsPage.cpp:2991
msgid ""
"Durante l’attivazione/disattivazione potrebbe essere richiesta la password."
msgstr ""
"During activation/deactivation, the password may be requested."
#: ../src/SettingsPage.cpp:2998
#: ../src/first_run/first-run-services-window.cpp:333
msgid "Phishing Scanner (System)"
msgstr "Phishing Scanner (System)"
#: ../src/SettingsPage.cpp:2998
#: ../src/first_run/first-run-services-window.cpp:333
msgid "Scansione anti-phishing a livello di sistema"
msgstr "System-level anti-phishing scanning"
#: ../src/SettingsPage.cpp:2999
#: ../src/first_run/first-run-services-window.cpp:335
msgid "Ransomware Realtime (System)"
msgstr "Ransomware Realtime (System)"
#: ../src/SettingsPage.cpp:2999
#: ../src/first_run/first-run-services-window.cpp:335
msgid "Monitor realtime ransomware a livello di sistema"
msgstr "System-level realtime ransomware monitoring"
#: ../src/SettingsPage.cpp:3000
#: ../src/first_run/first-run-services-window.cpp:334
msgid "USB Protection (System)"
msgstr "USB Protection (System)"
#: ../src/SettingsPage.cpp:3000
#: ../src/first_run/first-run-services-window.cpp:334
msgid "Monitoraggio e blocco dispositivi USB sospetti"
msgstr "Monitoring and blocking of suspicious USB devices"
#: ../src/SettingsPage.cpp:3008
msgid "Servizi Sistema"
msgstr "System Services"
#: ../src/SettingsPage.cpp:3099
msgid "Impossibile abilitare il servizio"
msgstr "Unable to enable the service"
#: ../src/SettingsPage.cpp:3100
msgid "Impossibile disabilitare il servizio"
msgstr "Unable to disable the service"
#: ../src/SettingsPage.cpp:3117
msgid "Aggiorna stato servizi"
msgstr "Refresh services status"
#: ../src/SettingsPage.cpp:3249
msgid ""
"Servizio: %1\n"
"\n"
"Verifica i permessi o prova ad eseguire il comando da terminale."
msgstr ""
"Service: %1\n"
"\n"
"Check permissions or try running the command from the terminal."
#: ../src/SettingsPage.cpp:3280 ../src/SettingsPage.cpp:3352
msgid "[SettingsPage] ❌ Impossibile scrivere "
msgstr "[SettingsPage] ❌ Unable to write "
#: ../src/SettingsPage.cpp:3300
msgid "[SettingsPage] ✅ Allowlist salvata in "
msgstr "[SettingsPage] ✅ Allowlist saved in "
#: ../src/SettingsPage.cpp:3356
msgid "# --- BastionGuard Anti-Ransomware Config ---\n"
msgstr "# --- BastionGuard Anti-Ransomware Configuration ---\n"
#: ../src/SettingsPage.cpp:3369
msgid "[SettingsPage] ✅ Config salvata in "
msgstr "[SettingsPage] ✅ Configuration saved in "
#: ../src/SettingsPage.cpp:3376
msgid "Configurazione salvata correttamente."
msgstr "Configuration saved successfully."
#: ../src/SettingsPage.cpp:3384
msgid ""
"Le impostazioni aggiornate sono state caricate e applicate.\n"
"Non serve riavviare il programma."
msgstr ""
"The updated settings have been loaded and applied.\n"
"No need to restart the program."
#: ../src/SettingsPage.cpp:3391
msgid "[SettingsPage] ⚠ Errore in saveAdvancedConfig: "
msgstr "[SettingsPage] ⚠ Error in saveAdvancedConfig: "
#: ../src/SettingsPage.cpp:3428
msgid "[SettingsPage] 🔄 Configurazione caricata da "
msgstr "[SettingsPage] 🔄 Configuration loaded from "
#: ../src/SettingsPage.cpp:3431
msgid "[SettingsPage] ⚠ Errore caricando configurazione: "
msgstr "[SettingsPage] ⚠ Error loading configuration: "
#: ../src/SettingsPage.cpp:3476
msgid ""
"Servizio: %1\n"
"\n"
"Possibili cause:\n"
"• Il file .service non esiste\n"
"• systemd --user non è attivo per l'utente\n"
"• Problemi di permessi o path\n"
"• Errore di sintassi nel file di servizio"
msgstr ""
"Service: %1\n"
"\n"
"Possible causes:\n"
"• The .service file does not exist\n"
"• systemd --user is not active for the user\n"
"• Permission or path issues\n"
"• Syntax error in the service file"
#: ../src/ScanPage.cpp:68
msgid "Scansione automatica"
msgstr "Automatic scanning"
#: ../src/ScanPage.cpp:79
msgid "⚙️ Scansione automatica attiva"
msgstr "⚙️ Automatic scanning active"
#: ../src/ScanPage.cpp:80
msgid "⛔ Scansione automatica disattivata"
msgstr "⛔ Automatic scanning disabled"
#: ../src/ScanPage.cpp:111
msgid "API Key VirusTotal:"
msgstr "VirusTotal API Key:"
#: ../src/ScanPage.cpp:139
msgid "Privacy e dati cloud"
msgstr "Privacy and cloud data"
#: ../src/ScanPage.cpp:169
msgid "Privacy / Dati cloud"
msgstr "Privacy / Cloud Data"
#: ../src/ScanPage.cpp:191
msgid "❌ Errore: inotify non inizializzato"
msgstr "❌ Error: inotify not initialized"
#: ../src/ScanPage.cpp:193
msgid "📡 Inotify inizializzato"
msgstr "📡 Inotify initialized"
#: ../src/ScanPage.cpp:284
msgid "⚠️ Impossibile monitorare: "
msgstr "⚠️ Unable to monitor: "
#: ../src/ScanPage.cpp:289
msgid "📁 Watch attivo: "
msgstr "📁 Watch active: "
#: ../src/ScanPage.cpp:347 ../src/AntiRansomwarePage.cpp:162
#: ../src/ScanPage.hpp:33
msgid "Seleziona cartella"
msgstr "Select folder"
#: ../src/ScanPage.cpp:368
msgid "📁 Cartella selezionata: "
msgstr "📁 Selected folder: "
#: ../src/ScanPage.cpp:380 ../src/AntiRansomwarePage.cpp:144
#: ../src/ScanPage.hpp:34
msgid "Seleziona file"
msgstr "Select file"
#: ../src/ScanPage.cpp:401 ../src/AntiRansomwarePage.cpp:152
msgid "📄 File selezionato: "
msgstr "📄 Selected file: "
#: ../src/ScanPage.cpp:438
msgid "🔑 API Key VirusTotal caricata da cloud.conf"
msgstr "🔑 VirusTotal API Key loaded from cloud.conf"
#: ../src/ScanPage.cpp:442
msgid "⚠️ Errore caricamento cloud.conf"
msgstr "⚠️ Error loading cloud.conf"
#: ../src/ScanPage.cpp:458
msgid "💾 API Key salvata in cloud.conf"
msgstr "💾 API Key saved in cloud.conf"
#: ../src/ScanPage.cpp:462
msgid "❌ Errore salvataggio cloud.conf"
msgstr "❌ Error saving cloud.conf"
#: ../src/ScanPage.cpp:527
msgid "🛑 Tutti i monitor inotify sono stati disattivati"
msgstr "🛑 All inotify monitors have been disabled"
#: ../src/ScanPage.cpp:535
msgid "⏳ È già in corso un'altra scansione..."
msgstr "⏳ Another scan is already in progress..."
#: ../src/ScanPage.cpp:540
msgid "⚠️ Nessun file o cartella selezionato.\n"
msgstr "⚠️ No file or folder selected.\n"
#: ../src/ScanPage.cpp:547
msgid ""
"🔍 Avvio scansione con clamdscan...\n"
"\n"
msgstr ""
"🔍 Starting scan with clamdscan...\n"
"\n"
#: ../src/ScanPage.cpp:578
msgid "❌ Errore avvio clamdscan: "
msgstr "❌ Error starting clamdscan: "
#: ../src/ScanPage.cpp:595
msgid "✅ Scansione completata.\n"
msgstr "✅ Scan completed.\n"
#: ../src/ScanPage.cpp:634
msgid "❌ Errore lettura output: "
msgstr "❌ Error reading output: "
#: ../src/ScanPage.cpp:650
msgid "📁 Ignorato (non è un file regolare): "
msgstr "📁 Ignored (not a regular file): "
#: ../src/ScanPage.cpp:658
msgid "⏳ File troppo piccolo, potrebbe essere ancora in scrittura: "
msgstr "⏳ File too small, might still be writing: "
#: ../src/ScanPage.cpp:663
msgid "❌ Impossibile determinare dimensione file: "
msgstr "❌ Unable to determine file size: "
#: ../src/ScanPage.cpp:680
msgid "🔍 Scansione automatica per: "
msgstr "🔍 Automatic scan for: "
#: ../src/ScanPage.cpp:725
msgid "⬜ ClamAV pulito, avvio controllo cloud..."
msgstr "⬜ ClamAV clean, starting cloud check..."
#: ../src/ScanPage.cpp:734
msgid "⬜ File pulito da ClamAV, controllo cloud..."
msgstr "⬜ File clean by ClamAV, cloud check..."
#: ../src/ScanPage.cpp:739
msgid "❌ Errore scansione automatica"
msgstr "❌ Automatic scan error"
#: ../src/ScanPage.cpp:747
msgid "❌ Errore accesso file: "
msgstr "❌ File access error: "
#: ../src/ScanPage.cpp:875
msgid "📡 Monitoraggio Download attivo (inotify)"
msgstr "📡 Download monitoring active (inotify)"
#: ../src/ScanPage.cpp:933
msgid "🌍 Monitor globale inotify attivo"
msgstr "🌍 Global inotify monitor active"
#: ../src/ScanPage.cpp:952
msgid "⚠️ PKGBUILD sospetto: "
msgstr "⚠️ Suspicious PKGBUILD: "
#: ../src/ScanPage.cpp:957 ../src/AurScan.cpp:127
msgid "📦 PKGBUILD rilevato: "
msgstr "📦 PKGBUILD detected: "
#: ../src/ScanPage.cpp:969 ../src/AurScan.cpp:258
msgid "❌ PKGBUILD non trovato: "
msgstr "❌ PKGBUILD not found: "
#: ../src/ScanPage.cpp:973
msgid "🦠 Scansione AUR: "
msgstr "🦠 AUR scanning: "
#: ../src/ScanPage.cpp:1015
msgid "✅ PKGBUILD pulito: "
msgstr "✅ Clean PKGBUILD: "
#: ../src/ScanPage.cpp:1019
msgid "❌ Errore lettura output AUR"
msgstr "❌ Error reading AUR output"
#: ../src/ScanPage.cpp:1027
msgid "❌ Errore avvio clamdscan per PKGBUILD"
msgstr "❌ Error starting clamdscan for PKGBUILD"
#: ../src/ScanPage.cpp:1051
msgid "🔏 Nessun match cloud → File sicuro."
msgstr "🔏 No cloud match → File is safe."
#: ../src/ScanPage.cpp:1098
msgid "🌐 Avvio controllo cloud..."
msgstr "🌐 Starting cloud check..."
#: ../src/ScanPage.cpp:1139
msgid "⚠️ Alert inviato per file infetto: "
msgstr "⚠️ Alert sent for infected file: "
#: ../src/ScanPage.cpp:1145
msgid "File infetto rilevato:\n"
msgstr "Infected file detected:\n"
#: ../src/ScanPage.cpp:1178
msgid "⚠️ File infetto: "
msgstr "⚠️ Infected file: "
#: ../src/ScanPage.cpp:1183
msgid "File infetto:\n"
msgstr "Infected file:\n"
#: ../src/ScanPage.cpp:1201
msgid "Minaccia rilevata:\n"
msgstr "Threat detected:\n"
#: ../src/ScanPage.cpp:1201
msgid ""
"\n"
"Tipo: "
msgstr ""
"\n"
"Type: "
#: ../src/ScanPage.cpp:1281
msgid "🔐 Privacy – Controllo Cloud"
msgstr "🔐 Privacy – Cloud Check"
#: ../src/ScanPage.cpp:1286
msgid ""
"BastionGuard NON carica alcun file online.\n"
"\n"
"• Nessun contenuto locale viene trasmesso\n"
"• Viene calcolato solo l’hash SHA256 del file\n"
"• L’hash è confrontato con database pubblici\n"
"• Nessun percorso o dato personale viene inviato\n"
"• La API Key resta salvata esclusivamente in locale\n"
"\n"
"Il controllo cloud è una verifica di reputazione, non un upload del file."
msgstr ""
"BastionGuard does NOT upload any file online.\n"
"\n"
"• No local content is transmitted\n"
"• Only the file's SHA256 hash is calculated\n"
"• The hash is checked against public databases\n"
"• No path or personal data is sent\n"
"• The API Key remains stored only locally\n"
"\n"
"The cloud check is a reputation verification, not a file upload."
#: ../src/BastionGuard-privacyd.cpp:81
msgid "[privacyd] Errore scrittura log."
msgstr "[privacyd] Error writing log."
#: ../src/BastionGuard-privacyd.cpp:132
msgid "[privacyd] Avviato monitoraggio webcam/microfono."
msgstr "[privacyd] Started webcam/microphone monitoring."
#: ../src/BastionGuard-privacyd.cpp:140
msgid "Nuovo accesso: "
msgstr "New access: "
#: ../src/BastionGuard-privacyd.cpp:148
msgid "Accesso terminato: %1"
msgstr "Access terminated: %1"
#: ../src/BastionGuard-privacyd.cpp:159
msgid "[privacyd] Monitoraggio terminato."
msgstr "[privacyd] Monitoring terminated."
#: ../src/BastionGuard-privacyd.cpp:177
msgid "=== Avvio BastionGuard-privacyd (headless) ==="
msgstr "=== Starting BastionGuard-privacyd (headless) ==="
#: ../src/BastionGuard-privacyd.cpp:185
msgid "=== Arresto BastionGuard-privacyd ==="
msgstr "=== Stopping BastionGuard-privacyd ==="
#: ../src/IdentityLeakPage/providers/HibpProvider.cpp:48
msgid "HIBP: API key non valida (401)"
msgstr "HIBP: Invalid API key (401)"
#: ../src/IdentityLeakPage/providers/HibpProvider.cpp:53
msgid "HIBP: rate limit superato (429)"
msgstr "HIBP: Rate limit exceeded (429)"
#: ../src/IdentityLeakPage/providers/HibpProvider.cpp:68
msgid "HIBP: JSON non valido"
msgstr "HIBP: Invalid JSON"
#: ../src/IdentityLeakPage/providers/LeakCheckProvider.cpp:40
msgid "Rilevato da LeakCheck Public API"
msgstr "Detected by LeakCheck Public API"
#: ../src/IdentityLeakPage/worker/LeakCheckWorker.cpp:22
msgid "Normalizzazione identità…"
msgstr "Normalizing identity…"
#: ../src/IdentityLeakPage/worker/LeakCheckWorker.cpp:49
msgid "Fonte attiva: HIBP (copertura completa)"
msgstr "Active source: HIBP (full coverage)"
#: ../src/IdentityLeakPage/worker/LeakCheckWorker.cpp:51
msgid "⚠ HIBP non configurato"
msgstr "⚠ HIBP not configured"
#: ../src/IdentityLeakPage/worker/LeakCheckWorker.cpp:52
msgid " Uso LeakCheck (copertura limitata)"
msgstr " Using LeakCheck (limited coverage)"
#: ../src/IdentityLeakPage/worker/LeakCheckWorker.cpp:70
msgid "❌ Errore durante la verifica: "
msgstr "❌ Error during verification: "
#: ../src/IdentityLeakPage/worker/LeakCheckWorker.cpp:78
msgid "✔ Nessuna violazione rilevata."
msgstr "✔ No breaches detected."
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:31
msgid "🛡️ Controllo violazioni identità"
msgstr "🛡️ Identity breach check"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:55
msgid "Inserisci email da monitorare"
msgstr "Enter email to monitor"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:58
msgid "ℹ️ Privacy"
msgstr "ℹ️ Privacy"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:77
msgid "HIBP API Key"
msgstr "HIBP API Key"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:105
msgid "LeakCheck API Key"
msgstr "LeakCheck API Key"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:115
msgid "⚠️ Info"
msgstr "⚠️ Info"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:141
msgid "Verifica password compromessa"
msgstr "Check compromised password"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:145
msgid "Verifica password"
msgstr "Verify password"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:159
msgid "Monitor automatico (ogni 24h)"
msgstr "Automatic monitoring (every 24h)"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:172
msgid "Verifica violazioni"
msgstr "Check breaches"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:251
msgid "⚠ HIBP API rimossa"
msgstr "⚠ HIBP API removed"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:252
msgid "✔ HIBP API salvata"
msgstr "✔ HIBP API saved"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:262
msgid "⚠ LeakCheck API rimossa"
msgstr "⚠ LeakCheck API removed"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:263
msgid "✔ LeakCheck API salvata"
msgstr "✔ LeakCheck API saved"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:275
msgid "Monitor automatico attivato (24h)"
msgstr "Automatic monitoring activated (24h)"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:307
msgid "Monitor automatico disattivato"
msgstr "Automatic monitoring deactivated"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:310
msgid "Monitor automatico abilitato"
msgstr "Automatic monitoring enabled"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:331
msgid "Avvio controllo violazioni…"
msgstr "Starting breach check…"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:344
msgid "Controllo completato."
msgstr "Check completed."
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:361
msgid "🔐 Controllo password (HIBP)…"
msgstr "🔐 Password check (HIBP)…"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:369
msgid "❌ Password compromessa – trovata in "
msgstr "❌ Compromised password – found in "
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:371
msgid " violazioni"
msgstr " breaches"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:373
msgid " → Cambiala immediatamente"
msgstr " → Change it immediately"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:376
msgid "✔ Password NON presente in database noti"
msgstr "✔ Password NOT present in known databases"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:381
msgid "❌ Errore controllo password: "
msgstr "❌ Password check error: "
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:449
msgid "🔐 Tutela della privacy"
msgstr "🔐 Privacy protection"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:454
msgid ""
"Nessun dato personale viene inviato o memorizzato da BastionGuard.\n"
"\n"
"• Le email vengono verificate tramite API ufficiali\n"
"• Le password NON vengono mai trasmesse\n"
"• Il controllo password usa solo hash parziali (HIBP Range)\n"
"• Nessuna informazione viene salvata su server esterni\n"
"\n"
"Il controllo avviene nel rispetto totale della privacy."
msgstr ""
"No personal data is sent or stored by BastionGuard.\n"
"\n"
"• Emails are verified through official APIs\n"
"• Passwords are NEVER transmitted\n"
"• Password check uses only partial hashes (HIBP Range)\n"
"• No information is saved on external servers\n"
"\n"
"The check is performed with full respect for privacy."
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:465
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:551
msgid "Ho capito"
msgstr "I understand"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:535
msgid "⚠️ Avviso su LeakCheck"
msgstr "⚠️ Notice about LeakCheck"
#: ../src/IdentityLeakPage/ui/IdentityLeakPage.cpp:540
msgid ""
"Le API utilizzate da BastionGuard per LeakCheck NON sono le stesse impiegate "
"dal sito web ufficiale.\n"
"\n"
"• BastionGuard non è affiliato a LeakCheck\n"
"• Non esiste alcuna partnership o approvazione implicita\n"
"• I risultati possono differire da quelli mostrati sul sito\n"
"\n"
"L’utente è responsabile dell’utilizzo delle API."
msgstr ""
"The APIs used by BastionGuard for LeakCheck are NOT the same as those used "
"by the official website.\n"
"\n"
"• BastionGuard is not affiliated with LeakCheck\n"
"• There is no partnership or implied endorsement\n"
"• Results may differ from those shown on the website\n"
"\n"
"The user is responsible for using the APIs."
#: ../src/IdentityLeakPage/monitor/LeakMonitor.cpp:71
msgid "Monitor Identity Leak attivo (HIBP + LeakCheck)"
msgstr "Identity Leak monitor active (HIBP + LeakCheck)"
#: ../src/IdentityLeakPage/monitor/LeakMonitor.cpp:74
msgid ""
"⚠ Monitor Identity Leak attivo in modalità LIMITATA (solo LeakCheck, API "
"HIBP mancante)"
msgstr ""
"⚠ Identity Leak monitor active in LIMITED mode (only LeakCheck, HIBP API missing)"
#: ../src/IdentityLeakPage/monitor/LeakMonitor.cpp:90
msgid "⚠ Nuova violazione rilevata per identità: "
msgstr "⚠ New breach detected for identity: "
#: ../src/IdentityLeakPage/monitor/LeakMonitor.cpp:94
msgid ""
"⚠ Possibile esposizione rilevata (fonte LeakCheck, verifica manuale "
"consigliata)"
msgstr ""
"⚠ Possible exposure detected (LeakCheck source, manual verification recommended)"
#: ../src/IdentityLeakPage/monitor/LeakMonitor.cpp:101
msgid "❌ Errore monitor Identity Leak: "
msgstr "❌ Identity Leak monitor error: "
#: ../src/IdentityLeakPage/monitor/LeakMonitor.cpp:114
msgid "Monitor Identity Leak fermato"
msgstr "Identity Leak monitor stopped"
#: ../src/IdentityLeakPage/storage/LeakDatabase.cpp:47
msgid "SQLite: open failed"
msgstr "SQLite: open failed"
#: ../src/Backend.cpp:262
msgid "Impossibile scrivere la configurazione Samba"
msgstr "Unable to write Samba configuration"
#: ../src/Backend.cpp:269
msgid "Stato Samba salvato: "
msgstr "Samba status saved: "
#: ../src/Backend.cpp:270
msgid "abilitato"
msgstr "enabled"
#: ../src/Backend.cpp:270
msgid "disabilitato"
msgstr "disabled"
#: ../src/Backend.cpp:288
msgid "✔ Riavviato clamav-daemon\n"
msgstr "✔ Restarted clamav-daemon\n"
#: ../src/Backend.cpp:291
msgid "✔ Riavviato clamd\n"
msgstr "✔ Restarted clamd\n"
#: ../src/Backend.cpp:293
msgid "⚠ Nessun servizio clamd/clamav-daemon trovato\n"
msgstr "⚠ No clamd/clamav-daemon service found\n"
#: ../src/Backend.cpp:306
msgid "⚠ install_to_system_data: pkexec failed (code "
msgstr "⚠ install_to_system_data: pkexec failed (code "
#: ../src/Backend.cpp:313
msgid "❌ install_to_system_data exception: "
msgstr "❌ install_to_system_data exception: "
#: ../src/Backend.cpp:345 ../src/Backend.cpp:1524
msgid "Impossibile aprire il file di configurazione per scrittura: "
msgstr "Unable to open configuration file for writing: "
#: ../src/Backend.cpp:353
msgid "Percorso quarantena salvato in configurazione: "
msgstr "Quarantine path saved in configuration: "
#: ../src/Backend.cpp:355
msgid "Errore durante la scrittura della configurazione: "
msgstr "Error writing configuration: "
#: ../src/Backend.cpp:385 ../src/QuarantinePage.cpp:77 ../src/Quarantine.cpp:56
msgid "❌ Errore creazione cartella quarantena: "
msgstr "❌ Error creating quarantine folder: "
#: ../src/Backend.cpp:422
msgid "❌ Errore copia "
msgstr "❌ Copy error "
#: ../src/Backend.cpp:475
msgid "Abilitata"
msgstr "Enabled"
#: ../src/Backend.cpp:475
msgid "Disabilitata"
msgstr "Disabled"
#: ../src/Backend.cpp:538 ../src/Backend.cpp:588 ../src/Backend.cpp:648
#: ../src/Backend.cpp:656 ../src/DashboardPage.cpp:229
#: ../src/MainWindow.cpp:131
msgid "sconosciuta"
msgstr "unknown"
#: ../src/Backend.cpp:667
msgid "✔ clamd già installato\n"
msgstr "✔ clamd already installed\n"
#: ../src/Backend.cpp:672
msgid "⚠ clamd non trovato, tentativo installazione per "
msgstr "⚠ clamd not found, attempting installation for "
#: ../src/Backend.cpp:690
msgid "❌ Distribuzione non riconosciuta: "
msgstr "❌ Distribution not recognized: "
#: ../src/Backend.cpp:695
msgid "✔ clamd installato correttamente\n"
msgstr "✔ clamd installed correctly\n"
#: ../src/Backend.cpp:698
msgid "❌ Errore durante l’installazione di clamd\n"
msgstr "❌ Error during clamd installation\n"
#: ../src/Backend.cpp:742
msgid "[Backend] ⚠ Errore lettura configurazione firewall\n"
msgstr "[Backend] ⚠ Error reading firewall configuration\n"
#: ../src/Backend.cpp:748
msgid "[Backend] 🛰️ Listener D-Bus ransomware attivo\n"
msgstr "[Backend] 🛰️ Ransomware D-Bus listener active\n"
#: ../src/Backend.cpp:750
msgid "[Backend] ⚠ Impossibile avviare listener D-Bus ransomware: "
msgstr "[Backend] ⚠ Unable to start ransomware D-Bus listener: "
#: ../src/Backend.cpp:774
msgid "[Backend] Configurazione Google Safe caricata da "
msgstr "[Backend] Google Safe configuration loaded from "
#: ../src/Backend.cpp:777
msgid "[Backend] ⚠ Impossibile leggere config Google Safe\n"
msgstr "[Backend] ⚠ Unable to read Google Safe config\n"
#: ../src/Backend.cpp:782
msgid "[Backend] Google Safe Browsing attivo (API Key: %1)\n"
msgstr "[Backend] Google Safe Browsing active (API Key: %1)\n"
#: ../src/Backend.cpp:783
msgid "vuota"
msgstr "empty"
#: ../src/Backend.cpp:783
msgid "presente"
msgstr "present"
#: ../src/Backend.cpp:787
msgid "[Backend] Google Safe Browsing disattivato.\n"
msgstr "[Backend] Google Safe Browsing disabled.\n"
#: ../src/Backend.cpp:793
msgid "[Backend] Blacklist non trovata in "
msgstr "[Backend] Blacklist not found in "
#: ../src/Backend.cpp:794
msgid " — provo a scaricarla con updatePhishLists()\n"
msgstr " — attempting to download it with updatePhishLists()\n"
#: ../src/Backend.cpp:797
msgid "[Backend] Blacklist aggiornata e trovata in "
msgstr "[Backend] Blacklist updated and found in "
#: ../src/Backend.cpp:799
msgid "[Backend] updatePhishLists() fallita, continuerò senza WebProbe\n"
msgstr "[Backend] updatePhishLists() failed, continuing without WebProbe\n"
#: ../src/Backend.cpp:808
msgid "[Backend] WebProbe avviato su porta "
msgstr "[Backend] WebProbe started on port "
#: ../src/Backend.cpp:809
msgid " con blacklist: "
msgstr " with blacklist: "
#: ../src/Backend.cpp:811
msgid "[Backend] Errore inizializzazione WebProbe: "
msgstr "[Backend] WebProbe initialization error: "
#: ../src/Backend.cpp:815
msgid "[Backend] Nessuna blacklist disponibile, WebProbe non inizializzato\n"
msgstr "[Backend] No blacklist available, WebProbe not initialized\n"
#: ../src/Backend.cpp:821
msgid "[Backend] Whitelist caricata con "
msgstr "[Backend] Whitelist loaded with "
#: ../src/Backend.cpp:824
msgid "[Backend] ⚠ Errore caricamento whitelist: "
msgstr "[Backend] ⚠ Error loading whitelist: "
#: ../src/Backend.cpp:844
msgid "✔ Servizio Anti-Ransomware avviato\n"
msgstr "✔ Anti-Ransomware service started\n"
#: ../src/Backend.cpp:846
msgid "❌ Errore avvio servizio Anti-Ransomware\n"
msgstr "❌ Error starting Anti-Ransomware service\n"
#: ../src/Backend.cpp:855
msgid "✔ Servizio Anti-Ransomware fermato\n"
msgstr "✔ Anti-Ransomware service stopped\n"
#: ../src/Backend.cpp:857
msgid "⚠ Impossibile fermare il servizio Anti-Ransomware\n"
msgstr "⚠ Unable to stop Anti-Ransomware service\n"
#: ../src/Backend.cpp:928
msgid "⬇ Inizio aggiornamento delle regole YARA..."
msgstr "⬇ Starting YARA rules update..."
#: ../src/Backend.cpp:964
msgid "✔ Aggiornato: "
msgstr "✔ Updated: "
#: ../src/Backend.cpp:972
msgid "Totale riusciti: "
msgstr "Total successful: "
#: ../src/Backend.cpp:973
msgid "Falliti: "
msgstr "Failed: "
#: ../src/Backend.cpp:976
msgid "⚠ Alcuni download sono stati bloccati dall'AntiPhishing."
msgstr "⚠ Some downloads were blocked by AntiPhishing."
#: ../src/Backend.cpp:979
msgid "📁 Regole salvate in: "
msgstr "📁 Rules saved in: "
#: ../src/Backend.cpp:994
msgid "✔ Copiate anche in /usr/share/BastionGuard/data/yara"
msgstr "✔ Also copied to /usr/share/BastionGuard/data/yara"
#: ../src/Backend.cpp:996
msgid "⚠ Impossibile copiare in /usr/share (permessi negati)"
msgstr "⚠ Unable to copy to /usr/share (permission denied)"
#: ../src/Backend.cpp:1075
msgid "❌ Impossibile scrivere "
msgstr "❌ Unable to write "
#: ../src/Backend.cpp:1105
msgid "⚠ Nessun dato da "
msgstr "⚠ No data from "
#: ../src/Backend.cpp:1131
msgid "# ... lista completa salvata in blacklist.txt\n"
msgstr "# ... complete list saved in blacklist.txt\n"
#: ../src/Backend.cpp:1146
msgid "❌ Impossibile aprire la blacklist per generare dnsmasq."
msgstr "❌ Unable to open blacklist to generate dnsmasq."
#: ../src/Backend.cpp:1150
msgid "❌ Impossibile creare file temporaneo dnsmasq."
msgstr "❌ Unable to create temporary dnsmasq file."
#: ../src/Backend.cpp:1255
msgid "[Backend] ✅ Whitelist utente/banca caricata: "
msgstr "[Backend] ✅ User/bank whitelist loaded: "
#: ../src/Backend.cpp:1257
msgid "[Backend] ✅ Whitelist infrastrutturale: "
msgstr "[Backend] ✅ Infrastructure whitelist: "
#: ../src/Backend.cpp:1258 ../src/SecureBrowser.cpp:662
msgid " domini.\n"
msgstr " domains.\n"
#: ../src/Backend.cpp:1317
msgid "✔ File dnsmasq generato: "
msgstr "✔ dnsmasq file generated: "
#: ../src/Backend.cpp:1318
msgid " voci. Skipped whitelist: "
msgstr " entries. Skipped whitelist: "
#: ../src/Backend.cpp:1319
msgid " | Skipped IP: "
msgstr " | Skipped IP: "
#: ../src/Backend.cpp:1329
msgid "⚠ Errore generazione dnsmasq blocklist: "
msgstr "⚠ Error generating dnsmasq blocklist: "
#: ../src/Backend.cpp:1339
msgid "[Firewall] Blocco IP disabilitato — salto applicazione regole.\n"
msgstr "[Firewall] IP blocking disabled — skipping rules application.\n"
#: ../src/Backend.cpp:1341
msgid "[Firewall] Nessun firewall supportato rilevato.\n"
msgstr "[Firewall] No supported firewall detected.\n"
#: ../src/Backend.cpp:1354
msgid "[Firewall] Tentata applicazione regole da "
msgstr "[Firewall] Attempting to apply rules from "
#: ../src/Backend.cpp:1355
msgid " righe blacklist "
msgstr " blacklist lines "
#: ../src/Backend.cpp:1360
msgid "[Firewall] Errore applicazione regole firewall: "
msgstr "[Firewall] Error applying firewall rules: "
#: ../src/Backend.cpp:1364
msgid "[Firewall] Errore sconosciuto applicazione regole firewall.\n"
msgstr "[Firewall] Unknown error applying firewall rules.\n"
#: ../src/Backend.cpp:1368
msgid "✔ Blacklist phishing aggiornata in "
msgstr "✔ Phishing blacklist updated in "
#: ../src/Backend.cpp:1369
msgid " e ridotta in "
msgstr " and reduced in "
#: ../src/Backend.cpp:1378
msgid "▶ Avvio protezione Anti-Phishing...\n"
msgstr "▶ Starting Anti-Phishing protection...\n"
#: ../src/Backend.cpp:1381
msgid "✔ Servizio Anti-Phishing avviato\n"
msgstr "✔ Anti-Phishing service started\n"
#: ../src/Backend.cpp:1383
msgid "❌ Errore avvio servizio Anti-Phishing\n"
msgstr "❌ Error starting Anti-Phishing service\n"
#: ../src/Backend.cpp:1388
msgid "⏹ Arresto protezione Anti-Phishing...\n"
msgstr "⏹ Stopping Anti-Phishing protection...\n"
#: ../src/Backend.cpp:1391
msgid "✔ Servizio Anti-Phishing fermato\n"
msgstr "✔ Anti-Phishing service stopped\n"
#: ../src/Backend.cpp:1393
msgid "⚠ Errore arresto BastionGuard-phishing-scanner.service\n"
msgstr "⚠ Error stopping BastionGuard-phishing-scanner.service\n"
#: ../src/Backend.cpp:1423
msgid "⬇ Inizio aggiornamento Sanesecurity DB..."
msgstr "⬇ Starting Sanesecurity DB update..."
#: ../src/Backend.cpp:1435
msgid "⬇ Scarico "
msgstr "⬇ Downloading "
#: ../src/Backend.cpp:1441
msgid "⚠ Errore download o file vuoto: "
msgstr "⚠ Download error or empty file: "
#: ../src/Backend.cpp:1449
msgid "❌ Errore copia locale "
msgstr "❌ Local copy error "
#: ../src/Backend.cpp:1455
msgid "✔ "
msgstr "✔ "
#: ../src/Backend.cpp:1455
msgid " installato system-wide in "
msgstr " installed system-wide in "
#: ../src/Backend.cpp:1457
msgid "ℹ "
msgstr "ℹ "
#: ../src/Backend.cpp:1457
msgid " disponibile solo in "
msgstr " available only in "
#: ../src/Backend.cpp:1464
msgid "✔ Database Sanesecurity aggiornato in "
msgstr "✔ Sanesecurity database updated in "
#: ../src/Backend.cpp:1513
msgid "Variabile HOME non trovata"
msgstr "HOME variable not found"
#: ../src/Backend.cpp:1529
msgid "Configurazione Google Safe Browsing"
msgstr "Google Safe Browsing Configuration"
#: ../src/Backend.cpp:1534
msgid "Configurazione Google Safe salvata in "
msgstr "Google Safe configuration saved in "
#: ../src/Backend.cpp:1536
msgid "Errore durante il salvataggio della configurazione Google Safe: "
msgstr "Error saving Google Safe configuration: "
#: ../src/Backend.cpp:1543
msgid "Nessuna chiave API Google Safe impostata"
msgstr "No Google Safe API key set"
#: ../src/Backend.cpp:1549
msgid "Impossibile inizializzare la libreria CURL"
msgstr "Unable to initialize CURL library"
#: ../src/Backend.cpp:1571
msgid "Errore nella richiesta HTTP a Google Safe: "
msgstr "Error in HTTP request to Google Safe: "
#: ../src/Backend.cpp:1581
msgid "Chiave Google Safe valida e attiva"
msgstr "Google Safe key is valid and active"
#: ../src/Backend.cpp:1584
msgid "Chiave API non valida o risposta inattesa dal server"
msgstr "API key invalid or unexpected server response"
#: ../src/Backend.cpp:1602
msgid "Timer aggiornamento phishing attivato correttamente."
msgstr "Phishing update timer activated successfully."
#: ../src/Backend.cpp:1604
msgid "Timer aggiornamento phishing disattivato."
msgstr "Phishing update timer deactivated."
#: ../src/Backend.cpp:1609
msgid "Errore durante l’attivazione del timer di aggiornamento phishing!"
msgstr "Error activating phishing update timer!"
#: ../src/Backend.cpp:1611
msgid "Errore durante la disattivazione del timer di aggiornamento phishing!"
msgstr "Error deactivating phishing update timer!"
#: ../src/Backend.cpp:1801
msgid "❌ Impossibile scrivere credenziali SMB\n"
msgstr "❌ Unable to write SMB credentials\n"
#: ../src/Backend.cpp:1812
msgid "✔ Credenziali SMB salvate in modo sicuro (XOR + Base64)\n"
msgstr "✔ SMB credentials saved securely (XOR + Base64)\n"
#: ../src/Backend.cpp:1843
msgid "✔ Credenziali SMB caricate: "
msgstr "✔ SMB credentials loaded: "
#: ../src/Backend.cpp:1903
msgid "SMB ERROR: contesto SMB nullo\n"
msgstr "SMB ERROR: null SMB context\n"
#: ../src/Backend.cpp:1929
msgid "SMB ERROR: funzioni SMB mancanti (contesto non valido)\n"
msgstr "SMB ERROR: missing SMB functions (invalid context)\n"
#: ../src/Backend.cpp:1937
msgid "SMB ERROR: impossibile aprire "
msgstr "SMB ERROR: unable to open "
#: ../src/Backend.cpp:1981
msgid "SMB ERROR: ctx nullo\n"
msgstr "SMB ERROR: null ctx\n"
#: ../src/Backend.cpp:1992
msgid "SMB ERROR: funzioni SMB non disponibili\n"
msgstr "SMB ERROR: SMB functions not available\n"
#: ../src/Backend.cpp:1999
msgid "SMB ERROR: impossibile aprire file: "
msgstr "SMB ERROR: unable to open file: "
#: ../src/Backend.cpp:2010
msgid "SMB ERROR: callback fallita\n"
msgstr "SMB ERROR: callback failed\n"
#: ../src/Backend.cpp:2030
msgid "SMB ERROR: impossibile creare contesto SMB\n"
msgstr "SMB ERROR: unable to create SMB context\n"
#: ../src/Backend.cpp:2039
msgid "SMB ERROR: impossibile creare directory "
msgstr "SMB ERROR: unable to create directory "
#: ../src/Backend.cpp:2048
msgid "SMB ERROR: impossibile aprire file locale "
msgstr "SMB ERROR: unable to open local file "
#: ../src/Backend.cpp:2049
msgid " per scrittura\n"
msgstr " for writing\n"
#: ../src/Backend.cpp:2073
msgid "SMB ERROR: copia fallita per: "
msgstr "SMB ERROR: copy failed for: "
#: ../src/Backend.cpp:2121
msgid "=== Scansione Samba: "
msgstr "=== Samba Scan: "
#: ../src/Backend.cpp:2135
msgid "Percorso SMB rilevato. Creo contesto SMB..."
msgstr "SMB path detected. Creating SMB context..."
#: ../src/Backend.cpp:2140
msgid "ERRORE: impossibile creare contesto SMB."
msgstr "ERROR: unable to create SMB context."
#: ../src/Backend.cpp:2149
msgid "ERRORE: impossibile elencare la share SMB."
msgstr "ERROR: unable to list SMB share."
#: ../src/Backend.cpp:2157
msgid "File trovati via SMB: "
msgstr "Files found via SMB: "
#: ../src/Backend.cpp:2166
msgid "ERRORE: directory locale non trovata."
msgstr "ERROR: local directory not found."
#: ../src/Backend.cpp:2182
msgid "ERRORE: impossibile scansionare la directory locale."
msgstr "ERROR: unable to scan local directory."
#: ../src/Backend.cpp:2187
msgid "Nessun file da scansionare."
msgstr "No files to scan."
#: ../src/Backend.cpp:2192
msgid "File trovati localmente: "
msgstr "Files found locally: "
#: ../src/Backend.cpp:2209
msgid "ERRORE: clamdscan non trovato."
msgstr "ERROR: clamdscan not found."
#: ../src/Backend.cpp:2220
msgid "ERRORE: il demone clamd non è attivo."
msgstr "ERROR: clamd daemon is not running."
#: ../src/Backend.cpp:2225
msgid "Demone ClamAV rilevato."
msgstr "ClamAV daemon detected."
#: ../src/Backend.cpp:2235
msgid "ERRORE: impossibile creare temp dir."
msgstr "ERROR: unable to create temporary directory."
#: ../src/Backend.cpp:2249
msgid "Trovati "
msgstr "Found "
#: ../src/Backend.cpp:2249
msgid " file da copiare."
msgstr " files to copy."
#: ../src/Backend.cpp:2268
msgid "ERRORE copia locale: "
msgstr "ERROR local copy: "
#: ../src/Backend.cpp:2297
msgid "ERRORE lettura SMB: "
msgstr "ERROR reading SMB: "
#: ../src/Backend.cpp:2306
msgid "Copiato: "
msgstr "Copied: "
#: ../src/Backend.cpp:2324
msgid "Eseguo comando: "
msgstr "Executing command: "
#: ../src/Backend.cpp:2328
msgid "ERRORE: popen() fallita."
msgstr "ERROR: popen() failed."
#: ../src/Backend.cpp:2372
msgid "=== Scansione completata ==="
msgstr "=== Scan completed ==="
#: ../src/Backend.cpp:2373 ../src/usb/USBScanPage.cpp:652
msgid "File analizzati: "
msgstr "Files analyzed: "
#: ../src/Backend.cpp:2374
msgid "File infetti: "
msgstr "Infected files: "
#: ../src/Backend.cpp:2377
msgid "Scansione completata."
msgstr "Scan completed."
#: ../src/Backend.cpp:2401
msgid "Directory Samba non trovata: "
msgstr "Samba directory not found: "
#: ../src/Backend.cpp:2413
msgid "⚠️ Impossibile riscrivere la configurazione Samba\n"
msgstr "⚠️ Unable to rewrite Samba configuration\n"
#: ../src/Backend.cpp:2423
msgid "Rimossa directory Samba: "
msgstr "Removed Samba directory: "
#: ../src/Backend.cpp:2443
msgid "🔧 Inizializzazione canale D-Bus per invio alert..."
msgstr "🔧 Initializing D-Bus channel for sending alerts..."
#: ../src/Backend.cpp:2470
msgid "🟢 Servizio BastionGuard-ransomware-alert trovato su D-Bus."
msgstr "🟢 BastionGuard-ransomware-alert service found on D-Bus."
#: ../src/Backend.cpp:2472
msgid ""
"⚠️ Servizio BastionGuard-ransomware-alert non attivo. Gli avvisi non verranno "
"mostrati."
msgstr ""
"⚠️ BastionGuard-ransomware-alert service not active. Alerts will not be shown."
#: ../src/Backend.cpp:2475
msgid "❌ Errore inizializzazione D-Bus: "
msgstr "❌ D-Bus initialization error: "
#: ../src/Backend.cpp:2506
msgid "⚠️ Impossibile verificare il listener D-Bus: "
msgstr "⚠️ Unable to verify D-Bus listener: "
#: ../src/Backend.cpp:2511
msgid ""
"⚠️ Listener org.BastionGuard.Ransomware.Alert non attivo — nessun popup verrà "
"mostrato."
msgstr ""
"⚠️ Listener org.BastionGuard.Ransomware.Alert not active — no popups will be shown."
#: ../src/Backend.cpp:2534
msgid ""
"📢 Alert ransomware inviato via D-Bus:\n"
" - File: %1\n"
" - Famiglia: %2"
msgstr ""
"📢 Ransomware alert sent via D-Bus:\n"
" - File: %1\n"
" - Family: %2"
#: ../src/Backend.cpp:2539
msgid "❌ Errore nell'invio alert D-Bus: "
msgstr "❌ Error sending D-Bus alert: "
#: ../src/Backend.cpp:2560
msgid "⚠️ Impossibile spostare il file, provo copia: "
msgstr "⚠️ Unable to move file, attempting copy: "
#: ../src/Backend.cpp:2568
msgid "🧰 File spostato in quarantena: "
msgstr "🧰 File moved to quarantine: "
#: ../src/Backend.cpp:2573
msgid "File spostato in quarantena con successo:\n"
msgstr "File successfully moved to quarantine:\n"
#: ../src/Backend.cpp:2579
msgid "Quarantena completata"
msgstr "Quarantine completed"
#: ../src/Backend.cpp:2584
msgid "❌ Errore durante la quarantena: "
msgstr "❌ Error during quarantine: "
#: ../src/Backend.cpp:2603
msgid "📁 Creata directory di quarantena: "
msgstr "📁 Quarantine directory created: "
#: ../src/Backend.cpp:2614
msgid "❌ Errore in ensureQuarantinePath(): "
msgstr "❌ Error in ensureQuarantinePath(): "
#: ../src/Backend.cpp:2658
msgid "[Backend] ❌ Errore: init cURL\n"
msgstr "[Backend] ❌ Error: cURL initialization\n"
#: ../src/Backend.cpp:2664
msgid "[Backend] ❌ Errore apertura file "
msgstr "[Backend] ❌ Error opening file "
#: ../src/Backend.cpp:2669
msgid "[Backend] 🌍 Download da URL: "
msgstr "[Backend] 🌍 Downloading from URL: "
#: ../src/Backend.cpp:2694
msgid "[Backend] Risultato cURL: "
msgstr "[Backend] cURL result: "
#: ../src/Backend.cpp:2697
msgid "[Backend] ❌ Errore rete o HTTP ("
msgstr "[Backend] ❌ Network or HTTP error ("
#: ../src/Backend.cpp:2702
msgid "[Backend] ⚠ banks.json scaricato ma vuoto.\n"
msgstr "[Backend] ⚠ banks.json downloaded but empty.\n"
#: ../src/Backend.cpp:2706
msgid "[Backend] ✅ Lista banche aggiornata ("
msgstr "[Backend] ✅ Banks list updated ("
#: ../src/Backend.cpp:2740
msgid "✔ Whitelist salvata ("
msgstr "✔ Whitelist saved ("
#: ../src/Backend.cpp:2742
msgid "❌ Errore salvataggio whitelist: "
msgstr "❌ Error saving whitelist: "
#: ../src/Backend.cpp:2759
msgid "✔ Whitelist caricata ("
msgstr "✔ Whitelist loaded ("
#: ../src/Backend.cpp:2761
msgid "⚠ Errore caricamento whitelist: "
msgstr "⚠ Error loading whitelist: "
#: ../src/Backend.cpp:2772
msgid "✔ dnsmasq ricaricato correttamente.\n"
msgstr "✔ dnsmasq reloaded successfully.\n"
#: ../src/Backend.cpp:2775
msgid "⚠️ Errore nel reload di dnsmasq.\n"
msgstr "⚠️ Error reloading dnsmasq.\n"
#: ../src/Backend.cpp:2781
msgid "[Backend] setPhishingPort("
msgstr "[Backend] setPhishingPort("
#: ../src/Backend.cpp:2781
msgid ") — funzione non più usata."
msgstr ") — function no longer used."
#: ../src/Backend.cpp:2815
msgid "[Firewall] Nessun IP valido estratto\n"
msgstr "[Firewall] No valid IP extracted\n"
#: ../src/Backend.cpp:2899
msgid "[Firewall] Impossibile aprire blacklist\n"
msgstr "[Firewall] Unable to open blacklist\n"
#: ../src/Backend.cpp:2915
msgid "[Firewall] Nessun IP valido trovato\n"
msgstr "[Firewall] No valid IP found\n"
#: ../src/QuarantinePage.cpp:45
msgid "Nessun file in quarantena"
msgstr "No files in quarantine"
#: ../src/QuarantinePage.cpp:88
msgid "⚠ Errore attivazione monitor quarantena: "
msgstr "⚠ Error activating quarantine monitor: "
#: ../src/QuarantinePage.cpp:127
msgid "Elimina"
msgstr "Delete"
#: ../src/RealtimePage.cpp:10
msgid "▶ Avvia protezione"
msgstr "▶ Start protection"
#: ../src/RealtimePage.cpp:11
msgid "■ Ferma protezione"
msgstr "■ Stop protection"
#: ../src/RealtimePage.cpp:26 ../src/MainWindow.cpp:285
msgid "Protezione in tempo reale"
msgstr "Real-time protection"
#: ../src/RealtimePage.cpp:42
msgid "Monitoraggio in tempo reale con AntiRansom Engine..."
msgstr "Real-time monitoring with AntiRansom Engine..."
#: ../src/RealtimePage.cpp:73
msgid "🔐 Protezione realtime pronta."
msgstr "🔐 Real-time protection ready."
#: ../src/RealtimePage.cpp:81
msgid "[RealtimePage] Avvio protezione richiesto"
msgstr "[RealtimePage] Protection start requested"
#: ../src/RealtimePage.cpp:82
msgid ">>> Protezione avviata"
msgstr ">>> Protection started"
#: ../src/RealtimePage.cpp:95
msgid "[RealtimePage] Arresto protezione richiesto"
msgstr "[RealtimePage] Protection stop requested"
#: ../src/RealtimePage.cpp:96
msgid ">>> Protezione fermata"
msgstr ">>> Protection stopped"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:115
msgid "Utente grafico rilevato: "
msgstr "Graphical user detected: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:131
msgid "ERRORE: impossibile determinare l'utente grafico."
msgstr "ERROR: unable to determine graphical user."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:137
msgid "ERRORE: getpwnam fallito per utente: "
msgstr "ERROR: getpwnam failed for user: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:150
msgid "ERRORE: impossibile scrivere token utente: "
msgstr "ERROR: unable to write user token: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:160
msgid "Token copiato con successo all'utente: "
msgstr "Token successfully copied to user: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:175
msgid "Token caricato da /etc"
msgstr "Token loaded from /etc"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:180
msgid "Token non presente, creazione nuovo..."
msgstr "Token not present, creating new one..."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:218
msgid "Token creato in /etc"
msgstr "Token created in /etc"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:245
msgid "Alert inviato: "
msgstr "Alert sent: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:466
msgid "DelayedScanQueue: aggiunto "
msgstr "DelayedScanQueue: added "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:474
msgid "DelayedScanQueue: thread avviato"
msgstr "DelayedScanQueue: thread started"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:498
msgid "DelayedScanQueue: SCANSIONE RITARDATA → "
msgstr "DelayedScanQueue: DELAYED SCAN → "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:505
msgid "DelayedScanQueue: thread terminato"
msgstr "DelayedScanQueue: thread terminated"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:583
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:788
msgid " non accessibile"
msgstr " not accessible"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:693
msgid "ATOMIC RENAME rilevato → "
msgstr "ATOMIC RENAME detected → "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:728
msgid "Avvio Anti-Ransomware (Realtime + YARA + Delayed Scan)"
msgstr "Starting Anti-Ransomware (Realtime + YARA + Delayed Scan)"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:737
msgid "ERRORE: impossibile caricare/creare token."
msgstr "ERROR: unable to load/create token."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:746
msgid "ERRORE FATALE: impossibile determinare utente desktop."
msgstr "FATAL ERROR: unable to determine desktop user."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:752
msgid "ERRORE: getpwnam fallito per utente "
msgstr "ERROR: getpwnam failed for user "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:760
msgid "ERRORE FATALE: HOME non accessibile: "
msgstr "FATAL ERROR: HOME not accessible: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:764
msgid "Utente rilevato: "
msgstr "User detected: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:765
msgid "Home monitorata: "
msgstr "Monitored home: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:796
msgid " non accessibile (area protetta/FUSE)"
msgstr " not accessible (protected area/FUSE)"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:802
msgid "Lista directory monitorate:"
msgstr "List of monitored directories:"
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:812
msgid "ERRORE FATALE: impossibile caricare regole YARA."
msgstr "FATAL ERROR: unable to load YARA rules."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:816
msgid "Regole YARA caricate correttamente."
msgstr "YARA rules loaded successfully."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:828
msgid "Thread delayed avviato (ritardo 30 secondi)."
msgstr "Delayed thread started (30 seconds delay)."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:836
msgid "ERRORE FATALE: inotify init fallito."
msgstr "FATAL ERROR: inotify init failed."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:842
msgid "Inotify inizializzato correttamente."
msgstr "Inotify initialized successfully."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:848
msgid "Thread realtime avviato."
msgstr "Realtime thread started."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:861
msgid "Richiesta terminazione..."
msgstr "Termination requested..."
#: ../src/scanner-ransomware/BastionGuard-ransomware-realtime.cpp:868
msgid "Anti-Ransomware terminato correttamente."
msgstr "Anti-Ransomware terminated successfully."
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:329
msgid "[D-Bus] Alert inviato: "
msgstr "[D-Bus] Alert sent: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:333
msgid "[D-Bus] Errore alert: "
msgstr "[D-Bus] Alert error: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:375
msgid "Allowlist non trovata: "
msgstr "Allowlist not found: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:379
msgid "Allowlist caricata da: "
msgstr "Allowlist loaded from: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:401
msgid "voci allowlist caricate"
msgstr "allowlist entries loaded"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:474
msgid "Config non trovata, uso default (YARA=1, DB=0, scan=/home)"
msgstr "Config not found, using default (YARA=1, DB=0, scan=/home)"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:492
msgid "Config trovata: "
msgstr "Config found: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:528
msgid "Parametro max_memory invalido: "
msgstr "Invalid max_memory parameter: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:534
msgid "Parametro scan_interval invalido: "
msgstr "Invalid scan_interval parameter: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:568
msgid "Uso cartella YARA utente: "
msgstr "Using user YARA folder: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:571
msgid "Uso cartella YARA di sistema: "
msgstr "Using system YARA folder: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:574
msgid "Cartella YARA non trovata, uso fallback interno: "
msgstr "YARA folder not found, using internal fallback: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:578
msgid "Percorso YARA specificato non trovato: "
msgstr "Specified YARA path not found: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:585
msgid "Config caricata correttamente"
msgstr "Configuration loaded successfully"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:598
msgid "Nessuna configurazione Samba trovata: "
msgstr "No Samba configuration found: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:609
msgid "directory Samba caricate"
msgstr "Samba directories loaded"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:685
msgid "Errore creazione compilatore YARA"
msgstr "Error creating YARA compiler"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:702
msgid "Caricata regola YARA: "
msgstr "Loaded YARA rule: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:704
msgid "Errore compilando: "
msgstr "Error compiling: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:708
msgid "Cartella YARA non valida: "
msgstr "Invalid YARA folder: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:715
msgid "Integrità compromessa per la regola Zero-Day!"
msgstr "Integrity compromised for Zero-Day rule!"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:716
msgid "SHA256 atteso: "
msgstr "Expected SHA256: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:717
msgid "SHA256 trovato: "
msgstr "Found SHA256: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:726
msgid "Caricata regola Zero-Day protetta: "
msgstr "Loaded protected Zero-Day rule: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:728
msgid "Errore compilando Zero-Day: "
msgstr "Error compiling Zero-Day: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:733
msgid "Regola Zero-Day non trovata: "
msgstr "Zero-Day rule not found: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:738
msgid "Nessuna regola YARA valida trovata."
msgstr "No valid YARA rules found."
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:743
msgid "Errore compilazione regole YARA"
msgstr "Error compiling YARA rules"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:749
msgid "regole YARA totali compilate"
msgstr "total YARA rules compiled"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:757
msgid "📄 Scansione file: "
msgstr "📄 Scanning file: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:760
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1031
msgid "❌ File non trovato: "
msgstr "❌ File not found: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:767
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:820
msgid "❌ Errore caricamento regole YARA\n"
msgstr "❌ Error loading YARA rules\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:784
msgid "❌ Errore durante la scansione YARA\n"
msgstr "❌ Error during YARA scanning\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:791
msgid "✔ Nessuna regola YARA ha matchato.\n"
msgstr "✔ No YARA rules matched.\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:797
msgid "⚠ RILEVATO!\n"
msgstr "⚠ DETECTED!\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:798
msgid " Regole trovate:\n"
msgstr " Rules found:\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:802
msgid " Severità massima: "
msgstr " Maximum severity: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:810
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1077
msgid "📁 Scansione directory: "
msgstr "📁 Scanning directory: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:813
msgid "❌ Directory non trovata: "
msgstr "❌ Directory not found: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:847
msgid "⚠ RILEVATO: "
msgstr "⚠ DETECTED: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:856
msgid "✔ Nessun file infetto trovato.\n"
msgstr "✔ No infected files found.\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:860
msgid "⚠ Trovati "
msgstr "⚠ Found "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:860
msgid " file infetti.\n"
msgstr " infected files.\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:927
msgid "Errore inizializzazione YARA"
msgstr "Error initializing YARA"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:938
msgid "🧠 Max memory dinamica settata a: "
msgstr "🧠 Dynamic max memory set to: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:985
msgid "Uso:\n"
msgstr "Usage:\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:986
msgid " BastionGuard-antiransomware (modalità demone)\n"
msgstr " BastionGuard-antiransomware (daemon mode)\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:987
msgid ""
" BastionGuard-antiransomware --scan <file> (scansiona un singolo "
"file)\n"
msgstr ""
" BastionGuard-antiransomware --scan <file> (scan a single file)\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:988
msgid ""
" BastionGuard-antiransomware --scan-dir <dir> (scansiona una "
"directory)\n"
msgstr ""
" BastionGuard-antiransomware --scan-dir <dir> (scan a directory)\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:989
msgid ""
" BastionGuard-antiransomware --rules-dir <dir> (override path regole)\n"
msgstr ""
" BastionGuard-antiransomware --rules-dir <dir> (override rules path)\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:990
msgid " BastionGuard-antiransomware --0day-protection <file>\n"
msgstr " BastionGuard-antiransomware --0day-protection <file>\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:991
msgid " BastionGuard-antiransomware --help\n"
msgstr " BastionGuard-antiransomware --help\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1000
msgid "❌ Non puoi usare --scan e --scan-dir insieme.\n"
msgstr "❌ You cannot use --scan and --scan-dir together.\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1010
msgid ""
"❌ Impossibile compilare le regole YARA; il demone continuerà senza YARA\n"
msgstr ""
"❌ Unable to compile YARA rules; daemon will continue without YARA\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1043
msgid "🔍 Scansione file: "
msgstr "🔍 Scanning file: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1058
msgid "⚠ RILEVATO nel file di test!\n"
msgstr "⚠ DETECTED in test file!\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1061
msgid "✔ Nessuna regola matchata.\n"
msgstr "✔ No rules matched.\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1113
msgid "▶ Demone Anti-Ransomware avviato\n"
msgstr "▶ Anti-Ransomware daemon started\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1198
msgid "🟡 Allowlist: "
msgstr "🟡 Allowlist: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1210
msgid "⚠️ [YARA_SAMBA] Ransomware in Samba: "
msgstr "⚠️ [YARA_SAMBA] Ransomware in Samba: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1229
msgid "⚠️ [YARA] Ransomware rilevato: "
msgstr "⚠️ [YARA] Ransomware detected: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1272
msgid "🌐 Scansione Samba: "
msgstr "🌐 Samba scanning: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1289
msgid "⏩ Samba OFF. Solo YARA.\n"
msgstr "⏩ Samba OFF. Only YARA.\n"
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1295
msgid "🔍 Scansione directory: "
msgstr "🔍 Scanning directory: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1312
msgid "Errore scansione: "
msgstr "Scan error: "
#: ../src/scanner-ransomware/BastionGuard-ransomware-scanner.cpp:1327
msgid "⏹ Demone Anti-Ransomware terminato\n"
msgstr "⏹ Anti-Ransomware daemon terminated\n"
#: ../src/ClamdConfig.cpp:109
msgid "❌ Errore backup: "
msgstr "❌ Backup error: "
#: ../src/ClamdConfig.cpp:116
msgid "❌ Impossibile creare il backup di "
msgstr "❌ Unable to create backup of "
#: ../src/first_run/first-run-services-window.cpp:106
msgid "Impossibile creare directory config: "
msgstr "Unable to create config directory: "
#: ../src/first_run/first-run-services-window.cpp:126
msgid "Impossibile creare directory flag: "
msgstr "Unable to create flag directory: "
#: ../src/first_run/first-run-services-window.cpp:145
msgid "Errore durante scrittura flag file: "
msgstr "Error writing flag file: "
#: ../src/first_run/first-run-services-window.cpp:177
msgid "Errore: impossibile aprire config.json per scrittura"
msgstr "Error: unable to open config.json for writing"
#: ../src/first_run/first-run-services-window.cpp:182
msgid "Errore durante il salvataggio config: "
msgstr "Error saving configuration: "
#: ../src/first_run/first-run-services-window.cpp:223
msgid "BastionGuard - Configurazione iniziale"
msgstr "BastionGuard - Initial Configuration"
#: ../src/first_run/first-run-services-window.cpp:239
msgid "⚠ Errore caricamento icona minimize\n"
msgstr "⚠ Error loading minimize icon\n"
#: ../src/first_run/first-run-services-window.cpp:250
msgid "⚠ Errore caricamento icona close\n"
msgstr "⚠ Error loading close icon\n"
#: ../src/first_run/first-run-services-window.cpp:277
msgid "⚠ Impossibile caricare logo-sidebar.png\n"
msgstr "⚠ Unable to load logo-sidebar.png\n"
#: ../src/first_run/first-run-services-window.cpp:300
msgid "Scegli quali servizi di protezione attivare"
msgstr "Choose which protection services to activate"
#: ../src/first_run/first-run-services-window.cpp:305
msgid ""
"I servizi selezionati verranno avviati automaticamente al login.\n"
"Potrai modificarli in qualsiasi momento dalle impostazioni."
msgstr ""
"The selected services will start automatically at login.\n"
"You can modify them at any time from the settings."
#: ../src/first_run/first-run-services-window.cpp:366
msgid "Configurazione minima"
msgstr "Minimal configuration"
#: ../src/first_run/first-run-services-window.cpp:370
msgid "Attiva tutto"
msgstr "Activate everything"
#: ../src/first_run/first-run-services-window.cpp:374
msgid "Applica e continua"
msgstr "Apply and continue"
#: ../src/UpdatePage.cpp:56
msgid "Aggiorna firme (freshclam)"
msgstr "Update signatures (freshclam)"
#: ../src/UpdatePage.cpp:58
msgid "Aggiungi sorgente"
msgstr "Add source"
#: ../src/UpdatePage.cpp:59
msgid "Salva sorgenti"
msgstr "Save sources"
#: ../src/UpdatePage.cpp:60
msgid "Sorgenti aggiuntive"
msgstr "Additional sources"
#: ../src/UpdatePage.cpp:75
msgid "Servizio automatico Freshclam:"
msgstr "Automatic Freshclam service:"
#: ../src/UpdatePage.cpp:79
msgid "Aggiorna automaticamente le firme SaneSecurity (ogni 2 ore):"
msgstr "Automatically update SaneSecurity signatures (every 2 hours):"
#: ../src/UpdatePage.cpp:101
msgid "Sorgenti di aggiornamento aggiuntive"
msgstr "Additional update sources"
#: ../src/UpdatePage.cpp:136
msgid "Abilito"
msgstr "Enabling"
#: ../src/UpdatePage.cpp:136
msgid "Disabilito"
msgstr "Disabling"
#: ../src/UpdatePage.cpp:162
msgid "🔄 Avvio aggiornamento delle firme...\n"
msgstr "🔄 Starting signatures update...\n"
#: ../src/UpdatePage.cpp:174
msgid "⏸️ Arresto servizio clamav-freshclam...\n"
msgstr "⏸️ Stopping clamav-freshclam service...\n"
#: ../src/UpdatePage.cpp:178
msgid "🚀 Avvio aggiornamento con pkexec freshclam...\n"
msgstr "🚀 Starting update with pkexec freshclam...\n"
#: ../src/UpdatePage.cpp:182
msgid "❌ Errore freshclam: "
msgstr "❌ freshclam error: "
#: ../src/UpdatePage.cpp:192
msgid ""
"\n"
"🧾 Codice di uscita: %1\n"
msgstr ""
"\n"
"🧾 Exit code: %1\n"
#: ../src/UpdatePage.cpp:195
msgid "▶️ Riavvio del servizio clamav-freshclam...\n"
msgstr "▶️ Restarting clamav-freshclam service...\n"
#: ../src/UpdatePage.cpp:199 ../src/UpdatePage.cpp:235
msgid ""
"\n"
"🔽 Scarico firme aggiuntive dalle sorgenti configurate...\n"
msgstr ""
"\n"
"🔽 Downloading additional signatures from configured sources...\n"
#: ../src/UpdatePage.cpp:203
msgid "🔐 Aggiornamento firme SaneSecurity...\n"
msgstr "🔐 Updating SaneSecurity signatures...\n"
#: ../src/UpdatePage.cpp:207
msgid "🔁 Ricarico clamd (clamav-daemon)...\n"
msgstr "🔁 Reloading clamd (clamav-daemon)...\n"
#: ../src/UpdatePage.cpp:210
msgid "⚠ Reload clamav-daemon fallito (codice non zero).\n"
msgstr "⚠ clamav-daemon reload failed (non-zero exit code).\n"
#: ../src/UpdatePage.cpp:215
msgid "✅ Aggiornamento completato con successo.\n"
msgstr "✅ Update completed successfully.\n"
#: ../src/UpdatePage.cpp:222
msgid "❌ Errore durante l'aggiornamento: %1\n"
msgstr "❌ Error during update: %1\n"
#: ../src/UpdatePage.cpp:286
msgid "⬇️ Scarico da: "
msgstr "⬇️ Downloading from: "
#: ../src/UpdatePage.cpp:293
msgid ""
"\n"
"✅ Aggiornamento firme extra completato.\n"
msgstr ""
"\n"
"✅ Extra signatures update completed.\n"
#: ../src/UpdatePage.cpp:315 ../src/UpdatePage.cpp:434
msgid "➕ Nuova sorgente"
msgstr "➕ New source"
#: ../src/UpdatePage.cpp:335
msgid "Nome sorgente (es. Sanesecurity)"
msgstr "Source name (e.g. Sanesecurity)"
#: ../src/UpdatePage.cpp:339
msgid "https://example.com/firme.cvd"
msgstr "https://example.com/signatures.cvd"
#: ../src/UpdatePage.cpp:342
msgid "_Richiede autenticazione"
msgstr "_Requires authentication"
#: ../src/UpdatePage.cpp:346
msgid "Username"
msgstr "Username"
#: ../src/UpdatePage.cpp:350
msgid "Password"
msgstr "Password"
#: ../src/UpdatePage.cpp:355
msgid "_Test connessione"
msgstr "_Test connection"
#: ../src/UpdatePage.cpp:356
msgid "_Salva sorgente"
msgstr "_Save source"
#: ../src/UpdatePage.cpp:357
msgid "_Elimina sorgente"
msgstr "_Delete source"
#: ../src/UpdatePage.cpp:456
msgid "💾 Sorgente salvata.\n"
msgstr "💾 Source saved.\n"
#: ../src/UpdatePage.cpp:461
msgid "❌ Sorgente rimossa.\n"
msgstr "❌ Source removed.\n"
#: ../src/UpdatePage.cpp:486
msgid "Sorgenti salvate in ~/.config/BastionGuard/sources.conf\n"
msgstr "Sources saved in ~/.config/BastionGuard/sources.conf\n"
#: ../src/UpdatePage.cpp:539
msgid "⚠ Nessun URL specificato per "
msgstr "⚠ No URL specified for "
#: ../src/UpdatePage.cpp:543
msgid "🔍 Test connessione a "
msgstr "🔍 Testing connection to "
#: ../src/UpdatePage.cpp:550
msgid "⚠ Nessuna password trovata per "
msgstr "⚠ No password found for "
#: ../src/UpdatePage.cpp:560
msgid "Errore: "
msgstr "Error: "
#: ../src/UpdatePage.cpp:563
msgid "Risposta HTTP: "
msgstr "HTTP response: "
#: ../src/UpdatePage.cpp:565
msgid "✅ Connessione riuscita.\n"
msgstr "✅ Connection successful.\n"
#: ../src/UpdatePage.cpp:567
msgid "❌ Connessione fallita o accesso negato.\n"
msgstr "❌ Connection failed or access denied.\n"
#: ../src/UpdatePage.cpp:626
msgid "🌐 Aggiornamento database SaneSecurity (mirror sicuro)...\n"
msgstr "🌐 Updating SaneSecurity database (secure mirror)...\n"
#: ../src/UpdatePage.cpp:648
msgid "❌ Errore rsync: "
msgstr "❌ rsync error: "
#: ../src/UpdatePage.cpp:674
msgid "📦 Firme SaneSecurity aggiornate senza toccare i database ufficiali.\n"
msgstr "📦 SaneSecurity signatures updated without touching official databases.\n"
#: ../src/UpdatePage.cpp:707
msgid "⏱️ Attivo aggiornamento automatico SaneSecurity ogni 2 ore...\n"
msgstr "⏱️ Enabling automatic SaneSecurity update every 2 hours...\n"
#: ../src/UpdatePage.cpp:708
msgid "⏸️ Disattivo aggiornamento automatico SaneSecurity...\n"
msgstr "⏸️ Disabling automatic SaneSecurity update...\n"
#: ../src/AntiRansomwarePage.cpp:31
msgid "⚠ Regola MATCH: "
msgstr "⚠ MATCHING rule: "
#: ../src/AntiRansomwarePage.cpp:73
msgid "📄 Scegli file"
msgstr "📄 Choose file"
#: ../src/AntiRansomwarePage.cpp:74
msgid "📂 Scegli cartella"
msgstr "📂 Choose folder"
#: ../src/AntiRansomwarePage.cpp:75
msgid "🧪 Scansiona"
msgstr "🧪 Scan"
#: ../src/AntiRansomwarePage.cpp:76
msgid "🔔 Test notifica"
msgstr "🔔 Test notification"
#: ../src/AntiRansomwarePage.cpp:103
msgid "🔐 Anti-Ransomware pronto.\n"
msgstr "🔐 Anti-Ransomware ready.\n"
#: ../src/AntiRansomwarePage.cpp:146 ../src/AntiRansomwarePage.cpp:165
#: ../src/firewall/FirewallChoiceDialog.cpp:13 ../src/bankgui-main.cpp:108
#: ../src/usb/ScanPromptWindow.cpp:11 ../src/usb/LiveScanDialog.cpp:100
#: ../src/payment_secure/BastionGuard-secure-main.cpp:103
#: ../src/SambaPage.cpp:286
msgid "Annulla"
msgstr "Cancel"
#: ../src/AntiRansomwarePage.cpp:147 ../src/AntiRansomwarePage.cpp:166
msgid "Seleziona"
msgstr "Select"
#: ../src/AntiRansomwarePage.cpp:171
msgid "📂 Cartella selezionata: "
msgstr "📂 Selected folder: "
#: ../src/AntiRansomwarePage.cpp:186
msgid "⚠ Nessun file o cartella selezionata."
msgstr "⚠ No file or folder selected."
#: ../src/AntiRansomwarePage.cpp:195
msgid "❌ Percorso non valido."
msgstr "❌ Invalid path."
#: ../src/AntiRansomwarePage.cpp:217
msgid "⚠ Nessuna regola YARA trovata."
msgstr "⚠ No YARA rules found."
#: ../src/AntiRansomwarePage.cpp:230
msgid "📜 Regole YARA caricate."
msgstr "📜 YARA rules loaded."
#: ../src/AntiRansomwarePage.cpp:242
msgid "🔍 Scansione: "
msgstr "🔍 Scanning: "
#: ../src/AntiRansomwarePage.cpp:249
msgid "❌ Errore YARA: "
msgstr "❌ YARA error: "
#: ../src/AntiRansomwarePage.cpp:258
msgid "⚠️ Rilevata regola YARA: "
msgstr "⚠️ YARA rule detected: "
#: ../src/AntiRansomwarePage.cpp:279
msgid "Rilevato ransomware:\n"
msgstr "Ransomware detected:\n"
#: ../src/AntiRansomwarePage.cpp:279
msgid ""
"\n"
"Regola: "
msgstr ""
"\n"
"Rule: "
#: ../src/AntiRansomwarePage.cpp:312
msgid "⚠ Impossibile leggere log realtime."
msgstr "⚠ Unable to read realtime log."
#: ../src/AntiRansomwarePage.cpp:352
msgid "Alert inviato:"
msgstr "Alert sent:"
#: ../src/AntiRansomwarePage.cpp:372
msgid "🚨 ALERT realtime: "
msgstr "🚨 Realtime ALERT: "
#: ../src/xdg-main.cpp:50
msgid "Usage: BastionGuard-bankopener <url>\n"
msgstr "Usage: BastionGuard-bankopener <url>\n"
#: ../src/xdg-main.cpp:55
msgid "[BankOpener] 🔍 Verifico dominio: "
msgstr "[BankOpener] 🔍 Checking domain: "
#: ../src/xdg-main.cpp:64
msgid ""
"[BankOpener] 🖥️ Sessione Wayland rilevata → uso backend Wayland per CEF.\n"
msgstr ""
"[BankOpener] 🖥️ Wayland session detected → using Wayland backend for CEF.\n"
#: ../src/xdg-main.cpp:71
msgid "[BankOpener] 🖥️ Sessione X11 rilevata → uso backend X11 per CEF.\n"
msgstr ""
"[BankOpener] 🖥️ X11 session detected → using X11 backend for CEF.\n"
#: ../src/xdg-main.cpp:76
msgid ""
"[BankOpener] ⚠️ Nessuna sessione grafica rilevata → fallback X11 software.\n"
msgstr ""
"[BankOpener] ⚠️ No graphical session detected → falling back to software X11.\n"
#: ../src/xdg-main.cpp:105
msgid "[BankOpener] 🌍 Apertura browser di sistema: "
msgstr "[BankOpener] 🌍 Opening system browser: "
#: ../src/xdg-main.cpp:109
msgid "[BankOpener] ⚠️ Errore esecuzione comando: "
msgstr "[BankOpener] ⚠️ Command execution error: "
#: ../src/AntiPhishingEngine.cpp:45
msgid "Impossibile aprire blacklist phishing: "
msgstr "Unable to open phishing blacklist: "
#: ../src/AntiPhishingEngine.cpp:56
msgid "Blacklist phishing vuota o non caricata da "
msgstr "Phishing blacklist empty or not loaded from "
#: ../src/AntiPhishingEngine.cpp:59
msgid "voci caricate da blacklist phishing in "
msgstr "entries loaded from phishing blacklist in "
#: ../src/AntiPhishingEngine.cpp:80
msgid "⚠ URL in blacklist: "
msgstr "⚠ URL in blacklist: "
#: ../src/AntiPhishingEngine.cpp:84
msgid "⚠ URL sospetto (phishing euristico): "
msgstr "⚠ Suspicious URL (heuristic phishing): "
#: ../src/AntiPhishingEngine.cpp:104
msgid ">>> AntiPhishing avviato"
msgstr ">>> AntiPhishing started"
#: ../src/AntiPhishingEngine.cpp:109
msgid ">>> AntiPhishing fermato"
msgstr ">>> AntiPhishing stopped"
#: ../src/DashboardPage.cpp:54
msgid "Inizializzazione..."
msgstr "Initializing..."
#: ../src/DashboardPage.cpp:55 ../src/DashboardPage.cpp:232
msgid "Versione firme: sconosciuta"
msgstr "Signatures version: unknown"
#: ../src/DashboardPage.cpp:56 ../src/DashboardPage.cpp:239
msgid "Data aggiornamento: sconosciuta"
msgstr "Update date: unknown"
#: ../src/DashboardPage.cpp:57
msgid "Anti-Ransomware: stato sconosciuto"
msgstr "Anti-Ransomware: unknown status"
#: ../src/DashboardPage.cpp:58
msgid "Anti-Phishing: stato sconosciuto"
msgstr "Anti-Phishing: unknown status"
#: ../src/DashboardPage.cpp:84
msgid "Stato"
msgstr "Status"
#: ../src/DashboardPage.cpp:85
msgid "Versione Firme"
msgstr "Signatures Version"
#: ../src/DashboardPage.cpp:86
msgid "Ultimo aggiornamento"
msgstr "Last update"
#: ../src/DashboardPage.cpp:101
msgid "Ultimi file scansionati"
msgstr "Recently scanned files"
#: ../src/DashboardPage.cpp:128
msgid "⚠ Impossibile caricare immagine: "
msgstr "⚠ Unable to load image: "
#: ../src/DashboardPage.cpp:179 ../src/MainWindow.cpp:239
msgid "⚠ Impossibile caricare icona: "
msgstr "⚠ Unable to load icon: "
#: ../src/DashboardPage.cpp:227
msgid "<b>Antivirus engine:</b> <span foreground='green'><b>Attivo</b></span>"
msgstr "<b>Antivirus engine:</b> <span foreground='green'><b>Active</b></span>"
#: ../src/DashboardPage.cpp:255
msgid "Nessun file scansionato di recente."
msgstr "No files scanned recently."
#: ../src/DashboardPage.cpp:262
msgid "<b>Anti-Ransomware:</b> <span foreground='green'><b>Attivo</b></span>"
msgstr "<b>Anti-Ransomware:</b> <span foreground='green'><b>Active</b></span>"
#: ../src/DashboardPage.cpp:266
msgid ""
"<b>Anti-Ransomware:</b> <span foreground='red'><b>Disattivato</b></span>"
msgstr ""
"<b>Anti-Ransomware:</b> <span foreground='red'><b>Disabled</b></span>"
#: ../src/DashboardPage.cpp:274
msgid "<b>Anti-Phishing:</b> <span foreground='green'><b>Attivo</b></span>"
msgstr "<b>Anti-Phishing:</b> <span foreground='green'><b>Active</b></span>"
#: ../src/DashboardPage.cpp:278
msgid "<b>Anti-Phishing:</b> <span foreground='red'><b>Disattivato</b></span>"
msgstr "<b>Anti-Phishing:</b> <span foreground='red'><b>Disabled</b></span>"
#: ../src/SaneSecurityUpdater.cpp:35
msgid "Errore: impossibile creare la cartella temporanea"
msgstr "Error: unable to create temporary folder"
#: ../src/SaneSecurityUpdater.cpp:47
msgid "Errore durante rsync (codice "
msgstr "Error during rsync (code "
#: ../src/SaneSecurityUpdater.cpp:66
msgid "Errore copiando i file SaneSecurity"
msgstr "Error copying SaneSecurity files"
#: ../src/SaneSecurityUpdater.cpp:73
msgid "⚠ Impossibile ricaricare il servizio ClamAV: servizio non trovato"
msgstr "⚠ Unable to reload ClamAV service: service not found"
#: ../src/SecureBrowser.cpp:132
msgid "[SecureBrowser] ⚠ File non trovato: "
msgstr "[SecureBrowser] ⚠ File not found: "
#: ../src/SecureBrowser.cpp:139
msgid "[SecureBrowser] ⚠ Impossibile aprire: "
msgstr "[SecureBrowser] ⚠ Unable to open: "
#: ../src/SecureBrowser.cpp:168
msgid "[SecureBrowser] ✅ Caricati "
msgstr "[SecureBrowser] ✅ Loaded "
#: ../src/SecureBrowser.cpp:169
msgid " domini trusted da "
msgstr " trusted domains from "
#: ../src/SecureBrowser.cpp:172
msgid "[SecureBrowser] ❌ Errore parsing JSON (%1): %2"
msgstr "[SecureBrowser] ❌ JSON parsing error (%1): %2"
#: ../src/SecureBrowser.cpp:185
msgid "[SecureBrowser] 🔍 Caricamento domini trusted...\n"
msgstr "[SecureBrowser] 🔍 Loading trusted domains...\n"
#: ../src/SecureBrowser.cpp:195
msgid "[SecureBrowser] ✅ Cache inizializzata: "
msgstr "[SecureBrowser] ✅ Cache initialized: "
#: ../src/SecureBrowser.cpp:196 ../src/phishing/BastionGuard-daemon.cpp:93
msgid " domini trusted.\n"
msgstr " trusted domains.\n"
#: ../src/SecureBrowser.cpp:199
msgid "[SecureBrowser] 🔎 Verifica: 'intesasanpaolo.com' presente in cache.\n"
msgstr "[SecureBrowser] 🔎 Check: 'intesasanpaolo.com' present in cache.\n"
#: ../src/SecureBrowser.cpp:201
msgid ""
"[SecureBrowser] 🔎 Verifica: 'intesasanpaolo.com' NON presente in cache.\n"
msgstr ""
"[SecureBrowser] 🔎 Check: 'intesasanpaolo.com' NOT present in cache.\n"
#: ../src/SecureBrowser.cpp:209
msgid "[SecureBrowser] 🟢 Trusted (match diretto): "
msgstr "[SecureBrowser] 🟢 Trusted (direct match): "
#: ../src/SecureBrowser.cpp:219
msgid "[SecureBrowser] 🟢 Trusted (match parent '%1'): %2"
msgstr "[SecureBrowser] 🟢 Trusted (parent match '%1'): %2"
#: ../src/SecureBrowser.cpp:228
msgid "[SecureBrowser] 🔴 NON trusted: "
msgstr "[SecureBrowser] 🔴 NOT trusted: "
#: ../src/SecureBrowser.cpp:247
msgid "[SecureBrowser] 🌐 Browser creato.\n"
msgstr "[SecureBrowser] 🌐 Browser created.\n"
#: ../src/SecureBrowser.cpp:260
msgid "[SecureBrowser] 🔒 Tutte le finestre chiuse — uscita loop.\n"
msgstr "[SecureBrowser] 🔒 All windows closed — exiting loop.\n"
#: ../src/SecureBrowser.cpp:275
msgid "[SecureBrowser] 🌍 URL richiesto: "
msgstr "[SecureBrowser] 🌍 Requested URL: "
#: ../src/SecureBrowser.cpp:276
msgid "[SecureBrowser] 🧩 Host estratto: "
msgstr "[SecureBrowser] 🧩 Extracted host: "
#: ../src/SecureBrowser.cpp:280
msgid "[SecureBrowser] ✅ Dominio locale consentito.\n"
msgstr "[SecureBrowser] ✅ Local domain allowed.\n"
#: ../src/SecureBrowser.cpp:298
msgid "[SecureBrowser] 🟢 Consentito (entry trusted): "
msgstr "[SecureBrowser] 🟢 Allowed (trusted entry): "
#: ../src/SecureBrowser.cpp:308
msgid "[SecureBrowser] 🟢 Consentito (subframe in sessione trusted): "
msgstr "[SecureBrowser] 🟢 Allowed (subframe in trusted session): "
#: ../src/SecureBrowser.cpp:313
msgid ""
"[SecureBrowser] 🟢 Consentito (main-frame senza gesto utente, sessione "
"trusted): "
msgstr ""
"[SecureBrowser] 🟢 Allowed (main-frame without user gesture, trusted session): "
#: ../src/SecureBrowser.cpp:321
msgid "[SecureBrowser] 🟢 Consentito (main-frame click verso trusted): "
msgstr "[SecureBrowser] 🟢 Allowed (main-frame click to trusted): "
#: ../src/SecureBrowser.cpp:325
msgid ""
"[SecureBrowser] 🚫 Bloccato (uscita main-frame user-initiated da sessione "
"trusted): "
msgstr ""
"[SecureBrowser] 🚫 Blocked (user-initiated main-frame exit from trusted session): "
#: ../src/SecureBrowser.cpp:336
msgid "[SecureBrowser] 🟢 Consentito (bank domain): "
msgstr "[SecureBrowser] 🟢 Allowed (bank domain): "
#: ../src/SecureBrowser.cpp:340
msgid "[SecureBrowser] 🟢 Consentito (payment domain): "
msgstr "[SecureBrowser] 🟢 Allowed (payment domain): "
#: ../src/SecureBrowser.cpp:344
msgid "[SecureBrowser] 🚫 Navigazione bloccata verso dominio non trusted: "
msgstr "[SecureBrowser] 🚫 Navigation blocked to untrusted domain: "
#: ../src/SecureBrowser.cpp:364
msgid "[SecureBrowser] ✅ Bypass cert error ("
msgstr "[SecureBrowser] ✅ Bypassing cert error ("
#: ../src/SecureBrowser.cpp:365
msgid ") per dominio trusted/payment: "
msgstr ") for trusted/payment domain: "
#: ../src/SecureBrowser.cpp:370
msgid "[SecureBrowser] ⛔ Cert error ("
msgstr "[SecureBrowser] ⛔ Certificate error ("
#: ../src/SecureBrowser.cpp:371
msgid ") per dominio NON trusted: "
msgstr ") for NON-trusted domain: "
#: ../src/SecureBrowser.cpp:523
msgid ""
"[SecureBrowser] ⚠️ Richiesta duplicata nello stesso processo. Apro via "
"sistema.\n"
msgstr ""
"[SecureBrowser] ⚠️ Duplicate request in same process. Opening via system.\n"
#: ../src/SecureBrowser.cpp:530
msgid "[SecureBrowser] ℹ️ Istanza già attiva. Apro nel browser di sistema.\n"
msgstr "[SecureBrowser] ℹ️ Instance already active. Opening in system browser.\n"
#: ../src/SecureBrowser.cpp:536
msgid "[SecureBrowser] 🧩 Avvio sandbox Blink/CEF per URL: "
msgstr "[SecureBrowser] 🧩 Starting Blink/CEF sandbox for URL: "
#: ../src/SecureBrowser.cpp:548
msgid "[SecureBrowser] ⚠️ Creazione cache_dir fallita: "
msgstr "[SecureBrowser] ⚠️ cache_dir creation failed: "
#: ../src/SecureBrowser.cpp:569
msgid "[SecureBrowser] ❌ CefInitialize returned false for backend: "
msgstr "[SecureBrowser] ❌ CefInitialize returned false for backend: "
#: ../src/SecureBrowser.cpp:578
msgid "[SecureBrowser] ⚠️ CEF init (Wayland?) fallito → ritento con X11.\n"
msgstr "[SecureBrowser] ⚠️ CEF init (Wayland?) failed → retrying with X11.\n"
#: ../src/SecureBrowser.cpp:584
msgid ""
"[SecureBrowser] ❌ CefInitialize fallito definitivamente. Fallback a xdg-"
"open.\n"
msgstr ""
"[SecureBrowser] ❌ CefInitialize definitively failed. Falling back to xdg-open.\n"
#: ../src/SecureBrowser.cpp:600
msgid ""
"[SecureBrowser] ❌ CreateBrowserView() ha restituito nullptr. Fallback a xdg-"
"open.\n"
msgstr ""
"[SecureBrowser] ❌ CreateBrowserView() returned nullptr. Falling back to xdg-open.\n"
#: ../src/SecureBrowser.cpp:631
msgid "[SecureBrowser] ✅ Sandbox chiusa correttamente.\n"
msgstr "[SecureBrowser] ✅ Sandbox closed successfully.\n"
#: ../src/SecureBrowser.cpp:647
msgid "[SecureBrowser] 🔍 Caricamento domini pagamenti...\n"
msgstr "[SecureBrowser] 🔍 Loading payment domains...\n"
#: ../src/SecureBrowser.cpp:661
msgid "[SecureBrowser] ✅ Cache pagamenti inizializzata: "
msgstr "[SecureBrowser] ✅ Payments cache initialized: "
#: ../src/SecureBrowser.cpp:670
msgid "[SecureBrowser] 🟢 Payment trusted (match diretto): "
msgstr "[SecureBrowser] 🟢 Payment trusted (direct match): "
#: ../src/SecureBrowser.cpp:679
msgid "[SecureBrowser] 🟢 Payment trusted (match parent '"
msgstr "[SecureBrowser] 🟢 Payment trusted (parent match '"
#: ../src/alert/AlertWindowRealtime.cpp:13
msgid "⚠️ Ransomware rilevato in tempo reale"
msgstr "⚠️ Ransomware detected in real time"
#: ../src/alert/AlertWindowRealtime.cpp:16
msgid ""
"Famiglia: %1\n"
"File: %2"
msgstr ""
"Family: %1\n"
"File: %2"
#: ../src/alert/AlertWindowRealtime.cpp:21
#: ../src/alert/BastionGuard-ransomware-alert.cpp:34
msgid "Metti in quarantena"
msgstr "Quarantine"
#: ../src/alert/AlertWindowRealtime.cpp:22
#: ../src/alert/BastionGuard-ransomware-alert.cpp:35
msgid "Ignora"
msgstr "Ignore"
#: ../src/alert/AlertWindowRealtime.cpp:23
#: ../src/alert/BastionGuard-ransomware-alert.cpp:36
msgid "Ignora tutti"
msgstr "Ignore all"
#: ../src/alert/AlertWindowRealtime.cpp:48
#: ../src/firewall/FirewallChoiceDialog.cpp:43
msgid "Errore caricamento CSS\n"
msgstr "CSS loading error\n"
#: ../src/alert/AlertWindowRealtime.cpp:72
#: ../src/firewall/FirewallChoiceDialog.cpp:64
msgid "Icona X non trovata\n"
msgstr "X icon not found\n"
#: ../src/alert/AlertWindowRealtime.cpp:105
msgid "Errore caricamento icona alert\n"
msgstr "Alert icon loading error\n"
#: ../src/alert/AlertWindowRealtime.cpp:116
#: ../src/alert/BastionGuard-ransomware-alert.cpp:107
msgid "🕒 %1 altri in attesa..."
msgstr "🕒 %1 others pending..."
#: ../src/alert/AlertWindowRealtime.cpp:164
msgid "[✔] File quarantena: %1"
msgstr "[✔] Quarantine file: %1"
#: ../src/alert/AlertWindowRealtime.cpp:169
msgid "[ERROR] Quarantena fallita per: %1"
msgstr "[ERROR] Quarantine failed for: %1"
#: ../src/alert/BastionGuard-ransomware-alert.cpp:32
msgid "⚠️ Attenzione: BastionGuard ha rilevato un'infezione"
msgstr "⚠️ Warning: BastionGuard detected an infection"
#: ../src/alert/BastionGuard-ransomware-alert.cpp:33
msgid "Famiglia: "
msgstr "Family: "
#: ../src/alert/BastionGuard-ransomware-alert.cpp:33
msgid "File: "
msgstr "File: "
#: ../src/alert/BastionGuard-ransomware-alert.cpp:165
msgid "[✔] File in quarantena: "
msgstr "[✔] File in quarantine: "
#: ../src/alert/BastionGuard-ransomware-alert.cpp:167
msgid "❌ Errore quarantena: "
msgstr "❌ Quarantine error: "
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:83
msgid "[ERRORE] Token root NON trovato: "
msgstr "[ERROR] Root token NOT found: "
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:92
msgid "[INFO] Vecchio token utente rimosso"
msgstr "[INFO] Old user token removed"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:94
msgid "[ERRORE] Non posso rimuovere vecchio token utente"
msgstr "[ERROR] Cannot remove old user token"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:100
msgid "[ERRORE] Non posso aprire token root"
msgstr "[ERROR] Cannot open root token"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:106
msgid "[ERRORE] Non posso creare token utente"
msgstr "[ERROR] Cannot create user token"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:117
msgid "[OK] Token copiato nella home: "
msgstr "[OK] Token copied to home: "
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:128
msgid "[ERRORE] Non posso aprire token utente"
msgstr "[ERROR] Cannot open user token"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:134
msgid "[ERRORE] Token utente vuoto"
msgstr "[ERROR] User token empty"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:136
msgid "[OK] Token caricato: "
msgstr "[OK] Token loaded: "
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:165
msgid "[INFO] Avvio listener TCP..."
msgstr "[INFO] Starting TCP listener..."
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:169
msgid "[ERRORE] socket fallita"
msgstr "[ERROR] socket failed"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:182
msgid "[ERRORE] bind fallita: "
msgstr "[ERROR] bind failed: "
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:187
msgid "[OK] Bind su 127.0.0.1:1025"
msgstr "[OK] Bound to 127.0.0.1:1025"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:190
msgid "[ERRORE] listen fallita"
msgstr "[ERROR] listen failed"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:195
msgid "[OK] Listener avviato"
msgstr "[OK] Listener started"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:227
msgid "[IGNORATO] Alert proveniente dal log interno"
msgstr "[IGNORED] Alert coming from internal log"
#: ../src/alert/BastionGuard-ransomware-realtime-alert.cpp:233
msgid "[SCARTATO] Token non valido"
msgstr "[DISCARDED] Invalid token"
#: ../src/MainWindow.cpp:61
msgid "✔ Caricato config da: "
msgstr "✔ Loaded config from: "
#: ../src/MainWindow.cpp:68
msgid "❌ Errore: impossibile leggere clamd.conf in nessuno dei percorsi noti"
msgstr "❌ Error: unable to read clamd.conf in any known path"
#: ../src/MainWindow.cpp:168 ../src/bankgui-main.cpp:159
#: ../src/payment_secure/BastionGuard-secure-main.cpp:151
msgid "⚠ Errore caricamento icona minimize"
msgstr "⚠ Error loading minimize icon"
#: ../src/MainWindow.cpp:179
msgid "[MainWindow] Pulsante close → nascondo nella tray"
msgstr "[MainWindow] Close button → hiding in tray"
#: ../src/MainWindow.cpp:183 ../src/bankgui-main.cpp:173
#: ../src/payment_secure/BastionGuard-secure-main.cpp:165
#: ../src/SettingsWindow.cpp:81
msgid "⚠ Errore caricamento icona close"
msgstr "⚠ Error loading close icon"
#: ../src/MainWindow.cpp:206 ../src/bankgui-main.cpp:69
#: ../src/payment_secure/BastionGuard-secure-main.cpp:53
msgid "⚠ Impossibile caricare data/logo-sidebar.png"
msgstr "⚠ Unable to load data/logo-sidebar.png"
#: ../src/MainWindow.cpp:277
msgid "Dashboard"
msgstr "Dashboard"
#: ../src/MainWindow.cpp:283
msgid "Scansione in tempo reale"
msgstr "Real-time scanning"
#: ../src/MainWindow.cpp:284
msgid "Protezione Ransomware"
msgstr "Ransomware Protection"
#: ../src/MainWindow.cpp:286 ../src/wizard/wizard_window.cpp:458
msgid "Banche"
msgstr "Banks"
#: ../src/MainWindow.cpp:287
msgid "Privacy Webcam"
msgstr "Webcam Privacy"
#: ../src/MainWindow.cpp:288
msgid "Log"
msgstr "Log"
#: ../src/MainWindow.cpp:289
msgid "Quarantena"
msgstr "Quarantine"
#: ../src/MainWindow.cpp:290
msgid "Periferiche USB"
msgstr "USB Devices"
#: ../src/MainWindow.cpp:291
msgid "Samba"
msgstr "Samba"
#: ../src/MainWindow.cpp:292
msgid "Violazioni Identità"
msgstr "Identity Breaches"
#: ../src/MainWindow.cpp:316 ../src/TrayIcon.cpp:45
msgid "Impostazioni"
msgstr "Settings"
#: ../src/MainWindow.cpp:333
msgid "Aggiornamenti"
msgstr "Updates"
#: ../src/MainWindow.cpp:350
msgid "Informazioni"
msgstr "About"
#: ../src/MainWindow.cpp:351
msgid "Donazioni"
msgstr "Donations"
#: ../src/MainWindow.cpp:376
msgid "[MainWindow] Nascondo finestra nella tray invece di chiudere"
msgstr "[MainWindow] Hiding window in tray instead of closing"
#: ../src/MainWindow.cpp:390
msgid "[MainWindow] Ritorno alla Dashboard"
msgstr "[MainWindow] Returning to Dashboard"
#: ../src/MainWindow.cpp:392
msgid "⚠ Errore durante il ritorno alla Dashboard: "
msgstr "⚠ Error returning to Dashboard: "
#: ../src/firewall/FirewallChoiceDialog.cpp:8
msgid "Protezione Firewall"
msgstr "Firewall Protection"
#: ../src/firewall/FirewallChoiceDialog.cpp:9
msgid "Scegli quale firewall usare per bloccare gli IP malevoli:"
msgstr "Choose which firewall to use to block malicious IPs:"
#: ../src/firewall/FirewallChoiceDialog.cpp:10
msgid "Usa firewalld"
msgstr "Use firewalld"
#: ../src/firewall/FirewallChoiceDialog.cpp:11
msgid "Usa UFW"
msgstr "Use UFW"
#: ../src/firewall/FirewallChoiceDialog.cpp:12
msgid "Installa firewall"
msgstr "Install firewall"
#: ../src/firewall/FirewallChoiceDialog.cpp:104
msgid "Installa firewall (%1)"
msgstr "Install firewall (%1)"
#: ../src/firewall/FirewallChoiceDialog.cpp:142
msgid ""
"Per installare il firewall esegui il comando:\n"
"\n"
msgstr ""
"To install the firewall, run the command:\n"
"\n"
#: ../src/firewall/FirewallRuleManager.cpp:23
msgid "[Firewall] Command failed: "
msgstr "[Firewall] Command failed: "
#: ../src/firewall/FirewallRuleManager.cpp:35
#: ../src/firewall/FirewallRuleManager.cpp:71
msgid "[Firewall] SKIP non-IP: "
msgstr "[Firewall] SKIP non-IP: "
#: ../src/firewall/FirewallRuleManager.cpp:39
#: ../src/firewall/FirewallRuleManager.cpp:75
msgid "[Firewall] Nessun IP valido da applicare.\n"
msgstr "[Firewall] No valid IP to apply.\n"
#: ../src/firewall/FirewallRuleManager.cpp:89
msgid "[Firewall] Applying rules with firewalld (ipset)\n"
msgstr "[Firewall] Applying rules with firewalld (ipset)\n"
#: ../src/firewall/FirewallRuleManager.cpp:94
msgid "[Firewall] Applying rules with UFW\n"
msgstr "[Firewall] Applying rules with UFW\n"
#: ../src/firewall/FirewallRuleManager.cpp:99
msgid "[Firewall] Nessun firewall selezionato.\n"
msgstr "[Firewall] No firewall selected.\n"
#: ../src/TrayIcon.cpp:51
msgid "Mostra/Maximizza finestra"
msgstr "Show/Maximize window"
#: ../src/TrayIcon.cpp:57
msgid "Esci"
msgstr "Quit"
#: ../src/ScanPage.hpp:35 ../src/usb/ScanPromptWindow.cpp:10
msgid "Scansiona"
msgstr "Scan"
#: ../src/AntiRansomEngine.cpp:45
msgid "❌ Errore: impossibile inizializzare YARA\n"
msgstr "❌ Error: unable to initialize YARA\n"
#: ../src/AntiRansomEngine.cpp:67
msgid "❌ Errore: creazione compilatore YARA\n"
msgstr "❌ Error: YARA compiler creation failed\n"
#: ../src/AntiRansomEngine.cpp:77
msgid "❌ Errore YARA in "
msgstr "❌ YARA error in "
#: ../src/AntiRansomEngine.cpp:78
msgid "??"
msgstr "??"
#: ../src/AntiRansomEngine.cpp:88
msgid "⚠ Regole non trovate: "
msgstr "⚠ Rules not found: "
#: ../src/AntiRansomEngine.cpp:95
msgid "⚠ Impossibile aprire regole: "
msgstr "⚠ Unable to open rules: "
#: ../src/AntiRansomEngine.cpp:104
msgid "❌ Errori trovati, regole YARA non caricate\n"
msgstr "❌ Errors found, YARA rules not loaded\n"
#: ../src/AntiRansomEngine.cpp:110
msgid "❌ Errore compilazione regole YARA\n"
msgstr "❌ YARA rules compilation error\n"
#: ../src/AntiRansomEngine.cpp:112
msgid "✔ Regole YARA caricate da "
msgstr "✔ YARA rules loaded from "
#: ../src/AntiRansomEngine.cpp:127
msgid "⚠ Ransomware rilevato: "
msgstr "⚠ Ransomware detected: "
#: ../src/AntiRansomEngine.cpp:137
msgid "Nessuna regola YARA caricata, impossibile scansionare "
msgstr "No YARA rules loaded, unable to scan "
#: ../src/AntiRansomEngine.cpp:142
msgid "File inesistente o non accessibile: "
msgstr "File does not exist or is not accessible: "
#: ../src/AntiRansomEngine.cpp:146
msgid "Scansione file: "
msgstr "Scanning file: "
#: ../src/AntiRansomEngine.cpp:160
msgid "Errore scansione file: "
msgstr "File scan error: "
#: ../src/AntiRansomEngine.cpp:170
msgid ">>> AntiRansomEngine avviato"
msgstr ">>> AntiRansomEngine started"
#: ../src/AntiRansomEngine.cpp:188
msgid "⚠ Comportamento sospetto rilevato: "
msgstr "⚠ Suspicious behavior detected: "
#: ../src/AntiRansomEngine.cpp:192
msgid "❌ Errore durante la scansione: "
msgstr "❌ Error during scanning: "
#: ../src/AntiRansomEngine.cpp:201
msgid ">>> AntiRansomEngine fermato"
msgstr ">>> AntiRansomEngine stopped"
#: ../src/AntiRansomEngine.cpp:207
msgid "[AntiRansomEngine] Avvio monitoraggio..."
msgstr "[AntiRansomEngine] Starting monitoring..."
#: ../src/AntiRansomEngine.cpp:215
msgid "[AntiRansomEngine] Arresto monitoraggio..."
msgstr "[AntiRansomEngine] Stopping monitoring..."
#: ../src/wizard/wizard_window.cpp:113
msgid "Script di rete non trovato: "
msgstr "Network script not found: "
#: ../src/wizard/wizard_window.cpp:123
msgid "Avvio BastionGuard-net-setup.sh con pkexec..."
msgstr "Starting BastionGuard-net-setup.sh with pkexec..."
#: ../src/wizard/wizard_window.cpp:150
msgid "✅ Setup di rete completato con successo (pkexec)."
msgstr "✅ Network setup completed successfully (pkexec)."
#: ../src/wizard/wizard_window.cpp:153
msgid "⚠️ Errore esecuzione BastionGuard-net-setup.sh, codice: "
msgstr "⚠️ Error executing BastionGuard-net-setup.sh, code: "
#: ../src/wizard/wizard_window.cpp:158
msgid "ERRORE GLib: "
msgstr "GLib ERROR: "
#: ../src/wizard/wizard_window.cpp:161 ../src/wizard/wizard_window.cpp:189
msgid "Eccezione: "
msgstr "Exception: "
#: ../src/wizard/wizard_window.cpp:164
msgid "Errore sconosciuto durante run_net_setup()."
msgstr "Unknown error during run_net_setup()."
#: ../src/wizard/wizard_window.cpp:175
msgid "Script non trovato: "
msgstr "Script not found: "
#: ../src/wizard/wizard_window.cpp:182
msgid "User agents abilitati con successo."
msgstr "User agents enabled successfully."
#: ../src/wizard/wizard_window.cpp:185
msgid "Errore nell'esecuzione dello script, codice: "
msgstr "Error executing script, code: "
#: ../src/wizard/wizard_window.cpp:192
msgid "Errore sconosciuto durante l'esecuzione dello script."
msgstr "Unknown error during script execution."
#: ../src/wizard/wizard_window.cpp:223
msgid ""
"Benvenuto nel setup iniziale di BastionGuard.\n"
"Questo wizard ti guiderà passo passo nella configurazione iniziale.\n"
"\n"
"Sono previsti 9 passaggi principali:\n"
"1) Configurazione del resolver locale (DNS 127.0.0.1)\n"
"2) Apertura delle porte firewall necessarie\n"
"3) Configurazione avanzata del firewall (nftables)\n"
"4) Generazione e installazione della CA di sistema\n"
"5) Configurazione del webserver (porte HTTP/HTTPS)\n"
"6) Installazione del Native Messaging Host per browser\n"
"7) Abilitazione del servizio User Agent\n"
"8) Download della lista delle banche (MISP)\n"
"9) Riepilogo ed esecuzione delle azioni selezionate.\n"
"\n"
"Puoi usare i pulsanti Avanti e Indietro per navigare tra le sezioni."
msgstr ""
"Welcome to the initial BastionGuard setup.\n"
"This wizard will guide you step by step through the initial configuration.\n"
"\n"
"There are 9 main steps:\n"
"1) Local resolver configuration (DNS 127.0.0.1)\n"
"2) Opening necessary firewall ports\n"
"3) Advanced firewall configuration (nftables)\n"
"4) Generation and installation of system CA\n"
"5) Webserver configuration (HTTP/HTTPS ports)\n"
"6) Native Messaging Host installation for browsers\n"
"7) User Agent service enabling\n"
"8) Download of banks list (MISP)\n"
"9) Summary and execution of selected actions.\n"
"\n"
"You can use the Next and Back buttons to navigate between sections."
#: ../src/wizard/wizard_window.cpp:237
msgid ""
"In questa sezione puoi abilitare un resolver DNS locale (127.0.0.1). Serve "
"per instradare le richieste DNS attraverso BastionGuard, migliorando "
"sicurezza e controllo."
msgstr ""
"In this section you can enable a local DNS resolver (127.0.0.1). It is used "
"to route DNS requests through BastionGuard, improving security and control."
#: ../src/wizard/wizard_window.cpp:240
msgid ""
"Qui puoi aprire automaticamente le porte necessarie al funzionamento di "
"BastionGuard: 53/udp per DNS, 81/tcp http e 444/tcp https per comunicazioni "
"interne. Viene aggiunto il gruppo adm e system-journal all'utente."
msgstr ""
"Here you can automatically open the ports necessary for BastionGuard to "
"function: 53/udp for DNS, 81/tcp http and 444/tcp https for internal "
"communications. The adm and system-journal groups are added to the user."
#: ../src/wizard/wizard_window.cpp:244
msgid ""
"In questa sezione puoi installare e configurare automaticamente il firewall "
"nftables se nessun altro firewall (come UFW o firewalld) è attivo sul "
"sistema.\n"
"\n"
"nftables rappresenta il sistema firewall moderno sostitutivo di iptables. "
"BastionGuard può configurarlo per aprire solo le porte necessarie (53/udp, "
"81/tcp, 444/tcp) e applicare regole di base sicure per il traffico locale."
msgstr ""
"In this section you can automatically install and configure the nftables "
"firewall if no other firewall (such as UFW or firewalld) is active on the "
"system.\n"
"\n"
"nftables is the modern firewall system that replaces iptables. BastionGuard "
"can configure it to open only the necessary ports (53/udp, 81/tcp, 444/tcp) "
"and apply basic secure rules for local traffic."
#: ../src/wizard/wizard_window.cpp:251
msgid ""
"Questa opzione genera certificati locali e installa una CA (Certificate "
"Authority) di sistema. Serve per permettere a BastionGuard di validare "
"connessioni HTTPS in modo sicuro."
msgstr ""
"This option generates local certificates and installs a system Certificate "
"Authority (CA). It allows BastionGuard to securely validate HTTPS connections."
#: ../src/wizard/wizard_window.cpp:254
msgid ""
"Configurazione del webserver (Apache, Nginx, ecc.) per impostare "
"automaticamente le porte HTTP/HTTPS usate da BastionGuard per proxy e "
"interfaccia web."
msgstr ""
"Webserver configuration (Apache, Nginx, etc.) to automatically set the "
"HTTP/HTTPS ports used by BastionGuard for proxy and web interface."
#: ../src/wizard/wizard_window.cpp:257
msgid ""
"Il Native Messaging Host permette l’integrazione con i browser web (es. "
"Firefox, Chromium). È necessario per comunicare con le estensioni di "
"BastionGuard."
msgstr ""
"The Native Messaging Host allows integration with web browsers (e.g. "
"Firefox, Chromium). It is necessary to communicate with BastionGuard "
"extensions."
#: ../src/wizard/wizard_window.cpp:260
msgid ""
"Il servizio User Agent consente di avviare automaticamente componenti "
"aggiuntivi di BastionGuard per tutti gli utenti attivi. È consigliato "
"abilitarlo per ricevere notifiche e scansioni in tempo reale."
msgstr ""
"The User Agent service allows automatic startup of additional BastionGuard "
"components for all active users. It is recommended to enable it to receive "
"real-time notifications and scans."
#: ../src/wizard/wizard_window.cpp:263
msgid "Configura resolver locale (DNS → 127.0.0.1)"
msgstr "Configure local resolver (DNS → 127.0.0.1)"
#: ../src/wizard/wizard_window.cpp:264
msgid ""
"Apri automaticamente le porte firewall necessarie (53/udp, 81/tcp, 444/tcp)"
msgstr ""
"Automatically open necessary firewall ports (53/udp, 81/tcp, 444/tcp)"
#: ../src/wizard/wizard_window.cpp:265
msgid "Installa e abilita automaticamente nftables se non è attivo un firewall"
msgstr "Automatically install and enable nftables if no firewall is active"
#: ../src/wizard/wizard_window.cpp:266
msgid "Genera certificati locali e installa la CA di sistema"
msgstr "Generate local certificates and install system CA"
#: ../src/wizard/wizard_window.cpp:267 ../src/wizard/wizard_window.cpp:559
msgid "Configura automaticamente il webserver (porte e moduli)"
msgstr "Automatically configure webserver (ports and modules)"
#: ../src/wizard/wizard_window.cpp:268
msgid "Installa Native Messaging Host (per browser)"
msgstr "Install Native Messaging Host (for browsers)"
#: ../src/wizard/wizard_window.cpp:269
msgid ""
"Abilita automaticamente il servizio BastionGuard User Agent per gli utenti "
"attivi"
msgstr ""
"Automatically enable BastionGuard User Agent service for active users"
#: ../src/wizard/wizard_window.cpp:270 ../src/wizard/wizard_window.cpp:504
msgid "Scarica automaticamente la lista delle banche (MISP)"
msgstr "Automatically download banks list (MISP)"
#: ../src/wizard/wizard_window.cpp:271
msgid "Esegui abilitazione ora"
msgstr "Execute enabling now"
#: ../src/wizard/wizard_window.cpp:272
msgid "_Indietro"
msgstr "_Back"
#: ../src/wizard/wizard_window.cpp:273
msgid "_Avanti"
msgstr "_Next"
#: ../src/wizard/wizard_window.cpp:274
msgid "_Esegui"
msgstr "_Execute"
#: ../src/wizard/wizard_window.cpp:450
msgid "Benvenuto"
msgstr "Welcome"
#: ../src/wizard/wizard_window.cpp:451
msgid "Resolver"
msgstr "Resolver"
#: ../src/wizard/wizard_window.cpp:452
msgid "Firewall"
msgstr "Firewall"
#: ../src/wizard/wizard_window.cpp:453
msgid "Firewall avanzato"
msgstr "Advanced Firewall"
#: ../src/wizard/wizard_window.cpp:454
msgid "Certificati"
msgstr "Certificates"
#: ../src/wizard/wizard_window.cpp:455
msgid "Webserver"
msgstr "Webserver"
#: ../src/wizard/wizard_window.cpp:456
msgid "Native Host"
msgstr "Native Host"
#: ../src/wizard/wizard_window.cpp:457
msgid "User Agent"
msgstr "User Agent"
#: ../src/wizard/wizard_window.cpp:459
msgid "Riepilogo"
msgstr "Summary"
#: ../src/wizard/wizard_window.cpp:493
msgid ""
"BastionGuard può scaricare automaticamente la lista ufficiale delle banche "
"dal progetto MISP (Malware Information Sharing Platform). Questa lista serve "
"per identificare i siti bancari reali e proteggerli da falsi positivi o da "
"phishing.\n"
"\n"
"Il file verrà salvato nella tua cartella utente (~/.local/share/BastionGuard/"
"banks.json). Non richiede privilegi di amministratore."
msgstr ""
"BastionGuard can automatically download the official banks list from the "
"MISP project (Malware Information Sharing Platform). This list helps "
"identify real banking sites and protect them from false positives or "
"phishing.\n"
"\n"
"The file will be saved in your user folder (~/.local/share/BastionGuard/"
"banks.json). No administrator privileges are required."
#: ../src/wizard/wizard_window.cpp:525
msgid ""
"BastionGuard può configurare automaticamente nftables come firewall di "
"sistema se non sono attivi altri firewall (UFW o firewalld).\n"
"\n"
"Durante il riepilogo finale, il programma installerà e attiverà nftables "
"aprendo solo le porte necessarie (53/udp, 81/tcp, 444/tcp) e applicando "
"regole sicure per il traffico locale."
msgstr ""
"BastionGuard can automatically configure nftables as the system firewall if "
"no other firewalls (UFW or firewalld) are active.\n"
"\n"
"During the final summary, the program will install and activate nftables, "
"opening only the necessary ports (53/udp, 81/tcp, 444/tcp) and applying "
"secure rules for local traffic."
#: ../src/wizard/wizard_window.cpp:534
msgid "Installa e abilita automaticamente nftables"
msgstr "Automatically install and enable nftables"
#: ../src/wizard/wizard_window.cpp:631
msgid "Servizio abilitato correttamente."
msgstr "Service enabled successfully."
#: ../src/wizard/wizard_window.cpp:631
msgid "Errore durante l'abilitazione."
msgstr "Error during enabling."
#: ../src/wizard/wizard_window.cpp:664
msgid ""
"Riepilogo delle azioni selezionate:\n"
"\n"
msgstr ""
"Summary of selected actions:\n"
"\n"
#: ../src/wizard/wizard_window.cpp:667
msgid "Resolver locale (DNS → 127.0.0.1) + Policies browser"
msgstr "Local resolver (DNS → 127.0.0.1) + Browser policies"
#: ../src/wizard/wizard_window.cpp:668
msgid "Resolver locale"
msgstr "Local resolver"
#: ../src/wizard/wizard_window.cpp:671
msgid "Apertura porte firewall (53/udp, 81/tcp, 444/tcp) e gruppi utenti"
msgstr "Opening firewall ports (53/udp, 81/tcp, 444/tcp) and user groups"
#: ../src/wizard/wizard_window.cpp:672
msgid "Apertura porte firewall"
msgstr "Opening firewall ports"
#: ../src/wizard/wizard_window.cpp:674
msgid "Firewall avanzato nftables (installazione e configurazione automatica)"
msgstr "Advanced nftables firewall (automatic installation and configuration)"
#: ../src/wizard/wizard_window.cpp:675
msgid "Firewall avanzato nftables"
msgstr "Advanced nftables firewall"
#: ../src/wizard/wizard_window.cpp:678
msgid "Certificati CA (generazione + installazione)"
msgstr "CA certificates (generation + installation)"
#: ../src/wizard/wizard_window.cpp:679
msgid "Certificati CA"
msgstr "CA certificates"
#: ../src/wizard/wizard_window.cpp:682
msgid "Configurazione automatica del webserver (porte e moduli)"
msgstr "Automatic webserver configuration (ports and modules)"
#: ../src/wizard/wizard_window.cpp:683
msgid "Configurazione webserver"
msgstr "Webserver configuration"
#: ../src/wizard/wizard_window.cpp:686
msgid "Native Messaging Host (integrazione browser)"
msgstr "Native Messaging Host (browser integration)"
#: ../src/wizard/wizard_window.cpp:687
msgid "Native Messaging Host"
msgstr "Native Messaging Host"
#: ../src/wizard/wizard_window.cpp:690
msgid "Servizio User Agent (notifiche e scansioni in tempo reale)"
msgstr "User Agent service (real-time notifications and scans)"
#: ../src/wizard/wizard_window.cpp:691
msgid "Servizio User Agent"
msgstr "User Agent service"
#: ../src/wizard/wizard_window.cpp:693 ../src/wizard/wizard_window.cpp:694
msgid "Download lista banche (MISP)"
msgstr "Download banks list (MISP)"
#: ../src/wizard/wizard_window.cpp:721
msgid "Errore scrivendo il file di configurazione"
msgstr "Error writing configuration file"
#: ../src/wizard/wizard_window.cpp:724
msgid "Controlla i permessi della cartella di configurazione."
msgstr "Check the permissions of the configuration folder."
#: ../src/wizard/wizard_window.cpp:732
msgid "Abilitazione servizio User Agent..."
msgstr "Enabling User Agent service..."
#: ../src/wizard/wizard_window.cpp:734
msgid "OK: User Agent abilitato."
msgstr "OK: User Agent enabled."
#: ../src/wizard/wizard_window.cpp:734
msgid "ERRORE: impossibile abilitare User Agent."
msgstr "ERROR: unable to enable User Agent."
#: ../src/wizard/wizard_window.cpp:739
msgid "Nessun firewall attivo rilevato, installazione nftables..."
msgstr "No active firewall detected, installing nftables..."
#: ../src/wizard/wizard_window.cpp:742
msgid "OK: nftables installato e configurato."
msgstr "OK: nftables installed and configured."
#: ../src/wizard/wizard_window.cpp:745
msgid "ERRORE: installazione nftables fallita."
msgstr "ERROR: nftables installation failed."
#: ../src/wizard/wizard_window.cpp:750
msgid ""
"Eseguo il setup di rete (BastionGuard-net-setup.sh) prima delle azioni "
"privilegiate..."
msgstr ""
"Executing network setup (BastionGuard-net-setup.sh) before privileged actions..."
#: ../src/wizard/wizard_window.cpp:753
msgid "OK: setup di rete completato con successo."
msgstr "OK: network setup completed successfully."
#: ../src/wizard/wizard_window.cpp:755
msgid ""
"ERRORE: setup di rete fallito o incompleto. Continuo con le altre operazioni."
msgstr ""
"ERROR: network setup failed or incomplete. Continuing with other operations."
#: ../src/wizard/wizard_window.cpp:760
msgid "Avvio download lista banche (utente locale)..."
msgstr "Starting download of banks list (local user)..."
#: ../src/wizard/wizard_window.cpp:763
msgid "OK: lista banche scaricata correttamente."
msgstr "OK: banks list downloaded successfully."
#: ../src/wizard/wizard_window.cpp:764
msgid "ERRORE: impossibile scaricare la lista banche."
msgstr "ERROR: unable to download banks list."
#: ../src/wizard/wizard_window.cpp:783
msgid "Inizio esecuzione wizard..."
msgstr "Starting wizard execution..."
#: ../src/wizard/wizard_window.cpp:788
msgid "Richiesta autenticazione amministratore..."
msgstr "Requesting administrator authentication..."
#: ../src/wizard/wizard_window.cpp:818
msgid "Inizio esecuzione wizard combinato..."
msgstr "Starting combined wizard execution..."
#: ../src/wizard/wizard_window.cpp:822
msgid "Configuro i browser per usare il resolver locale..."
msgstr "Configuring browsers to use local resolver..."
#: ../src/wizard/wizard_window.cpp:825
msgid "OK: browser configurati."
msgstr "OK: browsers configured."
#: ../src/wizard/wizard_window.cpp:825
msgid "Avviso: policies browser non completamente scritte (permessi)."
msgstr "Warning: browser policies not completely written (permissions)."
#: ../src/wizard/wizard_window.cpp:852
msgid "Esecuzione privilegiata unica (una sola autenticazione)..."
msgstr "Single privileged execution (one authentication only)..."
#: ../src/wizard/wizard_window.cpp:856
msgid "ERRORE: esecuzione privilegiata fallita."
msgstr "ERROR: privileged execution failed."
#: ../src/wizard/wizard_window.cpp:860
msgid "OK: operazioni privilegiate completate."
msgstr "OK: privileged operations completed."
#: ../src/wizard/wizard_window.cpp:877
msgid "Installo Native Messaging Host (user-level)..."
msgstr "Installing Native Messaging Host (user-level)..."
#: ../src/wizard/wizard_window.cpp:880
msgid "OK: native host installato."
msgstr "OK: native host installed."
#: ../src/wizard/wizard_window.cpp:880
msgid "ERRORE: native host fallito."
msgstr "ERROR: native host failed."
#: ../src/wizard/wizard_window.cpp:895
msgid "Setup completato con successo."
msgstr "Setup completed successfully."
#: ../src/wizard/wizard_window.cpp:896
msgid ""
"Il servizio BastionGuard-phishing-scanner è stato riavviato correttamente."
msgstr "BastionGuard-phishing-scanner service has been restarted successfully."
#: ../src/wizard/wizard_window.cpp:898
msgid "Setup completato"
msgstr "Setup completed"
#: ../src/wizard/wizard_window.cpp:899
msgid ""
"BastionGuard è stato configurato correttamente.\n"
"Il servizio phishing-scanner è stato riavviato.\n"
"Riavvia il browser se hai installato il Native Host."
msgstr ""
"BastionGuard has been configured correctly.\n"
"The phishing-scanner service has been restarted.\n"
"Restart your browser if you installed the Native Host."
#: ../src/wizard/wizard_window.cpp:905
msgid "Setup completato con errori."
msgstr "Setup completed with errors."
#: ../src/wizard/wizard_window.cpp:906
msgid "Completato con errori"
msgstr "Completed with errors"
#: ../src/wizard/wizard_window.cpp:907
msgid ""
"Alcuni passaggi non sono riusciti. Controlla il log per maggiori dettagli."
msgstr ""
"Some steps failed. Check the log for more details."
#: ../src/wizard/wizard_window.cpp:929
msgid "Errore scrivendo il file di configurazione:"
msgstr "Error writing configuration file:"
#: ../src/wizard/wizard_window.cpp:998
msgid "ERRORE: impossibile scrivere policies Firefox: "
msgstr "ERROR: unable to write Firefox policies: "
#: ../src/wizard/wizard_window.cpp:1016 ../src/wizard/wizard_window.cpp:1081
msgid "OK: policy per Firefox/Chromium/Chrome/Edge installate."
msgstr "OK: policies for Firefox/Chromium/Chrome/Edge installed."
#: ../src/wizard/wizard_window.cpp:1019
msgid "Avviso: alcune policies browser non sono state scritte (permessi?)."
msgstr "Warning: some browser policies were not written (permissions?)."
#: ../src/wizard/wizard_window.cpp:1023
msgid "ERRORE: configure_browser_doh eccezione: "
msgstr "ERROR: configure_browser_doh exception: "
#: ../src/wizard/wizard_window.cpp:1084
msgid "ERRORE: impossibile scrivere le policies browser: "
msgstr "ERROR: unable to write browser policies: "
#: ../src/wizard/wizard_window.cpp:1257
msgid "Nessun server NGINX rilevato sul sistema."
msgstr "No NGINX server detected on the system."
#: ../src/wizard/wizard_window.cpp:1280
msgid "Errore durante la sostituzione delle porte nel template NGINX."
msgstr "Error while replacing ports in NGINX template."
#: ../src/wizard/wizard_window.cpp:1322
msgid " echo '[BastionGuard] Inserisco blocco mancante in nginx.conf...'\n"
msgstr " echo '[BastionGuard] Inserting missing block in nginx.conf...'\n"
#: ../src/wizard/wizard_window.cpp:1326
msgid ""
" echo '[BastionGuard] Configurazione già presente, nessuna modifica "
"necessaria.'\n"
msgstr ""
" echo '[BastionGuard] Configuration already present, no changes necessary.'\n"
#: ../src/wizard/wizard_window.cpp:1339
msgid "Impossibile creare lo script temporaneo."
msgstr "Unable to create temporary script."
#: ../src/wizard/wizard_window.cpp:1356
msgid "Errore durante l’applicazione della configurazione NGINX."
msgstr "Error while applying NGINX configuration."
#: ../src/wizard/wizard_window.cpp:1360
msgid "Configurazione NGINX applicata con successo."
msgstr "NGINX configuration applied successfully."
#: ../src/wizard/wizard_window.cpp:1364
msgid "Errore apply_web_config: "
msgstr "Error apply_web_config: "
#: ../src/wizard/wizard_window.cpp:1384
msgid "Scarico la lista delle banche da MISP (solo utente)..."
msgstr "Downloading banks list from MISP (user only)..."
#: ../src/wizard/wizard_window.cpp:1388
msgid "✅ Lista banche salvata in: "
msgstr "✅ Banks list saved in: "
#: ../src/wizard/wizard_window.cpp:1391
msgid "❌ Errore durante il download della lista delle banche (curl fallito)."
msgstr "❌ Error downloading banks list (curl failed)."
#: ../src/wizard/wizard_window.cpp:1395
msgid "Eccezione download_bank_list_user(): "
msgstr "Exception download_bank_list_user(): "
#: ../src/wizard/StyleProvider.cpp:50 ../src/wizard/StyleProvider.cpp:53
msgid "✔ CSS caricato da "
msgstr "✔ CSS loaded from "
#: ../src/wizard/StyleProvider.cpp:55
msgid "⚠ Nessun file CSS trovato:\n"
msgstr "⚠ No CSS file found:\n"
#: ../src/wizard/StyleProvider.cpp:65 ../src/StyleProvider.cpp:48
msgid "❌ Errore CSS: "
msgstr "❌ CSS error: "
#: ../src/wizard/wizard_setup.cpp:134 ../src/wizard/wizard_setup.cpp:256
msgid "fdopen fallita"
msgstr "fdopen failed"
#: ../src/wizard/wizard_setup.cpp:163
msgid ""
"\n"
"===== [BastionGuard DEBUG: write_temp_script_and_elevate] =====\n"
msgstr ""
"\n"
"===== [BastionGuard DEBUG: write_temp_script_and_elevate] =====\n"
#: ../src/wizard/wizard_setup.cpp:164
msgid "Comando elevato eseguito:\n"
msgstr "Elevated command executed:\n"
#: ../src/wizard/wizard_setup.cpp:169
msgid "(nessun output catturato)\n"
msgstr "(no output captured)\n"
#: ../src/wizard/wizard_setup.cpp:301
msgid "echo '[BastionGuard] Imposto resolver locale...' >&2"
msgstr "echo '[BastionGuard] Setting local resolver...' >&2"
#: ../src/wizard/wizard_setup.cpp:307
msgid "echo '[BastionGuard] Apertura porte e setup nftables...' >&2"
msgstr "echo '[BastionGuard] Opening ports and setting up nftables...' >&2"
#: ../src/wizard/wizard_setup.cpp:320
msgid "echo '[BastionGuard] Generazione certificati...' >&2"
msgstr "echo '[BastionGuard] Generating certificates...' >&2"
#: ../src/wizard/wizard_setup.cpp:337
msgid "echo '[BastionGuard] Configuro webserver (nginx) porte...' >&2"
msgstr "echo '[BastionGuard] Configuring webserver (nginx) ports...' >&2"
#: ../src/wizard/wizard_setup.cpp:358
msgid "Configuro override del resolver locale..."
msgstr "Configuring local resolver override..."
#: ../src/wizard/wizard_setup.cpp:370
msgid "Backup di resolv.conf creato in: "
msgstr "Backup of resolv.conf created in: "
#: ../src/wizard/wizard_setup.cpp:386
msgid "Impostato nameserver 127.0.0.1 tramite resolvectl"
msgstr "Set nameserver 127.0.0.1 via resolvectl"
#: ../src/wizard/wizard_setup.cpp:400
msgid "Impostato nameserver 127.0.0.1 tramite nmcli"
msgstr "Set nameserver 127.0.0.1 via nmcli"
#: ../src/wizard/wizard_setup.cpp:417
msgid "Scrittura diretta di /etc/resolv.conf eseguita"
msgstr "Direct write to /etc/resolv.conf executed"
#: ../src/wizard/wizard_setup.cpp:420
msgid "Fallback scrittura diretta /etc/resolv.conf fallito"
msgstr "Fallback direct write to /etc/resolv.conf failed"
#: ../src/wizard/wizard_setup.cpp:425
msgid "Eccezione in setup_resolv_override:"
msgstr "Exception in setup_resolv_override:"
#: ../src/wizard/wizard_setup.cpp:437
msgid "Backup non trovato:"
msgstr "Backup not found:"
#: ../src/wizard/wizard_setup.cpp:450
msgid "Ripristino resolv.conf fallito:"
msgstr "resolv.conf restoration failed:"
#: ../src/wizard/wizard_setup.cpp:454
msgid "Ripristinato resolv.conf da backup:"
msgstr "Restored resolv.conf from backup:"
#: ../src/wizard/wizard_setup.cpp:457
msgid "Eccezione in restore_resolv_backup:"
msgstr "Exception in restore_resolv_backup:"
#: ../src/wizard/wizard_setup.cpp:467
msgid ""
"Apro le porte firewall necessarie (53/udp, 81/tcp, 444/tcp, 4443/tcp)..."
msgstr ""
"Opening necessary firewall ports (53/udp, 81/tcp, 444/tcp, 4443/tcp)..."
#: ../src/wizard/wizard_setup.cpp:496
msgid "Rilevata distribuzione: "
msgstr "Detected distribution: "
#: ../src/wizard/wizard_setup.cpp:513
msgid "Porte aperte tramite firewalld."
msgstr "Ports opened via firewalld."
#: ../src/wizard/wizard_setup.cpp:525
msgid "Porte aperte tramite ufw."
msgstr "Ports opened via ufw."
#: ../src/wizard/wizard_setup.cpp:546
msgid "Regole nftables applicate (best-effort)."
msgstr "nftables rules applied (best-effort)."
#: ../src/wizard/wizard_setup.cpp:560
msgid "Regole iptables applicate (best-effort)."
msgstr "iptables rules applied (best-effort)."
#: ../src/wizard/wizard_setup.cpp:573
msgid ""
"Nessuno strumento firewall rilevato; apri manualmente le porte se necessario."
msgstr ""
"No firewall tool detected; open ports manually if necessary."
#: ../src/wizard/wizard_setup.cpp:591
msgid "Utente effettivo: "
msgstr "Effective user: "
#: ../src/wizard/wizard_setup.cpp:602
msgid "Aggiungo l'utente ai gruppi 'adm' e 'systemd-journal'..."
msgstr "Adding user to groups 'adm' and 'systemd-journal'..."
#: ../src/wizard/wizard_setup.cpp:605
msgid "Utente aggiunto ai gruppi richiesti."
msgstr "User added to required groups."
#: ../src/wizard/wizard_setup.cpp:608
msgid "Errore aggiungendo l'utente ai gruppi: "
msgstr "Error adding user to groups: "
#: ../src/wizard/wizard_setup.cpp:611
msgid "Utente già presente nei gruppi 'adm' o 'systemd-journal'."
msgstr "User already present in groups 'adm' or 'systemd-journal'."
#: ../src/wizard/wizard_setup.cpp:614
msgid "Impossibile determinare l'utente effettivo; salto l'aggiunta ai gruppi."
msgstr "Unable to determine effective user; skipping group addition."
#: ../src/wizard/wizard_setup.cpp:622
msgid ""
"Per completare la configurazione,\n"
"termina e riavvia la sessione utente."
msgstr ""
"To complete the configuration,\n"
"log out and restart your user session."
#: ../src/wizard/wizard_setup.cpp:628
msgid "BastionGuard - Permessi aggiornati"
msgstr "BastionGuard - Permissions updated"
#: ../src/wizard/wizard_setup.cpp:630
msgid ""
"I nuovi permessi di accesso ai log diventeranno attivi dopo il logout.\n"
"Chiudi e riapri la sessione per visualizzare correttamente l'avvio "
"dell'applicazione BastionGuard."
msgstr ""
"New log access permissions will become active after logout.\n"
"Close and reopen the session to properly see BastionGuard application startup."
#: ../src/wizard/wizard_setup.cpp:638
msgid "Riavvio del servizio BastionGuard-phishing-scanner..."
msgstr "Restarting BastionGuard-phishing-scanner service..."
#: ../src/wizard/wizard_setup.cpp:646
msgid "systemd non presente: salto il riavvio del servizio."
msgstr "systemd not present: skipping service restart."
#: ../src/wizard/wizard_setup.cpp:655
msgid "Servizio BastionGuard-phishing-scanner riavviato."
msgstr "BastionGuard-phishing-scanner service restarted."
#: ../src/wizard/wizard_setup.cpp:657
msgid "Tentativo di riavvio eseguito (codice "
msgstr "Restart attempt executed (code "
#: ../src/wizard/wizard_setup.cpp:657
msgid "). Verifica lo stato del servizio."
msgstr "). Check the service status."
#: ../src/wizard/wizard_setup.cpp:660
msgid ""
"Unità systemd BastionGuard-phishing-scanner non trovata: salto il riavvio."
msgstr ""
"systemd unit BastionGuard-phishing-scanner not found: skipping restart."
#: ../src/wizard/wizard_setup.cpp:668
msgid "Eccezione in setup_firewall_ports: "
msgstr "Exception in setup_firewall_ports: "
#: ../src/wizard/wizard_setup.cpp:675
msgid "[wizard] 🔧 Configurazione rete e nftables (modalità agent)...\n"
msgstr "[wizard] 🔧 Network and nftables configuration (agent mode)...\n"
#: ../src/wizard/wizard_setup.cpp:682
msgid "[wizard] ⚠ File di configurazione nftables non trovato: "
msgstr "[wizard] ⚠ nftables configuration file not found: "
#: ../src/wizard/wizard_setup.cpp:693
msgid "echo '[BastionGuard] ▶ Configurazione nftables e rete...'\n"
msgstr "echo '[BastionGuard] ▶ nftables and network configuration...'\n"
#: ../src/wizard/wizard_setup.cpp:700
msgid " echo '[BastionGuard] Abilito e avvio nftables.service...'\n"
msgstr " echo '[BastionGuard] Enabling and starting nftables.service...'\n"
#: ../src/wizard/wizard_setup.cpp:703
msgid ""
" echo '[BastionGuard] UFW o Firewalld rilevati: mantengo configurazione "
"esistente.'\n"
msgstr ""
" echo '[BastionGuard] UFW or Firewalld detected: keeping existing configuration.'\n"
#: ../src/wizard/wizard_setup.cpp:708
msgid ""
"echo '[BastionGuard] ▶ Eseguo BastionGuard-net-setup.sh (modalità "
"agent)...'\n"
msgstr ""
"echo '[BastionGuard] ▶ Executing BastionGuard-net-setup.sh (agent mode)...'\n"
#: ../src/wizard/wizard_setup.cpp:711
msgid "echo '[BastionGuard] Nessuno script di rete trovato.'\n"
msgstr "echo '[BastionGuard] No network script found.'\n"
#: ../src/wizard/wizard_setup.cpp:714
msgid "echo '[BastionGuard] ✅ Configurazione nftables + rete completata.'\n"
msgstr "echo '[BastionGuard] ✅ nftables + network configuration completed.'\n"
#: ../src/wizard/wizard_setup.cpp:720
msgid "[wizard][DEBUG] Output BastionGuard-net-setup.sh:\n"
msgstr "[wizard][DEBUG] BastionGuard-net-setup.sh output:\n"
#: ../src/wizard/wizard_setup.cpp:723
msgid "[wizard] ✅ nftables e rete configurati con successo (agent mode)\n"
msgstr "[wizard] ✅ nftables and network configured successfully (agent mode)\n"
#: ../src/wizard/wizard_setup.cpp:725
msgid "[wizard] ⚠ Errore configurando nftables o rete:\n"
msgstr "[wizard] ⚠ Error configuring nftables or network:\n"
#: ../src/wizard/wizard_setup.cpp:730
msgid "[wizard] ⚠ Eccezione in install_nftables_conf: "
msgstr "[wizard] ⚠ Exception in install_nftables_conf: "
#: ../src/wizard/wizard_setup.cpp:741
msgid "File CA non trovato:"
msgstr "CA file not found:"
#: ../src/wizard/wizard_setup.cpp:791
msgid "Installazione CA: script restituisce warning o errore"
msgstr "CA installation: script returned warning or error"
#: ../src/wizard/wizard_setup.cpp:793 ../src/wizard/wizard_setup.cpp:803
msgid "CA installata nel trust store di sistema"
msgstr "CA installed in system trust store"
#: ../src/wizard/wizard_setup.cpp:797
msgid ""
"CA copiata in directory comuni, ma potresti doverla abilitare manualmente"
msgstr ""
"CA copied to common directories, but you may need to enable it manually"
#: ../src/wizard/wizard_setup.cpp:807
msgid "Eccezione in install_system_ca:"
msgstr "Exception in install_system_ca:"
#: ../src/wizard/wizard_setup.cpp:815
msgid "Generazione CA locale e certificato per il warning server..."
msgstr "Generating local CA and certificate for warning server..."
#: ../src/wizard/wizard_setup.cpp:845
msgid "[wizard] Certificati: errore nello script\n"
msgstr "[wizard] Certificates: error in script\n"
#: ../src/wizard/wizard_setup.cpp:851
msgid "[wizard] ⚠️ Attenzione: installazione CA di sistema non riuscita."
msgstr "[wizard] ⚠️ Warning: system CA installation failed."
#: ../src/wizard/wizard_setup.cpp:852
msgid ""
"[wizard] L'utente può installare manualmente il file: /etc/BastionGuard/"
"certs/BastionGuard-ca.crt.pem"
msgstr ""
"[wizard] The user can manually install the file: /etc/BastionGuard/certs/BastionGuard-ca.crt.pem"
#: ../src/wizard/wizard_setup.cpp:856
msgid ""
"[wizard] ✅ Certificati generati in /etc/BastionGuard/certs e CA installata "
"nel sistema"
msgstr ""
"[wizard] ✅ Certificates generated in /etc/BastionGuard/certs and CA installed in the system"
#: ../src/wizard/wizard_setup.cpp:860
msgid "[wizard] Eccezione in setup_certificates: "
msgstr "[wizard] Exception in setup_certificates: "
#: ../src/wizard/wizard_setup.cpp:872
msgid "Blacklist phishing copiata in:"
msgstr "Phishing blacklist copied to:"
#: ../src/wizard/wizard_setup.cpp:875
msgid "Errore copiando blacklist:"
msgstr "Error copying blacklist:"
#: ../src/wizard/wizard_setup.cpp:885
msgid "Installazione native messaging host..."
msgstr "Installing native messaging host..."
#: ../src/wizard/wizard_setup.cpp:900
msgid "Impossibile impostare i permessi eseguibili: "
msgstr "Unable to set executable permissions: "
#: ../src/wizard/wizard_setup.cpp:905
msgid "Avviso: binario native host non trovato: "
msgstr "Warning: native host binary not found: "
#: ../src/wizard/wizard_setup.cpp:977
msgid "Impossibile creare la directory: "
msgstr "Unable to create directory: "
#: ../src/wizard/wizard_setup.cpp:984
msgid "Manifest già presente, salto: "
msgstr "Manifest already present, skipping: "
#: ../src/wizard/wizard_setup.cpp:992
msgid "Manifest scritto in: "
msgstr "Manifest written to: "
#: ../src/wizard/wizard_setup.cpp:995
msgid "Impossibile scrivere manifest in: "
msgstr "Unable to write manifest to: "
#: ../src/wizard/wizard_setup.cpp:1000
msgid "Native host configurato, manifest creati"
msgstr "Native host configured, manifests created"
#: ../src/wizard/wizard_setup.cpp:1004
msgid "Nessun manifest creato (tutti già presenti?)"
msgstr "No manifests created (all already present?)"
#: ../src/wizard/wizard_setup.cpp:1008
msgid "Eccezione in install_native_host: "
msgstr "Exception in install_native_host: "
#: ../src/wizard/wizard_setup.cpp:1025
msgid ""
"[wizard] 🔁 Esecuzione privilegiata combinata (una sola autenticazione)...\n"
msgstr ""
"[wizard] 🔁 Combined privileged execution (single authentication)...\n"
#: ../src/wizard/wizard_setup.cpp:1029
msgid "echo '[BastionGuard] Configuro DNS temporaneo...' >&2"
msgstr "echo '[BastionGuard] Configuring temporary DNS...' >&2"
#: ../src/wizard/wizard_setup.cpp:1039
msgid "echo '[BastionGuard] Ripristino resolv.conf...' >&2"
msgstr "echo '[BastionGuard] Restoring resolv.conf...' >&2"
#: ../src/wizard/wizard_setup.cpp:1047
msgid "echo '[BastionGuard] Configuro firewall (nftables)...' >&2"
msgstr "echo '[BastionGuard] Configuring firewall (nftables)...' >&2"
#: ../src/wizard/wizard_setup.cpp:1061
msgid "echo '[BastionGuard] Genero certificati locali...' >&2"
msgstr "echo '[BastionGuard] Generating local certificates...' >&2"
#: ../src/wizard/wizard_setup.cpp:1093
msgid "echo '[BastionGuard] Copio blacklist phishing...' >&2"
msgstr "echo '[BastionGuard] Copying phishing blacklist...' >&2"
#: ../src/wizard/wizard_setup.cpp:1099
msgid "echo '[BastionGuard] Riavvio BastionGuard-phishing-scanner...' >&2"
msgstr "echo '[BastionGuard] Restarting BastionGuard-phishing-scanner...' >&2"
#: ../src/wizard/wizard_setup.cpp:1110
msgid "[wizard] ⚠ Errore nello script privilegiato:\n"
msgstr "[wizard] ⚠ Error in privileged script:\n"
#: ../src/wizard/wizard_setup.cpp:1113
msgid "[wizard] ✅ Tutte le operazioni privilegiate completate."
msgstr "[wizard] ✅ All privileged operations completed."
#: ../src/bankgui-main.cpp:95
msgid "Inserisci l'URL della banca o un identificatore:"
msgstr "Enter the bank URL or an identifier:"
#: ../src/bankgui-main.cpp:112
#: ../src/payment_secure/BastionGuard-secure-main.cpp:107
msgid "Apri in Secure Browser"
msgstr "Open in Secure Browser"
#: ../src/bankgui-main.cpp:196
msgid "Inserisci un URL valido."
msgstr "Enter a valid URL."
#: ../src/bankgui-main.cpp:196
msgid "Il campo non può essere vuoto."
msgstr "The field cannot be empty."
#: ../src/bankgui-main.cpp:211
#: ../src/payment_secure/BastionGuard-secure-main.cpp:259
msgid "Errore avvio subprocess."
msgstr "Error starting subprocess."
#: ../src/BankPage.cpp:60
msgid "🏦 Zona Sicura – Banche"
msgstr "🏦 Safe Zone – Banks"
#: ../src/BankPage.cpp:78
msgid "URL sorgente (es. MISP bank-website/list.json)"
msgstr "Source URL (e.g. MISP bank-website/list.json)"
#: ../src/BankPage.cpp:84
msgid "🔄 Aggiorna lista"
msgstr "🔄 Update list"
#: ../src/BankPage.cpp:91
msgid "Aggiornamento automatico ogni 6 ore"
msgstr "Automatic update every 6 hours"
#: ../src/BankPage.cpp:107
msgid "🔁 Aggiornamento automatico abilitato."
msgstr "🔁 Automatic update enabled."
#: ../src/BankPage.cpp:110
msgid "⏸️ Aggiornamento automatico disattivato."
msgstr "⏸️ Automatic update disabled."
#: ../src/BankPage.cpp:118
msgid "🔁 Aggiornamento automatico attivo."
msgstr "🔁 Automatic update active."
#: ../src/BankPage.cpp:139
msgid "Aggiungi dominio alla whitelist..."
msgstr "Add domain to whitelist..."
#: ../src/BankPage.cpp:141
msgid "➕ Aggiungi"
msgstr "➕ Add"
#: ../src/BankPage.cpp:184
msgid "⬇️ Download in corso..."
msgstr "⬇️ Download in progress..."
#: ../src/BankPage.cpp:194
msgid "✅ Lista aggiornata da MISP."
msgstr "✅ List updated from MISP."
#: ../src/BankPage.cpp:198
msgid "❌ Errore nel download della lista."
msgstr "❌ Error downloading the list."
#: ../src/BankPage.cpp:218
msgid "pkexec fallito o annullato dall'utente"
msgstr "pkexec failed or cancelled by user"
#: ../src/BankPage.cpp:222
msgid "\\nAggiornato il: "
msgstr "\\nUpdated on: "
#: ../src/BankPage.cpp:227
msgid "[BankPage] ✅ Lista copiata in "
msgstr "[BankPage] ✅ List copied to "
#: ../src/BankPage.cpp:229
msgid "[BankPage] ⚠️ Copia in /usr/share/BastionGuard/data/bank fallita: "
msgstr "[BankPage] ⚠️ Copy to /usr/share/BastionGuard/data/bank failed: "
#: ../src/BankPage.cpp:241
msgid "⚠ Nessuna lista trovata.\n"
msgstr "⚠ No list found.\n"
#: ../src/BankPage.cpp:249
msgid "❌ Errore parsing JSON.\n"
msgstr "❌ JSON parsing error.\n"
#: ../src/BankPage.cpp:254
msgid ""
"🌍 Elenco banche conosciute:\n"
"\n"
msgstr ""
"🌍 List of known banks:\n"
"\n"
#: ../src/BankPage.cpp:277
msgid ""
"\n"
"Totale banche: "
msgstr ""
"\n"
"Total banks: "
#: ../src/BankPage.cpp:282
msgid ""
"🛡️ Whitelist:\n"
"\n"
msgstr ""
"🛡️ Whitelist:\n"
"\n"
#: ../src/BankPage.cpp:286
msgid "(Nessun dominio whitelistato)\n"
msgstr "(No whitelisted domains)\n"
#: ../src/BankPage.cpp:297
msgid "⚠ Inserisci un dominio valido."
msgstr "⚠ Enter a valid domain."
#: ../src/BankPage.cpp:304
msgid "✅ Dominio aggiunto alla whitelist."
msgstr "✅ Domain added to whitelist."
#: ../src/BankPage.cpp:307
msgid "ℹ️ Dominio già presente nella whitelist."
msgstr "ℹ️ Domain already present in whitelist."
#: ../src/BankPage.cpp:361
msgid "[BankPage] ⏱️ Auto-update attivo ogni 6 ore."
msgstr "[BankPage] ⏱️ Auto-update active every 6 hours."
#: ../src/BankPage.cpp:367
msgid "[BankPage] ⏹️ Auto-update disattivato."
msgstr "[BankPage] ⏹️ Auto-update disabled."
#: ../src/BankPage.cpp:377
msgid "[BankPage] ⏰ Aggiornamento automatico lista banche..."
msgstr "[BankPage] ⏰ Automatic banks list update..."
#: ../src/BankPage.cpp:382
msgid "✅ Lista aggiornata automaticamente da MISP."
msgstr "✅ List automatically updated from MISP."
#: ../src/BankPage.cpp:387
msgid "✅ Lista aggiornata automaticamente il: "
msgstr "✅ List automatically updated on: "
#: ../src/BankPage.cpp:389
msgid "⚠️ Errore nell'aggiornamento automatico."
msgstr "⚠️ Error in automatic update."
#: ../src/StyleProvider.cpp:45
msgid "[CSS] Caricato stile da: "
msgstr "[CSS] Style loaded from: "
#: ../src/DonatePage.cpp:40
msgid "Sostieni BastionGuard"
msgstr "Support BastionGuard"
#: ../src/DonatePage.cpp:47
msgid ""
"Grazie al tuo contributo possiamo migliorare BastionGuard, basta un piccolo "
"gesto. Il contributo è prettamente volontario, vi chiediamo solo di "
"sostenerci a portare avanti qualcosa del tutto gratuito per voi."
msgstr ""
"Thanks to your contribution we can improve BastionGuard, just a small gesture. "
"The contribution is purely voluntary, we only ask you to support us in continuing "
"to offer something completely free for you."
#: ../src/DonatePage.cpp:61
msgid "❌ Impossibile caricare l'immagine data/donate.png"
msgstr "❌ Unable to load image data/donate.png"
#: ../src/DonatePage.cpp:79
msgid "Vai alla donazione"
msgstr "Go to donation"
#: ../src/DonatePage.cpp:94
msgid "❌ Errore apertura link donazione: "
msgstr "❌ Error opening donation link: "
#: ../src/usb/BastionGuard-usbd.cpp:228
msgid "Monitor USB avviato."
msgstr "USB monitor started."
#: ../src/usb/BastionGuard-usbd.cpp:240
msgid "Collegato USB: "
msgstr "USB connected: "
#: ../src/usb/BastionGuard-usbd.cpp:252
msgid "Rimosso USB: "
msgstr "USB removed: "
#: ../src/usb/BastionGuard-usbd.cpp:263
msgid "Monitor USB terminato."
msgstr "USB monitor terminated."
#: ../src/usb/BastionGuard-usbd.cpp:281
msgid "Errore apertura system bus.\n"
msgstr "Error opening system bus.\n"
#: ../src/usb/BastionGuard-usbd.cpp:286
msgid "Errore registrazione nome DBus.\n"
msgstr "Error registering DBus name.\n"
#: ../src/usb/BastionGuard-usbd.cpp:290
msgid "BastionGuard-usbd avviato."
msgstr "BastionGuard-usbd started."
#: ../src/usb/BastionGuard-usbd.cpp:300
msgid "BastionGuard-usbd terminato."
msgstr "BastionGuard-usbd terminated."
#: ../src/usb/ScanPromptWindow.cpp:7
msgid "Unità USB rilevata"
msgstr "USB device detected"
#: ../src/usb/ScanPromptWindow.cpp:8
msgid ""
"È stata collegata una nuova periferica USB:\n"
"\n"
msgstr ""
"A new USB device has been connected:\n"
"\n"
#: ../src/usb/ScanPromptWindow.cpp:9
msgid ""
"\n"
"\n"
"Vuoi eseguire una scansione antivirus?"
msgstr ""
"\n"
"\n"
"Do you want to run an antivirus scan?"
#: ../src/usb/LiveScanDialog.cpp:61
msgid "Scansione della periferica USB in corso"
msgstr "USB device scanning in progress"
#: ../src/usb/LiveScanDialog.cpp:80
msgid "Percorso analizzato:\n"
msgstr "Analyzed path:\n"
#: ../src/usb/LiveScanDialog.cpp:89
msgid "Analisi in corso..."
msgstr "Analysis in progress..."
#: ../src/usb/LiveScanDialog.cpp:106
msgid "Interruzione in corso..."
msgstr "Interrupting..."
#: ../src/usb/LiveScanDialog.cpp:186
msgid "Completato"
msgstr "Completed"
#: ../src/usb/USBScanPage.cpp:104
msgid "🖴 Periferiche USB"
msgstr "🖴 USB Devices"
#: ../src/usb/USBScanPage.cpp:126 ../src/PrivacyPage.cpp:92
msgid "🔄 Aggiorna"
msgstr "🔄 Refresh"
#: ../src/usb/USBScanPage.cpp:130
msgid "Aggiornamento manuale lista USB."
msgstr "Manual USB list update."
#: ../src/usb/USBScanPage.cpp:134
msgid "Auto scan ogni 3 min"
msgstr "Auto scan every 3 min"
#: ../src/usb/USBScanPage.cpp:161
msgid "Autoscan USB attivato (ogni 3 minuti)"
msgstr "USB autoscan enabled (every 3 minutes)"
#: ../src/usb/USBScanPage.cpp:164
msgid "Autoscan USB disattivato"
msgstr "USB autoscan disabled"
#: ../src/usb/USBScanPage.cpp:184
msgid "📜 Log giornaliero USB"
msgstr "📜 Daily USB log"
#: ../src/usb/USBScanPage.cpp:335
msgid "Monta e Scansiona"
msgstr "Mount and Scan"
#: ../src/usb/USBScanPage.cpp:342
msgid "Richiesta scansione completa per: "
msgstr "Full scan requested for: "
#: ../src/usb/USBScanPage.cpp:386
msgid "Rilevato disco senza partizione montabile, uso: "
msgstr "Detected disk without mountable partition, using: "
#: ../src/usb/USBScanPage.cpp:389
msgid "Nessuna partizione valida trovata su "
msgstr "No valid partition found on "
#: ../src/usb/USBScanPage.cpp:397
msgid "Device già montato: "
msgstr "Device already mounted: "
#: ../src/usb/USBScanPage.cpp:423
msgid "Mount output: "
msgstr "Mount output: "
#: ../src/usb/USBScanPage.cpp:427
msgid "Errore udisksctl: "
msgstr "udisksctl error: "
#: ../src/usb/USBScanPage.cpp:432
msgid "Non è un filesystem montabile: "
msgstr "Not a mountable filesystem: "
#: ../src/usb/USBScanPage.cpp:442
msgid "Output udisksctl non interpretabile."
msgstr "udisksctl output not interpretable."
#: ../src/usb/USBScanPage.cpp:459
msgid "Mountpoint non valido o inesistente: "
msgstr "Invalid or non-existent mountpoint: "
#: ../src/usb/USBScanPage.cpp:467
msgid "Eccezione montaggio: "
msgstr "Mount exception: "
#: ../src/usb/USBScanPage.cpp:480
msgid "Device non trovato: "
msgstr "Device not found: "
#: ../src/usb/USBScanPage.cpp:485
msgid "Scansione già in corso per device: "
msgstr "Scan already in progress for device: "
#: ../src/usb/USBScanPage.cpp:489
msgid "Avvio scansione USB: "
msgstr "Starting USB scan: "
#: ../src/usb/USBScanPage.cpp:498
msgid "Errore: impossibile montare il dispositivo USB."
msgstr "Error: unable to mount the USB device."
#: ../src/usb/USBScanPage.cpp:621
msgid "Errore invio D-Bus alert: "
msgstr "Error sending D-Bus alert: "
#: ../src/usb/USBScanPage.cpp:651
msgid "=========== RISULTATO SCANSIONE ===========\n"
msgstr "=========== SCAN RESULT ===========\n"
#: ../src/usb/USBScanPage.cpp:653
msgid "File infetti: "
msgstr "Infected files: "
#: ../src/usb/USBScanPage.cpp:657
msgid "---- FILE INFETTI ----\n"
msgstr "---- INFECTED FILES ----\n"
#: ../src/usb/USBScanPage.cpp:662
msgid ""
"Nessuna minaccia rilevata.\n"
"\n"
msgstr ""
"No threats detected.\n"
"\n"
#: ../src/usb/USBScanPage.cpp:665
msgid "---- OUTPUT COMPLETO ----\n"
msgstr "---- FULL OUTPUT ----\n"
#: ../src/usb/USBScanPage.cpp:694
msgid "[ResultDialog] CSS error: "
msgstr "[ResultDialog] CSS error: "
#: ../src/usb/USBScanPage.cpp:729
msgid "Scansione USB completata"
msgstr "USB scan completed"
#: ../src/usb/USBScanPage.cpp:755
msgid ""
"Minacce rilevate durante la scansione.\n"
"Verifica la quarantena."
msgstr ""
"Threats detected during the scan.\n"
"Check the quarantine."
#: ../src/usb/USBScanPage.cpp:756
msgid "La scansione si è conclusa senza rilevare minacce."
msgstr "The scan completed without detecting any threats."
#: ../src/usb/USBScanPage.cpp:764 ../src/SambaPage.cpp:472
msgid "Chiudi"
msgstr "Close"
#: ../src/usb/USBScanPage.cpp:808
msgid "Collegata periferica: "
msgstr "Device connected: "
#: ../src/usb/USBScanPage.cpp:820
msgid "Avvio scansione richiesta dall’utente per: "
msgstr "Starting user-requested scan for: "
#: ../src/usb/USBScanPage.cpp:825
msgid "Scansione USB annullata per: "
msgstr "USB scan cancelled for: "
#: ../src/usb/USBScanPage.cpp:850
msgid "Rimossa periferica: "
msgstr "Device removed: "
#: ../src/usb/USBScanPage.cpp:955
msgid "(Nessun log disponibile)"
msgstr "(No log available)"
#: ../src/payment_secure/BastionGuard-secure.cpp:108
msgid "[BastionGuard-secure] ⚠ payments.json non trovato: "
msgstr "[BastionGuard-secure] ⚠ payments.json not found: "
#: ../src/payment_secure/BastionGuard-secure.cpp:114
msgid "[BastionGuard-secure] ⚠ Impossibile aprire: "
msgstr "[BastionGuard-secure] ⚠ Unable to open: "
#: ../src/payment_secure/BastionGuard-secure.cpp:123
msgid "[BastionGuard-secure] ❌ Errore parsing JSON (%1): %2"
msgstr "[BastionGuard-secure] ❌ JSON parsing error (%1): %2"
#: ../src/payment_secure/BastionGuard-secure.cpp:132
msgid ""
"[BastionGuard-secure] ⚠ payments.json deve essere un oggetto con chiave "
"\"list\"."
msgstr ""
"[BastionGuard-secure] ⚠ payments.json must be an object with key \"list\"."
#: ../src/payment_secure/BastionGuard-secure.cpp:139
msgid ""
"[BastionGuard-secure] ⚠ payments.json: chiave \"list\" mancante o non "
"array.\n"
msgstr ""
"[BastionGuard-secure] ⚠ payments.json: missing or non-array \"list\" key.\n"
#: ../src/payment_secure/BastionGuard-secure.cpp:149
msgid "[BastionGuard-secure] ✅ Caricati "
msgstr "[BastionGuard-secure] ✅ Loaded "
#: ../src/payment_secure/BastionGuard-secure.cpp:150
msgid " domini da payments.json (list)\n"
msgstr " domains from payments.json (list)\n"
#: ../src/payment_secure/BastionGuard-secure.cpp:191
msgid "[BastionGuard-secure] ⚠ Nessun dominio presente in payments.json.\n"
msgstr "[BastionGuard-secure] ⚠ No domains present in payments.json.\n"
#: ../src/payment_secure/BastionGuard-secure.cpp:201
msgid "[BastionGuard-secure] ⚠ URL vuoto.\n"
msgstr "[BastionGuard-secure] ⚠ Empty URL.\n"
#: ../src/payment_secure/BastionGuard-secure.cpp:207
msgid "[BastionGuard-secure] ❌ Impossibile estrarre dominio da: "
msgstr "[BastionGuard-secure] ❌ Unable to extract domain from: "
#: ../src/payment_secure/BastionGuard-secure.cpp:213
msgid "[BastionGuard-secure] 🟢 Dominio consentito (payments.json): "
msgstr "[BastionGuard-secure] 🟢 Allowed domain (payments.json): "
#: ../src/payment_secure/BastionGuard-secure.cpp:214
msgid "[BastionGuard-secure] 🔐 Avvio SecureBrowser (CEF)...\n"
msgstr "[BastionGuard-secure] 🔐 Starting SecureBrowser (CEF)...\n"
#: ../src/payment_secure/BastionGuard-secure.cpp:219
msgid "[BastionGuard-secure] 🔴 Dominio NON presente in payments.json: "
msgstr "[BastionGuard-secure] 🔴 Domain NOT present in payments.json: "
#: ../src/payment_secure/BastionGuard-secure.cpp:220
msgid "[BastionGuard-secure] → Apertura nel browser di sistema.\n"
msgstr "[BastionGuard-secure] → Opening in system browser.\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:33
msgid "[BastionGuard-secure] Sessione Wayland rilevata → backend Wayland.\n"
msgstr "[BastionGuard-secure] Wayland session detected → Wayland backend.\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:37
msgid "[BastionGuard-secure] Sessione X11 rilevata → backend X11.\n"
msgstr "[BastionGuard-secure] X11 session detected → X11 backend.\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:41
msgid ""
"[BastionGuard-secure] Nessuna sessione grafica rilevata → fallback X11.\n"
msgstr ""
"[BastionGuard-secure] No graphical session detected → falling back to X11.\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:50
msgid ""
"[BastionGuard-secure] Forzo rendering software (LIBGL_ALWAYS_SOFTWARE=1)\n"
msgstr ""
"[BastionGuard-secure] Forcing software rendering (LIBGL_ALWAYS_SOFTWARE=1)\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:95
msgid "[BastionGuard-secure] HOME non impostata.\n"
msgstr "[BastionGuard-secure] HOME not set.\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:179
msgid ""
"[BastionGuard-secure] Bypass dnsmasq disabilitato (BASTIONGUARD_NO_BWRAP=1)\n"
msgstr ""
"[BastionGuard-secure] dnsmasq bypass disabled (BASTIONGUARD_NO_BWRAP=1)\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:186
msgid "Usage: BastionGuard-secure <url>\n"
msgstr "Usage: BastionGuard-secure <url>\n"
#: ../src/payment_secure/BastionGuard-secure-cli.cpp:191
msgid "[BastionGuard-secure] URL richiesto: "
msgstr "[BastionGuard-secure] Requested URL: "
#: ../src/payment_secure/BastionGuard-secure-main.cpp:78
msgid "Seleziona un sito sicuro per i pagamenti/e-commerce:"
msgstr "Select a safe site for payments/e-commerce:"
#: ../src/payment_secure/BastionGuard-secure-main.cpp:94
msgid ""
"La lista proviene da ~/.config/BastionGuard/payments.json (chiave: \"list\")."
msgstr ""
"The list comes from ~/.config/BastionGuard/payments.json (key: \"list\")."
#: ../src/payment_secure/BastionGuard-secure-main.cpp:237
msgid "Seleziona un elemento valido."
msgstr "Select a valid item."
#: ../src/payment_secure/BastionGuard-secure-main.cpp:243
msgid "Dominio non valido."
msgstr "Invalid domain."
#: ../src/main.cpp:93
msgid "[Main] ⚠️ HOME non trovato, salto install wrapper"
msgstr "[Main] ⚠️ HOME not found, skipping wrapper installation"
#: ../src/main.cpp:108
msgid "[Main] ⚠️ Errore creando %1: %2"
msgstr "[Main] ⚠️ Error creating %1: %2"
#: ../src/main.cpp:135
msgid "[Main] 🔗 Creato symlink: %1 → %2"
msgstr "[Main] 🔗 Created symlink: %1 → %2"
#: ../src/main.cpp:138
msgid "[Main] ⚠️ Impossibile creare symlink %1: %2"
msgstr "[Main] ⚠️ Unable to create symlink %1: %2"
#: ../src/main.cpp:142
msgid "[Main] 🔁 Symlink già presente: %1 → %2"
msgstr "[Main] 🔁 Symlink already exists: %1 → %2"
#: ../src/main.cpp:169
msgid "[Main] ⚙️ Aggiornato %1"
msgstr "[Main] ⚙️ Updated %1"
#: ../src/main.cpp:180
msgid "[Main] ✅ PATH aggiornato per sessione corrente"
msgstr "[Main] ✅ PATH updated for current session"
#: ../src/main.cpp:184
msgid "[Main] ⚠️ Errore ensureUserWrapperInstalled(): %1"
msgstr "[Main] ⚠️ Error ensureUserWrapperInstalled(): %1"
#: ../src/main.cpp:253
msgid "BastionGuard in esecuzione"
msgstr "BastionGuard is running"
#: ../src/main.cpp:267
msgid "[TrayIcon] Quit richiesto"
msgstr "[TrayIcon] Quit requested"
#: ../src/main.cpp:308
msgid "[Lang] Config caricata da "
msgstr "[Lang] Config loaded from "
#: ../src/main.cpp:310
msgid "[Lang] Nessuna config trovata, uso locale di sistema"
msgstr "[Lang] No config found, using system locale"
#: ../src/main.cpp:351
msgid "Avvio aggiornamento blacklist (modalità headless)..."
msgstr "Starting blacklist update (headless mode)..."
#: ../src/main.cpp:355
msgid "✔ Blacklist aggiornata con successo."
msgstr "✔ Blacklist successfully updated."
#: ../src/main.cpp:358
msgid "❌ Errore durante l'aggiornamento blacklist."
msgstr "❌ Error during blacklist update."
#: ../src/main.cpp:362
msgid "Eccezione durante updatePhishLists(): "
msgstr "Exception during updatePhishLists(): "
#: ../src/main.cpp:371
msgid "[BastionGuard] Avvio aggiornamento SaneSecurity (modalità headless)..."
msgstr "[BastionGuard] Starting SaneSecurity update (headless mode)..."
#: ../src/main.cpp:377
msgid "[BastionGuard] ✔ Aggiornamento SaneSecurity completato."
msgstr "[BastionGuard] ✔ SaneSecurity update completed."
#: ../src/main.cpp:380
msgid "[BastionGuard] ❌ Errore durante l'aggiornamento SaneSecurity."
msgstr "[BastionGuard] ❌ Error during SaneSecurity update."
#: ../src/main.cpp:385
msgid "[BastionGuard] ❌ Eccezione durante updateSaneSecurity(): "
msgstr "[BastionGuard] ❌ Exception during updateSaneSecurity(): "
#: ../src/main.cpp:397
msgid ""
"[Main] ❌ Utente 'clamav' non trovato. Lo scanner userà l'utente normale."
msgstr ""
"[Main] ❌ User 'clamav' not found. The scanner will use the normal user."
#: ../src/main.cpp:413
msgid ""
"[Main] 🔐 Processo configurato per lanciare i sottoprocessi come 'clamav'"
msgstr ""
"[Main] 🔐 Process configured to launch subprocesses as 'clamav'"
#: ../src/AboutPage.cpp:118
msgid ""
"© 2025-%1 Calogero Scarnà — BastionGuard™\n"
"BastionGuard è stato depositato il 16/12/2025 presso UIBM (Italia) con il "
"numero 302025000196519.\n"
"Il motore anti-ransomware e anti-phishing è parte integrante della "
"piattaforma di sicurezza.\n"
"Il sistema include la scansione delle periferiche USB,\n"
"scansione delle cartelle samba\n"
"e le funzionalità di blocco di microfono e webcam.\n"
"La protezione comprende la scansione in tempo reale con inotify.\n"
"ClamAV® è un marchio registrato da Cisco\n"
"%2\n"
msgstr ""
"© 2025-%1 Calogero Scarnà — BastionGuard™\n"
"BastionGuard was registered on 16/12/2025 at UIBM (Italy) under number 302025000196519.\n"
"The anti-ransomware and anti-phishing engine is an integral part of the security platform.\n"
"The system includes USB device scanning,\n"
"Samba folder scanning\n"
"and microphone/webcam blocking features.\n"
"Protection includes real-time scanning with inotify.\n"
"ClamAV® is a registered trademark of Cisco\n"
"%2\n"
#: ../src/AboutPage.cpp:140
msgid "Programma"
msgstr "Program"
#: ../src/AboutPage.cpp:145
msgid ""
"Questa applicazione utilizza:\n"
"- ClamAV Antivirus Engine\n"
"- GTK4 / gtkmm-4\n"
"- SysTray / QT6\n"
"- Image / libpng\n"
"- Rules / yara\n"
"- Udev\n"
"- Libudev\n"
"- Nginx\n"
"- Sigc++\n"
"- Libsecret\n"
"- IDN2\n"
"- SQLITE3\n"
"- HYPERSCAN\n"
"- RE2\n"
"- Polkit\n"
"- Nlohmann_json\n"
"- DNSmasq /blocco pagine\n"
"- Antiphishing server/ libsoup\n"
"- Sandbox bancario/ chromium sandbox (CEF)\n"
"- MISP lista per le banche\n"
msgstr ""
"This application uses:\n"
"- ClamAV Antivirus Engine\n"
"- GTK4 / gtkmm-4\n"
"- SysTray / QT6\n"
"- Image / libpng\n"
"- Rules / yara\n"
"- Udev\n"
"- Libudev\n"
"- Nginx\n"
"- Sigc++\n"
"- Libsecret\n"
"- IDN2\n"
"- SQLITE3\n"
"- HYPERSCAN\n"
"- RE2\n"
"- Polkit\n"
"- Nlohmann_json\n"
"- DNSmasq / page blocking\n"
"- Antiphishing server / libsoup\n"
"- Banking sandbox / chromium sandbox (CEF)\n"
"- MISP list for banks\n"
#: ../src/AboutPage.cpp:169
msgid "Terze Parti"
msgstr "Third Parties"
#: ../src/AboutPage.cpp:189
msgid "Licenza"
msgstr "License"
#: ../src/AboutPage.cpp:209
msgid "Database"
msgstr "Database"
#: ../src/AboutPage.cpp:237
msgid ""
"GNU GPL v3 license text not found.\n"
"Assicurati che il file COPYING sia incluso nel progetto o che la tua "
"distribuzione fornisca /usr/share/common-licenses/GPL-3."
msgstr ""
"GNU GPL v3 license text not found.\n"
"Ensure that the COPYING file is included in the project or that your "
"distribution provides /usr/share/common-licenses/GPL-3."
#: ../src/AboutPage.cpp:247
msgid "Directory /var/lib/clamav non trovata.\n"
msgstr "/var/lib/clamav directory not found.\n"
#: ../src/AboutPage.cpp:250
msgid ""
"📁 Database ClamAV trovati in /var/lib/clamav\n"
"\n"
msgstr ""
"📁 ClamAV databases found in /var/lib/clamav\n"
"\n"
#: ../src/AboutPage.cpp:262
msgid " (database ufficiale ClamAV)\n"
msgstr " (official ClamAV database)\n"
#: ../src/pac/PacManager.cpp:45 ../src/pac/PacManager.cpp:64
msgid "systemctl non disponibile"
msgstr "systemctl not available"
#: ../src/pac/PacManager.cpp:52
msgid "bastionguard-pacd avviato (systemd --user)"
msgstr "bastionguard-pacd started (systemd --user)"
#: ../src/pac/PacManager.cpp:56
msgid "Impossibile avviare bastionguard-pacd (systemd --user)"
msgstr "Unable to start bastionguard-pacd (systemd --user)"
#: ../src/pac/PacManager.cpp:71
msgid "bastionguard-pacd fermato (systemd --user)"
msgstr "bastionguard-pacd stopped (systemd --user)"
#: ../src/pac/PacManager.cpp:113 ../src/pac/PacManager.cpp:136
msgid "gsettings non disponibile"
msgstr "gsettings not available"
#: ../src/pac/PacManager.cpp:124
msgid "Proxy GNOME impostato su AUTO (PAC)"
msgstr "GNOME proxy set to AUTO (PAC)"
#: ../src/pac/PacManager.cpp:128
msgid "Impossibile impostare proxy GNOME via gsettings"
msgstr "Unable to set GNOME proxy via gsettings"
#: ../src/pac/PacManager.cpp:144
msgid "Proxy GNOME ripristinato a NONE"
msgstr "GNOME proxy restored to NONE"
#: ../src/pac/PacManager.cpp:147
msgid "Impossibile disabilitare proxy GNOME"
msgstr "Unable to disable GNOME proxy"
#: ../src/pac/PacManager.cpp:178
msgid ""
"Fallback headless: environment.d impostato (richiede relogin/riavvio "
"sessione)"
msgstr ""
"Headless fallback: environment.d set (requires relogin/session restart)"
#: ../src/pac/PacManager.cpp:181
msgid "Impossibile scrivere environment.d fallback"
msgstr "Unable to write fallback environment.d"
#: ../src/pac/PacManager.cpp:192
msgid "Fallback headless: environment.d rimosso"
msgstr "Headless fallback: environment.d removed"
#: ../src/pac/PacManager.cpp:195
msgid "Impossibile rimuovere environment.d fallback"
msgstr "Unable to remove fallback environment.d"
#: ../src/privhelper/bastionguard_privhelper.cpp:87
msgid "Errore disabilitando nodo PipeWire id="
msgstr "Error disabling PipeWire node id="
#: ../src/privhelper/bastionguard_privhelper.cpp:126
msgid "Errore riabilitando nodo PipeWire id="
msgstr "Error re-enabling PipeWire node id="
#: ../src/privhelper/bastionguard_privhelper.cpp:143
msgid "Errore: questo helper deve essere eseguito come root.\n"
msgstr "Error: this helper must be run as root.\n"
#: ../src/privhelper/bastionguard_privhelper.cpp:161
#: ../src/privhelper/bastionguard_privhelper.cpp:172
msgid "Comando non valido: "
msgstr "Invalid command: "
#: ../src/privhelper/bastionguard-firewall.cpp:39
msgid "[Firewall] Impossibile aprire blacklist: "
msgstr "[Firewall] Unable to open blacklist: "
#: ../src/privhelper/bastionguard-firewall.cpp:122
msgid "[Firewall] Deve essere eseguito come root.\n"
msgstr "[Firewall] Must be run as root.\n"
#: ../src/privhelper/bastionguard-firewall.cpp:136
msgid "[Firewall] Regole rimosse.\n"
msgstr "[Firewall] Rules removed.\n"
#: ../src/privhelper/bastionguard-firewall.cpp:141
msgid "[Firewall] Comando non valido: "
msgstr "[Firewall] Invalid command: "
#: ../src/privhelper/bastionguard-firewall.cpp:150
msgid "[Firewall] Blacklist vuota o non valida.\n"
msgstr "[Firewall] Blacklist empty or invalid.\n"
#: ../src/privhelper/bastionguard-firewall.cpp:161
msgid "[Firewall] Regole applicate ("
msgstr "[Firewall] Rules applied ("
#: ../src/privhelper/bastionguard-firewall.cpp:166
msgid "[Firewall] Nessun firewall supportato trovato.\n"
msgstr "[Firewall] No supported firewall found.\n"
#: ../src/cef/bastionguard_cef.cpp:191
msgid "[cef] CefInitialize failed\n"
msgstr "[cef] CefInitialize failed\n"
#: ../src/cef/bastionguard_cef.cpp:195
msgid "[cef] initialized (sandbox ON)\n"
msgstr "[cef] initialized (sandbox ON)\n"
#: ../src/cef/bastionguard_cef.cpp:204
msgid "[cef] signal received, exiting\n"
msgstr "[cef] signal received, exiting\n"
#: ../src/cef/bastionguard_cef.cpp:211
msgid "[cef] backend proxy listening on "
msgstr "[cef] backend proxy listening on "
#: ../src/cef/bastionguard_cef.cpp:219
msgid "[cef] proxy fatal: "
msgstr "[cef] proxy fatal: "
#: ../src/SettingsWindow.cpp:10
msgid "Impostazioni BastionGuard"
msgstr "BastionGuard Settings"
#: ../src/AurScan.cpp:50
msgid "📦 AurScan inizializzato"
msgstr "📦 AurScan initialized"
#: ../src/AurScan.cpp:137
msgid "📁 Monitor AUR attivo su: "
msgstr "📁 AUR monitor active on: "
#: ../src/AurScan.cpp:189
msgid "🆕 Nuova directory AUR trovata: "
msgstr "🆕 New AUR directory found: "
#: ../src/AurScan.cpp:204
msgid "🌱 Monitor root AUR attivo su: "
msgstr "🌱 Root AUR monitor active on: "
#: ../src/AurScan.cpp:210
msgid "🐧 Sistema non Arch-based — AUR disattivato"
msgstr "🐧 Non Arch-based system — AUR disabled"
#: ../src/AurScan.cpp:215
msgid "📡 Avvio monitor AUR…"
msgstr "📡 Starting AUR monitor…"
#: ../src/AurScan.cpp:235
msgid "✅ AurScan avviato"
msgstr "✅ AurScan started"
#: ../src/AurScan.cpp:250
msgid "🛑 AurScan disattivato"
msgstr "🛑 AurScan disabled"
#: ../src/AurScan.cpp:264
msgid "❌ Impossibile leggere PKGBUILD: "
msgstr "❌ Unable to read PKGBUILD: "
#: ../src/AurScan.cpp:269
msgid "🔎 Analisi sicurezza PKGBUILD: "
msgstr "🔎 PKGBUILD security analysis: "
#: ../src/AurScan.cpp:287
msgid "Uso di curl come comando"
msgstr "Use of curl as command"
#: ../src/AurScan.cpp:288 ../src/AurScan.cpp:289
msgid "Curl pipato verso shell — RCE"
msgstr "Curl piped to shell — RCE"
#: ../src/AurScan.cpp:290
msgid "Uso di wget come comando"
msgstr "Use of wget as command"
#: ../src/AurScan.cpp:291 ../src/AurScan.cpp:292
msgid "Wget pipato verso shell — RCE"
msgstr "Wget piped to shell — RCE"
#: ../src/AurScan.cpp:293
msgid "Esecuzione dinamica tramite bash -c"
msgstr "Dynamic execution via bash -c"
#: ../src/AurScan.cpp:294
msgid "Permessi 777 pericolosi"
msgstr "Dangerous 777 permissions"
#: ../src/AurScan.cpp:295
msgid "Comando distruttivo rm -rf"
msgstr "Destructive rm -rf command"
#: ../src/AurScan.cpp:296
msgid "Uso improprio di sudo nel PKGBUILD"
msgstr "Improper use of sudo in PKGBUILD"
#: ../src/AurScan.cpp:297
msgid "Pipe verso sh — RCE"
msgstr "Pipe to sh — RCE"
#: ../src/AurScan.cpp:298
msgid "Pipe verso bash — RCE"
msgstr "Pipe to bash — RCE"
#: ../src/AurScan.cpp:299
msgid "Possibile payload codificato e decodificato"
msgstr "Possible encoded and decoded payload"
#: ../src/AurScan.cpp:300
msgid "Install con permessi insicuri"
msgstr "Install with insecure permissions"
#: ../src/AurScan.cpp:301
msgid "Scrittura sospetta in /etc"
msgstr "Suspicious write to /etc"
#: ../src/AurScan.cpp:302
msgid "Scrittura diretta in /usr/bin"
msgstr "Direct write to /usr/bin"
#: ../src/AurScan.cpp:303
msgid "Exec dinamico con python"
msgstr "Dynamic exec with python"
#: ../src/AurScan.cpp:304
msgid "Exec arbitrario"
msgstr "Arbitrary execution"
#: ../src/AurScan.cpp:328
msgid "🚨 Minacce individuate nel PKGBUILD!"
msgstr "🚨 Threats detected in PKGBUILD!"
#: ../src/AurScan.cpp:335
msgid "✅ PKGBUILD pulito."
msgstr "✅ Clean PKGBUILD."
#: ../src/xdg-open.cpp:46
msgid "[BankOpener] ⚠️ URL vuoto.\n"
msgstr "[BankOpener] ⚠️ Empty URL.\n"
#: ../src/xdg-open.cpp:52
msgid "[BankOpener] ❌ Impossibile estrarre dominio da: "
msgstr "[BankOpener] ❌ Unable to extract domain from: "
#: ../src/xdg-open.cpp:61
msgid "[BankOpener] 🧩 Dominio sicuro rilevato: "
msgstr "[BankOpener] 🧩 Secure domain detected: "
#: ../src/xdg-open.cpp:63
msgid "[BankOpener] 🔐 Avvio sandbox CEF (Blink)...\n"
msgstr "[BankOpener] 🔐 Starting CEF sandbox (Blink)...\n"
#: ../src/xdg-open.cpp:69
msgid "[BankOpener] 🌐 Dominio non in lista sicura: "
msgstr "[BankOpener] 🌐 Domain not in safe list: "
#: ../src/xdg-open.cpp:70
msgid "[BankOpener] → Apertura nel browser predefinito.\n"
msgstr "[BankOpener] → Opening in default browser.\n"
#: ../src/xdg-open.cpp:123 ../src/xdg-open.cpp:197
msgid "[BankOpener] ⚠️ Impossibile aprire "
msgstr "[BankOpener] ⚠️ Unable to open "
#: ../src/xdg-open.cpp:129 ../src/xdg-open.cpp:203
msgid "[BankOpener] ⚠️ Errore parsing JSON in "
msgstr "[BankOpener] ⚠️ JSON parsing error in "
#: ../src/xdg-open.cpp:162
msgid "[BankOpener] ⚠️ Nessun dominio caricato da liste.\n"
msgstr "[BankOpener] ⚠️ No domains loaded from lists.\n"
#: ../src/xdg-open.cpp:238
msgid "[BankOpener] ✅ Domini pagamenti caricati: "
msgstr "[BankOpener] ✅ Payment domains loaded: "
#: ../src/SambaPage.cpp:53
msgid "<b>Abilita scansione Samba</b>"
msgstr "<b>Enable Samba scanning</b>"
#: ../src/SambaPage.cpp:75
msgid "Percorso"
msgstr "Path"
#: ../src/SambaPage.cpp:95
msgid "Scansiona ora"
msgstr "Scan now"
#: ../src/SambaPage.cpp:166
msgid "Configurazione Samba salvata correttamente."
msgstr "Samba configuration saved successfully."
#: ../src/SambaPage.cpp:172
msgid "Configurazione salvata"
msgstr "Configuration saved"
#: ../src/SambaPage.cpp:246
msgid "<b>Aggiungi percorso SMB</b>"
msgstr "<b>Add SMB path</b>"
#: ../src/SambaPage.cpp:257
msgid "Username (opzionale)"
msgstr "Username (optional)"
#: ../src/SambaPage.cpp:260
msgid "Password (opzionale)"
msgstr "Password (optional)"
#: ../src/SambaPage.cpp:271
msgid ""
"<i>Nota: in caso di rilevamento malware su file remoti,\n"
"sarà necessario intervenire manualmente per la rimozione.</i>"
msgstr ""
"<i>Note: in case of malware detection on remote files,\n"
"manual intervention will be required for removal.</i>"
#: ../src/SambaPage.cpp:314
msgid "Percorso SMB non valido:\n"
msgstr "Invalid SMB path:\n"
#: ../src/SambaPage.cpp:425
msgid "Scansione Samba avviata…"
msgstr "Samba scan started…"
#: ../src/SambaPage.cpp:430 ../src/SambaPage.cpp:526
msgid "File corrente: --"
msgstr "Current file: --"
#: ../src/SambaPage.cpp:469
msgid "Interrompi scansione"
msgstr "Stop scan"
#: ../src/SambaPage.cpp:518
msgid ""
"Scansione completata.\n"
"File analizzati: %1\n"
"File infetti: %2"
msgstr ""
"Scan completed.\n"
"Files analyzed: %1\n"
"Infected files: %2"
#: ../src/SambaPage.cpp:556
msgid "File corrente: "
msgstr "Current file: "
#: ../src/Quarantine.cpp:69
msgid "❌ File inesistente: "
msgstr "❌ Non-existent file: "
#: ../src/Quarantine.cpp:87
msgid "❌ Errore: impossibile creare il file meta in "
msgstr "❌ Error: unable to create meta file in "
#: ../src/Quarantine.cpp:100
msgid "DEBUG move(): cross-device link, uso copy+remove\n"
msgstr "DEBUG move(): cross-device link, using copy+remove\n"
#: ../src/Quarantine.cpp:105
msgid "❌ Errore copia in quarantena: "
msgstr "❌ Error copying to quarantine: "
#: ../src/Quarantine.cpp:114
msgid "⚠ Impossibile rimuovere il file originale: "
msgstr "⚠ Unable to remove original file: "
#: ../src/Quarantine.cpp:120 ../src/Quarantine.cpp:131
msgid "❌ Errore spostamento quarantena: "
msgstr "❌ Quarantine move error: "
#: ../src/Quarantine.cpp:127
msgid "✔ File spostato in quarantena: "
msgstr "✔ File moved to quarantine: "
#: ../src/Quarantine.cpp:143
msgid "❌ Ripristino impossibile: metadata mancante per "
msgstr "❌ Restoration impossible: missing metadata for "
#: ../src/Quarantine.cpp:155
msgid "❌ Ripristino impossibile: metadata vuoto o corrotto in "
msgstr "❌ Restoration impossible: empty or corrupted metadata in "
#: ../src/Quarantine.cpp:164
msgid "❌ Ripristino impossibile: file in quarantena mancante "
msgstr "❌ Restoration impossible: missing file in quarantine "
#: ../src/Quarantine.cpp:189
msgid "DEBUG restore(): cross-device link, uso copy+remove\n"
msgstr "DEBUG restore(): cross-device link, using copy+remove\n"
#: ../src/Quarantine.cpp:194
msgid "❌ Errore copia durante il ripristino: "
msgstr "❌ Error copying during restoration: "
#: ../src/Quarantine.cpp:202
msgid "⚠ Impossibile rimuovere il file in quarantena: "
msgstr "⚠ Unable to remove file from quarantine: "
#: ../src/Quarantine.cpp:207 ../src/Quarantine.cpp:219
msgid "❌ Errore ripristino: "
msgstr "❌ Restoration error: "
#: ../src/Quarantine.cpp:215
msgid "✔ File ripristinato in: "
msgstr "✔ File restored to: "
#: ../src/Quarantine.cpp:234
msgid "✔ File eliminato dalla quarantena: "
msgstr "✔ File deleted from quarantine: "
#: ../src/Quarantine.cpp:237
msgid "❌ Errore eliminazione: "
msgstr "❌ Deletion error: "
#: ../src/PrivacyPage.cpp:53
msgid "🔒 Privacy Webcam / Microfono"
msgstr "🔒 Webcam / Microphone Privacy"
#: ../src/PrivacyPage.cpp:76
msgid "[Privacy] Errore lettura auto_refresh"
msgstr "[Privacy] Error reading auto_refresh"
#: ../src/PrivacyPage.cpp:84
msgid "Abilita/Disabilita Webcam e Microfono"
msgstr "Enable/Disable Webcam and Microphone"
#: ../src/PrivacyPage.cpp:96
msgid "Aggiornamento automatico ogni 5 minuti"
msgstr "Automatic update every 5 minutes"
#: ../src/PrivacyPage.cpp:101
msgid "🔓 Sblocca dispositivi"
msgstr "🔓 Unlock devices"
#: ../src/PrivacyPage.cpp:108
msgid "Richiesto sblocco manuale dei dispositivi"
msgstr "Manual device unlocking required"
#: ../src/PrivacyPage.cpp:142
msgid "📜 Log giornaliero caricato."
msgstr "📜 Daily log loaded."
#: ../src/PrivacyPage.cpp:144 ../src/PrivacyPage.cpp:555
msgid "📝 Nessun log disponibile per oggi."
msgstr "📝 No log available for today."
#: ../src/PrivacyPage.cpp:147
msgid "⚠️ Errore durante il caricamento del log."
msgstr "⚠️ Error loading the log."
#: ../src/PrivacyPage.cpp:157
msgid "⏳ Inizializzazione del servizio privacy..."
msgstr "⏳ Initializing privacy service..."
#: ../src/PrivacyPage.cpp:158
msgid "=== Avvio BastionGuard PrivacyPage ==="
msgstr "=== Starting BastionGuard PrivacyPage ==="
#: ../src/PrivacyPage.cpp:165 ../src/PrivacyPage.cpp:699
msgid "🕵️ Monitoraggio privacy attivo"
msgstr "🕵️ Privacy monitoring active"
#: ../src/PrivacyPage.cpp:177
msgid "=== Arresto monitoraggio privacy ==="
msgstr "=== Stopping privacy monitoring ==="
#: ../src/PrivacyPage.cpp:190
msgid "Avvio automatico del servizio BastionGuard-privacyd..."
msgstr "Automatic start of BastionGuard-privacyd service..."
#: ../src/PrivacyPage.cpp:202
msgid "📷 Webcam/Microfono sbloccati automaticamente"
msgstr "📷 Webcam/Microphone automatically unlocked"
#: ../src/PrivacyPage.cpp:204
msgid "❌ Errore nello sblocco automatico"
msgstr "❌ Error during automatic unlocking"
#: ../src/PrivacyPage.cpp:252
msgid "🕵️ Monitoraggio in tempo reale avviato"
msgstr "🕵️ Real-time monitoring started"
#: ../src/PrivacyPage.cpp:261
msgid "Nuovo accesso rilevato: %1"
msgstr "New access detected: %1"
#: ../src/PrivacyPage.cpp:321
msgid "⚠️ Accesso dispositivo rilevato"
msgstr "⚠️ Device access detected"
#: ../src/PrivacyPage.cpp:371
msgid "<b>%1</b> sta tentando di accedere a webcam o microfono."
msgstr "<b>%1</b> is attempting to access webcam or microphone."
#: ../src/PrivacyPage.cpp:382
msgid "🕒 %1 altri processi in attesa..."
msgstr "🕒 %1 other processes pending..."
#: ../src/PrivacyPage.cpp:393
msgid "✔ Consenti"
msgstr "✔ Allow"
#: ../src/PrivacyPage.cpp:394
msgid "✖ Nega"
msgstr "✖ Deny"
#: ../src/PrivacyPage.cpp:407
msgid "Accesso CONSENTITO a %1"
msgstr "Access ALLOWED to %1"
#: ../src/PrivacyPage.cpp:421
msgid "Accesso NEGATO a %1 — blocco webcam/microfono"
msgstr "Access DENIED to %1 — webcam/microphone blocked"
#: ../src/PrivacyPage.cpp:439
msgid "❌ ERRORE: impossibile applicare il blocco tramite helper!"
msgstr "❌ ERROR: unable to apply block via helper!"
#: ../src/PrivacyPage.cpp:440
msgid "❌ Errore: impossibile bloccare webcam/microfono"
msgstr "❌ Error: unable to block webcam/microphone"
#: ../src/PrivacyPage.cpp:442
msgid "🔒 Webcam/microfono BLOCCATI tramite helper (popup)"
msgstr "🔒 Webcam/microphone BLOCKED via helper (popup)"
#: ../src/PrivacyPage.cpp:443
msgid "🔒 Webcam e microfono bloccati"
msgstr "🔒 Webcam and microphone blocked"
#: ../src/PrivacyPage.cpp:465
msgid "🔄 Aggiornamento elenco processi e log..."
msgstr "🔄 Updating process list and log..."
#: ../src/PrivacyPage.cpp:466
msgid "Aggiornamento manuale avviato"
msgstr "Manual update started"
#: ../src/PrivacyPage.cpp:492
msgid "Auto aggiornamento attivato (salvato in config)"
msgstr "Auto update enabled (saved in config)"
#: ../src/PrivacyPage.cpp:493
msgid "Auto aggiornamento disattivato (salvato in config)"
msgstr "Auto update disabled (saved in config)"
#: ../src/PrivacyPage.cpp:495
msgid "[Privacy] Errore salvataggio auto_refresh: "
msgstr "[Privacy] Error saving auto_refresh: "
#: ../src/PrivacyPage.cpp:500
msgid "⏳ Auto aggiornamento attivo ogni 5 minuti."
msgstr "⏳ Auto update active every 5 minutes."
#: ../src/PrivacyPage.cpp:508
msgid "🛑 Auto aggiornamento disattivato."
msgstr "🛑 Auto update disabled."
#: ../src/PrivacyPage.cpp:525
msgid "Nessun processo sta utilizzando webcam o microfono."
msgstr "No process is currently using webcam or microphone."
#: ../src/PrivacyPage.cpp:527
msgid ""
"📋 Processi attivi:\n"
"\n"
msgstr ""
"📋 Active processes:\n"
"\n"
#: ../src/PrivacyPage.cpp:535
msgid ""
"📜 Log giornaliero:\n"
"\n"
msgstr ""
"📜 Daily log:\n"
"\n"
#: ../src/PrivacyPage.cpp:552
msgid "⚠️ Impossibile leggere il log giornaliero."
msgstr "⚠️ Unable to read daily log."
#: ../src/PrivacyPage.cpp:561
msgid "✅ Aggiornamento completato."
msgstr "✅ Update completed."
#: ../src/PrivacyPage.cpp:565
msgid "Errore update_process_list: "
msgstr "Error update_process_list: "
#: ../src/PrivacyPage.cpp:620
msgid "[Privacy] Errore scrittura log giornaliero."
msgstr "[Privacy] Error writing daily log."
#: ../src/PrivacyPage.cpp:640
msgid "Privacy abilitata"
msgstr "Privacy enabled"
#: ../src/PrivacyPage.cpp:640
msgid "Privacy disabilitata"
msgstr "Privacy disabled"
#: ../src/PrivacyPage.cpp:642
msgid "[Privacy] Errore salvataggio config: "
msgstr "[Privacy] Error saving config: "
#: ../src/PrivacyPage.cpp:655
msgid "[Privacy] Errore caricamento config"
msgstr "[Privacy] Error loading config"
#: ../src/PrivacyPage.cpp:669
msgid "📷 Riattivazione webcam/microfono..."
msgstr "📷 Re-enabling webcam/microphone..."
#: ../src/PrivacyPage.cpp:670
msgid "🔒 Disattivazione webcam/microfono in corso..."
msgstr "🔒 Disabling webcam/microphone..."
#: ../src/PrivacyPage.cpp:672
msgid "Toggle privacy: "
msgstr "Toggle privacy: "
#: ../src/PrivacyPage.cpp:700
msgid "Script OK: UNBLOCK eseguito"
msgstr "Script OK: UNBLOCK executed"
#: ../src/PrivacyPage.cpp:707
msgid "🔕 Privacy monitor disattivato"
msgstr "🔕 Privacy monitor deactivated"
#: ../src/PrivacyPage.cpp:708
msgid "Script OK: BLOCK eseguito"
msgstr "Script OK: BLOCK executed"
#: ../src/PrivacyPage.cpp:716
msgid "ERRORE: esecuzione script privacy fallita"
msgstr "ERROR: privacy script execution failed"
#: ../src/PrivacyPage.cpp:717
msgid "❌ Errore nell'esecuzione dello script."
msgstr "❌ Error executing the script."
#: ../src/PrivacyPage.cpp:738
msgid "🔓 Dispositivi sbloccati manualmente"
msgstr "🔓 Devices manually unlocked"
#: ../src/PrivacyPage.cpp:741
msgid "Webcam e microfono sbloccati"
msgstr "Webcam and microphone unlocked"
#: ../src/PrivacyPage.cpp:743
msgid "❌ Errore durante sblocco manuale"
msgstr "❌ Error during manual unlocking"
#: ../src/PrivacyPage.cpp:744
msgid "❌ Impossibile sbloccare i dispositivi."
msgstr "❌ Unable to unlock devices."
#: ../src/phishing/BastionGuard-daemon.cpp:93
msgid "[BastionGuard-daemon] ✅ Whitelist caricata: "
msgstr "[BastionGuard-daemon] ✅ Whitelist loaded: "
#: ../src/phishing/BastionGuard-daemon.cpp:116
msgid "[BastionGuard-daemon] 📁 Creata directory log: "
msgstr "[BastionGuard-daemon] 📁 Created log directory: "
#: ../src/phishing/BastionGuard-daemon.cpp:121
msgid "[BastionGuard-daemon] Log creato automaticamente.\n"
msgstr "[BastionGuard-daemon] Log created automatically.\n"
#: ../src/phishing/BastionGuard-daemon.cpp:123
msgid "[BastionGuard-daemon] 🧾 Creato file log: "
msgstr "[BastionGuard-daemon] 🧾 Created log file: "
#: ../src/phishing/BastionGuard-daemon.cpp:141
msgid "[BastionGuard-daemon] 🔐 Proprietario impostato su "
msgstr "[BastionGuard-daemon] 🔐 Owner set to "
#: ../src/phishing/BastionGuard-daemon.cpp:144
msgid "[BastionGuard-daemon] ⚠️ Impossibile cambiare owner del log ("
msgstr "[BastionGuard-daemon] ⚠️ Unable to change log owner ("
#: ../src/phishing/BastionGuard-daemon.cpp:148
msgid "[BastionGuard-daemon] ⚠️ Utente '"
msgstr "[BastionGuard-daemon] ⚠️ User '"
#: ../src/phishing/BastionGuard-daemon.cpp:149
msgid "' non trovato: skip chown\n"
msgstr "' not found: skipping chown\n"
#: ../src/phishing/BastionGuard-daemon.cpp:153
msgid "[BastionGuard-daemon] ⚠️ Errore gestione log: "
msgstr "[BastionGuard-daemon] ⚠️ Log management error: "
#: ../src/phishing/BastionGuard-daemon.cpp:175
msgid "[BastionGuard-daemon] 🚀 Avvio del servizio LocalWarningServer..."
msgstr "[BastionGuard-daemon] 🚀 Starting LocalWarningServer service..."
#: ../src/phishing/BastionGuard-daemon.cpp:191
msgid ""
"[BastionGuard-daemon] ⚠️ Permessi insufficienti per aprire porte 81/444.\n"
msgstr ""
"[BastionGuard-daemon] ⚠️ Insufficient permissions to open ports 81/444.\n"
#: ../src/phishing/BastionGuard-daemon.cpp:192
msgid ""
" Esegui: sudo setcap 'cap_net_bind_service=+ep' /usr/bin/BastionGuard-"
"daemon\n"
msgstr ""
" Run: sudo setcap 'cap_net_bind_service=+ep' /usr/bin/BastionGuard-"
"daemon\n"
#: ../src/phishing/BastionGuard-daemon.cpp:209
msgid "[BastionGuard-daemon] ✅ Server attivo su "
msgstr "[BastionGuard-daemon] ✅ Server active on "
#: ../src/phishing/BastionGuard-daemon.cpp:210
msgid " e "
msgstr " and "
#: ../src/phishing/BastionGuard-daemon.cpp:219
msgid "[BastionGuard-daemon] 🟢 Trusted domain rilevato: "
msgstr "[BastionGuard-daemon] 🟢 Trusted domain detected: "
#: ../src/phishing/BastionGuard-daemon.cpp:219
msgid " — bypass redirect.\n"
msgstr " — bypassing redirect.\n"
#: ../src/phishing/BastionGuard-daemon.cpp:221
msgid "[BastionGuard-daemon] 🔴 Sospetto: "
msgstr "[BastionGuard-daemon] 🔴 Suspicious: "
#: ../src/phishing/BastionGuard-daemon.cpp:221
msgid " — instradato verso 127.0.0.2.\n"
msgstr " — routed to 127.0.0.2.\n"
#: ../src/phishing/BastionGuard-daemon.cpp:230
msgid "[BastionGuard-daemon] 🛑 Arresto in corso..."
msgstr "[BastionGuard-daemon] 🛑 Stopping..."
#: ../src/phishing/BastionGuard-daemon.cpp:232
msgid "[BastionGuard-daemon] ✅ Terminato correttamente."
msgstr "[BastionGuard-daemon] ✅ Terminated correctly."
#: ../src/phishing/BastionGuard-daemon.cpp:235
msgid "[BastionGuard-daemon] ❌ Errore fatale: "
msgstr "[BastionGuard-daemon] ❌ Fatal error: "
#: ../src/phishing/BastionGuard-daemon.cpp:239
msgid "[BastionGuard-daemon] ❌ Errore sconosciuto."
msgstr "[BastionGuard-daemon] ❌ Unknown error."
#: ../src/phishing/local_warning_server.cpp:64
msgid "(Log non disponibile)"
msgstr "(Log not available)"
#: ../src/phishing/local_warning_server.cpp:68
msgid "(Log vuoto)"
msgstr "(Empty log)"
#: ../src/phishing/local_warning_server.cpp:86
msgid "(Nessuna attività recente)"
msgstr "(No recent activity)"
#: ../src/phishing/local_warning_server.cpp:193
msgid "[LocalWarningServer] ✅ Whitelist caricata: "
msgstr "[LocalWarningServer] ✅ Whitelist loaded: "
#: ../src/phishing/local_warning_server.cpp:194
msgid " domini trusted\n"
msgstr " trusted domains\n"
#: ../src/phishing/local_warning_server.cpp:232
msgid "[LocalWarningServer] ⚠️ Porta "
msgstr "[LocalWarningServer] ⚠️ Port "
#: ../src/phishing/local_warning_server.cpp:233
msgid " non disponibile: "
msgstr " not available: "
#: ../src/phishing/local_warning_server.cpp:269
msgid "[LocalWarningServer] ❌ Errore creazione SoupServer\n"
msgstr "[LocalWarningServer] ❌ Error creating SoupServer\n"
#: ../src/phishing/local_warning_server.cpp:286
msgid "[LocalWarningServer] TLS error: "
msgstr "[LocalWarningServer] TLS error: "
#: ../src/phishing/local_warning_server.cpp:300
msgid "[LocalWarningServer] ⚠️ Nessuna porta disponibile su "
msgstr "[LocalWarningServer] ⚠️ No available port on "
#: ../src/phishing/local_warning_server.cpp:307
msgid "[LocalWarningServer] ✅ Avviato su "
msgstr "[LocalWarningServer] ✅ Started on "
#: ../src/phishing/local_warning_server.cpp:325
msgid "[LocalWarningServer] 🛑 Arrestato\n"
msgstr "[LocalWarningServer] 🛑 Stopped\n"
#: ../src/phishing/local_warning_server.cpp:342
#: ../src/phishing/local_warning_server.cpp:351
msgid "dominio-sconosciuto"
msgstr "unknown-domain"
#: ../src/phishing/local_warning_server.cpp:375
msgid "Accesso bloccato - BastionGuard DNS"
msgstr "Access blocked - BastionGuard DNS"
#: ../src/phishing/local_warning_server.cpp:413
msgid "Dominio bloccato"
msgstr "Domain blocked"
#: ../src/phishing/local_warning_server.cpp:415
msgid "L'accesso al dominio"
msgstr "Access to the domain"
#: ../src/phishing/local_warning_server.cpp:418
msgid "è stato bloccato dal sistema DNS di BastionGuard (dnsmasq)."
msgstr "has been blocked by the BastionGuard DNS system (dnsmasq)."
#: ../src/phishing/local_warning_server.cpp:420
msgid "Torna al sicuro"
msgstr "Return to safety"
#: ../src/phishing/local_warning_server.cpp:421
msgid "BastionGuard — protezione DNS attiva"
msgstr "BastionGuard — active DNS protection"
#: ../src/phishing/google_safe.cpp:33
msgid ""
"[GoogleSafe] 🛈 Modulo attivo ma disabilitato in questa build (dnsmasq "
"backend)\n"
msgstr ""
"[GoogleSafe] 🛈 Module active but disabled in this build (dnsmasq backend)\n"
#: ../src/phishing/WebProbe.cpp:97
msgid "[WebProbe] ✅ Caricata blocklist da: "
msgstr "[WebProbe] ✅ Blocklist loaded from: "
#: ../src/phishing/WebProbe.cpp:98
msgid " domini)\n"
msgstr " domains)\n"
#: ../src/phishing/WebProbe.cpp:102
msgid "[WebProbe] ⚠️ Nessuna blocklist trovata.\n"
msgstr "[WebProbe] ⚠️ No blocklist found.\n"
#: ../src/phishing/WebProbe.cpp:205
msgid "[WebProbe] ⚠️ DNS ha restituito 127.0.0.2 per "
msgstr "[WebProbe] ⚠️ DNS returned 127.0.0.2 for "
#: ../src/cloud/MalwareBazaar.cpp:30
msgid "[Cloud] Nessun file "
msgstr "[Cloud] No file "
#: ../src/cloud/MalwareBazaar.cpp:30
msgid " trovato.\n"
msgstr " found.\n"
#: ../src/cloud/MalwareBazaar.cpp:41 ../src/cloud/MalwareBazaar.cpp:44
msgid "malware_bazaar_api_key="
msgstr "malware_bazaar_api_key="
#: ../src/cloud/MalwareBazaar.cpp:47
msgid "[Cloud] API key caricata correttamente.\n"
msgstr "[Cloud] API key loaded successfully.\n"
#: ../src/cloud/MalwareBazaar.cpp:49
msgid "[Cloud] API key vuota.\n"
msgstr "[Cloud] Empty API key.\n"
#: ../src/cloud/MalwareBazaar.cpp:126
msgid "[Cloud] Nessuna API key impostata.\n"
msgstr "[Cloud] No API key set.\n"
#: ../src/cloud/MalwareBazaar.cpp:132
msgid "[Cloud] Impossibile inizializzare CURL.\n"
msgstr "[Cloud] Unable to initialize CURL.\n"
#: ../src/cloud/MalwareBazaar.cpp:158
msgid "[Cloud] Curl errore: "
msgstr "[Cloud] Curl error: "
#: ../src/cloud/MalwareBazaar.cpp:164
msgid "[Cloud] JSON non valido\n"
msgstr "[Cloud] Invalid JSON\n"
#: ../src/cloud/MalwareBazaar.cpp:171
msgid "[Cloud] Errore API: "
msgstr "[Cloud] API error: "
#: ../src/cloud/MalwareBazaar.cpp:177
msgid "[Cloud] Nessun dato per questo hash\n"
msgstr "[Cloud] No data for this hash\n"
msgid "DB ClamAV"
msgstr "ClamAV Database"
msgid "Database firme ClamAV"
msgstr "ClamAV signature database"
msgid ""
"Questa sezione mostra le firme presenti nel database ClamAV.\n"
"Le firme personalizzate installate in /var/lib/clamav verranno caricate automaticamente da clamd."
msgstr ""
"This section shows the signatures present in the ClamAV database.\n"
"Custom signatures installed in /var/lib/clamav will be automatically loaded by clamd."
msgid "Percorso database:"
msgstr "Database path:"
msgid "Aggiorna"
msgstr "Update"
msgid "Firme trovate: %1"
msgstr "Signatures found: %1"
msgid "Nessuna firma trovata in /var/lib/clamav"
msgstr "No signatures found in /var/lib/clamav"
#: src/DashboardPage.cpp
msgid "Verifica aggiornamenti..."
msgstr "Checking for updates..."
#: src/DashboardPage.cpp
msgid "Aggiornato"
msgstr "Up to date"
#: src/DashboardPage.cpp
msgid "Aggiornamento disponibile"
msgstr "Update available"
#: src/DashboardPage.cpp
msgid "Impossibile verificare"
msgstr "Unable to check for updates"
msgid "Remoto: %1 (%2)"
msgstr "Remote: %1 (%2)"
msgid "Anti-Phishing avanzate"
msgstr "Advanced Anti-Phishing"
msgid "Gestione Whitelist / Blacklist Anti-Phishing"
msgstr "Anti-Phishing Whitelist / Blacklist Management"
msgid "Cerca in whitelist/blacklist..."
msgstr "Search in whitelist/blacklist..."
msgid "Whitelist (consenti)"
msgstr "Whitelist (allow)"
msgid "Aggiungi a whitelist (dominio o IPv4)"
msgstr "Add to whitelist (domain or IPv4)"
msgid "Blacklist custom (blocca via dnsmasq)"
msgstr "Custom blacklist (block via dnsmasq)"
msgid "Aggiungi a blacklist (dominio o IPv4)"
msgstr "Add to blacklist (domain or IPv4)"
msgid "Salvataggio completato"
msgstr "Save completed"
msgid "Whitelist/Blacklist salvate. Config dnsmasq aggiornata (127.0.0.2) e servizio ricaricato."
msgstr "Whitelist/Blacklist saved. dnsmasq configuration updated (127.0.0.2) and service reloaded."
msgid "Valore non valido"
msgstr "Invalid value"
msgid "Inserisci un dominio valido o un IPv4 valido."
msgstr "Enter a valid domain or a valid IPv4 address."
msgid "Già presente"
msgstr "Already present"
msgid "Questo elemento è già nella whitelist."
msgstr "This item is already in the whitelist."
msgid "Questo elemento è già nella blacklist."
msgstr "This item is already in the blacklist."
msgid "Impossibile salvare la blacklist utente."
msgstr "Unable to save the user blacklist."
msgid "Impossibile creare file temporaneo per dnsmasq."
msgstr "Unable to create temporary file for dnsmasq."
msgid "DNSMasq"
msgstr "DNSMasq"
msgid "Configura dnsmasq per BastionGuard.\n\n• Abilita conf-dir=/etc/dnsmasq.d/,*.conf se manca\n• Crea /etc/dnsmasq.d/BastionGuard.conf con listen-address 127.0.0.1,127.0.0.2\n• Riavvia dnsmasq (se presente)"
msgstr "Configure dnsmasq for BastionGuard.\n\n• Enable conf-dir=/etc/dnsmasq.d/,*.conf if missing\n• Create /etc/dnsmasq.d/BastionGuard.conf with listen-address 127.0.0.1,127.0.0.2\n• Restart dnsmasq (if present)"
msgid "Configura dnsmasq (conf-dir + BastionGuard.conf)"
msgstr "Configure dnsmasq (conf-dir + BastionGuard.conf)"
msgid "Configurazione dnsmasq (conf-dir + BastionGuard.conf)"
msgstr "dnsmasq configuration (conf-dir + BastionGuard.conf)"
msgid "Configurazione dnsmasq"
msgstr "dnsmasq configuration"
msgid "Configuro dnsmasq (conf-dir + BastionGuard.conf)..."
msgstr "Configuring dnsmasq (conf-dir + BastionGuard.conf)..."
msgid "Configuro dnsmasq..."
msgstr "Configuring dnsmasq..."
msgid "OK: dnsmasq configurato."
msgstr "OK: dnsmasq configured."
msgid "ERRORE: dnsmasq non configurato."
msgstr "ERROR: dnsmasq not configured."
msgid "❌ Errore configurazione dnsmasq, codice: "
msgstr "❌ dnsmasq configuration error, code: "
msgid "Eccezione configure_dnsmasq(): "
msgstr "Exception in configure_dnsmasq(): "
msgid "Errore sconosciuto in configure_dnsmasq()."
msgstr "Unknown error in configure_dnsmasq()."
msgid "== BastionGuard dnsmasq setup =="
msgstr "== BastionGuard dnsmasq setup =="
msgid ""
"Benvenuto nel setup iniziale di BastionGuard.\n"
"Questo wizard ti guiderà passo passo nella configurazione iniziale.\n"
"\n"
"Sono previsti 10 passaggi principali:\n"
"1) Configurazione del resolver locale (DNS 127.0.0.1)\n"
"2) Configurazione di DNSMasq per BastionGuard\n"
"3) Apertura delle porte firewall necessarie\n"
"4) Configurazione avanzata del firewall (nftables)\n"
"5) Generazione e installazione della CA di sistema\n"
"6) Configurazione del webserver (porte HTTP/HTTPS)\n"
"7) Installazione del Native Messaging Host per browser\n"
"8) Abilitazione del servizio User Agent\n"
"9) Download della lista delle banche (MISP)\n"
"10) Riepilogo ed esecuzione delle azioni selezionate.\n"
"\n"
"Puoi usare i pulsanti Avanti e Indietro per navigare tra le sezioni."
msgstr ""
"Welcome to the initial BastionGuard setup.\n"
"This wizard will guide you step by step through the initial configuration.\n"
"\n"
"There are 10 main steps:\n"
"1) Configure the local resolver (DNS 127.0.0.1)\n"
"2) Configure DNSMasq for BastionGuard\n"
"3) Open the required firewall ports\n"
"4) Advanced firewall configuration (nftables)\n"
"5) Generate and install the system CA\n"
"6) Configure the web server (HTTP/HTTPS ports)\n"
"7) Install the Native Messaging Host for the browser\n"
"8) Enable the User Agent service\n"
"9) Download the bank list (MISP)\n"
"10) Summary and execution of the selected actions.\n"
"\n"
"You can use the Next and Back buttons to navigate between sections."
msgid "Protezione"
msgstr "Protection"
msgid "Servizi"
msgstr "Services"
msgid "Phishing Scanner"
msgstr "Phishing Scanner"
msgid "Analyze a URL for phishing"
msgstr "Analyze a URL for phishing"
msgid "Check a domain phishing"
msgstr "Check a domain phishing"
msgid "When a destination is not present in our blocklists, BastionGuard applies heuristic page analysis to detect phishing patterns, redirect chains, credential-harvesting forms, obfuscated scripts, and brand impersonation signals."
msgstr "When a destination is not present in our blocklists, BastionGuard applies heuristic page analysis to detect phishing patterns, redirect chains, credential-harvesting forms, obfuscated scripts, and brand impersonation signals."
msgid "Analyze"
msgstr "Analyze"
msgid "Insert a URL to analyze."
msgstr "Insert a URL to analyze."
msgid "The URL format is not valid."
msgstr "The URL format is not valid."
msgid "Analysis started..."
msgstr "Analysis started..."
msgid "Analyzing URL..."
msgstr "Analyzing URL..."
msgid "Starting analysis for:"
msgstr "Starting analysis for:"
msgid "Ready."
msgstr "Ready."
msgid "Unable to contact BastionGuard Security Intelligence."
msgstr "Unable to contact BastionGuard Security Intelligence."
msgid "Remote analysis failed."
msgstr "Remote analysis failed."
msgid "The remote BastionGuard Security Intelligence page did not return valid HTML."
msgstr "The remote BastionGuard Security Intelligence page did not return valid HTML."
msgid "Unexpected response format from remote analyzer."
msgstr "Unexpected response format from remote analyzer."
msgid "Parsing failed."
msgstr "Parsing failed."
msgid "The remote page responded, but no classification block was found."
msgstr "The remote page responded, but no classification block was found."
msgid "Malicious result detected."
msgstr "Malicious result detected."
msgid "Suspicious result detected."
msgstr "Suspicious result detected."
msgid "Analysis complete."
msgstr "Analysis complete."
msgid "Protezione Email"
msgstr "Email Protection"
msgid "Abilita protezione email"
msgstr "Enable email protection"
msgid "Scansiona email in uscita"
msgstr "Scan outgoing email"
msgid "Inserisci firma automatica"
msgstr "Insert automatic signature"
msgid "Pubblica STARTTLS"
msgstr "Publish STARTTLS"
msgid "Abilita listener TLS implicito"
msgstr "Enable implicit TLS listener"
msgid "Nome visualizzato"
msgstr "Display name"
msgid "Ruolo"
msgstr "Role"
msgid "Azienda"
msgstr "Company"
msgid "Telefono"
msgstr "Phone"
msgid "Sito web"
msgstr "Website"
msgid "Logo fisso utilizzato: /usr/share/BastionGuard/data/logo.png"
msgstr "Fixed logo used: /usr/share/BastionGuard/data/logo.png"
msgid "Installa l'estensione BastionGuard per Thunderbird e il native host.\nSe necessario, inserisci la password amministratore per completare l'installazione."
msgstr "Install the BastionGuard extension for Thunderbird and the native host.\nIf required, enter the administrator password to complete the installation."
msgid "Password amministratore"
msgstr "Administrator password"
msgid "Inserisci la password sudo"
msgstr "Enter sudo password"
msgid "Installa estensione Thunderbird"
msgstr "Install Thunderbird extension"
msgid "Pulisci log"
msgstr "Clean logs"
msgid "Script non trovato:\n"
msgstr "Script not found:\n"
msgid "Impossibile avviare lo script di installazione.\n"
msgstr "Unable to start the installation script.\n"
msgid "\n✔ Installazione Thunderbird completata.\n"
msgstr "\n✔ Thunderbird installation completed.\n"
msgid "\n❌ Installazione fallita (exit=%1)\n"
msgstr "\n❌ Installation failed (exit=%1)\n"
msgid "Seleziona i profili SMTP da importare da Thunderbird.\nLe password non sono esportabili: dovrai inserirle manualmente dopo l'importazione."
msgstr "Select the SMTP profiles to import from Thunderbird.\nPasswords cannot be exported: you will need to enter them manually after the import."
msgid "Profili trovati in Thunderbird"
msgstr "Profiles found in Thunderbird"
msgid "Profili attivi (da mail.json)"
msgstr "Active profiles (from mail.json)"
msgid "Email: "
msgstr "Email: "
msgid "smtp_host non valido — inserisci il server SMTP reale"
msgstr "Invalid smtp_host — enter the real SMTP server"
msgid "Server SMTP:"
msgstr "SMTP server:"
msgid "Porta:"
msgstr "Port:"
msgid "Password:"
msgstr "Password:"
msgid "(salvata)"
msgstr "(saved)"
msgid "Inserisci la password SMTP"
msgstr "Enter SMTP password"
msgid "🔍 Scansiona Thunderbird"
msgstr "🔍 Scan Thunderbird"
msgid "❌ Nessun profilo trovato"
msgstr "❌ No profiles found"
msgid "✔ Trovati %1 profili SMTP da Thunderbird"
msgstr "✔ %1 SMTP profiles found in Thunderbird"
msgid "⬇ Importa profili selezionati"
msgstr "⬇ Import selected profiles"
msgid "❌ Nessun profilo da importare. Scansiona prima."
msgstr "❌ No profiles to import. Scan first."
msgid "✔ %1 profili salvati e proxy riavviato."
msgstr "✔ %1 profiles saved and proxy restarted."
msgid "✔ Importati %1 profili — salvataggio fallito, usa 'Salva' manualmente."
msgstr "✔ %1 profiles imported — saving failed, use 'Save' manually."
msgid "Nessun profilo selezionato."
msgstr "No profile selected."
msgid "Generale"
msgstr "General"
msgid "Firma"
msgstr "Signature"
msgid "Profili SMTP"
msgstr "SMTP Profiles"
msgid "Thunderbird"
msgstr "Thunderbird"
msgid "Salva configurazione email"
msgstr "Save email configuration"
msgid "Firma vuota"
msgstr "Empty signature"
msgid "La firma automatica è abilitata ma tutti i campi firma sono vuoti."
msgstr "Automatic signature is enabled but all signature fields are empty."
msgid "Profili SMTP non configurati"
msgstr "SMTP profiles not configured"
msgid "I seguenti profili avevano smtp_host = 127.0.0.1 e non possono essere usati come relay:\n"
msgstr "The following profiles had smtp_host = 127.0.0.1 and cannot be used as a relay:\n"
msgid "\nSono stati salvati senza server SMTP. Aggiorna i campi 'Server SMTP' nel tab Profili SMTP e reimporta."
msgstr "\nThey were saved without an SMTP server. Update the 'SMTP Server' fields in the SMTP Profiles tab and re-import."
msgid "❌ Impossibile salvare la configurazione"
msgstr "❌ Unable to save configuration"
msgid "Errore salvataggio"
msgstr "Save error"
msgid "Impossibile scrivere ~/.config/BastionGuard/mail.json"
msgstr "Unable to write ~/.config/BastionGuard/mail.json"
msgid "✔ Configurazione salvata in ~/.config/BastionGuard/mail.json"
msgstr "✔ Configuration saved in ~/.config/BastionGuard/mail.json"
msgid "✔ %1 profili attivi"
msgstr "✔ %1 active profiles"
msgid "✔ Configurazione email multi-SMTP salvata"
msgstr "✔ Multi-SMTP email configuration saved"
msgid "Email"
msgstr "Email"
msgid "Mail Proxy"
msgstr "Mail Proxy"
msgid "Proxy SMTP locale per protezione email in uscita"
msgstr "Local SMTP proxy for outgoing email protection"
msgid "⏳ Troppi controlli cloud in corso, salto temporaneamente."
msgstr "⏳ Too many cloud checks in progress, temporarily skipping."
msgid "❌ Errore controllo cloud sconosciuto."
msgstr "❌ Unknown cloud check error."
#: first-run-services-window.cpp
msgid "[FirstRun] CA non ancora generata, verrà installata al primo avvio CEF\n"
msgstr "[FirstRun] CA not yet generated, will be installed on first CEF launch\n"
#: first-run-services-window.cpp
msgid "[FirstRun] helper non trovato: "
msgstr "[FirstRun] helper not found: "
#: first-run-services-window.cpp
msgid "[FirstRun] Installazione CA BastionGuard nel trust store...\n"
msgstr "[FirstRun] Installing BastionGuard CA into the trust store...\n"
#: first-run-services-window.cpp
msgid "[FirstRun] ⚠️ pkexec fallito, tentativo sudo...\n"
msgstr "[FirstRun] ⚠️ pkexec failed, attempting sudo...\n"
#: first-run-services-window.cpp
msgid "[FirstRun] ✅ CA installata nel sistema\n"
msgstr "[FirstRun] ✅ CA installed in the system\n"
#: first-run-services-window.cpp
msgid "[FirstRun] ❌ Installazione CA fallita\n"
msgstr "[FirstRun] ❌ CA installation failed\n"
#: first-run-services-window.cpp
msgid "[FirstRun] ✅ NSS: "
msgstr "[FirstRun] ✅ NSS: "
#: first-run-services-window.cpp
msgid "[FirstRun] ✅ NSS profili utente aggiornati\n"
msgstr "[FirstRun] ✅ NSS user profiles updated\n"
#. bank_filter.hpp
#: bank_filter.hpp
msgid "[filter] HOME variable not set\n"
msgstr "[filter] HOME variable not set\n"
#. Translators: %1 = list type (banks/payments), %2 = file path
#: bank_filter.hpp
#, c-format
msgid "[filter] cannot read %s list: %s\n"
msgstr "[filter] cannot read %s list: %s\n"
#. Translators: %1 = number of bank domains, %2 = number of payment domains
#: bank_filter.hpp
#, c-format
msgid "[filter] loaded %zu bank domains, %zu payment domains\n"
msgstr "[filter] loaded %zu bank domains, %zu payment domains\n"
#. block_page.hpp
#: block_page.hpp
msgid "BastionGuard — Protected Session"
msgstr "BastionGuard — Protected Session"
#: block_page.hpp
msgid "Banking institution"
msgstr "Banking institution"
#: block_page.hpp
msgid "Secure payment"
msgstr "Secure payment"
#: block_page.hpp
msgid "Protected session opened"
msgstr "Protected session opened"
#: block_page.hpp
#, c-format
msgid ""
"BastionGuard has opened <strong>%s</strong> in an isolated, protected "
"window.<br><br>This tab has no access to the site. Use the BastionGuard "
"window that just opened."
msgstr ""
"BastionGuard has opened <strong>%s</strong> in an isolated, protected "
"window.<br><br>This tab has no access to the site. Use the BastionGuard "
"window that just opened."
#: block_page.hpp
msgid ""
"💡 You can safely close this tab. The secure session is already active in "
"the sandbox."
msgstr ""
"💡 You can safely close this tab. The secure session is already active in "
"the sandbox."
#: block_page.hpp
msgid "Shield icon"
msgstr "Shield icon"
#: block_page.hpp
msgid "Verified"
msgstr "Verified"
#: block_page.hpp
msgid "en"
msgstr "en"
#. ca_installer.hpp
#: ca_installer.hpp
msgid "[ca-installer] NSS utente aggiornato\n"
msgstr "[ca-installer] NSS user updated\n"
#: ca_installer.hpp
msgid "[ca-installer] ❌ helper non trovato: "
msgstr "[ca-installer] ❌ helper not found: "
#: ca_installer.hpp
msgid "[ca-installer] 🔐 Richiesta autorizzazione installazione CA...\n"
msgstr "[ca-installer] 🔐 Requesting authorization to install CA...\n"
#: ca_installer.hpp
msgid "[ca-installer] ❌ pkexec fallito o rifiutato dall'utente\n"
msgstr "[ca-installer] ❌ pkexec failed or was denied by the user\n"
#: ca_installer.hpp
msgid "[ca-installer] ✅ CA installata nel sistema via pkexec\n"
msgstr "[ca-installer] ✅ CA installed in the system via pkexec\n"
#: ca_installer.hpp
msgid "[ca-installer] ⚠️ Fallback sudo...\n"
msgstr "[ca-installer] ⚠️ Falling back to sudo...\n"
#: ca_installer.hpp
msgid "[ca-installer] ❌ Impossibile installare CA nel sistema\n"
msgstr "[ca-installer] ❌ Unable to install CA in the system\n"
#: ca_installer.hpp
msgid "[ca-installer] ✅ CA già trusted\n"
msgstr "[ca-installer] ✅ CA already trusted\n"
#: ca_installer.hpp
msgid "[ca-installer] ❌ CA source non trovata: "
msgstr "[ca-installer] ❌ CA source not found: "
#: SettingsPage.cpp
msgid "Installazione navigazione sicura"
msgstr "Secure browsing installation"
#: SettingsPage.cpp
msgid "Avvio installazione navigazione sicura...\n"
msgstr "Starting secure browsing installation...\n"
#: SettingsPage.cpp
msgid "Log installazione"
msgstr "Installation log"
#: SettingsPage.cpp
msgid "Chiudi"
msgstr "Close"
#: SettingsPage.cpp
msgid "✔ Navigazione sicura installata"
msgstr "✔ Secure browsing installed"
#: SettingsPage.cpp
msgid "❌ Installazione navigazione sicura fallita"
msgstr "❌ Secure browsing installation failed"
#: SettingsPage.cpp
msgid "Installazione completata"
msgstr "Installation completed"
#: SettingsPage.cpp
msgid "La navigazione sicura è stata installata correttamente.\n\nChiudi il browser e riaprilo."
msgstr "Secure browsing was installed successfully.\n\nClose the browser and reopen it."
#: SettingsPage.cpp
msgid "La navigazione sicura è stata installata, ma il riavvio del servizio BastionGuard-cef non è riuscito.\n\nChiudi il browser e riaprilo."
msgstr "Secure browsing was installed, but restarting the BastionGuard-cef service failed.\n\nClose the browser and reopen it."
#: SettingsPage.cpp
msgid "Errore"
msgstr "Error"
#: SettingsPage.cpp
msgid "Impossibile completare l'installazione della navigazione sicura. Controlla il log nella finestra aperta."
msgstr "Unable to complete the secure browsing installation. Check the log in the opened window."
#: DashoardPage.cpp
msgid "Tema Scuro"
msgstr "Dark Theme"
#: DashoardPage.cpp
msgid "Tema Chiaro"
msgstr "Light Theme"
#: SettingsWindow.cpp
msgid "Domini Pagamenti"
msgstr "Payment Domains"
#: SettingsWindow.cpp
msgid "Bypass Proxy"
msgstr "Proxy Bypass"
# ── build_secure_payments_tab — pulsante "Installazione navigazione sicura" ───
msgid "Installazione navigazione sicura"
msgstr "Secure Browsing Installation"
msgid "Avvio installazione navigazione sicura...\n"
msgstr "Starting secure browsing installation...\n"
msgid "Installazione completata"
msgstr "Installation completed"
msgid ""
"La navigazione sicura è stata installata correttamente.\n"
"\n"
"Chiudi il browser e riaprilo."
msgstr ""
"Secure browsing has been installed successfully.\n"
"\n"
"Close the browser and reopen it."
msgid ""
"La navigazione sicura è stata installata, ma il riavvio del servizio "
"BastionGuard-cef non è riuscito.\n"
"\n"
"Chiudi il browser e riaprilo."
msgstr ""
"Secure browsing has been installed, but restarting the "
"BastionGuard-cef service failed.\n"
"\n"
"Close the browser and reopen it."
msgid "✔ Navigazione sicura installata"
msgstr "✔ Secure browsing installed"
msgid "❌ Installazione navigazione sicura fallita"
msgstr "❌ Secure browsing installation failed"
msgid ""
"Impossibile completare l'installazione della navigazione sicura. "
"Controlla il log nella finestra aperta."
msgstr ""
"Unable to complete the secure browsing installation. "
"Check the log in the opened window."
# ── build_proxy_bypass_tab ────────────────────────────────────────────────────
msgid "🔓 Bypass Proxy"
msgstr "🔓 Proxy Bypass"
msgid ""
"Domini in questa lista bypassano completamente il proxy BastionGuard.\n"
"Il traffico viene inoltrato in tunnel TCP puro trasparente: nessuna\n"
"intercettazione TLS, nessuna sostituzione certificati.\n"
"\n"
"Usare per siti che attivano 2FA o CAPTCHA quando rilevano la presenza del proxy."
msgstr ""
"Domains in this list completely bypass the BastionGuard proxy.\n"
"Traffic is forwarded through a pure transparent TCP tunnel: no\n"
"TLS interception and no certificate replacement.\n"
"\n"
"Use this for sites that trigger 2FA or CAPTCHA when a proxy is detected."
msgid ""
"ℹ️ Anche le banche presenti in banks.json vengono bypassate se inserite qui.\n"
"Rimuoverle dal bypass per ripristinare la protezione sandbox."
msgstr ""
"ℹ️ Banks listed in banks.json will also be bypassed if added here.\n"
"Remove them from the bypass list to restore sandbox protection."
msgid "Domini in bypass:"
msgstr "Bypassed domains:"
msgid "Inserisci dominio (es. banca.it oppure checkout.esempio.com)"
msgstr "Enter a domain (e.g. banca.it or checkout.example.com)"
msgid "Aggiungi"
msgstr "Add"
msgid "Rimuovi"
msgstr "Remove"
msgid "Ripristina"
msgstr "Restore"
msgid "Salva"
msgstr "Save"
msgid "Valore non valido"
msgstr "Invalid value"
msgid "Inserisci un dominio valido (es. banca.it)."
msgstr "Enter a valid domain (e.g. banca.it)."
msgid "➕ Dominio aggiunto — clicca Salva per applicare."
msgstr "➕ Domain added — click Save to apply."
msgid "🗑 Dominio rimosso — clicca Salva per applicare."
msgstr "🗑 Domain removed — click Save to apply."
msgid "↩️ Lista ripristinata dal file."
msgstr "↩️ List restored from file."
msgid "Errore"
msgstr "Error"
msgid "Impossibile salvare proxy_bypass.json."
msgstr "Unable to save proxy_bypass.json."
msgid "✔ proxy_bypass.json salvato"
msgstr "✔ proxy_bypass.json saved"
msgid "Bypass Proxy"
msgstr "Proxy Bypass"
msgid ""
"[filter] HOME variable not set\n"
msgstr ""
"[filter] HOME variable not set\n"
msgid "banks"
msgstr "banks"
msgid "payments"
msgstr "payments"
msgid "exclusions"
msgstr "exclusions"
msgid "user-banks"
msgstr "user-banks"
msgid "proxy-bypass"
msgstr "proxy-bypass"
msgid ""
"[filter] loaded %zu bank, %zu user-bank, %zu payment, %zu exclusion, %zu proxy-bypass domains\n"
msgstr ""
"[filter] loaded %zu bank, %zu user-bank, %zu payment, %zu exclusion, %zu proxy-bypass domains\n"
msgid ""
"[filter] cannot read %s list: %s\n"
msgstr ""
"[filter] cannot read %s list: %s\n"
msgid ""
"[bastionguard] session closed for root: %s — browser proxy restored\n"
msgstr ""
"[bastionguard] session closed for root: %s — browser proxy restored\n"
msgid ""
"[bastionguard] failed to launch %s for %s\n"
msgstr ""
"[bastionguard] failed to launch %s for %s\n"
msgid ""
"[bastionguard] open_notify exception: %s\n"
msgstr ""
"[bastionguard] open_notify exception: %s\n"
msgid ""
"[bastionguard] open_notify unknown exception\n"
msgstr ""
"[bastionguard] open_notify unknown exception\n"
msgid ""
"[bastionguard] secure domain already active, blocking again: %s (session: %s)\n"
msgstr ""
"[bastionguard] secure domain already active, blocking again: %s (session: %s)\n"
msgid ""
"[bastionguard] %s intercepted: %s (root: %s)\n"
msgstr ""
"[bastionguard] %s intercepted: %s (root: %s)\n"
msgid ""
"[cef] accept error: %s\n"
msgstr ""
"[cef] accept error: %s\n"
msgid ""
"[args] invalid --port value\n"
msgstr ""
"[args] invalid --port value\n"
msgid ""
"[cef] CefInitialize failed\n"
msgstr ""
"[cef] CefInitialize failed\n"
msgid ""
"[cef] initialized (sandbox ON)\n"
msgstr ""
"[cef] initialized (sandbox ON)\n"
msgid ""
"[cef] starting %u I/O threads\n"
msgstr ""
"[cef] starting %u I/O threads\n"
msgid ""
"[cef] signal received, exiting\n"
msgstr ""
"[cef] signal received, exiting\n"
msgid ""
"[filter] SIGHUP: reloading domain lists\n"
msgstr ""
"[filter] SIGHUP: reloading domain lists\n"
msgid ""
"[cef] acceptor error: %s\n"
msgstr ""
"[cef] acceptor error: %s\n"
msgid ""
"[cef] backend proxy listening on %s:%d\n"
msgstr ""
"[cef] backend proxy listening on %s:%d\n"
msgid ""
"[browser-proxy] Firefox profile configured: %s\n"
msgstr ""
"[browser-proxy] Firefox profile configured: %s\n"
msgid ""
"[browser-proxy] Chromium policy written: %s\n"
msgstr ""
"[browser-proxy] Chromium policy written: %s\n"
msgid ""
"[ca-install] certutil not found, skipping Firefox CA install\n"
msgstr ""
"[ca-install] certutil not found, skipping Firefox CA install\n"
msgid ""
"[ca-install] CA installed in Firefox profile: %s\n"
msgstr ""
"[ca-install] CA installed in Firefox profile: %s\n"
msgid ""
"[ca-install] CA installed in ~/.pki/nssdb (Chromium)\n"
msgstr ""
"[ca-install] CA installed in ~/.pki/nssdb (Chromium)\n"
msgid ""
"[ca-install] CA installed in snap Chromium nssdb\n"
msgstr ""
"[ca-install] CA installed in snap Chromium nssdb\n"
msgid ""
"[ca-install] CA cert not found, skipping\n"
msgstr ""
"[ca-install] CA cert not found, skipping\n"
msgid ""
"[ca-install] installing BastionGuard CA in browsers\n"
msgstr ""
"[ca-install] installing BastionGuard CA in browsers\n"
msgid ""
"[browser-proxy] configuring browsers\n"
msgstr ""
"[browser-proxy] configuring browsers\n"
msgid ""
"[browser-proxy] restoring browser proxy settings\n"
msgstr ""
"[browser-proxy] restoring browser proxy settings\n"
msgid ""
"[proxy-config] command failed: %s\n"
msgstr ""
"[proxy-config] command failed: %s\n"
msgid ""
"[proxy-config] setting system proxy → %s:%d\n"
msgstr ""
"[proxy-config] setting system proxy → %s:%d\n"
msgid ""
"[proxy-config] restoring system proxy\n"
msgstr ""
"[proxy-config] restoring system proxy\n"
msgid ""
"[tls-intercept] generazione CA intermedia RSA 4096...\n"
msgstr ""
"[tls-intercept] generazione CA intermedia RSA 4096...\n"
msgid ""
"[tls-intercept] ✅ CA intermedia generata\n"
msgstr ""
"[tls-intercept] ✅ CA intermedia generata\n"
msgid ""
"[tls-intercept] CA copiata in /etc/BastionGuard/certs/\n"
msgstr ""
"[tls-intercept] CA copiata in /etc/BastionGuard/certs/\n"
msgid ""
"[tls-intercept] CA caricata dal disco\n"
msgstr ""
"[tls-intercept] CA caricata dal disco\n"
msgid ""
"[tls-intercept] leaf cert pronto per: %s\n"
msgstr ""
"[tls-intercept] leaf cert pronto per: %s\n"
msgid ""
"[ca-installer] NSS utente aggiornato\n"
msgstr ""
"[ca-installer] NSS utente aggiornato\n"
msgid "[ca-installer] ❌ helper non trovato: "
msgstr "[ca-installer] ❌ helper non trovato: "
msgid ""
"[ca-installer] 🔐 Richiesta autorizzazione installazione CA...\n"
msgstr ""
"[ca-installer] 🔐 Richiesta autorizzazione installazione CA...\n"
msgid ""
"[ca-installer] ❌ pkexec fallito o rifiutato dall'utente\n"
msgstr ""
"[ca-installer] ❌ pkexec fallito o rifiutato dall'utente\n"
msgid ""
"[ca-installer] ✅ CA installata nel sistema via pkexec\n"
msgstr ""
"[ca-installer] ✅ CA installata nel sistema via pkexec\n"
msgid "[ca-installer] ❌ CA intercept non trovata: "
msgstr "[ca-installer] ❌ CA intercept non trovata: "
msgid ""
"[ca-installer] ℹ️ Verrà generata al primo avvio del proxy TLS\n"
msgstr ""
"[ca-installer] ℹ️ Verrà generata al primo avvio del proxy TLS\n"
msgid ""
"[ca-installer] ✅ CA già trusted (sentinel valido)\n"
msgstr ""
"[ca-installer] ✅ CA già trusted (sentinel valido)\n"
msgid ""
"[ca-installer] 🔄 CA nuova o non ancora trusted — installazione...\n"
msgstr ""
"[ca-installer] 🔄 CA nuova o non ancora trusted — installazione...\n"
msgid ""
"[ca-installer] ⚠️ Fallback sudo...\n"
msgstr ""
"[ca-installer] ⚠️ Fallback sudo...\n"
msgid ""
"[ca-installer] ❌ Impossibile installare CA nel sistema\n"
msgstr ""
"[ca-installer] ❌ Impossibile installare CA nel sistema\n"
msgid "Tema dell'interfaccia"
msgstr "Interface theme"
msgid "Seleziona tema"
msgstr "Select theme"
msgid "☀ Chiaro (Light)"
msgstr "☀ Light"
msgid "🌙 Scuro (Dark)"
msgstr "🌙 Dark"
msgid "Tema scuro: sfondo #1a1d23, testo chiaro."
msgstr "Dark theme: background #1a1d23, light text."
msgid "Tema chiaro: sfondo #f8f9fa, testo scuro."
msgstr "Light theme: background #f8f9fa, dark text."
msgid "Applica tema"
msgstr "Apply theme"
msgid ""
"File CSS non trovato:\n"
msgstr ""
"CSS file not found:\n"
msgid ""
"Tema applicato con successo.\n"
"Per un'applicazione completa riavvia BastionGuard."
msgstr ""
"Theme applied successfully.\n"
"For full effect, restart BastionGuard."
msgid ""
"Errore nel caricamento del tema:\n"
msgstr ""
"Error loading theme:\n"
msgid "✅ Lista aggiornata da MISP, whitelist integrata e servizio CEF riavviato."
msgstr "✅ List updated from MISP, whitelist integrated and CEF service restarted."
msgid "⚠ Lista aggiornata da MISP, ma merge whitelist fallito."
msgstr "⚠ List updated from MISP, but whitelist merge failed."
msgid "🛡️ Nuovi domini bancari:\n\n"
msgstr "🛡️ New banking domains:\n\n"
#: PasswordDialogs.cpp:50
msgid "Nome"
msgstr "Name"
#: PasswordDialogs.cpp:53
msgid "Username / Email"
msgstr "Username / Email"
#: PasswordDialogs.cpp:56
msgid "URL / dominio"
msgstr "URL / domain"
#: PasswordDialogs.cpp:59
msgid "tag1, tag2, tag3"
msgstr "tag1, tag2, tag3"
#: PasswordDialogs.cpp:61
msgid "Password"
msgstr "Password"
#: PasswordDialogs.cpp:66 PasswordSearchRow.cpp:36 PasswordVaultView.cpp:167
msgid "Mostra password"
msgstr "Show password"
#: PasswordDialogs.cpp:79
msgid "Note"
msgstr "Notes"
#: PasswordDialogs.cpp:90 PasswordImportDialog.cpp:153
#: PasswordManagerPage.cpp:270 PasswordManagerPage.cpp:321
#: PasswordManagerPage.cpp:452 PasswordVaultView.cpp:250
msgid "Annulla"
msgstr "Cancel"
#: PasswordDialogs.cpp:91 PasswordVaultView.cpp:251
msgid "Salva"
msgstr "Save"
#: PasswordImportDialog.cpp:31
msgid "Seleziona un file CSV esportato da Chrome, Edge, Firefox o Safari."
msgstr "Select a CSV file exported from Chrome, Edge, Firefox, or Safari."
#: PasswordImportDialog.cpp:32
msgid "📂 Scegli file CSV…"
msgstr "📂 Choose CSV file…"
#: PasswordImportDialog.cpp:34
msgid "⬆ Importa credenziali"
msgstr "⬆ Import credentials"
#: PasswordImportDialog.cpp:36
msgid "Importa credenziali da browser"
msgstr "Import credentials from browser"
#: PasswordImportDialog.cpp:83
msgid "Anteprima (prime 50 righe — tutte verranno importate):"
msgstr "Preview (first 50 rows — all will be imported):"
#: PasswordImportDialog.cpp:103 PasswordVaultView.cpp:108
#: PasswordVaultView.cpp:227
msgid "Chiudi"
msgstr "Close"
#: PasswordImportDialog.cpp:138
msgid "Seleziona file CSV"
msgstr "Select CSV file"
#: PasswordImportDialog.cpp:143 PasswordVaultView.cpp:246
msgid "File CSV (*.csv)"
msgstr "CSV files (*.csv)"
#: PasswordImportDialog.cpp:149
msgid "Tutti i file"
msgstr "All files"
#: PasswordImportDialog.cpp:154
msgid "Apri"
msgstr "Open"
#: PasswordImportDialog.cpp:203
msgid "Browser: "
msgstr "Browser: "
#: PasswordImportDialog.cpp:205
msgid "Credenziali trovate: "
msgstr "Credentials found: "
#: PasswordImportDialog.cpp:231 PasswordVaultView.cpp:92
msgid "Nome / Sito"
msgstr "Name / Site"
#: PasswordImportDialog.cpp:232 PasswordVaultView.cpp:93
msgid "Username"
msgstr "Username"
#: PasswordImportDialog.cpp:233 PasswordVaultView.cpp:94
msgid "URL"
msgstr "URL"
#: PasswordImportDialog.cpp:268
msgid " altre (tutte verranno importate)"
msgstr " more (all will be imported)"
#: PasswordImportDialog.cpp:287 PasswordImportDialog.cpp:317
msgid "Preparazione: "
msgstr "Preparing: "
#: PasswordImportDialog.cpp:289
msgid " credenziali…"
msgstr " credentials…"
#: PasswordImportDialog.cpp:326
msgid "Salvataggio nel vault…"
msgstr "Saving to vault…"
#: PasswordManagerPage.cpp:36
msgid "🔓 Sblocca vault"
msgstr "🔓 Unlock vault"
#: PasswordManagerPage.cpp:37
msgid "🔒 Blocca"
msgstr "🔒 Lock"
#: PasswordManagerPage.cpp:40
msgid "+ Nuova"
msgstr "+ New"
#: PasswordManagerPage.cpp:41
msgid "⬆ Importa"
msgstr "⬆ Import"
#: PasswordManagerPage.cpp:42
msgid "🗄 Vault"
msgstr "🗄 Vault"
#: PasswordManagerPage.cpp:43
msgid "↺ Aggiorna"
msgstr "↺ Refresh"
#: PasswordManagerPage.cpp:44
msgid "🗑 Elimina tutto"
msgstr "🗑 Delete all"
#: PasswordManagerPage.cpp:123 PasswordManagerPage.cpp:202
msgid "🔒 Vault bloccato"
msgstr "🔒 Vault locked"
#: PasswordManagerPage.cpp:169
msgid "Cerca credenziali..."
msgstr "Search credentials..."
#: PasswordManagerPage.cpp:199
msgid "🔓 Vault sbloccato"
msgstr "🔓 Vault unlocked"
#: PasswordManagerPage.cpp:238
msgid "Impossibile trovare la finestra padre.\n"
msgstr "Unable to find the parent window.\n"
#: PasswordManagerPage.cpp:241
msgid "Crea master password"
msgstr "Create master password"
#: PasswordManagerPage.cpp:246
msgid ""
"Prima configurazione: scegli una master password.\n"
"Minimo 8 caratteri. Non può essere recuperata se dimenticata."
msgstr ""
"First setup: choose a master password.\n"
"Minimum 8 characters. It cannot be recovered if forgotten."
#: PasswordManagerPage.cpp:253
msgid "Nuova master password"
msgstr "New master password"
#: PasswordManagerPage.cpp:258
msgid "Conferma master password"
msgstr "Confirm master password"
#: PasswordManagerPage.cpp:271
msgid "Crea vault"
msgstr "Create vault"
#: PasswordManagerPage.cpp:298
msgid "Le password non coincidono.\n"
msgstr "Passwords do not match.\n"
#: PasswordManagerPage.cpp:300
msgid "La master password deve essere di almeno 8 caratteri.\n"
msgstr "The master password must be at least 8 characters long.\n"
#: PasswordManagerPage.cpp:302
msgid "🔓 Vault creato e sbloccato"
msgstr "🔓 Vault created and unlocked"
#: PasswordManagerPage.cpp:303
msgid "Vault creato. Master password impostata.\n"
msgstr "Vault created. Master password set.\n"
#: PasswordManagerPage.cpp:305
msgid "Errore durante la creazione del vault.\n"
msgstr "Error while creating the vault.\n"
#: PasswordManagerPage.cpp:313
msgid "Sblocca vault"
msgstr "Unlock vault"
#: PasswordManagerPage.cpp:315
msgid "Master password"
msgstr "Master password"
#: PasswordManagerPage.cpp:322
msgid "Sblocca"
msgstr "Unlock"
#: PasswordManagerPage.cpp:328
msgid "🔓 Vault sbloccato — caricamento cache…"
msgstr "🔓 Vault unlocked — loading cache…"
#: PasswordManagerPage.cpp:329
msgid "Vault sbloccato. Precaricamento password in background…\n"
msgstr "Vault unlocked. Preloading passwords in the background…\n"
#: PasswordManagerPage.cpp:335
msgid "Password errata.\n"
msgstr "Incorrect password.\n"
#: PasswordManagerPage.cpp:348 PasswordManagerPage.cpp:483
#: PasswordManagerPage.cpp:501 PasswordManagerPage.cpp:531
msgid "Vault bloccato.\n"
msgstr "Vault locked.\n"
#: PasswordManagerPage.cpp:353 PasswordManagerPage.cpp:421
#: PasswordManagerPage.cpp:430
msgid "Sblocca il vault prima.\n"
msgstr "Unlock the vault first.\n"
#: PasswordManagerPage.cpp:357
msgid "Nuova credenziale"
msgstr "New credential"
#: PasswordManagerPage.cpp:362
msgid "Nome credenziale obbligatorio.\n"
msgstr "Credential name is required.\n"
#: PasswordManagerPage.cpp:368
msgid "Credenziale aggiunta: "
msgstr "Credential added: "
#: PasswordManagerPage.cpp:371
msgid "Errore durante il salvataggio.\n"
msgstr "Error while saving.\n"
#: PasswordManagerPage.cpp:382
msgid "Sblocca il vault prima di importare.\n"
msgstr "Unlock the vault before importing.\n"
#: PasswordManagerPage.cpp:408
msgid "Import completato: "
msgstr "Import completed: "
#: PasswordManagerPage.cpp:409
msgid " importate"
msgstr " imported"
#: PasswordManagerPage.cpp:410
msgid " fallite"
msgstr " failed"
#: PasswordManagerPage.cpp:435
msgid "Nessuna credenziale da eliminare.\n"
msgstr "No credentials to delete.\n"
#: PasswordManagerPage.cpp:438
msgid "Eliminare tutte le credenziali?"
msgstr "Delete all credentials?"
#: PasswordManagerPage.cpp:441
msgid "Questa operazione eliminerà "
msgstr "This operation will delete "
#: PasswordManagerPage.cpp:442
msgid " credenziali e non può essere annullata."
msgstr " credentials and cannot be undone."
#: PasswordManagerPage.cpp:449
msgid "Sei sicuro? L'operazione è irreversibile."
msgstr "Are you sure? This action is irreversible."
#: PasswordManagerPage.cpp:451
msgid "Il file cifrato verrà eliminato definitivamente."
msgstr "The encrypted file will be permanently deleted."
#: PasswordManagerPage.cpp:453
msgid "Sì, elimina tutto"
msgstr "Yes, delete everything"
#: PasswordManagerPage.cpp:460
msgid "Eliminazione in corso…\n"
msgstr "Deleting…\n"
#: PasswordManagerPage.cpp:462
msgid "✔ Tutte le credenziali eliminate.\n"
msgstr "✔ All credentials deleted.\n"
#: PasswordManagerPage.cpp:463 PasswordManagerPage.cpp:545
msgid "Errore durante l'eliminazione.\n"
msgstr "Error during deletion.\n"
#: PasswordManagerPage.cpp:475
msgid "Elenco aggiornato.\n"
msgstr "List updated.\n"
#: PasswordManagerPage.cpp:491
msgid "Password per: "
msgstr "Password for: "
#: PasswordManagerPage.cpp:509
msgid "Modifica credenziale"
msgstr "Edit credential"
#: PasswordManagerPage.cpp:517
msgid "Credenziale aggiornata: "
msgstr "Credential updated: "
#: PasswordManagerPage.cpp:520
msgid "Errore durante l'aggiornamento.\n"
msgstr "Error during update.\n"
#: PasswordManagerPage.cpp:536
msgid "Eliminare la credenziale selezionata?"
msgstr "Delete the selected credential?"
#: PasswordManagerPage.cpp:542
msgid "Credenziale eliminata: "
msgstr "Credential deleted: "
#: PasswordSearchRow.cpp:32
msgid "Utente: "
msgstr "User: "
#: PasswordSearchRow.cpp:33
msgid "URL: "
msgstr "URL: "
#: PasswordSearchRow.cpp:34
msgid "Aggiornato: "
msgstr "Updated: "
#: PasswordSearchRow.cpp:37
msgid "Modifica"
msgstr "Edit"
#: PasswordSearchRow.cpp:38
msgid "Elimina"
msgstr "Delete"
#: PasswordVaultView.cpp:31 PasswordVaultView.cpp:263
msgid "💾 Esporta CSV"
msgstr "💾 Export CSV"
#: PasswordVaultView.cpp:33
msgid "Vault — credenziali salvate"
msgstr "Vault — saved credentials"
#: PasswordVaultView.cpp:59
msgid "Filtra per nome, username, URL…"
msgstr "Filter by name, username, URL…"
#: PasswordVaultView.cpp:95
msgid "Aggiornato"
msgstr "Updated"
#: PasswordVaultView.cpp:166
msgid "👁"
msgstr "👁"
#: PasswordVaultView.cpp:181
msgid " credenziali"
msgstr " credentials"
#: PasswordVaultView.cpp:192
msgid "Dettaglio credenziale"
msgstr "Credential details"
#: PasswordVaultView.cpp:216
msgid "Nome:"
msgstr "Name:"
#: PasswordVaultView.cpp:217
msgid "Username:"
msgstr "Username:"
#: PasswordVaultView.cpp:218
msgid "URL:"
msgstr "URL:"
#: PasswordVaultView.cpp:219
msgid "Password:"
msgstr "Password:"
#: PasswordVaultView.cpp:221
msgid "Note:"
msgstr "Notes:"
#: PasswordVaultView.cpp:222
msgid "Creato:"
msgstr "Created:"
#: PasswordVaultView.cpp:223
msgid "Modificato:"
msgstr "Modified:"
#: PasswordVaultView.cpp:240
msgid "Salva CSV"
msgstr "Save CSV"
#: PasswordVaultView.cpp:259
msgid "⏳ Esportazione…"
msgstr "⏳ Exporting…"
#: PasswordVaultView.cpp:267
msgid "Errore export"
msgstr "Export error"
#: PasswordVaultView.cpp:281
msgid "Export completato"
msgstr "Export completed"
#: PasswordVaultView.cpp:286
msgid " credenziali salvate in:\n"
msgstr " credentials saved in:\n"
#: SecurityBanner.cpp
msgid ""
"<b>Protezione avanzata AES-256-GCM</b> — "
"Le password sono cifrate con AES-256-GCM e la chiave è derivata dalla master password "
"tramite PBKDF2-SHA256 (100.000 iterazioni). Il file cifrato include un tag di "
"autenticazione: qualsiasi manipolazione esterna renderà il vault permanentemente illeggibile."
msgstr ""
"<b>Advanced AES-256-GCM protection</b> — "
"Passwords are encrypted using AES-256-GCM and the key is derived from the master password "
"using PBKDF2-SHA256 (100,000 iterations). The encrypted file includes an authentication "
"tag: any external tampering will render the vault permanently unreadable."
#: SecurityBanner.cpp
msgid ""
"<b>Attenzione:</b> — "
"L'esportazione del vault salva il file CSV con password in chiaro. "
"Salvare il file in un luogo sicuro e non accessibile."
msgstr ""
"<b>Warning:</b> — "
"Exporting the vault saves a CSV file with passwords in plain text. "
"Store the file in a secure location that is not accessible to others."
msgid "Protezione"
msgstr "Protection"
msgid "Sicurezza"
msgstr "Security"
msgid "💾 Backup"
msgstr "💾 Backup"
msgid "🛡 Recovery GRUB"
msgstr "🛡 GRUB Recovery"
msgid "<b>Gestione snapshot BastionGuard</b>\n\nPer creare, eliminare e ripristinare snapshot aprire l'interfaccia grafica dedicata.\n"
msgstr "<b>BastionGuard Snapshot Management</b>\n\nTo create, delete, or restore snapshots, open the dedicated graphical interface.\n"
msgid "🛡 Apri Gestione Backup"
msgstr "🛡 Open Backup Manager"
msgid "<b>BastionGuard Recovery Environment</b>\n\nInstalla una voce GRUB per avviare un sistema Linux minimale isolato e ripristinare snapshot in sicurezza.\n\n<b>⚠ Requisiti:</b>\n • Almeno <b>2 GB</b> di spazio libero sulla partizione <tt>/boot</tt>\n • Connessione internet per il download dei pacchetti Debian\n • La build può richiedere 10–20 minuti"
msgstr "<b>BastionGuard Recovery Environment</b>\n\nInstalls a GRUB entry to boot a minimal isolated Linux system and safely restore snapshots.\n\n<b>⚠ Requirements:</b>\n • At least <b>2 GB</b> of free space on the <tt>/boot</tt> partition\n • Internet connection to download Debian packages\n • The build process may take 10–20 minutes"
msgid "In attesa..."
msgstr "Waiting..."
msgid "🔨 Build filesystem squashfs"
msgstr "🔨 Build squashfs filesystem"
msgid "⬆ Installa voce GRUB"
msgstr "⬆ Install GRUB entry"
msgid "🗑 Rimuovi voce GRUB"
msgstr "🗑 Remove GRUB entry"
msgid "Log operazioni"
msgstr "Operation log"
msgid "Operazione in corso..."
msgstr "Operation in progress..."
msgid "%1 GB"
msgstr "%1 GB"
msgid "%1 MB"
msgstr "%1 MB"
msgid "%1 KB"
msgstr "%1 KB"
msgid "Avvio gestore backup BastionGuard...\n"
msgstr "Starting BastionGuard backup manager...\n"
msgid "Errore durante l'avvio del gestore backup BastionGuard.\n"
msgstr "Error while starting the BastionGuard backup manager.\n"
msgid "<span foreground='#22c55e'>✅ <b>Immagine recovery presente</b></span>\n<small><tt>%1</tt>\nfilesystem.squashfs: %2\nVoce GRUB: %3</small>"
msgstr "<span foreground='#22c55e'>✅ <b>Recovery image present</b></span>\n<small><tt>%1</tt>\nfilesystem.squashfs: %2\nGRUB entry: %3</small>"
msgid "✅ installata"
msgstr "✅ installed"
msgid "⚠ non installata"
msgstr "⚠ not installed"
msgid "<span foreground='#f59e0b'>⚠ <b>Immagine recovery non trovata</b></span>\n<small>Usare \"Build filesystem squashfs\" per crearla.</small>"
msgstr "<span foreground='#f59e0b'>⚠ <b>Recovery image not found</b></span>\n<small>Use \"Build filesystem squashfs\" to create it.</small>"
msgid "Spazio libero su <tt>%1</tt>: <b>%2</b> %3"
msgstr "Free space on <tt>%1</tt>: <b>%2</b> %3"
msgid "<span foreground='#22c55e'>✅ sufficiente</span>"
msgstr "<span foreground='#22c55e'>✅ sufficient</span>"
msgid "<span foreground='#ef4444'>❌ insufficiente (minimo 2 GB)</span>"
msgstr "<span foreground='#ef4444'>❌ insufficient (minimum 2 GB)</span>"
msgid "Spazio disponibile: <i>non rilevato</i>"
msgstr "Available space: <i>not detected</i>"
msgid "==> Avvio build Recovery environment...\n"
msgstr "==> Starting Recovery environment build...\n"
msgid " (può richiedere 10-20 minuti)\n"
msgstr " (may take 10–20 minutes)\n"
msgid "==> Installazione voce GRUB...\n"
msgstr "==> Installing GRUB entry...\n"
msgid "==> Rimozione voce GRUB...\n"
msgstr "==> Removing GRUB entry...\n"
msgid "⚠ Operazione già in corso.\n"
msgstr "⚠ Operation already in progress.\n"
msgid "Errore avvio processo: %1\n"
msgstr "Error starting process: %1\n"
msgid "Errore avvio processo"
msgstr "Error starting process"
msgid "⚠ %1"
msgstr "⚠ %1"
msgid "==> Operazione completata con successo.\n"
msgstr "==> Operation completed successfully.\n"
msgid "Completato — disponibile al prossimo avvio"
msgstr "Completed — available at next boot"
msgid "==> Operazione terminata con errore (codice: %1)\n"
msgstr "==> Operation ended with error (code: %1)\n"
msgid "Operazione fallita (codice %1)"
msgstr "Operation failed (code %1)"
msgid "Aggiornato"
msgstr "Up to date"
# --- Banner attivazione "bloccato" (src/backup/BackupPage.cpp) ---
msgid ""
"<b>Available only with the donation bundle.</b> Backup and Recovery Data are "
"part of the BastionGuard donation bundle and are not available in the "
"Community Edition. Support the project to unlock them."
msgstr ""
"<b>Available only with the donation bundle.</b> Backup and Recovery Data are "
"part of the BastionGuard donation bundle and are not available in the "
"Community Edition. Support the project to unlock them."
# --- Banner attivazione "bloccato" (src/password_manager/PasswordManagerPage.cpp) ---
msgid ""
"<b>Available only with the donation bundle.</b> The Password Manager is part "
"of the BastionGuard donation bundle and is not available in the Community "
"Edition. Support the project to unlock it."
msgstr ""
"<b>Available only with the donation bundle.</b> The Password Manager is part "
"of the BastionGuard donation bundle and is not available in the Community "
"Edition. Support the project to unlock it."
# --- Messaggio di log condiviso (Backup + Password Manager) ---
# (compare in più handler; va tradotto una sola volta)
msgid ""
"This feature is available only with the BastionGuard donation bundle "
"(Community Edition).\n"
msgstr ""
"This feature is available only with the BastionGuard donation bundle "
"(Community Edition).\n"
# --- Tab Activation completa del bundle (src/AboutPage.cpp, build con
# -DBASTIONGUARD_DONATION_BUNDLE=ON). Sono le stringhe visibili nello
# screenshot della tab Activation. ---
msgid "<b>BastionGuard Donation Bundle activation</b>"
msgstr "<b>BastionGuard Donation Bundle activation</b>"
msgid ""
"One BGRD3 donation key unlocks BastionGuard Backup, BastionGuard Password "
"Manager, and BastionGuard Recovery Data on this computer. Copy the IDs "
"below, generate the key from the private portal, then paste the complete "
"BEGIN/END activation block here."
msgstr ""
"One BGRD3 donation key unlocks BastionGuard Backup, BastionGuard Password "
"Manager, and BastionGuard Recovery Data on this computer. Copy the IDs "
"below, generate the key from the private portal, then paste the complete "
"BEGIN/END activation block here."
msgid "Copy activation IDs"
msgstr "Copy activation IDs"
msgid "Refresh IDs with administrator rights"
msgstr "Refresh IDs with administrator rights"
msgid "Activated"
msgstr "Activated"
msgid "Save activation key"
msgstr "Save activation key"
msgid "Change activation key"
msgstr "Change activation key"
msgid "Activation: active"
msgstr "Activation: active"
msgid ""
"BastionGuard Backup, Password Manager, and Recovery Data are unlocked on "
"this computer."
msgstr ""
"BastionGuard Backup, Password Manager, and Recovery Data are unlocked on "
"this computer."
msgid "never"
msgstr "never"
msgid "Activation file: "
msgstr "Activation file: "
msgid ""
"Motherboard serial is not readable without administrator rights. Press "
"Refresh IDs with administrator rights and authorize pkexec."
msgstr ""
"Motherboard serial is not readable without administrator rights. Press "
"Refresh IDs with administrator rights and authorize pkexec."
msgid ""
"Backup and Password Manager remain locked until a valid BGRD3 donation key "
"is saved. The same key also unlocks BastionGuard Recovery Data."
msgstr ""
"Backup and Password Manager remain locked until a valid BGRD3 donation key "
"is saved. The same key also unlocks BastionGuard Recovery Data."
# --- Messaggi degli handler della tab Activation (Copy IDs / Refresh /
# Save / pkexec / clipboard). Usati solo nel build bundle. ---
msgid "/etc/machine-id: "
msgstr "/etc/machine-id: "
msgid "Motherboard serial: "
msgstr "Motherboard serial: "
msgid "Activation engine: "
msgstr "Activation engine: "
msgid "Hardware cache: "
msgstr "Hardware cache: "
msgid "Key format: BGRD3 + KEYID"
msgstr "Key format: BGRD3 + KEYID"
msgid "Required /etc/machine-id: "
msgstr "Required /etc/machine-id: "
msgid "Required motherboard serial: "
msgstr "Required motherboard serial: "
msgid "not readable"
msgstr "not readable"
msgid "Name: "
msgstr "Name: "
msgid "Edition: "
msgstr "Edition: "
msgid "Expires: "
msgstr "Expires: "
msgid "Donation"
msgstr "Donation"
msgid "Donation supporter"
msgstr "Donation supporter"
msgid "Activation: not active"
msgstr "Activation: not active"
msgid "Activation IDs copied to the clipboard."
msgstr "Activation IDs copied to the clipboard."
msgid ""
"Unable to access the system clipboard. Select and copy the values below "
"manually."
msgstr ""
"Unable to access the system clipboard. Select and copy the values below "
"manually."
msgid "Hardware IDs refreshed with administrator rights."
msgstr "Hardware IDs refreshed with administrator rights."
msgid "Unable to refresh hardware IDs with administrator rights."
msgstr "Unable to refresh hardware IDs with administrator rights."
msgid ""
"The application could not refresh the complete hardware IDs through pkexec."
msgstr ""
"The application could not refresh the complete hardware IDs through pkexec."
msgid "Administrator authorization failed or was cancelled."
msgstr "Administrator authorization failed or was cancelled."
msgid "pkexec authorization was cancelled, unavailable, or denied."
msgstr "pkexec authorization was cancelled, unavailable, or denied."
msgid "pkexec may have been cancelled, unavailable, or denied."
msgstr "pkexec may have been cancelled, unavailable, or denied."
msgid "Continuing with currently readable values."
msgstr "Continuing with currently readable values."
msgid "Activation is currently active."
msgstr "Activation is currently active."
msgid ""
"Paste a replacement BGRD3 activation key below, then press Save activation "
"key."
msgstr ""
"Paste a replacement BGRD3 activation key below, then press Save activation "
"key."
msgid ""
"No activation key was pasted. Paste the full BGRD3 BEGIN/END activation "
"block, then press Save activation key."
msgstr ""
"No activation key was pasted. Paste the full BGRD3 BEGIN/END activation "
"block, then press Save activation key."
msgid ""
"The key must be generated with both values shown above and copied "
"completely, including BEGIN and END lines."
msgstr ""
"The key must be generated with both values shown above and copied "
"completely, including BEGIN and END lines."
msgid "The activation key was NOT saved."
msgstr "The activation key was NOT saved."
msgid "Activation failed: "
msgstr "Activation failed: "
msgid "<b>Donation bundle active.</b> Password Manager is unlocked on this computer."
msgstr "<b>Donation bundle active.</b> Password Manager is unlocked on this computer."
msgid "<b>Available only with the donation bundle.</b> The Password Manager is part of the BastionGuard donation bundle and is not available in the Community Edition. Support the project to unlock it."
msgstr "<b>Available only with the donation bundle.</b> The Password Manager is part of the BastionGuard donation bundle and is not available in the Community Edition. Support the project to unlock it."
msgid "Refresh activation"
msgstr "Refresh activation"
msgid "<b>Donation bundle active.</b> Backup and Recovery GRUB tools are unlocked."
msgstr "<b>Donation bundle active.</b> Backup and Recovery GRUB tools are unlocked."
msgid "<b>Available only with the donation bundle.</b> Backup and Recovery Data are part of the BastionGuard donation bundle and are not available in the Community Edition. Support the project to unlock them."
msgstr "<b>Available only with the donation bundle.</b> Backup and Recovery Data are part of the BastionGuard donation bundle and are not available in the Community Edition. Support the project to unlock them."
#: src/vpn/VpnPage.cpp:36
msgid "Pagina VPN inizializzata."
msgstr "VPN page initialized."
#: src/vpn/VpnPage.cpp:40
msgid "⚠ Strumenti WireGuard mancanti: "
msgstr "⚠ Missing WireGuard tools: "
#: src/vpn/VpnPage.cpp:41
msgid ". Installa il pacchetto 'wireguard-tools'."
msgstr ". Install the 'wireguard-tools' package."
#: src/vpn/VpnPage.cpp:82
msgid "VPN WireGuard"
msgstr "WireGuard VPN"
#: src/vpn/VpnPage.cpp:88
msgid "Connettiti al tuo server WireGuard e maschera il tuo IP pubblico."
msgstr "Connect to your WireGuard server and mask your public IP address."
#: src/vpn/VpnPage.cpp:103
msgid "Connessione"
msgstr "Connection"
#: src/vpn/VpnPage.cpp:104
msgid "Configurazione"
msgstr "Configuration"
#: src/vpn/VpnPage.cpp:105
msgid "Kill-switch"
msgstr "Kill switch"
#: src/vpn/VpnPage.cpp:123
msgid "Aggiorna attivazione"
msgstr "Refresh activation"
#: src/vpn/VpnPage.cpp:131
msgid "Log"
msgstr "Log"
#: src/vpn/VpnPage.cpp:152
msgid "Connetti"
msgstr "Connect"
#: src/vpn/VpnPage.cpp:154
msgid "Disconnetti"
msgstr "Disconnect"
#: src/vpn/VpnPage.cpp:162 src/vpn/VpnPage.cpp:353
msgid "Stato: disconnesso"
msgstr "Status: disconnected"
#: src/vpn/VpnPage.cpp:164 src/vpn/VpnPage.cpp:356
msgid "Endpoint: —"
msgstr "Endpoint: —"
#: src/vpn/VpnPage.cpp:172
msgid "IP pubblico"
msgstr "Public IP"
#: src/vpn/VpnPage.cpp:177
msgid "Prima del tunnel: —"
msgstr "Before tunnel: —"
#: src/vpn/VpnPage.cpp:179 src/vpn/VpnPage.cpp:577
msgid "Con tunnel attivo: —"
msgstr "With tunnel active: —"
#: src/vpn/VpnPage.cpp:181
msgid "Aggiorna IP"
msgstr "Refresh IP"
#: src/vpn/VpnPage.cpp:201
msgid "Chiavi del client"
msgstr "Client keys"
#: src/vpn/VpnPage.cpp:207
msgid "(generata localmente)"
msgstr "(generated locally)"
#: src/vpn/VpnPage.cpp:210
msgid "(da comunicare al tuo server)"
msgstr "(to be provided to your server)"
#: src/vpn/VpnPage.cpp:211
msgid "Genera chiavi"
msgstr "Generate keys"
#: src/vpn/VpnPage.cpp:214
msgid "Chiave privata:"
msgstr "Private key:"
#: src/vpn/VpnPage.cpp:215
msgid "Chiave pubblica:"
msgstr "Public key:"
#: src/vpn/VpnPage.cpp:222
msgid "Dati del tuo server"
msgstr "Your server details"
#: src/vpn/VpnPage.cpp:227
msgid "Chiave pubblica del server"
msgstr "Server public key"
#: src/vpn/VpnPage.cpp:228
msgid "es. vpn.miosito.it:51820"
msgstr "e.g. vpn.mysite.com:51820"
#: src/vpn/VpnPage.cpp:229
msgid "es. 10.0.0.2/32"
msgstr "e.g. 10.0.0.2/32"
#: src/vpn/VpnPage.cpp:230
msgid "es. 10.0.0.1 (opzionale)"
msgstr "e.g. 10.0.0.1 (optional)"
#: src/vpn/VpnPage.cpp:231
msgid "0.0.0.0/0, ::/0"
msgstr "0.0.0.0/0, ::/0"
#: src/vpn/VpnPage.cpp:234
msgid "Chiave pubblica server:"
msgstr "Server public key:"
#: src/vpn/VpnPage.cpp:235
msgid "Endpoint (host:porta):"
msgstr "Endpoint (host:port):"
#: src/vpn/VpnPage.cpp:236
msgid "Indirizzo client:"
msgstr "Client address:"
#: src/vpn/VpnPage.cpp:237
msgid "DNS:"
msgstr "DNS:"
#: src/vpn/VpnPage.cpp:238
msgid "AllowedIPs:"
msgstr "AllowedIPs:"
#: src/vpn/VpnPage.cpp:240
msgid "Genera e carica"
msgstr "Generate and load"
#: src/vpn/VpnPage.cpp:250
msgid "In alternativa, importa un file .conf esistente"
msgstr "Alternatively, import an existing .conf file"
#: src/vpn/VpnPage.cpp:257
msgid "/percorso/al/tuo/wg0.conf"
msgstr "/path/to/your/wg0.conf"
#: src/vpn/VpnPage.cpp:258
msgid "Sfoglia…"
msgstr "Browse…"
#: src/vpn/VpnPage.cpp:259
msgid "Importa"
msgstr "Import"
#: src/vpn/VpnPage.cpp:286
msgid "Blocca tutto il traffico se il tunnel cade"
msgstr "Block all traffic if the tunnel drops"
#: src/vpn/VpnPage.cpp:295
msgid ""
"Quando attivo, il traffico in uscita è consentito solo attraverso il tunnel "
"WireGuard. Se la VPN cade, la connessione viene bloccata."
msgstr ""
"When enabled, outgoing traffic is allowed only through the WireGuard tunnel. "
"If the VPN drops, the connection is blocked."
#: src/vpn/VpnPage.cpp:341
msgid "Stato: connesso"
msgstr "Status: connected"
#: src/vpn/VpnPage.cpp:349
msgid "Endpoint: "
msgstr "Endpoint: "
#: src/vpn/VpnPage.cpp:381
msgid ""
"<b>Disponibile solo con il donation bundle.</b> La VPN WireGuard fa parte "
"del bundle BastionGuard e non è disponibile nella Community Edition. "
"Sostieni il progetto per sbloccarla."
msgstr ""
"<b>Available only with the donation bundle.</b> WireGuard VPN is part "
"of the BastionGuard bundle and is not available in the Community Edition. "
"Support the project to unlock it."
#: src/vpn/VpnPage.cpp:421 src/vpn/VpnPage.cpp:454 src/vpn/VpnPage.cpp:508
#: src/vpn/VpnPage.cpp:529 src/vpn/VpnPage.cpp:567 src/vpn/VpnPage.cpp:588
#: src/vpn/VpnPage.cpp:634
msgid ""
"Questa funzione è disponibile solo con il donation bundle (Community "
"Edition)."
msgstr ""
"This feature is available only with the donation bundle (Community "
"Edition)."
#: src/vpn/VpnPage.cpp:425
msgid "Generazione coppia di chiavi…"
msgstr "Generating key pair…"
#: src/vpn/VpnPage.cpp:441
msgid "✗ Generazione chiavi fallita."
msgstr "✗ Key generation failed."
#: src/vpn/VpnPage.cpp:447
msgid "✔ Chiavi generate. Comunica la chiave pubblica al server."
msgstr "✔ Keys generated. Provide the public key to the server."
#: src/vpn/VpnPage.cpp:459
msgid "Genera prima le chiavi del client."
msgstr "Generate the client keys first."
#: src/vpn/VpnPage.cpp:473
msgid "✔ Configurazione caricata. Premi Connetti per attivare il tunnel."
msgstr "✔ Configuration loaded. Press Connect to activate the tunnel."
#: src/vpn/VpnPage.cpp:475
msgid "✗ Configurazione non valida: "
msgstr "✗ Invalid configuration: "
#: src/vpn/VpnPage.cpp:482
msgid "Seleziona configurazione WireGuard"
msgstr "Select WireGuard configuration"
#: src/vpn/VpnPage.cpp:485
msgid "Annulla"
msgstr "Cancel"
#: src/vpn/VpnPage.cpp:486
msgid "Apri"
msgstr "Open"
#: src/vpn/VpnPage.cpp:489
msgid "File WireGuard (*.conf)"
msgstr "WireGuard files (*.conf)"
#: src/vpn/VpnPage.cpp:513
msgid "Nessun file selezionato."
msgstr "No file selected."
#: src/vpn/VpnPage.cpp:517
msgid "✔ Configurazione importata. Premi Connetti per attivare il tunnel."
msgstr "✔ Configuration imported. Press Connect to activate the tunnel."
#: src/vpn/VpnPage.cpp:519
msgid "✗ Import fallito: "
msgstr "✗ Import failed: "
#: src/vpn/VpnPage.cpp:534
msgid ""
"Nessuna configurazione caricata. Importa un file .conf dalla scheda "
"Configurazione, oppure compila i campi e premi \"Genera e carica\"."
msgstr ""
"No configuration loaded. Import a .conf file from the Configuration tab, "
"or fill in the fields and press \"Generate and load\"."
#: src/vpn/VpnPage.cpp:541
msgid "Connessione al server WireGuard…"
msgstr "Connecting to WireGuard server…"
#: src/vpn/VpnPage.cpp:546
msgid "✔ Tunnel attivo."
msgstr "✔ Tunnel active."
#: src/vpn/VpnPage.cpp:554
msgid "Verifica IP pubblico con tunnel…"
msgstr "Checking public IP with tunnel…"
#: src/vpn/VpnPage.cpp:559
msgid "✗ Connessione fallita: "
msgstr "✗ Connection failed: "
#: src/vpn/VpnPage.cpp:571
msgid "Disconnessione…"
msgstr "Disconnecting…"
#: src/vpn/VpnPage.cpp:576
msgid "✔ Tunnel chiuso."
msgstr "✔ Tunnel closed."
#: src/vpn/VpnPage.cpp:579
msgid "✗ Disconnessione fallita: "
msgstr "✗ Disconnection failed: "
#: src/vpn/VpnPage.cpp:609
msgid "Impossibile determinare l'IP pubblico."
msgstr "Unable to determine public IP."
#: src/vpn/VpnPage.cpp:613
msgid "Con tunnel attivo: "
msgstr "With tunnel active: "
#: src/vpn/VpnPage.cpp:616
msgid "✔ IP pubblico mascherato correttamente."
msgstr "✔ Public IP successfully masked."
#: src/vpn/VpnPage.cpp:618
msgid ""
"⚠ L'IP pubblico non è cambiato: verifica AllowedIPs = 0.0.0.0/0, ::/0 e il "
"NAT sul server."
msgstr ""
"⚠ The public IP has not changed: check AllowedIPs = 0.0.0.0/0, ::/0 and "
"NAT on the server."
#: src/vpn/VpnPage.cpp:623
msgid "Prima del tunnel: "
msgstr "Before tunnel: "
#: src/vpn/VpnPage.cpp:639
msgid "Attivazione kill-switch…"
msgstr "Activating kill switch…"
#: src/vpn/VpnPage.cpp:640
msgid "Disattivazione kill-switch…"
msgstr "Deactivating kill switch…"
#: src/vpn/VpnPage.cpp:648
msgid "✔ Kill-switch attivo."
msgstr "✔ Kill switch active."
#: src/vpn/VpnPage.cpp:649
msgid "✔ Kill-switch disattivato."
msgstr "✔ Kill switch deactivated."
#: src/vpn/VpnPage.cpp:651
msgid "✗ Operazione kill-switch fallita: "
msgstr "✗ Kill switch operation failed: "
msgid "Installazione della CA di sistema e del daemon CEF disabilitata su Fedora, RHEL, AlmaLinux, Rocky Linux, Ubuntu, Linux Mint, Mageia, OpenMandriva e openSUSE. Secure Browser e Bank GUI restano disponibili."
msgstr "Installation of the system CA and CEF daemon is disabled on Fedora, RHEL, AlmaLinux, Rocky Linux, Ubuntu, Linux Mint, Mageia, OpenMandriva, and openSUSE. Secure Browser and Bank GUI remain available."
msgid "Installazione CA di sistema e daemon CEF disabilitati su questa distribuzione; Secure Browser e Bank GUI restano disponibili"
msgstr "Installation of the system CA and CEF daemon is disabled on this distribution; Secure Browser and Bank GUI remain available."
#: src/rootguard/RootGuardPage.cpp:46
msgid "exact path from protected baseline"
msgstr "exact path from protected baseline"
#: src/rootguard/RootGuardPage.cpp:48
msgid "exact path resolved from the process file descriptor"
msgstr "exact path resolved from the process file descriptor"
#: src/rootguard/RootGuardPage.cpp:50
msgid "exact path resolved from the process working directory"
msgstr "exact path resolved from the process working directory"
#: src/rootguard/RootGuardPage.cpp:52
msgid "exact path supplied by the kernel event"
msgstr "exact path supplied by the kernel event"
#: src/rootguard/RootGuardPage.cpp:54
msgid "exact path captured by the LSM before the metadata operation"
msgstr "exact path captured by the LSM before the metadata operation"
#: src/rootguard/RootGuardPage.cpp:55
msgid "basename only; the exact path was unavailable in this event"
msgstr "basename only; the exact path was unavailable in this event"
#: src/rootguard/RootGuardPage.cpp:65
msgid "System service stopped and runtime-blocked"
msgstr "System service stopped and runtime-blocked"
#: src/rootguard/RootGuardPage.cpp:66
msgid "System service blocking failed"
msgstr "System service blocking failed"
#: src/rootguard/RootGuardPage.cpp:68
msgid "Protected file integrity changed"
msgstr "Protected file integrity changed"
#: src/rootguard/RootGuardPage.cpp:70
msgid "Permission change blocked"
msgstr "Permission change blocked"
#: src/rootguard/RootGuardPage.cpp:71
msgid "Permission change observed"
msgstr "Permission change observed"
#: src/rootguard/RootGuardPage.cpp:72
msgid "Permission change detected"
msgstr "Permission change detected"
#: src/rootguard/RootGuardPage.cpp:74
msgid "Ownership change blocked"
msgstr "Ownership change blocked"
#: src/rootguard/RootGuardPage.cpp:75
msgid "Ownership change observed"
msgstr "Ownership change observed"
#: src/rootguard/RootGuardPage.cpp:76
msgid "Ownership change detected"
msgstr "Ownership change detected"
#: src/rootguard/RootGuardPage.cpp:78
msgid "Protected file removal blocked"
msgstr "Protected file removal blocked"
#: src/rootguard/RootGuardPage.cpp:79
msgid "Protected file removal observed"
msgstr "Protected file removal observed"
#: src/rootguard/RootGuardPage.cpp:80
msgid "Protected file removal detected"
msgstr "Protected file removal detected"
#: src/rootguard/RootGuardPage.cpp:82
msgid "Protected file rename blocked"
msgstr "Protected file rename blocked"
#: src/rootguard/RootGuardPage.cpp:83
msgid "Protected file rename observed"
msgstr "Protected file rename observed"
#: src/rootguard/RootGuardPage.cpp:84
msgid "Protected file rename detected"
msgstr "Protected file rename detected"
#: src/rootguard/RootGuardPage.cpp:86
msgid "Protected hard-link creation blocked"
msgstr "Protected hard-link creation blocked"
#: src/rootguard/RootGuardPage.cpp:87
msgid "Protected hard-link creation observed"
msgstr "Protected hard-link creation observed"
#: src/rootguard/RootGuardPage.cpp:88
msgid "Protected hard-link creation detected"
msgstr "Protected hard-link creation detected"
#: src/rootguard/RootGuardPage.cpp:90
msgid "Extended-attribute change blocked"
msgstr "Extended-attribute change blocked"
#: src/rootguard/RootGuardPage.cpp:91
msgid "Extended-attribute change observed"
msgstr "Extended-attribute change observed"
#: src/rootguard/RootGuardPage.cpp:92
msgid "Extended-attribute change detected"
msgstr "Extended-attribute change detected"
#: src/rootguard/RootGuardPage.cpp:94
msgid "ACL change blocked"
msgstr "ACL change blocked"
#: src/rootguard/RootGuardPage.cpp:95
msgid "ACL change observed"
msgstr "ACL change observed"
#: src/rootguard/RootGuardPage.cpp:96
msgid "ACL change detected"
msgstr "ACL change detected"
#: src/rootguard/RootGuardPage.cpp:97
msgid "Protected metadata change blocked"
msgstr "Protected metadata change blocked"
#: src/rootguard/RootGuardPage.cpp:98
msgid "Protected metadata change observed"
msgstr "Protected metadata change observed"
#: src/rootguard/RootGuardPage.cpp:99
msgid "Protected metadata change detected"
msgstr "Protected metadata change detected"
#: src/rootguard/RootGuardPage.cpp:198
msgid "This event belongs to global filesystem surveillance. No protected baseline is attached, so Restore and Quarantine are unavailable."
msgstr "This event belongs to global filesystem surveillance. No protected baseline is attached, so Restore and Quarantine are unavailable."
#: src/rootguard/RootGuardPage.cpp:200
msgid "RootGuard has the filesystem identity but not an exact path. Destructive actions are disabled to avoid acting on the wrong object."
msgstr "RootGuard has the filesystem identity but not an exact path. Destructive actions are disabled to avoid acting on the wrong object."
#: src/rootguard/RootGuardPage.cpp:203
msgid "The removal was denied; the file is still present and no restore is required."
msgstr "The removal was denied; the file is still present and no restore is required."
#: src/rootguard/RootGuardPage.cpp:204
msgid "The file was removed in audit mode. Automatic restore is impossible without a trusted backup or package copy."
msgstr "The file was removed in audit mode. Automatic restore is impossible without a trusted backup or package copy."
#: src/rootguard/RootGuardPage.cpp:206
msgid "Automatic recovery is unavailable for rename events. Restore the file from a trusted package or backup."
msgstr "Automatic recovery is unavailable for rename events. Restore the file from a trusted package or backup."
#: src/rootguard/RootGuardPage.cpp:208
msgid "No automatic action is offered for hard-link events. Review the source and destination manually."
msgstr "No automatic action is offered for hard-link events. Review the source and destination manually."
#: src/rootguard/RootGuardPage.cpp:281
msgid "🛡️ RootGuard — Permission and Privilege Protection"
msgstr "🛡️ RootGuard — Permission and Privilege Protection"
#: src/rootguard/RootGuardPage.cpp:291
msgid "Service"
msgstr "Service"
#: src/rootguard/RootGuardPage.cpp:292
msgid "Mode"
msgstr "Mode"
#: src/rootguard/RootGuardPage.cpp:293
msgid "Init system"
msgstr "Init system"
#: src/rootguard/RootGuardPage.cpp:294
msgid "PID"
msgstr "PID"
#: src/rootguard/RootGuardPage.cpp:316
msgid "Immediate permission blocking"
msgstr "Immediate permission blocking"
#: src/rootguard/RootGuardPage.cpp:318
msgid "Blocks protected system metadata changes before they are committed."
msgstr "Blocks protected system metadata changes before they are committed."
#: src/rootguard/RootGuardPage.cpp:324
msgid "Show protection scope"
msgstr "Show protection scope"
#: src/rootguard/RootGuardPage.cpp:326
msgid "Immediate blocking applies to protected system paths and service definitions. User home directories remain audit-only because BastionGuard Anti-Ransomware is responsible for enforcement on user data. Routine desktop and browser metadata activity can be classified under Application rules without granting privilege-transition trust."
msgstr "Immediate blocking applies to protected system paths and service definitions. User home directories remain audit-only because BastionGuard Anti-Ransomware is responsible for enforcement on user data. Routine desktop and browser metadata activity can be classified under Application rules without granting privilege-transition trust."
#: src/rootguard/RootGuardPage.cpp:345
msgid "Protected system paths"
msgstr "Protected system paths"
#: src/rootguard/RootGuardPage.cpp:346
msgid "User home"
msgstr "User home"
#: src/rootguard/RootGuardPage.cpp:350
msgid "RootGuard records global metadata activity. Trusted application events remain available in the Events tab but are hidden by default and never generate popups."
msgstr "RootGuard records global metadata activity. Trusted application events remain available in the Events tab but are hidden by default and never generate popups."
#: src/rootguard/RootGuardPage.cpp:360
msgid "▶ Start"
msgstr "▶ Start"
#: src/rootguard/RootGuardPage.cpp:361
msgid "■ Stop"
msgstr "■ Stop"
#: src/rootguard/RootGuardPage.cpp:362
msgid "↻ Reload policy"
msgstr "↻ Reload policy"
#: src/rootguard/RootGuardPage.cpp:363
msgid "⟳ Restart"
msgstr "⟳ Restart"
#: src/rootguard/RootGuardPage.cpp:364
msgid "Refresh"
msgstr "Refresh"
#: src/rootguard/RootGuardPage.cpp:379
msgid "Overview"
msgstr "Overview"
#: src/rootguard/RootGuardPage.cpp:387
msgid "Security observations and active incidents"
msgstr "Security observations and active incidents"
#: src/rootguard/RootGuardPage.cpp:401
msgid "Incidents"
msgstr "Incidents"
#: src/rootguard/RootGuardPage.cpp:410
msgid "Recent RootGuard events"
msgstr "Recent RootGuard events"
#: src/rootguard/RootGuardPage.cpp:414
msgid "Show trusted events"
msgstr "Show trusted events"
#: src/rootguard/RootGuardPage.cpp:417
msgid "Trusted application activity is shown by default for maximum transparency. Disable this option only to focus on audit and blocked events."
msgstr "Trusted application activity is shown by default for maximum transparency. Disable this option only to focus on audit and blocked events."
#: src/rootguard/RootGuardPage.cpp:440
msgid "Events"
msgstr "Events"
#: src/rootguard/RootGuardPage.cpp:449
msgid "Manage executable identities used by RootGuard. Saving validates the policy, requests administrator authentication, and restarts RootGuard so the new inode identities take effect immediately."
msgstr "Manage executable identities used by RootGuard. Saving validates the policy, requests administrator authentication, and restarts RootGuard so the new inode identities take effect immediately."
#: src/rootguard/RootGuardPage.cpp:459
msgid "Add installed desktop/browser defaults"
msgstr "Add installed desktop/browser defaults"
#: src/rootguard/RootGuardPage.cpp:461
msgid "Adds only known executables that exist on this computer. Review the list before saving."
msgstr "Adds only known executables that exist on this computer. Review the list before saving."
#: src/rootguard/RootGuardPage.cpp:475
msgid "Trusted applications"
msgstr "Trusted applications"
#: src/rootguard/RootGuardPage.cpp:476
msgid "Routine desktop, file-manager and browser metadata activity. Matching global events become trusted, produce no popup and remain visible only when “Show trusted events” is enabled. This list never grants privilege trust."
msgstr "Routine desktop, file-manager and browser metadata activity. Matching global events become trusted, produce no popup and remain visible only when “Show trusted events” is enabled. This list never grants privilege trust."
#: src/rootguard/RootGuardPage.cpp:480
msgid "Trusted apps"
msgstr "Trusted apps"
#: src/rootguard/RootGuardPage.cpp:484
msgid "Privilege-trusted executables"
msgstr "Privilege-trusted executables"
#: src/rootguard/RootGuardPage.cpp:485
msgid "Executables allowed as legitimate actors in RootGuard privilege-transition checks. Existing files are still subject to ownership and identity validation."
msgstr "Executables allowed as legitimate actors in RootGuard privilege-transition checks. Existing files are still subject to ownership and identity validation."
#: src/rootguard/RootGuardPage.cpp:488
msgid "Privilege trusted"
msgstr "Privilege trusted"
#: src/rootguard/RootGuardPage.cpp:492
msgid "Blocked executables"
msgstr "Blocked executables"
#: src/rootguard/RootGuardPage.cpp:493
msgid "Executables blocked during RootGuard privilege-transition checks. This is not a general application-launch blacklist."
msgstr "Executables blocked during RootGuard privilege-transition checks. This is not a general application-launch blacklist."
#: src/rootguard/RootGuardPage.cpp:496
msgid "Blocked"
msgstr "Blocked"
#: src/rootguard/RootGuardPage.cpp:504
msgid "Save rules and restart RootGuard"
msgstr "Save rules and restart RootGuard"
#: src/rootguard/RootGuardPage.cpp:514
msgid "Unsaved changes are never applied silently. RootGuard restarts only after a successful policy save."
msgstr "Unsaved changes are never applied silently. RootGuard restarts only after a successful policy save."
#: src/rootguard/RootGuardPage.cpp:516
msgid "Application rules"
msgstr "Application rules"
#: src/rootguard/RootGuardPage.cpp:529
msgid "Requesting service start…"
msgstr "Requesting service start…"
#: src/rootguard/RootGuardPage.cpp:531
msgid "Requesting service stop…"
msgstr "Requesting service stop…"
#: src/rootguard/RootGuardPage.cpp:533
msgid "Reloading RootGuard policy…"
msgstr "Reloading RootGuard policy…"
#: src/rootguard/RootGuardPage.cpp:535
msgid "Restarting RootGuard…"
msgstr "Restarting RootGuard…"
#: src/rootguard/RootGuardPage.cpp:537
msgid "Refreshing RootGuard status…"
msgstr "Refreshing RootGuard status…"
#: src/rootguard/RootGuardPage.cpp:558 src/rootguard/RootGuardPage.cpp:562
msgid "Checking…"
msgstr "Checking…"
#: src/rootguard/RootGuardPage.cpp:563 src/rootguard/RootGuardPage.cpp:849
msgid "Audit-only"
msgstr "Audit-only"
#: src/rootguard/RootGuardPage.cpp:564
msgid "Loading RootGuard status and recent security events…"
msgstr "Loading RootGuard status and recent security events…"
#: src/rootguard/RootGuardPage.cpp:616
msgid "Absolute executable path, for example /usr/bin/firefox"
msgstr "Absolute executable path, for example /usr/bin/firefox"
#: src/rootguard/RootGuardPage.cpp:617
msgid "Add"
msgstr "Add"
#: src/rootguard/RootGuardPage.cpp:618
msgid "Remove selected"
msgstr "Remove selected"
#: src/rootguard/RootGuardPage.cpp:642
msgid "Enter an absolute executable path first."
msgstr "Enter an absolute executable path first."
#: src/rootguard/RootGuardPage.cpp:648
msgid "Application rules require an absolute path beginning with /."
msgstr "Application rules require an absolute path beginning with /."
#: src/rootguard/RootGuardPage.cpp:656
msgid "That executable path is already present in this list."
msgstr "That executable path is already present in this list."
#: src/rootguard/RootGuardPage.cpp:719
msgid "No new installed desktop or browser defaults were found."
msgstr "No new installed desktop or browser defaults were found."
#. TRANSLATORS: Preserve placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:724
msgid "Added %1 installed desktop/browser executable(s). Review and save to restart RootGuard."
msgstr "Added %1 installed desktop/browser executable(s). Review and save to restart RootGuard."
#: src/rootguard/RootGuardPage.cpp:732
msgid "Select a rule to remove."
msgstr "Select a rule to remove."
#: src/rootguard/RootGuardPage.cpp:743
msgid "Rules have unsaved changes. Saving will validate the policy and restart RootGuard."
msgstr "Rules have unsaved changes. Saving will validate the policy and restart RootGuard."
#: src/rootguard/RootGuardPage.cpp:802
msgid "The same executable cannot be both trusted and blocked."
msgstr "The same executable cannot be both trusted and blocked."
#: src/rootguard/RootGuardPage.cpp:810
msgid "Saving application rules and restarting RootGuard… Administrator authentication may be requested."
msgstr "Saving application rules and restarting RootGuard… Administrator authentication may be requested."
#: src/rootguard/RootGuardPage.cpp:811
msgid "Saving RootGuard application rules…"
msgstr "Saving RootGuard application rules…"
#: src/rootguard/RootGuardPage.cpp:828
msgid "Enabling immediate blocking for protected system paths; user home remains audit-only…"
msgstr "Enabling immediate blocking for protected system paths; user home remains audit-only…"
#: src/rootguard/RootGuardPage.cpp:829
msgid "Switching RootGuard system-path protection to audit mode…"
msgstr "Switching RootGuard system-path protection to audit mode…"
#: src/rootguard/RootGuardPage.cpp:839
msgid "Active"
msgstr "Active"
#: src/rootguard/RootGuardPage.cpp:839
msgid "Inactive"
msgstr "Inactive"
#: src/rootguard/RootGuardPage.cpp:841
msgid "Immediate block"
msgstr "Immediate block"
#: src/rootguard/RootGuardPage.cpp:849
msgid "Immediate blocking"
msgstr "Immediate blocking"
#: src/rootguard/RootGuardPage.cpp:851
msgid "Blocking enabled by manual policy"
msgstr "Blocking enabled by manual policy"
#: src/rootguard/RootGuardPage.cpp:852
msgid "Audit-only · Anti-Ransomware enforcement"
msgstr "Audit-only · Anti-Ransomware enforcement"
#: src/rootguard/RootGuardPage.cpp:870
msgid "Application rules saved and RootGuard restarted successfully."
msgstr "Application rules saved and RootGuard restarted successfully."
#. TRANSLATORS: Preserve placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:873
msgid "Application rules were not applied: %1"
msgstr "Application rules were not applied: %1"
#. TRANSLATORS: Preserve placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:882
msgid "✅ %1"
msgstr "✅ %1"
#. TRANSLATORS: Preserve placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:883
msgid "❌ %1"
msgstr "❌ %1"
#: src/rootguard/RootGuardPage.cpp:886
msgid "RootGuard blocks protected system changes and contains affected services. User home remains audit-only under Anti-Ransomware protection."
msgstr "RootGuard blocks protected system changes and contains affected services. User home remains audit-only under Anti-Ransomware protection."
#: src/rootguard/RootGuardPage.cpp:887
msgid "RootGuard blocks protected system metadata changes. User home remains audit-only under Anti-Ransomware protection."
msgstr "RootGuard blocks protected system metadata changes. User home remains audit-only under Anti-Ransomware protection."
#: src/rootguard/RootGuardPage.cpp:890
msgid "RootGuard is monitoring filesystem metadata in audit mode. Trusted application events are logged without popups."
msgstr "RootGuard is monitoring filesystem metadata in audit mode. Trusted application events are logged without popups."
#: src/rootguard/RootGuardPage.cpp:892
msgid "RootGuard is not running."
msgstr "RootGuard is not running."
#: src/rootguard/RootGuardPage.cpp:929
msgid "No unresolved observations or blocked changes."
msgstr "No unresolved observations or blocked changes."
#: src/rootguard/RootGuardPage.cpp:960
msgid "Audit observation: RootGuard did not block or alter the operation."
msgstr "Audit observation: RootGuard did not block or alter the operation."
#: src/rootguard/RootGuardPage.cpp:975 src/rootguard/RootGuardPage.cpp:1191
msgid "Restore"
msgstr "Restore"
#: src/rootguard/RootGuardPage.cpp:981 src/rootguard/RootGuardPage.cpp:1200
msgid "Quarantine"
msgstr "Quarantine"
#: src/rootguard/RootGuardPage.cpp:987
msgid "Dismiss"
msgstr "Dismiss"
#: src/rootguard/RootGuardPage.cpp:1008
msgid "No RootGuard events are available yet."
msgstr "No RootGuard events are available yet."
#: src/rootguard/RootGuardPage.cpp:1010
msgid "Only trusted events are available. Enable “Show trusted events” to display them."
msgstr "Only trusted events are available. Enable “Show trusted events” to display them."
#: src/rootguard/RootGuardPage.cpp:1091
msgid "🛑 System service blocked"
msgstr "🛑 System service blocked"
#: src/rootguard/RootGuardPage.cpp:1092
msgid "⚠️ System service block failed"
msgstr "⚠️ System service block failed"
#: src/rootguard/RootGuardPage.cpp:1094
msgid "⚠️ Filesystem metadata change observed"
msgstr "⚠️ Filesystem metadata change observed"
#: src/rootguard/RootGuardPage.cpp:1096
msgid "🛑 Protected change blocked"
msgstr "🛑 Protected change blocked"
#: src/rootguard/RootGuardPage.cpp:1098
msgid "⚠️ Protected change observed"
msgstr "⚠️ Protected change observed"
#: src/rootguard/RootGuardPage.cpp:1099
msgid "⚠️ Protected change detected"
msgstr "⚠️ Protected change detected"
#. TRANSLATORS: Preserve the Pango markup and placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:1110
msgid "RootGuard observed a filesystem metadata change to:\n<b>%1</b>"
msgstr "RootGuard observed a filesystem metadata change to:\n<b>%1</b>"
#. TRANSLATORS: Preserve the Pango markup and placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:1112
msgid "RootGuard blocked a change to:\n<b>%1</b>"
msgstr "RootGuard blocked a change to:\n<b>%1</b>"
#. TRANSLATORS: Preserve the Pango markup and placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:1114
msgid "RootGuard observed a change to:\n<b>%1</b>"
msgstr "RootGuard observed a change to:\n<b>%1</b>"
#. TRANSLATORS: Preserve the Pango markup and placeholders such as %1.
#: src/rootguard/RootGuardPage.cpp:1115
msgid "RootGuard detected a change to:\n<b>%1</b>"
msgstr "RootGuard detected a change to:\n<b>%1</b>"
#: src/rootguard/RootGuardPage.cpp:1144
msgid "Transparency notice: the kernel event contained only a basename. RootGuard shows the filesystem identity and disables path-based actions rather than guessing an unsafe path."
msgstr "Transparency notice: the kernel event contained only a basename. RootGuard shows the filesystem identity and disables path-based actions rather than guessing an unsafe path."
#: src/rootguard/RootGuardPage.cpp:1157
msgid "The affected system service has been stopped immediately. On systemd it is also runtime-masked."
msgstr "The affected system service has been stopped immediately. On systemd it is also runtime-masked."
#: src/rootguard/RootGuardPage.cpp:1158
msgid "RootGuard could not stop the affected service. Review the init-system logs immediately."
msgstr "RootGuard could not stop the affected service. Review the init-system logs immediately."
#: src/rootguard/RootGuardPage.cpp:1160
msgid "RootGuard requested immediate service containment. A follow-up event will confirm the init-system action."
msgstr "RootGuard requested immediate service containment. A follow-up event will confirm the init-system action."
#: src/rootguard/RootGuardPage.cpp:1161
msgid "Audit mode never stops or masks services. This event is informational only."
msgstr "Audit mode never stops or masks services. This event is informational only."
#: src/rootguard/RootGuardPage.cpp:1173
msgid "Audit mode recorded this event without blocking or altering the operation. This notification is acknowledgement-only."
msgstr "Audit mode recorded this event without blocking or altering the operation. This notification is acknowledgement-only."
#: src/rootguard/RootGuardPage.cpp:1187
msgid "Keep blocked"
msgstr "Keep blocked"
#: src/rootguard/RootGuardPage.cpp:1187
msgid "Acknowledge"
msgstr "Acknowledge"
#: src/rootguard/RootGuardPage.cpp:1252
msgid "Restoring protected metadata and unblocking the service…"
msgstr "Restoring protected metadata and unblocking the service…"
#: src/rootguard/RootGuardPage.cpp:1259
msgid "Moving the protected file from its original path into quarantine…"
msgstr "Moving the protected file from its original path into quarantine…"