{
  "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": "Sincronização na nuvem",
      "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"
    },
    "cloudSync": {
      "title": "Sincronização na nuvem",
      "selectMethod": "Selecionar método de sincronização",
      "selectMethodHint": "Escolha um método de sincronização de dados. Os dois métodos são mutuamente exclusivos.",
      "postgresql": "PostgreSQL auto-hospedado",
      "postgresqlDesc": "Conecte-se ao seu próprio banco de dados PostgreSQL para controle total. Ideal para usuários com servidor próprio.",
      "sectlCloud": "SECTL Cloud Sync",
      "sectlCloudDesc": "Sincronize dados pela plataforma cloud SECTL. Sem necessidade de banco de dados próprio.",
      "loginRequired": "Por favor, faça login no SECTL Auth primeiro",
      "loginHint": "A sincronização cloud SECTL requer uma conta SECTL Auth. Faça login na aba 'Conta'.",
      "statusTitle": "Status da sincronização",
      "configured": "Pronto",
      "notConfigured": "Não pronto",
      "syncing": "Sincronizando...",
      "lastSync": "Última sincronização",
      "never": "Nunca sincronizado",
      "syncActions": "Ações de sincronização",
      "syncDirection": "Direção da sincronização",
      "bidirectional": "Bidirecional (Recomendado) — Mesclar automaticamente dados locais e na nuvem",
      "pushOnly": "Apenas upload — Sobrescrever dados na nuvem com dados locais",
      "pullOnly": "Apenas download — Sobrescrever dados locais com dados na nuvem",
      "startSync": "Iniciar sincronização",
      "uploadToCloud": "Enviar para a nuvem",
      "downloadFromCloud": "Baixar da nuvem",
      "fullSync": "Sincronização bidirecional",
      "syncInProgress": "Sincronização em andamento, aguarde",
      "syncConfirm": "Confirmar {{direction}}?",
      "storageUsage": "Uso de armazenamento",
      "usedStorage": "Usado",
      "table": "Tabela",
      "records": "Registros",
      "size": "Tamanho",
      "clickToLoadStats": "Clique em atualizar para carregar estatísticas",
      "description": "Guia de sincronização cloud SECTL",
      "descriptionPoint1": "Sincronize dados pelo serviço cloud SECTL. Sem banco de dados próprio. Dados isolados por conta SECTL Auth.",
      "descriptionPoint2": "Baseado em arquitetura de armazenamento KV. Cada tabela é armazenada como par chave-valor.",
      "descriptionPoint3": "Suporta modos bidirecional, apenas upload e apenas download.",
      "descriptionPoint4": "Dados transmitidos por HTTPS com autenticação OAuth 2.0."
    },
    "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.",
      "checkStatus": "Verificar status",
      "reRegister": "Re-registrar",
      "unregister": "Cancelar registro",
      "unregistered": "Registro do protocolo URL cancelado",
      "unregisterFailed": "Falha ao cancelar o registro",
      "statusRegistered": "Registrado",
      "statusNotRegistered": "Não registrado",
      "statusCheckFailed": "Falha ao verificar o status",
      "retrying": "Tentando novamente ({{current}}/{{max}})",
      "retryFailed": "Número máximo de tentativas atingido, falha no registro",
      "retrySuccess": "Tentativa #{{n}} bem-sucedida",
      "operationLog": "Log de operações",
      "logRegisterStart": "Iniciando registro do protocolo URL...",
      "logRegisterVerify": "Comando de registro executado, verificando...",
      "logRegisterSuccess": "Registro verificado com sucesso",
      "logRegisterFailed": "Falha na verificação do registro",
      "logUnregisterStart": "Cancelando registro...",
      "logUnregisterSuccess": "Registro cancelado com sucesso",
      "logUnregisterFailed": "Falha ao cancelar o registro",
      "logMaxRetries": "Número máximo de tentativas (7) atingido"
    },
    "elevation": {
      "title": "Privilégios de administrador",
      "description": "Verificar se o aplicativo está sendo executado com privilégios de administrador/root. Algumas funcionalidades (escuta de porta, operações de sistema) requerem privilégios elevados.",
      "elevated": "Elevado",
      "notElevated": "Não elevado",
      "request": "Solicitar privilégios de admin",
      "requestSuccess": "Privilégios de admin solicitados, o aplicativo será reiniciado",
      "requestFailed": "Falha ao solicitar privilégios de admin",
      "windowsHint": "Windows: Um prompt UAC aparecerá. Após confirmação, o app será reiniciado como administrador.",
      "macosHint": "macOS: Um diálogo de autenticação do sistema aparecerá. Digite a senha de admin para reiniciar.",
      "linuxHint": "Linux: Usa pkexec para solicitar privilégios root. Digite a senha para reiniciar."
    },
    "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."
  }
}
