* feat(projects): add local icons and colors * refactor(projects): simplify appearance handling * fix(projects): serialize appearance saves * test(app): update project appearance expectations * test: fix project appearance CI expectations * refactor(projects): organize appearance code * fix(server): adopt main's reconcile model in project appearance updates * fix(projects): preserve host-local appearance targets * fix(desktop): restore Linux development startup Ubuntu can block Electron's unprivileged user-namespace fallback while the npm-installed sandbox helper is not SUID. Disable the Chromium process sandbox only in the Linux development runner so packaged desktop policy remains unchanged. * feat(projects): add custom project icons Keep URL acquisition in the client so the host daemon only validates uploaded bytes. Project name and icon changes share one adaptive edit sheet. * refactor(settings): scope projects by host --------- Co-authored-by: Mohamed Boudra <boudra.moha@gmail.com>
2249 lines
85 KiB
TypeScript
2249 lines
85 KiB
TypeScript
import type { TranslationResources } from "./en";
|
|
|
|
export const ptBR: TranslationResources = {
|
|
common: {
|
|
back: "Voltar",
|
|
loading: "Carregando...",
|
|
actions: {
|
|
back: "Voltar",
|
|
cancel: "Cancelar",
|
|
close: "Fechar",
|
|
copy: "Copiar",
|
|
dismiss: "Dispensar",
|
|
retry: "Tentar novamente",
|
|
search: "Buscar",
|
|
select: "Selecionar",
|
|
},
|
|
placeholders: {
|
|
search: "Buscar...",
|
|
},
|
|
empty: {
|
|
noResults: "Nenhum resultado encontrado",
|
|
noOptionsMatchSearch: "Nenhuma opção corresponde à sua busca.",
|
|
},
|
|
states: {
|
|
loading: "Carregando...",
|
|
starting: "Iniciando...",
|
|
copied: "Copiado",
|
|
copiedLabel: "{{label}} copiado",
|
|
downloadComplete: "Download concluído",
|
|
downloadFailed: "Falha no download",
|
|
},
|
|
errors: {
|
|
error: "Erro",
|
|
unableToSave: "Não foi possível salvar",
|
|
nameRequired: "O nome é obrigatório",
|
|
daemonUnavailable: "Daemon indisponível",
|
|
daemonClientUnavailable: "Cliente do daemon indisponível",
|
|
daemonClientDisconnected: "O cliente do daemon está desconectado",
|
|
noFileFound: "Nenhum arquivo encontrado para {{token}}",
|
|
unexpectedDictationError: "Ocorreu um erro inesperado ao processar o ditado.",
|
|
},
|
|
connectionStatus: {
|
|
online: "Online",
|
|
connecting: "Conectando",
|
|
offline: "Offline",
|
|
error: "Erro",
|
|
idle: "Ocioso",
|
|
},
|
|
},
|
|
shell: {
|
|
menu: {
|
|
toggleSidebar: "Alternar barra lateral",
|
|
open: "Abrir menu",
|
|
close: "Fechar menu",
|
|
},
|
|
commandCenter: {
|
|
placeholder: "Buscar comandos, espaços de trabalho e agentes...",
|
|
noMatches: "Nenhuma correspondência",
|
|
actions: "Ações",
|
|
workspaces: "Espaços de trabalho",
|
|
agents: "Agentes",
|
|
newAgent: "Novo agente",
|
|
addProject: "Adicionar projeto",
|
|
home: "Início",
|
|
modelGroupLabel: "Modelo",
|
|
modelSearchKeywords: "trocar modelo mudar modelo definir modelo selecionar modelo",
|
|
thinkingGroupLabel: "Raciocínio",
|
|
thinkingSearchKeywords: "raciocínio esforço pensamento",
|
|
modeGroupLabel: "Modo",
|
|
modeSearchKeywords: "acesso permissão aprovação modo",
|
|
planModeGroupLabel: "Modo plano",
|
|
planModeSearchKeywords: "plano planejamento modo plano",
|
|
fastModeGroupLabel: "Rápido",
|
|
fastModeSearchKeywords: "rápido velocidade baixa latência",
|
|
settingOn: "Ligado",
|
|
settingOff: "Desligado",
|
|
},
|
|
},
|
|
composer: {
|
|
placeholders: {
|
|
desktop: "Envie uma mensagem ao agente, marque @files ou use /commands e /skills",
|
|
mobile: "Mensagem, @files, /commands",
|
|
fallback: "Mensagem...",
|
|
},
|
|
input: {
|
|
accessibilityLabel: "Enviar mensagem ao agente...",
|
|
focusHint: "{{shortcut}} para focar",
|
|
addAttachment: "Adicionar anexo",
|
|
interruptAgent: "Interromper agente",
|
|
queueMessage: "Enfileirar mensagem",
|
|
sendAndInterrupt: "Enviar e interromper",
|
|
sendMessage: "Enviar mensagem",
|
|
queue: "Fila",
|
|
send: "Enviar",
|
|
},
|
|
cancel: {
|
|
cancelingAgent: "Cancelando agente",
|
|
stopAgent: "Parar agente",
|
|
interrupt: "Interromper",
|
|
},
|
|
voice: {
|
|
enableVoiceMode: "Ativar modo de voz",
|
|
voiceMode: "Modo de voz",
|
|
unmuteVoiceMode: "Ativar som do modo de voz",
|
|
muteVoiceMode: "Silenciar modo de voz",
|
|
stopDictation: "Parar ditado",
|
|
startDictation: "Iniciar ditado",
|
|
unmuteVoice: "Ativar som da voz",
|
|
muteVoice: "Silenciar voz",
|
|
dictation: "Ditado",
|
|
interruptBeforeVoice: "Interrompa o agente antes de iniciar o modo de voz",
|
|
},
|
|
attachments: {
|
|
addImage: "Adicionar imagem",
|
|
addFile: "Enviar arquivo",
|
|
addIssueOrPr: "Adicionar issue ou PR",
|
|
addIssueOrPr_mr: "Adicionar issue ou MR",
|
|
dropImagesHere: "Solte imagens aqui",
|
|
dropFilesHere: "Solte arquivos aqui",
|
|
editQueuedMessage: "Editar mensagem na fila",
|
|
sendQueuedMessageNow: "Enviar mensagem da fila agora",
|
|
openImage: "Abrir anexo de imagem",
|
|
removeImage: "Remover anexo de imagem",
|
|
removeFile: "Remover anexo de arquivo",
|
|
openGithub: "Abrir {{kind}} {{number}}",
|
|
removeGithub: "Remover {{kind}} {{number}}",
|
|
element: "Elemento",
|
|
openBrowserElement: "Abrir anexo de elemento do navegador",
|
|
removeBrowserElement: "Remover anexo de elemento do navegador",
|
|
openReview: "Abrir anexo de revisão",
|
|
removeReview: "Remover anexo de revisão",
|
|
},
|
|
errors: {
|
|
failedToSend: "Falha ao enviar mensagem",
|
|
failedToCreateAgent: "Falha ao criar agente",
|
|
noHostSelected: "Nenhum host selecionado",
|
|
initialPromptRequired: "O prompt inicial é obrigatório",
|
|
alreadyLoading: "Já está carregando",
|
|
uploadFailed: "Falha ao enviar arquivo",
|
|
fileTooLarge: "{{fileName}} é grande demais (máximo {{size}})",
|
|
},
|
|
clientCommands: {
|
|
archiveAgent: "Arquivar o agente atual",
|
|
freshDraft: "Arquivar este agente e iniciar um novo rascunho",
|
|
},
|
|
github: {
|
|
searching: "Buscando...",
|
|
noResults: "Nenhum resultado encontrado.",
|
|
searchPlaceholder: "Buscar issues e PRs...",
|
|
searchPlaceholder_mr: "Buscar issues e MRs...",
|
|
title: "Anexar issue ou PR",
|
|
title_mr: "Anexar issue ou MR",
|
|
},
|
|
},
|
|
agentControls: {
|
|
provider: {
|
|
fallback: "Provedor",
|
|
select: "Selecionar provedor do agente",
|
|
},
|
|
thinking: {
|
|
title: "Raciocínio",
|
|
unknown: "Desconhecido",
|
|
extraHigh: "Extra alto",
|
|
select: "Selecionar opção de raciocínio",
|
|
selectWithValue: "Selecionar opção de raciocínio ({{value}})",
|
|
},
|
|
model: {
|
|
unknown: "Modelo desconhecido",
|
|
},
|
|
features: {
|
|
title: "Recursos",
|
|
open: "Abrir recursos do agente",
|
|
on: "Ativado",
|
|
off: "Desativado",
|
|
},
|
|
mode: {
|
|
title: "Modo",
|
|
searchPlaceholder: "Buscar modos...",
|
|
selectWithValue: "Selecionar modo do agente ({{value}})",
|
|
},
|
|
hints: {
|
|
thinking: "Modo de raciocínio",
|
|
model: "Alterar modelo",
|
|
mode: "Alterar modo de permissão",
|
|
},
|
|
},
|
|
agentStream: {
|
|
empty: "Comece a conversar com este agente...",
|
|
scrollToBottom: "Rolar para o fim",
|
|
permission: {
|
|
plan: "Plano",
|
|
required: "Permissão necessária",
|
|
deny: "Negar",
|
|
accept: "Aceitar",
|
|
implement: "Implementar",
|
|
question: "Como você quer prosseguir?",
|
|
proposedPlan: "Plano proposto",
|
|
},
|
|
},
|
|
agentPanel: {
|
|
states: {
|
|
notFound: "Agente não encontrado",
|
|
failedToLoad: "Falha ao carregar agente",
|
|
reconnecting: "Reconectando...",
|
|
timelineSyncFailed: "Não foi possível atualizar o histórico do agente. Tentando novamente…",
|
|
archivingTitle: "Arquivando agente...",
|
|
archivingSubtitle: "Aguarde enquanto arquivamos este agente.",
|
|
},
|
|
unavailable: {
|
|
selectedHost: "Host selecionado",
|
|
unknownHost:
|
|
"Não é possível abrir este agente porque {{serverLabel}} não está configurado neste dispositivo.",
|
|
addHost:
|
|
"Adicione o host nas Configurações ou abra um agente em um servidor configurado para continuar.",
|
|
preparingSession: "Preparando sessão de {{serverLabel}}...",
|
|
connecting: "Conectando a {{serverLabel}}...",
|
|
showSoon: "Mostraremos este agente em instantes.",
|
|
showWhenOnline: "Mostraremos este agente quando o host estiver online.",
|
|
reconnectingTo: "Reconectando a {{serverLabel}}...",
|
|
showAgainWhenReachable:
|
|
"Mostraremos este agente novamente assim que o host estiver acessível.",
|
|
},
|
|
archived: {
|
|
callout: "Este agente está arquivado",
|
|
unarchive: "Desarquivar",
|
|
},
|
|
},
|
|
sessions: {
|
|
title: "Histórico de agentes",
|
|
empty: "Nenhuma sessão ainda",
|
|
actions: {
|
|
loadMore: "Carregar mais",
|
|
},
|
|
},
|
|
agentList: {
|
|
fallbackTitle: "Nova sessão",
|
|
dateSections: {
|
|
recent: "Recentes",
|
|
today: "Hoje",
|
|
yesterday: "Ontem",
|
|
thisWeek: "Esta semana",
|
|
thisMonth: "Este mês",
|
|
older: "Mais antigas",
|
|
},
|
|
status: {
|
|
initializing: "Iniciando",
|
|
idle: "Ocioso",
|
|
running: "Em execução",
|
|
error: "Erro",
|
|
closed: "Fechada",
|
|
},
|
|
badges: {
|
|
archived: "Arquivado",
|
|
pending: "{{count}} pendente(s)",
|
|
attention: "Atenção",
|
|
},
|
|
archiveSheet: {
|
|
hostOffline: "Host offline",
|
|
runningAgent: "Este agente ainda está em execução. Arquivá-lo interromperá o agente.",
|
|
archive: "Arquivar",
|
|
},
|
|
},
|
|
message: {
|
|
actions: {
|
|
copyCode: "Copiar código",
|
|
copyTurn: "Copiar turno",
|
|
copyMessage: "Copiar mensagem",
|
|
forkMenu: "Bifurcar mensagem",
|
|
forkInNewTab: "Bifurcar em uma nova aba",
|
|
forkInNewWorkspace: "Bifurcar em um novo workspace",
|
|
forkUnavailable: "Atualize o host para usar isto.",
|
|
forkMissingWorkspace: "Este agente não está em um workspace.",
|
|
forkFailed: "Falha ao bifurcar o chat",
|
|
openFile: "Abrir arquivo",
|
|
copied: "Copiado",
|
|
},
|
|
attachments: {
|
|
dismissImage: "Dispensar imagem",
|
|
closeImage: "Fechar imagem",
|
|
imageLoadFailed: "Não foi possível carregar a imagem",
|
|
imageUnavailable: "Imagem indisponível",
|
|
imagePreviewUnavailable: "Prévia da imagem indisponível.",
|
|
imagePreviewLoadFailed: "Não foi possível carregar a prévia da imagem.",
|
|
review: "Revisão",
|
|
commentsOne: "1 comentário",
|
|
commentsMany: "{{count}} comentários",
|
|
textAttachment: "Anexo de texto",
|
|
text: "Texto",
|
|
file: "Arquivo",
|
|
},
|
|
speak: {
|
|
header: "Falou",
|
|
},
|
|
activity: {
|
|
details: "Detalhes",
|
|
},
|
|
dictation: {
|
|
start: "Iniciar ditado por voz",
|
|
cancel: "Cancelar ditado",
|
|
retry: "Tentar ditado novamente",
|
|
insert: "Inserir transcrição",
|
|
insertAndSend: "Inserir transcrição e enviar",
|
|
failed: "Falha no ditado: {{error}}",
|
|
failedRetry: "Falha no ditado. Toque para tentar novamente.",
|
|
},
|
|
question: {
|
|
submit: "Enviar",
|
|
next: "Próximo",
|
|
answerPlaceholder: "Digite sua resposta...",
|
|
otherPlaceholder: "Outro...",
|
|
},
|
|
todo: {
|
|
title: "Tarefas",
|
|
empty: "Nenhuma tarefa ainda.",
|
|
},
|
|
compaction: {
|
|
loading: "Compactando...",
|
|
auto: "Contexto compactado automaticamente",
|
|
manual: "Contexto compactado manualmente",
|
|
withTokens: "Contexto compactado ({{tokens}}K tokens)",
|
|
completed: "Contexto compactado",
|
|
},
|
|
},
|
|
importSession: {
|
|
title: "Importar sessão",
|
|
filters: {
|
|
all: "Tudo",
|
|
},
|
|
status: {
|
|
connectHost: "Conecte-se a um host para importar sessões",
|
|
updateHost: "Atualize o host para importar sessões.",
|
|
noProviders: "Nenhum provedor importável está ativado.",
|
|
loading: "Carregando sessões recentes...",
|
|
failedAll: "Não foi possível carregar sessões recentes.",
|
|
failedProviders: "Não foi possível carregar sessões de {{providers}}.",
|
|
failedImport: "Não foi possível importar a sessão selecionada.",
|
|
},
|
|
actions: {
|
|
refresh: "Atualizar sessões",
|
|
},
|
|
preview: {
|
|
untitledSession: "Sessão sem título",
|
|
noPrompt: "Nenhuma prévia de prompt",
|
|
},
|
|
empty: {
|
|
noRecent: "Nenhuma sessão recente para importar.",
|
|
alreadyImported: "Todas as sessões recentes já foram importadas.",
|
|
noProviderSessions: "Nenhuma sessão de {{provider}} encontrada.",
|
|
},
|
|
row: {
|
|
importing: "Importando...",
|
|
},
|
|
},
|
|
workspace: {
|
|
route: {
|
|
loading: "Carregando workspace",
|
|
connecting: "Conectando",
|
|
hostOffline: "{{hostName}} está offline",
|
|
cannotReachHost: "Não é possível acessar {{hostName}}",
|
|
hostStatus: "Status do host: {{status}}",
|
|
needsHostUpgrade: "Atualize o host para restaurar este workspace",
|
|
manageHost: "Gerenciar host",
|
|
recovery: {
|
|
archivedTitle: "Workspace arquivado",
|
|
restoreDescription:
|
|
"{{workspaceName}} foi arquivado e sua worktree foi removida. Restaure a branch {{branch}} para abri-lo novamente.",
|
|
unarchiveDescription:
|
|
"{{workspaceName}} está arquivado. Desarquive-o para abri-lo novamente.",
|
|
restoreAction: "Restaurar",
|
|
unarchiveAction: "Desarquivar",
|
|
restoringTitle: "Restaurando workspace",
|
|
restoringAction: "Restaurando...",
|
|
unavailableTitle: "Workspace indisponível",
|
|
checkFailedTitle: "Não foi possível verificar o workspace",
|
|
},
|
|
},
|
|
hoverCard: {
|
|
scriptsAccessibility: "Scripts do workspace",
|
|
copyPath: "Copiar caminho",
|
|
copyBranchName: "Copiar nome da branch",
|
|
copied: "Copiado",
|
|
},
|
|
fileActions: {
|
|
openFile: "Abrir arquivo",
|
|
copyPath: "Copiar caminho",
|
|
download: "Baixar",
|
|
addToChat: "Adicionar ao chat…",
|
|
moreActions: "Mais ações",
|
|
},
|
|
fileExplorer: {
|
|
sort: {
|
|
name: "Nome",
|
|
modified: "Modificado",
|
|
size: "Tamanho",
|
|
},
|
|
context: {
|
|
size: "Tamanho",
|
|
modified: "Modificado",
|
|
},
|
|
actions: {
|
|
back: "Voltar",
|
|
retry: "Tentar novamente",
|
|
refresh: "Atualizar arquivos",
|
|
refreshing: "Atualizando arquivos",
|
|
hideHiddenFiles: "Ocultar arquivos ocultos",
|
|
showHiddenFiles: "Mostrar arquivos ocultos",
|
|
},
|
|
empty: {
|
|
noFiles: "Nenhum arquivo",
|
|
noVisibleFiles: "Nenhum arquivo visível",
|
|
},
|
|
states: {
|
|
unavailable: "Workspace indisponível",
|
|
loading: "Carregando arquivos...",
|
|
},
|
|
errors: {
|
|
failedToListDirectory: "Falha ao listar diretório",
|
|
},
|
|
},
|
|
setup: {
|
|
descriptor: {
|
|
label: "Configuração",
|
|
completed: "Configuração concluída",
|
|
failed: "Falha na configuração",
|
|
workspace: "Configuração do workspace",
|
|
},
|
|
status: {
|
|
running: "Em execução",
|
|
completed: "Concluído",
|
|
failed: "Falhou",
|
|
waiting: "Aguardando saída da configuração",
|
|
},
|
|
waiting: "Configurando workspace...",
|
|
empty: {
|
|
noCommands: "Nenhum comando de configuração foi executado para este workspace.",
|
|
},
|
|
accessibility: {
|
|
noCommands: "Nenhum comando de configuração foi executado para este workspace",
|
|
log: "Log de configuração do workspace",
|
|
},
|
|
log: {
|
|
noOutput: "Nenhuma saída",
|
|
},
|
|
},
|
|
browser: {
|
|
unavailable: {
|
|
title: "O navegador é exclusivo do desktop",
|
|
subtitle: "Abra este workspace no Electron para usar o navegador integrado.",
|
|
},
|
|
session: "Sessão do navegador {{browserId}}",
|
|
controls: {
|
|
back: "Voltar",
|
|
forward: "Avançar",
|
|
stopLoading: "Parar carregamento",
|
|
refresh: "Atualizar",
|
|
browserUrl: "URL do navegador",
|
|
enterUrl: "Inserir URL",
|
|
openDevTools: "Abrir ferramentas de desenvolvedor do navegador",
|
|
cancelSelector: "Cancelar seletor de elemento",
|
|
annotateElement: "Anotar elemento",
|
|
screenshotElement: "Capturar elemento",
|
|
screenshotCopied: "Captura copiada para a área de transferência",
|
|
elementCopied: "Elemento copiado para a área de transferência",
|
|
screenshotFailed: "Não foi possível copiar a captura",
|
|
},
|
|
annotate: {
|
|
title: "Anotar elemento",
|
|
placeholder: "Mensagem ao agente sobre este elemento…",
|
|
submit: "Anexar",
|
|
cancel: "Cancelar",
|
|
},
|
|
devices: {
|
|
label: "Tamanho do dispositivo",
|
|
responsive: "Responsivo",
|
|
},
|
|
errors: {
|
|
failedToLoad: "Falha ao carregar página",
|
|
invalidUrl: "URL de navegador inválida",
|
|
unsupportedProtocol: "URL de navegador sem suporte bloqueada: {{protocol}}",
|
|
},
|
|
},
|
|
terminal: {
|
|
hostDisconnected: "Host não está conectado",
|
|
unableToSubscribe: "Não foi possível assinar o terminal",
|
|
},
|
|
tabs: {
|
|
loading: "Carregando...",
|
|
modified: "Alterações não salvas",
|
|
loadingAgentTitle: "Carregando título do agente",
|
|
emptyPane: "Nenhuma aba neste painel.",
|
|
fallback: {
|
|
newAgent: "Novo agente",
|
|
setup: "Configuração",
|
|
workspaceSetup: "Configuração do workspace",
|
|
terminal: "Terminal",
|
|
browser: "Navegador",
|
|
agent: "Agente",
|
|
workspace: "Workspace",
|
|
},
|
|
switcher: {
|
|
trigger: "Alternar abas ({{count}} abertas)",
|
|
title: "Alternar aba",
|
|
searchPlaceholder: "Buscar abas",
|
|
},
|
|
menu: {
|
|
openFor: "Abrir menu de {{label}}",
|
|
copyResumeCommand: "Copiar comando de retomada",
|
|
copyAgentId: "Copiar ID do agente",
|
|
copyTerminalId: "Copiar ID do terminal",
|
|
copyFilePath: "Copiar caminho do arquivo",
|
|
rename: "Renomear",
|
|
closeAbove: "Fechar abas acima",
|
|
closeBelow: "Fechar abas abaixo",
|
|
closeLeft: "Fechar à esquerda",
|
|
closeRight: "Fechar à direita",
|
|
closeOthers: "Fechar outras abas",
|
|
reloadAgent: "Recarregar agente",
|
|
reloadAgentTooltip: "Recarregue o agente para atualizar skills, MCPs ou status de login.",
|
|
close: "Fechar",
|
|
renameTerminal: "Renomear terminal",
|
|
renameAgent: "Renomear agente",
|
|
},
|
|
actions: {
|
|
newAgent: "Novo agente",
|
|
newTerminal: "Novo terminal",
|
|
preparingTerminal: "Preparando aba de terminal",
|
|
preparingTerminalTooltip: "Preparando terminal...",
|
|
newBrowser: "Novo navegador",
|
|
exitFocusMode: "Sair do modo de foco",
|
|
splitRight: "Dividir painel à direita",
|
|
splitDown: "Dividir painel abaixo",
|
|
terminalProfilesMenu: "Perfis de terminal",
|
|
editTerminalProfiles: "Editar perfis…",
|
|
pinTarget: "Fixar",
|
|
unpinTarget: "Desafixar",
|
|
},
|
|
explorer: {
|
|
open: "Abrir explorador",
|
|
close: "Fechar explorador",
|
|
toggle: "Alternar explorador",
|
|
changes: "Alterações",
|
|
files: "Arquivos",
|
|
},
|
|
toasts: {
|
|
copyFailed: "Falha ao copiar",
|
|
agentIdCopiedLabel: "ID do agente",
|
|
terminalIdCopiedLabel: "ID do terminal",
|
|
resumeCommandCopiedLabel: "comando de retomada",
|
|
filePathCopiedLabel: "Caminho do arquivo",
|
|
resumeIdUnavailable: "ID de retomada indisponível",
|
|
resumeCommandUnavailable: "Comando de retomada indisponível",
|
|
reloadingAgent: "Recarregando agente...",
|
|
reloadedAgent: "Agente recarregado",
|
|
failedToReloadAgent: "Falha ao recarregar agente",
|
|
},
|
|
confirmations: {
|
|
unsavedTitle: "Alterações não salvas",
|
|
unsavedMessage: "Esta aba tem alterações não salvas. Fechá-la descartará o rascunho.",
|
|
closeWithoutSaving: "Fechar sem salvar",
|
|
closePaneTitle: "Fechar painel?",
|
|
bulkUnsaved:
|
|
"{{count}} aba(s) têm alterações não salvas. Fechar descartará esses rascunhos.",
|
|
close: "Fechar",
|
|
cancel: "Cancelar",
|
|
archive: "Arquivar",
|
|
closeTerminalTitle: "Fechar terminal?",
|
|
closeTerminalMessage:
|
|
"Qualquer processo em execução neste terminal será interrompido imediatamente.",
|
|
archiveRunningAgentTitle: "Arquivar agente em execução?",
|
|
archiveRunningAgentMessage:
|
|
"Este agente ainda está em execução. Arquivá-lo interromperá o agente e fechará a aba.",
|
|
closeTabsLeftTitle: "Fechar abas à esquerda?",
|
|
closeTabsRightTitle: "Fechar abas à direita?",
|
|
closeOtherTabsTitle: "Fechar outras abas?",
|
|
bulk: {
|
|
all: "Isso vai arquivar {{agents}} agente(s), fechar {{terminals}} terminal(ais) e fechar {{tabs}} aba(s). Qualquer processo em execução em um terminal fechado será interrompido imediatamente.",
|
|
agentsAndTerminals:
|
|
"Isso vai arquivar {{agents}} agente(s) e fechar {{terminals}} terminal(ais). Qualquer processo em execução em um terminal fechado será interrompido imediatamente.",
|
|
terminalsAndTabs:
|
|
"Isso vai fechar {{terminals}} terminal(ais) e fechar {{tabs}} aba(s). Qualquer processo em execução em um terminal fechado será interrompido imediatamente.",
|
|
agentsAndTabs: "Isso vai arquivar {{agents}} agente(s) e fechar {{tabs}} aba(s).",
|
|
terminals:
|
|
"Isso vai fechar {{terminals}} terminal(ais). Qualquer processo em execução em um terminal fechado será interrompido imediatamente.",
|
|
tabs: "Isso vai fechar {{tabs}} aba(s).",
|
|
agents: "Isso vai arquivar {{agents}} agente(s).",
|
|
},
|
|
},
|
|
},
|
|
header: {
|
|
actions: {
|
|
workspaceActions: "Ações do workspace",
|
|
newAgent: "Novo agente",
|
|
newTerminal: "Novo terminal",
|
|
newBrowser: "Nova aba de navegador",
|
|
importSession: "Importar sessão",
|
|
copyPath: "Copiar caminho do workspace",
|
|
copyBranchName: "Copiar nome da branch",
|
|
showSetup: "Mostrar configuração",
|
|
},
|
|
toasts: {
|
|
workspacePathUnavailable: "O caminho do workspace ainda não está disponível",
|
|
branchNameUnavailable: "Nome da branch indisponível",
|
|
terminalQueued: "Preparando workspace, abrindo terminal quando estiver pronto...",
|
|
workspacePathCopiedLabel: "Caminho do workspace",
|
|
branchNameCopiedLabel: "Nome da branch",
|
|
},
|
|
},
|
|
scripts: {
|
|
title: "Scripts",
|
|
actions: {
|
|
chooseUrl: "Escolher URL",
|
|
copyUrl: "Copiar URL",
|
|
openService: "Ver serviço",
|
|
restart: "Reiniciar",
|
|
run: "Executar",
|
|
stop: "Parar",
|
|
view: "Ver terminal",
|
|
},
|
|
accessibility: {
|
|
trigger: "Scripts do workspace",
|
|
openService: "Ver serviço {{scriptName}}",
|
|
viewTerminal: "Ver terminal de {{scriptName}}",
|
|
runScript: "Executar script {{scriptName}}",
|
|
stopScript: "Parar {{scriptName}}",
|
|
restartScript: "Reiniciar {{scriptName}}",
|
|
copyUrl: "Copiar URL de {{scriptName}}",
|
|
chooseUrl: "Escolher URL para {{scriptName}}",
|
|
script: "script {{scriptName}}",
|
|
},
|
|
routes: {
|
|
public: "Proxy reverso",
|
|
paseo: "Memorable",
|
|
direct: "Direta",
|
|
},
|
|
states: {
|
|
exitCode: "saída {{code}}",
|
|
startFailed: "Falha ao iniciar {{scriptName}}",
|
|
stopFailed: "Falha ao parar {{scriptName}}",
|
|
},
|
|
},
|
|
git: {
|
|
actions: {
|
|
moreOptions: "Mais opções",
|
|
moreActions: "Mais ações",
|
|
commit: {
|
|
label: "Commit",
|
|
pending: "Fazendo commit...",
|
|
success: "Commit concluído",
|
|
},
|
|
pull: {
|
|
label: "Pull",
|
|
pending: "Fazendo pull...",
|
|
success: "Pull concluído",
|
|
},
|
|
push: {
|
|
label: "Push",
|
|
pending: "Fazendo push...",
|
|
success: "Push concluído",
|
|
},
|
|
pullAndPush: {
|
|
label: "Pull e push",
|
|
pending: "Fazendo pull e push...",
|
|
success: "Pull e push concluídos",
|
|
},
|
|
viewPr: "Ver PR",
|
|
createPr: {
|
|
label: "Criar PR",
|
|
pending: "Criando PR...",
|
|
success: "PR criada",
|
|
label_mr: "Criar MR",
|
|
pending_mr: "Criando MR...",
|
|
success_mr: "MR criada",
|
|
},
|
|
mergeBranch: {
|
|
label: "Fazer merge localmente",
|
|
pending: "Fazendo merge...",
|
|
success: "Mergeada",
|
|
},
|
|
mergeFromBase: {
|
|
label: "Atualizar a partir de {{baseRef}}",
|
|
pending: "Atualizando...",
|
|
success: "Atualizado",
|
|
},
|
|
archive: {
|
|
label: "Arquivar workspace",
|
|
pending: "Arquivando...",
|
|
success: "Arquivado",
|
|
},
|
|
mergePr: {
|
|
squash: "Merge",
|
|
merge: "Merge",
|
|
rebase: "Merge",
|
|
pending: "Fazendo merge da PR...",
|
|
success: "PR mergeada",
|
|
squash_mr: "Merge",
|
|
merge_mr: "Merge",
|
|
rebase_mr: "Merge",
|
|
pending_mr: "Fazendo merge da MR...",
|
|
success_mr: "MR mergeada",
|
|
},
|
|
viewPr_mr: "Ver MR",
|
|
autoMerge: {
|
|
enableSquash: "Merge automático",
|
|
enableMerge: "Merge automático",
|
|
enableRebase: "Merge automático",
|
|
enabled: "Merge automático ativado",
|
|
enabling: "Ativando merge automático...",
|
|
disabling: "Desativando merge automático...",
|
|
disabled: "Merge automático desativado",
|
|
},
|
|
unavailable: {
|
|
viewPrNoForge:
|
|
"Ver {{noun}} não está disponível agora porque o {{brand}} não está conectado",
|
|
pullNoRemote:
|
|
"Pull não está disponível aqui porque esta branch ainda não está conectada a um remoto",
|
|
pullDirty:
|
|
"Pull não está disponível enquanto há alterações locais. Faça commit ou stash primeiro",
|
|
pullUpToDate: "Pull não está disponível porque esta branch já está atualizada",
|
|
pushNoRemote:
|
|
"Push não está disponível aqui porque esta branch ainda não está conectada a um remoto",
|
|
pushBehind:
|
|
"Push ainda não está disponível porque há alterações mais recentes para trazer primeiro",
|
|
pushNothing: "Push não está disponível porque não há nada novo para enviar",
|
|
pullAndPushNoRemote:
|
|
"Pull e push não estão disponíveis aqui porque esta branch ainda não está conectada a um remoto",
|
|
pullAndPushDirty:
|
|
"Pull e push não estão disponíveis enquanto há alterações locais. Faça commit ou stash primeiro",
|
|
pullAndPushNoIncoming:
|
|
"Pull e push não estão disponíveis porque não há alterações de entrada para puxar primeiro",
|
|
pullAndPushInSync:
|
|
"Pull e push não estão disponíveis porque esta branch já está sincronizada",
|
|
pullAndPushNothingToPush:
|
|
"Pull e push não estão disponíveis porque não há nada novo para enviar depois do pull",
|
|
createPrNoForge:
|
|
"Criar {{noun}} não está disponível agora porque o {{brand}} não está conectado",
|
|
createPrNoCommits:
|
|
"Criar PR não está disponível porque esta branch ainda não tem commits novos",
|
|
mergeNoBase: "Merge não está disponível porque não foi possível determinar a branch base",
|
|
mergeDirty:
|
|
"Merge não está disponível enquanto há alterações locais. Faça commit ou stash primeiro",
|
|
mergeNothing:
|
|
"Merge não está disponível porque esta branch ainda não tem nada novo para merge",
|
|
updateNoBase:
|
|
"Atualizar não está disponível porque não foi possível determinar a branch base",
|
|
updateDirty:
|
|
"Atualizar não está disponível enquanto há alterações locais. Faça commit ou stash primeiro",
|
|
updateCurrent:
|
|
"Atualizar não está disponível porque esta branch já está atualizada com {{baseRef}}",
|
|
mergePrNoGithub:
|
|
"Merge da PR não está disponível agora porque o GitHub não está conectado",
|
|
archiveNotWorktree:
|
|
"Arquivar não está disponível aqui porque este workspace não foi criado como um worktree do Paseo",
|
|
mergePrNoForge:
|
|
"Merge da {{noun}} não está disponível agora porque o {{brand}} não está conectado",
|
|
mergePrMissing: "Merge da PR não está disponível porque ainda não há uma pull request",
|
|
mergePrDraft: "Merge da PR não está disponível porque a pull request ainda é um rascunho",
|
|
mergePrMerged: "Merge da PR não está disponível porque a pull request já foi mergeada",
|
|
mergePrClosed: "Merge da PR não está disponível porque a pull request está fechada",
|
|
mergePrConflicts: "Merge da PR não está disponível porque a pull request tem conflitos",
|
|
mergePrQueue:
|
|
"Merge da PR não está disponível aqui porque este repositório usa uma merge queue",
|
|
mergePrNotReady:
|
|
"Merge da {{noun}} não está disponível até o {{brand}} informar que a {{noun}} está pronta para merge",
|
|
autoMergeCannotDisable:
|
|
"O merge automático está ativado, mas esta conta não pode desativá-lo",
|
|
},
|
|
toasts: {
|
|
failedCommit: "Falha ao fazer commit",
|
|
failedPull: "Falha ao fazer pull",
|
|
failedPush: "Falha ao fazer push",
|
|
failedPullAndPush: "Falha ao fazer pull e push",
|
|
failedCreatePr: "Falha ao criar PR",
|
|
failedMergePr: "Falha ao fazer merge da PR",
|
|
failedEnableAutoMerge: "Falha ao ativar merge automático",
|
|
failedDisableAutoMerge: "Falha ao desativar merge automático",
|
|
baseRefUnavailable: "Ref base indisponível",
|
|
failedMerge: "Falha ao fazer merge",
|
|
failedMergeFromBase: "Falha ao fazer merge da base",
|
|
},
|
|
archiveWarning: {
|
|
title: 'Arquivar "{{workspaceName}}"?',
|
|
confirm: "Arquivar",
|
|
cancel: "Cancelar",
|
|
uncommittedChanges: "Alterações sem commit",
|
|
uncommittedChangesWithDiff: "Alterações sem commit ({{diffStat}})",
|
|
addedLine: "{{count}} linha adicionada",
|
|
addedLines: "{{count}} linhas adicionadas",
|
|
deletedLine: "{{count}} linha removida",
|
|
deletedLines: "{{count}} linhas removidas",
|
|
unpushedCommit: "{{count}} commit não enviado",
|
|
unpushedCommits: "{{count}} commits não enviados",
|
|
},
|
|
},
|
|
diff: {
|
|
openChangesTab: "Abrir a aba Alterações",
|
|
closeChangesTab: "Fechar a aba Alterações",
|
|
binaryFile: "Arquivo binário",
|
|
tooLarge: "Diff grande demais para exibir",
|
|
previewTooLargeTitle: "Este diff é grande demais para visualizar",
|
|
previewTooLargeDescription: "Reduza a comparação para visualizá-la aqui",
|
|
unified: "Diff unificado",
|
|
split: "Diff lado a lado",
|
|
switchToUnified: "Alternar para diff unificado",
|
|
switchToSplit: "Alternar para diff lado a lado",
|
|
showTreeView: "Mostrar árvore de pastas",
|
|
showFlatView: "Mostrar lista plana de arquivos",
|
|
options: "Opções do diff",
|
|
hideWhitespace: "Ocultar espaços em branco",
|
|
showWhitespace: "Mostrar espaços em branco",
|
|
scrollLongLines: "Rolar linhas longas",
|
|
wrapLongLines: "Quebrar linhas longas",
|
|
collapseAll: "Recolher todos os arquivos",
|
|
expandAll: "Expandir todos os arquivos",
|
|
collapseAllFolders: "Recolher todas as pastas",
|
|
expandAllFolders: "Expandir todas as pastas",
|
|
refreshing: "Atualizando",
|
|
refresh: "Atualizar",
|
|
refreshState: "Atualizar estado do git e do {{brand}}",
|
|
failedRefresh: "Falha ao atualizar estado do git.",
|
|
emptyHiddenWhitespace: "Nenhuma alteração visível após ocultar espaços em branco",
|
|
emptyUncommitted: "Nenhuma alteração sem commit",
|
|
emptyAgainstBase: "Nenhuma alteração vs {{baseRef}}",
|
|
checkingRepository: "Verificando repositório...",
|
|
notRepository: "Não é um repositório git",
|
|
diffMode: "Modo de diff",
|
|
uncommitted: "Sem commit",
|
|
committed: "Com commit",
|
|
branchUnknown: "Desconhecido",
|
|
base: "base",
|
|
newFile: "Novo",
|
|
deletedFile: "Excluído",
|
|
commits: {
|
|
title: "Commits",
|
|
countLabel: "{{count}} commits do espaço de trabalho",
|
|
noneAhead: "Ainda não há commits à frente de {{baseRef}}",
|
|
fileDiffEmpty: "Nenhuma alteração para exibir",
|
|
fileDiffError: "Falha ao carregar diff do arquivo",
|
|
loading: "Carregando commits…",
|
|
loadError: "Falha ao carregar commits",
|
|
empty: "Ainda não há commits",
|
|
},
|
|
},
|
|
openInEditor: {
|
|
open: "Abrir",
|
|
chooseEditor: "Escolher editor",
|
|
openIn: "Abrir workspace em {{target}}",
|
|
openFileIn: "Abrir {{fileName}} em {{target}}",
|
|
failedOpen: "Falha ao abrir workspace",
|
|
},
|
|
pr: {
|
|
actions: {
|
|
viewPullRequest: "Ver",
|
|
openOn: "Abrir no {{brand}}",
|
|
},
|
|
sections: {
|
|
checks: "Verificações",
|
|
pipeline: "Pipeline",
|
|
reviews: "Revisões",
|
|
},
|
|
empty: {
|
|
noJobs: "Sem jobs",
|
|
loadingPipeline: "Carregando pipeline...",
|
|
pipelineJobsLoadFailed: "Não foi possível carregar os jobs do pipeline",
|
|
allowedToFail: "permitido falhar",
|
|
},
|
|
approvals: "{{given}} de {{required}} aprovações",
|
|
accessibility: {
|
|
pullRequest: "Pull request #{{number}}",
|
|
pullRequest_mr: "Merge request !{{number}}",
|
|
},
|
|
states: {
|
|
draft: "Rascunho",
|
|
merged: "Mergeada",
|
|
closed: "Fechada",
|
|
open: "Aberta",
|
|
},
|
|
activity: {
|
|
commented: "Comentou",
|
|
approved: "Aprovado",
|
|
requestedChanges: "Solicitou alterações",
|
|
reviewed: "Revisado",
|
|
},
|
|
time: {
|
|
justNow: "agora mesmo",
|
|
},
|
|
thread: {
|
|
discussion: "Tópico de discussão",
|
|
},
|
|
errors: {
|
|
statusLoadFailed: "Não foi possível carregar o status da pull request",
|
|
activityLoadFailed: "Não foi possível carregar a atividade da pull request",
|
|
},
|
|
},
|
|
forgeSetup: {
|
|
installCli: "Instale a CLI {{cli}} para usar os recursos do {{brand}}.",
|
|
signIn: "Execute {{command}} para usar os recursos do {{brand}}.",
|
|
generic: "Configure o {{brand}} neste host para usar seus recursos.",
|
|
},
|
|
},
|
|
},
|
|
sidebar: {
|
|
pinned: {
|
|
title: "Fixados",
|
|
},
|
|
host: {
|
|
noHost: "Nenhum host",
|
|
switchTitle: "Trocar host",
|
|
searchPlaceholder: "Buscar hosts...",
|
|
},
|
|
actions: {
|
|
addProject: "Adicionar projeto",
|
|
newWorkspace: "Novo workspace",
|
|
hosts: "Hosts",
|
|
home: "Início",
|
|
settings: "Configurações",
|
|
closeSidebar: "Fechar barra lateral",
|
|
},
|
|
help: {
|
|
trigger: "Ajuda e suporte",
|
|
sectionHelp: "Ajuda",
|
|
diagnostics: "Executar diagnóstico",
|
|
shortcuts: "Atalhos de teclado",
|
|
reportIssue: "Relatar um problema",
|
|
discord: "Discord",
|
|
github: "Criar issue no GitHub",
|
|
whatsNew: "Novidades",
|
|
version: "Paseo {{version}}",
|
|
},
|
|
sections: {
|
|
sessions: "Histórico",
|
|
schedules: "Agendamentos",
|
|
},
|
|
worktreeSetup: {
|
|
title: "Configurar scripts de worktree",
|
|
description:
|
|
"Adicione comandos de configuração para que novos worktrees instalem dependências e se preparem automaticamente.",
|
|
openProjectSettings: "Abrir configurações do projeto",
|
|
},
|
|
project: {
|
|
actions: {
|
|
menu: "Ações do projeto",
|
|
openSettings: "Abrir configurações do projeto",
|
|
openNewWindow: "Abrir em nova janela",
|
|
openNewWindowFailed: "Não foi possível abrir uma nova janela",
|
|
openFolder: "Open in file manager",
|
|
openFolderFailed: "Couldn't open folder",
|
|
remove: "Remover projeto",
|
|
removing: "Removendo...",
|
|
},
|
|
confirmations: {
|
|
removeTitle: "Remover projeto?",
|
|
removeMessage:
|
|
'Remover "{{projectName}}" da barra lateral?\n\nOs arquivos no disco não serão alterados.',
|
|
removeConfirm: "Remover",
|
|
cancel: "Cancelar",
|
|
},
|
|
toasts: {
|
|
hostDisconnected: "Host não está conectado",
|
|
removeFailed: "Falha ao remover alguns workspaces",
|
|
updateHostToRemove: "Atualize o host para remover projetos.",
|
|
},
|
|
empty: {
|
|
title: "Nenhum projeto ainda",
|
|
description: "Adicione um projeto para começar",
|
|
},
|
|
},
|
|
workspace: {
|
|
status: {
|
|
scriptsAvailable: "Scripts disponíveis",
|
|
creating: "Criando...",
|
|
},
|
|
actions: {
|
|
menu: "Ações do workspace",
|
|
newWorkspace: "Novo workspace",
|
|
showMore: "Mostrar mais",
|
|
showLess: "Mostrar menos",
|
|
createWorkspaceFor: "Criar um novo workspace para {{projectName}}",
|
|
copyPath: "Copiar caminho",
|
|
copyBranchName: "Copiar nome da branch",
|
|
rename: "Renomear workspace",
|
|
pin: "Fixar no topo",
|
|
unpin: "Desafixar",
|
|
archive: "Arquivar",
|
|
archiveWorkspace: "Arquivar workspace",
|
|
hideFromSidebar: "Ocultar da barra lateral",
|
|
archiving: "Arquivando...",
|
|
hiding: "Ocultando...",
|
|
},
|
|
confirmations: {
|
|
hideTitle: "Ocultar workspace?",
|
|
hideMessage:
|
|
'Ocultar "{{workspaceName}}" da barra lateral?\n\nOs arquivos no disco não serão alterados.',
|
|
hideConfirm: "Ocultar",
|
|
cancel: "Cancelar",
|
|
},
|
|
rename: {
|
|
title: "Renomear workspace",
|
|
submit: "Renomear",
|
|
invalidBranchName: "Nome de branch inválido",
|
|
},
|
|
toasts: {
|
|
workspacePathUnavailable: "Caminho do workspace indisponível",
|
|
pathCopied: "Caminho copiado",
|
|
branchNameCopied: "Nome da branch copiado",
|
|
hostDisconnected: "Host não está conectado",
|
|
hideFailed: "Falha ao ocultar workspace",
|
|
archiveFailed: "Falha ao arquivar workspace",
|
|
},
|
|
},
|
|
},
|
|
newWorkspace: {
|
|
title: "Novo workspace",
|
|
create: "Criar",
|
|
isolation: {
|
|
local: "Local",
|
|
worktree: "Novo worktree",
|
|
label: "Isolamento",
|
|
},
|
|
fields: {
|
|
project: "Projeto",
|
|
base: "Base",
|
|
baseNotApplicable: "Não aplicável",
|
|
},
|
|
titlePlaceholder: "Título (opcional)",
|
|
errors: {
|
|
hostDisconnected: "Host não está conectado",
|
|
createWorktreeFailed: "Falha ao criar worktree",
|
|
composerStateRequired: "O estado do composer é obrigatório",
|
|
selectModel: "Selecione um modelo",
|
|
},
|
|
refPicker: {
|
|
startingRef: "Ref inicial",
|
|
chooseStart: "Escolha de onde começar",
|
|
intoBase: "em {{baseRef}}",
|
|
searching: "Buscando...",
|
|
noMatchingRefs: "Nenhuma ref correspondente.",
|
|
searchPlaceholder: "Buscar branches e PRs",
|
|
title: "Começar de",
|
|
},
|
|
},
|
|
desktop: {
|
|
quitting: {
|
|
title: "Saindo do Paseo...",
|
|
detail: "Parando o daemon local.",
|
|
},
|
|
daemon: {
|
|
title: "Daemon",
|
|
status: {
|
|
title: "Status",
|
|
builtInOnly: "Apenas o daemon desktop integrado é exibido aqui",
|
|
running: "em execução",
|
|
notRunning: "não está em execução",
|
|
pid: "PID {{pid}}",
|
|
},
|
|
management: {
|
|
title: "Gerenciar daemon integrado",
|
|
hint: "Permitir que o Paseo inicie e pare o daemon integrado",
|
|
pauseTitle: "Pausar daemon integrado",
|
|
pauseMessage:
|
|
"Isso vai parar o daemon integrado imediatamente. Agentes e terminais em execução conectados ao daemon integrado serão interrompidos.",
|
|
pauseAndStop: "Pausar e parar",
|
|
registrationFailed:
|
|
"O daemon integrado foi iniciado, mas o Paseo não conseguiu salvar a conexão localhost. Desative e reative o gerenciamento do daemon ou adicione localhost manualmente.",
|
|
pausedStopFailed:
|
|
"O gerenciamento do daemon integrado foi pausado, mas o Paseo não conseguiu parar o daemon.",
|
|
updateFailed: "Não foi possível atualizar o gerenciamento do daemon integrado.",
|
|
},
|
|
keepRunning: {
|
|
title: "Manter daemon em execução ao sair",
|
|
hint: "O daemon continua em execução quando você sai do Paseo",
|
|
},
|
|
logs: {
|
|
title: "Arquivo de log",
|
|
modalTitle: "Logs do daemon",
|
|
unavailable: "Caminho do log indisponível",
|
|
empty: "(arquivo de log vazio)",
|
|
copied: "Caminho do log copiado.",
|
|
copyFailed: "Não foi possível copiar o caminho do log.",
|
|
open: "Abrir logs",
|
|
copyPath: "Copiar caminho",
|
|
},
|
|
fullStatus: {
|
|
title: "Status completo",
|
|
modalTitle: "Status do daemon",
|
|
hint: "Executa `paseo daemon status` e mostra a saída",
|
|
view: "Ver status",
|
|
copied: "Status copiado para a área de transferência.",
|
|
fetchFailed: "Falha ao buscar status do daemon: {{message}}",
|
|
},
|
|
advancedSettings: "Configurações avançadas",
|
|
openAdvancedSettings: "Abrir configurações avançadas do daemon",
|
|
versionMismatch:
|
|
"As versões do app e do daemon não coincidem. Atualize ambos para a mesma versão para a melhor experiência.",
|
|
loadFailed: "Não foi possível carregar o status do daemon desktop.",
|
|
},
|
|
updates: {
|
|
status: {
|
|
checking: "Verificando atualizações do app...",
|
|
installing: "Instalando atualização do app...",
|
|
upToDate: "O app está atualizado.",
|
|
upToDateWithLastChecked: "Atualizado. Última verificação às {{time}}.",
|
|
pending: "Avisaremos quando a atualização estiver pronta.",
|
|
pendingWithLastChecked:
|
|
"Avisaremos quando a atualização estiver pronta. Última verificação às {{time}}.",
|
|
pendingWithVersion: "Atualização encontrada: {{version}}. Baixando...",
|
|
pendingWithVersionAndLastChecked:
|
|
"Atualização encontrada: {{version}}. Baixando... Última verificação às {{time}}.",
|
|
availableWithVersion: "Atualização pronta: {{version}}",
|
|
availableWithVersionAndLastChecked:
|
|
"Atualização pronta: {{version}}. Última verificação às {{time}}.",
|
|
available: "Há uma atualização do app pronta para instalar.",
|
|
availableWithLastChecked:
|
|
"Há uma atualização do app pronta para instalar. Última verificação às {{time}}.",
|
|
installed: "Atualização do app instalada. Reinicialização obrigatória.",
|
|
failed: "Falha ao atualizar o app.",
|
|
idle: "O status de atualização ainda não foi verificado.",
|
|
},
|
|
installError: "Não foi possível instalar a atualização do app desktop.",
|
|
callout: {
|
|
installingTitle: "Instalando atualização",
|
|
failedTitle: "Falha na atualização",
|
|
availableTitle: "Atualização disponível",
|
|
genericError: "Algo deu errado.",
|
|
whatsNew: "Novidades",
|
|
installingAction: "Instalando...",
|
|
installAndRestart: "Instalar e reiniciar",
|
|
installingDescription: "Instalando e reiniciando...",
|
|
versionReady: "{{version}} está pronta para instalar.",
|
|
newVersionReady: "Uma nova versão está pronta para instalar.",
|
|
restartWarning:
|
|
"Atualizar o app vai interromper agentes em execução e fechar sessões de terminal.",
|
|
},
|
|
},
|
|
settings: {
|
|
loadFailed: "Não foi possível carregar as configurações do desktop.",
|
|
saveFailed: "Não foi possível salvar as configurações do desktop.",
|
|
},
|
|
rosetta: {
|
|
title: "Baixar a build para Apple Silicon",
|
|
runningIntel: "Você está executando a build Intel do Paseo pelo Rosetta no Apple Silicon.",
|
|
highCpu: "Isso causa alto uso de CPU. Baixe a build para Apple Silicon para corrigir.",
|
|
download: "Baixar",
|
|
},
|
|
permissions: {
|
|
notifications: {
|
|
allowed: "As notificações são permitidas pelo sistema operacional.",
|
|
denied: "As notificações estão negadas nas configurações do sistema.",
|
|
notGranted: "As notificações ainda não foram concedidas.",
|
|
webOnly: "O status de notificações desktop só está disponível no runtime web.",
|
|
supported: "Notificações desktop são compatíveis.",
|
|
unsupported: "Notificações desktop não são compatíveis nesta plataforma.",
|
|
apiUnavailable: "A Web Notification API não está disponível neste ambiente.",
|
|
requestsWebOnly: "Solicitações de notificação desktop só estão disponíveis no runtime web.",
|
|
requestUnavailable: "Web Notification API requestPermission() está indisponível.",
|
|
requestFailed: "Falha ao solicitar permissão de notificação: {{message}}",
|
|
unexpectedState: "Estado inesperado de permissão de notificação: {{state}}",
|
|
},
|
|
microphone: {
|
|
webOnly: "O status do microfone desktop só está disponível no runtime web.",
|
|
navigatorUnavailable: "Navigator não está disponível neste ambiente.",
|
|
granted: "O acesso ao microfone foi concedido.",
|
|
denied: "O acesso ao microfone está negado nas configurações do sistema.",
|
|
notGranted: "A permissão do microfone ainda não foi concedida.",
|
|
unexpectedState: "Estado inesperado de permissão do microfone: {{state}}",
|
|
statusApiUnavailable:
|
|
"A API de status do microfone não está disponível neste runtime. Use Solicitar para verificar o acesso.",
|
|
queryFailed: "Falha ao consultar o status do microfone: {{message}}",
|
|
captureUnavailable: "A captura do microfone não está disponível neste ambiente.",
|
|
permissionApiUnavailable:
|
|
"A API de status de permissão não está disponível. Use Solicitar para verificar o acesso.",
|
|
requestsWebOnly: "Solicitações de microfone desktop só estão disponíveis no runtime web.",
|
|
captureApiUnavailable: "A API de captura do microfone não está disponível neste ambiente.",
|
|
requestDenied: "A permissão do microfone foi negada pelo usuário ou pelo sistema.",
|
|
noDevice: "Nenhum dispositivo de microfone foi encontrado.",
|
|
requestFailed: "Falha ao solicitar permissão do microfone: {{message}}",
|
|
},
|
|
empty: {
|
|
notifications: "O status das notificações ainda não foi verificado.",
|
|
microphone: "O status do microfone ainda não foi verificado.",
|
|
},
|
|
testNotification: {
|
|
title: "Teste de notificação do Paseo",
|
|
body: "Se você consegue ver isto, as notificações desktop funcionam.",
|
|
notDelivered:
|
|
"A notificação não foi entregue. Verifique Ajustes do Sistema > Notificações.",
|
|
failed: "Falha ao enviar notificação.",
|
|
},
|
|
},
|
|
integrations: {
|
|
cli: {
|
|
statusFailed: "Não foi possível verificar o status de instalação da CLI.",
|
|
installFailed: "Não foi possível instalar a CLI do Paseo.",
|
|
},
|
|
skills: {
|
|
statusFailed: "Não foi possível verificar o status das skills de orquestração.",
|
|
installFailed: "Não foi possível instalar as skills de orquestração.",
|
|
updateFailed: "Não foi possível atualizar as skills de orquestração.",
|
|
uninstallFailed: "Não foi possível desinstalar as skills de orquestração.",
|
|
saveSelectionFailed: "Não foi possível salvar a seleção de skills de orquestração.",
|
|
},
|
|
},
|
|
},
|
|
rootError: {
|
|
kicker: "Algo deu errado",
|
|
title: "O Paseo encontrou um problema.",
|
|
body: "Tente novamente para recarregar o app. Se isso continuar acontecendo, inclua os detalhes abaixo ao relatar o problema.",
|
|
details: "Detalhes",
|
|
},
|
|
startup: {
|
|
errorTitle: "Algo deu errado",
|
|
errorDescription:
|
|
"O servidor local falhou ao iniciar. Se isso continuar acontecendo, reporte o problema no GitHub e inclua os logs abaixo.",
|
|
logs: {
|
|
loading: "Carregando logs do daemon...",
|
|
unavailable: "Nenhum log do daemon disponível.",
|
|
loadFailed: "Não foi possível carregar logs do daemon: {{message}}",
|
|
},
|
|
},
|
|
openProject: {
|
|
tiles: {
|
|
addProject: {
|
|
title: "Adicionar um projeto",
|
|
description: "Abra uma pasta na sua máquina",
|
|
},
|
|
importSession: {
|
|
title: "Importar sessão",
|
|
description: "Importe sessões externas recentes da CLI",
|
|
},
|
|
setupProviders: {
|
|
title: "Configurar provedores",
|
|
description: "Configure Claude Code, Codex e outros",
|
|
},
|
|
pairDevice: {
|
|
title: "Parear dispositivo",
|
|
description: "Conecte seu celular a este daemon",
|
|
},
|
|
},
|
|
},
|
|
projectPicker: {
|
|
placeholder: "Digite para pesquisar...",
|
|
browse: "Procurar…",
|
|
opening: "Abrindo projeto...",
|
|
searching: "Buscando...",
|
|
empty: "Comece digitando um caminho",
|
|
errors: {
|
|
directory_not_found: "Diretório não encontrado.",
|
|
open_failed: "Não foi possível abrir o projeto.",
|
|
},
|
|
openPath: "Abrir caminho",
|
|
},
|
|
branchSwitcher: {
|
|
currentBranch: "Branch atual: {{branchName}}. Pressione para trocar de branch.",
|
|
placeholder: "Trocar branch...",
|
|
searchPlaceholder: "Filtrar branches...",
|
|
empty: "Nenhuma branch encontrada.",
|
|
title: "Trocar branch",
|
|
uncommittedTitle: "Alterações sem commit",
|
|
uncommittedMessage: "Você tem alterações sem commit. Fazer stash antes de trocar de branch?",
|
|
stashAndSwitch: "Fazer stash e trocar",
|
|
failedToStash: "Falha ao fazer stash das alterações",
|
|
failedToSwitch: "Falha ao trocar de branch",
|
|
restoreStashTitle: "Restaurar alterações em stash?",
|
|
restoreStashMessage:
|
|
"Esta branch tem alterações em stash de uma sessão anterior. Deseja restaurá-las?",
|
|
restore: "Restaurar",
|
|
later: "Depois",
|
|
stashRestored: "Alterações em stash restauradas",
|
|
},
|
|
agentAutocomplete: {
|
|
searchingWorkspace: "Buscando workspace...",
|
|
loadingCommands: "Carregando comandos...",
|
|
noFiles: "Nenhum arquivo ou diretório encontrado",
|
|
noCommands: "Nenhum comando encontrado",
|
|
failedToLoad: "Falha ao carregar",
|
|
},
|
|
loadOlderHistory: {
|
|
failed: "Não foi possível carregar o histórico mais antigo",
|
|
},
|
|
imageAttachmentPicker: {
|
|
permissionTitle: "Permissão obrigatória",
|
|
permissionMessage: "Permita acesso à sua biblioteca de fotos para anexar imagens.",
|
|
errorTitle: "Erro",
|
|
failedToSelect: "Falha ao selecionar imagem",
|
|
dialogTitle: "Anexar imagens",
|
|
dialogFilterName: "Imagens",
|
|
},
|
|
workspaceSetup: {
|
|
title: "Criar workspace",
|
|
errors: {
|
|
failedCreateWorktree: "Falha ao criar worktree",
|
|
failedOpenProject: "Falha ao abrir projeto",
|
|
selectModel: "Selecione um modelo",
|
|
hostDisconnected: "Host não está conectado",
|
|
pendingRequired: "Nenhuma configuração de workspace está pendente",
|
|
composerStateRequired: "O estado do composer da configuração do workspace é obrigatório",
|
|
},
|
|
},
|
|
onboarding: {
|
|
title: "Bem-vindo ao Paseo",
|
|
subtitle: "Conecte seu computador para começar",
|
|
actions: {
|
|
settings: "Configurações",
|
|
},
|
|
},
|
|
modelSelector: {
|
|
title: "Selecionar provedor",
|
|
selectModel: "Selecionar modelo",
|
|
selectedModel: "Selecionar modelo ({{model}})",
|
|
loading: "Carregando...",
|
|
loadingShort: "Carregando",
|
|
loadingSelector: "Carregando seletor de modelos...",
|
|
error: "Erro",
|
|
defaultModel: "Padrão",
|
|
favorites: "Favoritos",
|
|
favoriteModel: "Favoritar modelo",
|
|
unfavoriteModel: "Remover modelo dos favoritos",
|
|
modelCount: "{{count}} modelo",
|
|
modelCountPlural: "{{count}} modelos",
|
|
retry: "Tentar novamente",
|
|
retrying: "Tentando novamente...",
|
|
noMatches: "Nenhum modelo corresponde à sua busca",
|
|
searchPlaceholder: "Buscar modelos...",
|
|
openProviderSettings: "Abrir configurações de {{provider}}",
|
|
},
|
|
providerCatalog: {
|
|
title: "Adicionar provedor",
|
|
search: "Buscar provedores",
|
|
noProviders: "Nenhum provedor encontrado",
|
|
actions: {
|
|
add: "Adicionar",
|
|
adding: "Adicionando",
|
|
installed: "Instalado",
|
|
cancel: "Cancelar",
|
|
installInstructions: "Instruções de instalação",
|
|
installInstructionsFor: "Instruções de instalação de {{provider}}",
|
|
},
|
|
errors: {
|
|
unableToInstall: "Não foi possível instalar provedor",
|
|
},
|
|
},
|
|
providerSelection: {
|
|
defaultModel: "Padrão",
|
|
selectModel: "Selecionar modelo",
|
|
loading: "Carregando...",
|
|
error: "Erro",
|
|
unavailable: "Indisponível",
|
|
unknownError: "Erro desconhecido",
|
|
readiness: {
|
|
initialPromptRequired: "O prompt inicial é obrigatório",
|
|
noProviders: "Nenhum provedor disponível no host selecionado",
|
|
modelDefaultsLoading: "Os modelos padrão ainda estão carregando",
|
|
noModelAvailable: "Nenhum modelo disponível para o provedor selecionado",
|
|
workspaceDirectoryNotFound: "Diretório do workspace não encontrado",
|
|
hostDisconnected: "Host não está conectado",
|
|
},
|
|
},
|
|
pairing: {
|
|
connectionMethods: {
|
|
title: "Adicionar conexão",
|
|
direct: {
|
|
title: "Conexão direta",
|
|
description: "Rede local ou VPN.",
|
|
},
|
|
scanQr: {
|
|
title: "Escanear QR code",
|
|
description: "Conexão relay criptografada.",
|
|
},
|
|
pasteLink: {
|
|
title: "Colar link de pareamento",
|
|
description: "Conexão relay criptografada.",
|
|
},
|
|
},
|
|
direct: {
|
|
title: "Conexão direta",
|
|
helper: "Informe o endereço de um servidor Paseo.",
|
|
fields: {
|
|
host: "Host",
|
|
port: "Porta",
|
|
password: "Senha",
|
|
optional: "Opcional",
|
|
useSsl: "Usar SSL",
|
|
connectionUri: "URI da conexão",
|
|
},
|
|
advanced: {
|
|
label: "Avançado",
|
|
show: "Mostrar avançado",
|
|
hide: "Ocultar avançado",
|
|
},
|
|
passwordVisibility: {
|
|
show: "Mostrar senha",
|
|
hide: "Ocultar senha",
|
|
},
|
|
actions: {
|
|
cancel: "Cancelar",
|
|
connect: "Conectar",
|
|
connecting: "Conectando...",
|
|
},
|
|
errors: {
|
|
hostRequired: "Host é obrigatório",
|
|
invalidPort: "A porta deve estar entre 1 e 65535",
|
|
invalidConnection: "Conexão inválida",
|
|
failedTitle: "Falha na conexão",
|
|
failedToConnect: "Não foi possível conectar a {{endpoint}}.",
|
|
noAdditionalDetails: "{{detail}} (nenhum detalhe adicional fornecido)",
|
|
timedOut: "A conexão expirou. Verifique o host/porta e sua rede.",
|
|
refused: "Conexão recusada. O servidor está em execução neste endereço?",
|
|
hostNotFound: "Host não encontrado. Verifique o hostname e tente novamente.",
|
|
hostUnreachable: "Host inacessível. Verifique sua rede e firewall.",
|
|
tlsError:
|
|
"Erro de TLS. Conexões diretas usam SSL apenas quando há um terminador TLS na frente do daemon.",
|
|
unableToConnect:
|
|
"Não foi possível conectar. Verifique o host/porta e se o daemon está acessível.",
|
|
details: "Detalhes: {{detail}}",
|
|
},
|
|
},
|
|
link: {
|
|
title: "Colar link de pareamento",
|
|
helper: "Cole o link de pareamento do seu servidor.",
|
|
label: "Link de pareamento",
|
|
errors: {
|
|
required: "Cole um link de pareamento (.../#offer=...)",
|
|
missingOffer: "O link deve incluir #offer=...",
|
|
emptyOffer: "O payload da oferta está vazio",
|
|
invalid: "Link de pareamento inválido",
|
|
unableToPair: "Não foi possível parear host",
|
|
},
|
|
alert: {
|
|
failedTitle: "Falha no pareamento",
|
|
},
|
|
actions: {
|
|
cancel: "Cancelar",
|
|
pair: "Parear",
|
|
pairing: "Pareando...",
|
|
},
|
|
},
|
|
scan: {
|
|
title: "Escanear QR",
|
|
webUnavailableTitle: "Indisponível na web",
|
|
webUnavailableBody:
|
|
'Escanear QR não é compatível com a build web. Use "Colar link" em vez disso.',
|
|
backToSettings: "Voltar para Configurações",
|
|
cameraPermissionTitle: "Permissão da câmera",
|
|
cameraPermissionBody:
|
|
"Permita acesso à câmera para escanear o QR code de pareamento do daemon.",
|
|
grantPermission: "Conceder permissão",
|
|
pairing: "Pareando...",
|
|
unableToPair: "Não foi possível parear host",
|
|
errorTitle: "Erro",
|
|
},
|
|
device: {
|
|
loadingOffer: "Carregando oferta de pareamento...",
|
|
failedToLoadOffer: "Falha ao carregar oferta de pareamento.",
|
|
relayDisabled: "Relay não está ativado. Ative o relay para parear um dispositivo.",
|
|
unavailable: "Oferta de pareamento indisponível.",
|
|
hint: "Escaneie este QR code com o Paseo no seu celular ou copie o link abaixo.",
|
|
qrUnavailable: "QR code indisponível.",
|
|
retry: "Tentar novamente",
|
|
copy: "Copiar",
|
|
copied: "Copiado",
|
|
},
|
|
},
|
|
realtimeVoice: {
|
|
actions: {
|
|
mute: "Silenciar voz em tempo real",
|
|
unmute: "Ativar voz em tempo real",
|
|
stop: "Parar voz em tempo real e interromper a resposta",
|
|
},
|
|
},
|
|
rewind: {
|
|
tooltip: "Voltar para esta mensagem",
|
|
warning: "Esta ação não pode ser desfeita",
|
|
actions: {
|
|
conversation: "Reverter conversa",
|
|
files: "Reverter arquivos",
|
|
both: "Reverter conversa e arquivos",
|
|
},
|
|
errors: {
|
|
failed: "Falha ao reverter agente",
|
|
},
|
|
},
|
|
diffViewer: {
|
|
empty: "Nenhuma alteração para exibir",
|
|
},
|
|
serviceUrl: {
|
|
title: "Abrir URL do serviço",
|
|
message: "Abrir {{url}}?",
|
|
inPaseo: "No Paseo",
|
|
externalBrowser: "Navegador externo",
|
|
dontAskAgain: "Não perguntar novamente",
|
|
},
|
|
downloads: {
|
|
requestTokenFailed: "Falha ao solicitar token de download.",
|
|
hostUnavailable: "Host de download indisponível.",
|
|
cancelled: "Download cancelado.",
|
|
failed: "Falha ao baixar arquivo.",
|
|
shareFile: "Compartilhar arquivo",
|
|
shareFileNamed: "Compartilhar {{fileName}}",
|
|
},
|
|
menu: {
|
|
backdrop: "Fundo do menu",
|
|
},
|
|
subagents: {
|
|
detachAction: "Desanexar {{label}}",
|
|
detachTooltip: "Desanexar subagente",
|
|
archiveAction: "Arquivar {{label}}",
|
|
archiveTooltip: "Arquivar subagente",
|
|
archiveFinishedAction: "Arquivar subagentes concluídos",
|
|
archiveFinishedTooltip: "Arquivar concluídos",
|
|
},
|
|
panels: {
|
|
draft: {
|
|
newAgent: "Novo Agente",
|
|
creatingAgent: "Criando agente",
|
|
},
|
|
file: {
|
|
directoryMissing: "Diretório do workspace não encontrado.",
|
|
loading: "Carregando arquivo...",
|
|
noPreview: "Nenhuma prévia disponível",
|
|
binaryPreviewUnavailable: "Prévia binária indisponível",
|
|
failedToLoad: "Falha ao carregar arquivo",
|
|
failedToLoadPreview: "Falha ao carregar prévia do arquivo",
|
|
editor: {
|
|
fileSize: "Tamanho {{size}}",
|
|
lines: "{{count}} linhas",
|
|
editorStatus: "Status do editor: {{status}}",
|
|
unsavedChanges: "Alterações não salvas",
|
|
saving: "Salvando...",
|
|
saveFailed: "Falha ao salvar",
|
|
changedOnDisk: "Alterado no disco",
|
|
vimMode: "Modo Vim {{mode}}",
|
|
cursor: "Linha {{line}}, coluna {{column}}",
|
|
preview: "Prévia",
|
|
source: "Fonte",
|
|
deletedTitle: "Arquivo excluído do disco",
|
|
checkFailedTitle: "Não foi possível verificar o arquivo no disco",
|
|
preservedDescription: "A cópia aberta foi preservada.",
|
|
conflictDescription: "O conteúdo local foi preservado. Escolha qual versão manter.",
|
|
overwrite: "Sobrescrever",
|
|
reload: "Recarregar",
|
|
reloadTitle: "Recarregar do disco?",
|
|
reloadMessage: "Suas alterações locais serão perdidas.",
|
|
},
|
|
},
|
|
diff: {
|
|
changesLabel: "Alterações",
|
|
changesSubtitle: "Diff da árvore de trabalho",
|
|
commitSubtitle: "Diff do commit",
|
|
uncommittedSubtitle: "Alterações não commitadas",
|
|
baseSubtitle: "Comparado com {{baseRef}}",
|
|
directoryMissing: "Diretório do workspace não encontrado.",
|
|
empty: "Nenhuma alteração",
|
|
loadError: "Falha ao carregar diff",
|
|
capabilityMissing: "Atualize o host para ver diffs de commits.",
|
|
},
|
|
},
|
|
toolCallDetails: {
|
|
error: "Erro",
|
|
empty: "Nenhum detalhe adicional disponível",
|
|
subAgentActivity: "Atividade do subagente",
|
|
input: "Entrada",
|
|
output: "Saída",
|
|
},
|
|
toolCallGroup: {
|
|
editedFiles: {
|
|
one: "editou {{count}} arquivo",
|
|
other: "editou {{count}} arquivos",
|
|
},
|
|
commands: {
|
|
one: "executou {{count}} comando",
|
|
other: "executou {{count}} comandos",
|
|
},
|
|
readFiles: {
|
|
one: "leu {{count}} arquivo",
|
|
other: "leu {{count}} arquivos",
|
|
},
|
|
searches: {
|
|
one: "pesquisou {{count}} vez",
|
|
other: "pesquisou {{count}} vezes",
|
|
},
|
|
otherTools: {
|
|
one: "usou {{count}} outra ferramenta",
|
|
other: "usou {{count}} outras ferramentas",
|
|
},
|
|
paseoCalls: {
|
|
one: "chamou o Paseo {{count}} vez",
|
|
other: "chamou o Paseo {{count}} vezes",
|
|
},
|
|
and: "e",
|
|
},
|
|
renameModal: {
|
|
rename: "Renomear",
|
|
saving: "Salvando...",
|
|
},
|
|
sidebarCallout: {
|
|
dismiss: "Dispensar",
|
|
},
|
|
contextWindow: {
|
|
title: "Janela de contexto",
|
|
used: "{{percentage}}% usado",
|
|
tokens: "{{used}} / {{max}} tokens",
|
|
sessionCost: "Custo da sessão {{cost}}",
|
|
accessibility: "Janela de contexto {{percentage}}% usada",
|
|
},
|
|
review: {
|
|
comment: {
|
|
add: "Adicionar comentário de revisão",
|
|
edit: "Editar comentário de revisão",
|
|
delete: "Excluir comentário de revisão",
|
|
label: "Comentário de revisão",
|
|
placeholder: "Deixe um comentário",
|
|
cancel: "Cancelar",
|
|
cancelAccessibility: "Cancelar comentário de revisão",
|
|
save: "Comentar",
|
|
saveAccessibility: "Salvar comentário de revisão",
|
|
},
|
|
},
|
|
settings: {
|
|
title: "Configurações",
|
|
loading: "Carregando configurações...",
|
|
groups: {
|
|
app: "App",
|
|
host: "Host",
|
|
},
|
|
hostPicker: {
|
|
switchHost: "Trocar host",
|
|
local: "Local",
|
|
},
|
|
backToWorkspace: "Voltar",
|
|
addHost: "Adicionar host",
|
|
enableBuiltInDaemon: "Ativar o daemon integrado",
|
|
projects: "Projetos",
|
|
projectList: {
|
|
hostLoadFailed: "Não foi possível carregar projetos do host {{hostName}}: {{message}}",
|
|
editProject: "Editar {{projectName}}",
|
|
},
|
|
groupInfo: "Sobre {{title}}",
|
|
sections: {
|
|
general: "Geral",
|
|
appearance: "Aparência",
|
|
editor: "Editor",
|
|
shortcuts: "Atalhos",
|
|
integrations: "Integrações",
|
|
permissions: "Permissões",
|
|
diagnostics: "Diagnósticos",
|
|
about: "Sobre",
|
|
},
|
|
editor: {
|
|
title: "Editor",
|
|
vimKeybindings: "Atalhos do Vim",
|
|
vimHint: "Aplica-se a arquivos-fonte na web e no desktop.",
|
|
},
|
|
hostSections: {
|
|
projects: "Projetos",
|
|
connections: "Conexões",
|
|
agents: "Agentes",
|
|
workspaces: "Workspaces",
|
|
providers: "Provedores",
|
|
usage: "Uso",
|
|
terminals: "Terminais",
|
|
host: "Visão geral",
|
|
},
|
|
general: {
|
|
title: "Geral",
|
|
browserData: {
|
|
title: "Dados do navegador",
|
|
siteData: "Cookies e dados de sites",
|
|
description: "As abas do navegador compartilham logins e dados de sites no Paseo.",
|
|
clear: "Limpar dados do navegador",
|
|
clearing: "Limpando...",
|
|
confirmTitle: "Limpar dados do navegador?",
|
|
confirmMessage:
|
|
"Você será desconectado dos sites e as abas abertas do navegador serão recarregadas.",
|
|
success: "Dados do navegador limpos.",
|
|
error: "Não foi possível limpar os dados do navegador.",
|
|
},
|
|
defaultSend: {
|
|
label: "Envio padrão",
|
|
descriptions: {
|
|
interrupt:
|
|
"Quando o agente está em execução, Enter interrompe. Command/Ctrl+Enter enfileira.",
|
|
queue: "Quando o agente está em execução, Enter enfileira. Command/Ctrl+Enter envia.",
|
|
},
|
|
options: {
|
|
interrupt: "Interromper",
|
|
queue: "Fila",
|
|
},
|
|
},
|
|
serviceUrls: {
|
|
label: "URLs de serviço",
|
|
description: "Onde abrir URLs de scripts em execução",
|
|
options: {
|
|
ask: "Perguntar",
|
|
inApp: "No Paseo",
|
|
external: "Navegador externo",
|
|
},
|
|
},
|
|
terminalScrollback: {
|
|
label: "Scrollback do terminal",
|
|
description: "Linhas mantidas no buffer do terminal integrado",
|
|
accessibilityLabel: "Linhas do scrollback do terminal",
|
|
},
|
|
autoExpandReasoning: {
|
|
label: "Sempre expandir raciocínio",
|
|
description:
|
|
"Mostrar os blocos de pensamento e raciocínio do agente totalmente expandidos por padrão",
|
|
},
|
|
toolCallDetail: {
|
|
label: "Exibição de chamadas de ferramentas",
|
|
description: "Como as chamadas de ferramentas aparecem na linha do tempo",
|
|
accessibilityLabel: "Selecionar exibição de chamadas de ferramentas ({{value}})",
|
|
options: {
|
|
overview: "Resumo",
|
|
detailed: "Detalhes completos",
|
|
},
|
|
},
|
|
language: {
|
|
label: "Idioma",
|
|
description: "Idioma do app",
|
|
options: {
|
|
system: "Sistema",
|
|
ar: "Árabe",
|
|
en: "Inglês",
|
|
es: "Espanhol",
|
|
fr: "Francês",
|
|
ja: "Japonês",
|
|
ptBR: "Português brasileiro",
|
|
ru: "Russo",
|
|
zhCN: "Chinês simplificado",
|
|
},
|
|
},
|
|
},
|
|
diagnostics: {
|
|
title: "Diagnósticos",
|
|
testAudio: "Testar áudio",
|
|
playTest: "Reproduzir teste",
|
|
playing: "Reproduzindo...",
|
|
playbackFailed: "Falha na reprodução: {{message}}",
|
|
app: {
|
|
title: "App diagnostic",
|
|
rowTitle: "App diagnostic",
|
|
rowHint: "Collect connection, daemon, provider, desktop, and log details",
|
|
run: "Run",
|
|
running: "Running diagnostic...",
|
|
copyLabel: "diagnostic",
|
|
copyAccessibility: "Copy diagnostic",
|
|
copyFailed: "Failed to copy diagnostic",
|
|
refreshAccessibility: "Refresh diagnostic",
|
|
refreshingAccessibility: "Refreshing diagnostic",
|
|
progress: {
|
|
client: "Client",
|
|
desktop: "Desktop",
|
|
},
|
|
},
|
|
},
|
|
about: {
|
|
title: "Sobre",
|
|
appVersion: "Versão do app",
|
|
thisDevice: "Este dispositivo",
|
|
connectedHosts: "Hosts conectados",
|
|
offline: "Offline",
|
|
versionDiffers: "A versão é diferente da deste dispositivo",
|
|
releaseChannel: {
|
|
label: "Canal de lançamento",
|
|
description: "Troque para Beta para receber atualizações antes e ajudar a moldá-las",
|
|
stable: "Stable",
|
|
beta: "Beta",
|
|
},
|
|
updates: {
|
|
label: "Atualizações do app",
|
|
readyToInstall: "Pronta para instalar: {{version}}",
|
|
installTitle: "Instalar atualização desktop",
|
|
installMessage: "Isso atualiza o Paseo neste computador",
|
|
installConfirm: "Instalar atualização",
|
|
update: "Atualizar",
|
|
updateTo: "Atualizar para {{version}}",
|
|
installing: "Instalando...",
|
|
check: "Verificar",
|
|
checking: "Verificando...",
|
|
alertTitle: "Erro",
|
|
alertMessage: "Não foi possível abrir o diálogo de confirmação da atualização.",
|
|
},
|
|
},
|
|
appearance: {
|
|
theme: {
|
|
title: "Tema",
|
|
accessibilityLabel: "Tema: {{value}}",
|
|
options: {
|
|
light: "Claro",
|
|
dark: "Escuro",
|
|
zinc: "Zinc",
|
|
midnight: "Midnight",
|
|
claude: "Claude",
|
|
ghostty: "Ghostty",
|
|
auto: "Sistema",
|
|
},
|
|
},
|
|
detailLevel: {
|
|
title: "Nível de detalhe",
|
|
},
|
|
fonts: {
|
|
title: "Fontes",
|
|
systemDefault: "Sistema padrão",
|
|
interfaceFont: "Fonte da interface",
|
|
interfaceFontHint: "Usada em todo o app. Deixe vazio para usar o padrão do sistema",
|
|
interfaceFontAccessibility: "Família da fonte da interface",
|
|
interfaceSize: "Tamanho da interface",
|
|
interfaceSizeAccessibility: "Tamanho da fonte da interface",
|
|
codeFont: "Fonte de código",
|
|
codeFontHint:
|
|
"Usada em código, diffs e saída do terminal. Deixe vazio para usar o padrão do sistema",
|
|
codeFontAccessibility: "Família da fonte de código",
|
|
codeSize: "Tamanho do código",
|
|
codeSizeAccessibility: "Tamanho da fonte de código",
|
|
},
|
|
syntax: {
|
|
title: "Sintaxe",
|
|
highlightTheme: "Tema de destaque",
|
|
highlightThemeHint: "Cores para código, independentes do tema do app",
|
|
highlightThemeAccessibility: "Tema de destaque: {{value}}",
|
|
previewAccessibility: "Prévia ao vivo do tema de sintaxe e da fonte de código",
|
|
},
|
|
},
|
|
shortcuts: {
|
|
dialogTitle: "Atalhos",
|
|
searchPlaceholder: "Pesquisar atalhos",
|
|
unavailableOnMobile: "Atalhos de teclado estão disponíveis apenas no desktop",
|
|
capturePrompt: "Pressione o atalho...",
|
|
actions: {
|
|
done: "Concluído",
|
|
cancel: "Cancelar",
|
|
rebind: "Reatribuir",
|
|
reset: "Redefinir",
|
|
resetAll: "Redefinir tudo",
|
|
},
|
|
sections: {
|
|
navigation: "Navegação",
|
|
tabsPanes: "Abas e painéis",
|
|
projects: "Projetos",
|
|
panels: "Painéis",
|
|
agentInput: "Entrada do agente",
|
|
},
|
|
help: {
|
|
openProject: "Abrir projeto",
|
|
newWorkspace: "Novo workspace",
|
|
newWorktree: "Novo worktree",
|
|
archiveWorkspace: "Arquivar workspace",
|
|
newTab: "Nova aba",
|
|
closeCurrentTab: "Fechar aba atual",
|
|
jumpToWorkspace: "Ir para workspace",
|
|
jumpToTab: "Ir para aba",
|
|
previousWorkspace: "Workspace anterior",
|
|
nextWorkspace: "Próximo workspace",
|
|
previousTab: "Aba anterior",
|
|
nextTab: "Próxima aba",
|
|
splitPaneRight: "Dividir painel à direita",
|
|
splitPaneDown: "Dividir painel abaixo",
|
|
focusPaneLeft: "Focar painel à esquerda",
|
|
focusPaneRight: "Focar painel à direita",
|
|
focusPaneUp: "Focar painel acima",
|
|
focusPaneDown: "Focar painel abaixo",
|
|
moveTabLeft: "Mover aba para a esquerda",
|
|
moveTabRight: "Mover aba para a direita",
|
|
moveTabUp: "Mover aba para cima",
|
|
moveTabDown: "Mover aba para baixo",
|
|
closePane: "Fechar painel",
|
|
newTerminal: "Novo terminal",
|
|
toggleCommandCenter: "Alternar central de comandos",
|
|
showKeyboardShortcuts: "Mostrar atalhos de teclado",
|
|
toggleLeftSidebar: "Alternar barra lateral esquerda",
|
|
toggleRightSidebar: "Alternar barra lateral direita",
|
|
toggleBothSidebars: "Alternar ambas as barras laterais",
|
|
toggleSettings: "Alternar Configurações",
|
|
toggleFocusMode: "Alternar modo de foco",
|
|
cycleTheme: "Alternar tema",
|
|
focusMessageInput: "Focar entrada de mensagem",
|
|
cycleAgentMode: "Alternar modo do agente",
|
|
toggleVoiceMode: "Alternar modo de voz",
|
|
startStopDictation: "Iniciar/parar ditado",
|
|
interruptAgent: "Interromper agente",
|
|
sendMessage: "Enviar mensagem",
|
|
queueMessage: "Enfileirar mensagem",
|
|
muteUnmuteVoiceMode: "Silenciar/ativar modo de voz",
|
|
switchProject: "Trocar projeto",
|
|
},
|
|
helpNotes: {
|
|
showKeyboardShortcuts:
|
|
"Disponível quando o foco não está em um campo de texto ou terminal.",
|
|
},
|
|
},
|
|
integrations: {
|
|
title: "Integrações",
|
|
docs: {
|
|
cli: "Docs da CLI",
|
|
skills: "Docs das skills",
|
|
openCli: "Abrir documentação da CLI",
|
|
openSkills: "Abrir documentação das skills",
|
|
},
|
|
commandLine: {
|
|
title: "Linha de comando",
|
|
description: "Controle agentes e execute scripts pelo terminal",
|
|
},
|
|
skills: {
|
|
title: "Skills de orquestração",
|
|
description: "Ensine seus agentes a orquestrar pela CLI",
|
|
updateAvailable: "Atualização disponível",
|
|
updateTitle: "Atualizar Paseo skills?",
|
|
updateFallback: "Sincronize as skills incluídas com sua máquina.",
|
|
uninstallTitle: "Desinstalar Paseo skills?",
|
|
uninstallMessage:
|
|
"Remove todas as skills de orquestração do Paseo de ~/.agents, ~/.claude e ~/.codex.",
|
|
choose: "Escolher skills",
|
|
chooseAll: "Todas as skills",
|
|
chooseAllHint:
|
|
"Mantenha instaladas todas as skills incluídas, inclusive as adicionadas depois.",
|
|
chooseList: "Skills incluídas",
|
|
chooseEmpty: "Esta versão não inclui skills.",
|
|
removeTitle: "Remover as skills desmarcadas?",
|
|
removeMessage:
|
|
"{{skills}} serão excluídas de ~/.agents, ~/.claude e ~/.codex. Tudo o que você adicionou dentro dessas pastas de skills também é excluído.",
|
|
saveFailed: "Não foi possível salvar sua seleção de skills.",
|
|
},
|
|
actions: {
|
|
install: "Instalar",
|
|
installing: "Instalando...",
|
|
installed: "Instalado",
|
|
update: "Atualizar",
|
|
working: "Trabalhando...",
|
|
remove: "Remover",
|
|
uninstall: "Desinstalar",
|
|
save: "Salvar",
|
|
saving: "Salvando...",
|
|
},
|
|
operations: {
|
|
add: "Adicionar skill",
|
|
update: "Atualizar skill",
|
|
delete: "Excluir skill",
|
|
},
|
|
},
|
|
permissions: {
|
|
title: "Permissões",
|
|
notifications: "Notificações",
|
|
microphone: "Microfone",
|
|
refresh: "Atualizar",
|
|
refreshing: "Atualizando...",
|
|
refreshAccessibility: "Atualizar permissões do desktop",
|
|
test: "Testar",
|
|
actions: {
|
|
granted: "Concedida",
|
|
request: "Solicitar",
|
|
requesting: "Solicitando...",
|
|
busySuffix: "{{label}}...",
|
|
},
|
|
},
|
|
host: {
|
|
notFound: "Host não encontrado",
|
|
badges: {
|
|
relay: "Relay",
|
|
local: "Local",
|
|
},
|
|
connections: {
|
|
title: "Conexões",
|
|
removeTitle: "Remover conexão",
|
|
removeMessage: "Remover {{name}}? Isso não pode ser desfeito.",
|
|
removeAction: "Remover",
|
|
removeErrorTitle: "Erro",
|
|
removeErrorMessage: "Não foi possível remover a conexão",
|
|
timeout: "Timeout",
|
|
},
|
|
pairDevices: {
|
|
title: "Parear dispositivos",
|
|
rowTitle: "Parear um dispositivo",
|
|
rowHint: "Escaneie um QR code ou copie um link para conectar seu celular a este host",
|
|
},
|
|
orchestration: {
|
|
title: "Orquestração",
|
|
unavailable: "Conecte-se a este host para gerenciar a orquestração",
|
|
enableTools: {
|
|
title: "Ativar ferramentas do Paseo",
|
|
hint: "Agentes poderão gerenciar worktrees, agentes e agendamentos",
|
|
accessibilityLabel: "Injetar ferramentas do Paseo",
|
|
},
|
|
systemPrompt: {
|
|
title: "Prompt do sistema",
|
|
hint: "Adiciona um prompt do sistema a todos os agentes",
|
|
sheetTitle: "Acrescentar prompt do sistema",
|
|
accessibilityLabel: "Acrescentar prompt do sistema",
|
|
placeholder: "Mantenha as respostas sempre concisas.",
|
|
edit: "Editar",
|
|
reset: "Redefinir",
|
|
save: "Salvar",
|
|
saving: "Salvando...",
|
|
},
|
|
},
|
|
agents: {
|
|
unavailable: "Conecte-se a este host para gerenciar agentes",
|
|
},
|
|
workspaces: {
|
|
unavailable: "Conecte-se a este host para gerenciar workspaces",
|
|
},
|
|
terminalProfiles: {
|
|
unavailable: "Conecte-se a este host para gerenciar perfis de terminal",
|
|
sectionTitle: "Perfis de terminal",
|
|
editProfile: "Editar perfil",
|
|
addProfileTitle: "Adicionar perfil de terminal",
|
|
editProfileTitle: "Editar perfil de terminal",
|
|
namePlaceholder: "Claude Code",
|
|
commandPlaceholder: "claude",
|
|
argsPlaceholder: "--dangerously-skip-permissions",
|
|
nameLabel: "Nome",
|
|
commandLabel: "Comando",
|
|
argsLabel: "Argumentos",
|
|
nameRequired: "O nome é obrigatório",
|
|
commandRequired: "O comando é obrigatório",
|
|
argsHint: "Argumentos separados por espaço passados para o comando",
|
|
saving: "Salvando...",
|
|
remove: "Remover",
|
|
removeConfirmTitle: "Remover perfil?",
|
|
removeConfirmMessage: 'Remover "{{name}}"?',
|
|
moveUp: "Mover para cima",
|
|
moveDown: "Mover para baixo",
|
|
save: "Salvar",
|
|
emptyState:
|
|
"Nenhum perfil ainda. Adicione um para abrir terminais com um comando específico.",
|
|
},
|
|
daemon: {
|
|
rename: {
|
|
editLabel: "Editar rótulo",
|
|
title: "Renomear host",
|
|
placeholder: "Meu Host",
|
|
submit: "Renomear",
|
|
},
|
|
restart: {
|
|
title: "Reiniciar daemon",
|
|
hint: "Reinicia o processo do daemon. O app reconectará automaticamente",
|
|
confirm: "Reiniciar",
|
|
confirmTitle: "Reiniciar {{name}}",
|
|
confirmMessage:
|
|
"Isso vai reiniciar o daemon. Agentes em execução nele continuarão rodando; o app reconectará automaticamente.",
|
|
restarting: "Reiniciando...",
|
|
unableToReconnectTitle: "Não foi possível reconectar",
|
|
unableToReconnectMessage:
|
|
"{{name}} não voltou a ficar online. Verifique se ele reiniciou.",
|
|
unavailableTitle: "Host indisponível",
|
|
unavailableMessage:
|
|
"Este host não está conectado. Aguarde até ele ficar online antes de reiniciar.",
|
|
offlineTitle: "Host offline",
|
|
offlineMessage:
|
|
"Este host está offline. O Paseo reconecta automaticamente. Aguarde ele voltar a ficar online antes de reiniciar.",
|
|
requestFailedTitle: "Erro",
|
|
requestFailedMessage:
|
|
"Falha ao enviar a solicitação de reinício. O Paseo reconecta automaticamente. Tente novamente quando o host aparecer como online.",
|
|
dialogFailedMessage: "Não foi possível abrir o diálogo de confirmação de reinício.",
|
|
},
|
|
update: {
|
|
desktopManagedHint:
|
|
"Este daemon é gerenciado pelo Paseo Desktop. Atualize o Paseo Desktop no host.",
|
|
title: "Atualizar daemon",
|
|
hint: "Atualiza o daemon para a versão mais recente e o reinicia",
|
|
confirm: "Atualizar",
|
|
confirmTitle: "Atualizar {{name}}",
|
|
confirmMessage:
|
|
"Isso vai atualizar o daemon para a versão mais recente e reiniciá-lo. Agentes em execução serão interrompidos brevemente.",
|
|
updating: "Atualizando...",
|
|
phaseStarting: "Preparando atualização...",
|
|
phaseDownloading: "Baixando pacotes...",
|
|
phaseInstalling: "Instalando...",
|
|
phaseComplete: "Atualização concluída, reiniciando...",
|
|
unableToReconnectTitle: "Não foi possível reconectar",
|
|
unableToReconnectMessage:
|
|
"{{name}} não voltou a ficar online após a atualização. Verifique se o daemon reiniciou.",
|
|
unavailableTitle: "Host indisponível",
|
|
unavailableMessage:
|
|
"Este host não está conectado. Aguarde até ele ficar online antes de atualizar.",
|
|
offlineTitle: "Host offline",
|
|
offlineMessage:
|
|
"Este host está offline. Aguarde até ele voltar a ficar online antes de atualizar.",
|
|
requestFailedTitle: "Falha na atualização",
|
|
requestFailedMessage: "Falha ao atualizar o daemon: {{error}}",
|
|
dialogFailedMessage: "Não foi possível abrir o diálogo de confirmação da atualização.",
|
|
},
|
|
dangerZone: "Zona de perigo",
|
|
remove: {
|
|
title: "Remover host",
|
|
localTitle: "Remover conexão localhost",
|
|
hint: "Remove este host e suas conexões salvas deste dispositivo",
|
|
localHint: "Remove localhost deste dispositivo e interrompe o daemon integrado",
|
|
localConfirmTitle: "Remover conexão localhost e parar daemon?",
|
|
confirmMessage: "Remover {{name}}? Isso excluirá suas conexões salvas.",
|
|
localConfirmMessage:
|
|
"Isso vai remover a conexão localhost, desativar o gerenciamento do daemon integrado e parar o daemon gerenciado. Hosts remotos permanecem conectados.",
|
|
errorTitle: "Erro",
|
|
errorMessage: "Não foi possível remover host",
|
|
localErrorMessage: "Não foi possível remover a conexão localhost",
|
|
},
|
|
},
|
|
},
|
|
providers: {
|
|
title: "Provedores",
|
|
addProvider: "Adicionar provedor",
|
|
providerDetails: "Detalhes do provedor {{name}}",
|
|
enableProvider: "Ativar {{name}}",
|
|
unavailable: "Conecte-se a este host para ver provedores",
|
|
loading: "Carregando...",
|
|
addErrorTitle: "Não foi possível adicionar provedor",
|
|
updateErrorTitle: "Não foi possível atualizar provedor",
|
|
actions: {
|
|
menu: "{{name}} actions",
|
|
remove: "Remove provider",
|
|
removing: "Removing...",
|
|
},
|
|
remove: {
|
|
confirmTitle: "Remove {{name}}?",
|
|
confirmMessage: "This deletes the provider entry from config.json. It cannot be undone.",
|
|
confirm: "Remove",
|
|
errorTitle: "Unable to remove provider",
|
|
},
|
|
statuses: {
|
|
disabled: "Desativado",
|
|
loading: "Carregando",
|
|
error: "Erro",
|
|
available: "Disponível",
|
|
notInstalled: "Não instalado",
|
|
},
|
|
models: {
|
|
one: "1 modelo",
|
|
many: "{{count}} modelos",
|
|
addModel: "Adicionar modelo",
|
|
addCustomTitle: "Adicionar modelo personalizado",
|
|
modelId: "ID do modelo",
|
|
modelIdPlaceholder: "e.g. openai/gpt-5",
|
|
add: "Adicionar",
|
|
adding: "Adicionando...",
|
|
failedToSave: "Falha ao salvar modelo",
|
|
removeModel: "Remover {{id}}",
|
|
searchPlaceholder: "Buscar modelos",
|
|
loading: "Carregando modelos...",
|
|
retry: "Tentar novamente",
|
|
retrying: "Tentando novamente...",
|
|
noSearchMatches: "Nenhum modelo corresponde à sua busca",
|
|
noneDetected: "Nenhum modelo detectado",
|
|
discovered: "Descobertos",
|
|
custom: "Modelos personalizados",
|
|
updated: "Atualizado {{time}}",
|
|
},
|
|
diagnostic: {
|
|
title: "Diagnóstico",
|
|
button: "Diagnóstico",
|
|
refresh: "Atualizar",
|
|
refreshing: "Atualizando...",
|
|
copyLabel: "diagnóstico",
|
|
copyAccessibility: "Copiar diagnóstico",
|
|
copyFailed: "Falha ao copiar diagnóstico",
|
|
refreshAccessibility: "Atualizar diagnóstico",
|
|
refreshingAccessibility: "Atualizando diagnóstico",
|
|
running: "Executando diagnóstico...",
|
|
none: "Nenhum diagnóstico disponível",
|
|
failedToFetch: "Falha ao buscar diagnóstico",
|
|
unknownError: "Erro desconhecido",
|
|
},
|
|
},
|
|
project: {
|
|
noEditableTarget: "Este projeto não pode ser editado neste host.",
|
|
backToProjects: "Voltar para projetos",
|
|
edit: {
|
|
title: "Editar projeto",
|
|
name: "Nome",
|
|
nameLabel: "Nome do projeto",
|
|
icon: "Ícone",
|
|
chooseImage: "Escolher imagem",
|
|
useAutomatic: "Usar automático",
|
|
imageUrl: "URL de imagem ou site",
|
|
save: "Salvar alterações",
|
|
savedToast: "Projeto atualizado",
|
|
},
|
|
readFailures: {
|
|
invalidTitle: "Não foi possível analisar paseo.json",
|
|
invalidDescription: "Corrija o arquivo no disco e recarregue.",
|
|
missingTitle: "Este host não tem este projeto",
|
|
missingSingleHost: "O host selecionado não tem registro deste projeto.",
|
|
transportTitle: "Não foi possível carregar paseo.json",
|
|
transportFallback: "O host não respondeu.",
|
|
failedTitle: "Não foi possível carregar paseo.json",
|
|
failedDescription: "Recarregue para tentar novamente.",
|
|
},
|
|
worktree: {
|
|
title: "Hooks de ciclo de vida do worktree",
|
|
info: "Comandos executados quando um worktree é criado ou desmontado para este projeto",
|
|
docs: "Docs",
|
|
docsTooltip:
|
|
"Veja a documentação para mais detalhes e as variáveis de ambiente disponíveis para estes comandos",
|
|
setup: "Configuração",
|
|
setupAccessibility: "Comandos de configuração do worktree",
|
|
teardown: "Desmontagem",
|
|
teardownAccessibility: "Comandos de desmontagem do worktree",
|
|
},
|
|
scripts: {
|
|
title: "Scripts",
|
|
info: "Serviços contínuos e comandos avulsos que você pode iniciar de qualquer agente neste projeto",
|
|
empty: "Nenhum script ainda.",
|
|
untitled: "Script sem título",
|
|
port: "porta {{port}}",
|
|
menuAccessibility: "Abrir menu do script",
|
|
removeTitle: "Remover script?",
|
|
removeMessage: "Remover {{name}}?",
|
|
removeFallbackName: "este script",
|
|
name: "Nome",
|
|
command: "Comando",
|
|
nameAccessibility: "Nome do script",
|
|
commandAccessibility: "Comando do script",
|
|
nameRequired: "O nome é obrigatório",
|
|
commandRequired: "O comando é obrigatório",
|
|
newScript: "Novo script",
|
|
editScript: "Editar {{name}}",
|
|
runAsService: "Executar como serviço",
|
|
serviceHint: "O Paseo supervisiona o processo e atribui uma porta via $PASEO_PORT",
|
|
actions: {
|
|
add: "Adicionar script",
|
|
edit: "Editar",
|
|
remove: "Remover",
|
|
},
|
|
},
|
|
metadata: {
|
|
title: "Geração de metadados",
|
|
info: "Instruções específicas do projeto injetadas nos prompts de IA que o Paseo usa para gerar metadados. Use-as para aplicar convenções da sua equipe, como nomes de branch, estilo de commit ou formato de PR",
|
|
branchName: "Nomes de branch",
|
|
branchNamePlaceholder: "Prefixe branches com feat/ ou fix/, mb/ para branches pessoais",
|
|
commitMessage: "Mensagens de commit",
|
|
commitMessagePlaceholder: "Use Conventional Commits com escopo",
|
|
pullRequest: "Pull requests",
|
|
pullRequestPlaceholder: "Comece com um resumo de um parágrafo e inclua uma seção Test plan",
|
|
},
|
|
writeFailures: {
|
|
staleTitle: "Configuração alterada no disco",
|
|
staleDescription: "Recarregue para buscar o paseo.json mais recente antes de salvar.",
|
|
failedTitle: "Não foi possível salvar paseo.json",
|
|
failedDescription: "Tente novamente ou recarregue a versão mais recente do disco.",
|
|
},
|
|
actions: {
|
|
reload: "Recarregar",
|
|
tryAgain: "Tentar novamente",
|
|
save: "Salvar",
|
|
saved: "Projeto salvo",
|
|
saving: "Salvando...",
|
|
cancel: "Cancelar",
|
|
},
|
|
},
|
|
},
|
|
};
|