# Catalogo dei messaggi statici di Hermes -- Italiano # See locales/en.yaml for the source of truth; keep keys in sync. approval: dangerous_header: "⚠️ COMANDO PERICOLOSO: {description}" choose_long: " [o]una volta | [s]essione | [a]sempre | [d]nega" choose_short: " [o]una volta | [s]essione | [d]nega" prompt_long: " Scelta [o/s/a/D]: " prompt_short: " Scelta [o/s/D]: " timeout: " ⏱ Tempo scaduto — comando negato" allowed_once: " ✓ Consentito una volta" allowed_session: " ✓ Consentito per questa sessione" allowed_always: " ✓ Aggiunto alla lista permessi permanente" denied: " ✗ Negato" cancelled: " ✗ Annullato" blocklist_message: "Questo comando è nella lista di blocco incondizionata e non può essere approvato." gateway: approval_expired: "⚠️ Approvazione scaduta (l'agente non è più in attesa). Chiedi all'agente di riprovare." draining: "⏳ Attendo il completamento di {count} agente/i attivo/i prima di riavviare..." goal_cleared: "✓ Obiettivo cancellato." no_active_goal: "Nessun obiettivo attivo." config_read_failed: "⚠️ Impossibile leggere config.yaml: {error}" config_save_failed: "⚠️ Impossibile salvare la configurazione: {error}" model: error_prefix: "Errore: {error}" switched: "Modello cambiato a `{model}`" provider_label: "Provider: {provider}" context_label: "Contesto: {tokens} token" max_output_label: "Output massimo: {tokens} token" cost_label: "Costo: {cost}" capabilities_label: "Capacità: {capabilities}" prompt_caching_enabled: "Caching dei prompt: attivo" warning_prefix: "Avviso: {warning}" saved_global: "Salvato in config.yaml (`--global`)" session_only_hint: "_(solo per questa sessione — aggiungi `--global` per renderlo permanente)_" current_label: "Attuale: `{model}` su {provider}" current_tag: " (attuale)" more_models_suffix: " (+{count} altri)" usage_switch_model: "`/model ` — cambia modello" usage_switch_provider: "`/model --provider ` — cambia provider" usage_persist: "`/model --global` — rendi permanente" agents: header: "🤖 **Agenti e attività attivi**" active_agents: "**Agenti attivi:** {count}" this_chat: " · questa chat" more: "... e {count} altri" running_processes: "**Processi in background in esecuzione:** {count}" async_jobs: "**Job asincroni del gateway:** {count}" none: "Nessun agente attivo o attività in esecuzione." state_starting: "in avvio" state_running: "in esecuzione" approve: no_pending: "Nessun comando in attesa di approvazione." once_singular: "✅ Comando approvato. L'agente sta riprendendo..." once_plural: "✅ Comandi approvati ({count} comandi). L'agente sta riprendendo..." session_singular: "✅ Comando approvato (modello approvato per questa sessione). L'agente sta riprendendo..." session_plural: "✅ Comandi approvati (modello approvato per questa sessione) ({count} comandi). L'agente sta riprendendo..." always_singular: "✅ Comando approvato (modello approvato in modo permanente). L'agente sta riprendendo..." always_plural: "✅ Comandi approvati (modello approvato in modo permanente) ({count} comandi). L'agente sta riprendendo..." background: usage: "Uso: /background \nEsempio: /background Riassumi le principali notizie di HN di oggi\n\nEsegue il prompt in una sessione separata. Puoi continuare a chattare — il risultato apparirà qui al termine." started: "🔄 Attività in background avviata: \"{preview}\"\nID attività: {task_id}\nPuoi continuare a chattare — i risultati appariranno al termine." branch: db_unavailable: "Database delle sessioni non disponibile." no_conversation: "Nessuna conversazione da diramare — invia prima un messaggio." create_failed: "Creazione del ramo non riuscita: {error}" switch_failed: "Ramo creato ma il passaggio ad esso non è riuscito." branched_one: "⑂ Diramato in **{title}** ({count} messaggio copiato)\nOriginale: `{parent}`\nRamo: `{new}`\nUsa `/resume` per tornare all'originale." branched_many: "⑂ Diramato in **{title}** ({count} messaggi copiati)\nOriginale: `{parent}`\nRamo: `{new}`\nUsa `/resume` per tornare all'originale." commands: usage: "Uso: `/commands [page]`" skill_header: "⚡ **Comandi skill**:" default_desc: "Comando skill" none: "Nessun comando disponibile." header: "📚 **Comandi** ({total} totali, pagina {page}/{total_pages})" nav_prev: "`/commands {page}` ← prec" nav_next: "succ → `/commands {page}`" out_of_range: "_(La pagina richiesta {requested} è fuori intervallo, mostrando la pagina {page}.)_" compress: not_enough: "Conversazione insufficiente da comprimere (servono almeno 4 messaggi)." no_provider: "Nessun provider configurato — impossibile comprimere." nothing_to_do: "Niente da comprimere per ora (la trascrizione è ancora tutta contesto protetto)." focus_line: "Focus: \"{topic}\"" summary_failed: "⚠️ Generazione del riepilogo non riuscita ({error}). {count} messaggio/i storico/i sono stati rimossi e sostituiti con un segnaposto; il contesto precedente non è più recuperabile. Considera di controllare la configurazione del modello auxiliary.compression." aux_failed: "ℹ️ Il modello di compressione configurato `{model}` non è riuscito ({error}). Recupero effettuato usando il modello principale — il contesto è intatto — ma potresti voler controllare `auxiliary.compression.model` in config.yaml." failed: "Compressione non riuscita: {error}" debug: upload_failed: "✗ Caricamento del report di debug non riuscito: {error}" header: "**Report di debug caricato:**" auto_delete: "⏱ I paste verranno eliminati automaticamente tra 6 ore." full_logs_hint: "Per il caricamento dei log completi, usa `hermes debug share` dalla CLI." share_hint: "Condividi questi link con il team Hermes per ricevere supporto." deny: stale: "❌ Comando negato (l'approvazione era obsoleta)." no_pending: "Nessun comando in attesa da negare." denied_singular: "❌ Comando negato." denied_plural: "❌ Comandi negati ({count} comandi)." fast: not_supported: "⚡ /fast è disponibile solo per i modelli OpenAI che supportano Priority Processing." status: "⚡ Priority Processing\n\nModalità attuale: `{mode}`\n\n_Uso:_ `/fast `" unknown_arg: "⚠️ Argomento sconosciuto: `{arg}`\n\n**Opzioni valide:** normal, fast, status" saved: "⚡ ✓ Priority Processing: **{label}** (salvato nella configurazione)\n_(verrà applicato al prossimo messaggio)_" session_only: "⚡ ✓ Priority Processing: **{label}** (solo per questa sessione)" label_fast: "FAST" label_normal: "NORMAL" status_fast: "fast" status_normal: "normal" footer: status: "📎 Footer di runtime: **{state}**\nCampi: `{fields}`\nPiattaforma: `{platform}`" usage: "Uso: `/footer [on|off|status]`" saved: "📎 Footer di runtime: **{state}**{example}\n_(salvato globalmente — verrà applicato al prossimo messaggio)_" example_line: "\nEsempio: `{preview}`" state_on: "ON" state_off: "OFF" goal: unavailable: "Gli obiettivi non sono disponibili in questa sessione." no_goal_set: "Nessun obiettivo impostato." paused: "⏸ Obiettivo in pausa: {goal}" no_resume: "Nessun obiettivo da riprendere." resumed: "▶ Obiettivo ripreso: {goal}\nInvia un messaggio per continuare, oppure aspetta — farò il prossimo passo al turno successivo." invalid: "Obiettivo non valido: {error}" set: "⊙ Obiettivo impostato (budget di {budget} turni): {goal}\nContinuerò a lavorare finché l'obiettivo non sarà completato, lo metterai in pausa/lo cancellerai, oppure il budget sarà esaurito.\nControlli: /goal status · /goal pause · /goal resume · /goal clear" help: header: "📖 **Comandi Hermes**\n" skill_header: "\n⚡ **Comandi skill** ({count} attivi):" more_use_commands: "\n... e altri {count}. Usa `/commands` per la lista paginata completa." insights: invalid_days: "Valore --days non valido: {value}" error: "Errore nella generazione degli insight: {error}" kanban: error_prefix: "⚠ errore kanban: {error}" subscribed_suffix: "(iscritto — riceverai notifica quando {task_id} verrà completato o si bloccherà)" truncated_suffix: "… (troncato; usa `hermes kanban …` nel terminale per l'output completo)" no_output: "(nessun output)" personality: none_configured: "Nessuna personalità configurata in `{path}/config.yaml`" header: "🎭 **Personalità disponibili**\n" none_option: "• `none` — (nessun overlay di personalità)" item: "• `{name}` — {preview}" usage: "\nUso: `/personality `" save_failed: "⚠️ Salvataggio del cambio di personalità non riuscito: {error}" cleared: "🎭 Personalità cancellata — uso il comportamento base dell'agente.\n_(verrà applicato al prossimo messaggio)_" set_to: "🎭 Personalità impostata su **{name}**\n_(verrà applicato al prossimo messaggio)_" unknown: "Personalità sconosciuta: `{name}`\n\nDisponibili: {available}" profile: header: "👤 **Profilo:** `{profile}`" home: "📂 **Home:** `{home}`" reasoning: level_default: "medio (predefinito)" level_disabled: "nessuno (disattivato)" scope_session: "override di sessione" scope_global: "configurazione globale" status: "🧠 **Impostazioni di reasoning**\n\n**Sforzo:** `{level}`\n**Ambito:** {scope}\n**Visualizzazione:** {display}\n\n_Uso:_ `/reasoning [--global]`" display_on: "attivo ✓" display_off: "disattivato" display_set_on: "🧠 ✓ Visualizzazione del reasoning: **ATTIVA**\nIl pensiero del modello verrà mostrato prima di ogni risposta su **{platform}**." display_set_off: "🧠 ✓ Visualizzazione del reasoning: **DISATTIVATA** per **{platform}**" reset_global_unsupported: "⚠️ `/reasoning reset --global` non è supportato. Usa `/reasoning --global` per cambiare il valore predefinito globale." reset_done: "🧠 ✓ Override di reasoning della sessione cancellato; ripristino della configurazione globale." unknown_arg: "⚠️ Argomento sconosciuto: `{arg}`\n\n**Livelli validi:** none, minimal, low, medium, high, xhigh\n**Visualizzazione:** show, hide\n**Persistenza:** aggiungi `--global` per salvare oltre questa sessione" set_global: "🧠 ✓ Sforzo di reasoning impostato su `{effort}` (salvato nella configurazione)\n_(verrà applicato al prossimo messaggio)_" set_global_save_failed: "🧠 ✓ Sforzo di reasoning impostato su `{effort}` (solo per questa sessione — salvataggio della configurazione non riuscito)\n_(verrà applicato al prossimo messaggio)_" set_session: "🧠 ✓ Sforzo di reasoning impostato su `{effort}` (solo per questa sessione — aggiungi `--global` per renderlo permanente)\n_(verrà applicato al prossimo messaggio)_" reload_mcp: cancelled: "🟡 /reload-mcp annullato. Strumenti MCP invariati." always_followup: "ℹ️ Le future chiamate a `/reload-mcp` verranno eseguite senza conferma. Riattiva tramite `approvals.mcp_reload_confirm: true` in config.yaml." confirm_prompt: "⚠️ **Conferma /reload-mcp**\n\nIl ricaricamento dei server MCP ricostruisce il set di strumenti per questa sessione e **invalida la cache dei prompt del provider** — il prossimo messaggio invierà nuovamente tutti i token di input. Sui modelli a contesto lungo o ad alto reasoning questo può essere costoso.\n\nScegli:\n• **Approva una volta** — ricarica ora\n• **Approva sempre** — ricarica ora e silenzia questa richiesta in modo permanente\n• **Annulla** — lascia gli strumenti MCP invariati\n\n_Alternativa testuale: rispondi `/approve`, `/always`, oppure `/cancel`._" header: "🔄 **Server MCP ricaricati**\n" reconnected: "♻️ Riconnessi: {names}" added: "➕ Aggiunti: {names}" removed: "➖ Rimossi: {names}" none_connected: "Nessun server MCP connesso." tools_available: "\n🔧 {tools} strumento/i disponibile/i da {servers} server" failed: "❌ Ricaricamento MCP non riuscito: {error}" reload_skills: header: "🔄 **Skill ricaricate**\n" no_new: "Nessuna nuova skill rilevata." total: "\n📚 {count} skill disponibili" added_header: "➕ **Skill aggiunte:**" removed_header: "➖ **Skill rimosse:**" item_with_desc: " - {name}: {desc}" item_no_desc: " - {name}" failed: "❌ Ricaricamento delle skill non riuscito: {error}" reset: header_default: "✨ Sessione reimpostata! Si ricomincia da zero." header_new: "✨ Nuova sessione avviata!" header_titled: "✨ Nuova sessione avviata: {title}" title_rejected: "\n⚠️ Titolo rifiutato: {error}" title_error_untitled: "\n⚠️ {error} — sessione avviata senza titolo." title_empty_untitled: "\n⚠️ Il titolo è vuoto dopo la pulizia — sessione avviata senza titolo." tip: "\n✦ Suggerimento: {tip}" restart: in_progress: "⏳ Riavvio del gateway già in corso..." restarting: "♻ Riavvio del gateway. Se non ricevi una notifica entro 60 secondi, riavvia dalla console con `hermes gateway restart`." resume: db_unavailable: "Database delle sessioni non disponibile." no_named_sessions: "Nessuna sessione con nome trovata.\nUsa `/title My Session` per dare un nome alla sessione attuale, poi `/resume My Session` per tornare a essa in seguito." list_header: "📋 **Sessioni con nome**\n" list_item: "• **{title}**{preview_part}" list_preview_suffix: " — _{preview}_" list_footer: "\nUso: `/resume `" list_failed: "Impossibile elencare le sessioni: {error}" not_found: "Nessuna sessione trovata corrispondente a '**{name}**'.\nUsa `/resume` senza argomenti per vedere le sessioni disponibili." already_on: "📌 Già nella sessione **{name}**." switch_failed: "Cambio di sessione non riuscito." resumed_one: "↻ Sessione **{title}** ripresa ({count} messaggio). Conversazione ripristinata." resumed_many: "↻ Sessione **{title}** ripresa ({count} messaggi). Conversazione ripristinata." resumed_no_count: "↻ Sessione **{title}** ripresa. Conversazione ripristinata." retry: no_previous: "Nessun messaggio precedente da ripetere." rollback: not_enabled: "I checkpoint non sono abilitati.\nAbilitali in config.yaml:\n```\ncheckpoints:\n enabled: true\n```" none_found: "Nessun checkpoint trovato per {cwd}" invalid_number: "Numero di checkpoint non valido. Usa 1-{max}." restored: "✅ Ripristinato al checkpoint {hash}: {reason}\nUno snapshot pre-rollback è stato salvato automaticamente." restore_failed: "❌ {error}" set_home: save_failed: "Salvataggio del canale home non riuscito: {error}" success: "✅ Canale home impostato su **{name}** (ID: {chat_id}).\nI cron job e i messaggi cross-platform verranno consegnati qui." status: header: "📊 **Stato del Gateway Hermes**" session_id: "**ID sessione:** `{session_id}`" title: "**Titolo:** {title}" created: "**Creata:** {timestamp}" last_activity: "**Ultima attività:** {timestamp}" tokens: "**Token:** {tokens}" agent_running: "**Agente in esecuzione:** {state}" state_yes: "Sì ⚡" state_no: "No" queued: "**Follow-up in coda:** {count}" platforms: "**Piattaforme connesse:** {platforms}" stop: stopped_pending: "⚡ Fermato. L'agente non era ancora partito — puoi continuare questa sessione." stopped: "⚡ Fermato. Puoi continuare questa sessione." no_active: "Nessuna attività attiva da fermare." title: db_unavailable: "Database delle sessioni non disponibile." warn_prefix: "⚠️ {error}" empty_after_clean: "⚠️ Il titolo è vuoto dopo la pulizia. Usa caratteri stampabili." set_to: "✏️ Titolo della sessione impostato: **{title}**" not_found: "Sessione non trovata nel database." current_with_title: "📌 Sessione: `{session_id}`\nTitolo: **{title}**" current_no_title: "📌 Sessione: `{session_id}`\nNessun titolo impostato. Uso: `/title My Session Name`" topic: not_telegram_dm: "Il comando /topic è disponibile solo nelle chat private di Telegram." no_session_db: "Database delle sessioni non disponibile." unauthorized: "Non sei autorizzato a usare /topic su questo bot." restore_needs_topic: "Per ripristinare una sessione, crea o apri prima un topic Telegram, poi invia /topic all'interno di quel topic. Per creare un nuovo topic, apri All Messages e invia un messaggio qualsiasi lì." topics_disabled: "I topic Telegram non sono ancora abilitati per questo bot.\n\nCome abilitarli:\n1. Apri @BotFather.\n2. Scegli il tuo bot.\n3. Apri Bot Settings → Threads Settings.\n4. Attiva la modalità Threaded e assicurati che gli utenti possano creare nuovi thread.\n\nPoi invia di nuovo /topic." topics_user_disallowed: "I topic Telegram sono abilitati, ma agli utenti non è permesso crearne.\n\nApri @BotFather → scegli il tuo bot → Bot Settings → Threads Settings, poi disattiva 'Disallow users to create new threads'.\n\nPoi invia di nuovo /topic." enable_failed: "Abilitazione della modalità topic Telegram non riuscita: {error}" bound_status: "Questo topic è collegato a:\nSessione: {label}\nID: {session_id}\n\nUsa /new per sostituire questo topic con una nuova sessione.\nPer lavorare in parallelo, apri All Messages e invia un messaggio lì per creare un altro topic." thread_ready: "I topic multi-sessione di Telegram sono abilitati.\n\nQuesto topic verrà usato come una sessione Hermes indipendente. Usa /new per sostituire la sessione corrente di questo topic. Per lavorare in parallelo, apri All Messages e invia un messaggio lì per creare un altro topic." untitled_session: "Sessione senza titolo" undo: nothing: "Niente da annullare." removed: "↩️ Annullati {count} messaggio/i.\nRimosso: \"{preview}\"" update: platform_not_messaging: "✗ /update è disponibile solo dalle piattaforme di messaggistica. Esegui `hermes update` dal terminale." not_git_repo: "✗ Non è un repository git — impossibile aggiornare." hermes_cmd_not_found: "✗ Impossibile localizzare il comando `hermes`. Hermes è in esecuzione, ma il comando di aggiornamento non ha trovato l'eseguibile nel PATH o tramite l'interprete Python attuale. Prova a eseguire `hermes update` manualmente nel terminale." start_failed: "✗ Avvio dell'aggiornamento non riuscito: {error}" starting: "⚕ Avvio dell'aggiornamento di Hermes… mostrerò qui i progressi in streaming." usage: rate_limits: "⏱️ **Limiti di frequenza:** {state}" header_session: "📊 **Uso dei token della sessione**" label_model: "Modello: `{model}`" label_input_tokens: "Token di input: {count}" label_cache_read: "Token di lettura cache: {count}" label_cache_write: "Token di scrittura cache: {count}" label_output_tokens: "Token di output: {count}" label_total: "Totale: {count}" label_api_calls: "Chiamate API: {count}" label_cost: "Costo: {prefix}${amount}" label_cost_included: "Costo: incluso" label_context: "Contesto: {used} / {total} ({pct}%)" label_compressions: "Compressioni: {count}" header_session_info: "📊 **Info sessione**" label_messages: "Messaggi: {count}" label_estimated_context: "Contesto stimato: ~{count} token" detailed_after_first: "_(L'uso dettagliato sarà disponibile dopo la prima risposta dell'agente)_" no_data: "Nessun dato di utilizzo disponibile per questa sessione." verbose: not_enabled: "Il comando `/verbose` non è abilitato per le piattaforme di messaggistica.\n\nAbilitalo in `config.yaml`:\n```yaml\ndisplay:\n tool_progress_command: true\n```" mode_off: "⚙️ Progresso strumenti: **OFF** — nessuna attività degli strumenti mostrata." mode_new: "⚙️ Progresso strumenti: **NEW** — mostrato quando lo strumento cambia (lunghezza anteprima: `display.tool_preview_length`, predefinito 40)." mode_all: "⚙️ Progresso strumenti: **ALL** — ogni chiamata a uno strumento viene mostrata (lunghezza anteprima: `display.tool_preview_length`, predefinito 40)." mode_verbose: "⚙️ Progresso strumenti: **VERBOSE** — ogni chiamata a uno strumento con argomenti completi." saved_suffix: "_(salvato per **{platform}** — verrà applicato al prossimo messaggio)_" save_failed: "_(impossibile salvare nella configurazione: {error})_" voice: enabled_voice_only: "Modalità vocale attivata.\nRisponderò con la voce quando invii messaggi vocali.\nUsa /voice tts per ricevere risposte vocali per tutti i messaggi." disabled_text: "Modalità vocale disattivata. Risposte solo testuali." tts_enabled: "Auto-TTS attivato.\nTutte le risposte includeranno un messaggio vocale." status_mode: "Modalità vocale: {label}" status_channel: "Canale vocale: #{channel}" status_participants: "Partecipanti: {count}" status_member: " - {name}{status}" speaking: " (sta parlando)" enabled_short: "Modalità vocale attivata." disabled_short: "Modalità vocale disattivata." label_off: "Off (solo testo)" label_voice_only: "On (risposta vocale ai messaggi vocali)" label_all: "TTS (risposta vocale a tutti i messaggi)" yolo: disabled: "⚠️ Modalità YOLO **OFF** per questa sessione — i comandi pericolosi richiederanno approvazione." enabled: "⚡ Modalità YOLO **ON** per questa sessione — tutti i comandi auto-approvati. Usa con cautela." shared: session_db_unavailable: "Database delle sessioni non disponibile." session_db_unavailable_prefix: "Database delle sessioni non disponibile" session_not_found: "Sessione non trovata nel database." warn_passthrough: "⚠️ {error}"