mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-21 22:53:56 +08:00
1526 lines
90 KiB
JavaScript
1526 lines
90 KiB
JavaScript
export default {
|
|
// Texto da página de login
|
|
'login.requiredUsername': 'O nome de usuário não pode estar vazio',
|
|
'login.requiredPassword': 'A senha não pode estar vazia',
|
|
'login.requiredCaptcha': 'O captcha não pode estar vazio',
|
|
'login.requiredMobile': 'Por favor, insira um número de celular válido',
|
|
'login.loginSuccess': 'Login realizado com sucesso!',
|
|
|
|
// Texto do componente HeaderBar
|
|
'header.smartManagement': 'Agentes',
|
|
'header.modelConfig': 'Modelos',
|
|
'header.knowledgeBase': 'Conhecimento',
|
|
'header.voiceCloneManagement': 'Clonagem de Voz',
|
|
'header.voiceResourceManagement': 'Recurso de Voz',
|
|
'header.userManagement': 'Usuários',
|
|
'header.otaManagement': 'Gerenciamento OTA',
|
|
'header.paramDictionary': 'Mais',
|
|
'header.paramManagement': 'Gerenciamento de Parâmetros',
|
|
'header.dictManagement': 'Gerenciamento de Dicionário',
|
|
'header.agentTemplate': 'Modelos de Papel Padrão',
|
|
'header.searchHistory': 'Histórico de Pesquisa',
|
|
'header.clearHistory': 'Limpar Histórico',
|
|
'header.providerManagement': 'Gerenciamento de Provedores',
|
|
'header.serverSideManagement': 'Gerenciamento de Servidores',
|
|
'header.replacementWordManagement': 'Gerenciamento de Palavras de Substituição',
|
|
'header.featureManagement': 'Gerenciamento de Funcionalidades do Sistema',
|
|
'header.changePassword': 'Alterar Senha',
|
|
'header.logout': 'Sair',
|
|
'header.searchPlaceholder': 'Nome, tag ou pesquisa no Mac',
|
|
|
|
// Texto do componente McpToolCallDialog
|
|
'mcpToolCall.title': 'Chamada de Ferramenta',
|
|
'mcpToolCall.execute': 'Executar',
|
|
'mcpToolCall.chooseFunction': '1、Escolher Função',
|
|
'mcpToolCall.searchFunction': 'Pesquisar Função',
|
|
'mcpToolCall.noResults': 'Nenhuma função correspondente encontrada',
|
|
'mcpToolCall.settings': '2、Configuração de Parâmetros',
|
|
'mcpToolCall.inputPlaceholder': 'Por favor, insira {label}',
|
|
'mcpToolCall.valueRange': 'Faixa de valores: {min} - {max}',
|
|
'mcpToolCall.selectPlaceholder': 'Por favor, selecione {label}',
|
|
'mcpToolCall.lightTheme': 'Tema Claro',
|
|
'mcpToolCall.darkTheme': 'Tema Escuro',
|
|
'mcpToolCall.pleaseSelect': 'Por favor, selecione uma função',
|
|
'mcpToolCall.cancel': 'Cancelar',
|
|
'mcpToolCall.requiredField': 'Por favor, insira {field}',
|
|
'mcpToolCall.minValue': 'O valor mínimo é {value}',
|
|
'mcpToolCall.maxValue': 'O valor máximo é {value}',
|
|
'mcpToolCall.selectTool': 'Por favor, selecione uma ferramenta para executar',
|
|
'mcpToolCall.executionResult': '3、Resultado da Execução',
|
|
'mcpToolCall.copyResult': 'Copiar Resultado',
|
|
'mcpToolCall.noResultYet': 'Nenhum resultado ainda',
|
|
'mcpToolCall.loadingToolList': 'Carregando lista de ferramentas...',
|
|
|
|
// Nomes de ferramentas
|
|
'mcpToolCall.toolName.getDeviceStatus': 'Ver Status do Dispositivo',
|
|
'mcpToolCall.toolName.setVolume': 'Definir Volume',
|
|
'mcpToolCall.toolName.setBrightness': 'Definir Brilho',
|
|
'mcpToolCall.toolName.setTheme': 'Definir Tema',
|
|
'mcpToolCall.toolName.takePhoto': 'Tirar Foto e Reconhecer',
|
|
'mcpToolCall.toolName.getSystemInfo': 'Informações do Sistema',
|
|
'mcpToolCall.toolName.reboot': 'Reiniciar Dispositivo',
|
|
'mcpToolCall.toolName.upgradeFirmware': 'Atualizar Firmware',
|
|
'mcpToolCall.toolName.getScreenInfo': 'Informações da Tela',
|
|
'mcpToolCall.toolName.snapshot': 'Captura de Tela',
|
|
'mcpToolCall.toolName.previewImage': 'Pré-visualizar Imagem',
|
|
'mcpToolCall.toolName.setDownloadUrl': 'Definir URL de Download',
|
|
|
|
// Categorias de ferramentas
|
|
'mcpToolCall.category.audio': 'Áudio',
|
|
'mcpToolCall.category.display': 'Tela',
|
|
'mcpToolCall.category.camera': 'Câmera',
|
|
'mcpToolCall.category.system': 'Sistema',
|
|
'mcpToolCall.category.assets': 'Recursos',
|
|
'mcpToolCall.category.deviceInfo': 'Info do Dispositivo',
|
|
|
|
// Categorias e propriedades da tabela
|
|
'mcpToolCall.table.audioSpeaker': 'Alto-falante',
|
|
'mcpToolCall.table.screen': 'Tela',
|
|
'mcpToolCall.table.network': 'Rede',
|
|
'mcpToolCall.table.audioControl': 'Controle de Áudio',
|
|
'mcpToolCall.table.screenControl': 'Controle de Tela',
|
|
'mcpToolCall.table.systemControl': 'Controle do Sistema',
|
|
'mcpToolCall.table.screenInfo': 'Info da Tela',
|
|
'mcpToolCall.table.hardwareInfo': 'Info do Hardware',
|
|
'mcpToolCall.table.memoryInfo': 'Info da Memória',
|
|
'mcpToolCall.table.applicationInfo': 'Info da Aplicação',
|
|
'mcpToolCall.table.networkInfo': 'Info da Rede',
|
|
'mcpToolCall.table.displayInfo': 'Info do Display',
|
|
'mcpToolCall.table.deviceInfo': 'Info do Dispositivo',
|
|
'mcpToolCall.table.systemInfo': 'Info do Sistema',
|
|
// Cabeçalhos das colunas da tabela
|
|
'mcpToolCall.table.component': 'Componente',
|
|
'mcpToolCall.table.property': 'Propriedade',
|
|
'mcpToolCall.table.value': 'Valor',
|
|
|
|
'mcpToolCall.prop.volume': 'Volume',
|
|
'mcpToolCall.prop.brightness': 'Brilho',
|
|
'mcpToolCall.prop.theme': 'Tema',
|
|
'mcpToolCall.prop.type': 'Tipo',
|
|
'mcpToolCall.prop.ssid': 'SSID',
|
|
'mcpToolCall.prop.signalStrength': 'Intensidade do Sinal',
|
|
'mcpToolCall.prop.operationResult': 'Resultado da Operação',
|
|
'mcpToolCall.prop.width': 'Largura',
|
|
'mcpToolCall.prop.height': 'Altura',
|
|
'mcpToolCall.prop.screenType': 'Tipo',
|
|
'mcpToolCall.prop.chipModel': 'Modelo do Chip',
|
|
'mcpToolCall.prop.cpuCores': 'Núcleos do CPU',
|
|
'mcpToolCall.prop.chipVersion': 'Versão do Chip',
|
|
'mcpToolCall.prop.flashSize': 'Tamanho do Flash',
|
|
'mcpToolCall.prop.minFreeHeap': 'Heap Livre Mínimo',
|
|
'mcpToolCall.prop.applicationName': 'Nome da Aplicação',
|
|
'mcpToolCall.prop.applicationVersion': 'Versão da Aplicação',
|
|
'mcpToolCall.prop.compileTime': 'Hora de Compilação',
|
|
'mcpToolCall.prop.idfVersion': 'Versão IDF',
|
|
'mcpToolCall.prop.macAddress': 'Endereço MAC',
|
|
'mcpToolCall.prop.ipAddress': 'Endereço IP',
|
|
'mcpToolCall.prop.wifiName': 'Nome WiFi',
|
|
'mcpToolCall.prop.wifiChannel': 'Canal WiFi',
|
|
'mcpToolCall.prop.screenSize': 'Tamanho da Tela',
|
|
'mcpToolCall.prop.deviceUuid': 'UUID do Dispositivo',
|
|
'mcpToolCall.prop.systemLanguage': 'Idioma do Sistema',
|
|
'mcpToolCall.prop.currentOtaPartition': 'Partição OTA Atual',
|
|
'mcpToolCall.prop.getResult': 'Obter Resultado',
|
|
'mcpToolCall.prop.url': 'URL',
|
|
'mcpToolCall.prop.quality': 'Qualidade',
|
|
'mcpToolCall.prop.question': 'Pergunta',
|
|
|
|
// Textos de ajuda das ferramentas
|
|
'mcpToolCall.help.getDeviceStatus': 'Visualizar o status atual de execução do dispositivo, incluindo volume, tela, bateria e outras informações.',
|
|
'mcpToolCall.help.setVolume': 'Ajustar o volume do dispositivo. Por favor, insira um valor entre 0-100.',
|
|
'mcpToolCall.help.setBrightness': 'Ajustar o brilho da tela do dispositivo. Por favor, insira um valor entre 0-100.',
|
|
'mcpToolCall.help.setTheme': 'Alternar o tema de exibição da tela do dispositivo. Você pode escolher entre modo claro ou escuro.',
|
|
'mcpToolCall.help.takePhoto': 'Tirar fotos com a câmera do dispositivo e realizar análise de reconhecimento. Por favor, insira a pergunta que deseja fazer.',
|
|
'mcpToolCall.help.getSystemInfo': 'Obter as informações do sistema do dispositivo, incluindo especificações de hardware, versão do software, etc.',
|
|
'mcpToolCall.help.reboot': 'Reiniciar o dispositivo. O dispositivo será reiniciado após a execução.',
|
|
'mcpToolCall.help.upgradeFirmware': 'Baixar e atualizar o firmware do dispositivo a partir da URL especificada. O dispositivo será reiniciado automaticamente após a atualização.',
|
|
'mcpToolCall.help.getScreenInfo': 'Obter informações detalhadas sobre a tela, como resolução, tamanho e outros parâmetros.',
|
|
'mcpToolCall.help.snapshot': 'Capturar a tela atual e enviar para a URL especificada.',
|
|
'mcpToolCall.help.previewImage': 'Pré-visualizar imagens da URL especificada na tela do dispositivo.',
|
|
'mcpToolCall.help.setDownloadUrl': 'Definir o endereço de download dos arquivos de recursos do dispositivo.',
|
|
|
|
// Outros textos
|
|
'mcpToolCall.text.strong': 'Forte',
|
|
'mcpToolCall.text.medium': 'Médio',
|
|
'mcpToolCall.text.weak': 'Fraco',
|
|
'mcpToolCall.text.dark': 'Escuro',
|
|
'mcpToolCall.text.light': 'Claro',
|
|
'mcpToolCall.text.setSuccess': 'Configuração realizada com sucesso',
|
|
'mcpToolCall.text.setFailed': 'Falha na configuração',
|
|
'mcpToolCall.text.brightnessSetSuccess': 'Brilho configurado com sucesso',
|
|
'mcpToolCall.text.brightnessSetFailed': 'Falha ao configurar brilho',
|
|
'mcpToolCall.text.themeSetSuccess': 'Tema configurado com sucesso',
|
|
'mcpToolCall.text.themeSetFailed': 'Falha ao configurar tema',
|
|
'mcpToolCall.text.rebootCommandSent': 'Comando de reinicialização enviado',
|
|
'mcpToolCall.text.rebootFailed': 'Falha ao reiniciar',
|
|
'mcpToolCall.text.monochrome': 'Tela Monocromática',
|
|
'mcpToolCall.text.color': 'Tela Colorida',
|
|
'mcpToolCall.text.getSuccessParseFailed': 'Obtido com sucesso, mas falha ao analisar',
|
|
'mcpToolCall.text.getFailed': 'Falha ao obter',
|
|
'mcpToolCall.text.getSuccessFormatError': 'Obtido com sucesso, mas formato de dados anormal',
|
|
|
|
// Diálogo de dados do dicionário
|
|
'dictDataDialog.addDictData': 'Adicionar Dados do Dicionário',
|
|
'dictDataDialog.dictLabel': 'Rótulo do Dicionário',
|
|
'dictDataDialog.dictLabelPlaceholder': 'Por favor, insira o rótulo do dicionário',
|
|
'dictDataDialog.dictValue': 'Valor do Dicionário',
|
|
'dictDataDialog.dictValuePlaceholder': 'Por favor, insira o valor do dicionário',
|
|
'dictDataDialog.sort': 'Ordenação',
|
|
'dictDataDialog.requiredDictLabel': 'Por favor, insira o rótulo do dicionário',
|
|
'dictDataDialog.requiredDictValue': 'Por favor, insira o valor do dicionário',
|
|
|
|
// Diálogo de tipo de dicionário
|
|
'dictTypeDialog.addDictType': 'Adicionar Tipo de Dicionário',
|
|
'dictTypeDialog.dictName': 'Nome do Tipo de Dicionário',
|
|
'dictTypeDialog.dictNamePlaceholder': 'Por favor, insira o nome do tipo de dicionário',
|
|
'dictTypeDialog.dictType': 'Código do Tipo de Dicionário',
|
|
'dictTypeDialog.dictTypePlaceholder': 'Por favor, insira o código do tipo de dicionário',
|
|
'dictTypeDialog.requiredDictName': 'Por favor, insira o nome do tipo de dicionário',
|
|
'dictTypeDialog.requiredDictType': 'Por favor, insira o código do tipo de dicionário',
|
|
|
|
// Diálogo de edição de voz
|
|
'editVoiceDialog.voiceCode': 'Código da Voz',
|
|
'editVoiceDialog.voiceCodePlaceholder': 'Por favor, insira o código da voz',
|
|
'editVoiceDialog.voiceName': 'Nome da Voz',
|
|
'editVoiceDialog.voiceNamePlaceholder': 'Por favor, insira o nome da voz',
|
|
'editVoiceDialog.languageType': 'Tipo de Idioma',
|
|
'editVoiceDialog.languageTypePlaceholder': 'Por favor, insira o tipo de idioma',
|
|
'editVoiceDialog.sortNumber': 'Número de Ordenação',
|
|
'editVoiceDialog.remark': 'Observação',
|
|
'editVoiceDialog.remarkPlaceholder': 'Por favor, insira o conteúdo da observação',
|
|
'editVoiceDialog.generatePreview': 'Gerar Pré-visualização',
|
|
'editVoiceDialog.defaultVoiceName': 'Wawa Xiaohe',
|
|
'editVoiceDialog.defaultLanguageType': 'Chinês',
|
|
'editVoiceDialog.requiredVoiceCode': 'Por favor, insira o código da voz',
|
|
'editVoiceDialog.requiredVoiceName': 'Por favor, insira o nome da voz',
|
|
|
|
// Diálogo de firmware
|
|
'firmwareDialog.firmwareName': 'Nome do Firmware',
|
|
'firmwareDialog.firmwareNamePlaceholder': 'Por favor, insira o nome do firmware (placa + versão)',
|
|
'firmwareDialog.firmwareType': 'Tipo de Firmware',
|
|
'firmwareDialog.firmwareTypePlaceholder': 'Por favor, selecione o tipo de firmware',
|
|
'firmwareDialog.version': 'Versão',
|
|
'firmwareDialog.versionPlaceholder': 'Por favor, insira a versão (formato x.x.x)',
|
|
'firmwareDialog.firmwareFile': 'Arquivo de Firmware',
|
|
'firmwareDialog.clickUpload': 'Clique para Enviar',
|
|
'firmwareDialog.uploadTip': 'Apenas arquivos de firmware (.bin/.apk) são suportados, e o tamanho não deve exceder 100MB',
|
|
'firmwareDialog.uploadHint': 'Lembrete: Por favor, envie o arquivo xiaozhi.bin pré-mesclado, não o arquivo merged-binary.bin mesclado',
|
|
'firmwareDialog.remark': 'Observação',
|
|
'firmwareDialog.remarkPlaceholder': 'Por favor, insira informações de observação',
|
|
'firmwareDialog.requiredFirmwareName': 'Por favor, insira o nome do firmware (placa + versão)',
|
|
'firmwareDialog.requiredFirmwareType': 'Por favor, selecione o tipo de firmware',
|
|
'firmwareDialog.requiredVersion': 'Por favor, insira a versão',
|
|
'firmwareDialog.versionFormatError': 'Formato de versão incorreto. Por favor, insira no formato x.x.x',
|
|
'firmwareDialog.requiredFirmwareFile': 'Por favor, envie o arquivo de firmware',
|
|
'firmwareDialog.invalidFileType': 'Apenas arquivos de firmware no formato .bin/.apk são suportados!',
|
|
'firmwareDialog.invalidFileSize': 'O tamanho do arquivo de firmware não pode exceder 100MB!',
|
|
'firmwareDialog.uploadSuccess': 'Arquivo de firmware enviado com sucesso',
|
|
'firmwareDialog.uploadFailed': 'Falha no envio do arquivo',
|
|
|
|
// Diálogo de impressão vocal
|
|
'voicePrintDialog.addSpeaker': 'Adicionar Falante',
|
|
'voicePrintDialog.voicePrintVector': 'Vetor de Impressão Vocal',
|
|
'voicePrintDialog.selectVoiceMessage': 'Por favor, selecione uma mensagem de voz',
|
|
'voicePrintDialog.name': 'Nome',
|
|
'voicePrintDialog.enterName': 'Por favor, insira o nome',
|
|
'voicePrintDialog.description': 'Descrição',
|
|
'voicePrintDialog.enterDescription': 'Por favor, insira a descrição',
|
|
'voicePrintDialog.save': 'Salvar',
|
|
'voicePrintDialog.cancel': 'Cancelar',
|
|
'voicePrintDialog.requiredDescription': 'Por favor, insira a descrição',
|
|
'voicePrintDialog.requiredName': 'Por favor, insira o nome',
|
|
'voicePrintDialog.requiredAudioVector': 'Por favor, selecione o vetor de áudio',
|
|
|
|
// 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',
|
|
|
|
// Página de configuração de papel - provedor de contexto
|
|
'roleConfig.contextProvider': 'Contexto',
|
|
'roleConfig.contextProviderSuccess': '{count} fontes adicionadas com sucesso.',
|
|
'roleConfig.contextProviderDocLink': 'Como implantar provedor de contexto',
|
|
'roleConfig.editContextProvider': 'Editar Fonte',
|
|
|
|
// Página de impressão vocal
|
|
'voicePrint.pageTitle': 'Reconhecimento de Impressão Vocal',
|
|
'voicePrint.name': 'Nome',
|
|
'voicePrint.description': 'Descrição',
|
|
'voicePrint.createTime': 'Data de Criação',
|
|
'voicePrint.action': 'Ação',
|
|
'voicePrint.edit': 'Editar',
|
|
'voicePrint.delete': 'Excluir',
|
|
'voicePrint.add': 'Adicionar',
|
|
'voicePrint.addSpeaker': 'Adicionar Falante',
|
|
'voicePrint.editSpeaker': 'Editar Falante',
|
|
'voicePrint.fetchFailed': 'Falha ao buscar lista de impressões vocais',
|
|
'voicePrint.updateSuccess': 'Atualizado com sucesso',
|
|
'voicePrint.addSuccess': 'Adicionado com sucesso',
|
|
'voicePrint.confirmDelete': 'Tem certeza de que deseja excluir esta impressão vocal?',
|
|
'voicePrint.warning': 'Aviso',
|
|
'voicePrint.confirm': 'Confirmar',
|
|
'voicePrint.cancel': 'Cancelar',
|
|
'voicePrint.deleteSuccess': 'Impressão vocal excluída com sucesso',
|
|
'voicePrint.deleteFailed': 'Falha na exclusão. Por favor, tente novamente',
|
|
'voicePrint.cancelDelete': 'Operação de exclusão cancelada',
|
|
'voicePrint.closeOperation': 'Operação fechada',
|
|
'voicePrint.loading': 'Carregando...',
|
|
|
|
// 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',
|
|
|
|
// Componente AddModelDialog
|
|
'addModelDialog.requiredSupplier': 'Por favor, selecione um fornecedor',
|
|
|
|
// Página de registro
|
|
'register.title': 'Criar Conta',
|
|
'register.welcome': 'Bem-vindo ao XiaoZhi AI',
|
|
'register.usernamePlaceholder': 'Por favor, insira o nome de usuário',
|
|
'register.mobilePlaceholder': 'Por favor, insira o número de celular',
|
|
'register.captchaPlaceholder': 'Por favor, insira o captcha',
|
|
'register.mobileCaptchaPlaceholder': 'Por favor, insira o código de verificação SMS',
|
|
'register.passwordPlaceholder': 'Por favor, defina a senha',
|
|
'register.confirmPasswordPlaceholder': 'Por favor, confirme a senha',
|
|
'register.goToLogin': 'Já tem uma conta? Entrar',
|
|
'register.registerButton': 'Registrar',
|
|
'register.agreeTo': 'Ao se registrar, você concorda com nossos',
|
|
'register.userAgreement': 'Termos de Uso',
|
|
'register.privacyPolicy': 'Política de Privacidade',
|
|
'register.notAllowRegister': 'O registro de usuários não é permitido',
|
|
'register.captchaLoadFailed': 'Falha ao carregar captcha',
|
|
'register.inputCaptcha': 'Por favor, insira o captcha',
|
|
'register.inputCorrectMobile': 'Por favor, insira um número de celular válido',
|
|
'register.captchaSendSuccess': 'Código de verificação enviado com sucesso',
|
|
'register.captchaSendFailed': 'Falha ao enviar código de verificação',
|
|
'register.passwordsNotMatch': 'As senhas não coincidem',
|
|
'register.registerSuccess': 'Registro realizado com sucesso!',
|
|
'register.registerFailed': 'Falha no registro',
|
|
'register.requiredUsername': 'O nome de usuário não pode estar vazio',
|
|
'register.requiredPassword': 'A senha não pode estar vazia',
|
|
'register.requiredCaptcha': 'O captcha não pode estar vazio',
|
|
'register.requiredMobileCaptcha': 'Por favor, insira o código de verificação SMS',
|
|
'register.invalidCaptcha': 'Código de verificação inválido',
|
|
'register.passwordLength': 'A senha deve ter entre 6 e 20 caracteres',
|
|
'register.usernameFormat': 'Formato de nome de usuário inválido',
|
|
'register.confirmPasswordRequired': 'A confirmação de senha não pode estar vazia',
|
|
'register.sendCaptcha': 'Obter Código de Verificação',
|
|
'register.secondsLater': 'segundos depois',
|
|
|
|
// Diálogo de parâmetros
|
|
'paramDialog.paramCode': 'Código do Parâmetro',
|
|
'paramDialog.paramCodePlaceholder': 'Por favor, insira o código do parâmetro',
|
|
'paramDialog.paramValue': 'Valor do Parâmetro',
|
|
'paramDialog.paramValuePlaceholder': 'Por favor, insira o valor do parâmetro',
|
|
'paramDialog.valueType': 'Tipo de Valor',
|
|
'paramDialog.valueTypePlaceholder': 'Por favor, selecione o tipo de valor',
|
|
'paramDialog.remark': 'Observação',
|
|
'paramDialog.remarkPlaceholder': 'Por favor, insira a observação',
|
|
'paramDialog.save': 'Salvar',
|
|
'paramDialog.cancel': 'Cancelar',
|
|
'paramDialog.requiredParamCode': 'Por favor, insira o código do parâmetro',
|
|
'paramDialog.requiredParamValue': 'Por favor, insira o valor do parâmetro',
|
|
'paramDialog.requiredValueType': 'Por favor, selecione o tipo de valor',
|
|
'paramDialog.stringType': 'Texto',
|
|
'paramDialog.numberType': 'Número',
|
|
'paramDialog.booleanType': 'Booleano',
|
|
'paramDialog.arrayType': 'Array',
|
|
'paramDialog.jsonType': 'Objeto JSON',
|
|
|
|
// Replacement word management page related
|
|
'replacementWordManagement.pageTitle': 'Gerenciamento de Palavras de Substituição',
|
|
'replacementWordManagement.fileName': 'Nome do Arquivo',
|
|
'replacementWordManagement.replacementWordCount': 'Quantidade de Palavras de Substituição',
|
|
'replacementWordManagement.replacementWordContent': 'Conteúdo Substituto',
|
|
'replacementWordManagement.operation': 'Operação',
|
|
'replacementWordManagement.createTime': 'Tempo de Criação',
|
|
'replacementWordManagement.updateTime': 'Tempo de Atualização',
|
|
'replacementWordManagement.addFile': 'Adicionar Arquivo de Substituição',
|
|
'replacementWordManagement.edit': 'Editar',
|
|
'replacementWordManagement.download': 'Baixar',
|
|
'replacementWordManagement.delete': 'Excluir',
|
|
|
|
// Replacement word dialog related
|
|
'replacementDialog.fileName': 'Nome do Arquivo',
|
|
'replacementDialog.fileNamePlaceholder': 'Por favor, insira o nome do arquivo',
|
|
'replacementDialog.content': 'Conteúdo Substituto',
|
|
'replacementDialog.contentPlaceholder': 'Insira conteúdo: original|substituto',
|
|
'replacementDialog.formatTip': 'Formato por linha: original|substituição',
|
|
'replacementDialog.wordCountUnit': 'palavras de substituição',
|
|
'replacementDialog.uploadTxt': 'Carregar txt',
|
|
'replacementDialog.uploadReplacementFile': 'Carregar arquivo de substituição',
|
|
'replacementDialog.clickUploadTip': 'Carregar arquivo de substituição',
|
|
'replacementDialog.uploadCoverTip': 'Upload substitui conteúdo atual',
|
|
'replacementDialog.save': 'Salvar',
|
|
'replacementDialog.cancel': 'Cancelar',
|
|
'replacementDialog.requiredFileName': 'Por favor, insira o nome do arquivo',
|
|
'replacementDialog.requiredContent': 'Por favor, insira o conteúdo de substituição',
|
|
'replacementDialog.invalidFormat': 'Linha {line} com erro de formato, cada linha deve conter o separador |',
|
|
'replacementDialog.invalidPipeCount': 'Linha {line} com erro de formato, cada linha pode conter apenas um separador |',
|
|
'replacementDialog.emptyOriginal': 'Linha {line} palavra original não pode estar vazia',
|
|
'replacementDialog.emptyReplacement': 'Linha {line} palavra de substituição não pode estar vazia',
|
|
'replacementDialog.invalidOriginalChar': 'Linha {line} palavra original contém caracteres especiais',
|
|
'replacementDialog.invalidReplacementChar': 'Linha {line} palavra de substituição contém caracteres especiais',
|
|
'replacementDialog.readFileError': 'Falha ao ler arquivo',
|
|
'replacementDialog.maxWordCountExceeded': 'A quantidade de palavras de substituição não pode exceder {max}',
|
|
|
|
// Página de gerenciamento de palavras de substituição
|
|
'replacementWordManagement.getListFailed': 'Falha ao obter lista',
|
|
'replacementWordManagement.confirmDelete': 'Tem certeza de que deseja excluir este arquivo?',
|
|
'replacementWordManagement.deleteHint': 'Dica',
|
|
'replacementWordManagement.saveSuccess': 'Salvo com sucesso',
|
|
'replacementWordManagement.saveFailed': 'Falha ao salvar',
|
|
'replacementWordManagement.addFailed': 'Falha ao adicionar',
|
|
'replacementWordManagement.batchDelete': 'Exclusão em Lote',
|
|
'replacementWordManagement.confirmBatchDelete': 'Tem certeza de que deseja excluir os {count} arquivos selecionados?',
|
|
'replacementWordManagement.batchDeleteHint': 'Dica de Exclusão em Lote',
|
|
|
|
// Página de login
|
|
'login.title': 'Entrar',
|
|
'login.welcome': 'BEM-VINDO AO LOGIN',
|
|
'login.username': 'Nome de Usuário',
|
|
'login.usernamePlaceholder': 'Por favor, insira o nome de usuário',
|
|
'login.mobilePlaceholder': 'Por favor, insira o número de celular',
|
|
'login.password': 'Senha',
|
|
'login.passwordPlaceholder': 'Por favor, insira a senha',
|
|
'login.captchaPlaceholder': 'Por favor, insira o código de verificação',
|
|
'login.loginButton': 'Entrar',
|
|
'login.login': 'Entrar',
|
|
'login.register': 'Registrar',
|
|
'login.forgotPassword': 'Esqueceu a Senha',
|
|
'login.forgetPassword': 'Esqueceu a Senha?',
|
|
'login.mobileLogin': 'Login por Celular',
|
|
'login.usernameLogin': 'Login por Usuário',
|
|
'login.agreeTo': 'Ao entrar, você aceita os',
|
|
'login.userAgreement': 'Termos de Uso',
|
|
'login.and': 'e',
|
|
'login.privacyPolicy': 'Política de Privacidade',
|
|
'login.registerAccount': 'Registrar Conta',
|
|
|
|
// Página de recuperação de senha
|
|
'retrievePassword.title': 'Redefinir Senha',
|
|
'retrievePassword.welcome': 'RECUPERAÇÃO DE SENHA',
|
|
'retrievePassword.subtitle': 'Recuperar Senha',
|
|
'retrievePassword.mobile': 'Celular',
|
|
'retrievePassword.mobilePlaceholder': 'Por favor, insira o número de celular',
|
|
'retrievePassword.captcha': 'Código de Verificação',
|
|
'retrievePassword.captchaPlaceholder': 'Por favor, insira o código de verificação',
|
|
'retrievePassword.mobileCaptcha': 'Código de Verificação por Celular',
|
|
'retrievePassword.mobileCaptchaPlaceholder': 'Por favor, insira o código de verificação por celular',
|
|
'retrievePassword.newPassword': 'Nova Senha',
|
|
'retrievePassword.newPasswordPlaceholder': 'Por favor, insira a nova senha',
|
|
'retrievePassword.confirmNewPassword': 'Confirmar Nova Senha',
|
|
'retrievePassword.confirmNewPasswordPlaceholder': 'Por favor, confirme a nova senha',
|
|
'retrievePassword.getMobileCaptcha': 'Obter Código de Verificação',
|
|
'retrievePassword.resetButton': 'Redefinir Senha',
|
|
'retrievePassword.updateButton': 'Atualizar Agora',
|
|
'retrievePassword.goToLogin': 'Voltar ao Login',
|
|
'retrievePassword.inputCorrectMobile': 'Por favor, insira um número de celular válido',
|
|
'retrievePassword.captchaSendSuccess': 'Código de verificação enviado com sucesso',
|
|
'retrievePassword.passwordsNotMatch': 'As duas senhas não coincidem',
|
|
'retrievePassword.passwordLength': 'A senha deve ter entre 6 e 20 caracteres',
|
|
'retrievePassword.mobileRequired': 'O número de celular não pode estar vazio',
|
|
'retrievePassword.captchaRequired': 'O código de verificação não pode estar vazio',
|
|
'retrievePassword.mobileCaptchaRequired': 'O código de verificação por celular não pode estar vazio',
|
|
'retrievePassword.newPasswordRequired': 'A nova senha não pode estar vazia',
|
|
'retrievePassword.confirmNewPasswordRequired': 'A confirmação da nova senha não pode estar vazia',
|
|
'retrievePassword.passwordUpdateSuccess': 'Senha atualizada com sucesso',
|
|
'retrievePassword.agreeTo': 'Redefinir significa concordar',
|
|
|
|
// Página de alteração de senha
|
|
'changePassword.title': 'Alterar Senha',
|
|
'changePassword.oldPasswordLabel': 'Senha Atual:',
|
|
'changePassword.oldPasswordPlaceholder': 'Por favor, insira a senha atual',
|
|
'changePassword.newPasswordLabel': 'Nova Senha:',
|
|
'changePassword.newPasswordPlaceholder': 'Por favor, insira a nova senha',
|
|
'changePassword.confirmPasswordLabel': 'Confirmar Nova Senha:',
|
|
'changePassword.confirmPasswordPlaceholder': 'Por favor, insira novamente a nova senha',
|
|
'changePassword.confirmButton': 'Confirmar',
|
|
'changePassword.cancelButton': 'Cancelar',
|
|
'changePassword.allFieldsRequired': 'Por favor, preencha todos os campos',
|
|
'changePassword.passwordsNotMatch': 'As duas novas senhas não coincidem',
|
|
'changePassword.newPasswordSameAsOld': 'A nova senha não pode ser igual à senha atual',
|
|
'changePassword.passwordChangedSuccessfully': 'Senha alterada com sucesso. Por favor, faça login novamente',
|
|
'changePassword.changeFailed': 'Falha ao alterar senha',
|
|
|
|
// Página de gerenciamento de dispositivos
|
|
'device.management': 'Gerenciamento de Dispositivos',
|
|
'device.add': 'Adicionar Dispositivo',
|
|
'device.edit': 'Editar Dispositivo',
|
|
'device.delete': 'Excluir Dispositivo',
|
|
'device.name': 'Nome do Dispositivo',
|
|
'device.type': 'Tipo de Dispositivo',
|
|
'device.status': 'Status do Dispositivo',
|
|
'device.dialogTitle': 'Adicionar Dispositivo',
|
|
'device.verificationCode': 'Código de Verificação:',
|
|
'device.verificationCodePlaceholder': 'Por favor, insira o código de verificação de 6 dígitos transmitido pelo dispositivo..',
|
|
'device.confirmButton': 'Confirmar',
|
|
'device.cancelButton': 'Cancelar',
|
|
'device.input6DigitCode': 'Por favor, insira um código de verificação de 6 dígitos',
|
|
'device.bindSuccess': 'Dispositivo vinculado com sucesso',
|
|
'device.bindFailed': 'Falha na vinculação',
|
|
'device.searchPlaceholder': 'Por favor, insira modelo do dispositivo ou endereço MAC para pesquisar',
|
|
'device.model': 'Modelo do Dispositivo',
|
|
'device.macAddress': 'Endereço MAC',
|
|
'device.firmwareVersion': 'Versão do Firmware',
|
|
'device.bindTime': 'Data de Vinculação',
|
|
'device.lastConversation': 'Última Conversa',
|
|
'device.remark': 'Observação',
|
|
'device.autoUpdate': 'Atualização Automática',
|
|
'device.operation': 'Operação',
|
|
'device.search': 'Pesquisar',
|
|
'device.selectAll': 'Selecionar Tudo/Desmarcar Tudo',
|
|
'deviceManagement.loading': 'Carregando...',
|
|
'device.bindWithCode': 'Vincular com Código de 6 Dígitos',
|
|
'device.manualAdd': 'Adicionar Manualmente',
|
|
'device.unbind': 'Desvincular',
|
|
'device.deviceThemeGeneration': 'Geração de tema do dispositivo',
|
|
'device.toolCall': 'Chamada de Ferramenta',
|
|
'device.selectAtLeastOne': 'Por favor, selecione pelo menos um registro',
|
|
'device.confirmBatchUnbind': 'Tem certeza de que deseja desvincular {count} dispositivos selecionados?',
|
|
'device.batchUnbindSuccess': '{count} dispositivos desvinculados com sucesso',
|
|
'device.batchUnbindError': 'Ocorreu um erro durante a desvinculação em lote',
|
|
'device.remarkTooLong': 'A observação não pode exceder 64 caracteres',
|
|
'device.remarkSaved': 'Observação salva com sucesso',
|
|
'device.remarkSaveFailed': 'Falha ao salvar observação',
|
|
'device.confirmUnbind': 'Tem certeza de que deseja desvincular este dispositivo?',
|
|
'device.unbindSuccess': 'Dispositivo desvinculado com sucesso',
|
|
'device.unbindFailed': 'Falha ao desvincular dispositivo',
|
|
'device.getListFailed': 'Falha ao buscar lista de dispositivos',
|
|
'device.autoUpdateEnabled': 'Atualização automática ativada',
|
|
'device.autoUpdateDisabled': 'Atualização automática desativada',
|
|
'device.getFirmwareTypeFailed': 'Falha ao buscar tipo de firmware',
|
|
'device.deviceStatus': 'Status',
|
|
'device.online': 'Online',
|
|
'device.offline': 'Offline',
|
|
|
|
// Mensagens de dica
|
|
'message.success': 'Operação Realizada com Sucesso',
|
|
'message.error': 'Falha na Operação',
|
|
'message.warning': 'Aviso',
|
|
'message.info': 'Informação',
|
|
|
|
// Cache
|
|
'cache.viewer': 'Visualizador de Cache',
|
|
|
|
// Diálogo de histórico de chat
|
|
'chatHistory.with': 'Com',
|
|
'chatHistory.dialogTitle': ' - Histórico de Chat',
|
|
'chatHistory.loading': 'Carregando...',
|
|
'chatHistory.noMoreRecords': 'Não há mais registros',
|
|
'chatHistory.selectSession': 'Por favor, selecione uma sessão para visualizar o histórico de chat',
|
|
'chatHistory.today': 'Hoje',
|
|
'chatHistory.yesterday': 'Ontem',
|
|
'chatHistory.downloadCurrentSession': 'Baixar histórico de chat da sessão atual',
|
|
'chatHistory.downloadCurrentWithPreviousSessions': 'Baixar histórico de chat da sessão atual e das 20 sessões anteriores',
|
|
'chatHistory.downloadLinkFailed': 'Falha ao obter link de download',
|
|
|
|
'cache.status': 'Status do Cache',
|
|
'cache.cdnEnabled': 'Modo CDN Ativado',
|
|
'cache.cdnDisabled': 'Modo CDN Desativado',
|
|
'cache.serviceWorkerRegistered': 'Service Worker Registrado',
|
|
'cache.serviceWorkerNotRegistered': 'Service Worker Não Registrado',
|
|
'cache.noCacheDetected': 'Nenhum cache detectado ainda. Por favor, atualize a página ou aguarde o cache ser estabelecido',
|
|
'cache.swDevEnvWarning': 'No ambiente de desenvolvimento, o Service Worker pode não inicializar o cache corretamente',
|
|
'cache.swCheckMethods': 'Por favor, tente os seguintes métodos para verificar se o Service Worker está funcionando:',
|
|
'cache.swCheckMethod1': 'Verifique o status do Service Worker na aba Application/Aplicação das ferramentas de desenvolvedor',
|
|
'cache.swCheckMethod2': 'Visualize o conteúdo do cache em Application/Cache/Cache Storage das ferramentas de desenvolvedor',
|
|
'cache.swCheckMethod3': 'Use o build de produção (npm run build) e acesse através de um servidor HTTP para testar a funcionalidade completa',
|
|
'cache.swDevEnvNormal': 'No ambiente de desenvolvimento, isso é normal',
|
|
'cache.swProdOnly': 'O Service Worker geralmente funciona apenas no ambiente de produção',
|
|
'cache.swTestingTitle': 'Para testar a funcionalidade do Service Worker:',
|
|
'cache.swTestingStep1': 'Execute npm run build para compilar a versão de produção',
|
|
'cache.swTestingStep2': 'Acesse a página compilada através de um servidor HTTP',
|
|
'cache.swNotSupported': 'O navegador atual não suporta Service Worker. A função de cache de recursos CDN não está disponível',
|
|
'cache.dialogTitle': 'Status de Cache de Recursos CDN',
|
|
'cache.loading': 'Carregando informações de cache...',
|
|
'cache.notSupported': 'Seu navegador não suporta Cache API ou o Service Worker não está instalado',
|
|
'cache.refreshPage': 'Atualizar Página',
|
|
'cache.noCachedResources': 'Nenhum recurso CDN em cache encontrado',
|
|
'cache.noCachedResourcesDesc': 'O Service Worker pode não ter concluído a inicialização ou o cache não foi estabelecido. Por favor, atualize a página ou tente novamente mais tarde.',
|
|
'cache.cdnCacheStatus': 'Status de Cache de Recursos CDN',
|
|
'cache.totalCachedResources': 'Encontrados {count} recursos em cache no total',
|
|
'cache.jsResources': 'Recursos JavaScript ({count})',
|
|
'cache.cssResources': 'Recursos CSS ({count})',
|
|
'cache.cached': 'Em Cache',
|
|
'cache.notCached': 'Não Em Cache',
|
|
'cache.refreshStatus': 'Atualizar Status do Cache',
|
|
'cache.clearCache': 'Limpar Cache',
|
|
'cache.refreshingStatus': 'Atualizando status do cache',
|
|
'cache.confirmClear': 'Tem certeza de que deseja limpar todo o cache?',
|
|
'cache.clearedSuccess': 'Cache limpo com sucesso',
|
|
'cache.clearFailed': 'Falha ao limpar cache',
|
|
'cache.clearCanceled': 'Operação de limpeza cancelada',
|
|
|
|
// Botões comuns
|
|
'button.ok': 'OK',
|
|
'button.cancel': 'Cancelar',
|
|
'button.save': 'Salvar',
|
|
'button.close': 'Fechar',
|
|
|
|
// Informações do sistema
|
|
'system.name': 'Serviço XiaoZhi',
|
|
|
|
// Impressão vocal
|
|
'voiceprint.management': 'Gerenciamento de Impressão Vocal',
|
|
'voiceprint.add': 'Adicionar Impressão Vocal',
|
|
'voiceprint.delete': 'Excluir Impressão Vocal',
|
|
|
|
// Página de gerenciamento de dicionário
|
|
'dictManagement.pageTitle': 'Gerenciamento de Dicionário',
|
|
'dictManagement.searchPlaceholder': 'Por favor, insira o rótulo do dicionário para pesquisar',
|
|
'dictManagement.search': 'Pesquisar',
|
|
'dictManagement.dictTypeName': 'Nome do Tipo de Dicionário',
|
|
'dictManagement.operation': 'Operação',
|
|
'dictManagement.edit': 'Editar',
|
|
'dictManagement.dictLabel': 'Rótulo do Dicionário',
|
|
'dictManagement.dictValue': 'Valor do Dicionário',
|
|
'dictManagement.sort': 'Ordenação',
|
|
'dictManagement.delete': 'Excluir',
|
|
'dictManagement.selectAll': 'Selecionar Tudo',
|
|
'dictManagement.deselectAll': 'Desmarcar Tudo',
|
|
'dictManagement.addDictType': 'Adicionar Tipo de Dicionário',
|
|
'dictManagement.batchDeleteDictType': 'Exclusão em Lote de Tipos de Dicionário',
|
|
'dictManagement.addDictData': 'Adicionar Dados do Dicionário',
|
|
'dictManagement.batchDeleteDictData': 'Exclusão em Lote de Dados do Dicionário',
|
|
'dictManagement.itemsPerPage': '{items} itens/página',
|
|
'dictManagement.firstPage': 'Primeira Página',
|
|
'dictManagement.prevPage': 'Página Anterior',
|
|
'dictManagement.nextPage': 'Próxima Página',
|
|
'dictManagement.totalRecords': 'Total de {total} registros',
|
|
'dictManagement.editDictType': 'Editar Tipo de Dicionário',
|
|
'dictManagement.editDictData': 'Editar Dados do Dicionário',
|
|
'dictManagement.saveSuccess': 'Salvo com Sucesso',
|
|
'dictManagement.deleteSuccess': 'Excluído com Sucesso',
|
|
'dictManagement.selectDictTypeToDelete': 'Por favor, selecione tipos de dicionário para excluir',
|
|
'dictManagement.confirmDeleteDictType': 'Tem certeza de que deseja excluir os tipos de dicionário selecionados?',
|
|
'dictManagement.confirm': 'Confirmar',
|
|
'dictManagement.cancel': 'Cancelar',
|
|
'dictManagement.selectDictTypeFirst': 'Por favor, selecione um tipo de dicionário primeiro',
|
|
'dictManagement.confirmDeleteDictData': 'Tem certeza de que deseja excluir estes dados do dicionário?',
|
|
'dictManagement.selectDictDataToDelete': 'Por favor, selecione dados do dicionário para excluir',
|
|
'dictManagement.confirmBatchDeleteDictData': 'Tem certeza de que deseja excluir {count} itens de dados do dicionário selecionados?',
|
|
'dictManagement.getDictDataFailed': 'Falha ao obter dados do dicionário',
|
|
|
|
// Informações do usuário
|
|
'user.info': 'Informações do Usuário',
|
|
'user.username': 'Nome de Usuário',
|
|
'user.mobile': 'Celular',
|
|
'user.userid': 'ID do Usuário',
|
|
'user.deviceCount': 'Quantidade de Dispositivos',
|
|
'user.createDate': 'Data de Registro',
|
|
'user.status': 'Status',
|
|
'user.normal': 'Normal',
|
|
'user.disabled': 'Desativado',
|
|
'user.resetPassword': 'Redefinir Senha',
|
|
'user.disableAccount': 'Desativar Conta',
|
|
'user.enableAccount': 'Ativar Conta',
|
|
'user.deleteUser': 'Excluir Usuário',
|
|
'user.deselectAll': 'Desmarcar Tudo',
|
|
'user.selectAll': 'Selecionar Tudo',
|
|
'user.enable': 'Ativar',
|
|
'user.disable': 'Desativar',
|
|
'user.delete': 'Excluir',
|
|
'user.selectUsersFirst': 'Por favor, selecione usuários para excluir primeiro',
|
|
'user.confirmDeleteSelected': 'Tem certeza de que deseja excluir {count} usuários selecionados?',
|
|
'user.deleting': 'Excluindo...',
|
|
'user.deleteSuccess': '{count} usuários excluídos com sucesso',
|
|
'user.deleteFailed': 'Falha na exclusão. Por favor, tente novamente',
|
|
'user.partialDelete': '{successCount} usuários excluídos com sucesso, {failCount} falharam',
|
|
'user.deleteError': 'Ocorreu um erro durante a exclusão',
|
|
'user.deleteCancelled': 'Exclusão cancelada',
|
|
'user.confirmResetPassword': 'Uma nova senha será gerada após a redefinição. Continuar?',
|
|
'user.resetPasswordSuccess': 'Senha redefinida. Por favor, notifique o usuário para fazer login com a nova senha',
|
|
'user.generatedPassword': 'Senha Padrão Gerada',
|
|
'user.confirmDeleteUser': 'Tem certeza de que deseja excluir este usuário?',
|
|
'user.deleteUserSuccess': 'Excluído com sucesso',
|
|
'user.operationFailed': 'Falha na operação. Por favor, tente novamente',
|
|
'user.confirmStatusChange': 'Tem certeza de que deseja {action} {count} usuários selecionados?',
|
|
'user.statusChangeSuccess': '{count} usuários {action} com sucesso',
|
|
'user.invalidUserId': 'Existem IDs de usuário inválidos',
|
|
'user.searchPhone': 'Por favor, insira o número de celular para pesquisar',
|
|
'user.search': 'Pesquisar',
|
|
|
|
// Página de gerenciamento de provedores
|
|
'providerManagement.categoryFilter': 'Filtro de Categoria',
|
|
'providerManagement.searchPlaceholder': 'Por favor, insira o nome do provedor para pesquisar',
|
|
'providerManagement.category': 'Categoria',
|
|
'providerManagement.providerCode': 'Código do Provedor',
|
|
'providerManagement.fieldConfig': 'Configuração de Campos',
|
|
'providerManagement.selectToDelete': 'Por favor, selecione provedores para excluir primeiro',
|
|
'providerManagement.confirmDelete': 'Tem certeza de que deseja excluir os {count} provedores selecionados?',
|
|
'providerManagement.viewFields': 'Ver Campos',
|
|
|
|
// Texto comum
|
|
'common.all': 'Todos',
|
|
'common.search': 'Pesquisar',
|
|
'common.name': 'Nome',
|
|
'common.sort': 'Ordenação',
|
|
'common.action': 'Ação',
|
|
'common.edit': 'Editar',
|
|
'common.delete': 'Excluir',
|
|
'common.selectAll': 'Selecionar Tudo',
|
|
'common.deselectAll': 'Desmarcar Tudo',
|
|
'common.add': 'Adicionar',
|
|
'common.perPage': '{number}/página',
|
|
'common.firstPage': 'Primeira Página',
|
|
'common.prevPage': 'Página Anterior',
|
|
'common.nextPage': 'Próxima Página',
|
|
'common.totalRecords': 'Total de {number} registros',
|
|
'common.addProvider': 'Adicionar Provedor',
|
|
'common.success': 'Sucesso',
|
|
'common.editProvider': 'Editar Provedor',
|
|
'common.updateSuccess': 'Atualizado com Sucesso',
|
|
'common.addSuccess': 'Adicionado com Sucesso',
|
|
'common.deleteSuccess': 'Excluído com Sucesso',
|
|
'common.deleteFailure': 'Falha ao Excluir. Por Favor, Tente Novamente',
|
|
'common.deleteCancelled': 'Exclusão Cancelada',
|
|
'common.warning': 'Aviso',
|
|
'common.tip': 'Dica',
|
|
'common.confirm': 'Confirmar',
|
|
'common.cancel': 'Cancelar',
|
|
'common.sensitive': 'Sensível',
|
|
'common.loading': 'Carregando',
|
|
|
|
// Troca de idioma
|
|
'language.zhCN': '中文简体',
|
|
'language.zhTW': '中文繁體',
|
|
'language.en': 'English',
|
|
'language.de': 'Deutsch',
|
|
'language.vi': 'Tiếng Việt',
|
|
'language.ptBR': 'Português (Brasil)',
|
|
|
|
// Página inicial
|
|
'home.addAgent': 'Adicionar Agente',
|
|
'home.greeting': 'Olá XiaoZhi',
|
|
'home.wish': 'Vamos ter um dia maravilhoso!',
|
|
'home.languageModel': 'LLM',
|
|
'home.voiceModel': 'TTS',
|
|
'home.configureRole': 'ConfRoles',
|
|
'home.voiceprintRecognition': 'RecVoz',
|
|
'home.deviceManagement': 'Dispositivos',
|
|
'home.chatHistory': 'Conversa',
|
|
'home.lastConversation': 'Última Conversa',
|
|
'home.noConversation': 'Nenhuma conversa',
|
|
'home.justNow': 'Agora mesmo',
|
|
'home.minutesAgo': 'Há {minutes} minutos',
|
|
'home.hoursAgo': 'Há {hours} horas e {minutes} minutos',
|
|
'home.confirmDeleteAgent': 'Tem certeza de que deseja excluir este agente?',
|
|
'home.deleteSuccess': 'Excluído com sucesso',
|
|
'home.deleteFailed': 'Falha ao excluir',
|
|
'home.enableMemory': 'Por favor, ative a memória na página "Configurar Papel" primeiro',
|
|
|
|
// Página de gerenciamento de parâmetros
|
|
'paramManagement.pageTitle': 'Gerenciamento de Parâmetros',
|
|
'paramManagement.searchPlaceholder': 'Por favor, insira código do parâmetro ou observação para pesquisar',
|
|
'paramManagement.search': 'Pesquisar',
|
|
'paramManagement.paramCode': 'Código do Parâmetro',
|
|
'paramManagement.paramValue': 'Valor do Parâmetro',
|
|
'paramManagement.remark': 'Observação',
|
|
'paramManagement.operation': 'Operação',
|
|
'paramManagement.hide': 'Ocultar',
|
|
'paramManagement.view': 'Visualizar',
|
|
'paramManagement.deselectAll': 'Desmarcar Tudo',
|
|
'paramManagement.selectAll': 'Selecionar Tudo',
|
|
'paramManagement.add': 'Adicionar',
|
|
'paramManagement.delete': 'Excluir',
|
|
'paramManagement.edit': 'Editar',
|
|
'paramManagement.itemsPerPage': 'itens/página',
|
|
'paramManagement.firstPage': 'Primeira Página',
|
|
'paramManagement.prevPage': 'Página Anterior',
|
|
'paramManagement.nextPage': 'Próxima Página',
|
|
'paramManagement.totalRecords': 'Total de {total} registros',
|
|
'paramManagement.addParam': 'Adicionar Parâmetro',
|
|
'paramManagement.editParam': 'Editar Parâmetro',
|
|
'paramManagement.getParamsListFailed': 'Falha ao obter lista de parâmetros',
|
|
'paramManagement.selectParamsFirst': 'Por favor, selecione parâmetros para excluir primeiro',
|
|
'paramManagement.confirmBatchDelete': 'Tem certeza de que deseja excluir {paramCount} parâmetros selecionados?',
|
|
'paramManagement.invalidParamId': 'Existem IDs de parâmetro inválidos',
|
|
'paramManagement.batchDeleteSuccess': '{paramCount} parâmetros excluídos com sucesso',
|
|
'paramManagement.deleteFailed': 'Falha na exclusão. Por favor, tente novamente',
|
|
'paramManagement.operationCancelled': 'Exclusão cancelada',
|
|
'paramManagement.operationClosed': 'Operação fechada',
|
|
'paramManagement.updateSuccess': 'Atualizado com sucesso. Algumas configurações só terão efeito após reiniciar o módulo xiaozhi-server.',
|
|
'paramManagement.addSuccess': 'Adicionado com sucesso',
|
|
'paramManagement.updateFailed': 'Falha na atualização',
|
|
'paramManagement.addFailed': 'Falha ao adicionar',
|
|
|
|
// Página de gerenciamento de servidores
|
|
'serverSideManager.pageTitle': 'Gerenciamento de Servidores',
|
|
'serverSideManager.wsAddress': 'Endereço WS',
|
|
'serverSideManager.operation': 'Operação',
|
|
'serverSideManager.restart': 'Reiniciar',
|
|
'serverSideManager.updateConfig': 'Atualizar Configuração',
|
|
'serverSideManager.restartServer': 'Reiniciar Servidor',
|
|
'serverSideManager.updateConfigTitle': 'Atualizar Configuração',
|
|
'serverSideManager.confirmRestart': 'Tem certeza de que deseja reiniciar o servidor?',
|
|
'serverSideManager.confirmUpdateConfig': 'Tem certeza de que deseja atualizar a configuração?',
|
|
'serverSideManager.loading': 'Carregando...',
|
|
'serverSideManager.getServerListFailed': 'Falha ao obter lista de servidores',
|
|
'serverSideManager.operationFailed': 'Falha na operação',
|
|
'serverSideManager.restartSuccess': 'Reiniciado com sucesso',
|
|
'serverSideManager.updateConfigSuccess': 'Configuração atualizada com sucesso',
|
|
|
|
// Diálogo de adicionar agente
|
|
'addAgentDialog.title': 'Adicionar Agente',
|
|
'addAgentDialog.agentName': 'Nome do Agente',
|
|
'addAgentDialog.placeholder': 'Por favor, insira o nome do agente..',
|
|
'addAgentDialog.confirm': 'Confirmar',
|
|
'addAgentDialog.cancel': 'Cancelar',
|
|
'addAgentDialog.nameRequired': 'Por favor, insira o nome do agente',
|
|
'addAgentDialog.addSuccess': 'Adicionado com sucesso',
|
|
|
|
// Página de configuração de papel
|
|
'roleConfig.title': 'Configuração de Papel',
|
|
'roleConfig.addTag': 'Adicionar Novo Rótulo',
|
|
'roleConfig.restartNotice': 'Reinicie após salvar a configuração para ativação.',
|
|
'roleConfig.saveConfig': 'Salvar Configuração',
|
|
'roleConfig.reset': 'Redefinir',
|
|
'roleConfig.agentName': 'Apelido',
|
|
'roleConfig.roleTemplate': 'Modelo',
|
|
'roleConfig.roleIntroduction': 'Introdução',
|
|
'roleConfig.languageCode': 'Código do Idioma',
|
|
'roleConfig.interactionLanguage': 'Idioma de Interação',
|
|
'roleConfig.vad': 'Detecção de Voz',
|
|
'roleConfig.asr': 'Reconhecimento de Fala',
|
|
'roleConfig.llm': 'Modelo de Linguagem Principal',
|
|
'roleConfig.slm': 'Modelo de Linguagem Pequeno',
|
|
'roleConfig.vllm': 'Modelo de Visão',
|
|
'roleConfig.intent': 'Reconhecimento de Intenção',
|
|
'roleConfig.memoryHis': 'Memória',
|
|
'roleConfig.memory': 'Modelo de Memória',
|
|
'roleConfig.tts': 'Texto para Fala',
|
|
'roleConfig.language': 'Linguagem do diálogo',
|
|
'roleConfig.selectLanguage': 'Por favor, selecione o idioma',
|
|
'roleConfig.voiceType': 'Tipo de Voz',
|
|
'roleConfig.ttsVolume': 'Volume',
|
|
'roleConfig.ttsRate': 'Velocidade da fala',
|
|
'roleConfig.ttsPitch': 'Tonalidade',
|
|
'roleConfig.ttsAdvanced': 'Parâmetros TTS',
|
|
'roleConfig.advancedSettings': 'Pronúncia Tonal Substituição de Palavras',
|
|
'roleConfig.volumeHint': '-100=mínimo, 0=padrão, 100=máximo',
|
|
'roleConfig.speedHint': '-100=mais lento, 0=padrão, 100=mais rápido',
|
|
'roleConfig.pitchHint': '-100=mínimo, 0=padrão, 100=máximo',
|
|
'roleConfig.replacementWordLabel': 'Palavras de substituição associadas',
|
|
'roleConfig.replacementWordTip': 'Durante a síntese de fala, substitua forçadamente palavras mal reconhecidas, caracteres polissílabos, substantivos próprios e palavras sensíveis pelo texto/pronúncia correto especificado por você para melhorar a precisão, conformidade e experiência',
|
|
'replacementDialog.selectPlaceholder': 'Por favor, selecione',
|
|
'roleConfig.pleaseEnterContent': 'Por favor, insira o conteúdo',
|
|
'roleConfig.pleaseEnterLangCode': 'Por favor, insira o código do idioma, ex.: pt_BR',
|
|
'roleConfig.pleaseEnterLangName': 'Por favor, insira o idioma de interação, ex.: Português',
|
|
'roleConfig.pleaseSelect': 'Por favor, selecione',
|
|
'roleConfig.editFunctions': 'Editar Funções',
|
|
'roleConfig.reportText': 'Somente Texto',
|
|
'roleConfig.reportTextVoice': 'Texto e Voz',
|
|
'roleConfig.saveSuccess': 'Configuração salva com sucesso',
|
|
'roleConfig.saveFailed': 'Falha ao salvar configuração',
|
|
'roleConfig.confirmReset': 'Tem certeza de que deseja redefinir a configuração?',
|
|
'roleConfig.resetSuccess': 'Configuração redefinida',
|
|
'roleConfig.fetchTemplatesFailed': 'Falha ao buscar lista de modelos',
|
|
'roleConfig.templateApplied': 'modelo aplicado',
|
|
'roleConfig.applyTemplateFailed': 'Falha ao aplicar modelo',
|
|
'roleConfig.fetchConfigFailed': 'Falha ao buscar configuração',
|
|
'roleConfig.fetchModelsFailed': 'Falha ao buscar lista de modelos',
|
|
'roleConfig.fetchPluginsFailed': 'Falha ao buscar lista de plugins',
|
|
'roleConfig.cannotResumeAudio': 'Não é possível retomar a reprodução de áudio',
|
|
'roleConfig.selectVoiceFirst': 'Por favor, selecione uma voz primeiro',
|
|
'roleConfig.audioLoadTimeout': 'O carregamento do áudio está demorando muito. Por favor, tente novamente mais tarde',
|
|
'roleConfig.cloneAudioPlayFailed': 'Falha na reprodução do áudio clonado',
|
|
'roleConfig.cannotPlayCloneAudio': 'Não é possível reproduzir áudio clonado',
|
|
'roleConfig.getCloneAudioFailed': 'Falha ao obter áudio clonado',
|
|
'roleConfig.noPreviewAudio': 'Esta voz não possui áudio de pré-visualização disponível',
|
|
'roleConfig.audioPlayFailed': 'Falha na reprodução de áudio',
|
|
'roleConfig.cannotPlayAudio': 'Não é possível reproduzir áudio',
|
|
'roleConfig.audioPlayError': 'Ocorreu um erro durante a reprodução de áudio',
|
|
|
|
// Descrições de Tooltip para campos de formulário
|
|
'roleConfig.tooltip.agentName': 'Defina o nome do seu agente de IA para identificação e reconhecimento',
|
|
'roleConfig.tooltip.roleTemplate': 'Escolha entre modelos de função predefinidos para configurar rapidamente as configurações básicas do seu agente',
|
|
'roleConfig.tooltip.contextProvider': 'Quando o XiaoZhi é ativado, busca dados de sistemas externos e os injeta dinamicamente no prompt do sistema do LLM',
|
|
'roleConfig.tooltip.roleIntroduction': 'Defina o posicionamento do papel, traços de personalidade, normas comportamentais e histórico de conhecimento profissional do agente de IA',
|
|
'roleConfig.tooltip.memoryHis': 'Resumir conteúdo do registro de chat',
|
|
'roleConfig.tooltip.languageCode': 'Defina o código de idioma como pt-BR, en-US, etc., usado para reconhecimento de recursos específicos',
|
|
'roleConfig.tooltip.interactionLanguage': 'Defina o idioma de interação, especificando o idioma principal que o agente de IA usa para comunicação',
|
|
'roleConfig.tooltip.vad': 'Detecção de Atividade de Voz: Detecta quando o usuário começa ou para de falar, usado para determinar o início e fim da conversa, permitindo funcionalidade de interrupção',
|
|
'roleConfig.tooltip.asr': 'Reconhecimento Automático de Fala: Converte fala do usuário em texto, o primeiro passo no diálogo humano-computador, suporta reconhecimento multilíngue',
|
|
'roleConfig.tooltip.llm': 'Modelo de Linguagem Principal (Large Language Model): O "cérebro" do agente de IA, responsável por entender a intenção do usuário, gerar respostas e executar várias tarefas',
|
|
'roleConfig.tooltip.slm': 'Modelo de Parâmetros Pequeno (Small Language Model): Usado para ativação do agente de IA, gerando títulos de resumo de memória',
|
|
'roleConfig.tooltip.vllm': 'Modelo de Linguagem Visual Grande: Processa compreensão de imagem e vídeo, permitindo que o agente de IA analise e descreva o conteúdo capturado pela câmera',
|
|
'roleConfig.tooltip.intent': 'Detecção de Intenção: Analisa fala ou texto do usuário para determinar a verdadeira intenção do usuário, como consultas, bate-papo, controle de dispositivos, etc.',
|
|
'roleConfig.tooltip.memory': 'Modelo de Memória: Gerencia armazenamento e resumo do histórico de conversas, determina se a IA pode lembrar conversas anteriores para memória de longo prazo',
|
|
'roleConfig.tooltip.tts': 'Texto para Fala: Converte texto em fala natural, determinando a voz, velocidade e tom da IA',
|
|
'roleConfig.tooltip.language': 'Selecione o idioma da voz; o sistema filtrará vozes disponíveis que suportam esse idioma',
|
|
'roleConfig.tooltip.voiceType': 'Escolha a voz para o agente de IA; diferentes vozes têm diferentes características e estilos. Algumas vozes suportam funcionalidade de visualização, clique no botão de reprodução para visualizar',
|
|
|
|
// Diálogo de gerenciamento de funções
|
|
'functionDialog.title': 'Gerenciamento de Funções',
|
|
'functionDialog.unselectedFunctions': 'Funções Não Selecionadas',
|
|
'functionDialog.selectedFunctions': 'Funções Selecionadas',
|
|
'functionDialog.selectAll': 'Selecionar Tudo',
|
|
'functionDialog.noMorePlugins': 'Não há mais plugins disponíveis',
|
|
'functionDialog.pleaseSelectPlugin': 'Por favor, selecione funções de plugin',
|
|
'functionDialog.paramConfig': 'Configuração de Parâmetros',
|
|
'functionDialog.noNeedToConfig': ' não requer configuração de parâmetros',
|
|
'functionDialog.pleaseSelectFunctionForParam': 'Por favor, selecione uma função configurada para definições de parâmetros',
|
|
'functionDialog.mcpAccessPoint': 'Ponto de Acesso MCP',
|
|
'functionDialog.mcpAddressDesc': 'Abaixo estão os endereços de ponto de acesso MCP do agente.',
|
|
'functionDialog.howToDeployMcp': 'Como implantar ponto de acesso MCP',
|
|
'functionDialog.howToIntegrateMcp': 'Como integrar funções MCP',
|
|
'functionDialog.copy': 'Copiar',
|
|
'functionDialog.accessPointStatus': 'Status do Ponto de Acesso',
|
|
'functionDialog.connected': 'Conectado',
|
|
'functionDialog.loading': 'Carregando...',
|
|
'functionDialog.disconnected': 'Desconectado',
|
|
'functionDialog.refresh': 'Atualizar',
|
|
'functionDialog.noAvailableTools': 'Nenhuma ferramenta disponível',
|
|
'functionDialog.cancel': 'Cancelar',
|
|
'functionDialog.saveConfig': 'Salvar Configuração',
|
|
'functionDialog.copiedToClipboard': 'Copiado para a área de transferência',
|
|
'functionDialog.copyFailed': 'Falha ao copiar. Por favor, copie manualmente',
|
|
'functionDialog.jsonFormatError': ' erro no formato do campo: formato JSON inválido',
|
|
'functionDialog.defaultValue': 'Valor Padrão',
|
|
|
|
// Página de configuração de modelos
|
|
'modelConfig.searchPlaceholder': 'Por favor, insira o nome do modelo para pesquisar',
|
|
'modelConfig.search': 'Pesquisar',
|
|
'modelConfig.vad': 'Detecção de Atividade de Voz',
|
|
'modelConfig.asr': 'Reconhecimento de Fala',
|
|
'modelConfig.llm': 'Modelo de Linguagem Grande',
|
|
'modelConfig.vllm': 'Modelo de Linguagem Visual',
|
|
'modelConfig.intent': 'Reconhecimento de Intenção',
|
|
'modelConfig.tts': 'Texto para Fala',
|
|
'modelConfig.memory': 'Memória',
|
|
'modelConfig.rag': 'RAG',
|
|
'modelConfig.modelId': 'ID do Modelo',
|
|
'modelConfig.modelName': 'Nome do Modelo',
|
|
'modelConfig.provider': 'Tipo de Interface',
|
|
'modelConfig.unknown': 'Desconhecido',
|
|
'modelConfig.isEnabled': 'Ativado',
|
|
'modelConfig.isDefault': 'Padrão',
|
|
'modelConfig.defaultModelCannotDisable': 'A configuração do modelo padrão não pode ser desativada',
|
|
'modelConfig.action': 'Ação',
|
|
'modelConfig.voiceManagement': 'Gerenciamento de Voz',
|
|
'modelConfig.edit': 'Editar',
|
|
'modelConfig.duplicate': 'Duplicar',
|
|
'modelConfig.delete': 'Excluir',
|
|
'modelConfig.deselectAll': 'Desmarcar Tudo',
|
|
'modelConfig.select': 'Selecionar',
|
|
'modelConfig.selectAll': 'Selecionar Tudo',
|
|
'modelConfig.add': 'Adicionar Novo',
|
|
'modelConfig.selectModelsFirst': 'Por favor, selecione modelos para excluir primeiro',
|
|
'modelConfig.confirmBatchDelete': 'Tem certeza de que deseja excluir os modelos selecionados?',
|
|
'modelConfig.confirmDelete': 'Tem certeza de que deseja excluir este modelo?',
|
|
'modelConfig.batchDeleteSuccess': 'Exclusão em lote realizada com sucesso',
|
|
'modelConfig.partialDeleteFailed': 'Exclusão parcial falhou',
|
|
'modelConfig.deleteSuccess': 'Excluído com sucesso',
|
|
'modelConfig.deleteFailed': 'Falha ao excluir',
|
|
'modelConfig.deleteCancelled': 'Exclusão cancelada',
|
|
'modelConfig.duplicateSuccess': 'Duplicado com sucesso',
|
|
'modelConfig.duplicateFailed': 'Falha ao duplicar',
|
|
'modelConfig.saveSuccess': 'Salvo com sucesso',
|
|
'modelConfig.saveFailed': 'Falha ao salvar',
|
|
'modelConfig.addSuccess': 'Adicionado com sucesso',
|
|
'modelConfig.addFailed': 'Falha ao adicionar',
|
|
'modelConfig.fetchModelsFailed': 'Falha ao buscar lista de modelos',
|
|
'modelConfig.enableSuccess': 'Ativado com sucesso',
|
|
'modelConfig.disableSuccess': 'Desativado com sucesso',
|
|
'modelConfig.operationFailed': 'Falha na operação',
|
|
'modelConfig.setDefaultSuccess': 'Modelo padrão definido com sucesso. Por favor, reinicie o módulo xiaozhi-server manualmente',
|
|
'modelConfig.itemsPerPage': '{items} itens/página',
|
|
'modelConfig.firstPage': 'Primeira Página',
|
|
'modelConfig.prevPage': 'Página Anterior',
|
|
'modelConfig.nextPage': 'Próxima Página',
|
|
'modelConfig.totalRecords': 'Total de {total} registros',
|
|
'modelConfig.loading': 'Carregando...',
|
|
|
|
// Diálogo de configuração de modelos
|
|
'modelConfigDialog.addModel': 'Adicionar Modelo',
|
|
'modelConfigDialog.editModel': 'Editar Modelo',
|
|
'modelConfigDialog.duplicateModel': 'Duplicar Modelo',
|
|
'modelConfigDialog.copySuffix': '_cópia',
|
|
'modelConfigDialog.modelInfo': 'Informações do Modelo',
|
|
'modelConfigDialog.enable': 'Ativar',
|
|
'modelConfigDialog.setDefault': 'Definir como Padrão',
|
|
'modelConfigDialog.modelId': 'ID do Modelo',
|
|
'modelConfigDialog.enterModelId': 'Se não preenchido, será gerado automaticamente',
|
|
'modelConfigDialog.invalidModelId': 'O ID do modelo não pode ser apenas texto ou espaços. Use letras, números, sublinhados ou hífens',
|
|
'modelConfigDialog.modelName': 'Nome do Modelo',
|
|
'modelConfigDialog.enterModelName': 'Por favor, insira o nome do modelo',
|
|
'modelConfigDialog.modelCode': 'Código do Modelo',
|
|
'modelConfigDialog.enterModelCode': 'Por favor, insira o código do modelo',
|
|
'modelConfigDialog.supplier': 'Fornecedor',
|
|
'modelConfigDialog.selectSupplier': 'Por favor, selecione',
|
|
'modelConfigDialog.sortOrder': 'Ordem de Classificação',
|
|
'modelConfigDialog.enterSortOrder': 'Por favor, insira a ordem de classificação',
|
|
'modelConfigDialog.docLink': 'Link da Documentação',
|
|
'modelConfigDialog.enterDocLink': 'Por favor, insira o link da documentação',
|
|
'modelConfigDialog.remark': 'Observação',
|
|
'modelConfigDialog.enterRemark': 'Por favor, insira a observação do modelo',
|
|
'modelConfigDialog.callInfo': 'Informações de Chamada',
|
|
'modelConfigDialog.enterJsonExample': 'Por favor, insira variáveis no formato JSON (exemplo: {"key":"value"})',
|
|
'modelConfigDialog.save': 'Salvar',
|
|
|
|
// Configuração de modelo TTS
|
|
'ttsModel.select': 'Selecionar',
|
|
'ttsModel.voiceCode': 'Código da Voz',
|
|
'ttsModel.voiceName': 'Nome da Voz',
|
|
'ttsModel.languageType': 'Tipo de Idioma',
|
|
'ttsModel.preview': 'Pré-visualizar',
|
|
'ttsModel.enterMp3Url': 'Por favor, insira a URL do MP3',
|
|
'ttsModel.remark': 'Observação',
|
|
'ttsModel.enterRemark': 'Esta é uma observação',
|
|
'ttsModel.referenceAudioPath': 'Caminho do Áudio de Referência',
|
|
'ttsModel.enterReferenceAudio': 'Este é o caminho do áudio de referência',
|
|
'ttsModel.referenceText': 'Texto do Áudio de Referência',
|
|
'ttsModel.enterReferenceText': 'Este é o texto do áudio de referência',
|
|
'ttsModel.action': 'Ação',
|
|
'ttsModel.operation': 'Operação',
|
|
'ttsModel.operationFailed': 'Falha na operação',
|
|
'ttsModel.operationClosed': 'Operação fechada',
|
|
'ttsModel.edit': 'Editar',
|
|
'ttsModel.delete': 'Excluir',
|
|
'ttsModel.deleteVoiceSuccess': '{count} vozes excluídas com sucesso',
|
|
'ttsModel.deleteFailed': 'Falha ao excluir vozes',
|
|
'ttsModel.save': 'Salvar',
|
|
'ttsModel.deselectAll': 'Desmarcar Tudo',
|
|
'ttsModel.selectAll': 'Selecionar Tudo',
|
|
'ttsModel.add': 'Adicionar',
|
|
'ttsModel.fetchVoicesFailed': 'Falha ao buscar lista de vozes',
|
|
'ttsModel.loadVoicesFailed': 'Falha ao carregar dados de voz',
|
|
'ttsModel.unnamedVoice': 'Voz Sem Nome',
|
|
'ttsModel.finishEditingFirst': 'Por favor, termine a edição atual primeiro',
|
|
'ttsModel.selectVoiceToDelete': 'Por favor, selecione vozes para excluir',
|
|
'ttsModel.warning': 'Aviso',
|
|
'ttsModel.confirmDeleteVoice': 'Tem certeza de que deseja excluir {count} vozes?',
|
|
'ttsModel.voiceCodeNameLanguageRequired': 'Código da voz, nome da voz e tipo de idioma não podem estar vazios',
|
|
'ttsModel.deleteCancelled': 'Exclusão cancelada',
|
|
'ttsModel.updateSuccess': 'Atualizado com sucesso',
|
|
'ttsModel.saveSuccess': 'Salvo com sucesso',
|
|
|
|
// Página de gerenciamento OTA
|
|
'otaManagement.firmwareManagement': 'Gerenciamento de Firmware',
|
|
'otaManagement.searchPlaceholder': 'Por favor, insira o nome do firmware para pesquisar',
|
|
'otaManagement.search': 'Pesquisar',
|
|
'otaManagement.firmwareName': 'Nome do Firmware',
|
|
'otaManagement.firmwareType': 'Tipo de Firmware',
|
|
'otaManagement.version': 'Versão',
|
|
'otaManagement.fileSize': 'Tamanho do Arquivo',
|
|
'otaManagement.remark': 'Observação',
|
|
'otaManagement.createTime': 'Data de Criação',
|
|
'otaManagement.updateTime': 'Data de Atualização',
|
|
'otaManagement.action': 'Ação',
|
|
'otaManagement.download': 'Baixar',
|
|
'otaManagement.edit': 'Editar',
|
|
'otaManagement.delete': 'Excluir',
|
|
'otaManagement.selectAll': 'Selecionar Tudo',
|
|
'otaManagement.deselectAll': 'Desmarcar Tudo',
|
|
'otaManagement.addNew': 'Adicionar Novo',
|
|
'otaManagement.addFirmware': 'Adicionar Firmware',
|
|
'otaManagement.editFirmware': 'Editar Firmware',
|
|
'otaManagement.itemsPerPage': '{items} itens/página',
|
|
'otaManagement.firstPage': 'Primeira Página',
|
|
'otaManagement.prevPage': 'Página Anterior',
|
|
'otaManagement.nextPage': 'Próxima Página',
|
|
'otaManagement.totalRecords': 'Total de {total} registros',
|
|
'otaManagement.selectFirmwareFirst': 'Por favor, selecione firmware para excluir primeiro',
|
|
'otaManagement.confirmBatchDelete': 'Tem certeza de que deseja excluir os {paramCount} firmware selecionados?',
|
|
'otaManagement.operationCancelled': 'Operação de exclusão foi cancelada',
|
|
'otaManagement.operationClosed': 'Operação foi fechada',
|
|
'otaManagement.batchDeleteSuccess': '{paramCount} firmware excluídos com sucesso',
|
|
'otaManagement.deleteFailed': 'Falha na exclusão. Por favor, tente novamente',
|
|
'otaManagement.incompleteFirmwareInfo': 'Informações de firmware incompletas',
|
|
'otaManagement.getDownloadUrlFailed': 'Falha ao obter link de download',
|
|
'otaManagement.getFirmwareTypesFailed': 'Falha ao obter tipos de firmware',
|
|
'otaManagement.updateSuccess': 'Atualizado com sucesso',
|
|
'otaManagement.updateFailed': 'Falha na atualização',
|
|
'otaManagement.addSuccess': 'Adicionado com sucesso',
|
|
'otaManagement.addFailed': 'Falha ao adicionar',
|
|
'otaManagement.fetchFirmwareListFailed': 'Falha ao buscar lista de firmware',
|
|
|
|
// Tipos de modelo na página de gerenciamento de provedores
|
|
'providerManagement.all': 'Todos',
|
|
'providerManagement.modelType.ASR': 'Reconhecimento de Fala',
|
|
'providerManagement.modelType.TTS': 'Texto para Fala',
|
|
'providerManagement.modelType.LLM': 'Modelo de Linguagem Grande',
|
|
'providerManagement.modelType.VLLM': 'Modelo de Linguagem Visual Grande',
|
|
'providerManagement.modelType.Intent': 'Reconhecimento de Intenção',
|
|
'providerManagement.modelType.Memory': 'Módulo de Memória',
|
|
'providerManagement.modelType.VAD': 'Detecção de Atividade de Voz',
|
|
'providerManagement.modelType.Plugin': 'Ferramenta de Plugin',
|
|
'providerManagement.modelType.RAG': 'RAG',
|
|
|
|
// Diálogo de provedor
|
|
'providerDialog.category': 'Categoria',
|
|
'providerDialog.selectCategory': 'Por favor, selecione a categoria',
|
|
'providerDialog.code': 'Código',
|
|
'providerDialog.inputCode': 'Por favor, insira o código do provedor',
|
|
'providerDialog.name': 'Nome',
|
|
'providerDialog.inputName': 'Por favor, insira o nome do provedor',
|
|
'providerDialog.sort': 'Ordenação',
|
|
'providerDialog.fieldConfig': 'Configuração de Campos',
|
|
'providerDialog.add': 'Adicionar',
|
|
'providerDialog.deselectAll': 'Desmarcar Tudo',
|
|
'providerDialog.selectAll': 'Selecionar Tudo',
|
|
'providerDialog.batchDelete': 'Exclusão em Lote',
|
|
'providerDialog.fieldKey': 'Chave do Campo',
|
|
'providerDialog.fieldLabel': 'Rótulo do Campo',
|
|
'providerDialog.fieldType': 'Tipo do Campo',
|
|
'providerDialog.type': 'Tipo',
|
|
'providerDialog.stringType': 'Texto',
|
|
'providerDialog.numberType': 'Número',
|
|
'providerDialog.booleanType': 'Booleano',
|
|
'providerDialog.dictType': 'Dicionário',
|
|
'providerDialog.arrayType': 'Lista Separada por Ponto e Vírgula',
|
|
'providerDialog.ragType': 'RAG',
|
|
'providerDialog.defaultValue': 'Valor Padrão',
|
|
'providerDialog.inputDefaultValue': 'Por favor, insira o valor padrão',
|
|
'providerDialog.operation': 'Operação',
|
|
'providerDialog.edit': 'Editar',
|
|
'providerDialog.complete': 'Concluir',
|
|
'providerDialog.delete': 'Excluir',
|
|
'providerDialog.save': 'Salvar',
|
|
'providerDialog.requiredCategory': 'Por favor, selecione a categoria',
|
|
'providerDialog.requiredCode': 'Por favor, insira o código do provedor',
|
|
'providerDialog.requiredName': 'Por favor, insira o nome do provedor',
|
|
'providerDialog.completeFieldEdit': 'Por favor, conclua a edição do campo atual primeiro',
|
|
'providerDialog.confirmDeleteField': 'Tem certeza de que deseja excluir este campo?',
|
|
'providerDialog.selectFieldsToDelete': 'Por favor, selecione campos para excluir primeiro',
|
|
'providerDialog.confirmBatchDeleteFields': 'Tem certeza de que deseja excluir {count} campos selecionados?',
|
|
'providerDialog.batchDeleteFieldsSuccess': '{count} campos excluídos com sucesso',
|
|
|
|
// Gerenciamento de modelos de agente
|
|
'agentTemplateManagement.title': 'Gerenciamento de Papéis Padrão',
|
|
'agentTemplateManagement.templateName': 'Nome do Modelo',
|
|
'agentTemplateManagement.action': 'Ação',
|
|
'agentTemplateManagement.createTemplate': 'Criar Modelo',
|
|
'agentTemplateManagement.editTemplate': 'Editar Modelo',
|
|
'agentTemplateManagement.deleteTemplate': 'Excluir Modelo',
|
|
'agentTemplateManagement.deleteSuccess': 'Modelo excluído com sucesso',
|
|
'agentTemplateManagement.batchDelete': 'Exclusão em Lote',
|
|
'agentTemplateManagement.batchDeleteSuccess': 'Exclusão em lote realizada com sucesso',
|
|
'agentTemplateManagement.selectTemplate': 'Por favor, selecione um modelo',
|
|
'agentTemplateManagement.select': 'Selecionar',
|
|
'agentTemplateManagement.searchPlaceholder': 'Por favor, insira o nome do modelo para pesquisar',
|
|
'agentTemplateManagement.search': 'Pesquisar',
|
|
'agentTemplateManagement.serialNumber': 'Número de Série',
|
|
'agentTemplateManagement.selectAll': 'Selecionar Tudo',
|
|
'agentTemplateManagement.deselectAll': 'Desmarcar Tudo',
|
|
'agentTemplateManagement.loading': 'Carregando...',
|
|
'agentTemplateManagement.confirmSingleDelete': 'Tem certeza de que deseja excluir este modelo?',
|
|
'agentTemplateManagement.confirmBatchDelete': 'Tem certeza de que deseja excluir os {count} modelos selecionados?',
|
|
'agentTemplateManagement.deleteFailed': 'Falha ao excluir modelo',
|
|
'agentTemplateManagement.batchDeleteFailed': 'Falha na exclusão em lote de modelos',
|
|
'agentTemplateManagement.deleteBackendError': 'Falha na exclusão. Verifique se o serviço de backend está funcionando normalmente',
|
|
|
|
// Configuração rápida de modelo
|
|
'templateQuickConfig.title': 'Configuração Rápida de Módulo',
|
|
'templateQuickConfig.agentSettings.agentName': 'Apelido',
|
|
'templateQuickConfig.agentSettings.agentNamePlaceholder': 'Por favor, insira o apelido',
|
|
'templateQuickConfig.agentSettings.systemPrompt': 'Introdução',
|
|
'templateQuickConfig.agentSettings.systemPromptPlaceholder': 'Por favor, insira a introdução',
|
|
'templateQuickConfig.saveConfig': 'Salvar Configuração',
|
|
'templateQuickConfig.resetConfig': 'Redefinir Configuração',
|
|
'templateQuickConfig.saveSuccess': 'Configuração salva com sucesso',
|
|
'templateQuickConfig.resetSuccess': 'Configuração redefinida com sucesso',
|
|
'templateQuickConfig.confirmReset': 'Tem certeza de que deseja redefinir a configuração?',
|
|
'templateQuickConfig.saveFailed': 'Falha ao salvar configuração',
|
|
'templateQuickConfig.confirm': 'Confirmar',
|
|
'templateQuickConfig.cancel': 'Cancelar',
|
|
'templateQuickConfig.templateNotFound': 'Modelo não encontrado',
|
|
'templateQuickConfig.newTemplate': 'Novo Modelo',
|
|
'warning': 'Aviso',
|
|
'info': 'Informação',
|
|
'common.networkError': 'Falha na requisição de rede',
|
|
|
|
// Criptografia SM2
|
|
'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 obtenção da chave pública',
|
|
|
|
// Clonagem de Voz e Gerenciamento de Recursos
|
|
'voiceClone.title': 'Clonagem de Voz',
|
|
'voiceResource.title': 'Recurso de Voz',
|
|
'voiceClone.platformName': 'Nome da Plataforma',
|
|
'voiceClone.voiceId': 'ID da Voz',
|
|
'voiceClone.userId': 'Proprietário da Conta',
|
|
'voiceClone.name': 'Nome da Voz',
|
|
'voiceClone.clone': 'Clonar Voz',
|
|
'voiceClone.action': 'Ação',
|
|
'voiceClone.modelId': 'ID do Modelo',
|
|
'voiceClone.trainStatus': 'Status do Treinamento',
|
|
'voiceClone.trainError': 'Erro de Treinamento',
|
|
'voiceClone.createdAt': 'Data de Criação',
|
|
'voiceClone.search': 'Pesquisar',
|
|
'voiceClone.searchPlaceholder': 'Por favor, insira o nome da voz ou ID da voz',
|
|
'voiceClone.addNew': 'Adicionar',
|
|
'voiceClone.delete': 'Excluir',
|
|
'voiceClone.selectAll': 'Selecionar Tudo',
|
|
'voiceClone.deselectAll': 'Desmarcar Tudo',
|
|
'voiceClone.addVoiceClone': 'Adicionar Recurso de Voz',
|
|
'voiceClone.confirmDelete': 'Tem certeza de que deseja excluir os {count} recursos de voz selecionados?',
|
|
'voiceClone.deleteSuccess': '{count} recursos de voz excluídos com sucesso',
|
|
'voiceClone.deleteFailed': 'Falha na exclusão',
|
|
'voiceClone.addSuccess': 'Adicionado com sucesso',
|
|
'voiceClone.addFailed': 'Falha ao adicionar',
|
|
'voiceClone.updateSuccess': 'Atualizado com sucesso',
|
|
'voiceClone.updateFailed': 'Falha na atualização',
|
|
'voiceClone.selectFirst': 'Por favor, selecione recursos de voz para excluir primeiro',
|
|
'voiceClone.operationCancelled': 'Cancelar',
|
|
'voiceClone.operationClosed': 'Popup fechado',
|
|
'voiceClone.cloneSuccess': 'Clonado com sucesso',
|
|
'voiceClone.cloneFailed': 'Falha ao clonar',
|
|
'voiceClone.confirmClone': 'Tem certeza de que deseja clonar esta voz?',
|
|
'voiceClone.onlySuccessCanClone': 'Apenas vozes treinadas com sucesso podem ser clonadas',
|
|
'common.insufficient': 'Insuficiente',
|
|
'voiceClone.platformNameRequired': 'Por favor, selecione o nome da plataforma',
|
|
'voiceClone.voiceIdRequired': 'Por favor, selecione o ID da voz',
|
|
'voiceClone.userIdRequired': 'Por favor, selecione o proprietário da conta',
|
|
'voiceClone.platformNamePlaceholder': 'Por favor, selecione o nome da plataforma',
|
|
'voiceClone.voiceIdPlaceholder': 'Por favor, insira o ID da voz e pressione Enter',
|
|
'voiceClone.userIdPlaceholder': 'Por favor, insira palavra-chave para selecionar o proprietário da conta',
|
|
'voiceClone.languages': 'Idiomas',
|
|
'voiceClone.languagesPlaceholder': 'Por favor, insira idiomas, ex.: Português, English',
|
|
'voiceClone.languagesRequired': 'Por favor, insira idiomas',
|
|
'voiceClone.waitingUpload': 'Aguardando envio',
|
|
'voiceClone.waitingTraining': 'Aguardando clonagem',
|
|
'voiceClone.training': 'Treinando',
|
|
'voiceClone.trainSuccess': 'Treinamento bem-sucedido',
|
|
'voiceClone.trainFailed': 'Treinamento falhou',
|
|
'voiceClone.itemsPerPage': '{items} itens/página',
|
|
'voiceClone.firstPage': 'Primeira Página',
|
|
'voiceClone.prevPage': 'Página Anterior',
|
|
'voiceClone.nextPage': 'Próxima Página',
|
|
'voiceClone.totalRecords': '{total} registros no total',
|
|
'voiceClone.noVoiceCloneAssigned': 'Sua conta não possui recursos de voz atribuídos',
|
|
'voiceClone.contactAdmin': 'Por favor, entre em contato com o administrador para atribuição de recursos de voz',
|
|
'voiceClone.dialogTitle': 'Clonagem de Voz',
|
|
'voiceClone.stepUpload': 'Preparar Áudio',
|
|
'voiceClone.stepEdit': 'Editar Áudio',
|
|
'voiceClone.dragOrClick': 'Arraste o arquivo de áudio aqui ou clique para enviar',
|
|
'voiceClone.uploadTip': 'Suporta todos os formatos de áudio principais. A duração selecionada deve ser entre 8 e 60 segundos',
|
|
'voiceClone.editTip1': 'Por favor, confirme se o áudio enviado está satisfatório',
|
|
'voiceClone.editTip2': 'Você pode ouvir e cortar o áudio. Se não estiver satisfeito, pode voltar para regravar ou reenviar',
|
|
'voiceClone.selectedDuration': 'Segmento válido selecionado: {duration} segundos',
|
|
'voiceClone.trim': 'Cortar segmento selecionado',
|
|
'voiceClone.reset': 'Redefinir',
|
|
'voiceClone.play': 'Reproduzir',
|
|
'voiceClone.pause': 'Pausar',
|
|
'voiceClone.stop': 'Parar',
|
|
'voiceClone.cancel': 'Cancelar',
|
|
'voiceClone.warning': 'Aviso',
|
|
'voiceClone.ok': 'OK',
|
|
'voiceClone.nextStep': 'Próximo',
|
|
'voiceClone.prevStep': 'Anterior',
|
|
'voiceClone.upload': 'Enviar Áudio',
|
|
'voiceClone.pleaseSelectAudio': 'Por favor, selecione um arquivo de áudio primeiro',
|
|
'voiceClone.durationError': 'A duração do áudio deve ser entre 8 e 60 segundos',
|
|
'voiceClone.loadAudioFailed': 'Falha ao carregar áudio',
|
|
'voiceClone.trimSuccess': 'Corte realizado com sucesso',
|
|
'voiceClone.resetSuccess': 'Redefinido com sucesso',
|
|
'voiceClone.uploadSuccess': 'Enviado com sucesso',
|
|
'voiceClone.uploadFailed': 'Falha no envio',
|
|
'voiceClone.updateNameSuccess': 'Nome atualizado com sucesso',
|
|
'voiceClone.updateNameFailed': 'Falha ao atualizar nome',
|
|
'voiceClone.playFailed': 'Falha na reprodução',
|
|
'voiceClone.Details': 'Detalhes do Erro',
|
|
|
|
// Página de gerenciamento da Base de Conhecimento
|
|
'knowledgeBaseManagement.title': 'Base de Conhecimento',
|
|
'knowledgeBaseManagement.searchPlaceholder': 'Por favor, insira o nome da base de conhecimento para pesquisar',
|
|
'knowledgeBaseManagement.search': 'Pesquisar',
|
|
'knowledgeBaseManagement.name': 'Nome da Base de Conhecimento',
|
|
'knowledgeBaseManagement.description': 'Descrição da Base de Conhecimento',
|
|
'knowledgeBaseManagement.documentCount': 'Quantidade de Documentos',
|
|
'knowledgeBaseManagement.status': 'Ativado',
|
|
'knowledgeBaseManagement.createdAt': 'Data de Criação',
|
|
'knowledgeBaseManagement.operation': 'Operação',
|
|
'knowledgeBaseManagement.add': 'Adicionar',
|
|
'knowledgeBaseManagement.delete': 'Excluir',
|
|
'knowledgeBaseManagement.edit': 'Editar',
|
|
'knowledgeBaseManagement.itemsPerPage': 'itens/página',
|
|
'knowledgeBaseManagement.firstPage': 'Primeira Página',
|
|
'knowledgeBaseManagement.prevPage': 'Página Anterior',
|
|
'knowledgeBaseManagement.nextPage': 'Próxima Página',
|
|
'knowledgeBaseManagement.totalRecords': 'Total de {total} registros',
|
|
'knowledgeBaseManagement.addKnowledgeBase': 'Adicionar Base de Conhecimento',
|
|
'knowledgeBaseManagement.editKnowledgeBase': 'Editar Base de Conhecimento',
|
|
'knowledgeBaseManagement.getKnowledgeBaseListFailed': 'Falha ao obter lista de bases de conhecimento',
|
|
'knowledgeBaseManagement.selectKnowledgeBaseFirst': 'Por favor, selecione bases de conhecimento para excluir primeiro',
|
|
'knowledgeBaseManagement.confirmBatchDelete': 'Tem certeza de que deseja excluir as {count} bases de conhecimento selecionadas?',
|
|
'knowledgeBaseManagement.batchDeleteSuccess': '{count} bases de conhecimento excluídas com sucesso',
|
|
'knowledgeBaseManagement.deleteFailed': 'Falha ao excluir. Por favor, tente novamente',
|
|
'knowledgeBaseManagement.operationCancelled': 'Operação de exclusão foi cancelada',
|
|
'knowledgeBaseManagement.updateSuccess': 'Atualizado com sucesso',
|
|
'knowledgeBaseManagement.addSuccess': 'Adicionado com sucesso',
|
|
'knowledgeBaseManagement.updateFailed': 'Falha na atualização',
|
|
'knowledgeBaseManagement.addFailed': 'Falha ao adicionar',
|
|
'knowledgeBaseManagement.selectAll': 'Selecionar Tudo',
|
|
'knowledgeBaseManagement.cancelSelectAll': 'Desmarcar Tudo',
|
|
|
|
// Diálogo da Base de Conhecimento
|
|
'knowledgeBaseDialog.title': 'Base de Conhecimento',
|
|
'knowledgeBaseDialog.name': 'Nome da Base de Conhecimento',
|
|
'knowledgeBaseDialog.namePlaceholder': 'Por favor, insira o nome da base de conhecimento com precisão para melhorar a acurácia da chamada da base de conhecimento',
|
|
'knowledgeBaseDialog.description': 'Descrição da Base de Conhecimento',
|
|
'knowledgeBaseDialog.descriptionPlaceholder': 'Por favor, insira a descrição da base de conhecimento com precisão para ajudar o modelo a entender melhor o conteúdo',
|
|
'knowledgeBaseDialog.ragModel': 'Modelo RAG',
|
|
'knowledgeBaseDialog.ragModelPlaceholder': 'Por favor, selecione o modelo RAG',
|
|
'knowledgeBaseDialog.ragModelRequired': 'Por favor, selecione o modelo RAG',
|
|
'knowledgeBaseDialog.loadRAGModelsFailed': 'Falha ao carregar lista de modelos RAG',
|
|
'knowledgeBaseDialog.status': 'Status',
|
|
'knowledgeBaseDialog.statusEnabled': 'Ativado',
|
|
'knowledgeBaseDialog.statusDisabled': 'Desativado',
|
|
'knowledgeBaseDialog.save': 'Salvar',
|
|
'knowledgeBaseDialog.cancel': 'Cancelar',
|
|
'knowledgeBaseDialog.confirm': 'Confirmar',
|
|
'knowledgeBaseDialog.requiredName': 'Por favor, insira o nome da base de conhecimento',
|
|
'knowledgeBaseDialog.nameRequired': 'Por favor, insira o nome da base de conhecimento',
|
|
'knowledgeBaseDialog.nameLength': 'O nome da base de conhecimento deve ter entre 1 e 50 caracteres',
|
|
'knowledgeBaseDialog.namePattern': 'O nome da base de conhecimento pode conter apenas caracteres chinêses, inglêses, números, espaços, sublinhados e hífens',
|
|
'knowledgeBaseDialog.descriptionLength': 'A descrição da base de conhecimento não pode exceder 200 caracteres',
|
|
'knowledgeBaseDialog.nameLengthLimit': 'O nome da base de conhecimento não pode exceder 50 caracteres',
|
|
'knowledgeBaseDialog.descriptionLengthLimit': 'A descrição da base de conhecimento não pode exceder 200 caracteres',
|
|
|
|
// Botão de visualização na página de gerenciamento da base de conhecimento
|
|
'knowledgeBaseManagement.view': 'Gerenciar Arquivos',
|
|
|
|
// Página de upload de arquivos da base de conhecimento
|
|
'knowledgeFileUpload.back': 'Voltar',
|
|
'knowledgeFileUpload.searchPlaceholder': 'Por favor, insira o nome do documento para pesquisar',
|
|
'knowledgeFileUpload.search': 'Pesquisar',
|
|
'knowledgeFileUpload.addDocument': 'Adicionar Documento',
|
|
'knowledgeFileUpload.documentName': 'Nome do Documento',
|
|
'knowledgeFileUpload.uploadTime': 'Data de Envio',
|
|
'knowledgeFileUpload.status': 'Status',
|
|
'knowledgeFileUpload.operation': 'Operação',
|
|
'knowledgeFileUpload.parse': 'Analisar',
|
|
'knowledgeFileUpload.viewSlices': 'Ver Fatias',
|
|
'knowledgeFileUpload.delete': 'Excluir',
|
|
'knowledgeFileUpload.itemsPerPage': 'itens/página',
|
|
'knowledgeFileUpload.firstPage': 'Primeira Página',
|
|
'knowledgeFileUpload.prevPage': 'Página Anterior',
|
|
'knowledgeFileUpload.nextPage': 'Próxima Página',
|
|
'knowledgeFileUpload.totalRecords': 'Total de {total} registros',
|
|
'knowledgeFileUpload.uploadDocument': 'Enviar Documento',
|
|
'knowledgeFileUpload.documentNamePlaceholder': 'Por favor, insira o nome do documento',
|
|
'knowledgeFileUpload.file': 'Arquivo',
|
|
'knowledgeFileUpload.clickToUpload': 'Clique para enviar',
|
|
'knowledgeFileUpload.uploadTip': 'Tipos de arquivo suportados: PDF, DOC, DOCX, TXT, MD, CSV, XLS, XLSX, PPT, PPTX. Máximo de 32 arquivos por envio, cada arquivo com até 10MB',
|
|
'knowledgeFileUpload.dragOrClick': 'Arraste o arquivo aqui ou clique para enviar',
|
|
'knowledgeFileUpload.cancel': 'Cancelar',
|
|
'knowledgeFileUpload.confirm': 'Confirmar',
|
|
'knowledgeFileUpload.knowledgeBaseName': 'Nome da Base de Conhecimento',
|
|
'knowledgeFileUpload.statusNotStarted': 'Não Iniciado',
|
|
'knowledgeFileUpload.statusProcessing': 'Processando',
|
|
'knowledgeFileUpload.statusCancelled': 'Cancelado',
|
|
'knowledgeFileUpload.statusCompleted': 'Concluído',
|
|
'knowledgeFileUpload.statusFailed': 'Falhou',
|
|
'knowledgeFileUpload.uploadSuccess': 'Documento enviado com sucesso',
|
|
'knowledgeFileUpload.uploadFailed': 'Falha no envio do documento',
|
|
'knowledgeFileUpload.parseSuccess': 'Documento analisado com sucesso',
|
|
'knowledgeFileUpload.parseFailed': 'Falha na análise do documento',
|
|
'knowledgeFileUpload.deleteSuccess': 'Documento excluído com sucesso',
|
|
'knowledgeFileUpload.deleteFailed': 'Falha ao excluir documento',
|
|
'knowledgeFileUpload.confirmDelete': 'Tem certeza de que deseja excluir este documento?',
|
|
'knowledgeFileUpload.confirmParse': 'Tem certeza de que deseja analisar este documento?',
|
|
'knowledgeFileUpload.nameRequired': 'Por favor, insira o nome do documento',
|
|
'knowledgeFileUpload.fileRequired': 'Por favor, selecione um arquivo para enviar',
|
|
'knowledgeFileUpload.getListFailed': 'Falha ao obter lista de documentos',
|
|
'knowledgeFileUpload.parseCancelled': 'Análise cancelada',
|
|
'knowledgeFileUpload.deleteCancelled': 'Exclusão cancelada',
|
|
'knowledgeFileUpload.selectFilesFirst': 'Por favor, selecione arquivos para excluir primeiro',
|
|
'knowledgeFileUpload.selectAll': 'Selecionar Tudo',
|
|
'knowledgeFileUpload.deselectAll': 'Desmarcar Tudo',
|
|
'knowledgeFileUpload.batchDelete': 'Excluir',
|
|
'knowledgeFileUpload.confirmBatchDelete': 'Tem certeza de que deseja excluir os {count} arquivos selecionados?',
|
|
'knowledgeFileUpload.batchDeleteSuccess': '{count} arquivos excluídos com sucesso',
|
|
'knowledgeFileUpload.batchDeleteFailed': 'Falha na exclusão em lote',
|
|
'knowledgeFileUpload.sliceCount': 'Quantidade de Fatias',
|
|
'knowledgeFileUpload.add': 'Adicionar',
|
|
'knowledgeFileUpload.retrievalTest': 'Teste de Recuperação',
|
|
'knowledgeFileUpload.testQuestion': 'Pergunta de Teste',
|
|
'knowledgeFileUpload.testQuestionPlaceholder': 'Por favor, insira a pergunta para testar',
|
|
'knowledgeFileUpload.executeTest': 'Executar Teste',
|
|
'knowledgeFileUpload.testResult': 'Resultado do Teste:',
|
|
'knowledgeFileUpload.selectedFiles': 'Arquivos Selecionados',
|
|
'knowledgeFileUpload.totalSlices': 'Total de {total} registros',
|
|
'knowledgeFileUpload.slice': 'Fatia',
|
|
'knowledgeFileUpload.noSliceData': 'Não há dados de fatia disponíveis',
|
|
'knowledgeFileUpload.firstPage': 'Primeira',
|
|
'knowledgeFileUpload.prevPage': 'Anterior',
|
|
'knowledgeFileUpload.nextPage': 'Próxima',
|
|
'knowledgeFileUpload.totalRecords': 'Total de {total} registros',
|
|
'knowledgeFileUpload.testQuestion': 'Pergunta de Teste',
|
|
'knowledgeFileUpload.testQuestionPlaceholder': 'Por favor, insira a pergunta para testar',
|
|
'knowledgeFileUpload.runTest': 'Executar Teste',
|
|
'knowledgeFileUpload.testResult': 'Resultado do Teste:',
|
|
'knowledgeFileUpload.noRelatedSlices': 'Nenhuma fatia relacionada encontrada',
|
|
'knowledgeFileUpload.comprehensiveSimilarity': 'Similaridade Geral',
|
|
'knowledgeFileUpload.content': 'Conteúdo:',
|
|
'knowledgeFileUpload.testQuestionRequired': 'Por favor, insira a pergunta de teste',
|
|
'knowledgeBaseDialog.descriptionRequired': 'Por favor, insira a descrição da base de conhecimento',
|
|
|
|
// Página de gerenciamento de funcionalidades
|
|
'featureManagement.selectAll': 'Selecionar Tudo',
|
|
'featureManagement.deselectAll': 'Desmarcar Tudo',
|
|
'featureManagement.save': 'Salvar Configuração',
|
|
'featureManagement.reset': 'Redefinir',
|
|
'featureManagement.group.featureManagement': 'Ativar/Desativar a funcionalidade/seção',
|
|
'featureManagement.group.voiceManagement': 'Visível para usuários durante a configuração do agente',
|
|
'featureManagement.noFeatures': 'Nenhuma funcionalidade disponível',
|
|
'featureManagement.contactAdmin': 'Por favor, entre em contato com o administrador para configurar funcionalidades',
|
|
'featureManagement.saveSuccess': 'Configuração de funcionalidades salva com sucesso',
|
|
'featureManagement.resetConfirm': 'Tem certeza de que deseja redefinir todas as configurações de funcionalidades?',
|
|
'featureManagement.confirm': 'Confirmar',
|
|
'featureManagement.cancel': 'Cancelar',
|
|
'featureManagement.resetSuccess': 'Configuração de funcionalidades redefinida com sucesso',
|
|
'featureManagement.noChanges': 'Nenhuma alteração para salvar',
|
|
|
|
// Nomes e descrições de funcionalidades
|
|
'feature.voiceprintRecognition.name': 'Reconhecimento de Impressão Vocal',
|
|
'feature.voiceprintRecognition.description': 'Verificar a identidade do usuário através da tecnologia de reconhecimento de impressão vocal, proporcionando uma experiência segura de interação por voz',
|
|
'feature.voiceClone.name': 'Clonagem de Voz',
|
|
'feature.voiceClone.description': 'Clonar timbres de voz específicos usando tecnologia de IA para obter síntese de voz personalizada',
|
|
'feature.knowledgeBase.name': 'Base de Conhecimento',
|
|
'feature.knowledgeBase.description': 'Construir e gerenciar sistema de base de conhecimento para fornecer suporte de conhecimento profissional aos assistentes de IA',
|
|
'feature.mcpAccessPoint.name': 'Ponto de Acesso MCP',
|
|
'feature.mcpAccessPoint.description': 'Fornecer pontos de acesso do protocolo MCP para suportar integração de ferramentas e serviços externos',
|
|
'feature.vad.name': 'Detecção de Atividade de Voz',
|
|
'feature.vad.description': 'Detectar automaticamente atividade de voz para otimizar a eficiência de resposta da interação por voz',
|
|
'feature.asr.name': 'Reconhecimento de Fala',
|
|
'feature.asr.description': 'Converter fala em texto para habilitar a funcionalidade de interação por linguagem natural',
|
|
'feature.addressBook.name': 'Lista de Contatos',
|
|
'feature.addressBook.description': 'Gerenciar e manter lista de contatos para fornecer suporte de informações de contato para assistente de IA',
|
|
|
|
// Página de Gerenciamento de Lista de Contatos
|
|
'addressBookManagement.title': 'Gerenciamento de Lista de Contatos',
|
|
'addressBookManagement.searchPlaceholder': 'Pesquisar nome do dispositivo ou endereço MAC',
|
|
'addressBookManagement.search': 'Pesquisar',
|
|
'addressBookManagement.selectAgent': 'Selecione um agente',
|
|
'addressBookManagement.name': 'Nome da Lista de Contatos',
|
|
'addressBookManagement.description': 'Descrição da Lista de Contatos',
|
|
'addressBookManagement.contactCount': 'Número de Contatos',
|
|
'addressBookManagement.status': 'Ativo',
|
|
'addressBookManagement.createdAt': 'Data de Criação',
|
|
'addressBookManagement.operation': 'Operação',
|
|
'addressBookManagement.add': 'Adicionar',
|
|
'addressBookManagement.edit': 'Editar',
|
|
'addressBookManagement.delete': 'Excluir',
|
|
'addressBookManagement.itemsPerPage': 'itens/página',
|
|
'addressBookManagement.firstPage': 'Primeira',
|
|
'addressBookManagement.prevPage': 'Anterior',
|
|
'addressBookManagement.nextPage': 'Próxima',
|
|
'addressBookManagement.totalRecords': '{total} registros no total',
|
|
'addressBookManagement.addAddressBook': 'Adicionar Lista de Contatos',
|
|
'addressBookManagement.editAddressBook': 'Editar Lista de Contatos',
|
|
'addressBookManagement.getAddressBookListFailed': 'Falha ao obter lista de contatos',
|
|
'addressBookManagement.selectAddressBookFirst': 'Selecione as listas de contatos para excluir primeiro',
|
|
'addressBookManagement.confirmBatchDelete': 'Tem certeza de que deseja excluir {count} listas de contatos selecionadas?',
|
|
'addressBookManagement.batchDeleteSuccess': '{count} listas de contatos excluídas com sucesso',
|
|
'addressBookManagement.deleteFailed': 'Falha ao excluir, tente novamente',
|
|
'addressBookManagement.operationCancelled': 'Operação de exclusão cancelada',
|
|
'addressBookManagement.updateSuccess': 'Atualização bem-sucedida',
|
|
'addressBookManagement.addSuccess': 'Adição bem-sucedida',
|
|
'addressBookManagement.updateFailed': 'Falha na atualização',
|
|
'addressBookManagement.addFailed': 'Falha ao adicionar',
|
|
'addressBookManagement.selectAll': 'Selecionar Todos',
|
|
'addressBookManagement.cancelSelectAll': 'Desmarcar Todos',
|
|
'addressBookManagement.deviceName': 'Nome do Dispositivo',
|
|
'addressBookManagement.deviceType': 'Tipo do Dispositivo',
|
|
'addressBookManagement.deviceId': 'ID do Dispositivo',
|
|
'addressBookManagement.remarks': 'Observações',
|
|
'addressBookManagement.addressBookDetail': 'Detalhes da Lista de Contatos',
|
|
'addressBookManagement.addressBookName': 'Nome da Lista de Contatos',
|
|
'addressBookManagement.addressBookNamePlaceholder': 'Digite o nome da lista de contatos',
|
|
'addressBookManagement.addressBookNameRequired': 'Digite o nome da lista de contatos',
|
|
'addressBookManagement.addressBookNameLength': 'O nome da lista de contatos deve ter entre 1 e 50 caracteres',
|
|
'addressBookManagement.addressBookDesc': 'Descrição da Lista de Contatos',
|
|
'addressBookManagement.addressBookDescPlaceholder': 'Digite a descrição da lista de contatos',
|
|
'addressBookManagement.remarksPlaceholder': 'Digite as observações',
|
|
'addressBookManagement.selectDevice': 'Selecione um dispositivo para ver os detalhes da lista de contatos',
|
|
'addressBookManagement.save': 'Salvar',
|
|
'addressBookManagement.saveSuccess': 'Salvo com sucesso',
|
|
'addressBookManagement.saveFailed': 'Falha ao salvar',
|
|
'addressBookManagement.deviceNotSelected': 'Selecione um dispositivo primeiro',
|
|
'addressBookManagement.addDeviceTip': 'Recurso de adicionar dispositivo em desenvolvimento',
|
|
'addressBookManagement.selectAgentFirst': 'Selecione um agente primeiro',
|
|
|
|
// Diálogo da Lista de Contatos
|
|
'addressBookDialog.title': 'Lista de Contatos',
|
|
'addressBookDialog.name': 'Nome da Lista de Contatos',
|
|
'addressBookDialog.namePlaceholder': 'Digite o nome da lista de contatos',
|
|
'addressBookDialog.description': 'Descrição da Lista de Contatos',
|
|
'addressBookDialog.descriptionPlaceholder': 'Digite a descrição detalhada da lista de contatos',
|
|
'addressBookDialog.status': 'Status',
|
|
'addressBookDialog.save': 'Salvar',
|
|
'addressBookDialog.cancel': 'Cancelar',
|
|
'addressBookDialog.confirm': 'Confirmar',
|
|
'addressBookDialog.nameRequired': 'Digite o nome da lista de contatos',
|
|
'addressBookDialog.nameLength': 'O nome da lista de contatos deve ter entre 1 e 50 caracteres',
|
|
'addressBookDialog.namePattern': 'O nome da lista de contatos pode conter apenas letras, números, espaços, sublinhados e hifens',
|
|
'addressBookDialog.descriptionRequired': 'Digite a descrição da lista de contatos',
|
|
'addressBookDialog.descriptionLength': 'A descrição da lista de contatos não pode exceder 300 caracteres',
|
|
|
|
// Página de Gerenciamento de Lista de Contatos - Lista de Dispositivos
|
|
'addressBookManagement.mainTitle': 'Gerenciamento de Lista de Contatos',
|
|
'addressBookManagement.subTitle': 'Gerenciar lista de contatos do dispositivo, definir nomes e permissões de chamada',
|
|
'addressBookManagement.online': 'Online',
|
|
'addressBookManagement.offline': 'Offline',
|
|
'addressBookManagement.macAddress': 'Endereço MAC',
|
|
'addressBookManagement.status': 'Status',
|
|
'addressBookManagement.deviceGroup': 'Agente Vinculado',
|
|
'addressBookManagement.addTime': 'Hora de Adição',
|
|
'addressBookManagement.lastOnline': 'Última Conexão',
|
|
'addressBookManagement.deviceCallPermission': 'Permissão de Chamada do Dispositivo',
|
|
'addressBookManagement.setPermissionDesc': 'Definir quais dispositivos o dispositivo atual pode chamar ({count} selecionados)',
|
|
'addressBookManagement.selectAll': 'Selecionar Todos',
|
|
'addressBookManagement.deselectAll': 'Desmarcar Todos',
|
|
'addressBookManagement.save': 'Salvar Permissões',
|
|
|
|
// Address Book Management page - operation messages
|
|
'addressBookManagement.aliasSaved': 'Apelido salvo',
|
|
'addressBookManagement.saveFailed': 'Falha ao salvar',
|
|
'addressBookManagement.noChanges': 'Sem alterações',
|
|
'addressBookManagement.permissionSaved': 'Permissão salva',
|
|
'addressBookManagement.partialSaveFailed': 'Algumas permissões não puderam ser salvas',
|
|
'addressBookManagement.agentNameUpdated': 'Nome do agente atualizado',
|
|
'addressBookManagement.updateFailed': 'Falha na atualização',
|
|
|
|
// Time format
|
|
'addressBookManagement.justNow': 'Agora mesmo',
|
|
'addressBookManagement.minutesAgo': 'há {minutes} minutos',
|
|
'addressBookManagement.hoursAgo': 'há {hours} horas',
|
|
'addressBookManagement.daysAgo': 'há {days} dias',
|
|
'addressBookManagement.monthsAgo': 'há {months} meses',
|
|
'addressBookManagement.yearsAgo': 'há {years} anos',
|
|
|
|
// Header navigation
|
|
'header.addressBook': 'Lista de Contatos',
|
|
|
|
} |