"configPath":"O arquivo de configuração do gateway em uso.",
"currentModel":"Usado para novas respostas.",
"selectedModelProvider":"Definido pelo modelo selecionado.",
"selectedModelValue":"Definido pelo modelo selecionado.",
"selectedPreset":"As predefinições nomeadas são somente leitura aqui; edite-as em config.json.",
"presetModel":"Mude para Default para editar modelo e provedor pela WebUI.",
"density":"Armazenado apenas neste navegador.",
"activityMode":"Escolha quanto detalhe de atividade do agente é exibido por padrão.",
"fileEditDisplay":"Escolha se a atividade de edição de arquivo é exibida como contagem de linhas ou como diff.",
"codeWrap":"Mantém linhas longas de código legíveis em telas menores.",
"brandLogos":"Mostra logotipos de provedores terceiros e de CLIs em Configurações.",
"maxResults":"Resultados retornados por cada chamada de web_search.",
"timeout":"Segundos antes de uma requisição de busca expirar.",
"jinaReader":"Usa o Jina Reader para web_fetch quando disponível.",
"imageGeneration":"Expõe generate_image nas conversas quando há um provedor de imagem configurado.",
"imageProvider":"Escolha o provedor do registro usado por generate_image.",
"imageProviderStatus":"A geração de imagens reaproveita as credenciais de Provedores.",
"imageModel":"Nome do modelo enviado ao provedor de imagem selecionado.",
"defaultAspectRatio":"Usado quando o prompt não escolhe uma proporção.",
"defaultImageSize":"Dica de tamanho enviada a provedores compatíveis.",
"maxImagesPerTurn":"Limite superior para uma requisição de generate_image.",
"botName":"Exibido sempre que o nanobot usa um nome visível.",
"botIcon":"Emoji ou texto curto exibido junto ao nome do bot.",
"timezone":"Usado para agendamentos e respostas sensíveis ao horário.",
"cliAppsCatalog":"Instale apenas os adaptadores CLI de apps que o nanobot pode executar localmente; apps nativos permanecem intactos.",
"cliAppsFilter":"Busque por app, categoria ou capacidade.",
"localServiceAccess":"Permite que comandos shell com Acesso Total alcancem serviços localhost.",
"webuiDefaultAccess":"Usado por chats web sem permissão específica de projeto.",
"securityManagedControls":"As buscas na web sempre protegem serviços locais, privados e de metadados. A segurança essencial dos canais fica em config.json.",
"logs":"Abre a pasta de logs do motor nativo.",
"diagnostics":"Exporta um pequeno relatório de runtime para o suporte.",
"localServiceAccessNative":"Permite que comandos shell com Acesso Total alcancem serviços neste Mac.",
"webuiDefaultAccessNative":"Usado por chats nativos sem permissão específica de projeto.",
"contextWindow":"Escolha o orçamento de contexto padrão para esta configuração de modelo.",
"transcription":"Transcreve a entrada do microfone antes de enviá-la. Mensagens de voz dos canais de chat usam as mesmas configurações.",
"transcriptionProvider":"Usa as credenciais do provedor correspondente em Provedores.",
"transcriptionProviderStatus":"As chaves de API ficam em provedores, não nas configurações de transcrição.",
"transcriptionModel":"Deixe como o padrão resolvido, a menos que seu provedor precise de um id de modelo personalizado.",
"transcriptionLanguage":"Dica ISO-639 opcional, como en, zh, ja ou ko."
},
"timezone":{
"select":"Selecionar fuso horário",
"search":"Buscar fuso horário",
"empty":"Nenhum fuso horário correspondente."
},
"cliApps":{
"allCategories":"Todas as categorias",
"availableCount":"{{count}} apps",
"installedCount":"{{count}} CLIs instaladas",
"summary":"{{installed}} de {{total}} CLIs instaladas",
"filterAll":"Todos",
"filterInstalled":"CLIs instaladas",
"filterNotInstalled":"Não instaladas",
"searchPlaceholder":"Buscar CLIs",
"loading":"Carregando Apps CLI...",
"empty":"Nenhum App CLI corresponde a este filtro.",
"statusInstalled":"App pronto",
"statusMissing":"Faltando",
"statusAvailable":"Disponível",
"statusUnsupported":"Não compatível",
"statusNotInstalled":"App não instalado",
"requires":"Requer",
"test":"Testar app",
"update":"Atualizar app",
"uninstall":"Desinstalar app",
"install":"Instalar app",
"readyTitle":"@{{name}} está pronto",
"readyStatus":"Pronto",
"readyTry":"Experimentar @{{name}}",
"readyCopied":"Copiado",
"readyPrompt":"Peça ao nanobot para usar @{{name}} nesta tarefa.",
"description":"Traga suas próprias chaves de provedor. O nanobot lê esses valores da configuração atual e apenas provedores configurados podem ser usados nas predefinições de modelo.",
"thirdPartyBrands":"Nomes de produtos, logotipos e marcas são propriedades de seus respectivos donos. O uso é apenas para identificação e não implica endosso."
},
"image":{
"selectProvider":"Selecionar provedor",
"selectAspect":"Selecionar proporção",
"selectSize":"Selecionar tamanho",
"configureProvider":"Configurar provedor",
"missingCredential":"Configure o provedor antes de habilitar a geração de imagens."
},
"api":{
"title":"Servidor de API",
"openaiCompatible":"API compatível com OpenAI",
"description":"Conecte SDKs e agentes por meio de um endpoint /v1 local.",
"start":"Iniciar servidor de API",
"starting":"Iniciando...",
"stop":"Parar",
"stopping":"Parando...",
"access":"Acesso",
"thisDevice":"Este dispositivo",
"localNetwork":"Rede local",
"localHelp":"Apenas este dispositivo pode se conectar.",
"networkHelp":"Outros dispositivos podem se conectar; é necessária uma chave de API.",
"port":"Porta",
"portHelp":"A API usa esta porta local.",
"apiKey":"Chave de API",
"apiKeyHelp":"Os clientes enviam isto como um token Bearer.",
"apiKeyRequired":"Obrigatória antes de expor a API na rede.",
"apiKeyPlaceholder":"Informe uma chave de API",
"autoInstall":"O suporte à API será instalado automaticamente quando você iniciá-lo."
},
"observability":{
"title":"Observabilidade",
"configured":"Credenciais de tracing estão disponíveis para o nanobot.",
"environment":"Defina LANGFUSE_SECRET_KEY e LANGFUSE_PUBLIC_KEY e reinicie o nanobot.",
"enable":"Habilitar suporte a tracing"
},
"apps":{
"description":"Adicione ferramentas ao nanobot e mencione-as com @ na conversa.",
"cliLabel":"App",
"mcpLabel":"Integração",
"channelLabel":"Canal",
"featureLabel":"Recurso",
"filterAll":"Prontos",
"filterPlugins":"Complementos",
"filterCli":"Apps",
"filterMcp":"Integrações",
"enabledSummary":"{{count}} prontos",
"caption":"{{cli}} apps · {{mcp}} integrações",
"searchPlaceholder":"Buscar ferramentas",
"featured":"Ferramentas",
"loading":"Carregando Apps...",
"empty":"Nenhuma ferramenta corresponde a esta visualização.",
"restartRequired":"Reinicie o nanobot para aplicar os apps e integrações atualizados."
},
"channels":{
"description":"Conecte apps de chat, e-mail e WebUI ao nanobot.",
"description":"Revise as skills de instrução que este agente pode carregar durante uma conversa.",
"caption":"{{available}} disponíveis · {{total}} no total",
"featured":"Skills do agente",
"empty":"Nenhuma skill disponível.",
"sourceWorkspace":"Personalizada",
"sourceBuiltin":"Embutida",
"statusAvailable":"Disponível",
"statusUnavailable":"Indisponível",
"unavailableReason":"Faltando: {{reason}}",
"openDetails":"Abrir detalhes de {{name}}",
"loadingDetail":"Carregando detalhes da skill...",
"loadFailed":"Não foi possível carregar os detalhes da skill.",
"descriptionTitle":"Descrição",
"source":"Origem",
"status":"Status",
"requirements":"Requisitos",
"noRequirements":"Sem requisitos explícitos.",
"commands":"Comandos",
"environment":"Variáveis de ambiente",
"missingCommands":"CLI ausente",
"missingEnvironment":"ENV ausente",
"unavailableReasonLabel":"Motivo da indisponibilidade",
"rawInstructions":"SKILL.md bruto",
"rawInstructionsEmpty":"Sem instruções brutas.",
"detailDescription":"Detalhes de {{name}}."
},
"voice":{
"selectProvider":"Selecionar provedor",
"configureProvider":"Configurar provedor",
"languageAuto":"Auto"
}
},
"chat":{
"fallbackTitle":"Conversa {{id}}",
"forkTitle":"Fork: {{title}}",
"loading":"Carregando…",
"noSessions":"Nenhuma sessão ainda.",
"showMore":"Mostrar mais {{count}}",
"collapsed":"{{count}} conversas ocultas",
"showLess":"Mostrar menos",
"actions":"Ações da conversa {{title}}",
"newInProject":"Iniciar uma nova conversa em {{project}}",
"activity":{
"running":"Agente em execução",
"complete":"Agente finalizado",
"updated":"Nova atividade"
},
"pin":"Fixar",
"unpin":"Desafixar",
"rename":"Renomear",
"renameTitle":"Renomear conversa",
"renameDescription":"Escolha um nome local da barra lateral para esta conversa.",
"renamePlaceholder":"Nome da conversa",
"renameProjectTitle":"Renomear projeto",
"renameProjectDescription":"Escolha um nome local da barra lateral para este projeto.",
"renameProjectPlaceholder":"Nome do projeto",
"renameSave":"Salvar",
"archive":"Arquivar",
"unarchive":"Desarquivar",
"showArchived":"Mostrar arquivadas",
"hideArchived":"Ocultar arquivadas",
"delete":"Excluir",
"newChat":"Nova conversa",
"groups":{
"pinned":"Fixadas",
"all":"Conversas",
"projects":"Projetos",
"today":"Hoje",
"yesterday":"Ontem",
"earlier":"Anteriores",
"archived":"Arquivadas"
}
},
"deleteConfirm":{
"title":"Excluir esta conversa?",
"description":"Esta ação não pode ser desfeita.",
"cancel":"Cancelar",
"confirm":"Excluir",
"automationsDescription":"Esta conversa possui automações agendadas. Excluí-la também excluirá essas automações.",
"moreAutomations":"+ {{count}} a mais",
"confirmWithAutomations":"Excluir",
"schedule":{
"at":"{{time}}",
"every":"A cada {{duration}}",
"cron":"Cron {{expr}}",
"cronWithTz":"Cron {{expr}} · {{tz}}",
"local":"Gatilho local",
"unknown":"Agendamento personalizado"
},
"next":{
"label":"Próxima: {{time}}",
"disabled":"Pausada",
"local":"Aguardando gatilho",
"none":"Sem próxima execução"
}
},
"connection":{
"idle":"Ocioso",
"connecting":"Conectando…",
"open":"Conectado",
"reconnecting":"Reconectando…",
"closed":"Desconectado",
"error":"Erro de conexão"
},
"thread":{
"loadingConversation":"Carregando conversa…",
"empty":{
"greetings":{
"workOn":"Em que vamos trabalhar?",
"start":"Por onde começamos?",
"build":"O que vamos construir hoje?",
"tackle":"O que vamos resolver juntos?"
},
"quickActions":{
"plan":{
"title":"Criar um plano de projeto",
"prompt":"Crie um plano de projeto conciso para o que eu deveria construir em seguida."
},
"analyze":{
"title":"Analisar estes dados",
"prompt":"Ajude-me a analisar estes dados e destaque os padrões mais importantes."
},
"brainstorm":{
"title":"Fazer um brainstorming",
"prompt":"Sugira algumas ideias práticas e tradeoffs para este problema."
},
"code":{
"title":"Escrever código",
"prompt":"Ajude-me a escrever o código desta tarefa, começando pela menor alteração útil."
},
"summarize":{
"title":"Resumir este documento",
"prompt":"Resuma este documento e liste os principais destaques."
},
"more":{
"title":"Mais",
"prompt":"Mostre-me algumas formas úteis com as quais você pode ajudar neste workspace."
}
},
"imageQuickActions":{
"icon":{
"title":"Desenhar um ícone de app",
"prompt":"Gere um ícone de app 1:1 limpo para o nanobot: robô amigável, estilo vetorial simples, paleta suave em azul e branco, sem texto."
},
"sticker":{
"title":"Criar um sticker",
"prompt":"Gere uma imagem estilo sticker de um pequeno assistente robô, com fundo de aparência transparente, expressivo e divertido."
},
"poster":{
"title":"Criar um pôster",
"prompt":"Gere um conceito de pôster polido para um assistente pessoal de IA, composição moderna, hierarquia visual forte, adequado para uma landing page."
},
"product":{
"title":"Mockup de produto",
"prompt":"Gere uma imagem limpa de mockup de produto para um app web de IA conversacional, interface mínima, iluminação premium, moldura de dispositivo realista."
},
"portrait":{
"title":"Retrato estilizado",
"prompt":"Gere um retrato estilizado de um companheiro de IA amigável, luz suave, detalhado mas acessível, estilo de ilustração moderna."
},
"edit":{
"title":"Editar uma imagem",
"prompt":"Ajude-me a editar uma imagem. Peça-me para enviar ou referenciar a imagem primeiro e, em seguida, gere o resultado editado."
}
}
},
"header":{
"toggleSidebar":"Alternar barra lateral",
"newChat":"Iniciar uma nova conversa",
"toggleTheme":"Alternar tema pelo cabeçalho",
"settings":"Abrir configurações",
"sessionInfo":"Detalhes da sessão"
},
"sessionInfo":{
"title":"Sessão",
"untitled":"Conversa sem título",
"automations":"Automações",
"count":"{{count}}",
"loading":"Carregando automações...",
"loadFailed":"Não foi possível carregar as automações.",
"empty":"Ainda não há automações nesta sessão.",
"disabled":"Desligado",
"schedule":{
"at":"{{time}}",
"every":"A cada {{duration}}",
"cron":"Cron {{expr}}",
"cronWithTz":"Cron {{expr}} · {{tz}}",
"local":"Gatilho local",
"unknown":"Agendamento personalizado"
},
"next":{
"label":"{{time}}",
"pending":"Executará em breve",
"disabled":"Pausada",
"local":"Aguardando gatilho",
"none":"Sem próxima execução"
}
},
"composer":{
"placeholderThread":"Digite sua mensagem…",
"placeholderHero":"Pergunte qualquer coisa...",
"placeholderOpening":"Abrindo uma nova conversa…",
"placeholderStreaming":"O modelo está respondendo…",
"inputAria":"Campo de mensagem",
"sendHint":"Enter para enviar · Shift+Enter para nova linha",
"fileEditShowMoreLines":"Mostrar mais {{count}} linhas",
"fileEditShowFewerLines":"Mostrar menos linhas",
"fileEditOpenFile":"Abrir arquivo",
"fileEditDiffTruncated":"Diff truncado. Abra o arquivo para ver a alteração completa."
},
"lightbox":{
"title":"Pré-visualização de imagem",
"open":"Ver imagem",
"prev":"Imagem anterior",
"next":"Próxima imagem",
"close":"Fechar pré-visualização"
},
"filePreview":{
"aria":"Pré-visualização de arquivo",
"close":"Fechar pré-visualização de arquivo",
"loading":"Carregando pré-visualização...",
"failed":"Não foi possível pré-visualizar este arquivo.",
"routeMissing":"A pré-visualização de arquivo precisa do gateway mais recente. Reinicie o nanobot gateway e tente novamente.",
"resize":"Redimensionar pré-visualização de arquivo",
"truncated":"A pré-visualização foi truncada porque este arquivo é grande."
},
"code":{
"fallbackLanguage":"código",
"copyAria":"Copiar código",
"copy":"Copiar",
"copied":"Copiado"
},
"common":{
"dismiss":"Descartar"
},
"errors":{
"messageTooBig":{
"title":"Mensagem grande demais",
"body":"O servidor rejeitou sua última mensagem porque ela excedeu o limite de tamanho. Remova algumas imagens ou tente arquivos menores e envie novamente."
},
"workspaceScopeRejected":{
"title":"O workspace não foi alterado",
"body":"O nanobot manteve o workspace anterior porque o projeto ou modo de acesso solicitado foi rejeitado pelo gateway."
}
},
"workspace":{
"dialog":{
"defaultProject":"Workspace padrão",
"manual":"Colar caminho",
"manualPlaceholder":"/Users/nome/projeto",
"usePath":"Usar caminho",
"absolutePathRequired":"Informe um caminho absoluto de pasta nesta máquina."