- 数据层:直接折叠会话事件日志(tool/call + tool/result 对)提取文件操作,
与仓库「读事件日志而非动注册表」的取向一致;含错误文本捕获与
running 态实时更新(ctx.on('session/event'),不可见时暂停、恢复时追平)
- 视图:操作列表 + 底部可拖拽 diff 面板;行级 diff(删红/增绿/改蓝)+
行内字符级高亮;读取视图带真实行号;失败操作统一展示真实错误文本
- 语法着色:轻量分词器(关键字/字符串/数字/类型/函数/注释/预处理),
色相经 color-mix 落在 diff 三色之间的空档;跨行块注释状态按行序推导
- 单实例 tab,+ 菜单 order 55,角标显示操作数;设置页可整体关闭
(与独立维护的 dsh-file-trace 插件共存)
- i18n:10 个新 key 同步全部 21 个词典;builtins 测试 7→8;
README/指南内置清单同步
385 lines
30 KiB
TypeScript
385 lines
30 KiB
TypeScript
/**
|
||
* 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',
|
||
fileTrace: 'Tracciatura file',
|
||
fileTraceEmpty: 'Ancora nessuna operazione sui file in questa sessione',
|
||
fileTraceRead: 'Lettura',
|
||
fileTraceWrite: 'Scrittura',
|
||
fileTraceEdit: 'Modifica',
|
||
fileTraceRunning: 'in esecuzione',
|
||
fileTraceError: 'errore',
|
||
fileTraceFold: '{count} righe… clicca per espandere',
|
||
fileTraceContext: 'contesto',
|
||
fileTracePriorUnknown: 'Il contenuto precedente è fuori dalla finestra; mostrato come interamente aggiunto',
|
||
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',
|
||
moveToFreeWindow: 'Sposta in finestra libera',
|
||
floatDropHint: 'Rilascia per aprire in una finestra libera',
|
||
dockToSidebar: 'Torna alla barra laterale',
|
||
pinTerminal: 'Blocca Terminale',
|
||
pinAgentTerminal: 'Blocca Terminale Agent',
|
||
pinToWorkspace: 'Blocca in Workspace',
|
||
pinToGlobal: 'Blocca Globalmente',
|
||
unpinTerminal: 'Sblocca',
|
||
pinnedTerminalTooltip: '{kind} · {scope} · {cwd}',
|
||
pinnedTerminalKindUi: 'Terminale UI',
|
||
pinnedTerminalKindAgent: 'Terminale Agent',
|
||
pinnedTerminalScopeWorkspace: 'Bloccato in workspace',
|
||
pinnedTerminalScopeGlobal: 'Bloccato globalmente',
|
||
pinnedRailLabel: 'Terminali Bloccati',
|
||
closePinnedTerminal: 'Chiudi Terminale',
|
||
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',
|
||
toc: 'Indice',
|
||
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',
|
||
showInFolder: 'Mostra nella cartella',
|
||
refreshUnsavedConfirm: 'Il file è cambiato su disco. Aggiornare scarterà le modifiche non salvate. Continuare?',
|
||
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',
|
||
statusTruncated: 'Troppe modifiche; vengono mostrate solo le prime 2000 voci',
|
||
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',
|
||
worktree: 'Albero di lavoro',
|
||
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',
|
||
settingsOpenToolsTitle: 'Iniettare lo strumento di apertura della barra laterale per il modello',
|
||
settingsOpenToolsDesc: 'Se attivato, il modello può aprire file, cartelle e pagine HTTP(S) nella barra laterale tramite lo strumento sidebar_open (disattivato per impostazione predefinita)',
|
||
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)',
|
||
settingsFenceTitle: 'Controllo dei percorsi del workspace',
|
||
settingsFenceDesc: 'Attivo, le funzioni file della barra laterale raggiungono solo i percorsi nel workspace di sessione (predefinito); disattivo, ogni file dell\'host è raggiungibile — gli script della pagina ottengono la stessa portata nel frattempo',
|
||
fenceErrorReason: 'Questo percorso è fuori dal workspace di sessione ed è stato bloccato dal controllo',
|
||
fenceDisableAction: 'Disattiva il controllo del workspace',
|
||
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',
|
||
settingsBrowserLoopbackTitle: 'Indirizzi locali consentiti',
|
||
settingsBrowserLoopbackDesc: 'Allowlist separata da virgole di indirizzi di loopback (es. localhost:5174 o 127.0.0.1:8080) che il browser della barra laterale può visitare; vuoto blocca tutti gli indirizzi locali per impostazione predefinita. La sandbox si applica ancora — le pagine non possono leggere i dati della GUI',
|
||
settingsBrowserLoopbackPlaceholder: 'es. localhost:5174, 127.0.0.1:8080',
|
||
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',
|
||
pluginGithubWorkbenchDesc: 'Scheda GitHub Workbench: albero del repository remoto + Issues / Pull requests / Actions con pieno supporto in scrittura — creazione di issue/PR, commenti, modifica, chiusura/riapertura, merge squash·merge·rebase (conferma rafforzata), riavvio/annullamento della CI; il selettore dei repository elenca automaticamente quelli accessibili e cerca tra quelli pubblici; senza better-sidebar esegue il fallback a un pannello laterale destro indipendente',
|
||
pluginMdExportDesc: 'Aggiunge un pulsante «Esporta» alla barra degli strumenti Markdown di better-sidebar: con un clic esegue il rendering del .md corrente in HTML autonomo (tabelle/blocchi di codice/diagrammi Mermaid in linea, layout fedele al tema di anteprima) e lo salva accanto al .md, oppure esporta in PDF tramite la finestra di stampa',
|
||
pluginCodeNavDesc: 'Navigazione dell’anteprima del codice: rileva il linguaggio dal tipo di file ed evidenzia la sintassi, struttura dei simboli (filtri classi/metodi/variabili + salto con un clic) e ricerca nel file (tutte le corrispondenze evidenziate, precedente/successiva, maiuscole/minuscole) — gestisce l’anteprima dei file di codice nell’editor better-sidebar',
|
||
pluginSuhuangScrollDesc: 'Collega il Runtime Suhuang Scroll locale alle impostazioni DSH e a better-sidebar per configurare il modello, testare la connessione e controllare la correzione continua; richiede Suhuang Scroll Runtime e dsh-better-sidebar',
|
||
pluginBetterOverleafDesc: 'Tab Overleaf per better-sidebar: accesso diretto tramite browser CDP (supporta Chromium di terze parti), elenco/cambio progetti, mirror git locali in <workspace>/overleaf/, sincronizzazione git bidirezionale con fallback API di sola lettura e anteprima dei file tramite la workbench della barra laterale',
|
||
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',
|
||
pluginServerDeckDesc: 'Dashboard a schede dei server: una scheda per host con stato online, OS, uptime, utilizzo CPU/RAM/disco e latenza; clicca una scheda per aprire un terminale interattivo xterm.js; importazione del ~/.ssh/config con un clic (gli alias di hosting Git vengono saltati). Registra la scheda nativa «Server» quando better-sidebar è installato, altrimenti mantiene il pannello laterale autonomo',
|
||
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',
|
||
pluginSidenoteDesc: 'Side chat in stile Codex + annotazioni da selezione: esegui il fork della sessione corrente in un pannello laterale persistente (archiviata e nascosta dall’elenco delle sessioni, più istanze, comando /side, sopravvive al reload, il modello segue la sessione principale); seleziona il testo dell’assistant → badge numerato + editor di note → un chip "N annotazioni" che viaggia con il tuo prossimo messaggio, oppure chiedi direttamente in una side chat',
|
||
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)',
|
||
pluginEgoBrowserDesc: 'Il browser agente per DeepSeek Harness: 32 strumenti ego_* pilotano un vero Chromium; una scheda nativa «ego browser» nella barra laterale mostra in tempo reale ogni pagina visitata dall’agente — puoi cliccare, trascinare e digitare per prendere il controllo. Registra la scheda automaticamente se better-sidebar è presente, altrimenti una bolla flottante',
|
||
pluginBilingualReaderDesc: 'Leggi PDF nella barra laterale DSH: visualizzazione PDF nativa, seleziona il testo per tradurlo con l’LLM, con contesto e completamente isolato dalla conversazione principale',
|
||
}
|