{
  "_display_name": "Italiano",
  "app.tab.core": "⚙️ Core",
  "app.tab.servers": "🖥️ Server",
  "app.tab.diagnostics": "🔍 Diagnostica",
  "app.tab.help": "❓ Aiuto",

  "core.status_checking": "Stato core: Controllo...",
  "core.status_error_not_found": "Stato core ❌ Errore: sing-box non trovato",
  "core.status_restarting": "Stato core 🔄 Riavvio...",
  "core.status_running": "Stato core ✅ In esecuzione",
  "core.status_stopped": "Stato core ⏸️ Arrestato",
  "core.button_start": "Avvia",
  "core.button_stop": "Ferma",
  "core.button_exit": "Esci",
  "core.button_restart": "Riavvia",
  "core.label_config": "Config",
  "core.status_checking_config": "Controllo config...",
  "core.status_config_ok": "%s ✅ %s",
  "core.status_config_not_found": "%s ❌ non trovato",
  "core.status_config_error": "Errore config: %v",
  "core.status_parser_starting": "Avvio...",
  "core.button_update": "🔄 Aggiorna",
  "core.button_wizard": "⚙️ Procedura guidata",
  "core.button_download_template": "Scarica modello di config",
  "core.label_singbox": "Sing-box",
  "core.singbox_help_msg": "sing-box è il binario principale.\n\n",
  "core.singbox_help_look_for": "Cerca: %s\n",
  "core.singbox_help_extract": "Estrai il binario nella cartella bin.\n\n",
  "core.singbox_help_manual": "Puoi scaricarlo con il pulsante sopra o manualmente da:",
  "core.singbox_status_checking": "Controllo...",
  "core.singbox_status_not_found": "❌ non trovato",
  "core.button_download": "Scarica",
  "core.button_download_version": "Scarica v%s",
  "core.button_update_version": "Aggiorna v%s",
  "core.dialog_singbox_title": "Sing-box",
  "core.dialog_singbox_close": "Chiudi",
  "core.button_open_bin": "Apri cartella bin",
  "core.label_wintun": "Wintun",
  "core.wintun_help_msg": "wintun.dll è richiesto per la modalità TUN su Windows.\n\n",
  "core.wintun_help_in_archive": "Nell'archivio scaricato prendi wintun.dll\n\nIl tuo sistema è %s.\n\n",
  "core.wintun_help_place": "Posizionalo nella cartella bin.\n\n",
  "core.wintun_help_manual": "Puoi scaricarlo con il pulsante sopra o manualmente da:",
  "core.wintun_status_checking": "Controllo...",
  "core.wintun_status_ok": "ok",
  "core.wintun_status_not_found": "❌ non trovato",
  "core.wintun_status_error": "❌ Errore controllo wintun.dll",
  "core.dialog_wintun_title": "Wintun",
  "core.dialog_wintun_close": "Chiudi",
  "core.dialog_template_title": "Modello di config",
  "core.dialog_template_saved": "Modello salvato in %s",
  "core.dialog_download_complete_title": "Download completato",
  "core.dialog_update_available_title": "Aggiornamento disponibile",
  "core.dialog_update_msg": "È disponibile una nuova versione dell'applicazione",
  "core.dialog_update_current": "Versione corrente: %s",
  "core.dialog_update_new": "Nuova versione: %s",
  "core.dialog_update_close": "Chiudi",
  "core.button_download_from_github": "Scarica da GitHub",
  "core.config_not_found_title": "Configurazione non trovata",
  "core.config_not_found_message": "⚠️ File di configurazione non trovato!\n\nIl file %s manca nella cartella bin/.\n\nPer iniziare:\n1. scarica la Procedura guidata\n2. usa la Procedura guidata per generare una configurazione\n3. premi Avvia\n",
  "core.already_running_app_title": "Informazione",
  "core.already_running_app_message": "L'applicazione è già in esecuzione. Usa l'istanza esistente o chiudila prima di avviarne una nuova.",
  "core.info_title": "Informazioni",
  "core.already_running": "Sing-Box già in esecuzione (stato interno).",
  "core.crash_title": "Crash",
  "core.crash_restarting": "Sing-Box è crashato, riavvio... (tentativo %d/%d)",

  "error.startup": "Impossibile avviare sing-box:\n\n%s\n\nPer favore controlla:\n1. config.json è valido\n2. il file eseguibile sing-box esiste\n3. vedi i log per dettagli",
  "error.parser": "Il parser ha generato un errore:\n\n%s\n\nPer favore controlla:\n1. URL della sottoscrizione è valido\n2. connessione di rete\n3. vedi parser.log per dettagli",
  "error.linux_capabilities": "Sono richieste Linux capabilities",
  "error.restart_failed": "Sing-Box non è riuscito a riavviarsi dopo %d tentativi. Controlla sing-box.log.",
  "error.check_updates_failed": "Controllo aggiornamenti fallito",
  "error.version_check": "Errore controllo versione: %s",

  "core.update_available_title": "Aggiornamento disponibile",
  "core.update_available_message": "Aggiornamento disponibile!\n\nInstallato: %s\nUltimo: %s\n\nPuoi scaricare l'aggiornamento nella scheda Core.",
  "core.no_updates_title": "Nessun aggiornamento",
  "core.latest_version_message": "Stai usando l'ultima versione.\n\nInstallato: %s\nUltimo: %s",

  "tray.open": "Apri",
  "tray.quit": "Esci",
  "tray.start_vpn": "Avvia VPN",
  "tray.stop_vpn": "Ferma VPN",
  "tray.select_proxy": "Seleziona proxy",
  "tray.no_proxies_available": "Nessun proxy disponibile",
  "tray.hide_app_from_dock": "Nascondi app dal Dock",

  "help.open_config_folder": "⚙️ Apri cartella config",
  "help.kill_singbox": "🛑 Termina Sing-Box",
  "help.kill_title": "Termina",
  "help.kill_result": "Sing-Box terminato se era in esecuzione.",
  "help.version_label": "📦 Versione: %s",
  "help.checking_updates": "Controllo aggiornamenti...",
  "help.unable_to_check_updates": "Impossibile controllare aggiornamenti",
  "help.update_available_format": "🆕 Aggiornamento disponibile: %s\nCorrente: %s",
  "help.dev_build_format": "✅ Stai usando una build di sviluppo\nCorrente: %s\nUltimo rilascio: %s",
  "help.latest_version_format": "✅ Stai usando l'ultima versione\nCorrente: %s",
  "help.telegram_link": "💬 Canale Telegram",
  "help.github_link": "🐙 Repository GitHub",
  "help.language_label": "Lingua:",
  "help.language_changed": "Lingua cambiata. Riavvia l’app per applicare completamente.",
  "help.download_locales": "📥 Scarica traduzioni",
  "help.download_locales_btn": "⬇",
  "help.download_locales_success": "Traduzioni scaricate (%d). Riavvia per vedere le nuove lingue.",
  "help.download_locales_failed": "Impossibile scaricare le traduzioni",
  "help.downloading_locales": "Download in corso...",
  "help.downloading_locales_btn": "🔄",

  "diag.stun_button": "STUN [UDP]",
  "diag.stun_check_title": "Controllo STUN",
  "diag.stun_checking": "Controllo, attendere...",
  "diag.external_ip_format": "Il tuo IP esterno: %s\n%s",
  "diag.copy_ip": "Copia IP",
  "diag.copied_title": "Copiato",
  "diag.ip_copied": "Indirizzo IP copiato negli appunti.",
  "diag.stun_result_title": "Risultato controllo STUN",
  "diag.close": "Chiudi",
  "diag.stun_server_label": "Server STUN (host:port):",
  "diag.use_system_socks5": "Usa proxy SOCKS5 di sistema",
  "diag.stun_settings": "Impostazioni STUN",
  "diag.save": "Salva",
  "diag.cancel": "Annulla",
  "diag.open_log_window": "Apri finestra log",
  "diag.open_logs_folder": "Apri cartella log",
  "diag.ip_check_services": "Servizi controllo IP:",

  "log.window_title": "Log",
  "log.level_label": "Livello:",
  "log.level_error": "Errore",
  "log.level_warn": "Avviso",
  "log.level_info": "Info",
  "log.level_verbose": "Dettagli",
  "log.level_trace": "Trace",
  "log.refresh": "Aggiorna",
  "log.internal_tab": "Interno",
  "log.core_tab": "Core",
  "log.api_tab": "API",
  "log.file_not_available": "File di log non disponibile.",

  "dialog.download_failed": "Download fallito. Vedi il log per dettagli.",
  "dialog.download_failed_manual_hint": "Scarica il file manualmente e mettilo nella cartella indicata.",
  "dialog.open_download_page": "Apri pagina di download",
  "dialog.open_folder": "Apri cartella",
  "dialog.close": "Chiudi",
  "dialog.copy": "Copia",
  "dialog.ok": "OK",
  "dialog.kill_process": "Termina processo",
  "dialog.close_warning": "Chiudi questo avviso",
  "dialog.process_already_running": "Sing-Box sembra già in esecuzione.\nVuoi terminare il processo esistente?",
  "dialog.warning": "Avviso",
  "dialog.error_prefix": "❌ ",

  "servers.status_not_checked": "Stato: Non controllato",
  "servers.status_click_load": "Clicca 'Carica proxy'",
  "servers.status_loading": "Caricamento proxy per '%s'...",
  "servers.status_loaded": "Proxy caricati per '%s'. Attivo: %s",
  "servers.status_clash_api_disabled": "Clash API disabilitata per errore di config",
  "servers.status_clash_api_off_error": "❌ Clash API Disattivata (Errore)",
  "servers.status_clash_api_off_config": "❌ Clash API Disattivata (Errore di config)",
  "servers.status_clash_api_on": "✅ Clash API Attiva",
  "servers.status_not_running": "Stato: Non in esecuzione",
  "servers.status_singbox_stopped": "Sing-box è fermo.",
  "servers.error_api_not_initialized": "Servizio API non inizializzato",
  "servers.error_api_disabled": "API disabilitata: errore di config",
  "servers.status_delay_error": "Errore latenza: %s",
  "servers.status_delay_format": "Latenza: %d ms per %s",
  "servers.status_selected": "Selezionato: %s",
  "servers.status_selected_multi": "Selezionati: %d proxy",
  "servers.status_selected_none": "Nessun proxy selezionato",
  "servers.status_switch_error": "Errore switch: %s",
  "servers.status_switched": "'%s' cambiato in %s",
  "servers.status_sorted_name_az": "Ordinato per nome (A-Z)",
  "servers.status_sorted_name_za": "Ordinato per nome (Z-A)",
  "servers.status_sorted_delay_fast": "Ordinato per latenza (più veloce prima)",
  "servers.status_sorted_delay_slow": "Ordinato per latenza (più lento prima)",
  "servers.status_no_proxies": "Nessun proxy da pingare",
  "servers.status_list_counts": "Tot / disp.: %d / %d",
  "servers.status_pinging": "Ping %d proxy...",
  "servers.status_pinging_progress": "Ping %d/%d...",
  "servers.status_ping_completed": "Test ping completato per %d proxy",
  "servers.status_selected_group": "Gruppo selezionato '%s'. Ultimo proxy usato: %s",
  "servers.status_selected_group_only": "Gruppo selezionato '%s'.",
  "servers.status_ping_url_updated": "URL test ping aggiornato: %s",
  "servers.label_proxy_name": "Nome proxy",
  "servers.button_ping": "Ping",
  "servers.button_test": "test",
  "servers.tooltip_hide_ping_errors": "Nascondi server con errore di ping",
  "servers.tooltip_show_ping_errors": "Mostra tutti i server",
  "servers.tooltip_sort_by_name": "Ordina per nome (A–Z / Z–A)",
  "servers.tooltip_sort_by_delay": "Ordina per ritardo ping (prima i più veloci / lenti)",
  "servers.tooltip_ping_all": "Ping a tutti i proxy del gruppo",
  "servers.tooltip_ping_settings": "URL test ping e richieste parallele",
  "servers.button_export": "Esporta",
  "servers.tooltip_export_uris": "All visible rows, current list order, one URI per line (hidden ping errors omitted; excludes selector, urltest, direct).",
  "servers.tooltip_export_uris_selected": "Selected proxies only (multiple selection), list order (same URI rules as default copy).",
  "servers.status_export_nothing_visible": "Nothing to export (no rows in current view).",
  "servers.status_export_nothing_selected": "Nothing to export (no selected rows in current view).",
  "servers.status_export_uris_building": "Preparing export...",
  "servers.status_export_uris_done": "Clipboard: %d lines (one URI per line)",
  "servers.status_export_uris_none": "No share links could be built for this list.",
  "servers.error_export_no_config": "Config path is not set.",
  "servers.label_sort_by_name": "A…Z",
  "servers.placeholder_select_group": "Seleziona gruppo selettore",
  "servers.label_selector_group": "Gruppo selettore:",
  "servers.dialog_ping_settings_title": "Impostazioni test ping",
  "servers.ping_label_url": "URL test ping",
  "servers.ping_label_custom_url": "URL personalizzato:",
  "servers.ping_label_parallel": "Richieste parallele (ping a tutti):",
  "servers.ping_placeholder_url": "https://example.com/generate_204",
  "servers.ping_option_custom": "Personalizzato",
  "servers.ping_button_save": "Salva",
  "servers.ping_button_cancel": "Annulla",
  "servers.dialog_selector_active_title": "Selettore → Outbound attivo",
  "servers.dialog_selector_close": "Chiudi",
  "servers.ping_button_error": "Errore",
  "servers.ping_format_ms": "%d ms",
  "servers.selector_no_active": "%s → (nessun outbound attivo)",
  "servers.selector_error": "%s → errore: %v",
  "servers.selector_active": "%s → %s",

  "wizard.window_title": "Procedura guidata config",
  "wizard.tab_sources": "Sorgenti",
  "wizard.tab_outbounds": "Outbounds",
  "wizard.tab_rules": "Regole",
  "wizard.tab_preview": "Anteprima",
  "wizard.button_read": "Carica",
  "wizard.button_save_as": "Salva come",
  "wizard.button_close": "Chiudi",
  "wizard.button_prev": "Indietro",
  "wizard.button_next": "Avanti",
  "wizard.button_save": "Salva",
  "wizard.dialog_confirmation": "Conferma",
  "wizard.dialog_unsaved_changes": "Le modifiche correnti andranno perse. Salvare lo stato corrente?",
  "wizard.dialog_save_before_close": "Salvare le modifiche prima di chiudere?",
  "wizard.dialog_discard": "Annulla",
  "wizard.dialog_cancel": "Annulla",
  "wizard.shared.button_edit": "Modifica",
  "wizard.shared.button_del": "Elimina",
  "wizard.error_load_config": "Impossibile caricare la config esistente",
  "wizard.error_save_state": "Impossibile salvare lo stato",
  "wizard.error_load_state": "Impossibile caricare lo stato",
  "wizard.error_restore_state": "Impossibile ripristinare lo stato",
  "wizard.error_template_failed": "Caricamento modello di config fallito",
  "wizard.error_template_missing": "Modello di config mancante",

  "wizard.source.label_url": "URL sottoscrizione o link diretti:",
  "wizard.source.placeholder_url": "https://your-subscription-url-here",
  "wizard.source.hint": "Supporta URL di sottoscrizione (http/https) o link diretti (vless://, vmess://, trojan://, ss://, hysteria2://, ssh://). Per più link, usa una nuova riga per ognuno.",
  "wizard.source.button_add": "Aggiungi",
  "wizard.source.button_get_free": "Ottieni VPN gratuito!",
  "wizard.source.label_sources": "Sorgenti",
  "wizard.source.no_sources": "Nessuna sorgente definita in ParserConfig.",
  "wizard.source.connections_n": "Connessioni %d",
  "wizard.source.source_n": "Sorgente %d",
  "wizard.source.placeholder_prefix": "prefisso",
  "wizard.source.button_view": "Visualizza",
  "wizard.source.button_del": "Elimina",
  "wizard.source.dialog_copied_title": "Copiato",
  "wizard.source.dialog_copied_message": "Sorgente copiata negli appunti.",
  "wizard.source.preview_click_refresh": "Clicca Aggiorna per caricare i server da tutte le sorgenti.",
  "wizard.source.preview_no_sources": "Nessuna sorgente. Aggiungi URL e clicca Aggiorna.",
  "wizard.source.preview_loading": "Caricamento...",
  "wizard.source.preview_error": "Errore: %s",
  "wizard.source.preview_servers": "%d server da %d sorgente",
  "wizard.source.preview_errors": "  ⚠️ %d errori",
  "wizard.source.button_refresh": "Aggiorna",
  "wizard.source.view_title": "Server — %s",
  "wizard.source.view_close": "Chiudi",
  "wizard.source.view_no_servers": "Nessun server trovato.",
  "wizard.source.view_server_count": "%d server",

  "wizard.outbounds.placeholder": "Inserisci JSON ParserConfig qui...",
  "wizard.outbounds.button_docs": "📖 Documentazione",
  "wizard.outbounds.label": "ParserConfig:",
  "wizard.outbounds.error_serialize": "Impossibile serializzare ParserConfig",
  "wizard.outbounds.error_open_docs": "impossibile aprire la documentazione",
  "wizard.outbounds.error_invalid_json": "JSON ParserConfig non valido",
  "wizard.outbounds.error_invalid_config": "ParserConfig non valido",

  "wizard.rules.button_srs_download": "⬇ srs",
  "wizard.rules.button_srs_loading": "🔄 srs",
  "wizard.rules.button_srs_done": "✔️ srs",
  "wizard.rules.template_not_found": "File modello bin/%s non trovato.",
  "wizard.rules.template_create_hint": "Crea il file modello per abilitare questa scheda.",
  "wizard.rules.no_selectable_rules": "Nessuna regola selezionabile definita nel modello.",
  "wizard.rules.label_outbound": "Outbound:",
  "wizard.rules.button_info": "?",
  "wizard.rules.button_edit": "✏️",
  "wizard.rules.button_delete": "Delete rule",
  "wizard.rules.dialog_delete_unnamed": "(unnamed rule)",
  "wizard.rules.dialog_delete_confirm": "Delete custom rule \"%s\"?",
  "wizard.rules.button_add_rule": "➕ Aggiungi Regola",
  "wizard.rules.label_final_outbound": "Outbound finale:",
  "wizard.rules.checkbox_tun": "TUN",
  "wizard.rules.tun_help": "Abilitare TUN richiederà l'inserimento della password all'avvio o arresto della VPN.",
  "wizard.rules.label_selectable": "Regole selezionabili",
  "wizard.rules.error_srs_failed": "Download set di regole (SRS) fallito",

  "wizard.preview.placeholder": "L'anteprima apparirà qui",
  "wizard.preview.status_click_show": "Clicca 'Mostra Anteprima' per generare l'anteprima (potrebbe richiedere tempo per configurazioni grandi)",
  "wizard.preview.button_show": "Mostra Anteprima",
  "wizard.preview.label": "Anteprima",
  "wizard.preview.loading_large": "Caricamento anteprima grande...",
  "wizard.preview.status_loading_large": "⏳ Caricamento anteprima grande...",
  "wizard.preview.status_parsing": "⏳ Parsing sottoscrizioni e generazione outbounds...",
  "wizard.preview.text_parsing": "Parsing della configurazione... Attendere.",
  "wizard.preview.text_building": "Costruzione anteprima...",
  "wizard.preview.status_building": "⏳ Costruzione della configurazione per l'anteprima...",
  "wizard.preview.status_parsing_config": "⏳ Parsing ParserConfig...",
  "wizard.preview.error": "Errore anteprima: %v",
  "wizard.preview.status_error": "❌ Errore: %v",
  "wizard.preview.status_ready": "✅ Anteprima pronta",

  "wizard.save.error_config_empty": "ParserConfig vuoto",
  "wizard.save.error_config_invalid": "ParserConfig non valido",
  "wizard.save.error_no_sources": "Aggiungi almeno una sorgente: usa la scheda Sorgenti (Aggiungi) o aggiungi proxy in ParserConfig nella scheda Outbounds.",
  "wizard.save.dialog_saving": "Salvataggio",
  "wizard.save.dialog_in_progress": "Operazione di salvataggio già in corso... Attendere.",
  "wizard.save.status_waiting": "Attesa parsing...",
  "wizard.save.status_parsing": "Parsing sottoscrizioni...",
  "wizard.save.status_building": "Costruzione config...",
  "wizard.save.status_preparing": "Preparazione...",
  "wizard.save.status_validating": "Validazione...",
  "wizard.save.status_saving_state": "Salvataggio stato...",
  "wizard.save.status_done": "Fatto",
  "wizard.save.button_copy": "Copia config",
  "wizard.save.dialog_validation_failed": "Validazione fallita",
  "wizard.save.dialog_copied_title": "Copiato",
  "wizard.save.dialog_copied_message": "Config copiato negli appunti.",
  "wizard.save.dialog_success_message": "Config scritto in %s\n\n✅ Validazione: Superata",
  "wizard.save.dialog_success_title": "Config salvato",
  "wizard.save.error_parse_failed": "Parsing delle sottoscrizioni fallito",
  "wizard.save.error_controller": "controller non disponibile",

  "wizard.add_rule.title_add": "Aggiungi Regola",
  "wizard.add_rule.title_edit": "Modifica Regola",
  "wizard.add_rule.placeholder_name": "Nome regola",
  "wizard.add_rule.placeholder_ip": "Inserisci indirizzi IP (formato CIDR)\nes. 192.168.1.0/24",
  "wizard.add_rule.placeholder_url": "Inserisci domini o URL (uno per riga)\nes. example.com",
  "wizard.add_rule.label_processes": "Processi (seleziona tramite popup):",
  "wizard.add_rule.button_select_processes": "Seleziona processi...",
  "wizard.add_rule.check_match_by_path": "Corrispondenza per percorso",
  "wizard.add_rule.radio_simple": "Semplice",
  "wizard.add_rule.radio_regex": "Regex",
  "wizard.add_rule.placeholder_path_simple": "Uno per riga. Usa * come wildcard (es. */steam/* o *\\Steam\\*).",
  "wizard.add_rule.placeholder_path_regex": "Uno per riga. Regex completo così com'è (nessun /regex/i). Es. ^C:\\\\Games\\\\.* o .*steam.*",
  "wizard.add_rule.label_path_patterns": "Pattern di percorso (uno per riga):",
  "wizard.add_rule.placeholder_custom": "JSON personalizzato (es. {})",
  "wizard.add_rule.label_custom_json": "JSON personalizzato:",
  "wizard.add_rule.placeholder_srs_urls": "URL SRS (uno per riga)\nes. https://raw.githubusercontent.com/.../file.srs",
  "wizard.add_rule.label_srs_urls": "URL SRS (uno per riga):",
  "wizard.add_rule.placeholder_raw": "{\"ip_cidr\": [], \"outbound\": \"proxy-out\"}",
  "wizard.add_rule.type_ip": "Indirizzi IP (CIDR)",
  "wizard.add_rule.type_domain": "Domini/URL",
  "wizard.add_rule.type_process": "Processi",
  "wizard.add_rule.type_srs": "SRS",
  "wizard.add_rule.type_custom": "JSON personalizzato",
  "wizard.add_rule.domain_exact": "Domini esatti",
  "wizard.add_rule.domain_suffix": "Suffisso",
  "wizard.add_rule.domain_keyword": "Parola chiave",
  "wizard.add_rule.domain_regex": "Regex",
  "wizard.add_rule.label_ip": "Indirizzi IP (uno per riga, formato CIDR):",
  "wizard.add_rule.label_domains": "Domini (uno per riga):",
  "wizard.add_rule.label_suffixes": "Suffissi dominio (uno per riga):",
  "wizard.add_rule.label_keywords": "Parole chiave dominio (uno per riga):",
  "wizard.add_rule.label_domain_regex": "Regex per dominio:",
  "wizard.add_rule.placeholder_domain_regex": "Es. ^.*\\.google\\.com$ or .*\\.(google|youtube)\\.com$ (regex completo, senza /.../)",
  "wizard.add_rule.label_outbound": "Outbound:",
  "wizard.add_rule.button_add": "Aggiungi",
  "wizard.add_rule.button_save": "Salva",
  "wizard.add_rule.button_cancel": "Annulla",
  "wizard.add_rule.button_remove": "−",
  "wizard.add_rule.window_select_processes": "Seleziona processi",
  "wizard.add_rule.button_add_process": "+ Aggiungi",
  "wizard.add_rule.button_refresh": "Aggiorna",
  "wizard.add_rule.button_close": "Chiudi",
  "wizard.add_rule.label_name": "Nome regola:",
  "wizard.add_rule.label_type": "Tipo regola:",
  "wizard.add_rule.tab_form": "Form",
  "wizard.add_rule.tab_raw": "Raw",
  "wizard.add_rule.error_name_required": "Nome regola richiesto",
  "wizard.add_rule.error_raw_empty": "JSON Raw vuoto",
  "wizard.add_rule.error_must_be_object": "la regola deve essere un oggetto JSON",
  "wizard.add_rule.error_must_have_outbound": "la regola deve contenere \"outbound\" o \"action\"",
  "wizard.add_rule.dialog_not_recognized_title": "Regola non riconosciuta",
  "wizard.add_rule.dialog_not_recognized_msg": "Impossibile riconoscere la regola, il form non può essere caricato; resta su Raw.",
  "wizard.add_rule.srs_hint": "Si consiglia di cercare file set-di-regole adatti nel progetto:",
  "wizard.add_rule.srs_dialog_title": "Set di regole SRS",
  "wizard.add_rule.srs_dialog_close": "Chiudi",
  "wizard.add_rule.button_open": "Apri",
  "wizard.add_rule.error_path_required": "inserisci almeno un pattern di percorso",
  "wizard.add_rule.error_srs_required": "inserisci almeno un URL SRS",
  "wizard.add_rule.error_srs_valid": "inserisci almeno un URL SRS valido",
  "wizard.add_rule.error_custom_empty": "JSON personalizzato vuoto",
  "wizard.add_rule.error_custom_object": "JSON personalizzato deve essere un oggetto",

  "wizard.save_state.title": "Salva stato",
  "wizard.save_state.placeholder_id": "Inserisci ID stato (a-z, A-Z, 0-9, -, _)",
  "wizard.save_state.placeholder_comment": "Commento (opzionale)",
  "wizard.save_state.warning_exists": "Esiste già uno stato con questo ID. Verrà sovrascritto.",
  "wizard.save_state.label_id": "ID stato:",
  "wizard.save_state.label_comment": "Commento:",
  "wizard.save_state.button_save": "Salva",
  "wizard.save_state.button_cancel": "Annulla",
  "wizard.save_state.error_empty": "L'ID non può essere vuoto",

  "wizard.load_state.title": "Carica stato",
  "wizard.load_state.error_load_list": "Impossibile caricare la lista stati",
  "wizard.load_state.suffix_current": " (Corrente)",
  "wizard.load_state.button_load": "Carica",
  "wizard.load_state.button_new": "Nuovo",
  "wizard.load_state.button_delete": "Elimina",
  "wizard.load_state.button_cancel": "Annulla",
  "wizard.load_state.error_delete_current": "Impossibile eliminare lo stato corrente (state.json)",
  "wizard.load_state.dialog_delete_title": "Elimina stato",
  "wizard.load_state.dialog_delete_confirm": "Eliminare lo stato '%s'?",
  "wizard.load_state.error_delete": "Impossibile eliminare lo stato",

  "wizard.get_free.loading_title": "Caricamento",
  "wizard.get_free.loading_msg": "Download di get_free.json...",
  "wizard.get_free.error_occurred": "Si è verificato un errore: %v",
  "wizard.get_free.error_download": "Impossibile scaricare get_free.json:\n\nControlla la connessione e riprova.",
  "wizard.get_free.error_load": "Impossibile caricare get_free.json:\n\nControlla il file o prova a scaricarlo di nuovo.",
  "wizard.get_free.error_data_not_loaded": "Errore: dati non caricati",
  "wizard.get_free.error_process": "Impossibile processare get_free.json",
  "wizard.get_free.button_apply": "Applica configurazione",
  "wizard.get_free.dialog_apply_title": "Applica configurazione",
  "wizard.get_free.dialog_apply_confirm": "Applicando questa configurazione sostituirai le tue sorgenti e regole correnti. Continuare?",
  "wizard.get_free.error_apply": "Impossibile applicare la configurazione",
  "wizard.get_free.dialog_success_title": "Successo",
  "wizard.get_free.dialog_success_msg": "Configurazione da get_free.json applicata con successo!",
  "wizard.get_free.dialog_title": "Ottieni VPN gratuito",
  "wizard.get_free.button_close": "Chiudi",

  "wizard.outbound.title_edit": "Modifica Outbound",
  "wizard.outbound.title_add": "Aggiungi Outbound",
  "wizard.outbound.placeholder_tag": "es. proxy-out",
  "wizard.outbound.type_manual": "manuale (selector)",
  "wizard.outbound.type_auto": "auto (urltest)",
  "wizard.outbound.placeholder_comment": "Commento opzionale",
  "wizard.outbound.scope_all": "Per tutti",
  "wizard.outbound.scope_source": "Per sorgente: ",
  "wizard.outbound.label_source": "Sorgente ",
  "wizard.outbound.label_tag": "tag",
  "wizard.outbound.placeholder_filter": "es. /🇳🇱/i o !/(🇷🇺)/i",
  "wizard.outbound.placeholder_preferred": "es. /🇳🇱/i",
  "wizard.outbound.label_filters": "Filtri (chiave e valore; usa !/regex/i per negazione)",
  "wizard.outbound.label_preferred": "Predefinito preferito (filtro per il nodo predefinito)",
  "wizard.outbound.label_add_outbounds": "Aggiungi outbounds all'inizio (direct-out, reject e altri)",
  "wizard.outbound.label_raw_json": "Raw JSON outbound",
  "wizard.outbound.button_docs": "📖 Documentazione",
  "wizard.outbound.label_scope": "Ambito",
  "wizard.outbound.label_tag_field": "Tag",
  "wizard.outbound.label_type": "Tipo",
  "wizard.outbound.label_comment": "Commento",
  "wizard.outbound.preview_switch": "Vai su Anteprima per vedere i nodi per questo outbound.",
  "wizard.outbound.preview_no_presenter": "Anteprima non disponibile in questo contesto (nessun presenter).",
  "wizard.outbound.preview_model_nil": "Anteprima non disponibile: modello wizard non inizializzato.",
  "wizard.outbound.preview_invalid_json": "Impossibile creare l'anteprima: JSON outbound non valido. Passa alla scheda \"Raw\" e correggi il JSON.",
  "wizard.outbound.preview_cache_failed": "Impossibile creare cache anteprima: %v",
  "wizard.outbound.preview_no_nodes": "Nessun nodo per l'anteprima. Configura le sorgenti e riprova.",
  "wizard.outbound.preview_unknown_source": "Sorgente sconosciuta",
  "wizard.outbound.preview_status": "%d nodi totali, %d corrispondenti ai filtri",
  "wizard.outbound.preview_default": ", predefinito: %s",
  "wizard.outbound.preview_also_includes": " | Include anche: %s",
  "wizard.outbound.preview_source_errors": " | ⚠️ %d errori sorgenti",
  "wizard.outbound.tab_settings": "Impostazioni",
  "wizard.outbound.tab_raw": "Raw",
  "wizard.outbound.tab_preview": "Anteprima",
  "wizard.outbound.button_cancel": "Annulla",
  "wizard.outbound.button_save": "Salva",
  "wizard.outbound.error_config": "ParserConfig non disponibile",
  "wizard.outbound.error_invalid_json": "JSON non valido",
  "wizard.outbound.error_tag_required": "il tag è obbligatorio",
  "wizard.outbound.error_open_docs": "impossibile aprire la documentazione",
  "wizard.outbound.configurator_label": "Outbounds:",
  "wizard.outbound.button_add": "Aggiungi"
}
