"description":"Escolha uma senha para proteger o acesso a este dashboard. Você a usará toda vez que entrar.",
"passwordLabel":"Senha",
"passwordPlaceholder":"Pelo menos 8 caracteres",
"confirmLabel":"Confirmar senha",
"confirmPlaceholder":"Repita a senha",
"submit":"Definir senha",
"errorMismatch":"As senhas não coincidem.",
"errorNetwork":"Erro de rede. Tente novamente."
},
"chat":{
"welcome":"Como posso te ajudar hoje?",
"welcomeDesc":"Pergunte sobre clima, configurações ou qualquer outra tarefa. Estou aqui para ajudar.",
"placeholder":"Inicie uma nova mensagem...",
"disabledPlaceholder":{
"gatewayUnknown":"Não é possível conversar: o status do Gateway ainda está sendo verificado. Aguarde e atualize a página ou reinicie o Launcher se necessário.",
"gatewayStarting":"Não é possível conversar: o Gateway está iniciando. Aguarde a inicialização concluir e tente novamente.",
"gatewayRestarting":"Não é possível conversar: o Gateway está reiniciando. Aguarde o reinício terminar.",
"gatewayStopping":"Não é possível conversar: o Gateway está parando. Aguarde até que pare e inicie o Gateway novamente.",
"gatewayStopped":"Não é possível conversar: o Gateway não está iniciado. Clique em Iniciar Gateway na barra superior e tente novamente.",
"gatewayError":"Não é possível conversar: o Gateway está em estado de erro. Verifique os logs e reinicie o Gateway ou o Launcher.",
"websocketConnecting":"Conectando ao serviço de chat... Aguarde.",
"websocketDisconnected":"Não é possível conversar: a conexão WebSocket está desconectada. Verifique a rede e o status do gateway, atualize a página ou reinicie o Launcher.",
"websocketError":"Não é possível conversar: a conexão WebSocket falhou. Verifique a rede e o status do gateway e tente novamente.",
"noDefaultModel":"Não é possível conversar: nenhum modelo padrão está selecionado. Defina um modelo padrão na página de Modelos."
},
"newChat":"Novo Chat",
"notConnected":"O Gateway não está rodando. Inicie-o para conversar.",
"providerCatalogUnavailable":"O catálogo de providers do backend está indisponível. A seleção de novos providers fica desabilitada até a API de Modelos carregar com sucesso.",
"modelIdHint":"Este campo é tratado como o ID canônico do modelo para o provedor selecionado. Se o próprio identificador contiver uma barra, como openai/gpt-5.4, ele será preservado como está e não será dividido novamente.",
"toolSchemaTransform":"Transformação de Schema de Ferramentas",
"toolSchemaTransformHint":"Transformação opcional de compatibilidade para schemas JSON de ferramentas. Deixe em branco para o comportamento nativo. Valor suportado: simple.",
"streamingEnabledHint":"Permite que esta entrada de modelo tente requisições de provider streaming. O switch de streaming do canal atual também precisa estar habilitado.",
"streamingEnabled":"Permite que este canal exiba output streaming do provider. O switch de streaming da entrada de modelo atual também precisa estar habilitado.",
"streamingThrottleSeconds":"Intervalo mínimo entre atualizações intermediárias de streaming. 0 significa usar o padrão. Respostas finais não são limitadas.",
"streamingMinGrowthChars":"Crescimento mínimo de texto antes de enviar outra atualização intermediária. 0 significa usar o padrão. Respostas finais não são limitadas.",
"groupTriggerMentionOnly":"Em chats em grupo, responder apenas quando o bot for mencionado.",
"groupTriggerPrefixes":"Prefixos customizados de trigger para chats em grupo. Adicione itens um a um ou cole vários valores de uma vez.",
"randomReactionEmoji":"PicoClaw adiciona reações de emoji às mensagens dos usuários para confirmar recebimento. Exemplo: \"THUMBSUP\", \"HEART\", \"SMILE\". Deixe vazio para usar o emoji \"Pin\" padrão.",
"isLark":"Usar o domínio internacional do Lark (open.larksuite.com) em vez do domínio do Feishu (open.feishu.cn).",
"allowFrom":"IDs de usuário ou grupo permitidos. Adicione itens um a um ou cole vários valores de uma vez.",
"allowOrigins":"Domínios de origem permitidos. Adicione itens um a um ou cole vários valores de uma vez.",
"wsUrl":"URL do serviço WebSocket.",
"reconnectInterval":"Intervalo de reconexão após desconexão (segundos).",
"bridgeUrl":"URL do serviço de bridge.",
"sessionStorePath":"Caminho local para armazenamento de sessões.",
"useNative":"Se deve usar modo de cliente nativo.",
"host":"Endereço do host do serviço.",
"port":"Porta do serviço.",
"homeserver":"URL do homeserver Matrix.",
"userId":"ID de usuário da conta.",
"deviceId":"ID do dispositivo.",
"joinOnInvite":"Entrar automaticamente em salas quando convidado.",
"clientId":"Client ID usado para autenticação na plataforma.",
"corpId":"Corp ID corporativo.",
"agentId":"Agent ID da aplicação corporativa.",
"webhookUrl":"URL completa do webhook.",
"webhookHost":"Host de escuta do webhook.",
"webhookPort":"Porta de escuta do webhook.",
"webhookPath":"Caminho de rota do webhook.",
"replyTimeout":"Timeout de resposta em segundos.",
"maxSteps":"Número máximo de passos de processamento.",
"welcomeMessage":"Conteúdo da mensagem de boas-vindas para novas sessões.",
"allowTokenQuery":"Permitir token nos parâmetros de query da URL.",
"pingInterval":"Intervalo de heartbeat da conexão em segundos.",
"readTimeout":"Timeout de leitura em segundos.",
"writeTimeout":"Timeout de escrita em segundos.",
"maxConnections":"Número máximo de conexões concorrentes.",
"server":"Endereço do servidor IRC.",
"tls":"Se deve habilitar TLS.",
"nick":"Apelido do bot.",
"user":"Nome de usuário do IRC.",
"realName":"Nome real exibido.",
"channels":"Canais IRC para entrar.",
"requestCaps":"Lista de capabilities IRC requisitada na conexão.",
"maxBase64FileSizeMiB":"Tamanho máximo em MiB para converter arquivos locais em base64 antes do upload. 0 significa ilimitado. Aplica-se apenas a arquivos locais, não a uploads via URL.",
"protocolDesc":"Os clientes enviam e recebem mensagens usando o seguinte formato de topic e payload.",
"uplink":"Uplink (Cliente → Agent)",
"downlink":"Downlink (Agent → Cliente)",
"topicParams":"Parâmetros do Topic",
"fieldText":"text",
"uplinkTextDesc":"Instrução em linguagem natural enviada pelo usuário (obrigatória).",
"downlinkTextDesc":"Texto de resposta do agente. No modo streaming, concatene várias mensagens na ordem para obter a resposta completa.",
"topicPrefixDesc":"Prefixo do topic, correspondente à configuração acima.",
"agentIdDesc":"Agent ID, correspondente à configuração acima.",
"clientIdDesc":"Identificador definido pelo cliente. Recomendação: gerar um UUID na primeira execução e persistir o valor para que o mesmo dispositivo sempre use o mesmo ID.",
"clientIdPlaceholder":"Gerado automaticamente se ficar em branco",
"secretSet":"Já configurado. Deixe em branco para manter sem alterações.",
"load_error":"Falha ao carregar informações de suporte do agente.",
"skills":{
"empty":"Nenhuma skill disponível no momento.",
"install_success":"{{name}} instalada.",
"install_error":"Falha ao instalar skill.",
"search_placeholder":"Pesquisar por nome, descrição ou registry",
"source_label":"Tipo",
"sort_label":"Ordenar",
"import":"Importar Skill",
"import_success":"Skill importada.",
"import_error":"Falha ao importar skill.",
"import_invalid_type":"Apenas arquivos de skill em Markdown ou ZIP são suportados.",
"import_invalid_size":"O arquivo de skill deve ter 1 MB ou menos.",
"import_constraints":"Importe um arquivo de skill em Markdown ou ZIP de até 1 MB",
"view":"Visualizar",
"delete":"Excluir",
"delete_title":"Excluir Skill?",
"delete_description":"\"{{name}}\" será removida das skills do workspace.",
"delete_confirm":"Excluir",
"delete_success":"Skill excluída.",
"delete_error":"Falha ao excluir skill.",
"viewer_title":"Conteúdo da Skill",
"viewer_description":"Leia aqui o conteúdo efetivo atual de SKILL.md.",
"load_detail_error":"Falha ao carregar conteúdo da skill.",
"no_description":"Nenhuma descrição fornecida.",
"no_results":"Nenhuma skill corresponde aos filtros atuais.",
"dropzone_title":"Importar para o Workspace",
"dropzone_description":"Arraste um arquivo de skill aqui ou escolha um do disco.",
"dropzone_label":"Solte um arquivo de skill aqui",
"dropzone_active":"Solte para importar esta skill",
"dropzone_release":"A skill será normalizada e salva no diretório de skills do workspace.",
"marketplace_title":"Descobrir Skills",
"marketplace_description":"Pesquise nos registries de skills e instale skills úteis neste workspace",
"marketplace_search_placeholder":"Pesquise capacidades como github, docker, database...",
"marketplace_search_action":"Pesquisar",
"marketplace_search_status":"Status da Pesquisa",
"marketplace_install_status":"Status da Instalação",
"marketplace_notice_title":"Aviso de Segurança",
"marketplace_notice_body":"Skills do registry são conteúdo de terceiros. Revise o autor, URL da página, instruções e qualquer código ou credencial requerida antes de instalar.",
"marketplace_status_disabled":"Desabilitado. Habilite a ferramenta correspondente na página de Ferramentas primeiro.",
"marketplace_status_enable_hint":"Habilite a ferramenta relacionada na página de Ferramentas primeiro.",
"marketplace_search_error":"Falha ao pesquisar registries.",
"marketplace_loading_more":"Carregando mais skills...",
"marketplace_results_title":"{{count}} resultados para “{{query}}”",
"marketplace_results_hint":"Resultados do registry instalam no workspace atual.",
"marketplace_install_action":"Instalar",
"marketplace_installed":"Instalada",
"marketplace_view_installed":"Ver Local",
"marketplace_installed_hint":"Já disponível neste workspace como “{{name}}”.",
"marketplace_empty_results":"Nenhuma skill instalável encontrada para “{{query}}”.",
"marketplace_idle":"Pesquise por uma capacidade para descobrir skills instaláveis nos registries configurados.",
"marketplace_unavailable":"Pesquisa de registries indisponível no momento. Verifique a configuração das ferramentas de Skills.",
"sort":{
"name_asc":"Nome (A-Z)",
"name_desc":"Nome (Z-A)",
"source":"Tipo"
},
"origin":{
"all":"Todos os Tipos",
"builtin":"Embutida",
"third_party":"Terceiros",
"manual":"Manual"
},
"summary":{
"total":"Total de Skills"
},
"detail_tabs":{
"preview":"Visualização",
"raw":"Bruto",
"meta":"Metadados"
},
"metadata":{
"name":"Nome",
"description":"Descrição",
"registry":"Registry",
"url":"URL",
"version":"Versão Instalada",
"lines":"Quantidade de Linhas",
"characters":"Quantidade de Caracteres"
},
"marketplace_installDisabled":{
"installing":"Instalando...",
"installed":"Já instalada",
"cannotInstall":"Não é possível instalar: ferramenta relacionada não está habilitada"
}
},
"tools":{
"search_placeholder":"Pesquisar ferramentas...",
"no_results":"Nenhuma ferramenta corresponde aos seus critérios.",
"filter":{
"all":"Todos os Status",
"enabled":"Habilitada",
"disabled":"Desabilitada",
"blocked":"Bloqueada"
},
"empty":"Nenhuma ferramenta disponível.",
"enable_success":"Ferramenta habilitada.",
"disable_success":"Ferramenta desabilitada.",
"toggle_error":"Falha ao atualizar estado da ferramenta.",
"library_title":"Biblioteca de Ferramentas",
"library_description":"Navegue e gerencie o conjunto de ferramentas disponíveis para seus agentes de IA.",
"web_search":{
"title":"Pesquisa Web",
"description":"Fornece capacidade de pesquisa web aos agentes para encontrar informações atualizadas do mundo real. Roteia automaticamente para o provedor ativo ideal.",
"unsaved_prompt":"Esta alteração ainda não foi salva. Salve para gravá-la na configuração de Pesquisa Web.",
"global_settings":"Geral",
"providers_config":"Integrações",
"load_error":"Falha ao carregar configuração de pesquisa web.",
"save":"Salvar Alterações",
"open_settings":"Abrir Configurações",
"save_success":"Configurações salvas com sucesso.",
"save_error":"Falha ao salvar configurações.",
"provider":"Provedor Principal",
"provider_description":"Selecione o provedor padrão a ser usado quando a ferramenta de pesquisa web atender a uma requisição.",
"proxy":"Proxy HTTPS",
"proxy_description":"Proxy HTTP/S global opcional para requisições web subjacentes.",
"prefer_native":"Preferir Pesquisa Nativa",
"prefer_native_hint":"Quando habilitado, o modelo pode usar sua capacidade de pesquisa nativa em vez da lista de provedores configurados.",
"provider_hint":"Habilite este provedor e preencha as configurações de conexão necessárias.",
"max_results":"Máx. de Resultados",
"base_url":"URL Base",
"base_url_placeholder":"Sobrescrita opcional do endpoint",
"api_key":"API Key / Token",
"api_key_placeholder":"Digite a API Key, deixe em branco para manter a chave original",
"none":"Indisponível"
},
"status":{
"enabled":"Habilitada",
"disabled":"Desabilitada",
"blocked":"Bloqueada"
},
"categories":{
"automation":"Automação",
"filesystem":"Sistema de Arquivos",
"web":"Web",
"communication":"Comunicação",
"skills":"Skills",
"agents":"Agentes",
"hardware":"Hardware",
"discovery":"Descoberta"
},
"reasons":{
"requires_linux":"Esta ferramenta só funciona em hosts Linux com os arquivos de dispositivo necessários expostos.",
"requires_serial_platform":"Esta ferramenta atualmente suporta hosts Linux, macOS e Windows com portas seriais acessíveis.",
"requires_skills":"Habilite `tools.skills` antes que esta ferramenta de skill-registry possa ser usada.",
"requires_subagent":"Habilite `tools.subagent` antes que a ferramenta de spawn possa delegar trabalho.",
"requires_mcp_discovery":"Habilite `tools.mcp.discovery` antes que as ferramentas de descoberta MCP fiquem disponíveis.",
"requires_web_search_provider":"Configure ao menos um provedor externo de pesquisa web pronto para uso."
}
}
},
"config":{
"load_error":"Falha ao carregar configuração. Atualize a página e tente novamente.",
"workspace":"Diretório do Workspace",
"workspace_hint":"Diretório base para operações de arquivo do agente.",
"restrict_workspace":"Restringir ao Workspace",
"restrict_workspace_hint":"Permitir operações de arquivo apenas dentro do workspace.",
"split_on_marker":"Modo Tagarela",
"split_on_marker_hint":"Dividir mensagens longas em várias curtas, como em uma conversa real.",
"tool_feedback_enabled":"Feedback de Ferramentas",
"tool_feedback_enabled_hint":"Enviar uma breve nota de execução no chat atual antes de cada ferramenta rodar.",
"tool_feedback_separate_messages":"Mensagens de Feedback Separadas",
"tool_feedback_separate_messages_hint":"Manter cada atualização de feedback de ferramenta como uma mensagem própria no chat em vez de reusar uma única mensagem de placeholder/progresso.",
"tool_feedback_max_args_length":"Tamanho do Preview de Args da Ferramenta",
"tool_feedback_max_args_length_hint":"Número máximo de caracteres exibidos em cada preview de argumento da ferramenta. Defina 0 para usar o padrão.",
"exec_enabled":"Permitir Comandos",
"exec_enabled_hint":"Habilita ou desabilita execução de comandos para o app. Quando desabilitado, nenhuma requisição de comando rodará.",
"allow_remote":"Permitir Comandos Remotos",
"allow_remote_hint":"Quando habilitado, sessões remotas ou contextos não locais também podem executar comandos. Quando desabilitado, a execução de comandos fica limitada a contextos locais seguros.",
"enable_deny_patterns":"Habilitar Lista Negra",
"enable_deny_patterns_hint":"Quando habilitado, o app bloqueia comandos que correspondam aos seus padrões perigosos embutidos e à lista negra customizada abaixo.",
"exec_timeout_seconds":"Timeout de Comando (segundos)",
"exec_timeout_seconds_hint":"Tempo máximo de execução para requisições de comando. Defina 0 para usar o timeout padrão.",
"custom_deny_patterns":"Lista Negra de Comandos",
"custom_deny_patterns_hint":"Adicione regras extras de bloqueio de comando, uma expressão regular por linha. Um comando que casar com qualquer regra aqui será bloqueado.",
"custom_allow_patterns":"Lista Branca de Comandos",
"custom_allow_patterns_hint":"Adicione regras extras de permissão de comando, uma expressão regular por linha. Um comando que casar com qualquer regra aqui pula a verificação da lista negra, mas outros limites de segurança ainda se aplicam.",
"allow_shell_execution_hint":"Permitir que tarefas agendadas executem comandos por padrão. Quando desabilitado, usuários precisam passar command_confirm=true para agendar uma tarefa de comando.",
"cron_exec_timeout":"Timeout de Comando Agendado (minutos)",
"cron_exec_timeout_hint":"Tempo máximo de execução para comandos agendados. Defina 0 para desabilitar o timeout.",
"max_tokens":"Max Tokens",
"max_tokens_hint":"Limite superior de tokens por resposta do modelo.",
"context_window":"Janela de Contexto",
"context_window_hint":"Capacidade do contexto de entrada do modelo em tokens. Deixe vazio para usar o padrão (4x max tokens).",
"max_tool_iterations":"Máx. de Iterações de Ferramenta",
"max_tool_iterations_hint":"Loops máximos de chamadas de ferramenta em uma única tarefa.",
"summarize_threshold":"Limite para Resumir Mensagens",
"summarize_threshold_hint":"Iniciar resumo após este número de mensagens.",
"summarize_token_percent":"Percentual de Token para Resumir",
"summarize_token_percent_hint":"Usado quando o resumo da conversa é acionado.",
"turn_profile":"Política de Contexto da Requisição",
"turn_profile_hint":"Controla qual contexto cada requisição carrega. Deixe desativado para manter o comportamento normal do chat.",
"turn_profile_enabled":"Ativar política",
"turn_profile_enabled_hint":"Quando ativada, esta política vale para cada novo turno. Quando desativada, o PicoClaw usa o comportamento original de contexto.",
"turn_profile_mode_default":"Padrão",
"turn_profile_mode_off":"Desligado",
"turn_profile_mode_custom":"Lista Permitida",
"turn_profile_history":"Contexto de Histórico",
"turn_profile_history_hint":"Padrão inclui mensagens anteriores desta sessão. Desligado faz o turno parecer um chat novo e não salva o resultado no histórico.",
"turn_profile_system_prompt":"Contexto de Sistema",
"turn_profile_system_prompt_hint":"Padrão inclui identidade, workspace, memória e instruções de runtime do PicoClaw. Desligado mantém apenas prompts de sistema enviados explicitamente pela requisição.",
"turn_profile_skills":"Prompts de Skills",
"turn_profile_skills_hint":"Padrão inclui skills disponíveis e instruções de skills ativas. Desligado oculta isso. Lista Permitida mantém apenas nomes de skills, um por linha.",
"turn_profile_tools_hint":"Padrão expõe as ferramentas normais. Desligado impede chamadas de ferramenta. Lista Permitida mantém apenas nomes de ferramentas, um por linha, como web_search.",
"session_scope_per_channel_peer_desc":"Contexto separado para cada usuário em cada canal.",
"session_scope_per_channel":"Por Canal",
"session_scope_per_channel_desc":"Um contexto compartilhado por canal.",
"session_scope_per_peer":"Por Peer",
"session_scope_per_peer_desc":"Um contexto por usuário entre canais.",
"session_scope_global":"Global",
"session_scope_global_desc":"Todas as mensagens compartilham um contexto global.",
"heartbeat_enabled":"Heartbeat",
"heartbeat_enabled_hint":"Enviar mensagens de heartbeat periódicas.",
"heartbeat_interval":"Intervalo do Heartbeat (minutos)",
"heartbeat_interval_hint":"Intervalo em minutos entre sinais de heartbeat.",
"devices_enabled":"Habilitar Dispositivos",
"devices_enabled_hint":"Habilitar integrações com dispositivos de hardware.",
"monitor_usb":"Monitorar USB",
"monitor_usb_hint":"Observar eventos de plug/unplug USB quando dispositivos estiverem habilitados.",
"autostart_label":"Iniciar no Login",
"autostart_hint":"Iniciar o PicoClaw Web automaticamente quando você fizer login.",
"autostart_unsupported":"Iniciar no login não é suportado nesta plataforma.",
"autostart_load_error":"Falha ao carregar status de iniciar no login.",
"server_port":"Porta do Serviço",
"server_port_hint":"Porta HTTP usada pelo PicoClaw Web.",
"launcher_section_hint":"Alterações nesta seção entram em vigor após o launcher reiniciar.",
"gateway_restart_hint":"Alterações nesta seção entram em vigor após o gateway reiniciar.",
"dashboard_password":"Senha de Login",
"dashboard_password_hint":"Defina uma nova senha de login.",
"dashboard_password_placeholder":"Pelo menos 8 caracteres",
"dashboard_password_confirm":"Confirmar Nova Senha",
"dashboard_password_confirm_hint":"Digite a nova senha de login novamente.",
"dashboard_password_confirm_placeholder":"Repita a senha",
"dashboard_password_required":"Digite e confirme a nova senha de login.",
"dashboard_password_mismatch":"As senhas de login não coincidem.",
"dashboard_password_min_length":"A senha de login deve ter pelo menos 8 caracteres.",
"lan_access":"Habilitar Acesso pela LAN",
"lan_access_hint":"Permitir acesso de outros dispositivos na sua rede local.",
"allowed_cidrs":"CIDRs de Rede Permitidos",
"allowed_cidrs_hint":"Apenas clientes destes intervalos CIDR podem acessar o serviço. Um por linha ou separados por vírgula. Deixe vazio para permitir todos.",
"unsaved_changes":"Você tem alterações não salvas.",
"factory_reset":"Restaurar Padrões",
"factory_reset_confirm_title":"Restaurar Configurações de Fábrica",
"factory_reset_confirm_desc":"Isso redefinirá todas as configurações para os padrões de fábrica. As chaves de API e credenciais de segurança serão preservadas. Um backup da configuração atual será criado.",
"factory_reset_confirm":"Redefinir para Padrões",
"factory_reset_success":"A configuração foi redefinida para os padrões de fábrica.",
"factory_reset_error":"Falha ao redefinir a configuração."
"log_level_error":"Falha ao atualizar nível de log.",
"clear":"Limpar logs",
"empty":"Aguardando logs..."
}
},
"tour":{
"skip":"Pular tour",
"prev":"Anterior",
"next":"Próximo",
"finish":"Concluir",
"welcome":{
"title":"Bem-vindo ao PicoClaw",
"description":"PicoClaw é uma plataforma poderosa de assistente de IA. Vamos levar alguns segundos para te ajudar a concluir a configuração básica."
},
"models":{
"title":"Configurar Modelos",
"description":"Clique no menu \"Modelos\" à esquerda para configurar API Keys dos provedores de IA. Apenas modelos configurados podem ser usados no chat."
},
"gateway":{
"title":"Iniciar Gateway",
"description":"Após configurar modelos, clique no botão \"Iniciar Gateway\" no topo para começar a conversar com a IA."
},
"docs":{
"title":"Ver Documentação",
"description":"Precisa de mais ajuda? Clique no botão de documentação no canto superior direito para ver guias detalhados e documentação de configuração."