mirror of
https://github.com/SECTL/SecScore.git
synced 2026-07-19 12:34:22 +08:00
670 lines
27 KiB
JSON
670 lines
27 KiB
JSON
{
|
|
"common": {
|
|
"next": "Próximo",
|
|
"prev": "Anterior",
|
|
"finish": "Concluir",
|
|
"cancel": "Cancelar",
|
|
"save": "Salvar",
|
|
"loading": "Carregando...",
|
|
"confirm": "Confirmar",
|
|
"success": "Sucesso",
|
|
"error": "Erro",
|
|
"delete": "Excluir",
|
|
"edit": "Editar",
|
|
"add": "Adicionar",
|
|
"search": "Buscar",
|
|
"clear": "Limpar",
|
|
"close": "Fechar",
|
|
"yes": "Sim",
|
|
"no": "Não",
|
|
"submit": "Enviar",
|
|
"reset": "Redefinir",
|
|
"import": "Importar",
|
|
"export": "Exportar",
|
|
"create": "Criar",
|
|
"update": "Atualizar",
|
|
"refresh": "Atualizar",
|
|
"view": "Ver",
|
|
"name": "Nome",
|
|
"status": "Status",
|
|
"operation": "Operação",
|
|
"description": "Descrição",
|
|
"total": "Total {{count}} itens",
|
|
"noData": "Sem dados",
|
|
"pleaseSelect": "Por favor, selecione",
|
|
"pleaseEnter": "Por favor, insira",
|
|
"readOnly": "Modo somente leitura",
|
|
"none": "Nenhum",
|
|
"more": "Mais"
|
|
},
|
|
"oobe": {
|
|
"title": "Bem-vindo ao SecScore",
|
|
"subtitle": "Especialista em Gestão de Pontos Educacionais",
|
|
"step": "Passo {{current}}/{{total}}",
|
|
"skip": "Pular",
|
|
"steps": {
|
|
"entry": {
|
|
"title": "Começar",
|
|
"description": "Escolha o procedimento a ser realizado",
|
|
"enterOobe": "Entrar no OOBE",
|
|
"connectPostgresAutoSync": "Conectar PostgreSQL com sincronização automática",
|
|
"skipDirect": "Pular OOBE e entrar diretamente"
|
|
},
|
|
"postgresql": {
|
|
"title": "Conectar PostgreSQL",
|
|
"description": "Insira a string de conexão PostgreSQL. O sistema se conectará e sincronizará automaticamente.",
|
|
"connectionPlaceholder": "postgresql://user:password@host:port/database?sslmode=require",
|
|
"autoSyncAndEnter": "Conectar e sincronizar automaticamente"
|
|
},
|
|
"language": {
|
|
"title": "Escolher idioma",
|
|
"description": "Por favor, escolha seu idioma preferido"
|
|
},
|
|
"theme": {
|
|
"title": "Configurar tema",
|
|
"description": "Escolha a aparência da interface",
|
|
"mode": "Modo",
|
|
"lightMode": "Claro",
|
|
"darkMode": "Escuro",
|
|
"primaryColor": "Cor principal",
|
|
"backgroundGradient": "Gradiente de fundo"
|
|
},
|
|
"password": {
|
|
"title": "Configurar senha",
|
|
"description": "Defina uma senha para proteger seus dados (opcional)",
|
|
"adminPassword": "Senha de administrador",
|
|
"adminPasswordHint": "Acesso a todas as funções, 6 dígitos",
|
|
"pointsPassword": "Senha de pontos",
|
|
"pointsPasswordHint": "Apenas operações de pontos, 6 dígitos",
|
|
"passwordPlaceholder": "Insira 6 dígitos",
|
|
"hint": "Deixe em branco para pular, configure posteriormente nas configurações"
|
|
},
|
|
"students": {
|
|
"title": "Importar lista de alunos",
|
|
"description": "Adicione uma lista de alunos para começar a gerenciar pontos",
|
|
"import": "Importar lista",
|
|
"manual": "Adicionar manualmente",
|
|
"importHint": "Suporta arquivos Excel (.xlsx) ou JSON",
|
|
"manualHint": "Cole várias linhas, um nome de aluno por linha",
|
|
"dragDrop": "Arraste e solte arquivos aqui ou clique para selecionar",
|
|
"supportedFormats": "Formatos suportados: .xlsx, .json",
|
|
"studentName": "Nome do aluno",
|
|
"addStudent": "Adicionar aluno",
|
|
"noStudents": "Nenhum aluno ainda, por favor adicione ou importe",
|
|
"studentCount": "{{count}} alunos adicionados",
|
|
"studentExists": "Aluno já existe",
|
|
"importSuccess": "{{count}} alunos importados com sucesso",
|
|
"noNewStudents": "Nenhum novo aluno para importar",
|
|
"parseFailed": "Falha ao analisar o arquivo",
|
|
"unsupportedFormat": "Formato de arquivo não suportado"
|
|
},
|
|
"reasons": {
|
|
"title": "Configurar motivos",
|
|
"description": "Adicione motivos comuns de alteração de pontos",
|
|
"addReason": "Adicionar motivo",
|
|
"reasonName": "Nome do motivo",
|
|
"points": "Pontos",
|
|
"positive": "Adicionar pontos",
|
|
"negative": "Remover pontos",
|
|
"noReasons": "Nenhum motivo ainda, por favor adicione motivos comuns",
|
|
"reasonCount": "{{count}} motivos adicionados",
|
|
"reasonExists": "Motivo já existe"
|
|
},
|
|
"start": {
|
|
"title": "Pronto para uso",
|
|
"description": "Tudo está pronto. Vamos começar a usar o SecScore!",
|
|
"features": {
|
|
"score": "Gerencie facilmente os pontos dos alunos",
|
|
"history": "Histórico completo de alterações de pontos",
|
|
"settlement": "Suporta liquidação e arquivamento"
|
|
},
|
|
"startButton": "Começar"
|
|
}
|
|
}
|
|
},
|
|
"settings": {
|
|
"title": "Configurações do sistema",
|
|
"tabs": {
|
|
"appearance": "Aparência",
|
|
"security": "Segurança",
|
|
"account": "Conta",
|
|
"database": "Conexão com banco de dados",
|
|
"dataManagement": "Gerenciamento de dados",
|
|
"urlProtocol": "Protocolo URL",
|
|
"about": "Sobre"
|
|
},
|
|
"language": "Idioma",
|
|
"languageHint": "Escolha o idioma de exibição da interface",
|
|
"fontFamily": "Fonte global",
|
|
"fontFamilyHint": "Escolha a fonte da interface (requer atualização)",
|
|
"theme": "Tema",
|
|
"password": "Configurar senha",
|
|
"themeMode": "Modo",
|
|
"lightMode": "Claro",
|
|
"darkMode": "Escuro",
|
|
"primaryColor": "Cor principal",
|
|
"backgroundGradient": "Gradiente de fundo",
|
|
"searchKeyboard": {
|
|
"title": "Teclado de busca",
|
|
"hint": "Escolha o layout do teclado abaixo do campo de busca",
|
|
"disableToggle": "Desativar teclado de busca",
|
|
"disableHint": "O teclado não será mais exibido abaixo do campo de busca",
|
|
"options": {
|
|
"qwerty26": "26 teclas (QWERTY)",
|
|
"t9": "9 teclas (T9)"
|
|
}
|
|
},
|
|
"interfaceZoom": "Zoom da interface",
|
|
"zoomOptions": {
|
|
"small70": "Pequeno (70%)",
|
|
"default100": "Padrão (100%)",
|
|
"large150": "Grande (150%)"
|
|
},
|
|
"general": {
|
|
"saved": "Salvo",
|
|
"saveFailed": "Falha ao salvar"
|
|
},
|
|
"zoomHint": "Ajustar o tamanho total da interface",
|
|
"mobile": {
|
|
"navigationTitle": "Entradas de página",
|
|
"bottomNav": {
|
|
"label": "Funções da barra de navegação inferior",
|
|
"hint": "Escolha as funções a serem exibidas na barra inferior do celular. A barra exibe no máximo 4 itens, os outros vão para «Mais»."
|
|
},
|
|
"dragHint": "Arraste para reorganizar. Os primeiros 4 itens aparecem na barra inferior, os outros em «Mais».",
|
|
"dropHere": "Solte aqui",
|
|
"bottomSection": "Barra inferior (máx. 4)",
|
|
"moreSection": "Mais",
|
|
"moveToMore": "Mover para Mais",
|
|
"moveToBottom": "Mover para baixo"
|
|
},
|
|
"zoomUpdated": "Zoom da interface atualizado",
|
|
"updateFailed": "Falha ao atualizar",
|
|
"security": {
|
|
"title": "Sistema de proteção por senha",
|
|
"adminPassword": "Senha de administrador",
|
|
"pointsPassword": "Senha de pontos",
|
|
"recoveryString": "Frase de recuperação",
|
|
"set": "Configurado",
|
|
"notSet": "Não configurado",
|
|
"generated": "Gerado",
|
|
"notGenerated": "Não gerado",
|
|
"enterPassword": "Insira 6 dígitos (deixe em branco para pular)",
|
|
"adminPasswordPlaceholder": "Insira 6 dígitos para a senha de administrador (deixe em branco para pular)",
|
|
"pointsPasswordPlaceholder": "Insira 6 dígitos para a senha de pontos (deixe em branco para pular)",
|
|
"recoveryPlaceholder": "Insira a frase de recuperação",
|
|
"savePassword": "Salvar senha",
|
|
"savePasswords": "Salvar senhas",
|
|
"generateRecovery": "Gerar frase de recuperação",
|
|
"clearAllPasswords": "Limpar todas as senhas",
|
|
"recoveryReset": "Redefinir frase de recuperação",
|
|
"enterRecovery": "Insira a frase de recuperação",
|
|
"resetPassword": "Redefinir senha",
|
|
"resetHint": "A redefinição limpará as senhas de administrador e pontos e gerará uma nova frase de recuperação.",
|
|
"confirmClear": "Confirmar a limpeza de todas as senhas?",
|
|
"clearHint": "Após a limpeza, a proteção será desativada (sem senha = permissão de administrador por padrão).",
|
|
"saved": "Senha atualizada",
|
|
"saveFailed": "Falha ao atualizar",
|
|
"generateFailed": "Falha ao gerar",
|
|
"resetFailed": "Falha ao redefinir",
|
|
"cleared": "Limpo",
|
|
"clearFailed": "Falha ao limpar",
|
|
"passwordClearedNewRecovery": "Senha limpa, nova frase de recuperação",
|
|
"newRecoveryString": "Nova frase de recuperação (por favor, salve)"
|
|
},
|
|
"account": {
|
|
"title": "Conta SECTL Auth",
|
|
"notLoggedIn": "Não conectado ao SECTL Auth",
|
|
"oauthHint": "Conecte-se com sua conta SECTL Auth para usar autenticação unificada e logout remoto",
|
|
"loginButton": "Conectar com SECTL Auth",
|
|
"loginSuccess": "Conexão bem-sucedida",
|
|
"logout": "Sair",
|
|
"userId": "ID do usuário",
|
|
"permission": "Nível de permissão"
|
|
},
|
|
"database": {
|
|
"title": "Conexão com banco de dados",
|
|
"currentStatus": "Status atual do banco de dados",
|
|
"sqliteLocal": "Banco de dados SQLite local",
|
|
"postgresqlRemote": "Banco de dados PostgreSQL remoto",
|
|
"connected": "Conectado",
|
|
"disconnected": "Desconectado",
|
|
"postgresqlConnection": "Conexão PostgreSQL remota",
|
|
"connectionHint": "Insira a string de conexão PostgreSQL para conectar ao banco de dados remoto, suporta sincronização multiplataforma.",
|
|
"testConnection": "Testar conexão",
|
|
"switchToPostgreSQL": "Mudar para PostgreSQL",
|
|
"switchToSQLite": "Mudar para SQLite local",
|
|
"connectionTestSuccess": "Teste de conexão bem-sucedido",
|
|
"connectionTestFailed": "Falha no teste de conexão",
|
|
"switchedTo": "Mudado para o banco de dados {{type}}",
|
|
"switchedToSQLite": "Mudado para o banco de dados SQLite local",
|
|
"switchFailed": "Falha ao mudar",
|
|
"syncDescription": "Instruções de sincronização multiplataforma",
|
|
"syncPoint1": "O uso de um banco de dados PostgreSQL remoto permite a sincronização de dados multiplataforma.",
|
|
"syncPoint2": "Mecanismo de fila de operações integrado para garantir a consistência dos dados durante operações simultâneas.",
|
|
"syncPoint3": "É necessário reiniciar o aplicativo após a mudança de banco de dados.",
|
|
"syncPoint4": "Serviços de banco de dados em nuvem recomendados: Neon, Supabase, AWS RDS, etc.",
|
|
"enterConnectionString": "Por favor, insira a string de conexão PostgreSQL",
|
|
"connectionExample": "Exemplo: postgresql://xxxxxx_xxxxx:xxxxxxxx@xx-xxx.xxx.neon.xxxx/xxxxdxx?sslmode=require",
|
|
"uploadButton": "Carregar dados locais para o servidor remoto",
|
|
"uploadHint": "Após conectar ao banco de dados remoto, carregue e mesclie o histórico SQLite local para o servidor remoto.",
|
|
"uploadNeedRemote": "Por favor, primeiro mude e conecte ao banco de dados PostgreSQL remoto",
|
|
"noNeedUpload": "Os dados locais e remotos já são consistentes",
|
|
"uploadConfirmTitle": "Confirmar o upload dos dados locais para o servidor remoto?",
|
|
"uploadConfirmContent": "A sincronização priorizará os dados locais. Detectado: apenas local {{localOnly}}, apenas remoto {{remoteOnly}}, conflitos {{conflicts}}.",
|
|
"uploadSuccess": "Dados locais carregados para o servidor remoto",
|
|
"uploadFailed": "Falha ao carregar"
|
|
},
|
|
"data": {
|
|
"title": "Gerenciamento de dados",
|
|
"settlement": "Liquidação",
|
|
"settlementAndRestart": "Liquidar e reiniciar",
|
|
"settlementHint": "Classifica os registros não liquidados em uma fase e redefine todos os pontos dos alunos para zero.",
|
|
"importExport": "Importar / Exportar",
|
|
"exportJson": "Exportar JSON",
|
|
"importJson": "Importar JSON",
|
|
"importHint": "A importação substituirá os alunos/motivos/registros/configurações existentes (configurações de segurança excluídas).",
|
|
"logs": "Logs",
|
|
"logLevel": "Nível de log",
|
|
"logOperation": "Operação de logs",
|
|
"viewLogs": "Ver logs",
|
|
"exportLogs": "Exportar logs",
|
|
"clearLogs": "Limpar logs",
|
|
"logsCleared": "Logs limpos",
|
|
"systemLogs": "Logs do sistema (últimos 200)",
|
|
"noLogs": "Sem logs",
|
|
"logLevelUpdated": "Nível de log atualizado",
|
|
"readLogsFailed": "Falha ao ler logs",
|
|
"logsExported": "Logs exportados",
|
|
"exportFailed": "Falha ao exportar",
|
|
"exportSuccess": "Exportação bem-sucedida",
|
|
"importSuccess": "Importação bem-sucedida, atualizando",
|
|
"importFailed": "Falha ao importar",
|
|
"clearFailed": "Falha ao limpar",
|
|
"confirmSettlement": "Confirmar liquidação e reinício?",
|
|
"settlementConfirm1": "Isso arquivará os registros não liquidados em uma fase e redefinirá todos os pontos dos alunos para zero.",
|
|
"settlementConfirm2": "A lista de alunos permanece inalterada; o histórico de liquidação está disponível na página «Histórico de Liquidações».",
|
|
"settlementSuccess": "Liquidação bem-sucedida, pontos reiniciados",
|
|
"settlementFailed": "Falha na liquidação",
|
|
"settle": "Liquidar",
|
|
"logLevels": {
|
|
"debug": "DEBUG (depuração)",
|
|
"info": "INFO (informação)",
|
|
"warn": "WARN (aviso)",
|
|
"error": "ERROR (erro)"
|
|
}
|
|
},
|
|
"url": {
|
|
"title": "Protocolo URL (secscore://)",
|
|
"protocol": "Protocolo URL",
|
|
"description": "Você pode invocar o SecScore por meio de uma URL para realizar operações, por exemplo:",
|
|
"register": "Registrar protocolo URL",
|
|
"registered": "Protocolo URL registrado",
|
|
"registerFailed": "Falha ao registrar",
|
|
"installerRequired": "Requer a versão instalada do SecScore, pode não funcionar no modo de desenvolvimento."
|
|
},
|
|
"mcp": {
|
|
"title": "Serviço MCP",
|
|
"description": "Gerencie o serviço HTTP MCP integrado para clientes MCP externos.",
|
|
"running": "Em execução",
|
|
"stopped": "Parado",
|
|
"noUrl": "Sem URL",
|
|
"host": "Host",
|
|
"port": "Porta",
|
|
"start": "Iniciar",
|
|
"stop": "Parar",
|
|
"refresh": "Atualizar status",
|
|
"hint": "Recomendado para vincular apenas a 127.0.0.1; após o início, o endpoint é http://host:port/mcp",
|
|
"hostRequired": "Por favor, insira o host MCP",
|
|
"portInvalid": "Por favor, insira uma porta válida (1-65535)",
|
|
"startSuccess": "Servidor MCP iniciado",
|
|
"startFailed": "Falha ao iniciar o servidor MCP",
|
|
"stopSuccess": "Servidor MCP parado",
|
|
"stopFailed": "Falha ao parar o servidor MCP",
|
|
"startTimeout": "Tempo limite excedido ao iniciar o servidor MCP, tente novamente",
|
|
"stopTimeout": "Tempo limite excedido ao parar o servidor MCP, tente novamente"
|
|
},
|
|
"app": {
|
|
"title": "Controles do aplicativo",
|
|
"description": "Reinicie ou feche rapidamente o aplicativo.",
|
|
"restart": "Reiniciar aplicativo",
|
|
"quit": "Fechar aplicativo",
|
|
"confirmRestartTitle": "Confirmar reinício do aplicativo?",
|
|
"confirmRestartContent": "O aplicativo será fechado e reiniciado imediatamente.",
|
|
"confirmQuitTitle": "Confirmar fechamento do aplicativo?",
|
|
"confirmQuitContent": "O aplicativo será fechado imediatamente.",
|
|
"restartFailed": "Falha ao reiniciar",
|
|
"quitFailed": "Falha ao fechar"
|
|
},
|
|
"about": {
|
|
"title": "Sobre",
|
|
"appName": "Gestão de Pontos Educacionais",
|
|
"version": "Versão",
|
|
"copyright": "Direitos autorais",
|
|
"ipcStatus": "Status IPC",
|
|
"ipcConnected": "Conectado",
|
|
"ipcDisconnected": "Desconectado (Falha no pré-carregamento)",
|
|
"environment": "Ambiente",
|
|
"toggleDevTools": "Alternar ferramentas de desenvolvedor",
|
|
"license": "SecScore está sob licença GPL3.0",
|
|
"copyRightText": "CopyRight © 2025-{{year}} SECTL"
|
|
}
|
|
},
|
|
"sidebar": {
|
|
"home": "Início",
|
|
"students": "Gerenciamento de alunos",
|
|
"score": "Operações de pontos",
|
|
"boards": "Quadros",
|
|
"leaderboard": "Tabela de classificação",
|
|
"settlements": "Histórico de liquidações",
|
|
"reasons": "Gerenciamento de motivos",
|
|
"autoScore": "Adição automática de pontos",
|
|
"rewardExchange": "Troca de recompensas",
|
|
"rewardSettings": "Configurações de recompensa",
|
|
"settings": "Configurações do sistema",
|
|
"remoteDb": "Banco de dados remoto",
|
|
"refreshStatus": "Atualizar status",
|
|
"syncNow": "Sincronizar agora",
|
|
"syncSuccess": "Sincronização bem-sucedida",
|
|
"syncFailed": "Falha na sincronização",
|
|
"getDbStatusFailed": "Falha ao obter status do banco de dados",
|
|
"notRemoteMode": "Modo de banco de dados remoto não ativado, reinicie o aplicativo",
|
|
"dbNotConnected": "Banco de dados não conectado"
|
|
},
|
|
"auth": {
|
|
"unlock": "Desbloquear permissão",
|
|
"unlockHint": "Insira a senha de 6 dígitos: senha de administrador = acesso total, senha de pontos = apenas operações de pontos.",
|
|
"unlockButton": "Desbloquear",
|
|
"unlocked": "Permissão desbloqueada",
|
|
"logout": "Alternado para somente leitura",
|
|
"passwordPlaceholder": "ex. 123456",
|
|
"passwordError": "Senha incorreta",
|
|
"enterPassword": "Inserir senha",
|
|
"lock": "Bloquear"
|
|
},
|
|
"languages": {
|
|
"zh-CN": "简体中文",
|
|
"en-US": "English",
|
|
"ja-JP": "日本語",
|
|
"fr-FR": "Français",
|
|
"es-ES": "Español",
|
|
"ko-KR": "한국어",
|
|
"ru-RU": "Русский",
|
|
"de-DE": "Deutsch",
|
|
"pt-BR": "Português",
|
|
"ar-SA": "العربية"
|
|
},
|
|
"theme": {
|
|
"colorAndBackground": "Cor e fundo",
|
|
"gradientLabels": {
|
|
"blue": "Azul fresco",
|
|
"pink": "Rosa suave",
|
|
"cyan": "Ciano",
|
|
"purple": "Roxo"
|
|
},
|
|
"gradientDirections": {
|
|
"vertical": "Vertical",
|
|
"horizontal": "Horizontal",
|
|
"diagonal": "Diagonal"
|
|
},
|
|
"generate": "Gerar",
|
|
"saved": "Salvo",
|
|
"saveFailed": "Falha ao salvar",
|
|
"mode": "Modo",
|
|
"myTheme": "Meu tema"
|
|
},
|
|
"permissions": {
|
|
"admin": "Permissão de administrador",
|
|
"points": "Permissão de pontos",
|
|
"view": "Somente leitura"
|
|
},
|
|
"home": {
|
|
"title": "Página inicial de pontos dos alunos",
|
|
"subtitle": "Total de {{count}} alunos, clique no cartão para realizar operações",
|
|
"searchPlaceholder": "Buscar nome/pinyin...",
|
|
"sortBy": {
|
|
"alphabet": "Ordenar por nome",
|
|
"surname": "Agrupar por sobrenome",
|
|
"group": "Ordenar por grupo",
|
|
"score": "Classificação por pontos"
|
|
},
|
|
"layoutBy": {
|
|
"grouped": "Lista agrupada",
|
|
"squareGrid": "Grade quadrada",
|
|
"largeAvatar": "Avatar grande"
|
|
},
|
|
"noStudents": "Sem dados de alunos, por favor adicione em gerenciamento de alunos",
|
|
"noMatch": "Nenhum aluno correspondente encontrado",
|
|
"clearSearch": "Limpar busca",
|
|
"points": "pts",
|
|
"currentScore": "Pontos atuais",
|
|
"quickOptions": "Opções rápidas",
|
|
"adjustPoints": "Ajustar pontos",
|
|
"customPoints": "Pontos personalizados",
|
|
"customPointsHint": "Insira qualquer valor no campo de entrada",
|
|
"reason": "Motivo",
|
|
"reasonPlaceholder": "Insira o motivo da alteração de pontos (opcional)",
|
|
"preview": "Visualização da alteração",
|
|
"noReason": "(Sem motivo)",
|
|
"ungrouped": "Não agrupado",
|
|
"category": {
|
|
"others": "Outros"
|
|
},
|
|
"scoreAdded": "{{points}} pontos adicionados a {{name}}",
|
|
"scoreDeducted": "{{points}} pontos removidos de {{name}}",
|
|
"submitFailed": "Falha ao enviar",
|
|
"pleaseSelectPoints": "Por favor, selecione ou insira pontos",
|
|
"reasonDefault": "{{action}} {{points}} pontos",
|
|
"studentCount": "{{count}} alunos",
|
|
"operationTitle": "Operação de pontos: {{name}}",
|
|
"submitOperation": "Enviar operação",
|
|
"operationTitleBatch": "Operação de pontos: {{count}} selecionados",
|
|
"undoLastAction": "Desfazer",
|
|
"undoLastHint": "Desfazer último: {{name}} {{delta}}",
|
|
"undoUnavailable": "Nenhuma operação de pontos para desfazer",
|
|
"undoLastSuccess": "Última operação de pontos desfeita",
|
|
"multiSelect": "Seleção múltipla",
|
|
"batchMode": "Modo em lote",
|
|
"selectAll": "Selecionar tudo",
|
|
"clearSelected": "Limpar seleção",
|
|
"batchOperate": "Pontos em lote",
|
|
"selected": "Selecionado",
|
|
"selectedCount": "{{count}} selecionados",
|
|
"batchSuccess": "Pontos enviados para {{count}} alunos",
|
|
"batchPartial": "{{success}}/{{total}} alunos enviados com sucesso",
|
|
"selectStudentFirst": "Por favor, selecione primeiro um ou mais alunos",
|
|
"addPoints": "Adicionar pontos",
|
|
"deductPoints": "Remover pontos",
|
|
"pointsChange": "Alteração de pontos",
|
|
"reasonLabel": "Motivo: "
|
|
},
|
|
"students": {
|
|
"title": "Gerenciamento de alunos",
|
|
"importList": "Importar lista",
|
|
"addStudent": "Adicionar aluno",
|
|
"name": "Nome",
|
|
"group": "Grupo",
|
|
"avatar": "Avatar",
|
|
"currentScore": "Pontos atuais",
|
|
"tags": "Tags",
|
|
"noTags": "Sem tags",
|
|
"editTags": "Editar tags",
|
|
"editAvatar": "Configurar avatar",
|
|
"deleteConfirm": "Confirmar a exclusão deste aluno?",
|
|
"addTitle": "Adicionar aluno",
|
|
"addConfirm": "Adicionar",
|
|
"namePlaceholder": "Insira o nome do aluno",
|
|
"groupPlaceholder": "Insira o nome do grupo (opcional)",
|
|
"nameRequired": "Por favor, insira o nome",
|
|
"nameExists": "Nome do aluno já existe",
|
|
"addSuccess": "Adicionado com sucesso",
|
|
"addFailed": "Falha ao adicionar",
|
|
"deleteSuccess": "Excluído com sucesso",
|
|
"deleteFailed": "Falha ao excluir",
|
|
"tagSaveSuccess": "Tags salvas com sucesso",
|
|
"tagSaveFailed": "Falha ao salvar tags",
|
|
"importTitle": "Importar lista",
|
|
"importTextHint": "Cole várias linhas, um nome de aluno por linha",
|
|
"importTextPlaceholder": "Exemplo:\nJoão\nMaria\nPedro",
|
|
"importByText": "Importar do texto",
|
|
"importByXlsx": "Importar via xlsx",
|
|
"importByBanyou": "Importar do BanYou",
|
|
"xlsxPreview": "Visualização e importação xlsx",
|
|
"file": "Arquivo",
|
|
"selectNameCol": "Clique no cabeçalho para selecionar a coluna de nomes",
|
|
"previewRows": "Visualizar as 50 primeiras linhas",
|
|
"importConfirm": "Importar",
|
|
"importComplete": "Importação concluída: {{inserted}} adicionados, {{skipped}} ignorados",
|
|
"workerNotReady": "Worker não inicializado",
|
|
"parseXlsxFailed": "Falha ao analisar xlsx",
|
|
"selectNameColFirst": "Por favor, selecione primeiro a « Coluna de nomes »",
|
|
"noNamesFound": "Nenhum nome importável encontrado na coluna selecionada",
|
|
"importFailed": "Falha ao importar",
|
|
"banyouCookieHint": "Após fazer login no BanYou Web, copie o cookie completo e cole abaixo.",
|
|
"banyouCookiePlaceholder": "uid=...; accessToken=...; ...",
|
|
"banyouCookieRequired": "Por favor, cole o cookie primeiro",
|
|
"banyouFetch": "Obter lista de classes",
|
|
"banyouFetchSuccess": "{{count}} classes obtidas",
|
|
"banyouFetchFailed": "Falha ao obter classes do BanYou",
|
|
"banyouCreatedClasses": "Minhas classes criadas",
|
|
"banyouJoinedClasses": "Minhas classes unidas",
|
|
"banyouNoClasses": "Sem dados de classes"
|
|
},
|
|
"boards": {
|
|
"title": "Gerenciamento de quadros",
|
|
"addBoard": "Adicionar quadro",
|
|
"editBoard": "Editar quadro",
|
|
"deleteBoard": "Excluir quadro",
|
|
"name": "Nome do quadro",
|
|
"description": "Descrição",
|
|
"visibility": "Visibilidade",
|
|
"public": "Público",
|
|
"private": "Privado",
|
|
"studentsCount": "{{count}} alunos",
|
|
"noBoards": "Sem quadros",
|
|
"addTitle": "Adicionar quadro",
|
|
"editTitle": "Editar quadro",
|
|
"namePlaceholder": "Insira o nome do quadro",
|
|
"descriptionPlaceholder": "Insira a descrição",
|
|
"confirmDelete": "Confirmar a exclusão deste quadro?",
|
|
"saved": "Salvo",
|
|
"saveFailed": "Falha ao salvar",
|
|
"deleted": "Excluído",
|
|
"deleteFailed": "Falha ao excluir",
|
|
"boardExists": "Quadro já existe"
|
|
},
|
|
"leaderboard": {
|
|
"title": "Tabela de classificação",
|
|
"sortBy": "Ordenar por",
|
|
"score": "Pontos",
|
|
"name": "Nome",
|
|
"rank": "Classificação",
|
|
"student": "Aluno",
|
|
"points": "Pontos",
|
|
"noData": "Sem dados de classificação",
|
|
"topStudents": "Melhores alunos",
|
|
"rankChanged": "Classificação: {{rank}}"
|
|
},
|
|
"settlements": {
|
|
"title": "Histórico de liquidações",
|
|
"phase": "Fase",
|
|
"date": "Data",
|
|
"studentCount": "Número de alunos",
|
|
"totalPoints": "Pontos totais",
|
|
"actions": "Ações",
|
|
"viewDetails": "Ver detalhes",
|
|
"noSettlements": "Sem liquidações",
|
|
"phaseDetail": "Detalhes da fase {{phase}}",
|
|
"settlementDate": "Data de liquidação: {{date}}",
|
|
"totalStudents": "Total de alunos: {{count}}",
|
|
"totalPointsChange": "Alteração total de pontos: {{points}}"
|
|
},
|
|
"reasons": {
|
|
"title": "Gerenciamento de motivos",
|
|
"addReason": "Adicionar motivo",
|
|
"editReason": "Editar motivo",
|
|
"name": "Nome do motivo",
|
|
"points": "Pontos",
|
|
"positive": "Positivo",
|
|
"negative": "Negativo",
|
|
"noReasons": "Sem motivos",
|
|
"addTitle": "Adicionar motivo",
|
|
"editTitle": "Editar motivo",
|
|
"namePlaceholder": "Insira o nome do motivo",
|
|
"pointsPlaceholder": "Insira os pontos",
|
|
"confirmDelete": "Confirmar a exclusão deste motivo?",
|
|
"saved": "Salvo",
|
|
"saveFailed": "Falha ao salvar",
|
|
"deleted": "Excluído",
|
|
"deleteFailed": "Falha ao excluir",
|
|
"reasonExists": "Motivo já existe"
|
|
},
|
|
"autoScore": {
|
|
"title": "Adição automática de pontos",
|
|
"addRule": "Adicionar regra",
|
|
"editRule": "Editar regra",
|
|
"deleteRule": "Excluir regra",
|
|
"ruleName": "Nome da regra",
|
|
"trigger": "Gatilho",
|
|
"action": "Ação",
|
|
"interval": "Intervalo",
|
|
"enabled": "Habilitado",
|
|
"noRules": "Sem regras",
|
|
"addTitle": "Adicionar regra",
|
|
"editTitle": "Editar regra",
|
|
"namePlaceholder": "Insira o nome da regra",
|
|
"triggerPlaceholder": "Selecionar gatilho",
|
|
"actionPlaceholder": "Selecionar ação",
|
|
"intervalPlaceholder": "Selecionar intervalo",
|
|
"confirmDelete": "Confirmar a exclusão desta regra?",
|
|
"saved": "Salvo",
|
|
"saveFailed": "Falha ao salvar",
|
|
"deleted": "Excluído",
|
|
"deleteFailed": "Falha ao excluir",
|
|
"ruleExists": "Regra já existe"
|
|
},
|
|
"rewardExchange": {
|
|
"title": "Troca de recompensas",
|
|
"rewards": "Recompensas",
|
|
"exchange": "Trocar",
|
|
"history": "Histórico",
|
|
"noRewards": "Sem recompensas",
|
|
"noHistory": "Sem histórico",
|
|
"rewardName": "Nome da recompensa",
|
|
"cost": "Custo",
|
|
"stock": "Estoque",
|
|
"exchangeSuccess": "Troca bem-sucedida",
|
|
"exchangeFailed": "Falha ao trocar",
|
|
"insufficientPoints": "Pontos insuficientes",
|
|
"outOfStock": "Fora de estoque"
|
|
},
|
|
"rewardSettings": {
|
|
"title": "Configurações de recompensa",
|
|
"addReward": "Adicionar recompensa",
|
|
"editReward": "Editar recompensa",
|
|
"deleteReward": "Excluir recompensa",
|
|
"name": "Nome",
|
|
"cost": "Custo",
|
|
"stock": "Estoque",
|
|
"noRewards": "Sem recompensas",
|
|
"addTitle": "Adicionar recompensa",
|
|
"editTitle": "Editar recompensa",
|
|
"namePlaceholder": "Insira o nome",
|
|
"costPlaceholder": "Insira o custo",
|
|
"stockPlaceholder": "Insira o estoque",
|
|
"confirmDelete": "Confirmar a exclusão desta recompensa?",
|
|
"saved": "Salvo",
|
|
"saveFailed": "Falha ao salvar",
|
|
"deleted": "Excluído",
|
|
"deleteFailed": "Falha ao excluir",
|
|
"rewardExists": "Recompensa já existe"
|
|
},
|
|
"recovery": {
|
|
"title": "Frase de recuperação SecScore",
|
|
"saved": "Eu salvei",
|
|
"export": "Exportar arquivo de texto",
|
|
"exportHint": "Recomenda-se salvar offline. Se perdido, não poderá ser recuperado.",
|
|
"hint": "Recomenda-se salvar offline após a exportação. Se perdido, não poderá ser recuperado."
|
|
}
|
|
}
|