2026-02-19 17:44:25 +00:00
// Pacote de idioma Português Brasileiro
export default {
// TabBar
'tabBar.home' : 'Início' ,
'tabBar.deviceConfig' : 'Config. de Rede' ,
'tabBar.settings' : 'Sistema' ,
// Settings page title
'settings.title' : 'Configurações' ,
// Login page
'login.pageTitle' : 'Entrar' ,
'login.navigationTitle' : 'Entrar' ,
'login.fetchConfigError' : 'Falha ao buscar configuração:' ,
'login.selectLanguage' : 'Selecionar Idioma' ,
2026-03-16 10:37:47 +08:00
'login.selectLanguageTip' : 'Pt' ,
2026-02-19 17:44:25 +00:00
'login.welcomeBack' : 'Bem-vindo de Volta' ,
'login.pleaseLogin' : 'Por favor, entre na sua conta' ,
'login.enterUsername' : 'Por favor, insira o nome de usuário' ,
'login.enterPassword' : 'Por favor, insira a senha' ,
'login.enterCaptcha' : 'Por favor, insira o código de verificação' ,
'login.loginButton' : 'Entrar' ,
'login.loggingIn' : 'Entrando...' ,
'login.noAccount' : 'Cadastrar' ,
'login.enterPhone' : 'Por favor, insira o número de telefone' ,
'login.selectCountry' : 'Selecionar País/Região' ,
'login.confirm' : 'Confirmar' ,
'login.serverSetting' : 'Configurações do Servidor' ,
'login.requiredUsername' : 'O nome de usuário não pode estar vazio' ,
'login.requiredPassword' : 'A senha não pode estar vazia' ,
'login.requiredCaptcha' : 'O código de verificação não pode estar vazio' ,
'login.requiredMobile' : 'Por favor, insira um número de telefone válido' ,
'login.captchaError' : 'Erro no código de verificação gráfico' ,
2026-07-10 11:38:39 +08:00
'login.forgotPassword' : 'Esqueceu a Senha' ,
'login.userAgreement' : 'Termos de Uso' ,
'login.privacyPolicy' : 'Política de Privacidade' ,
2026-02-19 17:44:25 +00:00
// Register page
'register.pageTitle' : 'Cadastro' ,
'register.createAccount' : 'Criar Conta' ,
'register.enterUsername' : 'Por favor, insira o nome de usuário' ,
'register.enterPassword' : 'Por favor, insira a senha' ,
'register.confirmPassword' : 'Por favor, confirme a senha' ,
'register.enterPhone' : 'Por favor, insira o número de telefone' ,
'register.enterCode' : 'Por favor, insira o código de verificação' ,
'register.getCode' : 'Obter Código' ,
'register.agreeTerms' : 'Li e concordo com os' ,
'register.terms' : 'Termos de Uso' ,
'register.privacy' : 'Política de Privacidade' ,
'register.registerButton' : 'Cadastrar' ,
'register.registering' : 'Cadastrando...' ,
'register.haveAccount' : 'Já tem uma conta?' ,
'register.loginNow' : 'Entrar Agora' ,
'register.selectCountry' : 'Selecionar País/Região' ,
'register.confirm' : 'Confirmar' ,
'register.captchaSendSuccess' : 'Código de verificação enviado com sucesso' ,
// Home page
'home.pageTitle' : 'Início' ,
'home.createAgent' : 'Criar Agente' ,
'home.agentName' : 'Agente' ,
'home.modelInfo' : 'Info do Modelo' ,
'home.lastActive' : 'Última Atividade' ,
'home.greeting' : 'Olá Jarvis' ,
'home.subtitle' : 'Vamos ter' ,
'home.wonderfulDay' : 'um dia maravilhoso!' ,
'home.emptyState' : 'Nenhum agente disponível' ,
'home.deviceManagement' : 'Gerenciamento de Dispositivos' ,
'home.lastConversation' : 'Última Conversa:' ,
'home.delete' : 'Excluir' ,
'home.createFirstAgent' : 'Clique no botão + no canto inferior direito para criar seu primeiro agente' ,
'home.dialogTitle' : 'Criar Agente' ,
'home.inputPlaceholder' : 'ex: Assistente de Atendimento, Assistente de Voz, Perguntas e Respostas' ,
2026-03-26 14:21:03 +08:00
'home.createError' : 'O comprimento do nome deve estar entre 1 e 64 caracteres' ,
2026-02-19 17:44:25 +00:00
'home.createNow' : 'Criar Agora' ,
2026-07-09 15:03:12 +08:00
'home.deleteConfirmTitle' : 'Excluir Agente' ,
'home.confirmDeleteAgent' : 'A exclusão não pode ser desfeita. Digite o nome do agente "{agentName}" para confirmar.' ,
'home.deleteAgentNamePlaceholder' : 'Digite o nome do agente' ,
'home.deleteAgentNameMismatch' : 'O nome do agente não corresponde' ,
'home.deleteAgentPasteForbidden' : 'Digite o nome do agente manualmente. Colar não é permitido.' ,
'home.deleteAgentMissingInfo' : 'Não foi possível confirmar as informações do agente. Atualize a página e tente novamente.' ,
2026-07-10 10:18:48 +08:00
'home.deleteAgentSuccess' : 'Agente excluído com sucesso' ,
2026-02-19 17:44:25 +00:00
'home.justNow' : 'Agora mesmo' ,
'home.minutesAgo' : 'minutos atrás' ,
'home.hoursAgo' : 'horas atrás' ,
'home.daysAgo' : 'dias atrás' ,
2026-03-04 16:33:22 +08:00
'home.languageModel' : 'LLM' ,
'home.voiceModel' : 'TTS' ,
2026-02-19 17:44:25 +00:00
// Agent page
'agent.pageTitle' : 'Agente' ,
'agent.roleConfig' : 'Configuração de Papel' ,
'agent.deviceManagement' : 'Gerenciamento de Dispositivos' ,
'agent.chatHistory' : 'Histórico de Conversas' ,
'agent.voiceprintManagement' : 'Gerenciamento de Impressão Vocal' ,
'agent.editTitle' : 'Editar Agente' ,
'agent.toolsTitle' : 'Editar Funcionalidades' ,
'agent.voiceActivityDetection' : 'Detecção de Atividade de Voz' ,
'agent.speechRecognition' : 'Reconhecimento de Fala' ,
'agent.largeLanguageModel' : 'Modelo de Linguagem Grande' ,
'agent.save' : 'Salvar' ,
'agent.cancel' : 'Cancelar' ,
// Agent Edit Page
'agent.basicInfo' : 'Informações Básicas' ,
'agent.agentName' : 'Nome do Agente' ,
'agent.inputAgentName' : 'Por favor, insira o nome do agente' ,
'agent.roleMode' : 'Modo de Papel' ,
2026-03-04 16:33:22 +08:00
'agent.agentTag' : 'Etiquetas de corpo inteligente' ,
'agent.addAgentTag' : 'Adicionar etiqueta' ,
'agent.inputAgentTag' : 'Por favor, insira o rótulo do corpo inteligente' ,
'agent.contextProvider' : 'Contexto' ,
'agent.contextProviderSuccess' : '{count} fontes adicionadas com sucesso.' ,
'agent.contextProviderDocLink' : 'Como implantar provedor de contexto' ,
'agent.editContextProvider' : 'Editar Fonte' ,
2026-02-19 17:44:25 +00:00
'agent.roleDescription' : 'Descrição do Papel' ,
'agent.inputRoleDescription' : 'Por favor, insira a descrição do papel' ,
'agent.modelConfig' : 'Configuração do Modelo' ,
'agent.vad' : 'Detecção de Atividade de Voz' ,
'agent.asr' : 'Reconhecimento de Fala' ,
2026-04-08 16:26:48 +08:00
'agent.llm' : 'Modelo de Linguagem Principal' ,
'agent.slm' : 'Modelo de pequenos parâmetros' ,
2026-02-19 17:44:25 +00:00
'agent.vllm' : 'Modelo de Linguagem Visual' ,
'agent.intent' : 'Reconhecimento de Intenção' ,
'agent.memory' : 'Memória' ,
'agent.voiceSettings' : 'Configurações de Voz' ,
'agent.tts' : 'Texto para Fala' ,
'agent.voiceprint' : 'Voz do Agente' ,
'agent.plugins' : 'Plugins' ,
'agent.editFunctions' : 'Editar Funções' ,
'agent.historyMemory' : 'Memória de Histórico' ,
'agent.memoryContent' : 'Conteúdo da memória' ,
'agent.saving' : 'Salvando...' ,
'agent.saveSuccess' : 'Salvo com sucesso' ,
'agent.saveFail' : 'Falha ao salvar' ,
2026-07-10 20:21:44 +08:00
'agent.ttsOptionsLoadFailed' : 'Não foi possível carregar as opções de voz. As configurações anteriores foram mantidas.' ,
2026-02-19 17:44:25 +00:00
'agent.loadFail' : 'Falha ao carregar' ,
'agent.pleaseInputAgentName' : 'Por favor, insira o nome do agente' ,
'agent.pleaseInputRoleDescription' : 'Por favor, insira a descrição do papel' ,
'agent.pleaseSelect' : 'Por favor, selecione' ,
2026-03-06 09:40:04 +08:00
'agent.reportText' : 'Enviar Texto' ,
'agent.reportTextVoice' : 'Enviar Texto+Voz' ,
'agent.reportMode' : 'Modo de Envio' ,
'agent.language' : 'Idioma de Conversa' ,
'agent.languageConfig' : 'Configuração de Voz' ,
'agent.ttsVolume' : 'Volume' ,
'agent.ttsRate' : 'Taxa de Fala' ,
'agent.ttsPitch' : 'Tonalidade' ,
'agent.volumeHint' : '-100=Mínimo, 0=Padrão, 100=Máximo' ,
'agent.speedHint' : '-100=Slower, 0=Standard, 100=Faster' ,
'agent.pitchHint' : '-100=Lowest, 0=Standard, 100=Highest' ,
2026-02-19 17:44:25 +00:00
2026-07-10 11:07:54 +08:00
// Histórico de versões do agente
'agentSnapshot.title' : 'Histórico de Versões' ,
'agentSnapshot.empty' : 'Ainda sem versões' ,
'agentSnapshot.emptyTip' : 'Configurações salvas aparecerão aqui' ,
'agentSnapshot.version' : 'Versão' ,
'agentSnapshot.createdAt' : 'Salvo em' ,
'agentSnapshot.source' : 'Origem' ,
'agentSnapshot.changedFields' : 'Alterações' ,
'agentSnapshot.view' : 'Ver' ,
'agentSnapshot.restore' : 'Restaurar' ,
'agentSnapshot.delete' : 'Excluir' ,
'agentSnapshot.loadMore' : 'Carregar Mais' ,
'agentSnapshot.detailTitle' : 'Detalhes da Alteração' ,
'agentSnapshot.restorePreviewTitle' : 'Prévia da Restauração' ,
'agentSnapshot.confirmRestore' : 'Confirmar Restauração' ,
2026-07-10 20:21:44 +08:00
'agentSnapshot.currentVersion' : 'Snapshot mais recente' ,
2026-07-10 11:07:54 +08:00
'agentSnapshot.beforeChange' : 'Antes' ,
'agentSnapshot.afterChange' : 'Depois' ,
'agentSnapshot.beforeRestore' : 'Antes da Restauração' ,
'agentSnapshot.afterRestore' : 'Depois da Restauração' ,
'agentSnapshot.configValue' : 'Valor da Configuração' ,
'agentSnapshot.emptyValue' : 'Nenhum' ,
'agentSnapshot.secretRedacted' : 'Segredo oculto' ,
2026-07-10 20:21:44 +08:00
'agentSnapshot.redactedValueChanged' : 'O valor está oculto, mas foi alterado' ,
2026-07-10 11:07:54 +08:00
'agentSnapshot.noChangedContent' : 'Nenhuma alteração exibível' ,
2026-07-10 20:21:44 +08:00
'agentSnapshot.recordedChange' : 'Alterado quando registrado' ,
'agentSnapshot.noRestoreNeeded' : 'A configuração atual já corresponde a esta versão' ,
'agentSnapshot.unsavedChangesTitle' : 'Alterações não salvas' ,
'agentSnapshot.unsavedChangesWarning' : 'Continuar descartará as alterações não salvas desta página.' ,
'agentSnapshot.discardAndRestore' : 'Descartar e restaurar' ,
'agentSnapshot.restoreConfirm' : 'Restaurar para a versão #{version}? A configuração atual continuará disponível no histórico.' ,
2026-07-10 11:07:54 +08:00
'agentSnapshot.restoreMemoryWarning' : 'Restaurar para uma versão sem memória limpará o histórico de chat deste agente. Confirme o risco.' ,
2026-07-10 20:21:44 +08:00
'agentSnapshot.restoreChatHistoryDestructiveWarning' : 'Esta restauração excluirá permanentemente o histórico de chat existente deste agente. O histórico de chat não faz parte dos snapshots de configuração e não pode ser recuperado pelo histórico de versões.' ,
2026-07-10 11:07:54 +08:00
'agentSnapshot.restoreSuccess' : 'Versão restaurada' ,
'agentSnapshot.restoreFailed' : 'Falha ao restaurar versão' ,
2026-07-10 20:21:44 +08:00
'agentSnapshot.reloadAfterRestorePending' : 'Recarregando a configuração e as tags restauradas. Não é possível salvar até a conclusão.' ,
'agentSnapshot.reloadAfterRestoreFailed' : 'Não foi possível recarregar a configuração ou as tags restauradas. O salvamento permanece desativado para impedir que dados antigos sobrescrevam a restauração. Tente novamente.' ,
'agentSnapshot.retryReload' : 'Recarregar' ,
'agentSnapshot.mutationBusy' : 'A configuração está sendo salva ou recarregada. Aguarde a conclusão antes de abrir o histórico de versões ou restaurar.' ,
2026-07-10 11:07:54 +08:00
'agentSnapshot.deleteConfirm' : 'Excluir versão #{version}? Esta ação não pode ser desfeita.' ,
'agentSnapshot.deleteSuccess' : 'Versão excluída' ,
'agentSnapshot.deleteFailed' : 'Falha ao excluir versão' ,
'agentSnapshot.fetchFailed' : 'Falha ao buscar versões' ,
'agentSnapshot.detailFailed' : 'Falha ao buscar detalhes da versão' ,
'agentSnapshot.correctWordCount' : '{count} palavras de substituição' ,
'agentSnapshot.source.config' : 'Configuração Salva' ,
'agentSnapshot.source.current' : 'Configuração Atual' ,
2026-07-10 20:21:44 +08:00
'agentSnapshot.source.restore' : 'Restaurado' ,
2026-07-10 11:07:54 +08:00
'agentSnapshot.source.initial' : 'Versão Inicial' ,
'agentSnapshot.field.initial' : 'Snapshot Inicial' ,
'agentSnapshot.field.agentCode' : 'Código do Agente' ,
'agentSnapshot.field.agentName' : 'Apelido' ,
'agentSnapshot.field.asrModelId' : 'Reconhecimento de Fala' ,
'agentSnapshot.field.vadModelId' : 'Detecção de Voz' ,
'agentSnapshot.field.llmModelId' : 'Modelo Principal' ,
'agentSnapshot.field.slmModelId' : 'Modelo Pequeno' ,
'agentSnapshot.field.vllmModelId' : 'Modelo Visual' ,
'agentSnapshot.field.ttsModelId' : 'Texto para Fala' ,
'agentSnapshot.field.ttsVoiceId' : 'Voz' ,
'agentSnapshot.field.ttsLanguage' : 'Idioma' ,
'agentSnapshot.field.ttsVolume' : 'Volume' ,
'agentSnapshot.field.ttsRate' : 'Velocidade' ,
'agentSnapshot.field.ttsPitch' : 'Tonalidade' ,
'agentSnapshot.field.memModelId' : 'Modo de Memória' ,
'agentSnapshot.field.intentModelId' : 'Reconhecimento de Intenção' ,
'agentSnapshot.field.chatHistoryConf' : 'Configuração do Histórico' ,
'agentSnapshot.field.systemPrompt' : 'Descrição do Papel' ,
'agentSnapshot.field.summaryMemory' : 'Memória' ,
'agentSnapshot.field.langCode' : 'Código do Idioma' ,
'agentSnapshot.field.language' : 'Idioma de Interação' ,
'agentSnapshot.field.sort' : 'Ordenação' ,
'agentSnapshot.field.functions' : 'Plugins' ,
'agentSnapshot.field.contextProviders' : 'Fontes de Contexto' ,
'agentSnapshot.field.correctWordFileIds' : 'Palavras de Substituição' ,
'agentSnapshot.field.tagNames' : 'Tags do Agente' ,
'agentSnapshot.chatHistoryConf.none' : 'Não registrar histórico de chat' ,
'agentSnapshot.chatHistoryConf.text' : 'Reportar texto' ,
'agentSnapshot.chatHistoryConf.textVoice' : 'Reportar texto e voz' ,
'agentSnapshot.model.Memory_nomem' : 'Sem memória' ,
'agentSnapshot.model.Memory_mem_local_short' : 'Memória curta local' ,
'agentSnapshot.model.Memory_mem0ai' : 'Memória Mem0AI' ,
'agentSnapshot.model.Memory_mem_report_only' : 'Apenas reportar' ,
'agentSnapshot.model.Intent_nointent' : 'Sem reconhecimento de intenção' ,
'agentSnapshot.model.Intent_intent_llm' : 'Reconhecimento por LLM externo' ,
'agentSnapshot.model.Intent_function_call' : 'Chamada de função por LLM' ,
2026-03-04 16:33:22 +08:00
// Diálogo de provedor de contexto
'contextProviderDialog.title' : 'Editar Fonte' ,
'contextProviderDialog.noContextApi' : 'Sem API de Contexto' ,
'contextProviderDialog.add' : 'Adicionar' ,
'contextProviderDialog.apiUrl' : 'URL da API' ,
'contextProviderDialog.apiUrlPlaceholder' : 'http://api.example.com/data' ,
'contextProviderDialog.requestHeaders' : 'Cabeçalhos da Requisição' ,
'contextProviderDialog.headerKeyPlaceholder' : 'Chave' ,
'contextProviderDialog.headerValuePlaceholder' : 'Valor' ,
'contextProviderDialog.noHeaders' : 'Sem Cabeçalhos' ,
'contextProviderDialog.addHeader' : 'Adicionar Cabeçalho' ,
'contextProviderDialog.cancel' : 'Cancelar' ,
'contextProviderDialog.confirm' : 'Confirmar' ,
2026-03-10 11:37:51 +08:00
// Diálogo de adição manual de dispositivo
'manualAddDeviceDialog.title' : 'Adicionar Dispositivo Manualmente' ,
'manualAddDeviceDialog.deviceType' : 'Tipo de Dispositivo' ,
'manualAddDeviceDialog.deviceTypePlaceholder' : 'Por favor, selecione o tipo de dispositivo' ,
'manualAddDeviceDialog.firmwareVersion' : 'Versão do Firmware' ,
'manualAddDeviceDialog.firmwareVersionPlaceholder' : 'Por favor, insira a versão do firmware' ,
'manualAddDeviceDialog.macAddress' : 'Endereço MAC' ,
'manualAddDeviceDialog.macAddressPlaceholder' : 'Por favor, insira o endereço MAC' ,
'manualAddDeviceDialog.confirm' : 'Confirmar' ,
'manualAddDeviceDialog.cancel' : 'Cancelar' ,
'manualAddDeviceDialog.requiredMacAddress' : 'Por favor, insira o endereço MAC' ,
'manualAddDeviceDialog.invalidMacAddress' : 'Por favor, insira o formato correto de endereço MAC, ex.: 00:1A:2B:3C:4D:5E' ,
'manualAddDeviceDialog.requiredDeviceType' : 'Por favor, selecione o tipo de dispositivo' ,
'manualAddDeviceDialog.requiredFirmwareVersion' : 'Por favor, insira a versão do firmware' ,
'manualAddDeviceDialog.getFirmwareTypeFailed' : 'Falha ao obter tipo de firmware' ,
'manualAddDeviceDialog.addSuccess' : 'Dispositivo adicionado com sucesso' ,
'manualAddDeviceDialog.addFailed' : 'Falha ao adicionar' ,
'manualAddDeviceDialog.bindWithCode' : 'Vincular com Código de 6 Dígitos' ,
2026-02-19 17:44:25 +00:00
// Chat History Page
'chatHistory.getChatSessions' : 'Obter lista de sessões de conversa' ,
'chatHistory.noSelectedAgent' : 'Nenhum agente selecionado' ,
'chatHistory.getChatSessionsFailed' : 'Falha ao obter lista de sessões de conversa:' ,
'chatHistory.unknownTime' : 'Hora desconhecida' ,
'chatHistory.justNow' : 'Agora mesmo' ,
'chatHistory.minutesAgo' : '{minutes} minutos atrás' ,
'chatHistory.hoursAgo' : '{hours} horas atrás' ,
'chatHistory.daysAgo' : '{days} dias atrás' ,
'chatHistory.conversationRecord' : 'Registro de Conversas' ,
'chatHistory.totalChats' : '{count} conversas no total' ,
'chatHistory.loading' : 'Carregando...' ,
'chatHistory.noMoreData' : 'Não há mais dados' ,
'chatHistory.noChatRecords' : 'Nenhum registro de conversa' ,
2026-02-24 08:04:53 +08:00
'chatHistory.chatRecordsDescription' : 'Os registros de conversas com agentes serão exibidos aqui' ,
2026-02-19 17:44:25 +00:00
// Chat History Detail Page
'chatHistory.pageTitle' : 'Detalhe da Conversa' ,
'chatHistory.assistantName' : 'Assistente Inteligente' ,
'chatHistory.userName' : 'Usuário' ,
'chatHistory.aiAssistantName' : 'Assistente IA' ,
'chatHistory.loadFailed' : 'Falha ao carregar histórico de conversas' ,
'chatHistory.parameterError' : 'Erro de parâmetro da página' ,
'chatHistory.invalidAudioId' : 'ID de áudio inválido' ,
'chatHistory.audioPlayFailed' : 'Falha na reprodução de áudio' ,
'chatHistory.playAudioFailed' : 'Falha ao reproduzir áudio' ,
// Device management page
'device.pageTitle' : 'Gerenciamento de Dispositivos' ,
'device.noDevices' : 'Nenhum dispositivo disponível' ,
'device.macAddress' : 'Endereço MAC' ,
'device.firmwareVersion' : 'Versão do Firmware' ,
'device.lastConnected' : 'Última Conversa' ,
'device.otaUpdate' : 'Atualização OTA' ,
'device.unbind' : 'Desvincular' ,
'device.confirmUnbind' : 'Confirmar' ,
'device.bindDevice' : 'Vincular Novo Dispositivo' ,
'device.deviceType' : 'Tipo de Dispositivo' ,
'device.loading' : 'Carregando...' ,
'device.neverConnected' : 'Nunca conectado' ,
'device.justNow' : 'Agora mesmo' ,
'device.minutesAgo' : '{minutes} minutos atrás' ,
'device.hoursAgo' : '{hours} horas atrás' ,
'device.daysAgo' : '{days} dias atrás' ,
'device.otaAutoUpdateEnabled' : 'Atualização automática OTA ativada' ,
'device.otaAutoUpdateDisabled' : 'Atualização automática OTA desativada' ,
'device.operationFailed' : 'Operação falhou, por favor tente novamente' ,
'device.deviceUnbound' : 'Dispositivo desvinculado' ,
'device.unbindFailed' : 'Falha ao desvincular, por favor tente novamente' ,
'device.unbindDevice' : 'Desvincular Dispositivo' ,
'device.confirmUnbindDevice' : 'Tem certeza que deseja desvincular o dispositivo "{macAddress}"?' ,
'device.cancel' : 'Cancelar' ,
'device.noDevice' : 'Nenhum Dispositivo' ,
'device.pleaseSelectAgent' : 'Por favor, selecione um agente primeiro' ,
'device.deviceBindSuccess' : 'Dispositivo vinculado com sucesso!' ,
'device.bindFailed' : 'Falha ao vincular, por favor verifique se o código de verificação está correto' ,
'device.enterDeviceCode' : 'Por favor, insira o código de verificação do dispositivo' ,
'device.bindNow' : 'Vincular Agora' ,
'device.lastConnection' : 'Última Conexão' ,
'device.clickToBindFirstDevice' : 'Clique no botão + no canto inferior direito para vincular seu primeiro dispositivo' ,
// Common
'common.success' : 'Sucesso' ,
'common.fail' : 'Falhou' ,
'common.loading' : 'Carregando...' ,
'common.confirm' : 'Confirmar' ,
'common.cancel' : 'Cancelar' ,
'common.delete' : 'Excluir' ,
'common.edit' : 'Editar' ,
'common.add' : 'Adicionar' ,
'common.pleaseSelect' : 'Por favor, selecione' ,
'common.unknownError' : 'Erro desconhecido' ,
'common.networkError' : 'Erro de rede' ,
// Retrieve Password page
'retrievePassword.title' : 'Redefinir Senha' ,
'retrievePassword.subtitle' : 'Recupere a senha da sua conta pelo número de celular' ,
'retrievePassword.mobileRequired' : 'Por favor, insira o número de celular' ,
'retrievePassword.inputCorrectMobile' : 'Por favor, insira um número de celular válido' ,
'retrievePassword.captchaRequired' : 'Por favor, insira o código de verificação gráfico' ,
'retrievePassword.mobileCaptchaRequired' : 'Por favor, insira o código de verificação por SMS' ,
'retrievePassword.newPasswordRequired' : 'Por favor, insira a nova senha' ,
'retrievePassword.confirmNewPasswordRequired' : 'Por favor, confirme a nova senha' ,
'retrievePassword.passwordsNotMatch' : 'As senhas não coincidem' ,
'retrievePassword.mobilePlaceholder' : 'Por favor, insira o número de celular' ,
'retrievePassword.captchaPlaceholder' : 'Por favor, insira o código de verificação gráfico' ,
'retrievePassword.mobileCaptchaPlaceholder' : 'Por favor, insira o código de verificação por SMS' ,
'retrievePassword.newPasswordPlaceholder' : 'Por favor, insira a nova senha' ,
'retrievePassword.confirmNewPasswordPlaceholder' : 'Por favor, confirme a nova senha' ,
'retrievePassword.getMobileCaptcha' : 'Obter Código' ,
'retrievePassword.captchaSendSuccess' : 'Código de verificação enviado com sucesso' ,
'retrievePassword.passwordUpdateSuccess' : 'Senha redefinida com sucesso' ,
'retrievePassword.resetButton' : 'Redefinir Senha' ,
'retrievePassword.goToLogin' : 'Voltar ao Login' ,
// SM2 encryption related error messages
'sm2.publicKeyNotConfigured' : 'Chave pública SM2 não configurada, por favor entre em contato com o administrador' ,
'sm2.encryptionFailed' : 'Falha na criptografia da senha' ,
'sm2.keyGenerationFailed' : 'Falha na geração do par de chaves' ,
'sm2.invalidPublicKey' : 'Formato de chave pública inválido' ,
'sm2.encryptionError' : 'Ocorreu um erro durante a criptografia' ,
'sm2.publicKeyRetry' : 'Tentando obter a chave pública novamente...' ,
'sm2.publicKeyRetryFailed' : 'Falha na nova tentativa de obter a chave pública' ,
// Voiceprint page
'voiceprint.noSelectedAgent' : 'Nenhum agente selecionado' ,
'voiceprint.pleaseSelectAgent' : 'Por favor, selecione um agente primeiro' ,
'voiceprint.fetchHistoryFailed' : 'Falha ao buscar histórico de conversas' ,
'voiceprint.clickToSelectVector' : 'Clique para selecionar vetor de impressão vocal' ,
'voiceprint.pleaseInputName' : 'Por favor, insira o nome' ,
'voiceprint.pleaseSelectVector' : 'Por favor, selecione o vetor de impressão vocal' ,
'voiceprint.addSuccess' : 'Adicionado com sucesso' ,
'voiceprint.addFailed' : 'Falha ao adicionar locutor' ,
'voiceprint.editSuccess' : 'Editado com sucesso' ,
'voiceprint.editFailed' : 'Falha ao editar locutor' ,
'voiceprint.deleteConfirmMsg' : 'Tem certeza que deseja excluir este locutor?' ,
'voiceprint.deleteConfirmTitle' : 'Confirmar Exclusão' ,
'voiceprint.deleteSuccess' : 'Excluído com sucesso' ,
'voiceprint.loading' : 'Carregando...' ,
'voiceprint.delete' : 'Excluir' ,
'voiceprint.emptyTitle' : 'Nenhum dado de impressão vocal' ,
'voiceprint.emptyDesc' : 'Clique no botão + no canto inferior direito para adicionar seu primeiro locutor' ,
'voiceprint.addSpeaker' : 'Adicionar Locutor' ,
'voiceprint.voiceVector' : 'Vetor de Impressão Vocal' ,
'voiceprint.name' : 'Nome' ,
'voiceprint.description' : 'Descrição' ,
'voiceprint.pleaseInputDescription' : 'Por favor, insira a descrição' ,
'voiceprint.cancel' : 'Cancelar' ,
'voiceprint.save' : 'Salvar' ,
'voiceprint.editSpeaker' : 'Editar Locutor' ,
'voiceprint.selectVector' : 'Selecionar Vetor de Impressão Vocal' ,
'voiceprint.voiceprintInterfaceNotConfigured' : 'Interface de impressão vocal não configurada' ,
// Settings page
'settings.pageTitle' : 'Configurações' ,
'settings.navigationTitle' : 'Configurações' ,
'settings.networkSettings' : 'Configurações de Rede' ,
'settings.serverApiUrl' : 'URL da API do Servidor' ,
'settings.validServerUrl' : 'Por favor, insira um endereço de servidor válido (começando com http ou https e terminando com /xiaozhi)' ,
'settings.saveSettings' : 'Salvar Configurações' ,
'settings.resetDefault' : 'Restaurar Padrão' ,
'settings.restartApp' : 'Reiniciar App' ,
'settings.restartNow' : 'Reiniciar Agora' ,
'settings.restartLater' : 'Depois' ,
// About us
'settings.aboutApp' : 'Sobre o Console XiaoZhi' ,
'settings.aboutContent' : 'Console XiaoZhi\n\nUm aplicativo móvel de gerenciamento multiplataforma construído com Vue.js 3 + uni-app, oferecendo gerenciamento de dispositivos, configuração de agentes e outras funcionalidades para o hardware inteligente xiaozhi ESP32.\n\n© 2025 xiaozhi-esp32-server {version}' ,
'settings.restartSuccess' : 'Salvo, você pode reiniciar o app manualmente depois' ,
'settings.serverUrlSavedAndCacheCleared' : 'URL do servidor salva e cache limpo' ,
'settings.resetToDefaultAndCacheCleared' : 'Restaurado ao padrão e cache limpo' ,
'settings.resetSuccess' : 'Restauração bem-sucedida' ,
'settings.enterServerUrl' : 'Por favor, insira a URL do servidor' ,
'settings.clearCacheFailed' : 'Falha ao limpar o cache' ,
'settings.cacheManagement' : 'Gerenciamento de Cache' ,
'settings.totalCacheSize' : 'Tamanho Total do Cache' ,
'settings.appDataSize' : 'Tamanho Total dos Dados do App' ,
'settings.cacheClear' : 'Limpar Cache' ,
'settings.clearAllCache' : 'Limpar todos os dados de cache' ,
'settings.clearCache' : 'Limpar Cache' ,
'settings.modifyWillClearCache' : 'Modificações irão limpar o cache' ,
'settings.appInfo' : 'Informações do App' ,
'settings.aboutUs' : 'Sobre Nós' ,
'settings.appVersion' : 'Versão do App e Info da Equipe' ,
'settings.confirmClear' : 'Confirmar Limpeza' ,
'settings.confirmClearMessage' : 'Tem certeza que deseja limpar todo o cache? Isso excluirá todos os dados, incluindo o status de login, e exigirá novo login.' ,
'settings.cacheCleared' : 'Cache limpo com sucesso, redirecionando para a página de login' ,
'settings.languageSettings' : 'Configurações de Idioma' ,
'settings.language' : 'Idioma' ,
'settings.selectLanguage' : 'Selecionar Idioma' ,
'settings.languageChanged' : 'Idioma alterado com sucesso' ,
// Messages
'message.loginSuccess' : 'Login realizado com sucesso!' ,
'message.loginFail' : 'Falha no login' ,
'message.registerSuccess' : 'Cadastro realizado com sucesso' ,
'message.registerFail' : 'Falha no cadastro' ,
'message.saveSuccess' : 'Salvo com sucesso' ,
'message.saveFail' : 'Falha ao salvar' ,
'message.deleteSuccess' : 'Excluído com sucesso' ,
'message.deleteFail' : 'Falha ao excluir' ,
'message.bindSuccess' : 'Vinculação realizada com sucesso' ,
'message.bindFail' : 'Falha na vinculação' ,
'message.unbindSuccess' : 'Desvinculação realizada com sucesso' ,
'message.unbindFail' : 'Falha na desvinculação' ,
'message.networkError' : 'Erro de rede, por favor verifique sua conexão' ,
'message.serverError' : 'Erro no servidor, por favor tente novamente mais tarde' ,
2026-03-10 11:37:51 +08:00
'message.invalidAddress' : 'O endereço pode ser inválido, verifique se o servidor está iniciado ou se a conexão de rede está correta; Também pode ser impossível enviar solicitações devido a problemas com o protocolo HTTPS' ,
2026-02-19 17:44:25 +00:00
'message.languageChanged' : 'Idioma alterado' ,
'message.passwordError' : 'Conta ou senha incorretos' ,
'message.phoneRegistered' : 'Este número de telefone já está cadastrado' ,
// Agent Tools Page
'agent.tools.pageTitle' : 'Ferramentas do Agente' ,
'agent.tools.unselected' : 'Não selecionado' ,
'agent.tools.selected' : 'Selecionado' ,
'agent.tools.noMorePlugins' : 'Não há mais plugins' ,
'agent.tools.pleaseSelectPlugin' : 'Por favor, selecione a função do plugin' ,
'agent.tools.builtInPlugins' : 'Plugins Integrados' ,
'agent.tools.mcpAccessPoint' : 'Ponto de Acesso MCP' ,
'agent.tools.copy' : 'Copiar' ,
'agent.tools.noTools' : 'Nenhuma ferramenta disponível' ,
2026-03-19 17:56:27 +08:00
'agent.tools.parameterConfig' : 'Configuração' ,
2026-02-19 17:44:25 +00:00
'agent.tools.noParamsNeeded' : 'Nenhum parâmetro necessário' ,
'agent.tools.pleaseInput' : 'Por favor, insira' ,
'agent.tools.inputOneItemPerLine' : 'Insira um item por linha' ,
'agent.tools.pleaseInputValidJson' : 'Por favor, insira um formato JSON válido' ,
'agent.tools.enableFunction' : 'Ativar Função' ,
'agent.tools.toggleFunction' : 'Ativar ou desativar esta função' ,
'agent.tools.jsonFormatError' : 'Erro no formato JSON' ,
'agent.tools.noMcpAddressToCopy' : 'Nenhum endereço MCP para copiar' ,
'agent.tools.mcpAddressCopied' : 'Endereço MCP copiado para a área de transferência' ,
'agent.tools.copyFailed' : 'Falha ao copiar, por favor tente novamente' ,
'agent.tools.defaultValue' : 'Valor padrão' ,
'agent.tools.notSelected' : 'Não selecionado' ,
'agent.tools.clickToConfigure' : 'Clique para configurar' ,
'agent.tools.mcpEndpoint' : 'Endpoint MCP' ,
'agent.tools.eachLineOneItem' : 'Insira um item por linha' ,
// Device Config page
'deviceConfig.pageTitle' : 'Configuração do Dispositivo' ,
'deviceConfig.wifiConfig' : 'Configuração WiFi' ,
'deviceConfig.ultrasonicConfig' : 'Configuração Ultrassônica' ,
'deviceConfig.selectConfigMethod' : 'Selecionar Método de Configuração' ,
'deviceConfig.networkConfig' : 'Configuração de Rede' ,
'deviceConfig.selectedNetwork' : 'Rede Selecionada' ,
'deviceConfig.signal' : 'Sinal' ,
'deviceConfig.openNetwork' : 'Rede Aberta' ,
'deviceConfig.encryptedNetwork' : 'Rede Criptografada' ,
'deviceConfig.password' : 'Senha' ,
'deviceConfig.pleaseEnterPassword' : 'Por favor, insira a senha do WiFi' ,
'deviceConfig.startConfig' : 'Iniciar Configuração' ,
'deviceConfig.connectToXiaozhiHotspot' : 'Por favor, conecte-se ao hotspot xiaozhi primeiro' ,
'deviceConfig.detecting' : 'Detectando...' ,
'deviceConfig.reDetect' : 'Detectar Novamente' ,
'deviceConfig.alreadyConnected' : 'Conectado ao hotspot xiaozhi' ,
'deviceConfig.refreshStatus' : 'Atualizar Status' ,
'deviceConfig.wifiNetworks' : 'Redes WiFi' ,
'deviceConfig.selectWifiNetwork' : 'Selecionar Rede WiFi' ,
'deviceConfig.refreshScan' : 'Atualizar Busca' ,
'deviceConfig.noWifiNetworks' : 'Nenhuma rede WiFi disponível' ,
'deviceConfig.clickToRefreshScan' : 'Por favor, clique em Atualizar Busca' ,
'deviceConfig.signalStrong' : 'Sinal Forte' ,
'deviceConfig.signalGood' : 'Sinal Bom' ,
'deviceConfig.signalFair' : 'Sinal Regular' ,
'deviceConfig.signalWeak' : 'Sinal Fraco' ,
'deviceConfig.channel' : 'Canal' ,
'deviceConfig.about' : 'aproximadamente' ,
'deviceConfig.seconds' : 'segundos' ,
'deviceConfig.generating' : 'Gerando...' ,
'deviceConfig.playing' : 'Reproduzindo...' ,
'deviceConfig.generateAndPlaySoundWave' : 'Gerar e Reproduzir Onda Sonora' ,
'deviceConfig.playSoundWave' : 'Reproduzir Onda Sonora' ,
'deviceConfig.stopPlaying' : 'Parar Reprodução' ,
'deviceConfig.autoLoopPlaySoundWave' : 'Reproduzir Onda Sonora em Loop Automático' ,
'deviceConfig.configAudioFile' : 'Arquivo de Áudio de Configuração' ,
'deviceConfig.duration' : 'Duração' ,
'deviceConfig.ultrasonicConfigInstructions' : 'Instruções de Configuração Ultrassônica' ,
'deviceConfig.ensureWifiNetworkSelectedAndPasswordEntered' : 'Certifique-se de que a rede WiFi foi selecionada e a senha foi inserida' ,
'deviceConfig.clickGenerateAndPlaySoundWave' : 'Clique em Gerar e Reproduzir Onda Sonora, o sistema codificará as informações de configuração em áudio' ,
'deviceConfig.bringPhoneCloseToXiaozhiDevice' : 'Aproxime o celular do dispositivo xiaozhi (distância de 1-2 metros)' ,
'deviceConfig.duringAudioPlaybackXiaozhiWillReceive' : 'Durante a reprodução do áudio, o xiaozhi receberá e decodificará as informações de configuração' ,
'deviceConfig.afterConfigSuccessDeviceWillConnect' : 'Após a configuração bem-sucedida, o dispositivo se conectará automaticamente à rede WiFi' ,
'deviceConfig.usesAfskModulation' : 'Utiliza tecnologia de modulação AFSK, transmitindo dados pelas frequências de 1800Hz e 1500Hz' ,
'deviceConfig.ensureModeratePhoneVolume' : 'Por favor, certifique-se de que o volume do celular está moderado para evitar interferência de ruídos ambientais' ,
'deviceConfig.generatingUltrasonicConfigAudio' : 'Gerando áudio de configuração ultrassônica' ,
'deviceConfig.configData' : 'Dados de configuração' ,
'deviceConfig.dataBytesLength' : 'Comprimento dos bytes de dados' ,
'deviceConfig.bitStreamLength' : 'Comprimento do fluxo de bits' ,
'deviceConfig.base64Length' : 'Comprimento Base64' ,
'deviceConfig.audioFileTooLarge' : 'Arquivo de áudio muito grande, por favor reduza o tamanho do SSID ou da senha' ,
'deviceConfig.audioGenerationSuccess' : 'Áudio gerado com sucesso' ,
'deviceConfig.samplePoints' : 'Pontos de amostra' ,
'deviceConfig.soundWaveGenerationSuccess' : 'Onda sonora gerada com sucesso' ,
'deviceConfig.audioGenerationFailed' : 'Falha na geração do áudio' ,
'deviceConfig.soundWaveGenerationFailed' : 'Falha na geração da onda sonora' ,
'deviceConfig.pleaseGenerateAudioFirst' : 'Por favor, gere o áudio primeiro' ,
'deviceConfig.startPlayingUltrasonicConfigAudio' : 'Iniciando reprodução do áudio de configuração ultrassônica' ,
'deviceConfig.ultrasonicAudioStartedPlaying' : 'Reprodução do áudio ultrassônico iniciada' ,
'deviceConfig.startPlayingConfigSoundWave' : 'Reprodução da onda sonora de configuração iniciada' ,
'deviceConfig.ultrasonicAudioPlaybackEnded' : 'Reprodução do áudio ultrassônico finalizada' ,
'deviceConfig.audioPlaybackFailed' : 'Falha na reprodução do áudio' ,
'deviceConfig.audioResourceBusy' : 'Recurso de áudio ocupado, por favor tente novamente mais tarde' ,
'deviceConfig.audioFormatNotSupported' : 'Formato de áudio não suportado, pode ser um problema de URI de dados' ,
'deviceConfig.audioFileError' : 'Erro no arquivo de áudio' ,
'deviceConfig.cleaningUpAudioContext' : 'Limpando contexto de áudio' ,
'deviceConfig.cleaningUpAudioContextFailed' : 'Falha ao limpar contexto de áudio' ,
'deviceConfig.stoppedPlayingUltrasonicAudio' : 'Reprodução do áudio ultrassônico interrompida' ,
'deviceConfig.stoppedPlaying' : 'Reprodução interrompida' ,
'deviceConfig.configMethod' : 'Método de Configuração' ,
'deviceConfig.enterWifiPassword' : 'Por favor, insira a senha do WiFi' ,
'deviceConfig.xiaozhi' : 'xiaozhi' ,
'deviceConfig.connectXiaozhiHotspot' : 'Por favor, conecte-se ao hotspot xiaozhi' ,
'deviceConfig.wifiScanResponse' : 'Resposta da busca WiFi' ,
'deviceConfig.scanSuccess' : 'Busca bem-sucedida' ,
'deviceConfig.networks' : 'redes' ,
'deviceConfig.wifiScanFailed' : 'Falha na busca WiFi' ,
'deviceConfig.scanFailedCheckConnection' : 'Falha na busca, por favor verifique a conexão' ,
'deviceConfig.checking' : 'Verificando' ,
'deviceConfig.reCheck' : 'Verificar Novamente' ,
'deviceConfig.connectedXiaozhiHotspot' : 'Conectado ao hotspot xiaozhi' ,
'deviceConfig.wifiNetwork' : 'Rede WiFi' ,
2026-04-20 15:17:04 +08:00
'deviceConfig.wifiPassword' : 'Senha do WiFi' ,
2026-02-19 17:44:25 +00:00
'deviceConfig.scanning' : 'Buscando' ,
'deviceConfig.cancel' : 'Cancelar' ,
'deviceConfig.clickRefreshScan' : 'Por favor, clique em Atualizar Busca' ,
'deviceConfig.esp32ConnectionCheckFailed' : 'Falha na verificação de conexão ESP32' ,
'deviceConfig.startWifiConfig' : 'Iniciando configuração WiFi' ,
'deviceConfig.configSuccess' : 'Configuração bem-sucedida' ,
'deviceConfig.deviceWillConnectTo' : 'O dispositivo se conectará a' ,
'deviceConfig.deviceWillRestart' : 'O dispositivo será reiniciado' ,
'deviceConfig.pleaseDisconnectXiaozhiHotspot' : 'Por favor, desconecte-se do hotspot xiaozhi' ,
'deviceConfig.configFailed' : 'Falha na configuração' ,
'deviceConfig.wifiConfigFailed' : 'Falha na configuração WiFi' ,
'deviceConfig.pleaseCheckNetworkConnection' : 'Por favor, verifique a conexão de rede' ,
'deviceConfig.startWifiConfigButton' : 'Iniciar Configuração' ,
2026-04-20 15:24:53 +08:00
'deviceConfig.configuring' : 'Configurando...' ,
2026-02-19 17:44:25 +00:00
'deviceConfig.wifiConfigInstructions' : 'Instruções de Configuração WiFi' ,
'deviceConfig.phoneConnectXiaozhiHotspot' : 'Conecte o celular ao hotspot xiaozhi' ,
'deviceConfig.selectTargetWifiNetwork' : 'Selecione a rede WiFi de destino' ,
'deviceConfig.enterWifiPasswordIfNeeded' : 'Insira a senha do WiFi se necessário' ,
'deviceConfig.clickStartConfigAndWait' : 'Clique em Iniciar Configuração e aguarde' ,
'deviceConfig.afterConfigSuccessDeviceWillRestart' : 'Após a configuração bem-sucedida, o dispositivo reiniciará automaticamente' ,
'deviceConfig.audioPlaybackError' : 'Erro na reprodução de áudio' ,
'deviceConfig.playbackFailed' : 'Falha na reprodução' ,
2026-03-16 09:50:24 +08:00
// Voiceprint page
'voiceprint.audioNotExist' : 'O áudio não existe' ,
'voiceprint.getAudioFailed' : 'Falha ao obter áudio' ,
'voiceprint.audioPlayFailed' : 'Falha na reprodução de áudio' ,
2026-02-19 17:44:25 +00:00
}