feat(i18n): 覆盖支持扩展到 19 语言(de/fr/pt/ko/ar/hi/id/tr/vi/th/ru/it/nl/sv/pl/zh-HK/zh-TW/zh-MO)

This commit is contained in:
HuanLinOTO
2026-08-23 14:57:48 +08:00
parent 16a809594c
commit 7f8f95a59b
20 changed files with 6224 additions and 2 deletions
+336
View File
@@ -0,0 +1,336 @@
/**
* Italian copy for the sidebar. Key-set-equal to `zh` in `locales.ts`;
* consumed by the better-locale override store (see `locales.ts` for the
* zh/en/ja lookup chain and the `attachBetterLocale` contract).
*
* @module dsh-better-sidebar/client/locales-it
*/
export const it: Record<string, string> = {
files: 'File',
explorer: 'Esplora risorse',
git: 'Controllo del codice sorgente',
terminal: 'Terminale',
editor: 'Editor',
editorExplorer: 'Modalità di apertura dei file',
editorExplorerDesc: 'Controlla come si aprono i file',
editorExplorerMerged: 'Unito',
editorExplorerMergedDesc: 'I file cambiano sul posto nella stessa finestra; le nuove finestre avviano l’albero espanso',
editorExplorerSplit: 'Separato',
editorExplorerSplitDesc: 'Le finestre senza percorso sono l’esplora risorse autonomo (solo albero dei file); ogni file apre la propria finestra (albero agganciato, chiuso per impostazione predefinita)',
editorTreeToggle: 'Pannello dell’albero dei file',
editorPathPlaceholder: 'Percorso del file (relativo alla directory della sessione o assoluto), Invio per aprire',
editorSearchPlaceholder: 'Cerca file per nome…',
editorSearchNoResults: 'Nessun file corrispondente',
editorSearchTruncated: 'Troppi risultati — viene mostrato un elenco parziale',
editorEmptyHint: 'Scelga un file dal pannello dell’albero a destra o dal campo del percorso in alto per iniziare l’anteprima',
openFileNewTab: 'Apri in una nuova scheda',
openFileSide: 'Apri a lato',
openWithMenu: 'Apri con',
openWithSshSuffix: ' (SSH)',
pinOpenWith: 'Fissa al menu',
unpinOpenWith: 'Rimuovi dal fisso',
openWithExplorer: 'Esplora risorse',
openWithVscode: 'VS Code',
openWithCursor: 'Cursor',
openWithZed: 'Zed',
openWithSettingsSshTitle: 'Host remoto SSH',
openWithSettingsSshDesc: 'Vuoto = spazio di lavoro locale; con un user@host o un alias SSH, gli apritori della famiglia VSCode passano al protocollo vscode-remote/ssh-remote e l’Esplora risorse / Zed / gli editor personalizzati non VSCode vengono nascosti dal menu',
openWithSettingsSshPlaceholder: 'user@host o alias SSH',
openWithSettingsCustomTitle: 'Editor personalizzati',
openWithSettingsCustomDesc: 'Nome + modello URL (segnaposto {path}) + flag famiglia VSCode; in modalità remota solo gli editor della famiglia VSCode possono aprire un percorso remoto',
openWithSettingsAdd: 'Aggiungi',
openWithSettingsName: 'Nome',
openWithSettingsTemplate: 'es. cursor://file/{path}',
openWithSettingsFamily: 'Famiglia VSCode',
openWithSettingsFamilyDesc: 'Questo editor usa il protocollo URL di VSCode (supporta aperture SSH remote)',
openWithSettingsRemove: 'Rimuovi',
openWithSettingsInvalidHint: 'Gli editor con nome mancante o modello senza {path} / scheme:// non vengono mostrati nel menu',
newTab: 'Nuova scheda',
openExplorer: 'Esplora risorse',
brokenSymlink: 'Collegamento simbolico interrotto',
openGit: 'Pannello Git',
newTerminal: 'Nuovo terminale',
terminalLimit: 'Numero massimo di terminali raggiunto (3)',
close: 'Chiudi',
closeOtherTabs: 'Chiudi le altre schede',
closeLeftTabs: 'Chiudi le schede a sinistra',
closeRightTabs: 'Chiudi le schede a destra',
collapse: 'Comprimi barra laterale',
expand: 'Espandi barra laterale',
collapseBottomPanel: 'Comprimi pannello inferiore',
expandBottomPanel: 'Espandi pannello inferiore',
terminalError: 'Connessione del terminale non riuscita',
terminalConnectFailed: 'Il terminale non è riuscito a connettersi più volte',
terminalRetry: 'Riprova',
terminalDepsFailed: 'Caricamento della dipendenza del terminale node-pty non riuscito',
terminalDepsHint: 'Esegua il comando seguente in un terminale o cmd sul computer DSH per ripristinarlo, poi riprovi (node-pty resta sincronizzato con la versione del core DSH):',
terminalDepsProfile: ' (rilevato profilo: {profile})',
preview: 'Anteprima',
edit: 'Modifica',
mermaidError: 'Rendering Mermaid non riuscito',
mermaidZoomIn: 'Ingrandisci',
mermaidZoomOut: 'Riduci',
mermaidZoomReset: 'Ripristina',
mermaidZoomHint: 'Scorra per zoom · trascini per panoramica · Esc per chiudere',
refresh: 'Aggiorna',
save: 'Salva',
saved: 'Salvato',
unsaved: 'Non salvato',
saveFailed: 'Salvataggio non riuscito',
truncation: 'File troppo grande — vengono mostrati i primi 512KB',
binary: 'File binario, anteprima non disponibile',
loading: 'Caricamento…',
error: 'Caricamento non riuscito',
retry: 'Riprova',
splitLeft: 'Dividi a sinistra',
splitRight: 'Dividi a destra',
splitUp: 'Dividi in alto',
splitDown: 'Dividi in basso',
notRepo: 'Questa directory non è un repository git',
noChanges: 'Nessuna modifica',
stage: 'Prepara',
unstage: 'Rimuovi dalla preparazione',
stageAll: 'Prepara tutto',
unstageAll: 'Rimuovi tutto dalla preparazione',
commitPlaceholder: 'Messaggio di commit (Ctrl+Enter)',
commit: 'Commit',
commitError: 'Commit non riuscito',
branch: 'Ramo',
checkoutError: 'Cambio di ramo non riuscito',
history: 'Cronologia',
changes: 'Modifiche',
staged: 'In stage',
unstaged: 'Non in stage',
cancel: 'Annulla',
diffEmpty: 'Nessuna modifica testuale',
diffLoadError: 'Caricamento del diff non riuscito',
diffBinary: 'Binario',
diffAdded: 'Aggiunto',
diffDeleted: 'Eliminato',
diffRenamed: 'Rinominato',
diffExpand: 'Espandi altre {count} righe',
diffCollapse: 'Comprimi',
discard: 'Annulla modifiche',
discardTitle: 'Annulla modifiche',
discardDesc: 'Questo annulla le modifiche della copia di lavoro di «{path}» (non recuperabile).',
viewCommitDiff: 'Vedi il diff del commit',
copyShortHash: 'Copia hash breve',
copyFullHash: 'Copia hash completo',
copySubject: 'Copia messaggio di commit',
revertCommit: 'Ripristina questo commit',
revertTitle: 'Ripristina questo commit',
revertDesc: 'Crea un nuovo commit sul ramo attuale che inverte «{subject}».',
cherryPickCommit: 'Cherry-pick di questo commit',
cherryPickTitle: 'Cherry-pick di questo commit',
cherryPickDesc: 'Applica le modifiche di «{subject}» al ramo attuale.',
timeJustNow: 'adesso',
timeMinutesAgo: '{n} min fa',
timeHoursAgo: '{n} h fa',
timeYesterday: 'ieri',
loadMore: 'Carica altro',
historyLoadError: 'Caricamento di altra cronologia non riuscito',
produced: 'Prodotti',
producedOpen: 'Apri nella barra laterale',
disconnected: 'Terminale disconnesso, riconnessione…',
exited: 'Il processo del terminale è terminato',
noSession: 'Selezioni una conversazione per usare la barra laterale',
pluginNotLoaded: 'Plugin non caricato; scheda non disponibile:',
hiddenFiles: 'File nascosti',
parent: 'Directory superiore',
copied: 'Copiato',
copy: 'Copia',
newFile: 'Nuovo file',
openEditor: 'Apri editor',
gitDetail: 'Vedi i dettagli delle modifiche',
referenceFile: '@file',
addToConversation: 'Aggiungi alla conversazione',
copyRelative: 'Copia percorso relativo',
copyAbsolute: 'Copia percorso assoluto',
download: 'Scarica',
uploadFiles: 'Carica file',
uploadFolder: 'Carica cartella',
uploadHere: 'Carica qui',
uploadDropHint: 'Trascini file/cartelle qui per caricarli',
uploadDropChat: 'Trascini sulla chat per aggiungere immagini alla conversazione',
uploadTo: 'Carica in {dir}',
uploadingTo: 'Caricamento in {dir}…',
uploadProgress: 'Caricamento {done}/{total}: {name}',
uploadDone: 'Caricati {count} file',
uploadFailed: 'Caricamento non riuscito: {error}',
uploadFailedUnknown: 'Errore sconosciuto',
uploadTooLarge: 'File troppo grande (oltre il limite di caricamento)',
uploadCancelled: 'Caricamento annullato',
settingsNav: 'Scheda laterale',
settingsIntro: 'Gestisca cosa mostra la scheda laterale e come si comporta',
settingsPopupDesc: 'Configuri le opzioni relative a {feature}',
settingsDone: 'Fatto',
settingsOpenTitle: 'Apri per impostazione predefinita per le nuove conversazioni',
settingsOpenDesc: 'Espande automaticamente la scheda laterale per le conversazioni nuove; le conversazioni esistenti mantengono il proprio layout',
settingsWidthTitle: 'Quota di larghezza predefinita',
settingsWidthDesc: 'La quota predefinita della scheda laterale sulla larghezza della finestra per le nuove conversazioni (20–60)',
settingsWidthSuffix: '%',
settingsOpenPathTitle: 'Apri i file della chat nella barra laterale',
settingsOpenPathDesc: 'Apre i collegamenti ai file nella chat (righe di strumenti, file prodotti, menzioni) nell’editor della barra laterale invece dell’app predefinita di sistema',
settingsTitleBarTitle: 'Modalità di compatibilità della posizione',
settingsTitleBarDesc: 'Scelga lo schema di compatibilità della barra del titolo: rilevamento automatico (predefinito, prudente) / DSH Web ufficiale / shell desktop note / personalizzato (distanza di scorrimento + CSS personalizzato)',
settingsTitleBarStripTitle: 'Distanza di scorrimento',
settingsTitleBarStripDesc: 'Altezza della striscia della barra del titolo: di quanti pixel scendono i pulsanti e i contenuti della barra laterale (0–120, predefinito 40; si applica con lo schema personalizzato)',
settingsSchemeAutoTitle: 'Rilevamento automatico',
settingsSchemeAutoDesc: 'Prudente: solo l’API standard Window Controls Overlay contribuisce (altezza reale della barra del titolo); gli ambienti web puri non subiscono modifiche',
settingsSchemeWebTitle: 'DSH Web ufficiale',
settingsSchemeWebDesc: 'Dichiara esplicitamente la web UI ufficiale: nessun adattamento (nemmeno la geometria WCO standard)',
settingsSchemeCustomTitle: 'Personalizzato',
settingsSchemeCustomDesc: 'Controllo totale: inietti CSS personalizzato (può sovrascrivere gli stili integrati) e imposti la distanza di scorrimento della barra del titolo',
settingsSchemeDetectedSuffix: 'rilevato',
settingsCustomCssTitle: 'CSS personalizzato',
settingsCustomCssDesc: 'Stili accodati alla fine della pagina (in caso di parità vince chi è dopo; usi !important per sovrascrivere le variabili inline scritte da JS)',
settingsCustomCssPlaceholder: '/* es. riserva 36px per una shell con barra del titolo disegnata a mano */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
settingsSaveFailed: 'Salvataggio non riuscito',
settingsConflict: 'L’impostazione è stata modificata in un’altra finestra — riprovi',
binaryNoPreview: 'Questo tipo di file non può essere visualizzato in anteprima',
downloadToView: 'Scarica per visualizzare',
settingsSubagentTitle: 'Apri automaticamente la pagina Attività quando compare un sottoagente',
settingsSubagentDesc: 'Espande la barra laterale e apre la pagina Attività quando la conversazione attuale genera un nuovo sottoagente; disattivato va aperta manualmente',
settingsJobsTitle: 'Apri automaticamente la pagina Attività in background in caso di nuova attività',
settingsJobsDesc: 'Espande la barra laterale e apre la pagina Attività in background ogni volta che compare una nuova attività in background per la conversazione attuale (ogni nuova attività la attiva); disattivato va aperta manualmente',
settingsToolsTitle: 'Inietta strumenti del terminale per il modello',
settingsToolsDesc: 'Se attivato, il modello può creare e gestire terminali della barra laterale attraverso gli 8 strumenti terminal_* (disattivato per impostazione predefinita)',
settingsBottomTerminalTitle: 'Apri automaticamente un terminale alla prima espansione del pannello inferiore',
settingsBottomTerminalDesc: 'Quando il pannello inferiore viene espanso per la prima volta in una sessione, prova ad aprire una nuova scheda terminale nel pannello inferiore (il limite di terminali si applica comunque; attivo per impostazione predefinita)',
settingsFontFamilyTitle: 'Famiglia di caratteri del terminale',
settingsFontFamilyDesc: 'Famiglia di caratteri personalizzata del terminale (uno stack CSS font-family come "JetBrains Mono", monospace; lasci vuoto per seguire il carattere a spaziatura fissa del tema)',
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
settingsFontSizeTitle: 'Dimensione del carattere del terminale',
settingsFontSizeDesc: 'Dimensione del carattere del terminale in px (9–32, predefinito 13)',
settingsFontSizeSuffix: 'px',
settingsShellTitle: 'Percorso della shell',
settingsShellDesc: 'Shell avviata per i terminali dell’interfaccia e del modello (percorso assoluto o nome eseguibile). Vuoto mantiene l’ordine preesistente: config.shell di yaml → $SHELL / shell di login / powershell.exe di Windows. Si applica ai terminali aperti successivamente',
settingsShellPlaceholder: 'es. /bin/zsh (vuoto = automatico)',
settingsShellArgsTitle: 'Argomenti della shell',
settingsShellArgsDesc: 'Argomenti espliciti della shell, separati da spazi; quando non vuoti sostituiscono completamente i predefiniti (stesso contratto di shellArgs di yaml)',
settingsShellArgsPlaceholder: 'es. -l (vuoto = predefiniti)',
settingsTabsTitle: 'Contenuto della barra laterale',
settingsViewersTitle: 'Visualizzatori di file',
settingsGeneralTitle: 'Generali',
settingsPopup: 'Impostazioni della funzionalità',
settingsViewerCatchAll: 'Raccoglitore: qualsiasi file',
viewerImage: 'Immagine',
viewerPdf: 'PDF',
viewerMarkdown: 'Markdown',
viewerCode: 'Codice',
viewerBinary: 'Download binario',
viewerHtml: 'HTML',
browser: 'Browser',
browserPlaceholder: 'Inserisca un URL, es. example.com',
browserGo: 'Vai',
browserBack: 'Indietro',
browserForward: 'Avanti',
browserStart: 'Inserisca un URL per iniziare a navigare (modalità sandbox)',
browserBlockedScheme: 'Bloccato: sono ammessi solo URL http/https',
browserBlockedLoopback: 'Bloccato: gli indirizzi locali e interni non possono essere navigati qui',
browserInvalid: 'URL non valido',
browserNoSandboxWarning: 'Sandbox disattivata: la pagina attuale viene eseguita con i privilegi completi dell’interfaccia (può riattivarla nelle impostazioni)',
htmlNoSandboxWarning: 'Sandbox disattivata: questo HTML viene eseguito con la stessa origine dell’interfaccia e può leggere i file di sessione e le API interne (può riattivarla nelle impostazioni)',
sandboxStatusOn: 'Modalità sandbox: attiva · le pagine non possono accedere ai dati dell’interfaccia o ai file locali; i login e i cookie di terze parti potrebbero non funzionare',
sandboxUnlock: 'Disattiva temporaneamente (non sicuro)',
sandboxRestore: 'Ripristina sandbox',
settingsHtmlDefaultUnsafeTitle: 'Apri le anteprime HTML senza sandbox per impostazione predefinita (non sicuro)',
settingsHtmlDefaultUnsafeDesc: 'Se attivato, ogni anteprima HTML appena aperta inizia nello stato senza sandbox (stessa origine dell’interfaccia — può leggere i file di sessione e le API interne); la riga di stato offre ancora un ripristino con un tocco',
settingsHtmlSandboxTitle: 'Disattiva la sandbox dell’anteprima HTML (non sicuro)',
settingsHtmlSandboxDesc: 'Con la sandbox disattivata, l’HTML in anteprima viene eseguito con la stessa origine dell’interfaccia: può leggere i file di sessione, l’archiviazione locale e chiamare le API interne. Attivi solo per file completamente attendibili',
settingsBrowserSandboxTitle: 'Disattiva la sandbox del browser (non sicuro)',
settingsBrowserSandboxDesc: 'Con la sandbox disattivata, ogni sito visitato viene eseguito con la stessa origine dell’interfaccia: può leggere i dati di sessione e fingersi la sua sessione di login. Attivi solo per siti completamente attendibili',
settingsBrowserLinksTitle: 'Apri i collegamenti esterni della chat nella barra laterale',
settingsBrowserLinksDesc: 'Se attivato, cliccando un collegamento esterno nella chat o nell’interfaccia si apre la barra laterale invece di una nuova finestra; HTTP e HTTPS sono controllati separatamente dagli interruttori qui sotto; Ctrl/Cmd+clic li aggira sempre',
settingsBrowserHttpTitle: 'Apri le pagine HTTP nella barra laterale',
settingsBrowserHttpDesc: 'Se attivato, cliccando un collegamento HTTP esterno nella chat o nell’interfaccia si apre la barra laterale (le pagine dei plugin che dichiarano urlTarget vincono); Ctrl/Cmd+clic lo aggira sempre',
settingsBrowserHttpsTitle: 'Apri le pagine HTTPS nella barra laterale',
settingsBrowserHttpsDesc: 'Se attivato, cliccando un collegamento HTTPS esterno nella chat o nell’interfaccia si apre la barra laterale. Disattivato per impostazione predefinita: la maggior parte dei siti HTTPS rifiuta di essere incorporata, per cui il browser di sistema è l’impostazione più fluida',
browserOpenExternal: 'Apri nel browser',
browserEmbedBlocked: '{host} ha rifiutato di essere incorporato',
browserEmbedBlockedDesc: 'Il sito vieta di essere mostrato all’interno di altre pagine (X-Frame-Options / frame-ancestors), per cui non può essere caricato nella barra laterale. Lo apra direttamente nel browser.',
browserEmbedAnyway: 'Carica comunque',
subagent: 'Attività',
openSubagent: 'Attività',
subagentMainAgent: 'Agente principale',
subagentEmpty: 'Nessun sottoagente',
subagentEmptyDesc: 'I sottoagenti generati dall’agente principale compariranno qui',
subagentRunning: 'In esecuzione',
subagentInactive: 'Inattivo',
subagentModeOneShot: 'Monouso',
subagentModeContinuable: 'Proseguibile',
subagentCount: '{count} sottoagenti',
subagentCountRunning: '{count} sottoagenti · {running} in esecuzione',
subagentDiagCorrupt: 'Danneggiato',
subagentDiagUnsupported: 'Non supportato',
subagentDiagUnavailable: 'Non disponibile',
subagentThinking: 'In pensiero…',
sideChat: 'Chat laterale (beta)',
sideChatNew: 'Nuova conversazione',
sideChatUntitled: 'Nuova conversazione',
sideChatEmpty: 'Nessuna conversazione laterale',
sideChatEmptyDesc: 'Ogni conversazione laterale è una scheda a sé nella striscia delle schede — eredita il contesto della sessione attuale e non entra mai nella conversazione principale',
sideChatCreating: 'Creazione della conversazione laterale…',
sideChatRetry: 'Riprova',
sideChatThreads: 'Cambia conversazione / nuova',
sideChatSave: 'Salva come nuova sessione',
sideChatSaveTitle: 'Promuove questa conversazione a sessione di primo livello nella lista delle sessioni principali',
sideChatSaved: 'Salvata come nuova sessione',
sideChatNoTurn: 'Il salvataggio è disponibile dopo il primo turno completato',
sideChatPendingDrop: 'L’ultima domanda di follow-up senza risposta non sarà inclusa nella sessione salvata',
sideChatFirstPlaceholder: 'Ponga la prima domanda — contesto ereditato…',
sideChatComposerPlaceholder: 'Ponga un follow-up…',
sideChatThinking: 'Approfondimento…',
sideChatThink: 'Pensiero',
sideChatInjection: 'Contesto iniettato',
sideChatSend: 'Invia',
sideChatCancel: 'Arresta',
sideChatCancelTitle: 'Interrompe il turno in corso (il lavoro in coda è conservato)',
sideChatClose: 'Chiudi conversazione',
sideChatCloseTitle: 'Rilascia l’agente della conversazione (la cronologia è conservata)',
sideChatError: 'Errore della chat laterale: {message}',
jobs: 'Attività in background',
jobsCount: '{count} attività in background',
jobsCountRunning: '{count} attività in background · {running} in esecuzione',
jobStatusRunning: 'In esecuzione',
jobStatusStopping: 'Arresto in corso',
jobStatusCompleted: 'Completata',
jobStatusKilled: 'Terminata',
jobStatusFailed: 'Non riuscita',
jobDurationSeconds: '{seconds}s',
jobDurationMinutes: '{minutes}min {seconds}s',
jobDurationHours: '{hours}h {minutes}min',
jobViewOutput: 'Vedi output',
jobHideOutput: 'Nascondi output',
jobNoOutput: 'Nessun output per ora',
jobNotReadYet: 'In attesa che il modello legga questa attività; il suo output compare qui quando il modello esegue job_output',
jobOutputTruncated: 'Output troncato',
jobOutputError: 'Lettura dell’output non riuscita',
jobKill: 'Termina',
jobKillConfirm: 'Faccia di nuovo clic per confermare la terminazione',
jobKillError: 'Terminazione non riuscita',
addPluginsTabCard: 'Aggiungi plugin scheda',
addPluginsTabCardDesc: 'Registri una nuova pagina della barra laterale',
addPluginsViewerCard: 'Aggiungi plugin di anteprima',
addPluginsViewerCardDesc: 'Registri un’anteprima di tipo di file',
addPluginsTabDesc: 'Le pagine della barra laterale (schede) possono essere estese dai plugin. I plugin si registrano tramite il servizio ctx.betterSidebar; cliccando Installa viene copiato il comando di installazione — lo incolli in un terminale dove risiede il profilo DSH e lo esegua.',
addPluginsViewerDesc: 'I visualizzatori di file possono essere estesi dai plugin. I plugin si registrano tramite il servizio ctx.betterSidebar; cliccando Installa viene copiato il comando di installazione — lo incolli in un terminale dove risiede il profilo DSH e lo esegua.',
addPluginsBrowseMore: 'Sfogli altri plugin su GitHub (topic: dsh-better-sidebar)',
addPluginsSearch: 'Cerca per nome / descrizione del plugin…',
addPluginsNoMatch: 'Nessun plugin corrispondente',
addPluginsRecommended: 'Plugin consigliati',
addPluginsEmpty: 'Nessun plugin curato per ora — pubblichi il suo sotto il topic GitHub',
openPlugin: 'Apri',
copyInstall: 'Copia comando di installazione',
pluginOfficeDesc: 'Anteprima della suite Office (.docx / .xlsx / .pptx) per l’editor di better-sidebar, tenendo le pesanti librerie di rendering Office fuori dal bundle principale, installabili su richiesta',
pluginFlowglassDesc: 'Diagramma di flusso live della sessione con tre corsie per utente, assistente e chiamate agli strumenti, più gruppi paralleli, rami dei sottoagenti, drill-down e stato in tempo reale; registra una scheda nativa Flowglass quando better-sidebar è installato e mantiene il suo cassetto autonomo come fallback',
pluginGitForgeDesc: 'Scheda Git Forge: libreria di account GitHub/Gitea (e altri forge) + concessioni per progetto + blocco rigido della politica di push; i token restano nei segreti locali (mai nel contesto del modello); strumento GitForge in sola lettura e helper di credenziali HTTPS per l’agente',
pluginGitRemotesDesc: 'Scheda Git Remotes: rami/upstream/ahead-behind, fetch (prune opzionale), pull ff-only e push solo dopo una conferma nella scheda. Non sostituisce la scheda stage/commit integrata di Git, e non offre force-push o uno strumento di push automatico del modello',
pluginSentinelDesc: 'Sistema di risveglio dell’agente guidato da condizioni: sensori file/processo/porta/HTTP/comando/webhook risvegliano le sessioni dormienti quando le condizioni si verificano; registra una scheda «Sentinella» con la tabella di monitoraggio globale del server',
pluginSidebarQaDesc: 'Selezione e domanda: selezioni il testo della conversazione → ponga la domanda nel pannello a destra → una sessione di follow-up dedicata (❓ follow-up) nello stesso spazio di lavoro; un modello veloce senza pensiero comprime il contesto principale e lo inietta con la citazione, senza interrompere la conversazione principale. I follow-up si annidano, proseguono e si archiviano',
pluginSshTunnelDesc: 'Scheda SSH Tunnel: inventario multi-host + concessioni per progetto + chiavi locali; strumento SSHManager per il modello (exec/SFTP/strategie di sessione); terminale interattivo centrale e SFTP a due pannelli',
pluginTurnReviewDesc: 'Una porta umana sul diff del turno appena concluso: Approve / Request changes per percorso con un commento facoltativo; percorsi raggruppati per sessione principale / sottoagente / non attribuito; diff snapshot-vs-ora in linea prima di decidere. Nessun fork, nessun /rewind',
pluginVideoPreviewDesc: 'Anteprima video in linea nell’editor di better-sidebar (.mp4/.webm/.mov/.mkv/.avi ecc.), supportata da una route host /video dedicata con supporto HTTP Range (206) — la barra di scorrimento funziona e i file non sono limitati dal mediaLimit di 20MB',
pluginDocsPanelDesc: 'Documenti globali nella barra laterale di DSH: legga le sue note Markdown da qualsiasi spazio di lavoro — una lista di file, una struttura, apertura in Chrome / VS Code e pulsanti di copia; la directory dei documenti è configurabile (predefinita ~/.dsh/docs)',
}