import type { LocaleCatalog } from './types.ts'

const strings: Record<string, string> = {
  'common.save': 'Salva',
  'common.cancel': 'Annulla',
  'common.close': 'Chiudi',
  'common.delete': 'Elimina',
  'common.remove': 'Rimuovi',
  'common.retry': 'Riprova',
  'common.continue': 'Continua',
  'common.back': 'Indietro',
  'common.loading': 'Caricamento…',
  'common.yes': 'Sì',
  'common.no': 'No',
  'common.unknown': 'Sconosciuto',
  'common.version': 'Versione',

  'login.welcome': 'Benvenuto in {{brandName}}',
  'login.signInGoogle': 'Accedi con Google',
  'login.failed': 'Accesso non riuscito',
  'setup.welcomeUser': 'Benvenuto, {{name}}',
  'setup.welcomeGeneric': 'Benvenuto in {{brandName}}',
  'setup.description': 'Scegli il provider e il modello predefinito per questa installazione di {{brandName}}.',
  'setup.provider': 'Provider',
  'setup.model': 'Modello',
  'setup.continue': 'Continua',
  'setup.saveFailed': 'Impossibile salvare le impostazioni.',
  'setup.runtimeFailed': 'Il runtime non è riuscito ad avviarsi con le credenziali fornite. Verifica la chiave API e riprova.',
  'loading.boot': 'Avvio…',
  'loading.auth': 'Verifica autenticazione…',
  'loading.config': 'Caricamento configurazione…',
  'loading.runtime': 'Avvio del runtime…',
  'loading.connecting': 'Connessione al runtime…',
  'loading.almostThere': 'Quasi pronto…',
  'loading.runtimeNeedsAttention': 'La configurazione del runtime richiede attenzione.',
  'loading.error.title': '{{brandName}} non è riuscito ad avviare il runtime',
  'loading.error.hint': 'Correggi la configurazione non valida e riavvia l\u2019app.',

  'sidebar.home': 'Home',
  'sidebar.agents': 'Agenti',
  'sidebar.capabilities': 'Capacità',
  'sidebar.settings': 'Impostazioni',
  'sidebar.threads': 'Conversazioni',
  'sidebar.search': 'Cerca conversazione…',
  'sidebar.searchTitle': 'Cerca conversazione (⌘K)',
  'sidebar.noThreads': 'Nessuna conversazione',
  'sidebar.noMatches': 'Nessun risultato',
  'sidebar.threadFallback': 'Conversazione {{id}}',
  'sidebar.newThread': 'Nuova conversazione',
  'sidebar.newThreadInProject': 'Nuova conversazione in un progetto…',
  'newThread.blank': 'Conversazione vuota',
  'newThread.blankHint': 'Inizia con Build e gli agenti, strumenti e abilità attualmente disponibili',
  'newThread.project': 'Apri progetto',
  'newThread.projectHint': 'Scegli una cartella — l\u2019agente può leggere e modificare i file',
  'sidebar.newChat': 'Nuova chat',
  'newChat.blankUnavailableReason': 'La creazione della chat non è disponibile per questo spazio di lavoro.',
  'newChat.unavailable': 'Non disponibile',
  'newChat.blankHint': 'Spazio di lavoro locale - inizia con Build e i coworker, strumenti e abilità disponibili',
  'newChat.blankCloudHint': 'Azione sicura per Cloud - avvia una chat cloud sincronizzata',
  'newChat.localOnlyAction': 'Azione solo locale',
  'newChat.cloudAction': 'Azione Cloud',
  'newChat.projectHint': 'Azione solo locale - scegli una directory di progetto che il coworker può leggere e modificare',
  'newChat.cloudProjectHint': 'Azione sicura per Cloud - scegli Git o carica uno snapshot esplicito',
  'newChat.projectBlocked': 'La creazione delle chat di progetto è disabilitata.',
  'newChat.createFailed': 'Impossibile creare una nuova chat di progetto. Riprova.',
  'newChat.blank': 'Chat vuota',
  'newChat.cloudProjectSubtitle': 'Avvia una chat di progetto cloud da Git o da uno snapshot caricato esplicitamente.',
  'newChat.createCloudProject': 'Crea chat di progetto',
  'sidebar.busy': 'Occupato',
  'sidebar.awaitingQuestion': 'In attesa della tua risposta',

  'thread.rename': 'Rinomina',
  'thread.exportMarkdown': 'Esporta in Markdown',
  'thread.shareLink': 'Condividi link',
  'thread.linkCopied': 'Link copiato!',
  'thread.viewChanges': 'Mostra modifiche',
  'thread.delete': 'Elimina',
  'thread.deleteConfirm': 'Eliminare questa conversazione? Non è reversibile.',
  'agent.deleteConfirm': 'Eliminare l\u2019agente «{{name}}»? Non è reversibile.',
  'mcp.deleteConfirm': 'Rimuovere l\u2019MCP «{{name}}»? Non è reversibile.',
  'skill.deleteConfirm': 'Rimuovere l\u2019abilità «{{name}}»? Non è reversibile.',

  'statusbar.ready': 'Pronto',
  'statusbar.runtimeError': 'Errore runtime',
  'statusbar.sessionUsage': 'Uso della sessione',
  'statusbar.inputTokens': 'Token input',
  'statusbar.outputTokens': 'Token output',
  'statusbar.reasoningTokens': 'Token ragionamento',
  'statusbar.cacheTokens': 'Token cache',
  'statusbar.totalTokens': 'Totale',
  'statusbar.totalCost': 'Costo totale',

  'runtime.offline': 'Runtime non disponibile: {{error}}',
  'runtime.offlineLabel': 'Runtime non disponibile:',
  'runtime.tryAgain': 'Riprova',
  'runtime.restarting': 'Riavvio…',

  'homepage.title': 'Stato dello spazio di lavoro, capacità e salute dell\u2019esecuzione in un\u2019unica vista.',
  'homepage.subtitle': 'Usa la home come superficie di osservabilità, non come splash screen. Controlla cosa è caricato, cosa è connesso, cosa usa OpenCode e dove riprendere.',
  'homepage.diagnostics': 'Diagnostica di {{brandName}}',
  'homepage.refresh': 'Aggiorna',
  'homepage.refreshing': 'Aggiornamento…',
  'homepage.range.last7d': 'Ultimi 7 giorni',
  'homepage.range.last30d': 'Ultimi 30 giorni',
  'homepage.range.ytd': 'Anno in corso',
  'homepage.range.all': 'Tutto',

  'homepage.pill.runtime': 'Runtime',
  'homepage.pill.runtimeReady': 'Pronto',
  'homepage.pill.runtimeLoading': 'Carica diagnostica',
  'homepage.pill.runtimeNotReady': 'Non pronto',
  'homepage.pill.provider': 'Provider',
  'homepage.pill.providerNotConfigured': 'Non configurato',
  'homepage.pill.context': 'Contesto',
  'homepage.pill.contextTokens': '{{count}} token',
  'homepage.pill.contextUnknown': 'Limite sconosciuto',
  'homepage.pill.mcp': 'MCP',
  'homepage.pill.mcpConnected': '{{connected}}/{{total}} connessi',
  'homepage.pill.capabilities': 'Capacità',
  'homepage.pill.capabilitiesSummary': '{{tools}} strumenti · {{skills}} abilità',

  'homepage.card.toolsAndSkills': 'Strumenti e abilità',
  'homepage.card.configuredTools': 'Strumenti configurati',
  'homepage.card.activeSkills': 'Abilità attive',
  'homepage.card.customSkills': 'Abilità personalizzate',
  'homepage.card.customMcps': 'MCP personalizzati',
  'homepage.card.connectedMcps': 'MCP connessi',
  'homepage.card.agents': 'Agenti integrati e personalizzati',
  'homepage.card.primaryModes': 'Modalità principali',
  'homepage.card.builtinAgents': 'Agenti integrati',
  'homepage.card.enabledCustomAgents': 'Personalizzati attivi',
  'homepage.card.invalidAgents': 'Richiedono attenzione',
  'homepage.card.leadAgent': 'Agente principale',
  'homepage.card.availableSubAgents': 'Sub-agenti disponibili',
  'homepage.card.usage': 'Conversazioni, token e costo',
  'homepage.card.threads': 'Conversazioni',
  'homepage.card.totalMessages': 'Messaggi',
  'homepage.card.trackedTokens': 'Token tracciati',
  'homepage.card.trackedCost': 'Costo tracciato',
  'homepage.card.userMessages': 'Messaggi utente',
  'homepage.card.assistantMessages': 'Messaggi assistente',
  'homepage.card.toolCalls': 'Chiamate strumento',
  'homepage.card.busySessions': 'Sessioni attive',
  'homepage.card.refreshedAt': 'Aggiornato alle {{time}}',
  'homepage.card.agentUsage': 'Uso per sub-agente',
  'homepage.card.agentUsageEmpty': 'Nessuna delega a sub-agenti in {{window}}.',
  'homepage.card.perf': 'Performance di idratazione e patch',
  'homepage.card.noPerfTelemetry': 'Nessuna telemetria di performance catturata.',
  'homepage.card.bundledTools': 'Strumenti integrati',
  'homepage.card.customTools': 'Strumenti personalizzati',
  'homepage.card.primaryMode': 'Modalità principale',
  'homepage.card.visibleBuiltins': 'Integrati visibili',
  'homepage.card.noToolsDiscovered': 'Nessuno strumento rilevato.',
  'homepage.card.noBuiltinAgents': 'Nessun agente integrato disponibile.',
  'homepage.card.tokenMix': 'Mix di token',
  'homepage.card.window': 'Finestra',
  'homepage.card.usageRefreshed': 'Uso aggiornato',
  'homepage.card.notLoaded': 'Non caricato',
  'homepage.card.busyRightNow': 'Attive ora',
  'homepage.card.currentModel': 'Modello attuale',
  'homepage.card.contextWindow': 'Finestra di contesto',
  'homepage.card.notSet': 'Non impostato',
  'homepage.card.unknownLimit': 'Sconosciuto',
  'homepage.card.historicalUsageNote': 'L\u2019uso storico viene conservato per conversazione e sovrapposto allo stato delle sessioni attive; i totali non dipendono più dall\u2019apertura preliminare delle conversazioni.',
  'homepage.card.backfillCompleted': ' Aggiornato {{count}} riepilogo/i in background.',
  'homepage.card.unknownSubAgent': 'Sub-agente sconosciuto',
  'homepage.card.tasks': 'attività',
  'homepage.card.tokShort': 'tok',
  'homepage.card.historyLoadP95': 'Caricamento storico p95',
  'homepage.card.coldSyncP95': 'Sync a freddo p95',
  'homepage.card.flushP95': 'Flush p95',
  'homepage.card.slowEvents': 'Eventi lenti',
  'homepage.card.flushWaitP95': 'Attesa flush p95',
  'homepage.card.patchPublishes': 'Patch pubblicate',
  'homepage.card.telemetrySamples': 'Campioni telemetria',
  'homepage.card.perfLiveNote': 'La diagnostica è in tempo reale dal main process. I numeri vengono dagli stessi pipeline di idratazione e patch usati dalla chat.',
  'homepage.card.perfEmptyHint': 'Nessuna telemetria di performance per ora. Apri una conversazione, trasmetti una risposta e torna qui per ispezionare i tempi del runtime.',

  'homepage.side.resumeThreads': 'Riprendi conversazioni',
  'homepage.side.resumeEmpty': 'Nessuna conversazione in {{window}}.',
  'homepage.side.recentWork': 'Lavoro recente',
  'homepage.side.actions': 'Azioni',
  'homepage.side.openWorkingSurface': 'Apri una superficie di lavoro',
  'homepage.side.newThread': 'Nuova conversazione',
  'homepage.side.newThreadHint': 'Apre una conversazione nuova legata allo spazio di lavoro.',
  'homepage.side.openDirectory': 'Apri cartella',
  'homepage.side.openDirectoryHint': 'Ancora la prossima sessione a una codebase o cartella reale.',
  'homepage.side.currentInventory': 'Inventario attuale',
  'homepage.side.availableTools': 'Strumenti disponibili',
  'homepage.side.skillBundles': 'Pacchetti di abilità',
  'homepage.side.runtimeInputs': 'Input runtime',
  'homepage.side.opencodeVersion': 'OpenCode',
  'homepage.side.providerName': 'Provider',
  'homepage.side.providerSource': 'Origine provider',
  'homepage.side.model': 'Modello',
  'homepage.side.modelSource': 'Origine modello',
  'homepage.side.package': 'Pacchetto',
  'homepage.side.packageFallback': 'Integrato/runtime',
  'homepage.side.providerOptions': 'Opzioni provider',
  'homepage.side.credentialOverrides': 'Override credenziali',
  'homepage.side.noOptions': 'Nessuna opzione provider non segreta esposta.',
  'homepage.side.usingDefaults': 'Usa i valori predefiniti.',

  'homepage.warning.backfillFailed': 'Impossibile ricostruire {{count}} sessione/i — i totali potrebbero essere sottostimati.',
  'homepage.warning.backfillPending': 'Caricamento di {{count}} sessione/i più vecchie in background. I totali si aggiorneranno automaticamente.',

  'tokens.input': 'Input',
  'tokens.output': 'Output',
  'tokens.reasoning': 'Ragionamento',
  'tokens.cache': 'Cache',
  'provider.none': 'Nessun provider',
  'agent.unknown': 'Sconosciuto',
  'thread.sandbox': 'Conversazione sandbox',
  'runtime.source.settings': 'Override impostazioni',
  'runtime.source.default': 'Predefinito config',
  'runtime.source.fallback': 'Fallback',

  'settings.title': 'Impostazioni',
  'settings.subtitle': 'Regola la shell, il runtime del modello e i permessi locali.',
  'settings.done': 'Fatto',
  'settings.save': 'Salva',
  'settings.saved': '✓ Salvato',
  'settings.saveChanges': 'Salva modifiche',
  'settings.saveHint': 'Le modifiche all\u2019aspetto si applicano immediatamente. Le modifiche a provider e permessi riavviano il runtime quando necessario.',
  'settings.tab.appearance': 'Aspetto',
  'settings.tab.appearanceDescription': 'Tema, schema colori e caratteri',
  'settings.tab.models': 'Modelli',
  'settings.tab.modelsDescription': 'Provider, modello e credenziali',
  'settings.tab.permissions': 'Permessi',
  'settings.tab.permissionsDescription': 'Accesso agli strumenti locali',
  'settings.tab.storage': 'Archiviazione',
  'settings.tab.storageDescription': 'Artefatti sandbox e pulizia',
  'settings.tab.language': 'Lingua',
  'settings.appearance.colorScheme': 'Schema colori',
  'settings.appearance.theme': 'Tema',
  'settings.appearance.themeActive': 'Attivo',
  'settings.appearance.uiFont': 'Carattere interfaccia',
  'settings.appearance.monoFont': 'Carattere monospazio',
  'settings.appearance.preview': 'Anteprima',
  'settings.appearance.previewHealth': 'Salute dello spazio',
  'settings.appearance.previewHealthDescription': 'Provider connesso, runtime pronto',
  'settings.appearance.previewActive': 'Attivo',
  'settings.appearance.previewMessage': 'Le modifiche al tema si applicano immediatamente.',
  'settings.appearance.previewMessageSecondary': 'Le modifiche a provider e permessi usano ancora il pulsante Salva in basso.',
  'settings.models.provider': 'Provider',
  'settings.models.model': 'Modello',
  'settings.models.featured': 'In evidenza',
  'settings.models.allModels': 'Tutti i modelli',
  'settings.models.refresh': 'Aggiorna',
  'settings.models.refreshing': 'Aggiornamento…',
  'settings.models.refreshTitle': 'Aggiorna il catalogo dinamico dei modelli',
  'settings.models.search': 'Cerca tra {{count}} modelli…',
  'settings.models.noMatches': 'Nessun modello corrisponde.',
  'settings.models.credentialsHeader': 'Credenziali',
  'settings.permissions.header': 'Strumenti sviluppatore',
  'settings.permissions.bashTitle': 'Comandi shell',
  'settings.permissions.bashDescription': 'Permetti agli agenti di eseguire comandi da terminale nello spazio di lavoro attivo.',
  'settings.permissions.fileWriteTitle': 'Modifica file',
  'settings.permissions.fileWriteDescription': 'Permetti agli agenti di creare e modificare file nello spazio locale.',
  'settings.storage.loading': 'Caricamento archiviazione sandbox…',
  'settings.storage.supportDiagnostics': 'Diagnostica supporto',
  'settings.storage.supportDescription': 'Copia un report in chiaro (configurazione, input runtime, log recenti) negli appunti. Le credenziali sono mascherate/oscurate per poter essere incollate in sicurezza in un bug report.',
  'settings.storage.copyDiagnostics': 'Copia diagnostica negli appunti',
  'settings.storage.preparing': 'Preparazione…',
  'settings.storage.copied': 'Copiato negli appunti',
  'settings.storage.copyFailed': 'Impossibile generare la diagnostica — riprova',
  'settings.storage.diagnosticsHint': 'Utile quando apri una segnalazione — includi questo bundle nel report.',
  'settings.storage.sandboxStorage': 'Archiviazione sandbox',
  'settings.storage.totalSize': 'Dimensione totale',
  'settings.storage.workspaces': 'Spazi di lavoro',
  'settings.storage.referenced': 'Referenziati',
  'settings.storage.unreferenced': 'Non referenziati',
  'settings.storage.stale': 'Obsoleti',
  'settings.storage.retention': 'Conservazione',
  'settings.storage.retentionDays': '{{days}} giorni',
  'settings.storage.cleanup': 'Pulizia',
  'settings.storage.clearOld': 'Elimina artefatti sandbox vecchi',
  'settings.storage.clearOldDescription': 'Rimuove gli spazi sandbox non referenziati più vecchi di {{days}} giorni.',
  'settings.storage.clearAll': 'Elimina tutti gli artefatti sandbox inutilizzati',
  'settings.storage.clearAllDescription': 'Rimuove tutti gli spazi sandbox non referenziati mantenendo quelli delle conversazioni attive.',
  'settings.storage.cleaning': 'Pulizia…',
  'settings.storage.lastCleanup': 'L\u2019ultima pulizia ha rimosso {{count}} spazio/i e liberato {{size}}.',
  'settings.storage.sandboxNote': 'Le conversazioni sandbox scrivono in uno spazio Cowork privato sotto {{root}}. I vecchi spazi non referenziati vengono purgati automaticamente; puoi anche eseguire la pulizia manualmente qui.',
  'settings.updates.header': 'Aggiornamenti',
  'settings.updates.checkForUpdates': 'Cerca aggiornamenti',
  'settings.updates.description': 'Interroga l\u2019API pubblica di GitHub Releases per l\u2019ultima versione pubblicata. Solo lettura — nessun download o installazione automatica.',
  'settings.updates.checking': 'Verifica…',
  'settings.updates.newAvailable': 'Nuova versione disponibile: {{version}}',
  'settings.updates.upToDate': 'Stai usando l\u2019ultima versione ({{version}})',
  'settings.updates.unavailable': 'Verifica aggiornamenti non disponibile',
  'settings.updates.failed': 'Impossibile cercare aggiornamenti',
  'settings.updates.hint': 'Apre la pagina di rilascio GitHub se è disponibile una build più recente.',
  'settings.updates.currentHint': 'Sei su {{version}}. Clicca sotto per aprire le note di rilascio.',
  'settings.updates.openReleaseNotes': 'Apri note di rilascio',
  'settings.updates.resetFailed': 'Impossibile reimpostare i dati: {{message}}',
  'settings.updates.resetCheckLogs': 'Reset fallito. Controlla i log.',
  'settings.updates.checkFailedGeneric': 'Verifica aggiornamenti fallita.',
  'settings.reset.header': 'Reset',
  'settings.reset.title': 'Reimposta tutti i dati dell\u2019app',
  'settings.reset.description': 'Elimina ogni conversazione, credenziale, agente personalizzato, abilità e MCP da questa macchina. L\u2019app si riavvia nel flusso di primo avvio. Utile prima della disinstallazione o per una demo pulita; distruttivo e irreversibile.',
  'settings.reset.button': 'Reimposta dati',
  'settings.reset.resetting': 'Reimpostazione…',
  'settings.reset.requiresConfirm': 'Richiede conferma esplicita. L\u2019app si chiuderà e riavvierà.',
  'settings.reset.confirm': 'Reimpostare tutti i dati dell\u2019app?\n\nQuesto elimina ogni conversazione, credenziale, agente personalizzato, abilità e MCP da questa macchina. L\u2019app si riavvierà nel flusso di primo avvio. Irreversibile.',
  'settings.language.label': 'Lingua',
  'settings.language.description': 'Scegli la lingua dell\u2019interfaccia. La selezione viene ricordata su questo dispositivo. Le lingue parzialmente tradotte mostreranno le stringhe mancanti in inglese.',
  'settings.language.systemDefault': 'Rilevamento automatico (sistema)',

  'agents.tab.skills': 'Abilità',
  'agents.tab.tools': 'Strumenti',
  'agents.tab.instructions': 'Istruzioni',
  'agents.tab.inference': 'Inferenza',
  'agents.new': 'Nuovo agente',
  'agents.save': 'Salva modifiche',
  'agents.create': 'Crea agente',
  'agents.saving': 'Salvataggio…',
  'agents.openCapabilities': 'Hai bisogno di altri strumenti o abilità?',
  'agents.openCapabilitiesLink': 'Apri Strumenti e competenze',

  'capabilities.tab.tools': 'Strumenti',
  'capabilities.tab.skills': 'Abilità',
  'capabilities.addMcp': 'Aggiungi un MCP',
  'capabilities.addSkill': 'Aggiungi un\u2019abilità',
  'capabilities.noTools': 'Nessuno strumento disponibile. Aggiungi un MCP dalla pagina Capacità.',
  'capabilities.noSkills': 'Nessuna abilità disponibile. Aggiungi un pacchetto dalla pagina Capacità.',

  'chat.placeholder': 'Invia un messaggio a {{brandName}}…',
  'chat.showContext': 'Mostra contesto',
  'chat.hideContext': 'Nascondi contesto',
  'chat.thinking': 'Ragionamento in corso…',

  'error.viewError': 'Errore di vista',
  'error.viewErrorTitle': 'Questa pagina non è riuscita a caricarsi.',
  'error.viewErrorBody': '{{brandName}} ha recuperato il resto dell\u2019app. Torna alla home e riprova.',
  'error.backToHome': 'Torna alla home',

  'approval.sendEmail': 'Invia email',
  'approval.createSpreadsheet': 'Crea foglio',
  'approval.createDocument': 'Crea documento',
  'approval.createPresentation': 'Crea presentazione',
  'approval.delete': 'Elimina',
  'approval.shareFile': 'Condividi file',
  'approval.createEvent': 'Crea evento',
  'approval.allowAction': 'Consenti azione',
  'approval.deny': 'Nega',
  'approval.approve': 'Approva',

  'messageActions.branchHere': 'Ramifica qui',
  'messageActions.branchHereDescription': 'Crea una nuova conversazione che termina a questo messaggio',
  'messageActions.revertHere': 'Torna qui',
  'messageActions.revertHereDescription': 'Riporta lo stato della sessione a prima di questo messaggio',
  'messageActions.viewDiff': 'Mostra diff',
  'messageActions.viewDiffDescription': 'Mostra le modifiche ai file introdotte da questo messaggio',
  'messageActions.branchFailed': 'Impossibile ramificare da questo messaggio. Riprova.',
  'messageActions.revertConfirm': 'Tornare a questo messaggio? I turni successivi saranno nascosti fino al ripristino.',
  'messageActions.revertFailed': 'Impossibile tornare a questo messaggio. Riprova.',

  'chat.attachFile': 'Allega file',
  'chat.planMode': 'Plan',
  'chat.buildMode': 'Build',
  'chat.planModeDescription': 'Modalità Plan: analisi e audit in sola lettura',
  'chat.buildModeDescription': 'Modalità Build: accesso completo e delega',
  'chat.forkThread': 'Fai fork della conversazione',
  'chat.stopGenerating': 'Ferma generazione (Esc)',
  'chat.awaitingApproval': 'In attesa di approvazione',
  'chat.awaitingApprovalTitle': 'Approva o rifiuta la richiesta in attesa per continuare',
  'chat.awaitingAnswer': 'In attesa di risposta',
  'chat.awaitingAnswerTitle': 'Rispondi alla domanda in attesa per continuare',
  'chat.placeholder.answerPending': 'Rispondi alla domanda sopra per continuare…',
  'chat.placeholder.askPlan': 'Chiedi a Plan di analizzare o strutturare il lavoro…',
  'chat.placeholder.askBuild': 'Chiedi a Build di lavorarci…',
  'chat.placeholder.noThread': 'Inizia prima una nuova conversazione',

  'diff.changesFromMessage': 'Modifiche da questo messaggio',
  'diff.changes': 'Modifiche',
  'diff.closeChanges': 'Chiudi modifiche',
  'diff.loading': 'Caricamento modifiche…',
  'diff.noChanges': 'Nessuna modifica ai file in questa sessione',
  'diff.filesChanged': '{{count}} file modificato/i',
  'diff.unified': 'Unificato',
  'diff.split': 'Affiancato',
  'diff.noTextual': 'Nessun diff testuale disponibile (file binario, rinomina o solo spazi).',
  'diff.couldNotLoad': 'Impossibile caricare il contenuto del file',
  'diff.couldNotLoadWithError': 'Impossibile caricare: {{error}}',
  'diff.showHiddenLines': 'Mostra {{count}} riga/e invariate',
  'diff.collapse': 'Comprimi',
  'diff.statusNew': 'Nuovo',
  'diff.statusDeleted': 'Eliminato',
  'diff.statusModified': 'Modificato',

  'thinking.buildCoordinating': 'Build sta coordinando',
  'thinking.planning': 'Pianificazione',
  'thinking.generalWorking': 'General sta lavorando',
  'thinking.exploreWorking': 'Explore sta lavorando',
  'thinking.awaitingApproval': 'In attesa della tua approvazione',
  'thinking.buildCoordinatingCount': 'Build sta coordinando {{count}} agente/i',
  'thinking.buildMerging': 'Build sta unendo i risultati degli agenti',
  'thinking.agentWorking': '{{agent}} sta lavorando',
  'thinking.thinking': 'Pensando',
  'thinking.compacting': 'Compattamento della conversazione per preservare il contesto…',
  'thinking.agentPlan': 'Piano dell\u2019agente',
  'thinking.sessionTodos': 'Todo della sessione',

  'compaction.running': 'Compattamento',
  'compaction.done': 'Compattato',
  'compaction.causeOverflow': 'overflow',
  'compaction.causeAuto': 'auto',
  'compaction.causeManual': 'manuale',
  'compaction.runningOverflow': 'Finestra di contesto sovraccarica — accorciamento dei turni vecchi per far spazio.',
  'compaction.runningAuto': 'Avvicinamento al limite di contesto — compattamento proattivo.',
  'compaction.runningManual': 'Riassunto manuale della sessione per ridurre i turni vecchi.',
  'compaction.doneOverflow': 'I turni vecchi sono stati riassunti perché la finestra di contesto era piena.',
  'compaction.doneAuto': 'I turni vecchi sono stati riassunti automaticamente per fare spazio a nuove risposte.',
  'compaction.doneManual': 'I turni vecchi sono stati riassunti manualmente.',

  'taskStatus.running': 'in corso',
  'taskStatus.done': 'completato',
  'taskStatus.errored': 'in errore',
  'taskStatus.queued': 'in coda',

  'taskRun.deeperTitle': 'Questo sub-agente ha avviato {{count}} sub-task aggiuntivi. Clicca sulla corsia per esplorare.',
  'taskDrillIn.backToParent': 'Torna al task padre',
  'taskDrillIn.abortTask': 'Annulla questo task',
  'taskDrillIn.abortTaskDescription': 'Annulla solo questo sub-agente; i fratelli e il principale continuano',
  'taskDrillIn.closeDrawer': 'Chiudi pannello',
  'questionDock.pendingCount': '{{count}} domande in sospeso in questa conversazione',
  'questionDock.scrollToToolCall': 'Scorri alla chiamata strumento di questa domanda',
  'questionDock.typeOwnAnswer': 'Scrivi la tua risposta',

  'mermaid.zoomOut': 'Rimpicciolisci diagramma Mermaid',
  'mermaid.resetZoom': 'Reimposta zoom Mermaid',
  'mermaid.zoomIn': 'Ingrandisci diagramma Mermaid',
  'chatModelMenu.selectModel': 'Seleziona modello',
  'chatModelMenu.search': 'Cerca modelli…',

  'agentsPage.title': 'Agenti',
  'agentsPage.subtitle': 'Componi specialisti da abilità, strumenti e istruzioni. Clicca una scheda per aprirla nel costruttore.',
  'agentsPage.backToChat': 'Torna alla chat',
  'agentsPage.search': 'Cerca agenti, abilità, strumenti o istruzioni…',
  'agentsPage.importTitle': 'Importa un agente personalizzato da un file .cowork-agent.json',
  'agentsPage.import': 'Importa',
  'agentsPage.importFailed': 'Impossibile importare {{filename}}: {{error}}',
  'agentsPage.importConflict': 'Esiste già un agente personalizzato chiamato «{{name}}». Sostituirlo con quello importato?',
  'studioTeamPage.eyebrow': 'Team',
  'studioTeamPage.title': 'Collaboratori',
  'studioTeamPage.subtitle': 'Componi gli agenti OpenCode in un elenco di collaboratori con ruoli, abilità, strumenti e assegnazioni chat chiari.',
  'studioTeamPage.customCount': 'personalizzati',
  'studioTeamPage.builtInCount': 'integrati',
  'studioTeamPage.runtimeCount': 'runtime',
  'studioTeamPage.search': 'Cerca collaboratori, abilità, strumenti o istruzioni…',
  'studioTeamPage.filterLabel': 'Filtro collaboratori',
  'studioTeamPage.importTitle': 'Importa un collaboratore personalizzato da un file .cowork-agent.json',
  'studioTeamPage.importFailed': 'Impossibile importare {{filename}}: {{error}}',
  'studioTeamPage.importConflict': 'Esiste già un collaboratore personalizzato chiamato «{{name}}». Sostituirlo con quello importato?',
  'studioTeamPage.newCoworker': 'Nuovo collaboratore',
  'studioTeamPage.customSection': 'Collaboratori personalizzati',
  'studioTeamPage.customSectionHelp': 'Creati da te; modifica, abilita, esporta o elimina dalla scheda.',
  'studioTeamPage.noCustom': 'Nessun collaboratore personalizzato ancora. Creane uno per impacchettare un ruolo ripetibile, istruzioni, abilità e strumenti.',
  'studioTeamPage.noCustomMatch': 'Nessun collaboratore personalizzato corrisponde alla tua ricerca.',
  'studioTeamPage.builtInSection': 'Collaboratori integrati',
  'studioTeamPage.builtInSectionHelp': 'Specialisti Open Cowork creati con abilità e strumenti inclusi.',
  'studioTeamPage.noBuiltInMatch': 'Nessun collaboratore integrato corrisponde alla tua ricerca.',
  'studioTeamPage.runtimeSection': 'Collaboratori registrati dal runtime',
  'studioTeamPage.runtimeSectionHelp': 'Collaboratori registrati da un plugin SDK; OpenCode conserva il loro comportamento di runtime.',
  'studioTeamPage.noRuntimeMatch': 'Nessun collaboratore runtime corrisponde alla tua ricerca.',
  'studioTeamPage.noOpenCodeMatch': 'Nessun predefinito OpenCode corrisponde alla tua ricerca.',
  'agentCard.editAvatar': 'Modifica avatar dell\u2019agente',
  'agentCard.idPlaceholder': 'agent-id',
  'agentCard.descriptionPlaceholder': 'In cosa è specializzato questo agente?',
  'agentCard.enabledTitle': 'Visibile nella chat',
  'agentCard.disabledTitle': 'Disabilitato — non apparirà nella chat',
  'agentCard.removeLabel': 'Rimuovi {{label}}',
  'agentCard.missingTool': 'Strumento mancante: {{label}}',
  'avatarEditor.setColor': 'Imposta colore su {{label}}',
  'skillLibrary.empty': 'Nessuna abilità disponibile. Aggiungi un pacchetto dalla pagina Capacità.',
  'skillLibrary.needsTools': 'Richiede {{count}} strumento/i',
  'toolLibrary.empty': 'Nessuno strumento disponibile. Aggiungi un MCP dalla pagina Capacità.',
  'toolLibrary.writeTooltip': 'Questo strumento può scrivere — aumenta l\u2019impronta dell\u2019agente',

  'agentCard.edit': 'Modifica',
  'agentCard.export': 'Esporta',
  'agentCard.exportTitle': 'Esporta questo agente come bundle JSON condivisibile',
  'agentCard.noDescription': 'Nessuna descrizione',

  'capabilities.title': 'Strumenti e competenze',
  'capabilities.subtitle': 'Ispeziona gli strumenti e i pacchetti di abilità disponibili nel contesto OpenCode corrente, incluse le aggiunte integrate, macchina, progetto e personalizzate.',
  'capabilities.addTool': 'Aggiungi strumento',
  'capabilities.addSkillButton': 'Aggiungi abilità',
  'capabilities.searchTools': 'Cerca strumenti, descrizioni o collaboratori…',
  'capabilities.searchSkills': 'Cerca abilità, descrizioni o collaboratori…',
  'capabilities.details': 'Dettagli',
  'capabilities.connection': 'Connessione',
  'capabilities.linkedAgents': 'Agenti collegati',
  'capabilities.linkedCoworkers': 'Collaboratori collegati',
  'capabilities.linkedTools': 'Strumenti collegati',
  'capabilities.skillContent': 'Contenuto dell\u2019abilità',
  'capabilities.usedByAgents': 'Usato dagli agenti',
  'capabilities.usedByCoworkers': 'Usato dai collaboratori',
  'capabilities.bundleFiles': 'File del bundle',
  'capabilities.noToolsDiscovered': 'Nessuno strumento rilevato. Aggiungi un MCP personalizzato per estendere il runtime.',
  'capabilities.noToolsMatch': 'Nessuno strumento corrisponde alla tua ricerca.',
  'capabilities.noSkillsDiscovered': 'Nessuna abilità rilevata. Aggiungi un pacchetto personalizzato per estendere gli agenti.',
  'capabilities.noSkillsMatch': 'Nessuna abilità corrisponde alla tua ricerca.',
  'capabilities.kindOpencodeTool': 'Strumento OpenCode',
  'capabilities.kindCustomMcp': 'MCP personalizzato',
  'capabilities.kindBuiltinTool': 'Strumento integrato',
  'capabilities.kindMcpTool': 'Strumento MCP',
  'capabilities.kindCustomSkill': 'Abilità personalizzata',
  'capabilities.kindBuiltinSkill': 'Abilità integrata',
  'capabilities.skillSourceBundled': 'Abilità integrata in {{brand}}',
  'capabilities.skillSourceProject': 'Abilità di progetto',
  'capabilities.skillSourceMachine': 'Abilità macchina',
  'capabilities.skillSourceBundle': 'Pacchetto di abilità',

  'mcpForm.titleAdd': 'Aggiungi strumento MCP',
  'mcpForm.titleEdit': 'Modifica strumento MCP — {{name}}',
  'mcpForm.subtitleAdd': 'Collega un server Model Context Protocol e rendi il suo set di strumenti disponibile in {{brand}} e OpenCode.',
  'mcpForm.subtitleEdit': 'Aggiorna la configurazione di questo MCP. Le modifiche hanno effetto dopo il ricaricamento del runtime da parte di {{brand}}.',
  'mcpForm.saving': 'Salvataggio…',
  'mcpForm.saveChanges': 'Salva modifiche',
  'mcpForm.addMcp': 'Aggiungi MCP',
  'mcpForm.completeBeforeSave': 'Completa prima di salvare',
  'mcpForm.whereToSave': 'Dove salvarlo',
  'mcpForm.connectionType': 'Tipo di connessione',
  'mcpForm.connectionDetails': 'Dettagli di connessione',
  'mcpForm.mcpId': 'ID MCP',
  'mcpForm.displayName': 'Nome visualizzato',
  'mcpForm.displayNamePlaceholder': 'es. GitHub, Jira, Slack',
  'mcpForm.description': 'Descrizione',
  'mcpForm.descriptionPlaceholder': 'A cosa questo MCP dà accesso.',
  'mcpForm.command': 'Comando',
  'mcpForm.commandPlaceholder': 'es. npx, node, python',
  'mcpForm.arguments': 'Argomenti',
  'mcpForm.argumentsPlaceholder': 'es. -y @modelcontextprotocol/server-github',
  'mcpForm.envVars': 'Variabili d\u2019ambiente',
  'mcpForm.envValuePlaceholder': 'valore',
  'mcpForm.url': 'URL',
  'mcpForm.headers': 'Intestazioni',
  'mcpForm.allowPrivateNetwork': 'Consenti rete privata',
  'mcpForm.linkedSkills': 'Abilità collegate',
  'mcpForm.preview': 'Anteprima MCP',

  'skillForm.titleAdd': 'Aggiungi pacchetto di abilità',
  'skillForm.titleEdit': 'Modifica pacchetto — {{name}}',
  'skillForm.subtitle': 'Crea un vero pacchetto di abilità OpenCode con `SKILL.md` più i riferimenti, esempi o modelli necessari.',
  'skillForm.addSkill': 'Aggiungi abilità',
  'skillForm.importing': 'Importazione…',
  'skillForm.importDirectory': 'Importa cartella',
  'skillForm.bundleIdentity': 'Identità del pacchetto',
  'skillForm.skillDirectory': 'Cartella dell\u2019abilità',
  'skillForm.skillDirectoryPlaceholder': 'es. code-review, data-pipeline',
  'skillForm.skillDirectoryHint': 'Salvata come cartella del pacchetto. Mantienila minuscola e stabile.',
  'skillForm.requiredTools': 'Strumenti richiesti',
  'skillForm.additionalFiles': 'File aggiuntivi',
  'skillForm.fileContents': 'Contenuto del file',
  'skillForm.bundlePreview': 'Anteprima del pacchetto',

  'mcpRestriction.removeRestriction': 'Clicca per rimuovere questa restrizione',

  'commandPalette.search': 'Cerca azioni, agenti e comandi…',
  'commandPalette.noMatches': 'Nessuna azione corrisponde. Prova una ricerca più ampia.',
  'commandPalette.hint': 'Invio per eseguire. Esc per chiudere.',

  'chart.generatedChart': 'Grafico generato',

  'chat.composerAriaLabel': 'Composizione messaggio (rilascia file per allegarli)',
  'chat.revertedSessionTitle': 'Questa sessione è stata annullata — clicca per ripristinare i messaggi successivi',
  'chat.transcriptAriaLabel': 'Trascrizione del chat',

  'homepage.card.usageEyebrow': 'Uso',
  'homepage.card.agentUsageEyebrow': 'Uso degli agenti',
  'homepage.card.perfEyebrow': 'Prestazioni',
  'homepage.card.selectedWindow': 'la finestra selezionata',
  'homepage.side.selectedPeriod': 'il periodo selezionato',
  'homepage.side.noRecentThreads': 'Nessuna conversazione in {{window}}. Avviane una dalle azioni sotto e la home diventa la tua coda.',

  'setup.modelIdPlaceholder': 'ID del modello',

  'statusbar.thinking': 'Pensando…',
  'statusbar.agentWorking': '{{agent}} sta lavorando…',
  'statusbar.compacting': 'Compattamento…',
  'statusbar.contextPercent': '{{percent}}% contesto',
  'statusbar.contextCompactingSoon': '{{percent}}% · compattamento imminente',
  'statusbar.contextCompactingDetail': 'Compattamento dei turni vecchi per preservare il contesto',
  'statusbar.contextCompactedDetail': 'Compattato dopo {{percent}}% di {{limit}}',
  'statusbar.contextNearThreshold': '{{percent}}% di {{limit}} — il compattamento automatico partirà presto',
  'statusbar.contextOfLimit': '{{percent}}% di {{limit}}',
  'statusbar.tokensCount': '{{count}} token',
  'statusbar.cacheRead': 'Lettura cache',
  'statusbar.cacheWrite': 'Scrittura cache',
  'statusbar.contextWindow': 'Finestra di contesto',
  'statusbar.compactions': 'Compattamenti',
  'statusbar.lastCompacted': 'Ultimo compattamento',
  'statusbar.lastMeasuredInput': 'Ultimo input misurato',
  'statusbar.sessionCost': 'Costo della sessione',
  'statusbar.totalAllSessions': 'Totale (tutte le sessioni)',

  'threadList.waitingForAnswer': 'In attesa della tua risposta',
  'threadList.working': 'In esecuzione',
  'threadList.forked': 'Conversazione forkata',
  'threadList.forkedFrom': 'Forkata da un\u2019altra conversazione',
  'threadList.reverted': 'ripristinata',
  'threadList.revertedTitle': 'La sessione è stata riportata a un messaggio precedente',

  'agentBuilder.saveThisAgentIn': 'Salva questo agente in',
  'agentCard.scope': 'Ambito',

  'agentPreview.title': 'Anteprima statica',
  'agentPreview.subtitle': 'Come OpenCode vedrà questo agente quando verrà invocato. Nessuna chiamata di rete — solo la vista compilata.',
  'agentPreview.scopeLabel': 'Ambito {{scope}}',
  'agentPreview.mention': 'Menzione',
  'agentPreview.toolsResolved': 'Strumenti risolti',
  'agentPreview.skillsResolved': 'Abilità risolte',
  'agentPreview.nOfM': '{{n}} di {{m}}',
  'agentPreview.missingTools': 'Strumenti mancanti: {{list}}',
  'agentPreview.missingSkills': 'Abilità mancanti: {{list}}',
  'agentPreview.systemPrompt': 'Prompt di sistema',
  'agentPreview.toolPatterns': 'Pattern degli strumenti',
  'agentPreview.skillsAvailable': 'Abilità disponibili da caricare',

  'agentTemplate.title': 'Avvia un nuovo agente',
  'agentTemplate.subtitle': 'Scegli un modello per saltare la tela vuota — potrai cambiare tutto dopo.',
  'agentTemplate.startBlank': 'Partire da zero',
  'agentTemplate.startBlankHint': 'Nessuno strumento o istruzione preselezionati — progetta l\u2019agente da zero.',
  'agentTemplate.temp': 'temp {{value}}',
  'agentTemplate.steps': '{{count}} passi',
  'agentTemplate.toolHints': '{{count}} suggerimento/i di strumento',

  'avatarEditor.avatar': 'Avatar',
  'avatarEditor.color': 'Colore',

  'capabilities.noSkillContent': 'Nessun contenuto del pacchetto di abilità disponibile.',
  'capabilities.skillNotTiedToTool': 'Questa abilità non è legata a uno strumento specifico.',

  'chart.savedAs': 'Salvato come',

  'chatModelMenu.noMatches': 'Nessun risultato.',

  'instructions.headerHint': 'Dai forma al tono, alle priorità e al formato di output. Le buone istruzioni sono specifiche e operative.',
  'instructions.addSnippet': '+ Frammento',
  'instructions.noInstructions': 'Nessuna istruzione.',
  'instructions.placeholderExamples': 'Esempi:\n- Riassumi i risultati in 3 punti con prove.\n- Preferisci i doc ufficiali ai blog.\n- Non inviare mai email; solo bozze.\n- Chiedi approvazione prima di scritture esterne.',
  'instructions.charCount': '{{count}} caratteri',
  'instructions.longPromptWarning': 'I prompt lunghi consumano token — valuta di accorciare',
  'instructions.snippet.conciseLabel': 'Essere conciso',
  'instructions.snippet.conciseBody': 'Rispondi in 3–5 punti. Mantieni il testo stretto. Taglia ciò che non è essenziale.',
  'instructions.snippet.askFirstLabel': 'Fare domande chiarificatrici',
  'instructions.snippet.askFirstBody': 'Se la richiesta è ambigua, fai una domanda chiarificatrice prima di agire.',
  'instructions.snippet.citeLabel': 'Citare le fonti',
  'instructions.snippet.citeBody': 'Quando riassumi risultati, cita ogni affermazione con il documento o URL sorgente.',
  'instructions.snippet.draftOnlyLabel': 'Bozza, mai inviare',
  'instructions.snippet.draftOnlyBody': 'Produci solo bozze. Non inviare mai messaggi, email o azioni esterne senza conferma.',
  'instructions.snippet.structuredLabel': 'Output strutturato',
  'instructions.snippet.structuredBody': 'Restituisci i risultati come un breve riassunto esecutivo, poi una suddivisione numerata.',

  'mcpForm.mcpIdHint': 'Diventa il namespace del runtime e il prefisso dei permessi.',
  'mcpForm.runtimeNamespace': 'Namespace runtime',
  'mcpForm.permissionPrefix': 'Prefisso permessi',
  'mcpForm.connectionSummary': 'Riepilogo connessione',
  'mcpForm.connectivityTest': 'Test di connettività',
  'mcpForm.couldNotConnect': 'Impossibile connettersi a questo MCP.',
  'mcpForm.runTestHint': 'Esegui un test prima di salvare per confermare che il server risponde ed espone metodi.',
  'mcpForm.reloadsRuntimeNote': '{{brand}} ricarica automaticamente il runtime dopo il salvataggio.',

  'questionDock.question': 'Domanda',
  'sessionInspector.planFromTaskRuns': 'Derivato dalle esecuzioni di task attive',
  'sessionInspector.session': 'Sessione',

  'skillForm.bundleId': 'ID del bundle',
  'skillForm.frontmatterName': 'Nome frontmatter',
  'skillForm.noExtraBundleFiles': 'Nessun file aggiuntivo nel bundle.',
  'skillForm.whatWillBeSaved': 'Cosa verrà salvato',

  'todo.untitled': 'Todo senza titolo',

  'toolTrace.artifact': 'Artefatto',
  'toolTrace.agent': 'Agente',
  'toolTrace.subAgent': 'Sub-agente',
  'toolTrace.reveal': 'Mostra',
  'toolTrace.saving': 'Salvataggio…',
  'toolTrace.saveAs': 'Salva con nome…',
  'toolTrace.input': 'Input',
  'toolTrace.output': 'Output',
  'toolTrace.noDetails': 'Nessun dettaglio disponibile',
  'toolTrace.generatedInSubAgent': 'Generato via {{tool}} nel lavoro del sub-agente',
  'toolTrace.generatedInThread': 'Generato via {{tool}} in questa conversazione',

  // ────────────────────────────────────────────────────────────
  // Home (welcoming landing)
  // ────────────────────────────────────────────────────────────
  'home.greeting.cowork': 'Su cosa collaboriamo oggi?',
  'home.subtitle': '{{brand}} · Chiedi qualsiasi cosa o @menziona un agente',
  'home.composer.placeholder': 'Chiedi qualsiasi cosa o @menziona un agente',
  'home.composer.send': 'Invia',
  'home.composer.dropZone': 'Compositore — trascina i file per allegarli',
  'studioHome.greeting': 'Di cosa deve occuparsi il tuo team oggi?',
  'studioHome.subtitle': '{{brand}} · Scegli un coworker guida, @menziona specialisti e rivedi il lavoro in un unico posto',
  'studioHome.composer.placeholder': 'Chiedi qualsiasi cosa o @menziona un coworker',
  'studioHome.coachmark': 'Scrivi un prompt, allega contesto o @menziona un coworker — ⌘K per i comandi.',
  'studioHome.agentNudge': '@menziona un coworker',
  'home.suggestions.title': 'Prova',
  'home.recent.title': 'Riprendi da dove avevi lasciato',
  'home.recent.untitled': 'Conversazione senza titolo',
  'home.statusStrip.ready': 'Pronto',
  'home.statusStrip.mcps': '{{connected}}/{{total}} MCP',
  'home.statusStrip.viewMore': 'Polso',

}

export const it: LocaleCatalog = {
  locale: 'it',
  nativeLabel: 'Italiano',
  strings,
}
