- Bump 21 @deepseek-ai devDeps from 0.1.5-rc.2 → 0.2.0-rc.2 (dsh-code-runtime stays at 0.1.5-rc.2 — no 0.2.0-rc.2 published) - Fix sidechat-routes.ts: source.kind 'plugin' → 'user' (0.2.0-rc.2 removed 'plugin' from MessageSourceMap) - Remove unused SIDE_INJECTION_PLUGIN import - Fix test fixtures for 0.2.0-rc.2 stricter validation: - tool/result message role: 'user' → 'tool' - add toolCallId at message top level - assertion kind: 'plugin' → 'user' - Icon migration: Icon*14 → Icon*Regular, Icon*16 → Icon*Medium (19 files) - SideChatView API migration to 0.2.0-rc.2 - Add 4 new locale keys (sideChatBlockNoExitCode, codeLabel, wrapLabel, unwrapLabel) - intercept.tsx: guard against undefined matched in SidebarProducedFiles Verification: - pnpm run typecheck: PASS - pnpm run build: PASS - npx vitest run: 1015 passed | 0 failed | 9 skipped
449 lines
32 KiB
TypeScript
449 lines
32 KiB
TypeScript
export const pt: Record<string, string> = {
|
||
files: 'Arquivos',
|
||
guideDescFiles: 'Navegue pela árvore do workspace; um clique abre a pré-visualização ou a edição',
|
||
guideDescGit: 'Alterações do Git e edições desta sessão em um único separador',
|
||
guideDescSubagent: 'Topologia de subagentes e tarefas em segundo plano, ao vivo',
|
||
guideDescSidechat: 'Uma conversa paralela independente que herda o contexto desta sessão',
|
||
guideDescTerminal: 'Um shell real (xterm + pty) com reconexão',
|
||
guideDescBrowser: 'Navegador incorporado, que pode abrir links do chat',
|
||
changesSessionEmpty: 'Ainda sem operações de arquivo nesta sessão',
|
||
changesRead: 'Leitura',
|
||
changesMdReading: 'Leitura',
|
||
changesHtmlRender: "Renderizar",
|
||
changesHtmlRaw: "Fonte",
|
||
changesPdfRender: "Renderizar",
|
||
changesPdfRaw: "Fonte",
|
||
changesMdRaw: 'Bruto',
|
||
changesWrite: 'Escrita',
|
||
changesEdit: 'Edição',
|
||
changesRunning: 'em execução',
|
||
changesError: 'erro',
|
||
changesFold: '{count} linhas… clique para expandir',
|
||
changesFoldLoading: 'Expandindo…',
|
||
changesFoldUnavailable: 'Contexto indisponível',
|
||
changesContext: 'contexto',
|
||
changesPriorUnknown: 'O conteúdo anterior está fora da janela; mostrado como totalmente adicionado',
|
||
explorer: 'Explorador',
|
||
terminal: 'Terminal',
|
||
editor: 'Editor',
|
||
editorExplorer: 'Comportamento de abertura de arquivos',
|
||
editorExplorerDesc: 'Controla como os arquivos são abertos',
|
||
editorExplorerMerged: 'Mesclado',
|
||
editorExplorerMergedDesc: 'Arquivos alternam no mesmo lugar na mesma janela; novas janelas começam com a árvore de arquivos aberta',
|
||
editorExplorerSplit: 'Separado',
|
||
editorExplorerSplitDesc: 'Janelas sem caminho são o explorador independente (somente árvore de arquivos); cada arquivo abre sua própria janela (com árvore encaixada, fechada por padrão)',
|
||
editorTreeToggle: 'Painel da árvore de arquivos',
|
||
editorPathPlaceholder: 'Caminho do arquivo (relativo ao diretório da sessão ou absoluto), Enter para abrir',
|
||
editorSearchPlaceholder: 'Pesquisar arquivos por nome…',
|
||
editorSearchNoResults: 'Nenhum arquivo correspondente',
|
||
editorSearchTruncated: 'Resultados demais — exibindo lista parcial',
|
||
editorEmptyHint: 'Escolha um arquivo na árvore do painel ou no campo de caminho acima para começar a pré-visualizar',
|
||
openFileNewTab: 'Abrir em nova aba',
|
||
openFileSide: 'Abrir ao lado',
|
||
openWithMenu: 'Abrir com',
|
||
openWithSshSuffix: ' (SSH)',
|
||
pinOpenWith: 'Fixar no menu',
|
||
unpinOpenWith: 'Desafixar',
|
||
openWithExplorer: 'Gerenciador de arquivos',
|
||
openWithVscode: 'VS Code',
|
||
openWithCursor: 'Cursor',
|
||
openWithZed: 'Zed',
|
||
openWithSettingsSshTitle: 'Host remoto SSH',
|
||
openWithSettingsSshDesc: 'Vazio = workspace local; com user@host ou um alias SSH, os abridores da família VSCode passam a usar o protocolo vscode-remote/ssh-remote e o Gerenciador de arquivos / Zed / editores personalizados fora da família VSCode ficam ocultos do menu',
|
||
openWithSettingsSshPlaceholder: 'user@host ou alias SSH',
|
||
openWithSettingsCustomTitle: 'Editores personalizados',
|
||
openWithSettingsCustomDesc: 'Nome + modelo de URL (espaço reservado {path}) + sinalizador de família VSCode; no modo remoto, apenas editores da família VSCode podem abrir um caminho remoto',
|
||
openWithSettingsAdd: 'Adicionar',
|
||
openWithSettingsName: 'Nome',
|
||
openWithSettingsTemplate: 'ex.: cursor://file/{path}',
|
||
openWithSettingsFamily: 'Família VSCode',
|
||
openWithSettingsFamilyDesc: 'Este editor fala o dialeto de URL do VSCode (suporta aberturas SSH remotas)',
|
||
openWithSettingsRemove: 'Remover',
|
||
openWithSettingsInvalidHint: 'Editores com nome ausente ou modelo sem {path} / scheme:// não aparecem no menu',
|
||
newTab: 'Nova aba',
|
||
openExplorer: 'Explorador',
|
||
brokenSymlink: 'Symlink quebrado',
|
||
openGit: 'Painel Git',
|
||
newTerminal: 'Novo terminal',
|
||
terminalLimit: 'Limite de terminais atingido (3)',
|
||
close: 'Fechar',
|
||
closeOtherTabs: 'Fechar outras abas',
|
||
closeLeftTabs: 'Fechar abas à esquerda',
|
||
closeRightTabs: 'Fechar abas à direita',
|
||
floatDropHint: 'Solte para abrir em uma janela flutuante',
|
||
dockToSidebar: 'Voltar para a barra lateral',
|
||
pinTerminal: 'Fixar Terminal',
|
||
pinAgentTerminal: 'Fixar Terminal do Agent',
|
||
pinToWorkspace: 'Fixar no Workspace',
|
||
pinToGlobal: 'Fixar Globalmente',
|
||
unpinTerminal: 'Desafixar',
|
||
pinnedTerminalTooltip: '{kind} · {scope} · {cwd}',
|
||
pinnedTerminalKindUi: 'Terminal de UI',
|
||
pinnedTerminalKindAgent: 'Terminal do Agent',
|
||
pinnedTerminalScopeWorkspace: 'Fixado no workspace',
|
||
pinnedTerminalScopeGlobal: 'Fixado globalmente',
|
||
pinnedRailLabel: 'Terminais Fixados',
|
||
closePinnedTerminal: 'Fechar Terminal',
|
||
collapseBottomPanel: 'Recolher painel inferior',
|
||
expandBottomPanel: 'Expandir painel inferior',
|
||
terminalError: 'Falha na conexão do terminal',
|
||
terminalConnectFailed: 'O terminal falhou ao conectar repetidamente',
|
||
terminalRetry: 'Tentar novamente',
|
||
terminalWaitBanner: 'O agente está aguardando {needle}',
|
||
terminalSkipWait: 'Pular espera',
|
||
terminalDepsFailed: 'A dependência do terminal node-pty falhou ao carregar',
|
||
terminalDepsHint: 'Execute o comando abaixo em um terminal ou cmd na máquina do DSH para reparar e tente novamente (node-pty permanece em sincronia com a versão do núcleo do DSH):',
|
||
terminalDepsProfile: ' (perfil detectado: {profile})',
|
||
terminalShellNotFound: 'Shell configurado não encontrado: {name} — verifique o caminho do shell em Configurações → Side card → Terminal',
|
||
preview: 'Pré-visualizar',
|
||
toc: 'Sumário',
|
||
edit: 'Editar',
|
||
mermaidError: 'Falha ao renderizar o Mermaid',
|
||
mermaidZoomIn: 'Ampliar',
|
||
mermaidZoomOut: 'Reduzir',
|
||
mermaidZoomReset: 'Redefinir',
|
||
mermaidZoomHint: 'Rolar para ampliar · arrastar para mover · Esc para fechar',
|
||
refresh: 'Atualizar',
|
||
showInFolder: 'Mostrar na pasta',
|
||
refreshUnsavedConfirm: 'O arquivo mudou no disco. Atualizar descartará edições não salvas. Continuar?',
|
||
save: 'Salvar',
|
||
saved: 'Salvo',
|
||
unsaved: 'Não salvo',
|
||
saveFailed: 'Falha ao salvar',
|
||
truncation: 'Arquivo grande demais — exibindo os primeiros 512KB',
|
||
binary: 'Arquivo binário, pré-visualização indisponível',
|
||
loading: 'Carregando…',
|
||
error: 'Falha ao carregar',
|
||
retry: 'Tentar novamente',
|
||
splitLeft: 'Dividir à esquerda',
|
||
splitRight: 'Dividir à direita',
|
||
splitUp: 'Dividir acima',
|
||
splitDown: 'Dividir abaixo',
|
||
notRepo: 'Este diretório não é um repositório git',
|
||
noChanges: 'Sem alterações',
|
||
statusTruncated: 'Muitas alterações; exibindo apenas as primeiras 2000 entradas',
|
||
stage: 'Preparar (stage)',
|
||
unstage: 'Desfazer stage',
|
||
stageAll: 'Preparar tudo',
|
||
unstageAll: 'Desfazer stage de tudo',
|
||
commitPlaceholder: 'Mensagem de commit (Ctrl+Enter)',
|
||
commit: 'Commit',
|
||
commitError: 'Falha no commit',
|
||
branch: 'Branch',
|
||
worktree: 'Worktree',
|
||
checkoutError: 'Falha ao alternar de branch',
|
||
history: 'Histórico',
|
||
changes: 'Alterações',
|
||
changesGitLens: 'Git',
|
||
changesSessionLens: 'Sessão',
|
||
changesFilterAll: 'Tudo',
|
||
changesFilterEmpty: 'Nenhuma operação deste tipo',
|
||
changesOpenDiffTab: 'Abrir em uma aba de diff',
|
||
changesClosePreview: 'Fechar prévia',
|
||
changesResizePreview: 'Ajustar altura da prévia',
|
||
changesLoadError: 'Os registros de arquivos da sessão estão indisponíveis no momento',
|
||
staged: 'Preparadas',
|
||
unstaged: 'Não preparadas',
|
||
cancel: 'Cancelar',
|
||
diffEmpty: 'Sem alterações de texto',
|
||
diffLoadError: 'Falha ao carregar o diff',
|
||
diffBinary: 'Binário',
|
||
diffAdded: 'Adicionado',
|
||
diffDeleted: 'Excluído',
|
||
diffRenamed: 'Renomeado',
|
||
diffExpand: 'Expandir mais {count} linhas',
|
||
diffCollapse: 'Recolher',
|
||
discard: 'Descartar alterações',
|
||
discardTitle: 'Descartar alterações',
|
||
discardDesc: 'Isso descarta as alterações do diretório de trabalho de "{path}" (não recuperável).',
|
||
viewCommitDiff: 'Ver diff do commit',
|
||
copyShortHash: 'Copiar hash curto',
|
||
copyFullHash: 'Copiar hash completo',
|
||
copySubject: 'Copiar assunto',
|
||
revertCommit: 'Reverter commit',
|
||
revertTitle: 'Reverter commit',
|
||
revertDesc: 'Crie um novo commit no branch atual que reverte "{subject}".',
|
||
cherryPickCommit: 'Cherry-pick deste commit',
|
||
cherryPickTitle: 'Cherry-pick deste commit',
|
||
cherryPickDesc: 'Aplicar as alterações de "{subject}" ao branch atual.',
|
||
timeJustNow: 'agora mesmo',
|
||
timeMinutesAgo: 'há {n} min',
|
||
timeHoursAgo: 'há {n} h',
|
||
timeYesterday: 'ontem',
|
||
loadMore: 'Carregar mais',
|
||
historyLoadError: 'Falha ao carregar mais histórico',
|
||
produced: 'Produzidos',
|
||
producedOpen: 'Abrir na barra lateral',
|
||
disconnected: 'Terminal desconectado, reconectando…',
|
||
exited: 'O processo do terminal saiu',
|
||
noSession: 'Selecione uma conversa para usar a barra lateral',
|
||
pluginNotLoaded: 'Plugin não carregado; aba indisponível:',
|
||
hiddenFiles: 'Arquivos ocultos',
|
||
parent: 'Diretório pai',
|
||
copied: 'Copiado',
|
||
copy: 'Copiar',
|
||
newFile: 'Novo arquivo',
|
||
openEditor: 'Abrir editor',
|
||
gitDetail: 'Ver detalhes das alterações',
|
||
referenceFile: '@arquivo',
|
||
addToConversation: 'Adicionar à conversa',
|
||
copyRelative: 'Copiar caminho relativo',
|
||
copyAbsolute: 'Copiar caminho absoluto',
|
||
rename: 'Renomear',
|
||
renameInvalid: 'O nome não pode ser vazio nem conter separadores de caminho.',
|
||
delete: 'Excluir',
|
||
deleteTitle: 'Excluir "{name}"?',
|
||
deleteDescFile: 'Isso exclui o arquivo permanentemente. Esta ação não pode ser desfeita.',
|
||
deleteDescDir: 'Isso exclui o diretório e todo o seu conteúdo permanentemente. Esta ação não pode ser desfeita.',
|
||
dismiss: 'Fechar',
|
||
download: 'Baixar',
|
||
uploadFiles: 'Enviar arquivos',
|
||
uploadFolder: 'Enviar pasta',
|
||
uploadHere: 'Enviar aqui',
|
||
uploadDropHint: 'Solte arquivos/pastas aqui para enviar',
|
||
uploadDropChat: 'Solte no chat para adicionar imagens',
|
||
uploadTo: 'Enviar para {dir}',
|
||
uploadingTo: 'Enviando para {dir}…',
|
||
uploadProgress: 'Enviando {done}/{total}: {name}',
|
||
uploadDone: '{count} arquivo(s) enviado(s)',
|
||
uploadFailed: 'Falha no envio: {error}',
|
||
uploadFailedUnknown: 'Erro desconhecido',
|
||
uploadTooLarge: 'Arquivo grande demais (acima do limite de envio)',
|
||
uploadCancelled: 'Envio cancelado',
|
||
settingsNav: 'Cartão lateral',
|
||
settingsIntro: 'Gerencie o que o cartão lateral mostra e como ele se comporta',
|
||
settingsPopupDesc: 'Configurar opções relacionadas para {feature}',
|
||
settingsDone: 'Concluído',
|
||
settingsOpenToolsTitle: 'Injetar a ferramenta de abertura na barra lateral para o modelo',
|
||
settingsOpenToolsDesc: 'Quando ativado, o modelo pode abrir arquivos, pastas e páginas HTTP(S) na barra lateral pela ferramenta sidebar_open (desativado por padrão)',
|
||
settingsTitleBarTitle: 'Modo de compatibilidade de posição',
|
||
settingsTitleBarDesc: 'Escolha o esquema de compatibilidade da barra de título: detecção automática (padrão, conservador) / web oficial do DSH / shells de desktop conhecidos / personalizado (distância de deslocamento + CSS personalizado)',
|
||
settingsTitleBarStripTitle: 'Distância de deslocamento',
|
||
settingsTitleBarStripDesc: 'Altura da faixa da barra de título: quantos pixels os botões e o conteúdo da barra lateral descem (0–120, padrão 40; aplica-se no esquema personalizado)',
|
||
settingsSchemeAutoTitle: 'Detecção automática',
|
||
settingsSchemeAutoDesc: 'Conservador: somente a API padrão Window Controls Overlay contribui (altura real da sobreposição de título); ambientes web comuns não recebem nenhuma modificação',
|
||
settingsSchemeWebTitle: 'Web oficial do DSH',
|
||
settingsSchemeWebDesc: 'Declare explicitamente a interface web oficial: nenhuma adaptação (nem mesmo a geometria padrão do WCO)',
|
||
settingsSchemeCustomTitle: 'Personalizado',
|
||
settingsSchemeCustomDesc: 'Controle total: injete CSS personalizado (pode sobrescrever estilos internos) e defina a distância de deslocamento da barra de título',
|
||
settingsSchemeDetectedSuffix: 'detectado',
|
||
settingsCustomCssTitle: 'CSS personalizado',
|
||
settingsCustomCssDesc: 'Estilos anexados ao final da página (quem vem depois vence em empate de cascata; use !important para sobrescrever variáveis inline escritas por JS)',
|
||
settingsCustomCssPlaceholder: '/* ex.: reserve 36px para um shell com barra de título desenhada por conta própria */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
|
||
settingsSaveFailed: 'Falha ao salvar',
|
||
settingsConflict: 'A configuração foi alterada em outra janela — tente novamente',
|
||
binaryNoPreview: 'Este tipo de arquivo não pode ser pré-visualizado',
|
||
downloadToView: 'Baixar para ver',
|
||
settingsSubagentTitle: 'Ativar automaticamente a página de Tarefas quando um subagente aparecer',
|
||
settingsSubagentDesc: 'Ativar a página de Tarefas quando a conversa atual gerar um novo subagente; em telas largas, expandir também o cartão lateral; em telas estreitas, não forçar a abertura da gaveta em tela cheia; desative para abri-la manualmente',
|
||
settingsJobsTitle: 'Ativar automaticamente a página de Tarefas quando houver uma nova tarefa em segundo plano',
|
||
settingsJobsDesc: 'Ativar a página de Tarefas sempre que uma nova tarefa em segundo plano aparecer na conversa atual (cada nova tarefa aciona a ativação); em telas largas, expandir também o cartão lateral; em telas estreitas, não forçar a abertura da gaveta em tela cheia; desative para abri-la manualmente',
|
||
settingsToolsTitle: 'Injetar ferramentas de terminal para o modelo',
|
||
settingsToolsDesc: 'Quando ativado, o modelo pode criar e operar terminais da barra lateral por meio das 8 ferramentas terminal_* (desativado por padrão)',
|
||
settingsFenceTitle: 'Controle de caminhos do workspace',
|
||
settingsFenceDesc: 'Ativado, os recursos de arquivos da barra lateral só alcançam caminhos dentro do workspace da sessão (padrão); desativado, arquivos de todo o host ficam acessíveis — scripts da página ganham o mesmo alcance enquanto isso',
|
||
fenceErrorReason: 'Este caminho está fora do workspace da sessão e foi bloqueado pelo controle',
|
||
fenceDisableAction: 'Desativar o controle do workspace',
|
||
settingsBottomTerminalTitle: 'Abrir um terminal automaticamente na primeira expansão do painel inferior',
|
||
settingsBottomTerminalDesc: 'Quando o painel inferior for expandido pela primeira vez em uma sessão, tente abrir uma nova aba de terminal lá (a cota de terminais ainda se aplica; ativado por padrão)',
|
||
settingsFontFamilyTitle: 'Família de fonte do terminal',
|
||
settingsFontFamilyDesc: 'Família de fonte personalizada do terminal (uma pilha CSS font-family como "JetBrains Mono", monospace; deixe vazio para seguir a fonte monoespaçada do tema)',
|
||
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
|
||
settingsFontSizeTitle: 'Tamanho da fonte do terminal',
|
||
settingsFontSizeDesc: 'Tamanho da fonte do terminal em px (9–32, padrão 13)',
|
||
settingsFontSizeSuffix: 'px',
|
||
settingsShellTitle: 'Caminho do shell',
|
||
settingsShellDesc: 'Shell iniciado para terminais de UI e do modelo (caminho absoluto ou executável puro). Vazio mantém a ordem legada: config.shell do yaml → $SHELL / shell de login / powershell.exe no Windows. Aplica-se aos terminais abertos depois',
|
||
settingsShellPlaceholder: 'ex.: /bin/zsh (vazio = automático)',
|
||
settingsShellArgsTitle: 'Argumentos do shell',
|
||
settingsShellArgsDesc: 'Argumentos explícitos do shell, separados por espaço; quando não vazios, substituem totalmente os padrões (mesmo contrato do shellArgs do yaml)',
|
||
settingsShellArgsPlaceholder: 'ex.: -l (vazio = padrões)',
|
||
settingsTabsTitle: 'Conteúdo da barra lateral',
|
||
settingsViewersTitle: 'Visualizadores de arquivos',
|
||
settingsGeneralTitle: 'Geral',
|
||
settingsPopup: 'Configurações do recurso',
|
||
settingsViewerCatchAll: 'Curinga: qualquer arquivo',
|
||
viewerImage: 'Imagem',
|
||
viewerPdf: 'PDF',
|
||
viewerMarkdown: 'Markdown',
|
||
viewerCode: 'Código',
|
||
viewerBinary: 'Download binário',
|
||
viewerHtml: 'HTML',
|
||
browser: 'Navegador',
|
||
browserPlaceholder: 'Digite uma URL, ex.: example.com',
|
||
browserGo: 'Ir',
|
||
browserBack: 'Voltar',
|
||
browserForward: 'Avançar',
|
||
browserStart: 'Digite uma URL para começar a navegar (modo sandbox)',
|
||
browserBlockedScheme: 'Bloqueado: apenas URLs http/https são permitidas',
|
||
browserBlockedLoopback: 'Bloqueado: endereços locais e internos não podem ser navegados aqui',
|
||
browserInvalid: 'URL inválida',
|
||
browserNoSandboxWarning: 'Sandbox desativado: a página atual roda com privilégios completos da interface (reative nas configurações)',
|
||
htmlNoSandboxWarning: 'Sandbox desativado: este HTML roda com privilégios completos da interface (reative nas configurações)',
|
||
sandboxStatusOn: 'Modo sandbox: ativado · as páginas não podem acessar os dados da interface nem arquivos locais; logins e cookies de terceiros podem não funcionar',
|
||
sandboxUnlock: 'Desativar temporariamente (inseguro)',
|
||
sandboxRestore: 'Restaurar sandbox',
|
||
settingsHtmlDefaultUnsafeTitle: 'Abrir pré-visualizações de HTML sem sandbox por padrão (inseguro)',
|
||
settingsHtmlDefaultUnsafeDesc: 'Quando ativado, toda pré-visualização de HTML recém-aberta começa sem sandbox (mesma origem da interface — pode ler arquivos de sessão e APIs internas); a linha de status ainda oferece restauração em um toque',
|
||
settingsHtmlSandboxTitle: 'Desativar o sandbox da pré-visualização de HTML (inseguro)',
|
||
settingsHtmlSandboxDesc: 'Com o sandbox desativado, o HTML pré-visualizado roda com a mesma origem da interface: pode ler arquivos de sessão, armazenamento local e chamar APIs internas. Ative apenas para arquivos totalmente confiáveis',
|
||
settingsBrowserSandboxTitle: 'Desativar o sandbox do navegador (inseguro)',
|
||
settingsBrowserSandboxDesc: 'Com o sandbox desativado, qualquer site visitado roda com a mesma origem da interface: pode ler dados da sessão e agir como sua sessão conectada. Ative apenas para sites totalmente confiáveis',
|
||
settingsBrowserLinksTitle: 'Abrir links externos do chat na barra lateral',
|
||
settingsBrowserLinksDesc: 'Quando ativado, clicar em um link externo no chat ou na interface abre na barra lateral em vez de uma nova janela; HTTP e HTTPS são controlados separadamente pelos interruptores abaixo; Ctrl/Cmd+clique sempre ignora',
|
||
settingsBrowserHttpTitle: 'Abrir páginas HTTP na barra lateral',
|
||
settingsBrowserHttpDesc: 'Quando ativado, clicar em um link externo HTTP no chat ou na interface abre na barra lateral (páginas de plugins que declaram urlTarget vencem); Ctrl/Cmd+clique sempre ignora',
|
||
settingsBrowserHttpsTitle: 'Abrir páginas HTTPS na barra lateral',
|
||
settingsBrowserHttpsDesc: 'Quando ativado, clicar em um link externo HTTPS no chat ou na interface abre na barra lateral. Desativado por padrão: a maioria dos sites HTTPS se recusa a ser incorporada, então o navegador do sistema é o padrão mais suave',
|
||
settingsBrowserLoopbackTitle: 'Endereços locais permitidos',
|
||
settingsBrowserLoopbackDesc: 'Lista de permissões separada por vírgulas de endereços de loopback (ex. localhost:5174 ou 127.0.0.1:8080) que o navegador da barra lateral pode visitar; vazio bloqueia todos os endereços locais por padrão. A sandbox ainda se aplica — as páginas não podem ler dados da GUI',
|
||
settingsBrowserLoopbackPlaceholder: 'ex. localhost:5174, 127.0.0.1:8080',
|
||
browserOpenExternal: 'Abrir no navegador',
|
||
browserEmbedBlocked: '{host} se recusou a ser incorporado',
|
||
browserEmbedBlockedDesc: 'O site proíbe ser exibido dentro de outras páginas (X-Frame-Options / frame-ancestors), então não pode carregar na barra lateral. Abra-o diretamente no navegador.',
|
||
browserEmbedAnyway: 'Carregar mesmo assim',
|
||
subagent: 'Tarefas',
|
||
openSubagent: 'Tarefas',
|
||
subagentMainAgent: 'Agente principal',
|
||
subagentEmpty: 'Nenhum subagente',
|
||
subagentEmptyDesc: 'Subagentes gerados sob o agente principal aparecerão aqui',
|
||
subagentRunning: 'Executando',
|
||
subagentInactive: 'Inativo',
|
||
subagentModeOneShot: 'De uso único',
|
||
subagentModeContinuable: 'Continuável',
|
||
subagentCount: '{count} subagentes',
|
||
subagentCountRunning: '{count} subagentes · {running} executando',
|
||
subagentDiagCorrupt: 'Corrompido',
|
||
subagentDiagUnsupported: 'Não suportado',
|
||
subagentDiagUnavailable: 'Indisponível',
|
||
subagentThinking: 'Pensando…',
|
||
sideChat: 'Chat lateral (beta)',
|
||
sideChatNew: 'Novo tópico',
|
||
sideChatUntitled: 'Novo tópico',
|
||
sideChatEmpty: 'Nenhuma conversa lateral',
|
||
sideChatEmptyDesc: 'Cada conversa lateral é uma aba própria na faixa de abas — ela herda o contexto da sessão atual e nunca entra na conversa principal',
|
||
sideChatCreating: 'Criando conversa lateral…',
|
||
sideChatRetry: 'Tentar novamente',
|
||
sideChatThreads: 'Alternar tópico / novo',
|
||
sideChatSave: 'Salvar como nova sessão',
|
||
sideChatSaveTitle: 'Promover este tópico a uma sessão de nível superior na lista principal de sessões',
|
||
sideChatSaved: 'Salvo como nova sessão',
|
||
sideChatNoTurn: 'O salvamento está disponível após o primeiro turno concluído',
|
||
sideChatPendingDrop: 'A última pergunta não respondida não será incluída na sessão salva',
|
||
sideChatFirstPlaceholder: 'Faça a primeira pergunta — contexto herdado…',
|
||
sideChatComposerPlaceholder: 'Fazer uma pergunta de acompanhamento…',
|
||
sideChatThinking: 'Mergulhando fundo…',
|
||
sideChatThink: 'Pensamento',
|
||
sideChatInjection: 'Contexto injetado',
|
||
sideChatSend: 'Enviar',
|
||
sideChatCancel: 'Parar',
|
||
sideChatCancelTitle: 'Abortar o turno em execução (o trabalho na fila é mantido)',
|
||
sideChatClose: 'Fechar tópico',
|
||
sideChatCloseTitle: 'Liberar o agente do tópico (o histórico é mantido)',
|
||
sideChatError: 'Erro no chat lateral: {message}',
|
||
sideChatTurnUsage: 'Entrada {input} tok · Saída {output} tok',
|
||
sideChatBlockCollapse: 'Recolher',
|
||
sideChatBlockCollapseAria: 'Recolher',
|
||
sideChatBlockExpand: 'Expandir {hidden} linhas',
|
||
sideChatBlockExpandAria: 'Expandir mais {hidden} linhas',
|
||
sideChatBlockSignal: 'Encerrado por sinal: {signal}',
|
||
sideChatBlockExitCode: 'Código de saída {code}',
|
||
sideChatBlockRunning: 'Em execução',
|
||
sideChatBlockFailed: 'Falhou',
|
||
sideChatBlockDone: 'Concluído',
|
||
sideChatBlockNoExitCode: '(no exit code)',
|
||
|
||
codeLabel: 'Code',
|
||
|
||
wrapLabel: 'Wrap',
|
||
|
||
unwrapLabel: 'Unwrap',
|
||
|
||
sideChatBlockNoOutput: '(sem saída)',
|
||
sideChatBlockFiles: '{count} arquivos',
|
||
sideChatBlockWindow: '{shown} de {total} linhas',
|
||
sideChatConnDisconnected: 'Conexão perdida',
|
||
sideChatConnReconnect: 'Reconectar',
|
||
sideChatConnConnecting: 'Reconectando…',
|
||
sideChatConnRecovered: 'Conexão restabelecida',
|
||
sideChatConnReconnectAction: 'Reconectar agora',
|
||
sideChatConnRestartAction: 'Reiniciar conexão',
|
||
jobs: 'Tarefas em segundo plano',
|
||
jobsCount: '{count} tarefas em segundo plano',
|
||
jobsCountRunning: '{count} tarefas em segundo plano · {running} executando',
|
||
jobStatusRunning: 'Executando',
|
||
jobStatusStopping: 'Parando',
|
||
jobStatusCompleted: 'Concluída',
|
||
jobStatusKilled: 'Encerrada',
|
||
jobStatusFailed: 'Falhou',
|
||
jobDurationSeconds: '{seconds}s',
|
||
jobDurationMinutes: '{minutes}m {seconds}s',
|
||
jobDurationHours: '{hours}h {minutes}m',
|
||
jobViewOutput: 'Ver saída',
|
||
jobHideOutput: 'Ocultar saída',
|
||
jobNoOutput: 'Sem saída ainda',
|
||
jobNotReadYet: 'Aguardando o modelo ler esta tarefa; a saída aparece aqui quando o modelo executa job_output',
|
||
jobOutputTruncated: 'Saída truncada',
|
||
jobOutputError: 'Falha ao ler a saída',
|
||
jobKill: 'Encerrar',
|
||
jobKillConfirm: 'Clique novamente para confirmar o encerramento',
|
||
jobKillError: 'Falha ao encerrar',
|
||
addPluginsTabCard: 'Adicionar plugins de aba',
|
||
addPluginsTabCardDesc: 'Registrar uma nova página da barra lateral',
|
||
addPluginsViewerCard: 'Adicionar plugins de pré-visualização',
|
||
addPluginsViewerCardDesc: 'Registrar uma pré-visualização de tipo de arquivo',
|
||
addPluginsTabDesc: 'As páginas da barra lateral (abas) podem ser estendidas por plugins. Os plugins registram pelo serviço ctx.betterSidebar; clicar em Instalar copia o comando de instalação — cole-o em um terminal onde seu perfil do DSH vive e execute.',
|
||
addPluginsViewerDesc: 'Os visualizadores de arquivos podem ser estendidos por plugins. Os plugins registram pelo serviço ctx.betterSidebar; clicar em Instalar copia o comando de instalação — cole-o em um terminal onde seu perfil do DSH vive e execute.',
|
||
addPluginsBrowseMore: 'Navegue por mais plugins no GitHub (topic: dsh-apes-sidebar)',
|
||
addPluginsSearch: 'Pesquisar por nome ou descrição do plugin…',
|
||
addPluginsNoMatch: 'Nenhum plugin corresponde',
|
||
addPluginsRecommended: 'Plugins recomendados',
|
||
addPluginsEmpty: 'Nenhum plugin selecionado ainda — publique o seu sob o topic do GitHub',
|
||
openPlugin: 'Abrir',
|
||
copyInstall: 'Copiar comando de instalação',
|
||
pluginOfficeDesc: 'Pré-visualização do pacote Office (.docx / .xlsx / .pptx) para o editor do better-sidebar, mantendo as bibliotecas pesadas de renderização do Office fora do bundle principal',
|
||
pluginFlowglassDesc: 'Fluxograma de sessão ao vivo com três faixas para usuário, assistente e chamadas de ferramenta, além de grupos paralelos, ramos de subagentes, drill-down e status ao vivo; registra uma aba nativa "Fluxograma" quando o better-sidebar está instalado e mantém a gaveta independente como fallback',
|
||
pluginGitForgeDesc: 'Aba Git Forge: biblioteca de contas GitHub/Gitea (e outras forges) + concessões por projeto + política rígida de push; os tokens ficam em secrets locais (nunca no contexto do modelo); ferramenta GitForge somente leitura e helper de credenciais HTTPS do agente',
|
||
pluginGithubWorkbenchDesc: 'Aba GitHub Workbench: árvore do repositório remoto + Issues / Pull requests / Actions com suporte completo de escrita — criar Issue/PR, comentar, editar, fechar/reabrir, merge squash·merge·rebase (confirmação reforçada), reexecutar/cancelar CI; o seletor de repositórios lista automaticamente os repositórios acessíveis e busca nos públicos; sem better-sidebar, faz fallback para um painel lateral direito independente',
|
||
pluginMdExportDesc: 'Adiciona um botão «Exportar» à barra de ferramentas do Markdown no better-sidebar: com um clique, renderiza o .md atual em HTML autônomo (tabelas/blocos de código/diagramas Mermaid embutidos, layout seguindo o tema de pré-visualização) e salva na mesma pasta, ou exporta para PDF pela caixa de impressão',
|
||
pluginCodeNavDesc: 'Navegação de pré-visualização de código: detecta a linguagem pelo tipo de arquivo e destaca a sintaxe, contorno de símbolos (filtros de classes/métodos/variáveis + salto em um clique) e busca no arquivo (todas as ocorrências destacadas, anterior/próxima, diferenciando maiúsculas) — assume a pré-visualização de arquivos de código no editor do better-sidebar',
|
||
pluginSuhuangScrollDesc: 'Conecta o Suhuang Scroll Runtime local às configurações do DSH e ao better-sidebar para configurar o modelo, testar a conexão e controlar a correção contínua; requer Suhuang Scroll Runtime e dsh-apes-sidebar',
|
||
pluginBetterOverleafDesc: 'Aba Overleaf para better-sidebar: login direto pelo navegador via CDP (compatível com Chromium de terceiros), lista/troca de projetos, espelhos git locais em <workspace>/overleaf/, sincronização git bidirecional com fallback de API somente leitura e pré-visualização de arquivos pela bancada da barra lateral',
|
||
pluginGitRemotesDesc: 'Aba de remotos Git: branch/upstream/ahead-behind, fetch (prune opcional), pull ff-only e push apenas após confirmar na aba. Não substitui a aba interna de stage/commit do Git e não oferece force-push nem push automático pelo modelo',
|
||
pluginSentinelDesc: 'Despertar de agentes dirigido por condições: sensores de arquivo/processo/porta/HTTP/comando/webhook acordam sessões adormecidas quando as condições disparam; registra uma aba "Sentinelas" com a tabela de monitoramento global do servidor',
|
||
pluginServerDeckDesc: 'Painel de cartões de servidores: um cartão por host com status online, SO, tempo de atividade, uso de CPU/memória/disco e latência; clique num cartão para abrir um terminal xterm.js interativo; importação do ~/.ssh/config em um clique (aliases de hospedagem Git são ignorados). Registra a aba nativa «Servidores» quando o better-sidebar está instalado; caso contrário, mantém a gaveta lateral independente',
|
||
pluginSidebarQaDesc: 'Selecionar e perguntar: selecione o texto da conversa → pergunte no painel à direita → uma sessão de acompanhamento dedicada (❓acompanhamento) no mesmo workspace; um modelo rápido sem pensamento comprime o contexto principal e o injeta com a citação, sem interromper a conversa principal. Acompanhamentos aninham, continuam e arquivam',
|
||
pluginSidenoteDesc: 'Side chat estilo Codex + anotações de seleção: faça fork da sessão atual para um painel lateral persistente (arquivada fora da lista de sessões, várias instâncias, comando /side, sobrevive ao reload, o modelo segue a sessão principal); selecione o texto do assistant → badge numerado + editor de notas → um chip "N anotações" que acompanha a próxima mensagem, ou pergunte direto no side chat',
|
||
pluginSshTunnelDesc: 'Aba de túnel SSH: inventário de múltiplos hosts + concessões por projeto + chaves locais; ferramenta SSHManager (exec/SFTP/estratégias de sessão); terminal interativo central e SFTP de dois painéis',
|
||
pluginTurnReviewDesc: 'Um portão humano no diff do turno recém-terminado: Approve / Request changes por caminho com comentário opcional; caminhos agrupados por sessão principal / subagente / não atribuído; diff inline de snapshot-vs-atual antes de decidir. Sem fork, sem /rewind',
|
||
pluginVideoPreviewDesc: 'Pré-visualização inline de vídeo (.mp4/.webm/.mov/.mkv/.avi etc.) para o editor do better-sidebar, respaldada por uma rota de host /video dedicada com suporte a HTTP Range (206) — a barra de progresso funciona e os arquivos não são limitados pelo mediaLimit de 20MB',
|
||
pluginDocsPanelDesc: 'Documentos globais na barra lateral do DSH: leia suas próprias notas Markdown de qualquer workspace — uma lista de arquivos, um sumário, abrir no Chrome / VS Code e botões de copiar; o diretório de documentos é configurável (padrão ~/.dsh/docs)',
|
||
pluginEgoBrowserDesc: 'O navegador de agente para o DeepSeek Harness: 32 ferramentas ego_* controlam um Chromium real; uma aba nativa «ego browser» na barra lateral mostra ao vivo cada página visitada pelo agente — você pode clicar, arrastar e digitar para assumir. Registra a aba automaticamente quando o better-sidebar está presente; caso contrário, uma bolha flutuante',
|
||
pluginBilingualReaderDesc: 'Leia PDFs na barra lateral do DSH: visualização nativa de PDF, selecione o texto para traduzir com o LLM, com contexto e totalmente isolado da conversa principal',
|
||
changesRedactOn: "Máscara ativa: segredos exibidos como [REDACTED]; clique para desativar (por sua conta)",
|
||
changesRedactOff: "Máscara desativada: conteúdo exibido como está; clique para ativar",
|
||
changesRedactOnLabel: "Máscara",
|
||
changesRedactOffLabel: "Sem máscara",
|
||
changesRedactBanner: "Mascarado",
|
||
pluginSentinelName: 'dsh-sentinel Sistema de despertar',
|
||
pluginEgoBrowserName: 'ego-browser Navegador de agentes',
|
||
pluginBetterOverleafName: 'dsh-better-overleaf Aba Overleaf',
|
||
pluginDocsPanelName: 'dsh-docs-panel Documentos globais',
|
||
pluginFlowglassName: 'dsh-flowglass Flowglass',
|
||
pluginGitForgeName: 'dsh-git-forge Credenciais Git',
|
||
pluginGitRemotesName: 'dsh-git-remotes Remotos Git',
|
||
pluginGithubWorkbenchName: 'dsh-github-workbench Bancada GitHub',
|
||
pluginSidebarQaName: 'dsh-sidebar-qa Selecionar e perguntar',
|
||
pluginSidenoteName: 'dsh-sidenote Chat lateral',
|
||
pluginServerDeckName: 'dsh-server-deck Deck de servidores',
|
||
pluginSuhuangScrollName: 'dsh-suhuang-scroll Suhuang Scroll',
|
||
pluginSshTunnelName: 'dsh-ssh-tunnel Túnel SSH',
|
||
pluginTurnReviewName: 'dsh-turn-review Revisão do turno',
|
||
pluginBilingualReaderName: 'dsh-bilingual-reader Leitor bilíngue',
|
||
pluginOfficeName: 'Pré-visualização Office',
|
||
pluginMdExportName: 'Exportação Markdown',
|
||
pluginCodeNavName: 'Navegador de pré-visualização de código',
|
||
pluginVideoPreviewName: 'Pré-visualização de vídeo',
|
||
presetDshDesktopDesc: 'Modo avançado Electron (sem moldura): o macOS reserva 20px no topo; o Windows reserva 32px para a barra de título sem WCO',
|
||
}
|