const pt: Record = { // ── Sidebar ── 'nav.principal': 'Principal', 'nav.admin': 'Administração', 'nav.chat': 'Chat Agent', 'nav.terraform': 'Terraform', 'nav.promptGen': 'Prompt Generator', 'nav.workspaces': 'Workspaces', 'nav.explorer': 'OCI Explorer', 'nav.ociServices': 'OCI Services', 'svc.title': 'OCI Services Status', 'svc.subtitle': 'Verifique e configure o status dos servicos de seguranca OCI por tenancy', 'svc.redetect': 'Re-detect', 'svc.checking': 'Verificando servicos OCI...', 'svc.save': 'Salvar', 'nav.reports': 'Relatórios', 'nav.ociCreds': 'Credenciais OCI', 'nav.genai': 'GenAI Config', 'nav.mcp': 'MCP Servers', 'nav.adb': 'ADB Vector', 'nav.embeddings': 'Embeddings', 'nav.embConsult': 'Consultar Embeddings', 'nav.terminal': 'Terminal', 'nav.userMgmt': 'Gestão de Usuários', 'nav.users': 'Usuários', 'nav.mySettings': 'Minhas Configurações', 'nav.oracleIam': 'Oracle IAM', 'nav.audit': 'Audit Log', 'sidebar.lightMode': 'Modo claro', 'sidebar.darkMode': 'Modo escuro', 'sidebar.logout': 'Sair', 'sidebar.settings': 'Configurações', 'sidebar.backToMenu': 'Voltar ao menu', 'sidebar.roleAdmin': 'Administrador', 'sidebar.roleUser': 'Usuário', 'sidebar.subtitle': 'Infrastructure & Security', // ── Login ── 'login.subtitle': 'Infrastructure & Security Engineer', 'login.userPlaceholder': 'Usuario', 'login.passPlaceholder': 'Senha', 'login.mfaScanQr': 'Escaneie o QR code no seu app autenticador:', 'login.totpPlaceholder': 'Codigo TOTP', 'login.loading': 'Entrando...', 'login.verify': 'Verificar', 'login.submit': 'Entrar', 'login.error': 'Erro ao fazer login', 'login.or': 'ou', 'login.oidcButton': 'Login com Oracle IAM', // ── Chat ── 'chat.timeNow': 'agora', 'chat.today': 'Hoje', 'chat.yesterday': 'Ontem', 'chat.last7': 'Ultimos 7 dias', 'chat.last30': 'Ultimos 30 dias', 'chat.older': 'Anteriores', 'chat.other': 'Outras', 'chat.history': 'Historico', 'chat.newChat': 'Nova Conversa', 'chat.untitled': 'Sem titulo', 'chat.noConversations': 'Nenhuma conversa ainda', 'chat.selectModel': 'Selecione um modelo...', 'chat.savedConfigs': 'Configs Salvas', 'chat.searchModel': 'Buscar modelo...', 'chat.noModels': 'Nenhum modelo encontrado', 'chat.ociCred': 'Credencial OCI...', 'chat.settings': 'Configuracoes', 'chat.newChatTitle': 'Nova conversa', 'chat.emptyTitle': 'Inicie uma conversa com o agente.', 'chat.emptySubtitle': 'Selecione um modelo para comecar.', 'chat.thinking': 'Pensando...', 'chat.retry': 'Reenviar', 'chat.attachFile': 'Anexar arquivo', 'chat.placeholder': 'Digite sua mensagem... (Shift+Enter para nova linha)', 'chat.send': 'Enviar', 'chat.selectOciCred': 'Selecione uma credencial OCI para usar modelos diretos.', 'chat.sendError': 'Falha ao enviar mensagem', 'chat.requestFailed': 'A requisicao falhou.', 'chat.timeout': 'Timeout: a resposta esta demorando muito. Tente novamente.', 'chat.toolsAvailable': 'tools disponiveis', 'chat.ociCredLabel': 'Credencial OCI', 'chat.select': 'Selecionar...', 'chat.analyzeFiles': 'Analise os arquivos anexados.', // ── Terraform ── 'tf.history': 'Historico', 'tf.newChat': 'Nova', 'tf.noConversations': 'Nenhuma conversa', 'tf.searchModel': 'Buscar modelo...', 'tf.selectModel': 'Selecione modelo...', 'tf.savedConfigs': 'Configs Salvas', 'tf.ociConfig': 'OCI Config...', 'tf.settings': 'Configuracoes', 'tf.newConversation': 'Nova conversa', 'tf.emptyTitle': 'Descreva a infraestrutura OCI', 'tf.emptySubtitle': 'O agente vai gerar codigo Terraform baseado na sua descricao.', 'tf.thinking': 'Processando...', 'tf.retry': 'Reenviar', 'tf.placeholder': 'Descreva a infraestrutura desejada... (Shift+Enter para nova linha)', 'tf.send': 'Enviar', 'tf.workspace': 'Workspace', 'tf.files': 'Arquivos', 'tf.terminal': 'Terminal', 'tf.resources': 'Recursos', 'tf.plan': 'Plan', 'tf.apply': 'Apply', 'tf.destroy': 'Destroy', 'tf.cancel': 'Cancelar', 'tf.download': 'Download ZIP', 'tf.createWs': 'Criar Workspace', 'tf.noFiles': 'Nenhum arquivo gerado', 'tf.timeout': 'Timeout: a geracao esta demorando muito.', 'tf.selectOci': 'Selecione uma credencial OCI', 'tf.compartment': 'Compartimento', 'tf.region': 'Regiao', 'tf.rollback': 'Rollback', 'tf.copy': 'Copiar', 'tf.copied': 'Copiado', 'tf.noWs': 'Nenhum workspace ativo', 'tf.deleteWs': 'Excluir', 'tf.noFilesToPlan': 'Nenhum arquivo para planejar', 'tf.selectOciConfig': 'Selecione OCI Config e Compartment', 'tf.running': 'Executando...', 'tf.terminalTitle': 'Terminal de saida do Terraform', 'tf.terminalHint': 'Execute Plan, Apply ou Destroy para ver os resultados aqui', 'tf.autoFix': 'Auto-corrigir', 'tf.editSystemPrompt': 'Editar System Prompt', 'tf.refreshReference': 'Refresh Reference', // ── Prompt Generator ── 'pg.history': 'Historico', 'pg.new': 'Nova', 'pg.noConversations': 'Nenhuma conversa', 'pg.emptyTitle': 'Descreva a infraestrutura OCI que voce precisa', 'pg.emptySubtitle': 'O agente vai gerar um prompt estruturado e otimizado para o Terraform Agent.', 'pg.loading': 'Gerando prompt...', 'pg.placeholder': 'Descreva a infraestrutura desejada... (Shift+Enter para nova linha)', 'pg.copy': 'Copiar', 'pg.copied': 'Copiado', 'pg.retry': 'Reenviar', 'pg.timeout': 'Timeout: a geracao esta demorando muito.', 'pg.search': 'Buscar...', 'pg.selectModel': 'Selecione modelo...', // ── Workspaces ── 'ws.title': 'Terraform Workspaces', 'ws.all': 'Todos', 'ws.active': 'Ativos', 'ws.draft': 'Draft', 'ws.failed': 'Falha', 'ws.destroyed': 'Destruídos', 'ws.loading': 'Carregando...', 'ws.refresh': 'Atualizar', 'ws.noWs': 'Nenhum workspace encontrado', 'ws.noWsHint': 'Crie workspaces pelo Terraform Agent', 'ws.loadingWs': 'Carregando workspaces...', 'ws.open': 'Abrir', 'ws.plan': 'Plan', 'ws.apply': 'Apply', 'ws.destroy': 'Destroy', 'ws.delete': 'Excluir', 'ws.cancel': 'Cancelar', 'ws.hideOutput': 'ocultar', 'ws.viewOutput': 'ver output', 'ws.confirmDestroy': 'Confirmar Destroy', 'ws.confirmDestroyMsg': 'Esta acao ira destruir todos os recursos provisionados por este workspace.', 'ws.typeDestroy': 'Digite DESTROY para confirmar:', 'ws.deleteWs': 'Excluir Workspace', 'ws.deleteWsMsg': 'Deseja excluir este workspace permanentemente? Arquivos locais serao removidos.', 'ws.noDate': 'Sem data', // ── Explorer ── 'exp.title': 'OCI Explorer', 'exp.subtitle': 'Explore recursos da sua infraestrutura Oracle Cloud', 'exp.search': 'Buscar recurso...', 'exp.refresh': 'Atualizar', 'exp.loading': 'Carregando...', 'exp.noResources': 'Nenhum recurso encontrado', 'exp.selectResource': 'Selecione um tipo de recurso', 'exp.compartment': 'Compartimento', 'exp.region': 'Regiao', 'exp.allRegions': 'Todas as regioes', 'exp.start': 'Start', 'exp.stop': 'Stop', 'exp.details': 'Detalhes', 'exp.total': 'Total', 'exp.network': 'Rede', 'exp.observability': 'Observabilidade', 'exp.security': 'Seguranca', 'exp.selectRegions': 'Selecionar regioes', 'exp.nRegions': '{0} regioes', 'exp.all': 'Todas', 'exp.none': 'Nenhuma', 'exp.noCompartment': 'Nenhum compartment encontrado', 'exp.selectConfig': 'Selecione uma config OCI', 'exp.loadingResources': 'Carregando recursos...', 'exp.clearFilter': 'Tente limpar o filtro de busca', 'exp.resources': 'recursos', 'exp.updating': 'atualizando...', 'exp.regions': 'regiao(oes)', 'exp.filter': 'Filtrar...', 'exp.startAction': 'Iniciar', 'exp.stopAction': 'Parar', 'exp.updatingState': 'Atualizando...', 'exp.createdAt': 'Criado em', 'exp.public': 'Publico', 'exp.yesPublic': 'Sim', 'exp.noPrivate': 'Nao (privada)', 'exp.freeTier': 'Free Tier', 'exp.yes': 'Sim', 'exp.no': 'Nao', 'exp.noRestrictions': 'Sem restricoes (aberto)', 'exp.updateNetworkAccess': 'Atualizar Acesso de Rede', 'exp.accessUpdated': 'Acesso atualizado: ', 'exp.objects': 'Objetos', 'exp.size': 'Tamanho', 'exp.visibility': 'Visibilidade', 'exp.private': 'Privado', 'exp.rules': 'Regras', 'exp.routes': 'Rotas', 'exp.hideRules': 'Ocultar regras', 'exp.viewRules': 'Ver regras', 'exp.add': 'Adicionar', 'exp.direction': 'Direcao', 'exp.protocol': 'Protocolo', 'exp.originDest': 'Origem/Destino', 'exp.ports': 'Portas', 'exp.description': 'Descricao', 'exp.portMin': 'Porta Min', 'exp.portMax': 'Porta Max', 'exp.myIp': 'Meu IP', 'exp.save': 'Salvar', 'exp.cancel': 'Cancelar', 'exp.ruleAdded': 'Regra adicionada.', 'exp.enterCidr': 'Informe o CIDR.', 'exp.removeRule': 'Remover esta regra?', 'exp.removeNsgRule': 'Remover esta regra do NSG?', 'exp.ipDetected': 'IP detectado: {0} — ajuste porta e clique Salvar', 'exp.ipDetectFailed': 'Nao foi possivel detectar o IP.', 'exp.destination': 'Destino', 'exp.destType': 'Tipo Destino', 'exp.version': 'Versao', 'exp.ha': 'HA', // ── Reports ── 'rpt.title': 'CIS Reports', 'rpt.subtitle': 'Execute scans de conformidade CIS OCI Benchmark', 'rpt.startScan': 'Iniciar Scan', 'rpt.running': 'Executando...', 'rpt.cancel': 'Cancelar', 'rpt.tenancy': 'Tenancy', 'rpt.level': 'Level', 'rpt.region': 'Regiao', 'rpt.allRegions': 'Todas as regioes', 'rpt.noReports': 'Nenhum relatorio encontrado', 'rpt.noReportsHint': 'Execute um scan para gerar relatorios de conformidade.', 'rpt.progress': 'Progresso', 'rpt.completed': 'Concluido', 'rpt.failed': 'Falhou', 'rpt.viewReport': 'Ver Relatorio', 'rpt.download': 'Download', 'rpt.delete': 'Excluir', 'rpt.summary': 'Resumo', 'rpt.passed': 'Passou', 'rpt.findings': 'Findings', 'rpt.recommendations': 'Recomendacoes', 'rpt.selectTenancy': 'Selecione uma tenancy', 'rpt.selectCredential': 'Selecione uma credencial', 'rpt.loadingReports': 'Carregando relatorios...', 'rpt.refresh': 'Atualizar', 'rpt.pageTitle': 'Relatorios CIS', 'rpt.pageSubtitle': 'CIS Benchmark 3.0 — Compliance Scan & Dashboard', 'rpt.runScanCis': 'Executar Scan CIS', 'rpt.inExecution': 'Em execucao', 'rpt.configParams': 'Configure os parametros e execute o scan de compliance CIS.', 'rpt.ociCredential': 'Credencial OCI', 'rpt.selectOciCred': 'Selecione a credencial OCI...', 'rpt.cisLevel': 'CIS Level', 'rpt.level1Desc': 'Verificacoes essenciais de seguranca', 'rpt.level2Desc': 'Verificacoes completas (inclui Level 1)', 'rpt.regions': 'Regioes', 'rpt.leaveEmpty': 'Deixe vazio para escanear todas as regioes subscritas', 'rpt.executeCompliance': 'Executar CIS Compliance', 'rpt.scanProgress': 'Progresso do Scan', 'rpt.hideLog': 'Ocultar log', 'rpt.showLog': 'Ver log completo', 'rpt.lines': 'linhas', 'rpt.cancelScan': 'Cancelar Scan', 'rpt.selectReport': 'Selecionar Relatorio', 'rpt.selectCompletedReport': 'Selecione um relatorio concluido...', 'rpt.searchTenancy': 'Buscar tenancy...', 'rpt.searchByTenancy': 'Buscar por tenancy...', 'rpt.noCredentials': 'Nenhuma credencial encontrada', 'rpt.allRegionsDefault': 'Todas as regioes (padrao)', 'rpt.searchRegion': 'Buscar regiao...', 'rpt.loadingDashboard': 'Carregando dashboard...', 'rpt.complianceScore': 'Score de Compliance', 'rpt.compliant': 'Conforme', 'rpt.nonCompliant': 'Nao Conforme', 'rpt.ofTotal': 'do total', 'rpt.compliantItems': 'itens conformes', 'rpt.totalFindings': 'achados totais', 'rpt.evaluated': 'Avaliados', 'rpt.controlsVerified': 'Controles verificados', 'rpt.regionsCount': 'regiao(oes)', 'rpt.complianceDist': 'Distribuicao de Compliance', 'rpt.findingsBySection': 'Achados por Secao', 'rpt.generatedAt': 'Gerado em', 'rpt.htmlReport': 'Relatorio HTML', 'rpt.files': 'Arquivos', 'rpt.inSections': 'secoes', 'rpt.fullEmbedding': 'Embedding Completo', 'rpt.noActiveTables': 'Sem tabelas ativas', 'rpt.executionHistory': 'Historico de Execucoes', 'rpt.reports': 'relatorio(s)', 'rpt.loading': 'Carregando...', 'rpt.firstScanHint': 'Execute o primeiro scan CIS acima.', 'rpt.selected': 'Selecionado', 'rpt.deleteConfirm': 'Excluir este relatorio?', 'rpt.deleteFailed': 'Falha ao excluir', 'rpt.selectOciCredError': 'Selecione uma credencial OCI', 'rpt.alreadyRunning': 'Ja existe um scan em execucao', 'rpt.errorLoadReports': 'Erro ao carregar relatorios', 'rpt.errorStartScan': 'Erro ao iniciar scan', 'rpt.selectAdb': 'Selecione uma conexao ADB.', 'rpt.selectTable': 'Selecione uma tabela.', 'rpt.errorEmbedding': 'Erro ao gerar embedding', 'rpt.cancelled': 'Cancelado', 'rpt.completedAt': 'Concluido:', 'rpt.complianceGenerating': 'Gerando Compliance Report...', 'rpt.complianceFetchingKB': 'Buscando remediações na Knowledge Base CIS', 'rpt.complianceNotGenerated': 'Report ainda não gerado', 'rpt.complianceGenerate': 'Gerar Compliance Report', 'rpt.complianceRegenerate': 'Regenerar', 'rpt.complianceDownloadZip': 'Download ZIP', 'rpt.complianceRemediation': '+ Remediation', 'rpt.complianceGeneratingShort': 'Gerando...', 'rpt.complianceTitle': 'LAD A-Team CIS Compliance Report', // ── OCI Config ── 'oci.title': 'Credenciais OCI', 'oci.subtitle': 'Gerencie credenciais Oracle Cloud Infrastructure', 'oci.registered': 'Credenciais Registradas', 'oci.credential': 'credencial', 'oci.credentials': 'credenciais', 'oci.noCredentials': 'Nenhuma credencial registrada.', 'oci.edit': 'Editar', 'oci.test': 'Testar', 'oci.delete': 'Excluir', 'oci.yes': 'Sim', 'oci.no': 'Nao', 'oci.newCredential': 'Nova Credencial', 'oci.editCredential': 'Editar Credencial', 'oci.addDesc': 'Adicione as credenciais da sua conta OCI para executar reports e acessar servicos.', 'oci.editing': 'Editando:', 'oci.tenancyName': 'Tenancy Name', 'oci.ocidTenancy': 'OCID Tenancy', 'oci.region': 'Region', 'oci.selectRegion': 'Selecione a regiao...', 'oci.searchRegion': 'Buscar regiao...', 'oci.noRegion': 'Nenhuma regiao encontrada', 'oci.compartment': 'Compartment OCID', 'oci.ocidUser': 'OCID User', 'oci.fingerprint': 'Fingerprint', 'oci.sessionToken': 'Session Token', 'oci.sessionTokenHint': 'Cole o conteudo do arquivo token gerado por', 'oci.sessionKeyLabel': 'Chave de Sessao (.pem)', 'oci.privateKey': 'Private Key (.pem)', 'oci.publicKey': 'Public Key (.pem)', 'oci.keyPassphrase': 'Key Passphrase', 'oci.keyPassphraseHint': 'Apenas se a chave privada for protegida por senha', 'oci.sshPublicKey': 'SSH Public Key', 'oci.sshPublicKeyHint': 'Chave SSH para acesso a instancias compute (ex: ssh-rsa AAAA...)', 'oci.saveCredential': 'Salvar Credencial', 'oci.saveChanges': 'Salvar Alteracoes', 'oci.cancel': 'Cancelar', 'oci.saving': 'Salvando credencial...', 'oci.saved': 'Credencial salva com sucesso!', 'oci.updated': 'Credencial atualizada com sucesso!', 'oci.deleting': 'Excluindo credencial...', 'oci.deleted': 'Credencial excluida com sucesso!', 'oci.fillField': 'Preencha o', 'oci.fillOcidTenancy': 'Preencha o OCID Tenancy', 'oci.fillUserAndFP': 'Preencha OCID User e Fingerprint', 'oci.pasteToken': 'Cole o Session Token', 'oci.selectKey': 'Selecione a chave privada (.pem)', 'oci.selectSessionKey': 'Selecione a chave de sessao (.pem)', 'oci.changeHint': 'Preencha para alterar. Atual:', 'oci.keepKey': 'Deixe vazio para manter a chave atual', 'oci.typeCannotChange': '(tipo nao pode ser alterado)', 'oci.sshNotConfigured': 'nao configurada', // ── GenAI Config ── 'genai.title': 'Modelos GenAI', 'genai.subtitle': 'Configure modelos de IA generativa para o Chat Agent', 'genai.configured': 'Modelos Configurados', 'genai.model': 'modelo', 'genai.models': 'modelos', 'genai.noModels': 'Nenhum modelo configurado.', 'genai.newModel': 'Novo Modelo GenAI', 'genai.editModel': 'Editar Modelo', 'genai.configName': 'Nome da Config', 'genai.ociCredential': 'Credencial OCI', 'genai.modelSelect': 'Modelo', 'genai.genaiRegion': 'Regiao GenAI', 'genai.compartment': 'Compartment OCID', 'genai.modelOcid': 'Model OCID', 'genai.modelOcidHint': 'Cole o OCID do modelo do portal OCI (opcional)', 'genai.customOcid': 'Personalizado (usar OCID)', 'genai.default': 'Modelo Padrao', 'genai.setDefault': 'Definir como Padrao', 'genai.saveModel': 'Salvar Modelo', 'genai.saveChanges': 'Salvar Alteracoes', 'genai.cancel': 'Cancelar', 'genai.saving': 'Salvando modelo...', 'genai.deleting': 'Excluindo modelo...', 'genai.addDesc': 'Adicione modelos personalizados ou crie presets com credenciais especificas.', 'genai.fillName': 'Preencha o nome da config', 'genai.selectOci': 'Selecione uma credencial OCI', 'genai.fillOcid': 'Informe o Model OCID para modelo personalizado', // ── MCP Servers ── 'mcp.title': 'MCP Servers', 'mcp.subtitle': 'Servidores MCP para integracao com ferramentas e execucao de tarefas', 'mcp.registered': 'Servidores Registrados', 'mcp.noServers': 'Nenhum MCP server registrado.', 'mcp.edit': 'Editar', 'mcp.activate': 'Ativar', 'mcp.deactivate': 'Desativar', 'mcp.active': 'Ativo', 'mcp.inactive': 'Inativo', 'mcp.delete': 'Excluir', 'mcp.yes': 'Sim', 'mcp.no': 'Nao', 'mcp.command': 'Comando:', 'mcp.url': 'URL:', 'mcp.module': 'Modulo:', 'mcp.adb': 'ADB:', 'mcp.noAdb': 'Nenhum', 'mcp.tools': 'Tools', 'mcp.noTools': 'Nenhuma tool registrada', 'mcp.discoverTools': 'Descobrir Tools', 'mcp.discovering': 'Conectando ao MCP server para descobrir tools...', 'mcp.newServer': 'Registrar Novo Server', 'mcp.editServer': 'Editar Server', 'mcp.name': 'Nome', 'mcp.description': 'Descricao', 'mcp.serverType': 'Tipo de Servidor', 'mcp.commandLabel': 'Comando', 'mcp.commandHint': 'Comando para iniciar o servidor', 'mcp.argsLabel': 'Argumentos (JSON)', 'mcp.argsHint': 'Array de argumentos passados ao comando', 'mcp.urlLabel': 'URL do Servidor', 'mcp.urlHint': 'Endpoint SSE do servidor MCP', 'mcp.linkAdb': 'Vincular ADB Vector', 'mcp.linkAdbHint': 'Opcional — o MCP server podera usar este banco como ferramenta.', 'mcp.saveServer': 'Registrar Server', 'mcp.saveChanges': 'Salvar Alteracoes', 'mcp.cancel': 'Cancelar', 'mcp.saving': 'Registrando servidor...', 'mcp.updating': 'Atualizando servidor...', 'mcp.fillName': 'Preencha o nome do server', 'mcp.invalidArgs': 'Argumentos deve ser um JSON array valido', 'mcp.configDesc': 'Configure um novo servidor MCP. Os campos se ajustam ao tipo selecionado.', // ── ADB Config ── 'adb.title': 'ADB Connections', 'adb.subtitle': 'Conexoes com Oracle Autonomous Database via Wallet (mTLS)', 'adb.registered': 'Conexoes Registradas', 'adb.connection': 'conexao', 'adb.connections': 'conexoes', 'adb.noConnections': 'Nenhuma conexao ADB registrada.', 'adb.edit': 'Editar', 'adb.test': 'Testar', 'adb.delete': 'Excluir', 'adb.yes': 'Sim', 'adb.no': 'Nao', 'adb.newConnection': 'Nova Conexao', 'adb.editConnection': 'Editar Conexao', 'adb.connName': 'Nome da Conexao', 'adb.walletZip': 'Wallet ZIP', 'adb.walletHint': 'Envie o wallet para extrair os DSNs do tnsnames.ora', 'adb.walletEditHint': 'Envie novo wallet ou deixe vazio para manter o atual', 'adb.analyze': 'Analisar', 'adb.dsn': 'DSN (TNS Name)', 'adb.dsnHint': 'Selecione ou digite o DSN. Ex: myatp_high', 'adb.username': 'Username', 'adb.password': 'Password', 'adb.walletPassword': 'Wallet Password', 'adb.genaiConfig': 'Config GenAI (Embeddings)', 'adb.genaiConfigHint': 'Credenciais OCI usadas para gerar embeddings via GenAI.', 'adb.noRag': 'Nenhum (sem RAG)', 'adb.embeddingModel': 'Modelo de Embedding', 'adb.embeddingModelHint': 'Modelo OCI GenAI para gerar vetores.', 'adb.saveConnection': 'Salvar Conexao', 'adb.saveChanges': 'Salvar Alteracoes', 'adb.cancel': 'Cancelar', 'adb.saving': 'Salvando conexao...', 'adb.deleting': 'Excluindo conexao...', 'adb.updateWallet': 'Atualizar Wallet', 'adb.adbConnection': 'Conexao ADB', 'adb.uploadWallet': 'Upload Wallet', 'adb.connDesc': 'Conexao via python-oracledb Thin mode com Wallet (mTLS) para Oracle Autonomous Database.', 'adb.selectWallet': 'Selecione um arquivo wallet ZIP.', 'adb.selectConnection': 'Selecione uma conexao ADB.', 'adb.fillName': 'Preencha o nome da conexao', 'adb.fillDsn': 'Preencha o DSN', 'adb.fillUsername': 'Preencha o username', 'adb.fillPassword': 'Preencha a senha', // ── Embeddings ── 'emb.title': 'Embeddings', 'emb.subtitle': 'Base de conhecimento vetorial — upload, importacao e gerenciamento', 'emb.noAdb': 'Nenhuma conexao ADB configurada.', 'emb.noAdbHint': 'Configure em ADB Vector.', 'emb.noOci': 'Nenhuma credencial OCI configurada.', 'emb.noOciHint': 'Configure em Config → OCI.', 'emb.existing': 'Embeddings Existentes', 'emb.existingDesc': 'Consulte os documentos armazenados nas tabelas de embeddings do ADB.', 'emb.adbConnection': 'Conexao ADB', 'emb.table': 'Tabela', 'emb.load': 'Carregar', 'emb.noEmbeddings': 'Nenhum embedding encontrado.', 'emb.total': 'Total: {0} documentos', 'emb.cisTitle': 'CIS Recommendations', 'emb.cisDesc': 'Envie a versao mais recente do PDF para manter as recomendacoes CIS Oracle Cloud atualizadas na base vetorial.', 'emb.pdfFile': 'Arquivo PDF', 'emb.uploadCis': 'Upload CIS Recommendations', 'emb.kbTitle': 'Base de Conhecimento', 'emb.kbDesc': 'Envie documentos para alimentar a base de conhecimento da equipe. Os arquivos serao vetorizados e disponibilizados para consulta via chat.', 'emb.fileLabel': 'Arquivo (.txt, .pdf, .csv, .json, .md)', 'emb.uploadFile': 'Upload Arquivo', 'emb.urlLabel': 'URL (pagina web ou PDF)', 'emb.importUrl': 'Importar URL', 'emb.purgeTitle': 'Purge & Re-embed', 'emb.purgeDesc': 'Limpe os embeddings de uma tabela para liberar espaco ou preparar para re-ingestao. Esta acao e irreversivel.', 'emb.tenancyOptional': 'Tenancy (opcional)', 'emb.purge': 'Purge', 'emb.confirm': 'Confirmar', 'emb.selectTable': 'Selecione uma tabela.', 'emb.selectAdbAndFile': 'Selecione conexao ADB e arquivo.', 'emb.selectAdbAndUrl': 'Selecione conexao ADB e informe a URL.', 'emb.processing': 'Processando PDF e gerando embeddings...', 'emb.uploading': 'Enviando e gerando embeddings...', 'emb.fetchingUrl': 'Buscando conteudo e gerando embeddings...', 'emb.purging': 'Limpando embeddings...', // ── EmbConsult ── 'ec.title': 'Consultar Embeddings', 'ec.subtitle': 'Pergunte sobre os dados armazenados nas bases vetoriais', 'ec.clear': 'Limpar', 'ec.tableOptional': 'Tabela (opcional)', 'ec.allTables': 'Todas as tabelas', 'ec.emptyTitle': 'Faca uma consulta para pesquisar nos embeddings.', 'ec.emptyHint': 'Ex: "findings para CIS 1.1", "recomendacoes de networking", "como corrigir MFA"', 'ec.searching': 'Consultando bases vetoriais...', 'ec.placeholder': 'Digite sua consulta...', 'ec.submit': 'Consultar', 'ec.sources': 'Fontes consultadas', 'ec.noAnswer': 'Sem resposta do modelo.', // ── Users ── 'usr.title': 'Usuarios', 'usr.activeCount': 'ativo', 'usr.activesCount': 'ativos', 'usr.inactiveCount': 'inativo', 'usr.inactivesCount': 'inativos', 'usr.total': 'total', 'usr.newUser': 'Novo Usuario', 'usr.cancel': 'Cancelar', 'usr.createUser': 'Criar Novo Usuario', 'usr.firstName': 'Nome', 'usr.lastName': 'Sobrenome', 'usr.username': 'Usuario (login)', 'usr.email': 'Email', 'usr.password': 'Senha', 'usr.role': 'Role', 'usr.creating': 'Criando...', 'usr.create': 'Criar Usuario', 'usr.noUsers': 'Nenhum usuario cadastrado', 'usr.noUsersHint': 'Clique em "Novo Usuario" para criar o primeiro usuario.', 'usr.name': 'Nome', 'usr.mfa': 'MFA', 'usr.status': 'Status', 'usr.lastLogin': 'Ultimo Login', 'usr.actions': 'Acoes', 'usr.active': 'Ativo', 'usr.inactive': 'Inativo', 'usr.never': 'Nunca', 'usr.confirm': 'Confirmar', 'usr.deactivate': 'Desativar usuario', 'usr.created': 'Usuario criado com sucesso!', 'usr.roleUpdated': 'Role atualizada', 'usr.deactivated': 'Usuario desativado', 'usr.requiredName': 'Nome e sobrenome sao obrigatorios', 'usr.requiredUsername': 'Usuario (login) e obrigatorio', 'usr.requiredPassword': 'Senha e obrigatoria', // ── MFA ── 'mfa.title': 'Autenticacao MFA (TOTP)', 'mfa.subtitle': 'Proteja sua conta com autenticacao em dois fatores via Google Authenticator ou Authy.', 'mfa.enabled': 'MFA esta ativado', 'mfa.disabled': 'MFA esta desativado', 'mfa.enabledDesc': 'Sua conta esta protegida com autenticacao de dois fatores.', 'mfa.disabledDesc': 'Ative o MFA para adicionar uma camada extra de seguranca.', 'mfa.disableHint': 'Para desativar o MFA, clique no botao abaixo. Isso reduzira a seguranca da sua conta.', 'mfa.disableBtn': 'Desativar MFA', 'mfa.confirmDisable': 'Deseja realmente desativar o MFA da sua conta?', 'mfa.scanQr': 'Escaneie o QR Code ou copie o secret', 'mfa.openApp': 'Abra seu app autenticador (Google Authenticator, Authy, etc.)', 'mfa.enterCode': 'Insira o codigo gerado pelo app', 'mfa.activateMfa': 'Ativar MFA', 'mfa.generateSecret': 'Gerar Secret', 'mfa.generateHint': 'Clique no botao abaixo para gerar um secret TOTP. Voce precisara de um app autenticador para escanear o QR Code.', 'mfa.activated': 'MFA ativado com sucesso!', 'mfa.deactivated': 'MFA desativado.', 'mfa.invalidCode': 'Informe um codigo de 6 digitos', 'mfa.configure': 'Configurar', // ── Audit ── 'audit.title': 'Log de Auditoria', 'audit.subtitle': 'Monitoramento de atividades do sistema, configuracoes e sessoes de chat.', 'audit.tabAudit': 'Audit Log', 'audit.tabConfig': 'Config Logs', 'audit.tabChat': 'Chat Logs', 'audit.records': 'registros', 'audit.refresh': 'Atualizar', 'audit.all': 'Todos', 'audit.errors': 'Erros', 'audit.success': 'Sucesso', 'audit.info': 'Info', 'audit.loadingLogs': 'Carregando logs...', 'audit.noAudit': 'Nenhum registro de auditoria.', 'audit.noConfig': 'Nenhum log de configuracao registrado.', 'audit.noChat': 'Nenhum log de chat registrado.', 'audit.date': 'Data', 'audit.user': 'Usuario', 'audit.action': 'Acao', 'audit.resource': 'Recurso', 'audit.details': 'Detalhes', 'audit.ip': 'IP', 'audit.config': 'Config', 'audit.status': 'Status', 'audit.message': 'Mensagem', 'audit.session': 'Sessao', 'audit.source': 'Origem', // ── Hardcoded fixes ── 'common.errorPrefix': 'Erro: ', 'common.errorSave': 'Erro ao salvar', 'common.errorDelete': 'Erro ao excluir', 'common.errorUnknown': 'Erro desconhecido', 'common.errorLoad': 'Erro ao carregar', 'oci.tableHeaders': 'Tenancy,Tipo,Region,Detalhes,Acoes', 'oci.thTenancy': 'Tenancy', 'oci.thType': 'Tipo', 'oci.thRegion': 'Region', 'oci.thDetails': 'Detalhes', 'oci.thActions': 'Acoes', 'genai.thConfig': 'Config', 'genai.thModel': 'Modelo', 'genai.thOciConfig': 'OCI Config', 'genai.thRegion': 'Regiao', 'genai.thActions': 'Acoes', 'genai.savedSuccess': 'Modelo salvo com sucesso!', 'genai.updatedSuccess': 'Modelo atualizado com sucesso!', 'genai.deletedSuccess': 'Modelo excluido com sucesso!', 'genai.editingLabel': 'Editando:', 'genai.regionFilled': 'Regiao e Compartment preenchidos de {0}', 'mcp.savedSuccess': 'Server registrado com sucesso!', 'mcp.updatedSuccess': 'Server atualizado com sucesso!', 'mcp.deletingServer': 'Excluindo server...', 'mcp.deletedSuccess': 'Server excluido com sucesso!', 'mcp.discoveredTools': '{0} tool(s) descoberta(s), {1} total', 'mcp.errorDiscoverTools': 'Erro ao descobrir tools', 'mcp.removeToolConfirm': 'Remover tool "{0}"?', 'mcp.editingLabel': 'Editando:', 'adb.thName': 'Nome', 'adb.thDsn': 'DSN', 'adb.thUser': 'User', 'adb.thTables': 'Tabelas', 'adb.thMtls': 'mTLS', 'adb.thWallet': 'Wallet', 'adb.thEmbed': 'Embed', 'adb.thActions': 'Acoes', 'adb.thTable': 'Tabela', 'adb.thDescription': 'Descricao', 'adb.thActive': 'Ativa', 'adb.thTableActions': 'Acoes', 'adb.walletParsed': 'Wallet analisado! {0} DSN(s): {1}. Arquivos: {2}', 'adb.savedSuccess': 'Conexao salva!', 'adb.updatedSuccess': 'Conexao atualizada!', 'adb.walletIncluded': ' Wallet incluido.', 'adb.deletedSuccess': 'Conexao excluida com sucesso!', 'adb.walletSending': 'Enviando wallet...', 'adb.walletSent': 'Wallet enviada! Arquivos: {0}', 'adb.enterTableName': 'Digite o nome da tabela.', 'adb.tableRegistered': 'Tabela {0} registrada!', 'adb.confirmRemoveTable': 'Excluir esta tabela do registro?', 'adb.tableRemoved': 'Tabela removida.', 'adb.editingLabel': 'Editando:', 'emb.errorLoadEmb': 'Erro ao carregar embeddings', 'emb.confirmDeleteEmb': 'Excluir este embedding?', 'emb.totalDocs': 'Total: {0} documentos', 'ec.errorPrefix': 'Erro: ', 'ec.errorUnknown': 'Erro desconhecido', 'ec.docs': 'documentos', 'usr.errorLoadUsers': 'Erro ao carregar usuarios', 'usr.errorCreateUser': 'Erro ao criar usuario', 'usr.errorUpdateRole': 'Erro ao atualizar role', 'usr.errorDeactivate': 'Erro ao desativar usuario', 'usr.mfaSelfOnly': 'MFA so pode ser ativado pelo proprio usuario.', 'usr.myTimezone': 'Meu Timezone', 'ws.typeDestroyLabel': 'Digite DESTROY para confirmar:', 'exp.tempAccess': 'Acesso temporario - ', 'exp.optional': 'Opcional', 'exp.ipPrompt': 'IP para liberar acesso (CIDR):', 'exp.nsgType': 'Tipo', // ── Common ── 'common.save': 'Salvar', 'common.cancel': 'Cancelar', 'common.delete': 'Excluir', 'common.edit': 'Editar', 'common.create': 'Criar', 'common.update': 'Atualizar', 'common.close': 'Fechar', 'common.confirm': 'Confirmar', 'common.back': 'Voltar', 'common.search': 'Buscar', 'common.refresh': 'Atualizar', 'common.download': 'Download', 'common.upload': 'Upload', 'common.copy': 'Copiar', 'common.retry': 'Tentar novamente', 'common.send': 'Enviar', 'common.clear': 'Limpar', 'common.test': 'Testar', 'common.yes': 'Sim', 'common.no': 'Nao', 'common.loading': 'Carregando...', 'common.saving': 'Salvando...', 'common.select': 'Selecione...', 'common.noData': 'Nenhum dado encontrado', 'common.error': 'Erro', 'common.success': 'Sucesso', // ── My Settings ── 'settings.title': 'Minhas Configurações', 'settings.timezone': 'Timezone', 'settings.tzDesc': 'Define o fuso horário para exibição de datas e horários.', 'settings.tzChanged': 'Timezone alterado com sucesso', 'settings.language': 'Idioma', 'settings.langDesc': 'Selecione o idioma da interface.', 'settings.changePassword': 'Alterar Senha', 'settings.currentPw': 'Senha Atual', 'settings.newPw': 'Nova Senha', 'settings.confirmPw': 'Confirmar Nova Senha', 'settings.savePw': 'Alterar Senha', 'settings.saving': 'Salvando...', 'settings.pwChanged': 'Senha alterada com sucesso', 'settings.pwRequired': 'Preencha todos os campos', 'settings.pwMismatch': 'As senhas não conferem', 'settings.pwMinLength': 'A nova senha deve ter pelo menos 8 caracteres', 'settings.federatedInfo': 'Senha e MFA são gerenciados pelo Oracle IAM Identity Domain. Configure diretamente no portal OCI.', 'settings.mfa': 'Autenticação Multi-Fator (MFA)', // ── Terminal ── 'term.title': 'OCI CLI Terminal', 'term.subtitle': 'Execute comandos OCI CLI diretamente no navegador', 'term.config': 'Configuração', 'term.selectConfig': 'Selecione uma configuração OCI', 'term.welcome': 'Digite comandos OCI CLI. Ex: oci iam user list --compartment-id ', 'term.clearHint': 'para limpar', 'term.historyHint': 'para navegar no histórico', 'term.executing': 'Executando...', 'term.noOutput': 'Comando executado sem output', // ── Oracle IAM ── 'iam.title': 'Oracle IAM Identity Domains', 'iam.subtitle': 'Integração OIDC para autenticação corporativa', 'iam.authMode': 'Modo de Autenticação', 'iam.authModeDesc': 'Define como os usuários se autenticam no sistema.', 'iam.modeLocal': 'Local', 'iam.modeLocalDesc': 'Usuários locais com senha', 'iam.modeOidc': 'Oracle IAM', 'iam.modeOidcDesc': 'Somente SSO corporativo', 'iam.modeBoth': 'Ambos', 'iam.modeBothDesc': 'Local + Oracle IAM', 'iam.oidcConfig': 'Configuração OIDC', 'iam.testConnection': 'Testar Conexão', 'iam.issuerUrl': 'Issuer URL (Identity Domain)', 'iam.clientId': 'Client ID', 'iam.clientSecret': 'Client Secret', 'iam.redirectUri': 'Redirect URI', 'iam.groupMapping': 'Mapeamento de Grupos', 'iam.groupMappingDesc': 'Mapeie os grupos do OCI Identity Domain para as roles do sistema.', 'iam.save': 'Salvar Configuração', 'iam.saving': 'Salvando...', 'iam.saved': 'Configuração salva com sucesso', 'iam.issuerRequired': 'Issuer URL é obrigatório', 'iam.testOk': 'Conexão OK', 'iam.testInvalid': 'Resposta inválida do discovery endpoint', 'iam.testFail': 'Falha na conexão', }; export default pt;