@loicngr/kobo 2.1.9 → 2.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +3 -1
- package/CHANGELOG.md +4 -2
- package/CONFIGURATION.md +8 -4
- package/dist/server/routes/memory.js +18 -33
- package/dist/server/routes/workspaces.js +2 -0
- package/dist/server/services/agent/engines/claude-code/engine.js +7 -3
- package/dist/server/services/agent/engines/claude-code/event-mapper.js +10 -1
- package/dist/server/services/memory-budget-service.js +22 -0
- package/dist/server/services/memory-context-service.js +39 -20
- package/dist/server/services/memory-mcp-service.js +17 -46
- package/dist/server/services/settings-defaults.js +2 -2
- package/dist/server/services/settings-service.js +2 -2
- package/dist/server/utils/memory-token-budget.js +5 -0
- package/dist/shared/memory-prompts.js +6 -7
- package/dist/shared/memory-tools.js +1 -1
- package/dist/shared/subagent-classification.js +5 -0
- package/package.json +1 -1
- package/src/client/dist/pwa/assets/{ActivityFeed-w8TNfMKd.js → ActivityFeed-CkiYsNd5.js} +2 -2
- package/src/client/dist/pwa/assets/{ChangelogPage-B1rkKskD.js → ChangelogPage-DkoB2IEa.js} +1 -1
- package/src/client/dist/pwa/assets/ComparisonPanel-DH9Q0XNK.js +2 -0
- package/src/client/dist/pwa/assets/{CreatePage-DOamHqeH.js → CreatePage-Com5PQPV.js} +2 -2
- package/src/client/dist/pwa/assets/{DashboardPage-Ds6Y8xlV.js → DashboardPage-DOeZUleS.js} +1 -1
- package/src/client/dist/pwa/assets/{DiffViewer-j7rwPKxU.js → DiffViewer-Bke40k8T.js} +4 -4
- package/src/client/dist/pwa/assets/{DocumentsPanel-BTp3J6Rq.js → DocumentsPanel-CO16-Q1X.js} +1 -1
- package/src/client/dist/pwa/assets/{DrawerToggleButton-DcVhAbjN.js → DrawerToggleButton-fjWJjVF_.js} +1 -1
- package/src/client/dist/pwa/assets/GitPanel-BAgnXzXP.js +3 -0
- package/src/client/dist/pwa/assets/{HealthPage-BSrTmp1k.js → HealthPage-DR-ywiB2.js} +1 -1
- package/src/client/dist/pwa/assets/MainLayout-B1suu_Nn.js +2 -0
- package/src/client/dist/pwa/assets/{MemoryPanel-BivQoMQ6.js → MemoryPanel-DKp9mn5X.js} +1 -1
- package/src/client/dist/pwa/assets/{MemoryProposalList-BnoVbFsj.js → MemoryProposalList-B3v7marz.js} +1 -1
- package/src/client/dist/pwa/assets/{QBtnDropdown-B9xNOKD0.js → QBtnDropdown-a6q0PVGm.js} +1 -1
- package/src/client/dist/pwa/assets/{QExpansionItem-BBTTV_37.js → QExpansionItem-2fylQBjy.js} +1 -1
- package/src/client/dist/pwa/assets/{QScrollArea-bm6nYMnB.js → QScrollArea-I9pplcfM.js} +1 -1
- package/src/client/dist/pwa/assets/QSelect-CWXNtFAO.js +1 -0
- package/src/client/dist/pwa/assets/{QTooltip-CgVCYatx.js → QTooltip-fzzd3anS.js} +1 -1
- package/src/client/dist/pwa/assets/{SchedulePanel-DNwt3V1a.js → SchedulePanel-4KNBIQvY.js} +1 -1
- package/src/client/dist/pwa/assets/{SearchPage-Dr43rGji.js → SearchPage-CGul0ui9.js} +1 -1
- package/src/client/dist/pwa/assets/SettingsPage-_h4xQlof.js +9 -0
- package/src/client/dist/pwa/assets/{SplitWorkspacePage-Cjd_Lq-0.js → SplitWorkspacePage-DxifLUAa.js} +1 -1
- package/src/client/dist/pwa/assets/{TerminalPanel-Bsrg96VZ.js → TerminalPanel-CRo3ETg_.js} +9 -9
- package/src/client/dist/pwa/assets/ToolCallItem-i60zEGsY.js +8 -0
- package/src/client/dist/pwa/assets/{ToolCallItem-DhjdG8vp.css → ToolCallItem-m-YnWEbv.css} +1 -1
- package/src/client/dist/pwa/assets/{TouchPan-CxThkotY.js → TouchPan-DjFq7Kjf.js} +1 -1
- package/src/client/dist/pwa/assets/{TourReplayButton-COI4vR7q.js → TourReplayButton-DmEgJ_5R.js} +1 -1
- package/src/client/dist/pwa/assets/{WorkspaceAttentionLabels-CqlhQOqG.js → WorkspaceAttentionLabels-C7MLWyKy.js} +1 -1
- package/src/client/dist/pwa/assets/WorkspacePage-Bw7yTZ3h.js +4 -0
- package/src/client/dist/pwa/assets/{browser-DuFAaYHh.js → browser-3unJ6AQX.js} +1 -1
- package/src/client/dist/pwa/assets/{build-path-tree-DFwB0SSs.js → build-path-tree-CPo0G1mj.js} +1 -1
- package/src/client/dist/pwa/assets/custom-sounds-C5fGFFdT.js +1 -0
- package/src/client/dist/pwa/assets/{de-YFD4X2nQ.js → de-B3oUHpbN.js} +1 -1
- package/src/client/dist/pwa/assets/{editor.api-DDwuA_C9.js → editor.api-CMBx0cvf.js} +1 -1
- package/src/client/dist/pwa/assets/{efforts-DU9dTnaN.js → efforts-Bjrcpo2R.js} +1 -1
- package/src/client/dist/pwa/assets/{es-BvRPXBHq.js → es-X1ki-Z2w.js} +1 -1
- package/src/client/dist/pwa/assets/{expand-template-LaRhdYUp.js → expand-template-cR43uBa5.js} +1 -1
- package/src/client/dist/pwa/assets/{format-BUmAn8W2.js → format-B1k_qdxW.js} +1 -1
- package/src/client/dist/pwa/assets/{formatters-DfLD95iT.js → formatters-gz0Rg7Rw.js} +1 -1
- package/src/client/dist/pwa/assets/{fr-CZhjMFZl.js → fr-nkT5LuOx.js} +1 -1
- package/src/client/dist/pwa/assets/{freemarker2-DVQM2t3e.js → freemarker2-C8DHgbX4.js} +1 -1
- package/src/client/dist/pwa/assets/{handlebars-ChiPNy9j.js → handlebars-BmEGWkcn.js} +1 -1
- package/src/client/dist/pwa/assets/{html-CnGW31DH.js → html-giJc-yQc.js} +1 -1
- package/src/client/dist/pwa/assets/i18n-PAAy4Hkn.js +1 -0
- package/src/client/dist/pwa/assets/{index-DPN7dSDH.js → index-BjqJ45nb.js} +3 -3
- package/src/client/dist/pwa/assets/{it-B4rz5PZO.js → it-Bfp_J8p0.js} +1 -1
- package/src/client/dist/pwa/assets/{javascript-BmeNra1c.js → javascript-CwQBOtjT.js} +1 -1
- package/src/client/dist/pwa/assets/{liquid-C5qQFvIu.js → liquid-BPEVDB8V.js} +1 -1
- package/src/client/dist/pwa/assets/{mdx-TsWwhlKp.js → mdx-DAa4McnC.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco-contributions-SMzL7GRn.js → monaco-contributions-Ct4RhitT.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco.contribution-sN2BZtSW.js → monaco.contribution-BKnd0ZwH.js} +2 -2
- package/src/client/dist/pwa/assets/network-auth-S-KP7qhA.js +1 -0
- package/src/client/dist/pwa/assets/{notify-theme-BXJypfo4.js → notify-theme-DIqeoflM.js} +1 -1
- package/src/client/dist/pwa/assets/{project-color-CBLQt6bM.js → project-color-LZ5CKuTW.js} +1 -1
- package/src/client/dist/pwa/assets/{python-CKHf2s-D.js → python-D8xYERv8.js} +1 -1
- package/src/client/dist/pwa/assets/{razor-D_5X4O5M.js → razor-BnFyr836.js} +1 -1
- package/src/client/dist/pwa/assets/{typescript-D62emDGo.js → typescript-DW45V56c.js} +1 -1
- package/src/client/dist/pwa/assets/{use-search-index-status-bIKbEP5q.js → use-search-index-status-DzlqDFPy.js} +1 -1
- package/src/client/dist/pwa/assets/{use-tours-CTNYIX-Q.js → use-tours-CErX5nL7.js} +2 -2
- package/src/client/dist/pwa/assets/{use-worktree-restore-D69uzYON.js → use-worktree-restore-BpaEGfds.js} +1 -1
- package/src/client/dist/pwa/assets/{workspace-templates-CSwgMrUf.js → workspace-templates-CKduJ2zA.js} +1 -1
- package/src/client/dist/pwa/assets/{xml-Kyg_K_5X.js → xml-gQTv5O31.js} +1 -1
- package/src/client/dist/pwa/assets/{yaml-DC__PKjj.js → yaml-B4TEYUEa.js} +1 -1
- package/src/client/dist/pwa/index.html +1 -1
- package/src/client/dist/pwa/sw.js +1 -1
- package/src/mcp-server/README.md +3 -1
- package/src/client/dist/pwa/assets/ComparisonPanel-kMWS9il3.js +0 -2
- package/src/client/dist/pwa/assets/GitPanel-DOugIJUS.js +0 -3
- package/src/client/dist/pwa/assets/MainLayout-DWzXL1KW.js +0 -2
- package/src/client/dist/pwa/assets/QSelect-CPE9LsIn.js +0 -1
- package/src/client/dist/pwa/assets/SettingsPage-oSGNwimG.js +0 -9
- package/src/client/dist/pwa/assets/ToolCallItem-M3CSguac.js +0 -8
- package/src/client/dist/pwa/assets/WorkspacePage-C-JXKt-S.js +0 -4
- package/src/client/dist/pwa/assets/custom-sounds-DTV-xHVv.js +0 -1
- package/src/client/dist/pwa/assets/i18n-v1pgIO4z.js +0 -1
- package/src/client/dist/pwa/assets/network-auth-DXsDKXrM.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var e={"memory.panel.contextsHint":`Cosa è stato inviato al LLM per questa conversazione.`,"memory.panel.entriesHint":`Note persistenti da modificare o riutilizzare.`,"memory.panel.proposalsHint":`Proposte degli agenti da approvare o rifiutare.`,"memory.panel.operationsHint":`Registro delle letture e delle modifiche alla memoria.`,"memory.panel.openDialog":`Apri la memoria in una finestra`,"memory.panel.closeDialog":`Chiudi la finestra della memoria`,"tours.workspace.memorySettings.title":`Gestire i tre livelli`,"tours.workspace.memorySettings.description":`Questo link apre le impostazioni Memoria: globale per tutti i progetti, progetto per i suoi workspace, workspace per questa missione. Ogni livello si cancella indipendentemente dopo conferma; le informazioni già inviate al LLM non vengono rimosse.`,"tours.settings.memoryModes.title":`Scegliere la modalità memoria`,"tours.settings.memoryModes.description":`Ibrida per impostazione predefinita: l’agente salva nel workspace e propone modifiche di progetto/globali da approvare. Manuale: scrivi solo tu. Automatica: l’agente scrive su tutti e tre i livelli. Premi Salva per applicare la modalità.`,"memory.entry.loadMore":`Carica altre memorie`,"tours.settings.skills.title":`Scegliere una suite di skill`,"tours.settings.skills.description":`Inizia con Standard: non servono estensioni. Superpowers, gstack, ECC e le combinazioni usano skill già installati e disponibili per il motore scelto. La scelta cambia le istruzioni dell’agente; non installa skill né concede permessi. Personalizzato permette di scrivere le proprie istruzioni. Salva la scelta per applicarla.`,"tours.settings.git.description":`Scegli quando gli agenti possono creare commit, eseguire push o pubblicare. Imposta convenzioni Git e prefissi dei branch.`,"tours.settings.git.title":`Flusso Git`,"settings.reviewPromptHint":`Istruzioni inviate all’agente quando si avvia una revisione del codice.`,"settings.help.git":`Preferenze per commit, push e pubblicazione, convenzioni Git e prefissi dei branch.`,"settings.nav.promptTemplates":`Modelli di prompt`,"memory.scope.label":`Ambito della memoria`,"settings.nav.memory":`Memoria`,"settings.help.memory":`Scegli come Kōbō usa la memoria e gestisci le memorie globali, di progetto e workspace.`,"memory.settings.title":`Memoria`,"memory.panel.title":`Memoria`,"memory.panel.contexts":`Contesti inviati a questa conversazione`,"memory.panel.noContext":`Nessun contesto di memoria è stato inviato a questa conversazione.`,"memory.panel.contextStats":`{tokens} token stimati · {cumulative} cumulativi · {remaining} rimanenti · {omitted} omessi`,"memory.panel.entries":`Memorie disponibili`,"memory.panel.proposals":`Proposte in sospeso`,"memory.panel.operations":`Operazioni del workspace`,"memory.panel.add":`Aggiungi memoria`,"memory.panel.clearWorkspace":`Cancella la memoria del workspace`,"memory.panel.settingsLink":`Gestisci la memoria globale e di progetto nelle impostazioni`,"memory.panel.clearConfirm":`Cancellare {entries} memorie e {proposals} proposte da questo workspace?`,"memory.panel.confirmClear":`Cancella la memoria del workspace`,"memory.panel.promoteTo":`Promuovi a`,"memory.panel.loading":`Caricamento della memoria del workspace…`,"memory.panel.loadFailed":`Impossibile caricare la memoria del workspace.`,"memory.panel.archived":`Archiviato`,"memory.panel.purged":`Worktree eliminato`,"memory.panel.changed":`Modificata dopo questo contesto`,"memory.panel.deleted":`Eliminata dopo questo contesto`,"memory.panel.truncated":`(testo abbreviato)`,"memory.engine.codex":`Codex`,"memory.engine.claude-code":`Claude Code`,"memory.context.state.failed":`Non riuscito`,"memory.context.state.prepared":`Preparato`,"memory.context.state.submitted":`Inviato`,"memory.context.state.initialized":`Inizializzato`,"memory.context.state.unknown":`Consegna sconosciuta`,"memory.settings.intro":`La memoria conserva note esplicite per le future sessioni degli agenti. Non sostituisce la cronologia del provider né quella della chat.`,"memory.settings.mode":`Comportamento automatico della memoria`,"memory.settings.mode.manual":`Manuale`,"memory.settings.modeHint.manual":`Gli agenti possono leggere la memoria. Solo tu puoi creare o modificare le note.`,"memory.settings.mode.automatic":`Automatico`,"memory.settings.modeHint.automatic":`Gli agenti possono recuperare e aggiornare automaticamente le memorie pertinenti.`,"memory.settings.mode.hybrid":`Ibrido`,"memory.settings.modeHint.hybrid":`Gli agenti possono modificare direttamente la memoria del workspace. Le modifiche di progetto e globali richiedono la tua approvazione.`,"memory.settings.saveNote":`La modalità fa parte delle impostazioni e si applica dopo il salvataggio. Se esci senza salvare, resta la modalità precedente.`,"memory.settings.manageTitle":`Esplora e gestisci la memoria`,"memory.settings.independentNote":`Creare, modificare, approvare ed eliminare la memoria ha effetto immediato, indipendentemente dal salvataggio delle impostazioni.`,"memory.settings.add":`Aggiungi memoria`,"memory.settings.clear":`Svuota questo ambito…`,"memory.settings.clearConfirmTitle":`Svuotare questo ambito della memoria?`,"memory.settings.clearConfirm":`Verranno eliminate {entries} memorie e {proposals} proposte in sospeso dall’ambito {scope} selezionato.`,"memory.settings.clearWarning":`Questo elimina solo i dati di memoria di Kōbō, non le conversazioni precedenti del provider né la cronologia della chat.`,"memory.settings.confirmClear":`Svuota ambito`,"memory.settings.cancel":`Annulla`,"memory.settings.loadFailed":`Impossibile caricare gli ambiti della memoria.`,"memory.settings.saveFailed":`Impossibile salvare questa modifica della memoria.`,"memory.settings.clearFailed":`Impossibile visualizzare l’anteprima o svuotare questo ambito della memoria.`,"memory.settings.clearConflict":`La memoria è cambiata dopo l’anteprima. I conteggi sono stati aggiornati; controllali prima di confermare di nuovo.`,"memory.settings.loadMoreScopes":`Carica altri ambiti`,"memory.settings.loadingScopes":`Caricamento degli ambiti…`,"memory.settings.deleteConfirmTitle":`Conferma eliminazione memoria`,"memory.settings.deleteConfirm":`Eliminare “{title}” da {scope}?`,"memory.settings.deleteConfirmAction":`Elimina memoria`,"memory.scope.choose":`Scegli un ambito`,"memory.scope.global":`Globale`,"memory.scope.project":`Progetto`,"memory.scope.workspace":`Workspace`,"memory.entry.empty":`Nessuna memoria in questo ambito.`,"memory.entry.revision":`Revisione {revision}`,"memory.entry.edit":`Modifica`,"memory.entry.editAria":`Modifica {title}`,"memory.entry.delete":`Elimina`,"memory.entry.deleteAria":`Elimina {title}`,"memory.entry.promote":`Promuovi`,"memory.entry.promoteAria":`Promuovi {title}`,"memory.editor.key":`Chiave stabile`,"memory.editor.title":`Titolo`,"memory.editor.body":`Memoria`,"memory.editor.save":`Salva memoria`,"memory.editor.saving":`Salvataggio…`,"memory.editor.cancel":`Annulla`,"memory.editor.conflict":`Questa memoria è stata modificata altrove. Ricaricala oppure conserva la bozza e ribasala esplicitamente sulla revisione attuale.`,"memory.editor.reload":`Ricarica la versione attuale`,"memory.editor.rebase":`Conserva la bozza e ribasa`,"memory.proposal.empty":`Nessuna proposta in sospeso.`,"memory.proposal.approve":`Approva`,"memory.proposal.approveAria":`Approva {title}`,"memory.proposal.reject":`Rifiuta`,"memory.proposal.rejectAria":`Rifiuta {title}`,"memory.operation.empty":`Nessuna operazione di memoria.`,"memory.operation.created":`Memoria creata`,"memory.operation.updated":`Memoria aggiornata`,"memory.operation.deleted":`Memoria eliminata`,"memory.operation.proposed":`Modifica proposta`,"memory.operation.approved":`Proposta approvata`,"memory.operation.rejected":`Proposta rifiutata`,"memory.operation.promoted":`Memoria promossa`,"memory.operation.cleared":`Ambito svuotato`,"memory.operation.read":`Memoria restituita da una lettura`,"memory.operation.humanActor":`Tu`,"memory.operation.internalActor":`Agente · {engine}`,"memory.operation.externalActor":`{name} tramite {transport}`,"memory.operation.loadMore":`Carica operazioni precedenti`,"memory.operation.loading":`Caricamento…`,"settings.nav.git":`Git`,"integration.direct":`Connessione diretta`,"integration.directHint":`Facoltativo: configura un comando MCP attendibile su questo server senza configurazione Claude. Inserisci le credenziali nelle variabili di ambiente. Il salvataggio sostituisce tutta la connessione; attiva separatamente l’integrazione.`,"integration.agentScope":`Le connessioni attivate vengono trasmesse a Claude Code e Codex al prossimo avvio o ripresa. Arresta un agente in esecuzione per applicare le modifiche. Le configurazioni MCP personali restano indipendenti.`,"integration.directOverrides":`La connessione diretta salvata ha la priorità. Eliminala per usare una voce MCP di Claude.`,"integration.stored":`È salvata una connessione privata. I valori non vengono mai restituiti al browser.`,"integration.example":`Esempio: {example}`,"integration.tokenExample":`IL_TUO_TOKEN_NOTION`,"integration.packageExample":`il-tuo-pacchetto-mcp`,"integration.variableExample":`LA_TUA_VARIABILE`,"integration.valueExample":`il-tuo-valore`,"integration.command":`Eseguibile`,"integration.args":`Argomenti (array JSON)`,"integration.environment":`Ambiente e credenziali (oggetto JSON)`,"integration.failed":`Impossibile caricare o salvare la connessione. Controlla JSON e archivio locale.`,"integration.saved":`Connessione salvata. Attiva l’integrazione e prova la connessione.`,"integration.save":`Sostituisci connessione`,"integration.clear":`Rimuovi connessione diretta`,"settings.notificationSoundReady":`Segnale di completamento`,"settings.customSounds":`Suoni importati`,"settings.customSoundsHint":`Importa i tuoi suoni di notifica (massimo {count}, {size} MB ciascuno, .wav .mp3 .ogg .webm). Vengono salvati nella cartella dati di Kōbō e compaiono in tutti i selettori qui sotto.`,"settings.customSoundsImport":`Importa un suono`,"settings.customSoundsFull":`Limite raggiunto ({count} suoni). Eliminane uno prima di importarne un altro.`,"settings.customSoundsError.type":`Formato non supportato. Usa un file .wav, .mp3, .ogg o .webm.`,"settings.customSoundsError.size":`File troppo grande. Il limite è {size} MB.`,"settings.customSoundsError.count":`Limite raggiunto ({count} suoni). Eliminane uno prima di importarne un altro.`,"settings.customSoundsError.failed":`Azione non riuscita. Controlla la connessione e riprova.`,"setup.check.worktrees":`Cartella worktree`,"setup.fix.worktrees":`Controlla la destinazione dei worktree nelle impostazioni e i permessi di scrittura.`,"setup.title":`Configura la prima attività`,"setup.intro":`Scegli un motore e un progetto Git locale. Non servono skill o integrazioni.`,"setup.project":`Cartella locale del progetto`,"setup.credentials":`Accedi su questo server con claude /login o codex login, oppure configura la chiave API. Questi controlli non inviano prompt a pagamento.`,"setup.permissions":`Inizia con un piano. Scegli esplicitamente i permessi nel modulo di creazione; un worktree non isola il computer.`,"setup.check":`Verifica ambiente`,"setup.failed":`Impossibile completare l’azione. Controlla la connessione e riprova.`,"setup.start":`Descrivi la prima attività`,"setup.settings":`Apri impostazioni`,"setup.skip":`Salta per ora`,"setup.status.ok":`Disponibile`,"setup.status.missing":`Mancante`,"setup.status.error":`Da controllare`,"setup.status.unknown":`Non verificato`,"setup.check.node":`Node.js`,"setup.check.platform":`Piattaforma`,"setup.check.git":`Git`,"setup.check.shell":`Bash`,"setup.check.storage":`Cartella dati`,"setup.check.runtime":`Pacchetto del motore`,"setup.check.authentication":`Autenticazione`,"setup.check.model":`Accesso al modello`,"setup.check.repository":`Repository Git`,"setup.check.firstCommit":`Primo commit`,"setup.check.projectWritable":`Scrittura nel progetto`,"setup.fix.node":`Installa Node.js 24.15 o successivo.`,"setup.fix.platform":`Usa Linux, macOS o WSL2; Windows nativo non è supportato.`,"setup.fix.git":`Installa Git su questo server.`,"setup.fix.shell":`Installa Bash su questo server.`,"setup.fix.storage":`Controlla KOBO_HOME e i permessi della cartella.`,"setup.fix.runtime":`Reinstalla Kōbō con le dipendenze opzionali del motore.`,"setup.fix.authentication":`Accedi al provider scelto. La prima attività verificherà l’accesso.`,"setup.fix.model":`Scegli Auto o un modello disponibile per il tuo account.`,"setup.fix.repository":`Scegli una cartella di lavoro Git esistente.`,"setup.fix.firstCommit":`Crea il primo commit prima di creare un worktree.`,"setup.fix.projectWritable":`Scegli una cartella di progetto scrivibile.`,"handoff.freshTitle":`Continua in una nuova sessione`,"handoff.switchTitle":`Cambia LLM`,"handoff.warning":`Il lavoro corrente viene interrotto immediatamente. Una nuova sessione riprende automaticamente nello stesso workspace, mantenendo attività e cronologia.`,"handoff.generate":`Genera un passaggio di consegne con l’agente attuale`,"handoff.generateHint":`Disattiva se la quota è esaurita. Kōbō trasmetterà obiettivo, attività, stato Git e cronologia senza chiamare il LLM attuale.`,"handoff.start":`Avvia nuova sessione`,"handoff.stopping":`Arresto dell’agente attuale`,"handoff.generating":`Preparazione del passaggio di consegne`,"handoff.starting":`Avvio della nuova sessione`,"handoff.completed":`Nuova sessione avviata`,"handoff.failed":`Passaggio di consegne non riuscito`,"handoff.interrupted":`Passaggio di consegne interrotto`,"handoff.cancelled":`Passaggio di consegne annullato`,"handoff.skip":`Continua senza riepilogo LLM`,"handoff.cancel":`Annulla passaggio di consegne`,"handoff.report":`Leggi passaggio di consegne`,"handoff.source":`Sessione precedente`,"handoff.progress":`Passaggio di consegne in corso`,"handoff.blocked":`Risolvi o annulla il passaggio di consegne per continuare.`,"handoff.error":`Impossibile preparare il passaggio di consegne.`,"handoff.loadFailed":`Impossibile caricare lo stato del passaggio di consegne.`,"handoff.status":`Passaggio di consegne`,"chat.externalLlm":`LLM esterno · {name}`,"search.indexing":`Indicizzazione cronologia: {processed}/{total}. Risultati parziali.`,"search.indexUnavailable":`Indice di ricerca non disponibile. Riprova più tardi.`,"blockers.setupConfiguration":`Nessuno script di preparazione configurato. Aggiungine uno nella sezione Script delle impostazioni.`,"blockers.noWorkspace":`Seleziona un workspace per usare questa azione.`,"blockers.purged":`Ripristina il worktree dal banner del workspace prima di questa azione.`,"blockers.archived":`Rimuovi il workspace dall’archivio tramite il suo menu.`,"blockers.operation":`Attendi il completamento dell’operazione in corso.`,"blockers.agentBusy":`Attendi la fine del turno o arresta l’agente dalla conversazione.`,"blockers.configuration":`Configura questa funzione nelle impostazioni del progetto.`,"blockers.settings":`Apri impostazioni`,"workspaceSort.label":`Ordina workspace`,"workspaceSort.activity":`Ultima attività`,"workspaceSort.created":`Data di creazione`,"workspaceSort.name":`Nome`,"workspaceSort.attention":`Priorità di attenzione`,"workspaceSort.asc":`Crescente`,"workspaceSort.desc":`Decrescente`,"workspaceSort.hint":`Ordina in ogni gruppo, archivio incluso. Consultare un workspace non cambia la sua ultima attività.`,"model.tooltip":`Modello usato dall’agente per questo workspace`,"reasoning.tooltip":`Livello di ragionamento usato dall’agente per questo workspace`,"thinking.label":`Ragionamento`,"thinking.noDetails":`L’agente sta ragionando…`,"common.save":`Salva`,"common.duplicate":`Duplica`,"common.confirm":`Conferma`,"common.cancel":`Annulla`,"common.open":`Apri`,"common.retry":`Riprova`,"common.delete":`Elimina`,"common.close":`Chiudi`,"workspace.deleteTitle":`Elimina workspace`,"workspace.deleteTypeBranch":`Riscrivi il nome del branch per confermare`,"workspace.deleteConsequences":`Rimuove il worktree e tutta la cronologia.`,"workspace.deleteFailed":`Impossibile eliminare il workspace.`,"workspace.archiveFailed":`Impossibile archiviare il workspace.`,"tasks.updateFailed":`Impossibile aggiornare l’attività.`,"dashboard.tooltip":`Cruscotto`,"dashboard.title":`Cruscotto`,"dashboard.count":`{n} workspace | {n} workspace`,"dashboard.empty":`Nessun workspace attivo.`,"dashboard.workspace":`Workspace`,"dashboard.status":`Stato`,"dashboard.attention":`Attenzione`,"dashboard.pr":`PR`,"dashboard.diff":`Diff`,"dashboard.activity":`Attività`,"dashboard.prOpen":`aperta`,"reliability.title":`Affidabilità dei modelli`,"reliability.subtitle":`Come ogni motore e modello si è effettivamente concluso su questa macchina.`,"reliability.empty":`Nessuna sessione ancora conclusa.`,"reliability.loadFailed":`Impossibile caricare i dati di affidabilità.`,"reliability.engine":`Motore`,"reliability.model":`Modello`,"reliability.sessions":`Sessioni`,"reliability.completed":`Completate`,"reliability.watchdog":`Watchdog`,"reliability.killed":`Interrotte`,"reliability.errors":`Errori`,"reliability.unknown":`Sconosciuto`,"reliability.median":`Mediana`,"reliability.durationSeconds":`{s}s`,"reliability.durationMinutes":`{m}min {s}s`,"reliability.durationHours":`{h}h {m}min`,"reliability.reset":`Azzera: conta solo le sessioni concluse da ora in poi`,"reliability.since":`Dal {date}`,"reliability.showAll":`Mostra tutto`,"update.available":`È disponibile una versione più recente di Kōbō: {version}`,"update.how":`Come aggiornare`,"common.dismiss":`Ignora`,"common.details":`Dettagli`,"common.ok":`OK`,"whatsNew.title":`Novità`,"common.loading":`Caricamento...`,"common.search":`Cerca...`,"common.refresh":`Aggiorna`,"common.copy":`Copia`,"common.copied":`Copiato negli appunti`,"common.copyFailed":`Copia non riuscita`,"common.add":`Aggiungi`,"folderPicker.title":`Scegli una cartella`,"folderPicker.parent":`Cartella superiore`,"folderPicker.empty":`Nessuna sottocartella`,"folderPicker.select":`Scegli questa cartella`,"common.start":`Avvia`,"common.stop":`Arresta`,"common.archive":`Archivia`,"common.unarchive":`Ripristina`,"common.selectWorkspace":`Seleziona un workspace`,"common.noResults":`Nessun risultato per "{query}"`,"common.send":`invia`,"common.newLine":`nuova riga`,"common.history":`cronologia`,"common.justNow":`adesso`,"common.minutesAgo":`{count}m fa`,"common.hoursAgo":`{count}h fa`,"common.daysAgo":`{count}g fa`,"model.auto":`Auto`,"model.opus55":`Opus 5.5`,"model.opus55Description":`Per attività complesse e quotidiane, contesto 1M`,"model.sonnet55":`Sonnet 5.5`,"model.sonnet55Description":`Efficiente per le attività di routine, contesto 1M`,"model.gpt61sol":`GPT-6.1 Sol`,"model.gpt61solDescription":`Ultimo modello versatile per il coding e il lavoro quotidiano`,"model.gpt6sol":`GPT-6 Sol`,"model.gpt6solDescription":`Modello versatile della generazione precedente`,"model.gpt6luna":`GPT-6 Luna`,"model.gpt6lunaDescription":`Modello rapido per attività semplici`,"model.fable51":`Fable 5.1`,"model.fable5":`Fable 5`,"model.fable5Description":`Per attività impegnative e di lunga durata`,"model.mythos51":`Mythos 5.1 (Glasswing)`,"model.mythos5":`Mythos 5 (Glasswing)`,"model.fable51Description":`Modello più capace - sostituisce Fable 5, contesto 1M, adaptive thinking`,"model.mythos51Description":`Fable 5.1 disponibile solo su invito tramite Project Glasswing`,"model.mythos5Description":`Fable 5.1 senza classificatori di sicurezza — accesso limitato (Project Glasswing)`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.opus5":`Opus 5`,"model.opus48":`Opus 4.8`,"model.opus47Classic":`Opus 4.7 (Classic)`,"model.opus471m":`Opus 4.7 (1M)`,"model.opusClassic":`Opus 4.6 (Classic)`,"model.opus1m":`Opus 4.6 (1M)`,"model.sonnet5":`Sonnet 5`,"model.sonnetClassic":`Sonnet 4.6 (Classic)`,"model.sonnet1m":`Sonnet 4.6 (1M)`,"model.haiku":`Haiku 4.5`,"model.autoDescription":`Claude sceglie il modello ottimale`,"model.opus5Description":`Per coding agentico complesso e lavoro enterprise, contesto 1M`,"model.opus48Description":`Opus più capace — coding agentico long-horizon, contesto 1M di default, effort high di default`,"model.opus47ClassicDescription":`Ultimo Opus, il più capace`,"model.opus471mDescription":`Ultimo Opus, contesto 1M`,"model.opusClassicDescription":`Più potente`,"model.opus1mDescription":`Più potente, contesto 1M`,"model.sonnet5Description":`Il miglior mix di velocità e intelligenza, contesto 1M`,"model.sonnetClassicDescription":`Bilanciato`,"model.sonnet1mDescription":`Bilanciato, contesto 1M`,"model.haikuDescription":`Più veloce`,"model.gpt6astra":`GPT-6 Astra`,"model.gpt6astraDescription":`Il modello di frontiera più capace, contesto 1M (richiede autenticazione ChatGPT)`,"model.gpt56sol":`GPT-5.6 Sol`,"model.gpt56solDescription":`Modello versatile di una generazione precedente`,"model.gpt56terra":`GPT-5.6 Terra`,"model.gpt56terraDescription":`Modello di coding agentico bilanciato per il lavoro quotidiano (richiede autenticazione ChatGPT)`,"model.gpt56luna":`GPT-5.6 Luna`,"model.gpt56lunaDescription":`Modello di coding agentico veloce ed economico (richiede autenticazione ChatGPT)`,"model.gpt55":`GPT-5.5`,"model.gpt55Description":`Modello di programmazione precedente`,"model.gpt54":`GPT-5.4`,"model.gpt54Description":`Ripiego predefinito — ragionamento solido, compatibile con chiave API`,"model.gpt54mini":`GPT-5.4 mini`,"model.gpt54miniDescription":`Veloce ed efficiente — ideale per attività reattive e subagenti`,"model.gpt52":`GPT-5.2`,"model.gpt52Description":`Ottimizzato per il lavoro professionale e gli agenti a lungo termine`,"model.gpt53codex":`GPT-5.3 Codex`,"model.gpt53codexDescription":`Modello specializzato in codice per ingegneria software complessa`,"reasoning.auto":`auto`,"reasoning.minimal":`minimal`,"reasoning.none":`nessuno`,"reasoning.low":`low`,"reasoning.medium":`medium`,"reasoning.high":`high`,"reasoning.xhigh":`xhigh`,"reasoning.max":`max`,"reasoning.autoDescription":`Lascia decidere al motore`,"reasoning.minimalDescription":`Ragionamento più veloce e superficiale`,"reasoning.noneDescription":`Senza ragionamento aggiuntivo`,"reasoning.lowDescription":`Più veloce, meno profondità`,"reasoning.mediumDescription":`Bilanciato`,"reasoning.highDescription":`Più profondità`,"reasoning.xhighDescription":`Profondità estesa, attività lunghe`,"reasoning.maxDescription":`Profondità massima`,"agentPermissionMode.label":`Modalità permessi`,"agentPermissionMode.plan":`Piano`,"agentPermissionMode.bypass":`Bypass`,"agentPermissionMode.strict":`Accetta edit`,"agentPermissionMode.interactive":`Interattivo`,"agentPermissionMode.tooltip":`Come l'agente gestisce i permessi degli strumenti. Piano: sola lettura, nessuna scrittura. Bypass: salta tutte le richieste. Stretto: auto-accetta le edit dei file, rispetta le allow/deny per il resto. Interattivo: chiedi all'utente prima di ogni strumento tramite il pannello dei permessi.`,"agentPermissionMode.autoLoopOverride":`L'auto-loop forza una modalità diversa da Piano — Piano blocca gli strumenti MCP e le edit di cui il loop ha bisogno. Scegli Bypass, Stretto o Interattivo.`,"agentPermissionMode.autoLoopLocked":`Bloccato su Bypass finché l'auto-loop è attivo — qualsiasi altra modalità fermerebbe il loop sulle richieste di permesso. AskUserQuestion funziona comunque.`,"workspaceList.title":`Workspace`,"workspaceList.a11y.groupToggle":`Gruppo {group}, {count} workspace`,"workspaceList.a11y.list":`Workspace`,"workspaceList.a11y.card":`{name}, {status}`,"workspaceList.needsAttention":`Richiede attenzione`,"workspaceList.running":`In esecuzione`,"workspaceList.idle":`Inattivo`,"workspaceList.archived":`Archiviati`,"workspaceList.archivedToast":`«{name}» archiviato`,"workspaceList.archivedUndo":`Annulla`,"workspaceList.unarchiveFailed":`Impossibile ripristinare questo workspace`,"workspaceList.noWorkspaces":`Nessun workspace ancora`,"workspaceList.loadFailed":`Impossibile caricare i tuoi workspace`,"workspaceList.loadFailedHint":`È un errore di connessione, non un account vuoto.`,"workspaceList.footer":`{count} workspace | {count} workspace`,"workspaceList.footerRunning":`{count} in esecuzione`,"workspaceList.deleteDialog.title":`Eliminare il workspace?`,"workspaceList.deleteDialog.deleteLocal":`Elimina branch locale`,"workspaceList.deleteDialog.deleteRemote":`Elimina branch remoto`,"workspaceList.deleteDialog.warning":`Attenzione: questa azione è irreversibile sul remoto.`,"workspaceList.deleteArchivedDialog.tooltip":`Elimina tutti i workspace archiviati`,"workspaceList.deleteArchivedDialog.title":`Eliminare tutti i workspace archiviati?`,"workspaceList.deleteArchivedDialog.message":`Questa operazione eliminerà definitivamente i {count} workspace archiviati. L'azione è irreversibile.`,"workspaceList.deleteArchivedDialog.typeCount":`Digita {count} per confermare`,"workspacePage.configure":`Configura`,"workspacePage.permissions":`Autorizzazioni`,"workspacePage.selectWorkspace":`Seleziona un workspace per iniziare`,"workspacePage.commandPalettePlaceholder":`Cerca comandi…`,"workspacePage.commandPaletteEmpty":`Nessun comando corrispondente`,"workspacePage.commandFocusChat":`Metti a fuoco il campo chat`,"workspacePage.commandSearchHistory":`Cerca nella cronologia del workspace`,"workspacePage.commandTogglePanel":`Mostra o nascondi il pannello laterale`,"workspacePage.commandStartAgent":`Avvia agente`,"workspacePage.commandStopAgent":`Ferma agente`,"workspacePage.commandOpenSettings":`Apri le impostazioni`,"workspacePage.commandOpenCreate":`Crea un workspace`,"workspacePage.commandOpenSearch":`Ricerca globale`,"workspacePage.commandOpenHealth":`Pagina Salute`,"workspacePage.commandOpenChangelog":`Changelog`,"workspacePage.commandGroupWorkspaces":`Vai a un workspace`,"workspacePage.commandPaletteHint":`Palette dei comandi`,"workspacePage.session":`Sessione #{n}`,"workspacePage.newSession":`+ Nuova sessione`,"workspacePage.renameSession":`Rinomina`,"workspacePage.renameSessionTitle":`Rinomina sessione`,"workspacePage.sessionNameLabel":`Nome sessione`,"workspacePage.sessionEndedNotice":`Questa sessione è terminata. Crea una nuova sessione per continuare.`,"workspacePage.renameFailed":`Rinomina fallita`,"workspacePage.copySessionId":`Copia ID sessione`,"workspacePage.deleteSession":`Elimina sessione`,"workspacePage.deleteSessionTitle":`Eliminare la sessione?`,"workspacePage.deleteSessionConfirm":`Questo elimina definitivamente la sessione e la cronologia della conversazione.`,"workspacePage.deleteSessionFailed":`Impossibile eliminare la sessione`,"workspacePage.noEngineSessionId":`Nessun ID sessione ancora — l'agente non ha ancora avviato questa sessione`,"workspacePage.createSessionFailed":`Creazione sessione fallita`,"workspacePage.startFailed":`Avvio fallito`,"workspacePage.stopFailed":`Arresto fallito`,"workspacePage.interrupt":`Interrompi`,"workspacePage.interrupted":`Agente interrotto — in attesa del tuo prossimo messaggio`,"workspacePage.lastAgentEvent":`Ultimo evento {when}`,"workspacePage.agentStopping":`Arresto in corso…`,"workspacePage.agentNotRunning":`Nessun agente in esecuzione — lo stato è obsoleto`,"contextMenu.restoreWorktree":`Ripristina worktree`,"workspacePage.restoringWorktree":`Ripristino…`,"workspacePage.worktreeRestoreSuccess":`Worktree ripristinato`,"workspacePage.worktreeRestoreLimitations":`Ricrea i file Git salvati nei commit. Le dipendenze e i file locali eliminati in precedenza non vengono ripristinati.`,"workspacePage.restoreError.not-found":`Questo workspace non esiste più. Aggiorna l’elenco dei workspace.`,"workspacePage.restoreError.not-purged":`Questo workspace non è contrassegnato come ripulito. Aggiornalo e controlla la sua directory di lavoro.`,"workspacePage.restoreError.workspace-busy":`È già in corso un’operazione su questo workspace. Attendi che termini e riprova.`,"workspacePage.restoreError.worktree-not-owned":`Questo worktree non è gestito da Kōbō. Ripristinalo manualmente nel progetto originale.`,"workspacePage.restoreError.project-unavailable":`Il progetto originale non è disponibile. Ricollega il disco o ripristina il progetto nel percorso originale, quindi riprova.`,"workspacePage.restoreError.path-conflict":`Il percorso del worktree è occupato da un’altra cartella o checkout. Sposta la cartella in conflitto o segui le istruzioni di recupero manuale in Dettagli.`,"workspacePage.restoreError.branch-in-use":`Il branch di lavoro è già in uso in un altro checkout. Utilizza quel checkout o libera il branch prima di riprovare.`,"workspacePage.restoreError.recovery-source-unavailable":`Il branch di lavoro e il commit salvato non sono stati trovati. Verifica l’accesso remoto o consulta il recupero manuale in Dettagli.`,"workspacePage.restoreError.git-failed":`Ripristino non riuscito. Verifica l’accesso a Git e i permessi del disco, quindi riprova. Dettagli apre la guida al recupero manuale.`,"workspacePage.archivedBanner":`Workspace archiviato — sola lettura`,"workspacePage.worktreePurgedBanner":`Worktree eliminato — cronologia conservata`,"workspacePage.worktreePurgedTooltip":`Ripristina worktree ricrea la directory di lavoro e rimuove questo workspace dall’archivio. Conversazione, attività e sessioni vengono conservate. Non viene avviato alcun agente o server di sviluppo.`,"workspacePage.pendingInitialPromptBanner":`C'è un prompt iniziale in attesa — l'agente non l'ha mai ricevuto (lo script di setup è crashato o il workspace non è mai stato avviato). Clicca Avvia per inviarlo ora.`,"workspacePage.unarchived":`Workspace ripristinato`,"workspacePage.unarchiveFailed":`Ripristino fallito`,"workspacePage.interruptFailed":`Interruzione fallita`,"workspacePage.interruptHint":`Interrompi il turno in corso senza terminare la sessione.`,"workspacePage.interruptTooltip":`Interruzione leggera (come Escape) — ferma lo strumento corrente ma mantiene la sessione attiva`,"workspacePage.pendingNextRun":`Applicato al prossimo avvio`,"workspacePage.activeSessionModel":`In uso: {model}`,"workspacePage.activeSessionModelTooltip":`Modello effettivamente usato dalla sessione selezionata`,"workspacePage.switchEngine":`Cambia motore`,"workspacePage.switchEngineHint":`Continua questo workspace con un altro motore agente`,"workspacePage.moreActions":`Altre azioni`,"workspacePage.switchEngineTitle":`Cambia motore agente`,"workspacePage.switchEngineWarning":`L'agente attuale verrà fermato e una nuova sessione inizierà nello stesso worktree.`,"workspacePage.engineLabel":`Motore`,"workspacePage.engineClaude":`Claude Code`,"workspacePage.engineCodex":`Codex`,"workspacePage.engineHandoff":`Passaggio al nuovo motore`,"workspacePage.engineHandoffHint":`Rivedi o modifica il contesto inviato al nuovo agente.`,"workspacePage.confirmSwitchEngine":`Cambia motore`,"workspacePage.switchEngineFailed":`Impossibile cambiare motore`,"whip.dispatchFailed":`Impossibile inviare il messaggio della frusta`,"whip.phrase1":`Continua, per favore.`,"whip.phrase2":`Prosegui con le attività previste.`,"whip.phrase3":`Passa alla fase successiva.`,"whip.phrase4":`Controlla i progressi e continua.`,"whip.phrase5":`Continua entro l’ambito concordato.`,"search.title":`Ricerca`,"search.tooltip":`Cerca nella cronologia degli agenti`,"search.placeholder":`Cerca in tutti i messaggi degli agenti…`,"search.includeArchived":`Includi workspace archiviati`,"search.loading":`Ricerca in corso…`,"search.noResults":`Nessun risultato`,"search.error":`Ricerca fallita: {message}`,"search.resultCount":`{n} risultato/i`,"search.eventType.userMessage":`Tu`,"search.eventType.agentOutput":`Agente`,"activityFeed.empty":`Nessuna attività ancora`,"activityFeed.emptyHint":`Avvia un workspace per vedere l'output dell'agente qui`,"activityFeed.initialPrompt":`Prompt iniziale`,"activityFeed.you":`Tu`,"activityFeed.agent":`Agente`,"activityFeed.question":`Domanda`,"activityFeed.goToPrevious":`Vai al messaggio precedente`,"activityFeed.scrollToBottom":`Vai in fondo`,"activityFeed.sendAnswers":`Invia risposte`,"agentBusy.banner":`L'agente è occupato`,"agentBusy.subagentsRunning":`1 sub-agente in esecuzione | {n} sub-agenti in esecuzione`,"agentBusy.viewSubagents":`Vedi sub-agenti`,"agentBusy.pendingMessage":`In attesa — l'agente è occupato`,"terminal.title":`Terminale`,"terminal.open":`Apri terminale`,"terminal.close":`Chiudi terminale`,"terminal.noWorkspace":`Seleziona un workspace`,"terminal.noWorktree":`Worktree non ancora creato`,"terminal.error":`Errore del terminale`,"terminal.exited":`Terminale chiuso`,"terminal.disconnected":`Connessione persa`,"terminal.outputMayBeMissing":`[Connessione interrotta. Parte dell’output del terminale potrebbe mancare.]`,"terminal.reconnecting":`Riconnessione… (tentativo {attempt} di {max})`,"terminal.reconnect":`Riconnetti`,"chatInput.placeholder":`Messaggio... (/ per le skill)`,"chatInput.fileSearchHint":`cercare un file`,"chatInput.skills":`Skill`,"chatInput.attachImage":`Allega immagine`,"chatInput.queueBanner":`Messaggio in coda — verrà inviato quando l'agente avrà terminato`,"chatInput.forceQueue":`Forza invio`,"chatInput.searchHistory":`cerca`,"chatInput.commandPalette":`comandi`,"chatInput.shortcuts":`Scorciatoie da tastiera`,"chatInput.cancelQueue":`Annulla coda`,"chatInput.autoLoopBanner":`Auto-loop attivo — fermalo per inviare un messaggio`,"chatInput.awaitingUserBanner":`L'agente attende la tua risposta sopra — rispondi tramite il pannello della domanda`,"chatInput.autoLoopStop":`Ferma`,"koboCommand.checkProgressDesc":`Verificare il progresso delle attività e dei criteri di accettazione`,"chatInput.uploading":`Caricamento...`,"voice.title":`Trascrizione vocale`,"voice.enabled":`Abilita trascrizione vocale locale`,"voice.pttKey":`Tasto push-to-talk`,"voice.pttAlt":`Alt`,"voice.pttCtrlSpace":`Ctrl+Spazio`,"voice.language":`Lingua (auto o codice)`,"voice.model":`Modello attivo`,"voice.commandPath":`Percorso binario Whisper (opzionale)`,"voice.ffmpegPath":`Percorso binario ffmpeg (opzionale)`,"voice.temperature":`Temperatura`,"voice.temperatureHint":`Più basso = più deterministico; più alto = più flessibile ma potenzialmente meno stabile.`,"voice.initialPrompt":`Prompt iniziale (opzionale)`,"voice.initialPromptHint":`Contesto opzionale per aiutare Whisper con nomi propri, sigle o vocabolario tecnico.`,"voice.translateToEnglish":`Traduci in inglese`,"voice.translateToEnglishHint":`Se attivo, il parlato non inglese viene tradotto in inglese invece di essere trascritto così com’è.`,"voice.suppressNst":`Sopprimi token non vocali`,"voice.suppressNstHint":`Prova a ridurre artefatti non vocali nella trascrizione.`,"voice.installLink":`Installa whisper.cpp`,"voice.installGuideTitle":`Guida installazione`,"voice.installGuideIntro":`Installa whisper.cpp e ffmpeg, poi imposta i percorsi dei binari qui sotto se necessario.`,"voice.installGuideUbuntuTitle":`Ubuntu / Debian`,"voice.installGuideWindowsTitle":`Windows`,"voice.installGuideBinaryPathHint":`Dopo il build con CMake, il binario Whisper di solito è in: whisper.cpp/build/bin/whisper-cli`,"voice.installGuideSettingsHint":`Poi imposta “Percorso binario Whisper” e “Percorso binario ffmpeg” in questa sezione (o lascia vuoto se sono nel PATH).`,"voice.noneModel":`Nessun modello attivo`,"voice.notInstalled":`non installato`,"voice.download":`Scarica`,"voice.delete":`Elimina`,"voice.holdToTalk":`Tieni premuto per parlare`,"voice.recording":`Registrazione...`,"voice.transcribing":`Trascrizione...`,"voice.notSupported":`La registrazione vocale non è supportata da questo browser`,"voice.errorMicPermission":`Permesso microfono negato`,"voice.errorTranscription":`Trascrizione vocale non riuscita`,"voice.downloadFailed":`Download del modello non riuscito`,"voice.deleteFailed":`Eliminazione del modello non riuscita`,"voice.errorDisabled":`La trascrizione vocale è disattivata nelle impostazioni`,"voice.errorModelMissing":`Nessun modello vocale attivo configurato`,"voice.errorModelNotInstalled":`Il modello vocale attivo non è installato`,"voice.errorAudioInvalid":`La cattura audio è non valida o vuota`,"voice.errorLanguageInvalid":`La configurazione lingua vocale non è valida`,"voice.errorRuntimeMissing":`Il runtime Whisper non è installato o non è nel PATH`,"voice.maxDurationReached":`Durata massima di registrazione raggiunta`,"voice.runtimeReady":`Runtime pronto: {command}`,"voice.runtimeMissing":`Runtime mancante: {command}`,"voice.ffmpegReady":`ffmpeg pronto`,"voice.ffmpegMissing":`ffmpeg mancante`,"voice.sectionRuntime":`Stato del runtime`,"voice.sectionActivation":`Attivazione`,"voice.sectionModels":`Modelli Whisper`,"voice.sectionAdvanced":`Opzioni avanzate`,"voice.sectionBehavior":`Comportamento della trascrizione`,"voice.sectionBinaries":`Percorsi dei binari`,"voice.downloadModels":`Scarica un modello`,"voice.cancelFailed":`Annullamento del download non riuscito`,"attachments.error.upload":`Caricamento non riuscito. Rimuovi l’allegato e riprova.`,"attachments.add":`Allega file`,"attachments.remove":`Rimuovi allegato`,"attachments.hint":`Incolla o trascina i file qui · massimo {count} · {size} MB ciascuno · {total} MB in totale`,"attachments.error.type":`Usa immagini PNG, JPEG, GIF o WebP, PDF, Markdown o documenti di testo (TXT, CSV, JSON, YAML, XML, LOG, RST, TOML).`,"attachments.error.size":`Ogni file deve avere contenuto e non superare 50 MB.`,"attachments.error.count":`Puoi allegare fino a 10 file.`,"attachments.error.total":`Gli allegati non devono superare 50 MB in totale.`,"attachments.descriptionRequired":`Inserisci una descrizione o allega un file.`,"createPage.title":`Crea un workspace`,"createPage.fromTemplate":`Da un template`,"createPage.fromTemplateNone":`Nessuno`,"createPage.saveAsTemplate":`Salva come template`,"createPage.saveTemplateTitle":`Salva questo modulo come template`,"createPage.saveTemplateName":`Nome del template`,"createPage.saveTemplateOverwrite":`Esiste già un template chiamato «{name}». Sovrascriverlo?`,"createPage.templateSaved":`Template «{name}» salvato`,"createPage.templateApplied":`Template «{name}» applicato`,"createPage.duplicatedFrom":`Duplicato da «{name}»`,"createPage.duplicateLoadFailed":`Impossibile caricare il workspace da duplicare.`,"createPage.templateSaveFailed":`Impossibile salvare il template.`,"createPage.presetProjectUnknown":`Questo template punta a un progetto non più configurato; il progetto attuale è stato mantenuto.`,"createPage.copySuffix":`(copia)`,"createPage.subtitle":`Descrivi la missione, scegli un progetto e configura l’agente.`,"createPage.sectionMission":`Missione`,"createPage.sectionMissionHint":`Fornisci all’agente un obiettivo chiaro e il contesto necessario.`,"createPage.workspaceNameLabel":`Nome del workspace`,"createPage.descriptionLabel":`Descrizione della missione`,"createPage.tagsLabel":`Tag`,"createPage.tagsHint":`Classifica questo workspace`,"createPage.sources":`Fonti facoltative`,"createPage.sectionGit":`Progetto Git`,"createPage.sectionGitHint":`Scegli il repository, il branch di partenza e la modalità worktree.`,"createPage.worktreeMode":`Modalità worktree`,"createPage.worktreeNew":`Nuovo worktree isolato`,"createPage.worktreeExisting":`Riutilizza un worktree esistente`,"createPage.projectLabel":`Progetto`,"createPage.sourceBranch":`Branch di partenza`,"createPage.workingBranchPreview":`Anteprima del branch di lavoro`,"createPage.branchNamePending":`nome-del-workspace`,"createPage.sectionAgent":`Agente`,"createPage.sectionAgentHint":`Controlla le impostazioni di esecuzione o attiva l’automazione.`,"createPage.configureAgent":`Configura l’agente`,"createPage.advancedOptions":`Opzioni avanzate`,"createPage.keyboardHint":`Premi Ctrl/Cmd + Invio per creare il workspace.`,"createPage.createWorkspace":`Crea workspace`,"createPage.compareEngines":`Confronta due motori`,"createPage.engineA":`Motore A`,"createPage.engineB":`Motore B`,"createPage.compareBrainstormLocked":`Modalità confronto: ogni motore fa il brainstorming con il modello e lo sforzo definiti nel proprio blocco qui sopra.`,"createPage.compareEnginesHint":`Crea due workspace da questo task, uno per motore, in worktree affiancati. I loro diff possono poi essere confrontati fianco a fianco.`,"createPage.compareNeedsNewWorktree":`Confrontare due motori richiede due nuovi worktree. Disattiva prima «usa un worktree esistente».`,"createPage.compareNeedsSecondEngine":`Scegli un secondo motore, diverso dal primo, per il confronto.`,"comparison.title":`Confronto tra motori`,"comparison.hint":`Lo stesso task, eseguito da ogni motore nel proprio worktree.`,"comparison.engine":`Motore`,"comparison.status":`Stato`,"comparison.tasks":`Task`,"comparison.commits":`Commit`,"comparison.files":`File`,"comparison.diff":`Diff`,"comparison.messages":`Messaggi`,"comparison.messagesTitle":`Messaggi dell'agente / i tuoi messaggi`,"comparison.questions":`Domande`,"comparison.tools":`Strumenti`,"comparison.errors":`Errori`,"comparison.tokens":`Token`,"comparison.tokensTitle":`Token in ingresso / in uscita`,"comparison.sessions":`Sessioni`,"comparison.duration":`Durata`,"comparison.exportCsv":`Esporta in CSV`,"comparison.open":`Apri`,"comparison.current":`Questo`,"comparison.archived":`archiviato`,"comparison.incomplete":`Esiste un solo workspace di questo confronto. L'altro non è mai stato creato, oppure è stato eliminato.`,"createPage.comparisonPartial":`Sono stati creati solo {count} workspace su {total}. Quello esistente è utilizzabile da solo; eliminalo se preferisci ricominciare.`,"createPage.notionEnabled":`Notion attivato`,"createPage.importNotion":`Importa da Notion`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`L'URL deve iniziare con https://www.notion.so/ o https://app.notion.com/`,"createPage.notionAutoExtract":`Le sottotask e i criteri di accettazione verranno estratti automaticamente.`,"createPage.notionPanelChoiceLabel":`Questo URL punta a una sotto-pagina (?p=). Su quale vuoi lavorare?`,"createPage.notionPanelOption":`Sotto-pagina (panel)`,"createPage.notionPanelOptionDesc":`La pagina che stavi visualizzando — consigliato`,"createPage.notionParentOption":`Pagina principale`,"createPage.notionParentOptionDesc":`L'epic / database a cui appartiene`,"createPage.importSentry":`Importa Sentry`,"createPage.sentryEnabled":`Sentry attivato`,"createPage.sentryPlaceholder":`https://tua-org.sentry.io/issues/123456`,"createPage.sentryValidation":`L'URL deve puntare a una issue di Sentry (/issues/<id>)`,"createPage.sentryAutoExtract":`L'issue di Sentry verrà importata automaticamente`,"createPage.sentryExtractHint":`Kobo estrarrà l'issue e la scriverà in .ai/thoughts/`,"createPage.importPr":`Importa da una PR`,"createPage.importPrRequiresProject":`Scegli prima un progetto`,"createPage.importPrNotSupported":`Il forge di questo progetto non supporta l'elenco delle pull request`,"createPage.lockedToPr":`Bloccato sulla PR #{number}`,"createPage.prReadyToCreate":`PR #{number} importata — il workspace può essere creato.`,"createPage.prResumeIntro":`Ripresa del lavoro sulla pull request esistente #{number} "{title}" ({url}).`,"createPage.unlockPrCheckout":`Sblocca`,"createPage.workspaceName":`Nome del workspace (predefinito: titolo della pagina Notion)`,"createPage.workspaceNamePlaceholder":`Nome del workspace...`,"createPage.instructions":`Istruzioni aggiuntive (opzionale)...`,"createPage.instructionsPlaceholder":`Descrivi il task...`,"createPage.tasks":`Task ({count})`,"createPage.addTask":`Aggiungi un task...`,"createPage.acceptanceCriteria":`Criteri di accettazione ({count})`,"createPage.addCriterion":`Aggiungi un criterio...`,"createPage.projectPath":`Inserisci il percorso del progetto`,"createPage.branchType":`Tipo di branch`,"createPage.branch":`Branch`,"createPage.noBranches":`Nessun branch trovato`,"createPage.enterPath":`Inserisci il percorso del progetto`,"createPage.skipSetupScript":`Salta script di setup`,"createPage.worktreePickerLabel":`Worktree esistente`,"createPage.noOrphanWorktrees":`Nessun worktree orfano in questo progetto`,"createPage.pickWorktreeRequired":`Seleziona un worktree da agganciare`,"createPage.notionExtractHint":`Le sottotask e i criteri di accettazione verranno estratti dalla pagina Notion.`,"createPage.errorCreating":`Errore durante la creazione del workspace.`,"createPage.branchAdjusted":"Il branch esisteva già — creato `{branch}` al suo posto. La cartella worktree corrispondente usa lo stesso suffisso.","createPage.localSourceFallback":`Workspace creato dal branch locale (origin non raggiungibile) — la base potrebbe essere obsoleta.`,"createPage.validationNotionUrl":`Inserisci un URL Notion valido (https://www.notion.so/... o https://app.notion.com/...).`,"createPage.validationDescription":`Descrivi il task.`,"createPage.validationName":`Indica un nome per il workspace.`,"createPage.validationPath":`Inserisci il percorso del progetto.`,"createPage.validationBranch":`Seleziona un branch.`,"createPage.validationFocusHint":`Il campo da correggere è evidenziato qui sotto.`,"createPage.progress.validate":`Validazione della richiesta…`,"createPage.progress.fetch-source-branch":`Recupero del branch sorgente da origin…`,"createPage.progress.inspect-worktree":`Ispezione del worktree esistente…`,"createPage.progress.extract-notion":`Estrazione della pagina Notion…`,"createPage.progress.extract-sentry":`Estrazione dell’issue Sentry…`,"createPage.progress.create-record":`Creazione del workspace…`,"createPage.progress.create-tasks":`Creazione di task e criteri di accettazione…`,"createPage.progress.create-worktree":`Creazione del worktree git…`,"createPage.progress.write-conventions":`Scrittura delle convenzioni git…`,"createPage.progress.write-context-files":`Scrittura dei file di contesto…`,"createPage.progress.build-prompt":`Costruzione del prompt iniziale…`,"createPage.progress.setup-script":`Esecuzione del tuo script di installazione…`,"createPage.progress.start-agent":`Avvio dell’agente…`,"createPage.progress.rollback":`Annullamento della creazione fallita…`,"createPage.progress.done":`Fatto`,"createPage.progress.step":`Passo {index} di {total}`,"createPage.errorAtStep":`Creazione fallita al passo «{step}»: {message}`,"createPage.override.title":`Due delle tue scelte sono state sostituite`,"createPage.override.setup-script-forced":`Script di installazione saltato: rieseguirlo su un worktree già preparato potrebbe distruggerne il contenuto.`,"createPage.override.permission-mode-downgraded":`Modalità permessi passata da Plan a Bypass: un ciclo autonomo non può girare in Plan, che blocca strumenti e modifiche.`,"settings.title":`Impostazioni`,"settings.language":`Lingua`,"settings.projectColor":`Colore`,"settings.projectColorClear":`Cancella`,"settings.projectColorDefault":`Predefinito (grigio)`,"settings.workspaceListSection":`Lista dei workspace`,"settings.flattenWorkspaceList":`Lista piatta dei workspace`,"settings.flattenWorkspaceListHint":`Mostra tutti i workspace in una lista piatta con un badge progetto, invece di raggrupparli per progetto.`,"workflow.title":`Flusso Git`,"workflow.hint":`Queste preferenze guidano gli agenti; non sostituiscono i permessi di sistema. Le istruzioni più restrittive hanno priorità. Pubblicare non autorizza mai il merge. I nuovi spazi conservano una copia delle scelte.`,"workflow.commit":`Creare commit`,"workflow.push":`Inviare il branch`,"workflow.publish":`Pubblicare PR/MR o commenti`,"workflow.manual":`Manuale — richiesta esplicita`,"workflow.automatic":`Automatico — se necessario`,"workflow.inherit":`Ereditare`,"workflow.locked":`Ferma l’agente per modificare queste preferenze. La sessione in corso le ha già ricevute.`,"workflow.updateFailed":`Impossibile salvare la preferenza. Controlla la connessione e riprova.`,"workflow.save":`Salva preferenze Git`,"workflow.saved":`Preferenze Git salvate.`,"workflow.planExecution":`Plan permette di preparare la missione. Per eseguire, scegli esplicitamente una modalità di permessi compatibile e riprendi il ciclo.`,"settings.skillSuite.standard":`Standard (senza estensioni)`,"settings.skillSuite.standardHint":`Flusso integrato senza suite di skill esterne.`,"settings.skillSuite.section":`Suite di skill`,"settings.skillSuite.superpowers":`Superpowers`,"settings.skillSuite.gstack":`gstack`,"settings.skillSuite.custom":`Personalizzato`,"settings.skillSuite.superpowersHint":`Workflow opinionato TDD / brainstorm / plan (github.com/obra/superpowers).`,"settings.skillSuite.gstackHint":`Suite di Garry Tan — /review, /ship, /qa, /office-hours, ecc. (github.com/garrytan/gstack).`,"settings.skillSuite.superpowersGstack":`Superpowers + gstack`,"settings.skillSuite.superpowersGstackHint":`Le due suite si combinano — superpowers per la metodologia (brainstorm / TDD / piani / review a livello di principi), gstack per i flussi concreti (/review, /qa, /browse, /design-review, /investigate).`,"settings.skillSuite.ecc":`ECC`,"settings.skillSuite.eccHint":`Framework agentico di affaan-m — agents, skills, rules e hooks per pianificare, testare, implementare, rivedere e memorizzare (github.com/affaan-m/ECC).`,"settings.skillSuite.allThree":`Superpowers + gstack + ECC`,"settings.skillSuite.allThreeHint":`Le tre suite si combinano — superpowers per la metodologia, gstack per i flussi concreti, ECC per passaggi di review/implementazione multi-agente strutturati.`,"settings.skillSuite.customHint":`Componi i cinque prompt qui sotto con i template che preferisci, poi modificali liberamente.`,"settings.skillSuite.reloadDefaults":`Ripristina predefiniti`,"settings.skillSuite.reloadDefaultsConfirm":`Sostituire i cinque prompt personalizzati con i valori agnostici predefiniti?`,"settings.skillSuite.customPrompts":`Prompt personalizzati`,"settings.skillSuite.agnostic":`Base agnostica`,"settings.skillSuite.importPrompt":`Importa un template`,"settings.skillSuite.imported":`Template importato. Ora puoi modificarlo.`,"settings.skillSuite.importFailed":`Impossibile importare il template`,"settings.skillSuite.reviewTemplate":`Template di review`,"settings.skillSuite.autoLoopReviewGate":`Gate di review auto-loop`,"settings.skillSuite.autoLoopGroomingIntro":`Intro di grooming auto-loop`,"settings.skillSuite.qaTemplate":`Template QA`,"settings.skillSuite.brainstormingInstruction":`Istruzione fase di brainstorming`,"settings.global":`Globale`,"settings.projects":`Progetti`,"settings.globalSettings":`Impostazioni globali`,"settings.defaultModel":`Modello predefinito`,"settings.defaultModelClaude":`Modello predefinito (Claude Code)`,"settings.defaultModelCodex":`Modello predefinito (OpenAI Codex)`,"settings.agentPermissions":`Permessi dell'agente`,"settings.skipPermissions":`Salta le richieste di permesso (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Attenzione: disattivando questa opzione, tutti i permessi degli strumenti (Write, Edit, Bash...) verranno negati automaticamente in modalità headless. L'agente potrà solo leggere.`,"settings.notifications":`Notifiche`,"settings.browserNotifications":`Notifica browser quando l'agente termina`,"settings.audioNotifications":`Notifica sonora quando l'agente termina`,"settings.enableBrowserNotifications":`Attiva le notifiche del browser`,"settings.testBrowserNotification":`Prova notifica`,"settings.browserNotificationGranted":`Notifiche del browser consentite`,"settings.browserNotificationDenied":`Notifiche del browser bloccate`,"settings.browserNotificationAsk":`Autorizzazione del browser richiesta`,"settings.browserNotificationUnsupported":`Notifiche del browser non disponibili`,"settings.browserNotificationPermissionNeeded":`Consenti le notifiche del browser per inviare un test.`,"settings.browserNotificationTestTitle":`Test di notifica Kōbō`,"settings.browserNotificationTestBody":`Le notifiche del browser funzionano.`,"settings.enableAudio":`Attiva l'audio`,"settings.notificationSound":`Suono di notifica`,"settings.notificationSoundHint":`Riprodotto quando l'agente termina o richiede un'autorizzazione.`,"settings.questionSound":`Suono delle domande`,"settings.questionSoundHint":`Riprodotto solo quando l'agente ti pone una domanda.`,"settings.workspaceCreatedSound":`Suono di creazione dello spazio di lavoro`,"settings.workspaceCreatedSoundHint":`Riprodotto dopo la creazione di uno spazio di lavoro.`,"settings.notificationSoundPreview":`Ascolta`,"settings.notificationVolume":`Volume`,"settings.notificationSoundHey":`Hey`,"settings.agentErrorSound":`Errori dell’agente`,"settings.agentErrorSoundHint":`Riprodotto per quote, limiti di velocità ed errori dell’agente.`,"settings.notificationSoundBasic":`Notifica di base`,"settings.notificationSoundWorkspaceCreated":`Warcraft III — Lavoro`,"settings.notificationSoundTravailTermine":`Lavoro finito`,"settings.notificationSoundFaaah":`Faaah`,"settings.notificationSoundCaVaPeter":`Sta per esplodere`,"settings.notificationSoundDryFart":`Dry fart`,"settings.notificationSoundForShure":`For shure`,"settings.prSoundSection":`PR / MR e CI`,"settings.soundGeneral":`Suono generale`,"settings.soundNone":`Nessun suono`,"settings.prCiFailedSound":`CI non riuscita`,"settings.prCiRecoveredSound":`CI ripristinata`,"settings.prChangesRequestedSound":`Modifiche richieste`,"settings.prApprovedSound":`PR approvata`,"settings.prMergeConflictSound":`Conflitto di merge`,"settings.prReadyToMergeSound":`Pronta per il merge`,"settings.prMergedSound":`PR unita`,"settings.prCiFailedSoundHint":`Riprodotto quando la CI passa allo stato non riuscito.`,"settings.prCiRecoveredSoundHint":`Riprodotto quando la CI si riprende da un errore.`,"settings.prChangesRequestedSoundHint":`Riprodotto quando una review richiede modifiche.`,"settings.prApprovedSoundHint":`Riprodotto quando la pull request viene approvata.`,"settings.prMergeConflictSoundHint":`Riprodotto quando viene rilevato un conflitto di merge.`,"settings.prReadyToMergeSoundHint":`Riprodotto quando la pull request è pronta per il merge.`,"settings.prMergedSoundHint":`Riprodotto quando la pull request viene unita.`,"settings.notificationSoundSeptiemeCompagnie03":`7ème compagnie 03`,"settings.notificationSoundAllerFtg":`Aller FTG`,"settings.notificationSoundArreteDeMentir":`Arrête de mentir`,"settings.notificationSoundArretezLesMessages":`Arrêtez d'envoyer les messages`,"settings.notificationSoundBahAlorsOnEstNul":`Bah alors, on est nul`,"settings.notificationSoundGtaVDeath":`GTA V — Death`,"settings.notificationSoundNanTuDegages":`Nan, tu dégages`,"settings.notificationSoundNanWallahPardon":`Nan, wallah, pardon`,"settings.notificationSoundOuaisCestGreg":`Ouais, c'est Greg`,"settings.notificationSoundPasCaZinedine":`Pas ça, Zinedine`,"settings.notificationSoundTaGueule":`Ta gueule`,"settings.notificationSoundTuVasLaFermer":`Tu vas la fermer`,"settings.notificationSoundYaaa":`Yaaa`,"settings.notificationSoundMaisLaisseMoiDormirZebi":`Mais laisse-moi dormir zebi`,"settings.defaultPermissionMode":`Modalità permessi predefinita`,"settings.defaultPermissionModeClaude":`Modalità permessi predefinita (Claude Code)`,"settings.defaultPermissionModeCodex":`Modalità permessi predefinita (OpenAI Codex)`,"settings.defaultPermissionModeHint":`Modalità applicata alla creazione di un workspace. Piano = sola lettura, Bypass = senza richieste, Stretto = auto-accetta le edit con allow-list, Interattivo = chiedi prima di ogni strumento.`,"settings.activityFeed":`Feed attività`,"settings.showThinkingBlocks":`Mostra i blocchi di ragionamento degli agenti`,"settings.whipSettings":`Frusta`,"settings.whipSettingsHint":`Configura la scorciatoia e il volume opzionali della frusta.`,"settings.whipEnabled":`Attiva la frusta`,"settings.whipEnabledHint":`Mostra la frusta interattiva nei workspace attivi compatibili.`,"settings.whipVolume":`Volume della frusta`,"settings.whipVolumeMasterAudioDisabled":`L’audio principale è disattivato. Attiva le notifiche audio per regolare il volume della frusta; il valore salvato viene mantenuto.`,"whip.overlayLabel":`Frusta interattiva`,"whip.overlayInstructions":`Muovi il puntatore per controllare la frusta. Premi Invio o Spazio per farla schioccare. Premi Esc per chiudere.`,"settings.whipShortcut":`Scorciatoia della frusta`,"settings.whipShortcutHint":`Fai clic, poi premi la scorciatoia da usare.`,"settings.whipShortcutRecording":`Premi una scorciatoia…`,"settings.whipShortcutButtonLabel":`Scorciatoia della frusta: {shortcut}`,"settings.whipShortcutRecordingLabel":`Registrazione della scorciatoia della frusta. Premi una scorciatoia…`,"settings.whipShortcutReset":`Ripristina scorciatoia`,"settings.whipShortcutReserved":`Questa scorciatoia è riservata dal browser.`,"settings.testIntegration":`Testa connessione`,"pwa.offline":`Sei offline. Chat e agenti richiedono il server Kōbō.`,"pwa.reconnecting":`Riconnessione al server Kōbō…`,"pwa.installReady":`Installa Kōbō come app.`,"pwa.install":`Installa`,"pwa.ignore":`Ignora`,"pwa.updateReady":`È disponibile un aggiornamento di Kōbō.`,"pwa.reload":`Ricarica`,"chat.searchWorkspaceHistory":`Cerca nella cronologia del workspace`,"chat.historySearch.user":`Tu`,"chat.historySearch.agent":`Agente`,"chat.openInGitDiff":`Apri nel diff Git`,"timeline.title":`Cronologia delle sessioni`,"timeline.export":`Esporta diagnostica`,"timeline.unnamed":`Sessione agente`,"timeline.tools":`{count} strumenti`,"timeline.errors":`{count} errori`,"settings.verboseMessages":`Mostra messaggi di sistema dettagliati (task_progress, task_started)`,"settings.availableVariables":`Variabili disponibili nei template del prompt`,"settings.prPromptTemplate":`Template del prompt PR`,"settings.prPromptPlaceholder":`Istruzioni per l'agente durante la creazione di PR su GitHub...`,"settings.prPromptHint":`Usa le variabili elencate sopra (sintassi doppia parentesi graffa).`,"settings.reviewPromptTemplate":`Template del prompt di revisione`,"settings.reviewPromptPlaceholder":`Istruzioni per l'agente durante la revisione delle modifiche del branch...`,"settings.ciFixPromptTemplate":`Template del prompt «Ripara CI»`,"settings.ciFixPromptHint":`Inviato all'agente quando un workspace ha la CI in errore. Variabili (sintassi doppie graffe): pr_url, pr_number, pr_title, branch_name, source_branch, workspace_name, workspace_id, project_name, failed_jobs, ci_run_url.`,"settings.ciFixPromptPlaceholder":`Chiedi all'agente di diagnosticare e correggere i job di CI in errore...`,"settings.finalizationPromptTemplate":`Prompt di finalizzazione dell'auto-loop`,"settings.finalizationPromptHint":`Prompt predefinito per l'ultima iterazione dell'auto-loop (controlli di qualità finali). Usato quando un progetto lascia vuoto il proprio prompt di finalizzazione.`,"settings.finalizationPromptPlaceholder":`Run final quality checks before closing the workspace...`,"settings.notionInitialPrompt":`Prompt iniziale Notion`,"settings.notionInitialPrompt.help":`Aggiunto al prompt di creazione del workspace quando il workspace ha un ticket Notion. Variabili: {variables}.`,"settings.notionInitialPrompt.project":`Prompt iniziale Notion (override)`,"settings.sentryInitialPrompt":`Prompt iniziale Sentry`,"settings.sentryInitialPrompt.help":`Aggiunto al prompt di creazione del workspace quando il workspace ha una issue Sentry. Variabili: {variables}.`,"settings.sentryInitialPrompt.project":`Prompt iniziale Sentry (override)`,"settings.initialPrompt.inheritHint":`Lasciare vuoto per ereditare. Digita un carattere di spazio bianco per disattivare l'iniezione a questo livello.`,"settings.resetToDefault":`Ripristina`,"settings.resetFailed":`Impossibile caricare il valore predefinito`,"settings.sentryIntegration":`Integrazione Sentry`,"settings.var.prNumber":`Numero della PR (es: 42)`,"settings.var.prUrl":`URL completo della PR creata`,"settings.var.branchName":`Nome del branch di lavoro`,"settings.var.sourceBranch":`Branch sorgente a cui punta la PR`,"settings.var.workspaceName":`Nome del workspace`,"settings.var.projectName":`Ultimo segmento del percorso del progetto`,"settings.var.notionUrl":`URL Notion se impostato, vuoto altrimenti`,"settings.var.commits":`Elenco puntato dei commit tra source e head`,"settings.var.diffStats":`Riepilogo shortstat Git (file, inserimenti, eliminazioni)`,"settings.var.tasks":`Attività regolari come lista di controllo`,"settings.var.acceptanceCriteria":`Criteri di accettazione come lista di controllo`,"settings.gitConventions":`Convenzioni Git (globale)`,"settings.gitConventionsPlaceholder":`# Convenzioni Git...`,"settings.gitConventionsHint":`Queste convenzioni vengono scritte in .ai/.git-conventions.md in ogni nuovo workspace e devono essere seguite dall'agente prima di qualsiasi operazione Git. Sovrascritte dalle convenzioni per progetto se definite.`,"settings.setupScript":`Script di setup`,"settings.cleanupScript":`Script di pulizia`,"settings.archiveScript":`Script di archiviazione`,"settings.archiveScriptHint":`Script di shell eseguito lato server nel worktree quando un workspace viene archiviato. Lascia vuoto per disattivare.`,"settings.archiveScriptPlaceholder":`es. pulire container, liberare spazio su disco…`,"settings.hook.sessionEndedTitle":`Hook: sessione terminata`,"settings.hook.sessionEndedHint":`Viene eseguito quando una sessione dell'agente finisce, per qualsiasi motivo. Legge KOBO_SESSION_END_REASON (completed / error / killed / watchdog), KOBO_SESSION_STOP_CAUSE, KOBO_AUTOLOOP_ACTIVE, KOBO_SESSION_ID e KOBO_SESSION_EXIT_CODE. Vuoto = disattivato.`,"settings.hook.sessionEndedPlaceholder":`es. npm test, o notificare un canale di chat…`,"settings.hook.prMergedTitle":`Hook: PR unita`,"settings.hook.prMergedHint":`Viene eseguito quando una PR risulta unita, prima che il workspace sia archiviato o ripulito - il worktree è ancora su disco. Legge KOBO_PR_NUMBER e KOBO_PR_URL. Vuoto = disattivato.`,"settings.hook.prMergedPlaceholder":`es. avviare un deploy, taggare una release…`,"settings.hook.autoLoopDisabledTitle":`Hook: auto-loop fermato`,"settings.hook.autoLoopDisabledHint":`Viene eseguito a ogni disattivazione dell'auto-loop, da parte di Kōbō o tua. Legge KOBO_AUTOLOOP_REASON (completed / stall / error / user-action / awaiting-clarification) e KOBO_TASKS_PENDING. Vuoto = disattivato.`,"settings.hook.autoLoopDisabledPlaceholder":`es. inviare una notifica quando il ciclo si blocca…`,"settings.changeSourceBranchScript":`Script di cambio del branch di origine`,"settings.changeSourceBranchScript.help":`Sostituisce il cherry-pick integrato quando non vuoto. Lo script gestisce git, base della PR, force-push e conflitti; Kōbō rifiuta solo se l'agente è in esecuzione e aggiorna i metadati del branch di origine all'uscita 0.`,"settings.changeSourceBranchScript.envHelp":`KOBO_NEW_BASE — nuovo branch di origine scelto nella finestra di dialogo
|
|
1
|
+
var e={"memory.panel.contextsHint":`Cosa è stato inviato al LLM per questa conversazione.`,"memory.panel.entriesHint":`Note persistenti da modificare o riutilizzare.`,"memory.panel.proposalsHint":`Proposte degli agenti da approvare o rifiutare.`,"memory.panel.operationsHint":`Registro delle letture e delle modifiche alla memoria.`,"memory.panel.openDialog":`Apri la memoria in una finestra`,"memory.panel.closeDialog":`Chiudi la finestra della memoria`,"tours.workspace.memorySettings.title":`Gestire i tre livelli`,"tours.workspace.memorySettings.description":`Questo link apre le impostazioni Memoria: globale per tutti i progetti, progetto per i suoi workspace, workspace per questa missione. Ogni livello si cancella indipendentemente dopo conferma; le informazioni già inviate al LLM non vengono rimosse.`,"tours.settings.memoryModes.title":`Scegliere la modalità memoria`,"tours.settings.memoryModes.description":`Ibrida per impostazione predefinita: l’agente salva nel workspace e propone modifiche di progetto/globali da approvare. Manuale: scrivi solo tu. Automatica: l’agente scrive su tutti e tre i livelli. Premi Salva per applicare la modalità.`,"memory.entry.loadMore":`Carica altre memorie`,"tours.settings.skills.title":`Scegliere una suite di skill`,"tours.settings.skills.description":`Inizia con Standard: non servono estensioni. Superpowers, gstack, ECC e le combinazioni usano skill già installati e disponibili per il motore scelto. La scelta cambia le istruzioni dell’agente; non installa skill né concede permessi. Personalizzato permette di scrivere le proprie istruzioni. Salva la scelta per applicarla.`,"tours.settings.git.description":`Scegli quando gli agenti possono creare commit, eseguire push o pubblicare. Imposta convenzioni Git e prefissi dei branch.`,"tours.settings.git.title":`Flusso Git`,"settings.reviewPromptHint":`Istruzioni inviate all’agente quando si avvia una revisione del codice.`,"settings.help.git":`Preferenze per commit, push e pubblicazione, convenzioni Git e prefissi dei branch.`,"settings.nav.promptTemplates":`Modelli di prompt`,"memory.scope.label":`Ambito della memoria`,"settings.nav.memory":`Memoria`,"settings.help.memory":`Scegli come Kōbō usa la memoria e gestisci le memorie globali, di progetto e workspace.`,"memory.settings.title":`Memoria`,"memory.panel.title":`Memoria`,"memory.panel.contexts":`Contesti inviati a questa conversazione`,"memory.panel.noContext":`Nessun contesto di memoria è stato inviato a questa conversazione.`,"memory.panel.contextStats":`{tokens} token stimati · {cumulative} cumulativi · {remaining} rimanenti · {omitted} omessi`,"memory.panel.entries":`Memorie disponibili`,"memory.panel.proposals":`Proposte in sospeso`,"memory.panel.operations":`Operazioni del workspace`,"memory.panel.add":`Aggiungi memoria`,"memory.panel.clearWorkspace":`Cancella la memoria del workspace`,"memory.panel.settingsLink":`Gestisci la memoria globale e di progetto nelle impostazioni`,"memory.panel.clearConfirm":`Cancellare {entries} memorie e {proposals} proposte da questo workspace?`,"memory.panel.confirmClear":`Cancella la memoria del workspace`,"memory.panel.promoteTo":`Promuovi a`,"memory.panel.loading":`Caricamento della memoria del workspace…`,"memory.panel.loadFailed":`Impossibile caricare la memoria del workspace.`,"memory.panel.archived":`Archiviato`,"memory.panel.purged":`Worktree eliminato`,"memory.panel.changed":`Modificata dopo questo contesto`,"memory.panel.deleted":`Eliminata dopo questo contesto`,"memory.panel.truncated":`(testo abbreviato)`,"memory.engine.codex":`Codex`,"memory.tool.unexplainedError":`Lo strumento di memoria non ha restituito dettagli. Se il budget di lettura è esaurito, interrompi le letture; salvare resta possibile secondo i permessi. Una nuova conversazione o una compattazione confermata rinnova il budget di lettura, non un nuovo messaggio.`,"memory.engine.claude-code":`Claude Code`,"memory.context.state.failed":`Non riuscito`,"memory.context.state.prepared":`Preparato`,"memory.context.state.submitted":`Inviato`,"memory.context.state.initialized":`Inizializzato`,"memory.context.state.unknown":`Consegna sconosciuta`,"memory.settings.intro":`La memoria conserva note esplicite per le future sessioni degli agenti. Non sostituisce la cronologia del provider né quella della chat.`,"memory.settings.mode":`Comportamento automatico della memoria`,"memory.settings.mode.manual":`Manuale`,"memory.settings.modeHint.manual":`Gli agenti possono leggere la memoria. Solo tu puoi creare o modificare le note.`,"memory.settings.mode.automatic":`Automatico`,"memory.settings.modeHint.automatic":`Gli agenti possono recuperare e aggiornare automaticamente le memorie pertinenti.`,"memory.settings.mode.hybrid":`Ibrido`,"memory.settings.modeHint.hybrid":`Gli agenti possono modificare direttamente la memoria del workspace. Le modifiche di progetto e globali richiedono la tua approvazione.`,"memory.settings.saveNote":`La modalità fa parte delle impostazioni e si applica dopo il salvataggio. Se esci senza salvare, resta la modalità precedente.`,"memory.settings.manageTitle":`Esplora e gestisci la memoria`,"memory.settings.independentNote":`Creare, modificare, approvare ed eliminare la memoria ha effetto immediato, indipendentemente dal salvataggio delle impostazioni.`,"memory.settings.add":`Aggiungi memoria`,"memory.settings.clear":`Svuota questo ambito…`,"memory.settings.clearConfirmTitle":`Svuotare questo ambito della memoria?`,"memory.settings.clearConfirm":`Verranno eliminate {entries} memorie e {proposals} proposte in sospeso dall’ambito {scope} selezionato.`,"memory.settings.clearWarning":`Questo elimina solo i dati di memoria di Kōbō, non le conversazioni precedenti del provider né la cronologia della chat.`,"memory.settings.confirmClear":`Svuota ambito`,"memory.settings.cancel":`Annulla`,"memory.settings.loadFailed":`Impossibile caricare gli ambiti della memoria.`,"memory.settings.saveFailed":`Impossibile salvare questa modifica della memoria.`,"memory.settings.clearFailed":`Impossibile visualizzare l’anteprima o svuotare questo ambito della memoria.`,"memory.settings.clearConflict":`La memoria è cambiata dopo l’anteprima. I conteggi sono stati aggiornati; controllali prima di confermare di nuovo.`,"memory.settings.loadMoreScopes":`Carica altri ambiti`,"memory.settings.loadingScopes":`Caricamento degli ambiti…`,"memory.settings.deleteConfirmTitle":`Conferma eliminazione memoria`,"memory.settings.deleteConfirm":`Eliminare “{title}” da {scope}?`,"memory.settings.deleteConfirmAction":`Elimina memoria`,"memory.scope.choose":`Scegli un ambito`,"memory.scope.global":`Globale`,"memory.scope.project":`Progetto`,"memory.scope.workspace":`Workspace`,"memory.entry.empty":`Nessuna memoria in questo ambito.`,"memory.entry.revision":`Revisione {revision}`,"memory.entry.edit":`Modifica`,"memory.entry.editAria":`Modifica {title}`,"memory.entry.delete":`Elimina`,"memory.entry.deleteAria":`Elimina {title}`,"memory.entry.promote":`Promuovi`,"memory.entry.promoteAria":`Promuovi {title}`,"memory.editor.key":`Chiave stabile`,"memory.editor.title":`Titolo`,"memory.editor.body":`Memoria`,"memory.editor.save":`Salva memoria`,"memory.editor.saving":`Salvataggio…`,"memory.editor.cancel":`Annulla`,"memory.editor.conflict":`Questa memoria è stata modificata altrove. Ricaricala oppure conserva la bozza e ribasala esplicitamente sulla revisione attuale.`,"memory.editor.reload":`Ricarica la versione attuale`,"memory.editor.rebase":`Conserva la bozza e ribasa`,"memory.proposal.empty":`Nessuna proposta in sospeso.`,"memory.proposal.approve":`Approva`,"memory.proposal.approveAria":`Approva {title}`,"memory.proposal.reject":`Rifiuta`,"memory.proposal.rejectAria":`Rifiuta {title}`,"memory.operation.empty":`Nessuna operazione di memoria.`,"memory.operation.created":`Memoria creata`,"memory.operation.updated":`Memoria aggiornata`,"memory.operation.deleted":`Memoria eliminata`,"memory.operation.proposed":`Modifica proposta`,"memory.operation.approved":`Proposta approvata`,"memory.operation.rejected":`Proposta rifiutata`,"memory.operation.promoted":`Memoria promossa`,"memory.operation.cleared":`Ambito svuotato`,"memory.operation.read":`Memoria restituita da una lettura`,"memory.operation.humanActor":`Tu`,"memory.operation.internalActor":`Agente · {engine}`,"memory.operation.externalActor":`{name} tramite {transport}`,"memory.operation.loadMore":`Carica operazioni precedenti`,"memory.operation.loading":`Caricamento…`,"settings.nav.git":`Git`,"integration.direct":`Connessione diretta`,"integration.directHint":`Facoltativo: configura un comando MCP attendibile su questo server senza configurazione Claude. Inserisci le credenziali nelle variabili di ambiente. Il salvataggio sostituisce tutta la connessione; attiva separatamente l’integrazione.`,"integration.agentScope":`Le connessioni attivate vengono trasmesse a Claude Code e Codex al prossimo avvio o ripresa. Arresta un agente in esecuzione per applicare le modifiche. Le configurazioni MCP personali restano indipendenti.`,"integration.directOverrides":`La connessione diretta salvata ha la priorità. Eliminala per usare una voce MCP di Claude.`,"integration.stored":`È salvata una connessione privata. I valori non vengono mai restituiti al browser.`,"integration.example":`Esempio: {example}`,"integration.tokenExample":`IL_TUO_TOKEN_NOTION`,"integration.packageExample":`il-tuo-pacchetto-mcp`,"integration.variableExample":`LA_TUA_VARIABILE`,"integration.valueExample":`il-tuo-valore`,"integration.command":`Eseguibile`,"integration.args":`Argomenti (array JSON)`,"integration.environment":`Ambiente e credenziali (oggetto JSON)`,"integration.failed":`Impossibile caricare o salvare la connessione. Controlla JSON e archivio locale.`,"integration.saved":`Connessione salvata. Attiva l’integrazione e prova la connessione.`,"integration.save":`Sostituisci connessione`,"integration.clear":`Rimuovi connessione diretta`,"settings.notificationSoundReady":`Segnale di completamento`,"settings.customSounds":`Suoni importati`,"settings.customSoundsHint":`Importa i tuoi suoni di notifica (massimo {count}, {size} MB ciascuno, .wav .mp3 .ogg .webm). Vengono salvati nella cartella dati di Kōbō e compaiono in tutti i selettori qui sotto.`,"settings.customSoundsImport":`Importa un suono`,"settings.customSoundsFull":`Limite raggiunto ({count} suoni). Eliminane uno prima di importarne un altro.`,"settings.customSoundsError.type":`Formato non supportato. Usa un file .wav, .mp3, .ogg o .webm.`,"settings.customSoundsError.size":`File troppo grande. Il limite è {size} MB.`,"settings.customSoundsError.count":`Limite raggiunto ({count} suoni). Eliminane uno prima di importarne un altro.`,"settings.customSoundsError.failed":`Azione non riuscita. Controlla la connessione e riprova.`,"setup.check.worktrees":`Cartella worktree`,"setup.fix.worktrees":`Controlla la destinazione dei worktree nelle impostazioni e i permessi di scrittura.`,"setup.title":`Configura la prima attività`,"setup.intro":`Scegli un motore e un progetto Git locale. Non servono skill o integrazioni.`,"setup.project":`Cartella locale del progetto`,"setup.credentials":`Accedi su questo server con claude /login o codex login, oppure configura la chiave API. Questi controlli non inviano prompt a pagamento.`,"setup.permissions":`Inizia con un piano. Scegli esplicitamente i permessi nel modulo di creazione; un worktree non isola il computer.`,"setup.check":`Verifica ambiente`,"setup.failed":`Impossibile completare l’azione. Controlla la connessione e riprova.`,"setup.start":`Descrivi la prima attività`,"setup.settings":`Apri impostazioni`,"setup.skip":`Salta per ora`,"setup.status.ok":`Disponibile`,"setup.status.missing":`Mancante`,"setup.status.error":`Da controllare`,"setup.status.unknown":`Non verificato`,"setup.check.node":`Node.js`,"setup.check.platform":`Piattaforma`,"setup.check.git":`Git`,"setup.check.shell":`Bash`,"setup.check.storage":`Cartella dati`,"setup.check.runtime":`Pacchetto del motore`,"setup.check.authentication":`Autenticazione`,"setup.check.model":`Accesso al modello`,"setup.check.repository":`Repository Git`,"setup.check.firstCommit":`Primo commit`,"setup.check.projectWritable":`Scrittura nel progetto`,"setup.fix.node":`Installa Node.js 24.15 o successivo.`,"setup.fix.platform":`Usa Linux, macOS o WSL2; Windows nativo non è supportato.`,"setup.fix.git":`Installa Git su questo server.`,"setup.fix.shell":`Installa Bash su questo server.`,"setup.fix.storage":`Controlla KOBO_HOME e i permessi della cartella.`,"setup.fix.runtime":`Reinstalla Kōbō con le dipendenze opzionali del motore.`,"setup.fix.authentication":`Accedi al provider scelto. La prima attività verificherà l’accesso.`,"setup.fix.model":`Scegli Auto o un modello disponibile per il tuo account.`,"setup.fix.repository":`Scegli una cartella di lavoro Git esistente.`,"setup.fix.firstCommit":`Crea il primo commit prima di creare un worktree.`,"setup.fix.projectWritable":`Scegli una cartella di progetto scrivibile.`,"handoff.freshTitle":`Continua in una nuova sessione`,"handoff.switchTitle":`Cambia LLM`,"handoff.warning":`Il lavoro corrente viene interrotto immediatamente. Una nuova sessione riprende automaticamente nello stesso workspace, mantenendo attività e cronologia.`,"handoff.generate":`Genera un passaggio di consegne con l’agente attuale`,"handoff.generateHint":`Disattiva se la quota è esaurita. Kōbō trasmetterà obiettivo, attività, stato Git e cronologia senza chiamare il LLM attuale.`,"handoff.start":`Avvia nuova sessione`,"handoff.stopping":`Arresto dell’agente attuale`,"handoff.generating":`Preparazione del passaggio di consegne`,"handoff.starting":`Avvio della nuova sessione`,"handoff.completed":`Nuova sessione avviata`,"handoff.failed":`Passaggio di consegne non riuscito`,"handoff.interrupted":`Passaggio di consegne interrotto`,"handoff.cancelled":`Passaggio di consegne annullato`,"handoff.skip":`Continua senza riepilogo LLM`,"handoff.cancel":`Annulla passaggio di consegne`,"handoff.report":`Leggi passaggio di consegne`,"handoff.source":`Sessione precedente`,"handoff.progress":`Passaggio di consegne in corso`,"handoff.blocked":`Risolvi o annulla il passaggio di consegne per continuare.`,"handoff.error":`Impossibile preparare il passaggio di consegne.`,"handoff.loadFailed":`Impossibile caricare lo stato del passaggio di consegne.`,"handoff.status":`Passaggio di consegne`,"chat.externalLlm":`LLM esterno · {name}`,"search.indexing":`Indicizzazione cronologia: {processed}/{total}. Risultati parziali.`,"search.indexUnavailable":`Indice di ricerca non disponibile. Riprova più tardi.`,"blockers.setupConfiguration":`Nessuno script di preparazione configurato. Aggiungine uno nella sezione Script delle impostazioni.`,"blockers.noWorkspace":`Seleziona un workspace per usare questa azione.`,"blockers.purged":`Ripristina il worktree dal banner del workspace prima di questa azione.`,"blockers.archived":`Rimuovi il workspace dall’archivio tramite il suo menu.`,"blockers.operation":`Attendi il completamento dell’operazione in corso.`,"blockers.agentBusy":`Attendi la fine del turno o arresta l’agente dalla conversazione.`,"blockers.configuration":`Configura questa funzione nelle impostazioni del progetto.`,"blockers.settings":`Apri impostazioni`,"workspaceSort.label":`Ordina workspace`,"workspaceSort.activity":`Ultima attività`,"workspaceSort.created":`Data di creazione`,"workspaceSort.name":`Nome`,"workspaceSort.attention":`Priorità di attenzione`,"workspaceSort.asc":`Crescente`,"workspaceSort.desc":`Decrescente`,"workspaceSort.hint":`Ordina in ogni gruppo, archivio incluso. Consultare un workspace non cambia la sua ultima attività.`,"model.tooltip":`Modello usato dall’agente per questo workspace`,"reasoning.tooltip":`Livello di ragionamento usato dall’agente per questo workspace`,"thinking.label":`Ragionamento`,"thinking.noDetails":`L’agente sta ragionando…`,"common.save":`Salva`,"common.duplicate":`Duplica`,"common.confirm":`Conferma`,"common.cancel":`Annulla`,"common.open":`Apri`,"common.retry":`Riprova`,"common.delete":`Elimina`,"common.close":`Chiudi`,"workspace.deleteTitle":`Elimina workspace`,"workspace.deleteTypeBranch":`Riscrivi il nome del branch per confermare`,"workspace.deleteConsequences":`Rimuove il worktree e tutta la cronologia.`,"workspace.deleteFailed":`Impossibile eliminare il workspace.`,"workspace.archiveFailed":`Impossibile archiviare il workspace.`,"tasks.updateFailed":`Impossibile aggiornare l’attività.`,"dashboard.tooltip":`Cruscotto`,"dashboard.title":`Cruscotto`,"dashboard.count":`{n} workspace | {n} workspace`,"dashboard.empty":`Nessun workspace attivo.`,"dashboard.workspace":`Workspace`,"dashboard.status":`Stato`,"dashboard.attention":`Attenzione`,"dashboard.pr":`PR`,"dashboard.diff":`Diff`,"dashboard.activity":`Attività`,"dashboard.prOpen":`aperta`,"reliability.title":`Affidabilità dei modelli`,"reliability.subtitle":`Come ogni motore e modello si è effettivamente concluso su questa macchina.`,"reliability.empty":`Nessuna sessione ancora conclusa.`,"reliability.loadFailed":`Impossibile caricare i dati di affidabilità.`,"reliability.engine":`Motore`,"reliability.model":`Modello`,"reliability.sessions":`Sessioni`,"reliability.completed":`Completate`,"reliability.watchdog":`Watchdog`,"reliability.killed":`Interrotte`,"reliability.errors":`Errori`,"reliability.unknown":`Sconosciuto`,"reliability.median":`Mediana`,"reliability.durationSeconds":`{s}s`,"reliability.durationMinutes":`{m}min {s}s`,"reliability.durationHours":`{h}h {m}min`,"reliability.reset":`Azzera: conta solo le sessioni concluse da ora in poi`,"reliability.since":`Dal {date}`,"reliability.showAll":`Mostra tutto`,"update.available":`È disponibile una versione più recente di Kōbō: {version}`,"update.how":`Come aggiornare`,"common.dismiss":`Ignora`,"common.details":`Dettagli`,"common.ok":`OK`,"whatsNew.title":`Novità`,"common.loading":`Caricamento...`,"common.search":`Cerca...`,"common.refresh":`Aggiorna`,"common.copy":`Copia`,"common.copied":`Copiato negli appunti`,"common.copyFailed":`Copia non riuscita`,"common.add":`Aggiungi`,"folderPicker.title":`Scegli una cartella`,"folderPicker.parent":`Cartella superiore`,"folderPicker.empty":`Nessuna sottocartella`,"folderPicker.select":`Scegli questa cartella`,"common.start":`Avvia`,"common.stop":`Arresta`,"common.archive":`Archivia`,"common.unarchive":`Ripristina`,"common.selectWorkspace":`Seleziona un workspace`,"common.noResults":`Nessun risultato per "{query}"`,"common.send":`invia`,"common.newLine":`nuova riga`,"common.history":`cronologia`,"common.justNow":`adesso`,"common.minutesAgo":`{count}m fa`,"common.hoursAgo":`{count}h fa`,"common.daysAgo":`{count}g fa`,"model.auto":`Auto`,"model.opus55":`Opus 5.5`,"model.opus55Description":`Per attività complesse e quotidiane, contesto 1M`,"model.sonnet55":`Sonnet 5.5`,"model.sonnet55Description":`Efficiente per le attività di routine, contesto 1M`,"model.gpt61sol":`GPT-6.1 Sol`,"model.gpt61solDescription":`Ultimo modello versatile per il coding e il lavoro quotidiano`,"model.gpt6sol":`GPT-6 Sol`,"model.gpt6solDescription":`Modello versatile della generazione precedente`,"model.gpt6luna":`GPT-6 Luna`,"model.gpt6lunaDescription":`Modello rapido per attività semplici`,"model.fable51":`Fable 5.1`,"model.fable5":`Fable 5`,"model.fable5Description":`Per attività impegnative e di lunga durata`,"model.mythos51":`Mythos 5.1 (Glasswing)`,"model.mythos5":`Mythos 5 (Glasswing)`,"model.fable51Description":`Modello più capace - sostituisce Fable 5, contesto 1M, adaptive thinking`,"model.mythos51Description":`Fable 5.1 disponibile solo su invito tramite Project Glasswing`,"model.mythos5Description":`Fable 5.1 senza classificatori di sicurezza — accesso limitato (Project Glasswing)`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.opus5":`Opus 5`,"model.opus48":`Opus 4.8`,"model.opus47Classic":`Opus 4.7 (Classic)`,"model.opus471m":`Opus 4.7 (1M)`,"model.opusClassic":`Opus 4.6 (Classic)`,"model.opus1m":`Opus 4.6 (1M)`,"model.sonnet5":`Sonnet 5`,"model.sonnetClassic":`Sonnet 4.6 (Classic)`,"model.sonnet1m":`Sonnet 4.6 (1M)`,"model.haiku":`Haiku 4.5`,"model.autoDescription":`Claude sceglie il modello ottimale`,"model.opus5Description":`Per coding agentico complesso e lavoro enterprise, contesto 1M`,"model.opus48Description":`Opus più capace — coding agentico long-horizon, contesto 1M di default, effort high di default`,"model.opus47ClassicDescription":`Ultimo Opus, il più capace`,"model.opus471mDescription":`Ultimo Opus, contesto 1M`,"model.opusClassicDescription":`Più potente`,"model.opus1mDescription":`Più potente, contesto 1M`,"model.sonnet5Description":`Il miglior mix di velocità e intelligenza, contesto 1M`,"model.sonnetClassicDescription":`Bilanciato`,"model.sonnet1mDescription":`Bilanciato, contesto 1M`,"model.haikuDescription":`Più veloce`,"model.gpt6astra":`GPT-6 Astra`,"model.gpt6astraDescription":`Il modello di frontiera più capace, contesto 1M (richiede autenticazione ChatGPT)`,"model.gpt56sol":`GPT-5.6 Sol`,"model.gpt56solDescription":`Modello versatile di una generazione precedente`,"model.gpt56terra":`GPT-5.6 Terra`,"model.gpt56terraDescription":`Modello di coding agentico bilanciato per il lavoro quotidiano (richiede autenticazione ChatGPT)`,"model.gpt56luna":`GPT-5.6 Luna`,"model.gpt56lunaDescription":`Modello di coding agentico veloce ed economico (richiede autenticazione ChatGPT)`,"model.gpt55":`GPT-5.5`,"model.gpt55Description":`Modello di programmazione precedente`,"model.gpt54":`GPT-5.4`,"model.gpt54Description":`Ripiego predefinito — ragionamento solido, compatibile con chiave API`,"model.gpt54mini":`GPT-5.4 mini`,"model.gpt54miniDescription":`Veloce ed efficiente — ideale per attività reattive e subagenti`,"model.gpt52":`GPT-5.2`,"model.gpt52Description":`Ottimizzato per il lavoro professionale e gli agenti a lungo termine`,"model.gpt53codex":`GPT-5.3 Codex`,"model.gpt53codexDescription":`Modello specializzato in codice per ingegneria software complessa`,"reasoning.auto":`auto`,"reasoning.minimal":`minimal`,"reasoning.none":`nessuno`,"reasoning.low":`low`,"reasoning.medium":`medium`,"reasoning.high":`high`,"reasoning.xhigh":`xhigh`,"reasoning.max":`max`,"reasoning.autoDescription":`Lascia decidere al motore`,"reasoning.minimalDescription":`Ragionamento più veloce e superficiale`,"reasoning.noneDescription":`Senza ragionamento aggiuntivo`,"reasoning.lowDescription":`Più veloce, meno profondità`,"reasoning.mediumDescription":`Bilanciato`,"reasoning.highDescription":`Più profondità`,"reasoning.xhighDescription":`Profondità estesa, attività lunghe`,"reasoning.maxDescription":`Profondità massima`,"agentPermissionMode.label":`Modalità permessi`,"agentPermissionMode.plan":`Piano`,"agentPermissionMode.bypass":`Bypass`,"agentPermissionMode.strict":`Accetta edit`,"agentPermissionMode.interactive":`Interattivo`,"agentPermissionMode.tooltip":`Come l'agente gestisce i permessi degli strumenti. Piano: sola lettura, nessuna scrittura. Bypass: salta tutte le richieste. Stretto: auto-accetta le edit dei file, rispetta le allow/deny per il resto. Interattivo: chiedi all'utente prima di ogni strumento tramite il pannello dei permessi.`,"agentPermissionMode.autoLoopOverride":`L'auto-loop forza una modalità diversa da Piano — Piano blocca gli strumenti MCP e le edit di cui il loop ha bisogno. Scegli Bypass, Stretto o Interattivo.`,"agentPermissionMode.autoLoopLocked":`Bloccato su Bypass finché l'auto-loop è attivo — qualsiasi altra modalità fermerebbe il loop sulle richieste di permesso. AskUserQuestion funziona comunque.`,"workspaceList.title":`Workspace`,"workspaceList.a11y.groupToggle":`Gruppo {group}, {count} workspace`,"workspaceList.a11y.list":`Workspace`,"workspaceList.a11y.card":`{name}, {status}`,"workspaceList.needsAttention":`Richiede attenzione`,"workspaceList.running":`In esecuzione`,"workspaceList.idle":`Inattivo`,"workspaceList.archived":`Archiviati`,"workspaceList.archivedToast":`«{name}» archiviato`,"workspaceList.archivedUndo":`Annulla`,"workspaceList.unarchiveFailed":`Impossibile ripristinare questo workspace`,"workspaceList.noWorkspaces":`Nessun workspace ancora`,"workspaceList.loadFailed":`Impossibile caricare i tuoi workspace`,"workspaceList.loadFailedHint":`È un errore di connessione, non un account vuoto.`,"workspaceList.footer":`{count} workspace | {count} workspace`,"workspaceList.footerRunning":`{count} in esecuzione`,"workspaceList.deleteDialog.title":`Eliminare il workspace?`,"workspaceList.deleteDialog.deleteLocal":`Elimina branch locale`,"workspaceList.deleteDialog.deleteRemote":`Elimina branch remoto`,"workspaceList.deleteDialog.warning":`Attenzione: questa azione è irreversibile sul remoto.`,"workspaceList.deleteArchivedDialog.tooltip":`Elimina tutti i workspace archiviati`,"workspaceList.deleteArchivedDialog.title":`Eliminare tutti i workspace archiviati?`,"workspaceList.deleteArchivedDialog.message":`Questa operazione eliminerà definitivamente i {count} workspace archiviati. L'azione è irreversibile.`,"workspaceList.deleteArchivedDialog.typeCount":`Digita {count} per confermare`,"workspacePage.configure":`Configura`,"workspacePage.permissions":`Autorizzazioni`,"workspacePage.selectWorkspace":`Seleziona un workspace per iniziare`,"workspacePage.commandPalettePlaceholder":`Cerca comandi…`,"workspacePage.commandPaletteEmpty":`Nessun comando corrispondente`,"workspacePage.commandFocusChat":`Metti a fuoco il campo chat`,"workspacePage.commandSearchHistory":`Cerca nella cronologia del workspace`,"workspacePage.commandTogglePanel":`Mostra o nascondi il pannello laterale`,"workspacePage.commandStartAgent":`Avvia agente`,"workspacePage.commandStopAgent":`Ferma agente`,"workspacePage.commandOpenSettings":`Apri le impostazioni`,"workspacePage.commandOpenCreate":`Crea un workspace`,"workspacePage.commandOpenSearch":`Ricerca globale`,"workspacePage.commandOpenHealth":`Pagina Salute`,"workspacePage.commandOpenChangelog":`Changelog`,"workspacePage.commandGroupWorkspaces":`Vai a un workspace`,"workspacePage.commandPaletteHint":`Palette dei comandi`,"workspacePage.session":`Sessione #{n}`,"workspacePage.newSession":`+ Nuova sessione`,"workspacePage.renameSession":`Rinomina`,"workspacePage.renameSessionTitle":`Rinomina sessione`,"workspacePage.sessionNameLabel":`Nome sessione`,"workspacePage.sessionEndedNotice":`Questa sessione è terminata. Crea una nuova sessione per continuare.`,"workspacePage.renameFailed":`Rinomina fallita`,"workspacePage.copySessionId":`Copia ID sessione`,"workspacePage.deleteSession":`Elimina sessione`,"workspacePage.deleteSessionTitle":`Eliminare la sessione?`,"workspacePage.deleteSessionConfirm":`Questo elimina definitivamente la sessione e la cronologia della conversazione.`,"workspacePage.deleteSessionFailed":`Impossibile eliminare la sessione`,"workspacePage.noEngineSessionId":`Nessun ID sessione ancora — l'agente non ha ancora avviato questa sessione`,"workspacePage.createSessionFailed":`Creazione sessione fallita`,"workspacePage.startFailed":`Avvio fallito`,"workspacePage.stopFailed":`Arresto fallito`,"workspacePage.interrupt":`Interrompi`,"workspacePage.interrupted":`Agente interrotto — in attesa del tuo prossimo messaggio`,"workspacePage.lastAgentEvent":`Ultimo evento {when}`,"workspacePage.agentStopping":`Arresto in corso…`,"workspacePage.agentNotRunning":`Nessun agente in esecuzione — lo stato è obsoleto`,"contextMenu.restoreWorktree":`Ripristina worktree`,"workspacePage.restoringWorktree":`Ripristino…`,"workspacePage.worktreeRestoreSuccess":`Worktree ripristinato`,"workspacePage.worktreeRestoreLimitations":`Ricrea i file Git salvati nei commit. Le dipendenze e i file locali eliminati in precedenza non vengono ripristinati.`,"workspacePage.restoreError.not-found":`Questo workspace non esiste più. Aggiorna l’elenco dei workspace.`,"workspacePage.restoreError.not-purged":`Questo workspace non è contrassegnato come ripulito. Aggiornalo e controlla la sua directory di lavoro.`,"workspacePage.restoreError.workspace-busy":`È già in corso un’operazione su questo workspace. Attendi che termini e riprova.`,"workspacePage.restoreError.worktree-not-owned":`Questo worktree non è gestito da Kōbō. Ripristinalo manualmente nel progetto originale.`,"workspacePage.restoreError.project-unavailable":`Il progetto originale non è disponibile. Ricollega il disco o ripristina il progetto nel percorso originale, quindi riprova.`,"workspacePage.restoreError.path-conflict":`Il percorso del worktree è occupato da un’altra cartella o checkout. Sposta la cartella in conflitto o segui le istruzioni di recupero manuale in Dettagli.`,"workspacePage.restoreError.branch-in-use":`Il branch di lavoro è già in uso in un altro checkout. Utilizza quel checkout o libera il branch prima di riprovare.`,"workspacePage.restoreError.recovery-source-unavailable":`Il branch di lavoro e il commit salvato non sono stati trovati. Verifica l’accesso remoto o consulta il recupero manuale in Dettagli.`,"workspacePage.restoreError.git-failed":`Ripristino non riuscito. Verifica l’accesso a Git e i permessi del disco, quindi riprova. Dettagli apre la guida al recupero manuale.`,"workspacePage.archivedBanner":`Workspace archiviato — sola lettura`,"workspacePage.worktreePurgedBanner":`Worktree eliminato — cronologia conservata`,"workspacePage.worktreePurgedTooltip":`Ripristina worktree ricrea la directory di lavoro e rimuove questo workspace dall’archivio. Conversazione, attività e sessioni vengono conservate. Non viene avviato alcun agente o server di sviluppo.`,"workspacePage.pendingInitialPromptBanner":`C'è un prompt iniziale in attesa — l'agente non l'ha mai ricevuto (lo script di setup è crashato o il workspace non è mai stato avviato). Clicca Avvia per inviarlo ora.`,"workspacePage.unarchived":`Workspace ripristinato`,"workspacePage.unarchiveFailed":`Ripristino fallito`,"workspacePage.interruptFailed":`Interruzione fallita`,"workspacePage.interruptHint":`Interrompi il turno in corso senza terminare la sessione.`,"workspacePage.interruptTooltip":`Interruzione leggera (come Escape) — ferma lo strumento corrente ma mantiene la sessione attiva`,"workspacePage.pendingNextRun":`Applicato al prossimo avvio`,"workspacePage.activeSessionModel":`In uso: {model}`,"workspacePage.activeSessionModelTooltip":`Modello effettivamente usato dalla sessione selezionata`,"workspacePage.switchEngine":`Cambia motore`,"workspacePage.switchEngineHint":`Continua questo workspace con un altro motore agente`,"workspacePage.moreActions":`Altre azioni`,"workspacePage.switchEngineTitle":`Cambia motore agente`,"workspacePage.switchEngineWarning":`L'agente attuale verrà fermato e una nuova sessione inizierà nello stesso worktree.`,"workspacePage.engineLabel":`Motore`,"workspacePage.engineClaude":`Claude Code`,"workspacePage.engineCodex":`Codex`,"workspacePage.engineHandoff":`Passaggio al nuovo motore`,"workspacePage.engineHandoffHint":`Rivedi o modifica il contesto inviato al nuovo agente.`,"workspacePage.confirmSwitchEngine":`Cambia motore`,"workspacePage.switchEngineFailed":`Impossibile cambiare motore`,"whip.dispatchFailed":`Impossibile inviare il messaggio della frusta`,"whip.phrase1":`Continua, per favore.`,"whip.phrase2":`Prosegui con le attività previste.`,"whip.phrase3":`Passa alla fase successiva.`,"whip.phrase4":`Controlla i progressi e continua.`,"whip.phrase5":`Continua entro l’ambito concordato.`,"search.title":`Ricerca`,"search.tooltip":`Cerca nella cronologia degli agenti`,"search.placeholder":`Cerca in tutti i messaggi degli agenti…`,"search.includeArchived":`Includi workspace archiviati`,"search.loading":`Ricerca in corso…`,"search.noResults":`Nessun risultato`,"search.error":`Ricerca fallita: {message}`,"search.resultCount":`{n} risultato/i`,"search.eventType.userMessage":`Tu`,"search.eventType.agentOutput":`Agente`,"activityFeed.empty":`Nessuna attività ancora`,"activityFeed.emptyHint":`Avvia un workspace per vedere l'output dell'agente qui`,"activityFeed.initialPrompt":`Prompt iniziale`,"activityFeed.you":`Tu`,"activityFeed.agent":`Agente`,"activityFeed.question":`Domanda`,"activityFeed.goToPrevious":`Vai al messaggio precedente`,"activityFeed.scrollToBottom":`Vai in fondo`,"activityFeed.sendAnswers":`Invia risposte`,"agentBusy.banner":`L'agente è occupato`,"agentBusy.subagentsRunning":`1 sub-agente in esecuzione | {n} sub-agenti in esecuzione`,"agentBusy.viewSubagents":`Vedi sub-agenti`,"agentBusy.pendingMessage":`In attesa — l'agente è occupato`,"terminal.title":`Terminale`,"terminal.open":`Apri terminale`,"terminal.close":`Chiudi terminale`,"terminal.noWorkspace":`Seleziona un workspace`,"terminal.noWorktree":`Worktree non ancora creato`,"terminal.error":`Errore del terminale`,"terminal.exited":`Terminale chiuso`,"terminal.disconnected":`Connessione persa`,"terminal.outputMayBeMissing":`[Connessione interrotta. Parte dell’output del terminale potrebbe mancare.]`,"terminal.reconnecting":`Riconnessione… (tentativo {attempt} di {max})`,"terminal.reconnect":`Riconnetti`,"chatInput.placeholder":`Messaggio... (/ per le skill)`,"chatInput.fileSearchHint":`cercare un file`,"chatInput.skills":`Skill`,"chatInput.attachImage":`Allega immagine`,"chatInput.queueBanner":`Messaggio in coda — verrà inviato quando l'agente avrà terminato`,"chatInput.forceQueue":`Forza invio`,"chatInput.searchHistory":`cerca`,"chatInput.commandPalette":`comandi`,"chatInput.shortcuts":`Scorciatoie da tastiera`,"chatInput.cancelQueue":`Annulla coda`,"chatInput.autoLoopBanner":`Auto-loop attivo — fermalo per inviare un messaggio`,"chatInput.awaitingUserBanner":`L'agente attende la tua risposta sopra — rispondi tramite il pannello della domanda`,"chatInput.autoLoopStop":`Ferma`,"koboCommand.checkProgressDesc":`Verificare il progresso delle attività e dei criteri di accettazione`,"chatInput.uploading":`Caricamento...`,"voice.title":`Trascrizione vocale`,"voice.enabled":`Abilita trascrizione vocale locale`,"voice.pttKey":`Tasto push-to-talk`,"voice.pttAlt":`Alt`,"voice.pttCtrlSpace":`Ctrl+Spazio`,"voice.language":`Lingua (auto o codice)`,"voice.model":`Modello attivo`,"voice.commandPath":`Percorso binario Whisper (opzionale)`,"voice.ffmpegPath":`Percorso binario ffmpeg (opzionale)`,"voice.temperature":`Temperatura`,"voice.temperatureHint":`Più basso = più deterministico; più alto = più flessibile ma potenzialmente meno stabile.`,"voice.initialPrompt":`Prompt iniziale (opzionale)`,"voice.initialPromptHint":`Contesto opzionale per aiutare Whisper con nomi propri, sigle o vocabolario tecnico.`,"voice.translateToEnglish":`Traduci in inglese`,"voice.translateToEnglishHint":`Se attivo, il parlato non inglese viene tradotto in inglese invece di essere trascritto così com’è.`,"voice.suppressNst":`Sopprimi token non vocali`,"voice.suppressNstHint":`Prova a ridurre artefatti non vocali nella trascrizione.`,"voice.installLink":`Installa whisper.cpp`,"voice.installGuideTitle":`Guida installazione`,"voice.installGuideIntro":`Installa whisper.cpp e ffmpeg, poi imposta i percorsi dei binari qui sotto se necessario.`,"voice.installGuideUbuntuTitle":`Ubuntu / Debian`,"voice.installGuideWindowsTitle":`Windows`,"voice.installGuideBinaryPathHint":`Dopo il build con CMake, il binario Whisper di solito è in: whisper.cpp/build/bin/whisper-cli`,"voice.installGuideSettingsHint":`Poi imposta “Percorso binario Whisper” e “Percorso binario ffmpeg” in questa sezione (o lascia vuoto se sono nel PATH).`,"voice.noneModel":`Nessun modello attivo`,"voice.notInstalled":`non installato`,"voice.download":`Scarica`,"voice.delete":`Elimina`,"voice.holdToTalk":`Tieni premuto per parlare`,"voice.recording":`Registrazione...`,"voice.transcribing":`Trascrizione...`,"voice.notSupported":`La registrazione vocale non è supportata da questo browser`,"voice.errorMicPermission":`Permesso microfono negato`,"voice.errorTranscription":`Trascrizione vocale non riuscita`,"voice.downloadFailed":`Download del modello non riuscito`,"voice.deleteFailed":`Eliminazione del modello non riuscita`,"voice.errorDisabled":`La trascrizione vocale è disattivata nelle impostazioni`,"voice.errorModelMissing":`Nessun modello vocale attivo configurato`,"voice.errorModelNotInstalled":`Il modello vocale attivo non è installato`,"voice.errorAudioInvalid":`La cattura audio è non valida o vuota`,"voice.errorLanguageInvalid":`La configurazione lingua vocale non è valida`,"voice.errorRuntimeMissing":`Il runtime Whisper non è installato o non è nel PATH`,"voice.maxDurationReached":`Durata massima di registrazione raggiunta`,"voice.runtimeReady":`Runtime pronto: {command}`,"voice.runtimeMissing":`Runtime mancante: {command}`,"voice.ffmpegReady":`ffmpeg pronto`,"voice.ffmpegMissing":`ffmpeg mancante`,"voice.sectionRuntime":`Stato del runtime`,"voice.sectionActivation":`Attivazione`,"voice.sectionModels":`Modelli Whisper`,"voice.sectionAdvanced":`Opzioni avanzate`,"voice.sectionBehavior":`Comportamento della trascrizione`,"voice.sectionBinaries":`Percorsi dei binari`,"voice.downloadModels":`Scarica un modello`,"voice.cancelFailed":`Annullamento del download non riuscito`,"attachments.error.upload":`Caricamento non riuscito. Rimuovi l’allegato e riprova.`,"attachments.add":`Allega file`,"attachments.remove":`Rimuovi allegato`,"attachments.hint":`Incolla o trascina i file qui · massimo {count} · {size} MB ciascuno · {total} MB in totale`,"attachments.error.type":`Usa immagini PNG, JPEG, GIF o WebP, PDF, Markdown o documenti di testo (TXT, CSV, JSON, YAML, XML, LOG, RST, TOML).`,"attachments.error.size":`Ogni file deve avere contenuto e non superare 50 MB.`,"attachments.error.count":`Puoi allegare fino a 10 file.`,"attachments.error.total":`Gli allegati non devono superare 50 MB in totale.`,"attachments.descriptionRequired":`Inserisci una descrizione o allega un file.`,"createPage.title":`Crea un workspace`,"createPage.fromTemplate":`Da un template`,"createPage.fromTemplateNone":`Nessuno`,"createPage.saveAsTemplate":`Salva come template`,"createPage.saveTemplateTitle":`Salva questo modulo come template`,"createPage.saveTemplateName":`Nome del template`,"createPage.saveTemplateOverwrite":`Esiste già un template chiamato «{name}». Sovrascriverlo?`,"createPage.templateSaved":`Template «{name}» salvato`,"createPage.templateApplied":`Template «{name}» applicato`,"createPage.duplicatedFrom":`Duplicato da «{name}»`,"createPage.duplicateLoadFailed":`Impossibile caricare il workspace da duplicare.`,"createPage.templateSaveFailed":`Impossibile salvare il template.`,"createPage.presetProjectUnknown":`Questo template punta a un progetto non più configurato; il progetto attuale è stato mantenuto.`,"createPage.copySuffix":`(copia)`,"createPage.subtitle":`Descrivi la missione, scegli un progetto e configura l’agente.`,"createPage.sectionMission":`Missione`,"createPage.sectionMissionHint":`Fornisci all’agente un obiettivo chiaro e il contesto necessario.`,"createPage.workspaceNameLabel":`Nome del workspace`,"createPage.descriptionLabel":`Descrizione della missione`,"createPage.tagsLabel":`Tag`,"createPage.tagsHint":`Classifica questo workspace`,"createPage.sources":`Fonti facoltative`,"createPage.sectionGit":`Progetto Git`,"createPage.sectionGitHint":`Scegli il repository, il branch di partenza e la modalità worktree.`,"createPage.worktreeMode":`Modalità worktree`,"createPage.worktreeNew":`Nuovo worktree isolato`,"createPage.worktreeExisting":`Riutilizza un worktree esistente`,"createPage.projectLabel":`Progetto`,"createPage.sourceBranch":`Branch di partenza`,"createPage.workingBranchPreview":`Anteprima del branch di lavoro`,"createPage.branchNamePending":`nome-del-workspace`,"createPage.sectionAgent":`Agente`,"createPage.sectionAgentHint":`Controlla le impostazioni di esecuzione o attiva l’automazione.`,"createPage.configureAgent":`Configura l’agente`,"createPage.advancedOptions":`Opzioni avanzate`,"createPage.keyboardHint":`Premi Ctrl/Cmd + Invio per creare il workspace.`,"createPage.createWorkspace":`Crea workspace`,"createPage.compareEngines":`Confronta due motori`,"createPage.engineA":`Motore A`,"createPage.engineB":`Motore B`,"createPage.compareBrainstormLocked":`Modalità confronto: ogni motore fa il brainstorming con il modello e lo sforzo definiti nel proprio blocco qui sopra.`,"createPage.compareEnginesHint":`Crea due workspace da questo task, uno per motore, in worktree affiancati. I loro diff possono poi essere confrontati fianco a fianco.`,"createPage.compareNeedsNewWorktree":`Confrontare due motori richiede due nuovi worktree. Disattiva prima «usa un worktree esistente».`,"createPage.compareNeedsSecondEngine":`Scegli un secondo motore, diverso dal primo, per il confronto.`,"comparison.title":`Confronto tra motori`,"comparison.hint":`Lo stesso task, eseguito da ogni motore nel proprio worktree.`,"comparison.engine":`Motore`,"comparison.status":`Stato`,"comparison.tasks":`Task`,"comparison.commits":`Commit`,"comparison.files":`File`,"comparison.diff":`Diff`,"comparison.messages":`Messaggi`,"comparison.messagesTitle":`Messaggi dell'agente / i tuoi messaggi`,"comparison.questions":`Domande`,"comparison.tools":`Strumenti`,"comparison.errors":`Errori`,"comparison.tokens":`Token`,"comparison.tokensTitle":`Token in ingresso / in uscita`,"comparison.sessions":`Sessioni`,"comparison.duration":`Durata`,"comparison.exportCsv":`Esporta in CSV`,"comparison.open":`Apri`,"comparison.current":`Questo`,"comparison.archived":`archiviato`,"comparison.incomplete":`Esiste un solo workspace di questo confronto. L'altro non è mai stato creato, oppure è stato eliminato.`,"createPage.comparisonPartial":`Sono stati creati solo {count} workspace su {total}. Quello esistente è utilizzabile da solo; eliminalo se preferisci ricominciare.`,"createPage.notionEnabled":`Notion attivato`,"createPage.importNotion":`Importa da Notion`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`L'URL deve iniziare con https://www.notion.so/ o https://app.notion.com/`,"createPage.notionAutoExtract":`Le sottotask e i criteri di accettazione verranno estratti automaticamente.`,"createPage.notionPanelChoiceLabel":`Questo URL punta a una sotto-pagina (?p=). Su quale vuoi lavorare?`,"createPage.notionPanelOption":`Sotto-pagina (panel)`,"createPage.notionPanelOptionDesc":`La pagina che stavi visualizzando — consigliato`,"createPage.notionParentOption":`Pagina principale`,"createPage.notionParentOptionDesc":`L'epic / database a cui appartiene`,"createPage.importSentry":`Importa Sentry`,"createPage.sentryEnabled":`Sentry attivato`,"createPage.sentryPlaceholder":`https://tua-org.sentry.io/issues/123456`,"createPage.sentryValidation":`L'URL deve puntare a una issue di Sentry (/issues/<id>)`,"createPage.sentryAutoExtract":`L'issue di Sentry verrà importata automaticamente`,"createPage.sentryExtractHint":`Kobo estrarrà l'issue e la scriverà in .ai/thoughts/`,"createPage.importPr":`Importa da una PR`,"createPage.importPrRequiresProject":`Scegli prima un progetto`,"createPage.importPrNotSupported":`Il forge di questo progetto non supporta l'elenco delle pull request`,"createPage.lockedToPr":`Bloccato sulla PR #{number}`,"createPage.prReadyToCreate":`PR #{number} importata — il workspace può essere creato.`,"createPage.prResumeIntro":`Ripresa del lavoro sulla pull request esistente #{number} "{title}" ({url}).`,"createPage.unlockPrCheckout":`Sblocca`,"createPage.workspaceName":`Nome del workspace (predefinito: titolo della pagina Notion)`,"createPage.workspaceNamePlaceholder":`Nome del workspace...`,"createPage.instructions":`Istruzioni aggiuntive (opzionale)...`,"createPage.instructionsPlaceholder":`Descrivi il task...`,"createPage.tasks":`Task ({count})`,"createPage.addTask":`Aggiungi un task...`,"createPage.acceptanceCriteria":`Criteri di accettazione ({count})`,"createPage.addCriterion":`Aggiungi un criterio...`,"createPage.projectPath":`Inserisci il percorso del progetto`,"createPage.branchType":`Tipo di branch`,"createPage.branch":`Branch`,"createPage.noBranches":`Nessun branch trovato`,"createPage.enterPath":`Inserisci il percorso del progetto`,"createPage.skipSetupScript":`Salta script di setup`,"createPage.worktreePickerLabel":`Worktree esistente`,"createPage.noOrphanWorktrees":`Nessun worktree orfano in questo progetto`,"createPage.pickWorktreeRequired":`Seleziona un worktree da agganciare`,"createPage.notionExtractHint":`Le sottotask e i criteri di accettazione verranno estratti dalla pagina Notion.`,"createPage.errorCreating":`Errore durante la creazione del workspace.`,"createPage.branchAdjusted":"Il branch esisteva già — creato `{branch}` al suo posto. La cartella worktree corrispondente usa lo stesso suffisso.","createPage.localSourceFallback":`Workspace creato dal branch locale (origin non raggiungibile) — la base potrebbe essere obsoleta.`,"createPage.validationNotionUrl":`Inserisci un URL Notion valido (https://www.notion.so/... o https://app.notion.com/...).`,"createPage.validationDescription":`Descrivi il task.`,"createPage.validationName":`Indica un nome per il workspace.`,"createPage.validationPath":`Inserisci il percorso del progetto.`,"createPage.validationBranch":`Seleziona un branch.`,"createPage.validationFocusHint":`Il campo da correggere è evidenziato qui sotto.`,"createPage.progress.validate":`Validazione della richiesta…`,"createPage.progress.fetch-source-branch":`Recupero del branch sorgente da origin…`,"createPage.progress.inspect-worktree":`Ispezione del worktree esistente…`,"createPage.progress.extract-notion":`Estrazione della pagina Notion…`,"createPage.progress.extract-sentry":`Estrazione dell’issue Sentry…`,"createPage.progress.create-record":`Creazione del workspace…`,"createPage.progress.create-tasks":`Creazione di task e criteri di accettazione…`,"createPage.progress.create-worktree":`Creazione del worktree git…`,"createPage.progress.write-conventions":`Scrittura delle convenzioni git…`,"createPage.progress.write-context-files":`Scrittura dei file di contesto…`,"createPage.progress.build-prompt":`Costruzione del prompt iniziale…`,"createPage.progress.setup-script":`Esecuzione del tuo script di installazione…`,"createPage.progress.start-agent":`Avvio dell’agente…`,"createPage.progress.rollback":`Annullamento della creazione fallita…`,"createPage.progress.done":`Fatto`,"createPage.progress.step":`Passo {index} di {total}`,"createPage.errorAtStep":`Creazione fallita al passo «{step}»: {message}`,"createPage.override.title":`Due delle tue scelte sono state sostituite`,"createPage.override.setup-script-forced":`Script di installazione saltato: rieseguirlo su un worktree già preparato potrebbe distruggerne il contenuto.`,"createPage.override.permission-mode-downgraded":`Modalità permessi passata da Plan a Bypass: un ciclo autonomo non può girare in Plan, che blocca strumenti e modifiche.`,"settings.title":`Impostazioni`,"settings.language":`Lingua`,"settings.projectColor":`Colore`,"settings.projectColorClear":`Cancella`,"settings.projectColorDefault":`Predefinito (grigio)`,"settings.workspaceListSection":`Lista dei workspace`,"settings.flattenWorkspaceList":`Lista piatta dei workspace`,"settings.flattenWorkspaceListHint":`Mostra tutti i workspace in una lista piatta con un badge progetto, invece di raggrupparli per progetto.`,"workflow.title":`Flusso Git`,"workflow.hint":`Queste preferenze guidano gli agenti; non sostituiscono i permessi di sistema. Le istruzioni più restrittive hanno priorità. Pubblicare non autorizza mai il merge. I nuovi spazi conservano una copia delle scelte.`,"workflow.commit":`Creare commit`,"workflow.push":`Inviare il branch`,"workflow.publish":`Pubblicare PR/MR o commenti`,"workflow.manual":`Manuale — richiesta esplicita`,"workflow.automatic":`Automatico — se necessario`,"workflow.inherit":`Ereditare`,"workflow.locked":`Ferma l’agente per modificare queste preferenze. La sessione in corso le ha già ricevute.`,"workflow.updateFailed":`Impossibile salvare la preferenza. Controlla la connessione e riprova.`,"workflow.save":`Salva preferenze Git`,"workflow.saved":`Preferenze Git salvate.`,"workflow.planExecution":`Plan permette di preparare la missione. Per eseguire, scegli esplicitamente una modalità di permessi compatibile e riprendi il ciclo.`,"settings.skillSuite.standard":`Standard (senza estensioni)`,"settings.skillSuite.standardHint":`Flusso integrato senza suite di skill esterne.`,"settings.skillSuite.section":`Suite di skill`,"settings.skillSuite.superpowers":`Superpowers`,"settings.skillSuite.gstack":`gstack`,"settings.skillSuite.custom":`Personalizzato`,"settings.skillSuite.superpowersHint":`Workflow opinionato TDD / brainstorm / plan (github.com/obra/superpowers).`,"settings.skillSuite.gstackHint":`Suite di Garry Tan — /review, /ship, /qa, /office-hours, ecc. (github.com/garrytan/gstack).`,"settings.skillSuite.superpowersGstack":`Superpowers + gstack`,"settings.skillSuite.superpowersGstackHint":`Le due suite si combinano — superpowers per la metodologia (brainstorm / TDD / piani / review a livello di principi), gstack per i flussi concreti (/review, /qa, /browse, /design-review, /investigate).`,"settings.skillSuite.ecc":`ECC`,"settings.skillSuite.eccHint":`Framework agentico di affaan-m — agents, skills, rules e hooks per pianificare, testare, implementare, rivedere e memorizzare (github.com/affaan-m/ECC).`,"settings.skillSuite.allThree":`Superpowers + gstack + ECC`,"settings.skillSuite.allThreeHint":`Le tre suite si combinano — superpowers per la metodologia, gstack per i flussi concreti, ECC per passaggi di review/implementazione multi-agente strutturati.`,"settings.skillSuite.customHint":`Componi i cinque prompt qui sotto con i template che preferisci, poi modificali liberamente.`,"settings.skillSuite.reloadDefaults":`Ripristina predefiniti`,"settings.skillSuite.reloadDefaultsConfirm":`Sostituire i cinque prompt personalizzati con i valori agnostici predefiniti?`,"settings.skillSuite.customPrompts":`Prompt personalizzati`,"settings.skillSuite.agnostic":`Base agnostica`,"settings.skillSuite.importPrompt":`Importa un template`,"settings.skillSuite.imported":`Template importato. Ora puoi modificarlo.`,"settings.skillSuite.importFailed":`Impossibile importare il template`,"settings.skillSuite.reviewTemplate":`Template di review`,"settings.skillSuite.autoLoopReviewGate":`Gate di review auto-loop`,"settings.skillSuite.autoLoopGroomingIntro":`Intro di grooming auto-loop`,"settings.skillSuite.qaTemplate":`Template QA`,"settings.skillSuite.brainstormingInstruction":`Istruzione fase di brainstorming`,"settings.global":`Globale`,"settings.projects":`Progetti`,"settings.globalSettings":`Impostazioni globali`,"settings.defaultModel":`Modello predefinito`,"settings.defaultModelClaude":`Modello predefinito (Claude Code)`,"settings.defaultModelCodex":`Modello predefinito (OpenAI Codex)`,"settings.agentPermissions":`Permessi dell'agente`,"settings.skipPermissions":`Salta le richieste di permesso (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Attenzione: disattivando questa opzione, tutti i permessi degli strumenti (Write, Edit, Bash...) verranno negati automaticamente in modalità headless. L'agente potrà solo leggere.`,"settings.notifications":`Notifiche`,"settings.browserNotifications":`Notifica browser quando l'agente termina`,"settings.audioNotifications":`Notifica sonora quando l'agente termina`,"settings.enableBrowserNotifications":`Attiva le notifiche del browser`,"settings.testBrowserNotification":`Prova notifica`,"settings.browserNotificationGranted":`Notifiche del browser consentite`,"settings.browserNotificationDenied":`Notifiche del browser bloccate`,"settings.browserNotificationAsk":`Autorizzazione del browser richiesta`,"settings.browserNotificationUnsupported":`Notifiche del browser non disponibili`,"settings.browserNotificationPermissionNeeded":`Consenti le notifiche del browser per inviare un test.`,"settings.browserNotificationTestTitle":`Test di notifica Kōbō`,"settings.browserNotificationTestBody":`Le notifiche del browser funzionano.`,"settings.enableAudio":`Attiva l'audio`,"settings.notificationSound":`Suono di notifica`,"settings.notificationSoundHint":`Riprodotto quando l'agente termina o richiede un'autorizzazione.`,"settings.questionSound":`Suono delle domande`,"settings.questionSoundHint":`Riprodotto solo quando l'agente ti pone una domanda.`,"settings.workspaceCreatedSound":`Suono di creazione dello spazio di lavoro`,"settings.workspaceCreatedSoundHint":`Riprodotto dopo la creazione di uno spazio di lavoro.`,"settings.notificationSoundPreview":`Ascolta`,"settings.notificationVolume":`Volume`,"settings.notificationSoundHey":`Hey`,"settings.agentErrorSound":`Errori dell’agente`,"settings.agentErrorSoundHint":`Riprodotto per quote, limiti di velocità ed errori dell’agente.`,"settings.notificationSoundBasic":`Notifica di base`,"settings.notificationSoundWorkspaceCreated":`Warcraft III — Lavoro`,"settings.notificationSoundTravailTermine":`Lavoro finito`,"settings.notificationSoundFaaah":`Faaah`,"settings.notificationSoundCaVaPeter":`Sta per esplodere`,"settings.notificationSoundDryFart":`Dry fart`,"settings.notificationSoundForShure":`For shure`,"settings.prSoundSection":`PR / MR e CI`,"settings.soundGeneral":`Suono generale`,"settings.soundNone":`Nessun suono`,"settings.prCiFailedSound":`CI non riuscita`,"settings.prCiRecoveredSound":`CI ripristinata`,"settings.prChangesRequestedSound":`Modifiche richieste`,"settings.prApprovedSound":`PR approvata`,"settings.prMergeConflictSound":`Conflitto di merge`,"settings.prReadyToMergeSound":`Pronta per il merge`,"settings.prMergedSound":`PR unita`,"settings.prCiFailedSoundHint":`Riprodotto quando la CI passa allo stato non riuscito.`,"settings.prCiRecoveredSoundHint":`Riprodotto quando la CI si riprende da un errore.`,"settings.prChangesRequestedSoundHint":`Riprodotto quando una review richiede modifiche.`,"settings.prApprovedSoundHint":`Riprodotto quando la pull request viene approvata.`,"settings.prMergeConflictSoundHint":`Riprodotto quando viene rilevato un conflitto di merge.`,"settings.prReadyToMergeSoundHint":`Riprodotto quando la pull request è pronta per il merge.`,"settings.prMergedSoundHint":`Riprodotto quando la pull request viene unita.`,"settings.notificationSoundSeptiemeCompagnie03":`7ème compagnie 03`,"settings.notificationSoundAllerFtg":`Aller FTG`,"settings.notificationSoundArreteDeMentir":`Arrête de mentir`,"settings.notificationSoundArretezLesMessages":`Arrêtez d'envoyer les messages`,"settings.notificationSoundBahAlorsOnEstNul":`Bah alors, on est nul`,"settings.notificationSoundGtaVDeath":`GTA V — Death`,"settings.notificationSoundNanTuDegages":`Nan, tu dégages`,"settings.notificationSoundNanWallahPardon":`Nan, wallah, pardon`,"settings.notificationSoundOuaisCestGreg":`Ouais, c'est Greg`,"settings.notificationSoundPasCaZinedine":`Pas ça, Zinedine`,"settings.notificationSoundTaGueule":`Ta gueule`,"settings.notificationSoundTuVasLaFermer":`Tu vas la fermer`,"settings.notificationSoundYaaa":`Yaaa`,"settings.notificationSoundMaisLaisseMoiDormirZebi":`Mais laisse-moi dormir zebi`,"settings.defaultPermissionMode":`Modalità permessi predefinita`,"settings.defaultPermissionModeClaude":`Modalità permessi predefinita (Claude Code)`,"settings.defaultPermissionModeCodex":`Modalità permessi predefinita (OpenAI Codex)`,"settings.defaultPermissionModeHint":`Modalità applicata alla creazione di un workspace. Piano = sola lettura, Bypass = senza richieste, Stretto = auto-accetta le edit con allow-list, Interattivo = chiedi prima di ogni strumento.`,"settings.activityFeed":`Feed attività`,"settings.showThinkingBlocks":`Mostra i blocchi di ragionamento degli agenti`,"settings.whipSettings":`Frusta`,"settings.whipSettingsHint":`Configura la scorciatoia e il volume opzionali della frusta.`,"settings.whipEnabled":`Attiva la frusta`,"settings.whipEnabledHint":`Mostra la frusta interattiva nei workspace attivi compatibili.`,"settings.whipVolume":`Volume della frusta`,"settings.whipVolumeMasterAudioDisabled":`L’audio principale è disattivato. Attiva le notifiche audio per regolare il volume della frusta; il valore salvato viene mantenuto.`,"whip.overlayLabel":`Frusta interattiva`,"whip.overlayInstructions":`Muovi il puntatore per controllare la frusta. Premi Invio o Spazio per farla schioccare. Premi Esc per chiudere.`,"settings.whipShortcut":`Scorciatoia della frusta`,"settings.whipShortcutHint":`Fai clic, poi premi la scorciatoia da usare.`,"settings.whipShortcutRecording":`Premi una scorciatoia…`,"settings.whipShortcutButtonLabel":`Scorciatoia della frusta: {shortcut}`,"settings.whipShortcutRecordingLabel":`Registrazione della scorciatoia della frusta. Premi una scorciatoia…`,"settings.whipShortcutReset":`Ripristina scorciatoia`,"settings.whipShortcutReserved":`Questa scorciatoia è riservata dal browser.`,"settings.testIntegration":`Testa connessione`,"pwa.offline":`Sei offline. Chat e agenti richiedono il server Kōbō.`,"pwa.reconnecting":`Riconnessione al server Kōbō…`,"pwa.installReady":`Installa Kōbō come app.`,"pwa.install":`Installa`,"pwa.ignore":`Ignora`,"pwa.updateReady":`È disponibile un aggiornamento di Kōbō.`,"pwa.reload":`Ricarica`,"chat.searchWorkspaceHistory":`Cerca nella cronologia del workspace`,"chat.historySearch.user":`Tu`,"chat.historySearch.agent":`Agente`,"chat.openInGitDiff":`Apri nel diff Git`,"timeline.title":`Cronologia delle sessioni`,"timeline.export":`Esporta diagnostica`,"timeline.unnamed":`Sessione agente`,"timeline.tools":`{count} strumenti`,"timeline.errors":`{count} errori`,"settings.verboseMessages":`Mostra messaggi di sistema dettagliati (task_progress, task_started)`,"settings.availableVariables":`Variabili disponibili nei template del prompt`,"settings.prPromptTemplate":`Template del prompt PR`,"settings.prPromptPlaceholder":`Istruzioni per l'agente durante la creazione di PR su GitHub...`,"settings.prPromptHint":`Usa le variabili elencate sopra (sintassi doppia parentesi graffa).`,"settings.reviewPromptTemplate":`Template del prompt di revisione`,"settings.reviewPromptPlaceholder":`Istruzioni per l'agente durante la revisione delle modifiche del branch...`,"settings.ciFixPromptTemplate":`Template del prompt «Ripara CI»`,"settings.ciFixPromptHint":`Inviato all'agente quando un workspace ha la CI in errore. Variabili (sintassi doppie graffe): pr_url, pr_number, pr_title, branch_name, source_branch, workspace_name, workspace_id, project_name, failed_jobs, ci_run_url.`,"settings.ciFixPromptPlaceholder":`Chiedi all'agente di diagnosticare e correggere i job di CI in errore...`,"settings.finalizationPromptTemplate":`Prompt di finalizzazione dell'auto-loop`,"settings.finalizationPromptHint":`Prompt predefinito per l'ultima iterazione dell'auto-loop (controlli di qualità finali). Usato quando un progetto lascia vuoto il proprio prompt di finalizzazione.`,"settings.finalizationPromptPlaceholder":`Run final quality checks before closing the workspace...`,"settings.notionInitialPrompt":`Prompt iniziale Notion`,"settings.notionInitialPrompt.help":`Aggiunto al prompt di creazione del workspace quando il workspace ha un ticket Notion. Variabili: {variables}.`,"settings.notionInitialPrompt.project":`Prompt iniziale Notion (override)`,"settings.sentryInitialPrompt":`Prompt iniziale Sentry`,"settings.sentryInitialPrompt.help":`Aggiunto al prompt di creazione del workspace quando il workspace ha una issue Sentry. Variabili: {variables}.`,"settings.sentryInitialPrompt.project":`Prompt iniziale Sentry (override)`,"settings.initialPrompt.inheritHint":`Lasciare vuoto per ereditare. Digita un carattere di spazio bianco per disattivare l'iniezione a questo livello.`,"settings.resetToDefault":`Ripristina`,"settings.resetFailed":`Impossibile caricare il valore predefinito`,"settings.sentryIntegration":`Integrazione Sentry`,"settings.var.prNumber":`Numero della PR (es: 42)`,"settings.var.prUrl":`URL completo della PR creata`,"settings.var.branchName":`Nome del branch di lavoro`,"settings.var.sourceBranch":`Branch sorgente a cui punta la PR`,"settings.var.workspaceName":`Nome del workspace`,"settings.var.projectName":`Ultimo segmento del percorso del progetto`,"settings.var.notionUrl":`URL Notion se impostato, vuoto altrimenti`,"settings.var.commits":`Elenco puntato dei commit tra source e head`,"settings.var.diffStats":`Riepilogo shortstat Git (file, inserimenti, eliminazioni)`,"settings.var.tasks":`Attività regolari come lista di controllo`,"settings.var.acceptanceCriteria":`Criteri di accettazione come lista di controllo`,"settings.gitConventions":`Convenzioni Git (globale)`,"settings.gitConventionsPlaceholder":`# Convenzioni Git...`,"settings.gitConventionsHint":`Queste convenzioni vengono scritte in .ai/.git-conventions.md in ogni nuovo workspace e devono essere seguite dall'agente prima di qualsiasi operazione Git. Sovrascritte dalle convenzioni per progetto se definite.`,"settings.setupScript":`Script di setup`,"settings.cleanupScript":`Script di pulizia`,"settings.archiveScript":`Script di archiviazione`,"settings.archiveScriptHint":`Script di shell eseguito lato server nel worktree quando un workspace viene archiviato. Lascia vuoto per disattivare.`,"settings.archiveScriptPlaceholder":`es. pulire container, liberare spazio su disco…`,"settings.hook.sessionEndedTitle":`Hook: sessione terminata`,"settings.hook.sessionEndedHint":`Viene eseguito quando una sessione dell'agente finisce, per qualsiasi motivo. Legge KOBO_SESSION_END_REASON (completed / error / killed / watchdog), KOBO_SESSION_STOP_CAUSE, KOBO_AUTOLOOP_ACTIVE, KOBO_SESSION_ID e KOBO_SESSION_EXIT_CODE. Vuoto = disattivato.`,"settings.hook.sessionEndedPlaceholder":`es. npm test, o notificare un canale di chat…`,"settings.hook.prMergedTitle":`Hook: PR unita`,"settings.hook.prMergedHint":`Viene eseguito quando una PR risulta unita, prima che il workspace sia archiviato o ripulito - il worktree è ancora su disco. Legge KOBO_PR_NUMBER e KOBO_PR_URL. Vuoto = disattivato.`,"settings.hook.prMergedPlaceholder":`es. avviare un deploy, taggare una release…`,"settings.hook.autoLoopDisabledTitle":`Hook: auto-loop fermato`,"settings.hook.autoLoopDisabledHint":`Viene eseguito a ogni disattivazione dell'auto-loop, da parte di Kōbō o tua. Legge KOBO_AUTOLOOP_REASON (completed / stall / error / user-action / awaiting-clarification) e KOBO_TASKS_PENDING. Vuoto = disattivato.`,"settings.hook.autoLoopDisabledPlaceholder":`es. inviare una notifica quando il ciclo si blocca…`,"settings.changeSourceBranchScript":`Script di cambio del branch di origine`,"settings.changeSourceBranchScript.help":`Sostituisce il cherry-pick integrato quando non vuoto. Lo script gestisce git, base della PR, force-push e conflitti; Kōbō rifiuta solo se l'agente è in esecuzione e aggiorna i metadati del branch di origine all'uscita 0.`,"settings.changeSourceBranchScript.envHelp":`KOBO_NEW_BASE — nuovo branch di origine scelto nella finestra di dialogo
|
|
2
2
|
KOBO_OLD_BASE — branch di origine precedente del workspace
|
|
3
3
|
KOBO_WORKING_BRANCH — branch di lavoro del workspace
|
|
4
4
|
KOBO_WORKTREE_PATH — percorso assoluto del worktree (anche cwd)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{conf as e,language as t}from"./typescript-
|
|
1
|
+
import{conf as e,language as t}from"./typescript-DW45V56c.js";var n=e,r={defaultToken:`invalid`,tokenPostfix:`.js`,keywords:`break.case.catch.class.continue.const.constructor.debugger.default.delete.do.else.export.extends.false.finally.for.from.function.get.if.import.in.instanceof.let.new.null.return.set.static.super.switch.symbol.this.throw.true.try.typeof.undefined.var.void.while.with.yield.async.await.of`.split(`.`),typeKeywords:[],operators:t.operators,symbols:t.symbols,escapes:t.escapes,digits:t.digits,octaldigits:t.octaldigits,binarydigits:t.binarydigits,hexdigits:t.hexdigits,regexpctl:t.regexpctl,regexpesc:t.regexpesc,tokenizer:t.tokenizer};export{n as conf,r as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./editor.api-
|
|
1
|
+
import{n as e}from"./editor.api-CMBx0cvf.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,brackets:[[`<!--`,`-->`],[`<`,`>`],[`{{`,`}}`],[`{%`,`%}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`%`,close:`%`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},r={defaultToken:``,tokenPostfix:``,builtinTags:`if.else.elseif.endif.render.assign.capture.endcapture.case.endcase.comment.endcomment.cycle.decrement.for.endfor.include.increment.layout.raw.endraw.render.tablerow.endtablerow.unless.endunless`.split(`.`),builtinFilters:`abs.append.at_least.at_most.capitalize.ceil.compact.date.default.divided_by.downcase.escape.escape_once.first.floor.join.json.last.lstrip.map.minus.modulo.newline_to_br.plus.prepend.remove.remove_first.replace.replace_first.reverse.round.rstrip.size.slice.sort.sort_natural.split.strip.strip_html.strip_newlines.times.truncate.truncatewords.uniq.upcase.url_decode.url_encode.where`.split(`.`),constants:[`true`,`false`],operators:[`==`,`!=`,`>`,`<`,`>=`,`<=`],symbol:/[=><!]+/,identifier:/[a-zA-Z_][\w]*/,tokenizer:{root:[[/\{\%\s*comment\s*\%\}/,`comment.start.liquid`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@liquidState.root`}],[/\{\%/,{token:`@rematch`,switchTo:`@liquidState.root`}],[/(<)([\w\-]+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)([\w\-]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/</,`delimiter.html`],[/\{/,`delimiter.html`],[/[^<{]+/]],comment:[[/\{\%\s*endcomment\s*\%\}/,`comment.end.liquid`,`@pop`],[/./,`comment.content.liquid`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@liquidState.otherTag`}],[/\{\%/,{token:`@rematch`,switchTo:`@liquidState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],liquidState:[[/\{\{/,`delimiter.output.liquid`],[/\}\}/,{token:`delimiter.output.liquid`,switchTo:`@$S2.$S3`}],[/\{\%/,`delimiter.tag.liquid`],[/raw\s*\%\}/,`delimiter.tag.liquid`,`@liquidRaw`],[/\%\}/,{token:`delimiter.tag.liquid`,switchTo:`@$S2.$S3`}],{include:`liquidRoot`}],liquidRaw:[[/^(?!\{\%\s*endraw\s*\%\}).+/],[/\{\%/,`delimiter.tag.liquid`],[/@identifier/],[/\%\}/,{token:`delimiter.tag.liquid`,next:`@root`}]],liquidRoot:[[/\d+(\.\d+)?/,`number.liquid`],[/"[^"]*"/,`string.liquid`],[/'[^']*'/,`string.liquid`],[/\s+/],[/@symbol/,{cases:{"@operators":`operator.liquid`,"@default":``}}],[/\./],[/@identifier/,{cases:{"@constants":`keyword.liquid`,"@builtinFilters":`predefined.liquid`,"@builtinTags":`predefined.liquid`,"@default":`variable.liquid`}}],[/[^}|%]/,`variable.liquid`]]}};export{n as conf,r as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./editor.api-
|
|
1
|
+
import{n as e}from"./editor.api-CMBx0cvf.js";var t={comments:{blockComment:[`{/*`,`*/}`]},brackets:[[`{`,`}`]],autoClosingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`“`,close:`”`},{open:`‘`,close:`’`},{open:"`",close:"`"},{open:`{`,close:`}`},{open:`(`,close:`)`},{open:`_`,close:`_`},{open:`**`,close:`**`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:/^\s*- .+/,action:{indentAction:e.IndentAction.None,appendText:`- `}},{beforeText:/^\s*\+ .+/,action:{indentAction:e.IndentAction.None,appendText:`+ `}},{beforeText:/^\s*\* .+/,action:{indentAction:e.IndentAction.None,appendText:`* `}},{beforeText:/^> /,action:{indentAction:e.IndentAction.None,appendText:`> `}},{beforeText:/<\w+/,action:{indentAction:e.IndentAction.Indent}},{beforeText:/\s+>\s*$/,action:{indentAction:e.IndentAction.Indent}},{beforeText:/<\/\w+>/,action:{indentAction:e.IndentAction.Outdent}},...Array.from({length:100},(t,n)=>({beforeText:RegExp(`^${n}\\. .+`),action:{indentAction:e.IndentAction.None,appendText:`${n+1}. `}}))]},n={defaultToken:``,tokenPostfix:`.mdx`,control:/[!#()*+.[\\\]_`{}\-]/,escapes:/\\@control/,tokenizer:{root:[[/^---$/,{token:`meta.content`,next:`@frontmatter`,nextEmbedded:`yaml`}],[/^\s*import/,{token:`keyword`,next:`@import`,nextEmbedded:`js`}],[/^\s*export/,{token:`keyword`,next:`@export`,nextEmbedded:`js`}],[/<\w+/,{token:`type.identifier`,next:`@jsx`}],[/<\/?\w+>/,`type.identifier`],[/^(\s*)(>*\s*)(#{1,6}\s)/,[{token:`white`},{token:`comment`},{token:`keyword`,next:`@header`}]],[/^(\s*)(>*\s*)([*+-])(\s+)/,[`white`,`comment`,`keyword`,`white`]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,[`white`,`comment`,`number`,`white`]],[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/,[`white`,`comment`,`number`,`white`]],[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/,[`white`,`comment`,`keyword`]],[/`{3,}(\s.*)?$/,{token:`string`,next:`@codeblock_backtick`}],[/~{3,}(\s.*)?$/,{token:`string`,next:`@codeblock_tilde`}],[/`{3,}(\S+).*$/,{token:`string`,next:`@codeblock_highlight_backtick`,nextEmbedded:`$1`}],[/~{3,}(\S+).*$/,{token:`string`,next:`@codeblock_highlight_tilde`,nextEmbedded:`$1`}],[/^(\s*)(-{4,})$/,[`white`,`comment`]],[/^(\s*)(>+)/,[`white`,`comment`]],{include:`content`}],content:[[/(\[)(.+)(]\()(.+)(\s+".*")(\))/,[``,`string.link`,``,`type.identifier`,`string.link`,``]],[/(\[)(.+)(]\()(.+)(\))/,[``,`type.identifier`,``,`string.link`,``]],[/(\[)(.+)(]\[)(.+)(])/,[``,`type.identifier`,``,`type.identifier`,``]],[/(\[)(.+)(]:\s+)(\S*)/,[``,`type.identifier`,``,`string.link`]],[/(\[)(.+)(])/,[``,`type.identifier`,``]],[/`.*`/,`variable.source`],[/_/,{token:`emphasis`,next:`@emphasis_underscore`}],[/\*(?!\*)/,{token:`emphasis`,next:`@emphasis_asterisk`}],[/\*\*/,{token:`strong`,next:`@strong`}],[/{/,{token:`delimiter.bracket`,next:`@expression`,nextEmbedded:`js`}]],import:[[/'\s*(;|$)/,{token:`string`,next:`@pop`,nextEmbedded:`@pop`}]],expression:[[/{/,{token:`delimiter.bracket`,next:`@expression`}],[/}/,{token:`delimiter.bracket`,next:`@pop`,nextEmbedded:`@pop`}]],export:[[/^\s*$/,{token:`delimiter.bracket`,next:`@pop`,nextEmbedded:`@pop`}]],jsx:[[/\s+/,``],[/(\w+)(=)("(?:[^"\\]|\\.)*")/,[`attribute.name`,`operator`,`string`]],[/(\w+)(=)('(?:[^'\\]|\\.)*')/,[`attribute.name`,`operator`,`string`]],[/(\w+(?=\s|>|={|$))/,[`attribute.name`]],[/={/,{token:`delimiter.bracket`,next:`@expression`,nextEmbedded:`js`}],[/>/,{token:`type.identifier`,next:`@pop`}]],header:[[/.$/,{token:`keyword`,next:`@pop`}],{include:`content`},[/./,{token:`keyword`}]],strong:[[/\*\*/,{token:`strong`,next:`@pop`}],{include:`content`},[/./,{token:`strong`}]],emphasis_underscore:[[/_/,{token:`emphasis`,next:`@pop`}],{include:`content`},[/./,{token:`emphasis`}]],emphasis_asterisk:[[/\*(?!\*)/,{token:`emphasis`,next:`@pop`}],{include:`content`},[/./,{token:`emphasis`}]],frontmatter:[[/^---$/,{token:`meta.content`,nextEmbedded:`@pop`,next:`@pop`}]],codeblock_highlight_backtick:[[/\s*`{3,}\s*$/,{token:`string`,next:`@pop`,nextEmbedded:`@pop`}],[/.*$/,`variable.source`]],codeblock_highlight_tilde:[[/\s*~{3,}\s*$/,{token:`string`,next:`@pop`,nextEmbedded:`@pop`}],[/.*$/,`variable.source`]],codeblock_backtick:[[/\s*`{3,}\s*$/,{token:`string`,next:`@pop`}],[/.*$/,`variable.source`]],codeblock_tilde:[[/\s*~{3,}\s*$/,{token:`string`,next:`@pop`}],[/.*$/,`variable.source`]]}};export{t as conf,n as language};
|