feat(i18n): add Brazilian and European Portuguese locales

Add pt-br and pt-pt as separate locales to cover both Portuguese variants
(~260M speakers combined). Replaces the orphan generic 'pt' entry in
languages.json that had no matching translation file.

- locales/pt-br.json: Brazilian Portuguese (633 strings)
- locales/pt-pt.json: European Portuguese with PT vocabulary
  (ficheiros, utilizador, rondas, inquérito, factos) and infinitive
  constructions ("A carregar", "A gerar")
- locales/languages.json: register pt-br and pt-pt with localized labels
  and llmInstruction values for backend prompts
This commit is contained in:
Pedro Renan 2026-04-25 15:57:10 +01:00
parent fa0f6519b1
commit bdc0fe82f1
3 changed files with 1337 additions and 3 deletions

View File

@ -15,9 +15,13 @@
"label": "Français",
"llmInstruction": "Veuillez répondre en français."
},
"pt": {
"label": "Português",
"llmInstruction": "Por favor, responda em português."
"pt-br": {
"label": "Português (Brasil)",
"llmInstruction": "Por favor, responda em português do Brasil."
},
"pt-pt": {
"label": "Português (Portugal)",
"llmInstruction": "Por favor, responda em português de Portugal."
},
"ru": {
"label": "Русский",

665
locales/pt-br.json Normal file
View File

@ -0,0 +1,665 @@
{
"common": {
"confirm": "Confirmar",
"cancel": "Cancelar",
"loading": "Carregando...",
"error": "Erro",
"success": "Sucesso",
"completed": "Concluído",
"processing": "Gerando",
"pending": "Pendente",
"ready": "Pronto",
"running": "Executando",
"failed": "Falhou",
"unknown": "Desconhecido",
"unknownError": "Erro desconhecido",
"none": "Nenhum",
"close": "Fechar",
"back": "Voltar",
"next": "Próximo",
"retry": "Tentar novamente",
"noData": "Nenhum dado disponível",
"hours": "horas",
"minutes": "minutos",
"rounds": "rodadas",
"items": "itens",
"files": "arquivos"
},
"meta": {
"title": "MiroFish - Preveja Tudo",
"description": "MiroFish - Sistema de Simulação de Opinião em Redes Sociais"
},
"nav": {
"visitGithub": "Visite nossa página no Github"
},
"home": {
"tagline": "Motor Conciso e Universal de Inteligência de Enxame",
"version": "/ v0.1-Preview",
"heroTitle1": "Envie Relatórios,",
"heroTitle2": "Preveja o Futuro",
"heroDesc": "A partir de um único documento, o {brand} extrai sementes de realidade para gerar automaticamente um mundo paralelo com até {agentScale}. Injete variáveis com uma visão divina para encontrar o {optimalSolution} em dinâmicas de grupo complexas.",
"heroDescBrand": "MiroFish",
"heroDescAgentScale": "milhões de Agentes",
"heroDescOptimalSolution": "\"ótimo local\"",
"slogan": "Deixe os Agentes ensaiarem o futuro, deixe as decisões prevalecerem",
"systemStatus": "Status do Sistema",
"systemReady": "Pronto",
"systemReadyDesc": "Motor de predição em espera. Envie dados não estruturados para inicializar uma sequência de simulação.",
"metricLowCost": "Baixo Custo",
"metricLowCostDesc": "Média de US$ 5/simulação",
"metricHighAvail": "Escalável",
"metricHighAvailDesc": "Milhões de Agentes",
"workflowSequence": "Fluxo de Trabalho",
"step01Title": "Construção do Grafo",
"step01Desc": "Extração de sementes, injeção de memória e construção de GraphRAG",
"step02Title": "Configuração do Ambiente",
"step02Desc": "Extração de entidades, geração de personas e injeção de configuração de Agentes",
"step03Title": "Simulação",
"step03Desc": "Simulação paralela em duas plataformas, análise automática de requisitos e memória temporal",
"step04Title": "Relatório",
"step04Desc": "O ReportAgent interage com o ambiente pós-simulação por meio de ferramentas avançadas",
"step05Title": "Interação",
"step05Desc": "Converse com qualquer indivíduo simulado e dialogue com o ReportAgent",
"realitySeed": "01 / Semente da Realidade",
"supportedFormats": "Formatos: PDF, MD, TXT",
"dragToUpload": "Arraste arquivos para enviar",
"orBrowse": "ou clique para navegar pelos arquivos",
"inputParams": "Parâmetros de Entrada",
"simulationPrompt": ">_ 02 / Prompt de Simulação",
"promptPlaceholder": "// Descreva seu requisito de simulação ou predição em linguagem natural",
"engineBadge": "Motor: MiroFish-V1.0",
"startEngine": "Iniciar Motor",
"initializing": "Inicializando..."
},
"main": {
"layoutGraph": "Grafo",
"layoutSplit": "Dividido",
"layoutWorkbench": "Bancada",
"stepNames": ["Construção do Grafo", "Configuração do Ambiente", "Executar Simulação", "Geração do Relatório", "Interação Profunda"]
},
"step1": {
"ontologyGeneration": "Geração de Ontologia",
"ontologyCompleted": "Concluído",
"ontologyGenerating": "Gerando",
"ontologyPending": "Pendente",
"ontologyDesc": "O LLM analisa o conteúdo do documento e os requisitos da simulação, extrai sementes de realidade e gera automaticamente uma estrutura de ontologia adequada",
"analyzingDocs": "Analisando documentos...",
"graphRagBuild": "Construção do GraphRAG",
"graphRagDesc": "Com base na ontologia gerada, os documentos são automaticamente divididos em chunks e enviados ao Zep para construir um grafo de conhecimento, extraindo entidades e relações, formando memória temporal e resumos de comunidades",
"entityNodes": "Nós de Entidade",
"relationEdges": "Arestas de Relação",
"schemaTypes": "Tipos de Schema",
"buildComplete": "Construção Concluída",
"buildCompleteDesc": "A construção do grafo foi concluída. Avance para a próxima etapa para configurar o ambiente de simulação.",
"inProgress": "Em Andamento",
"creating": "Criando...",
"enterEnvSetup": "Entrar na Configuração do Ambiente",
"createSimulationFailed": "Falha ao criar simulação: {error}",
"createSimulationException": "Erro na criação da simulação: {error}"
},
"step2": {
"simInstanceInit": "Inicialização da Instância de Simulação",
"simInstanceDesc": "Cria uma nova instância de simulação e carrega modelos de parâmetros do mundo",
"asyncTaskDone": "Tarefa assíncrona concluída",
"generateAgentPersona": "Gerar Personas de Agentes",
"generateAgentPersonaDesc": "Combina o contexto para extrair automaticamente entidades e relações do grafo de conhecimento, inicializa indivíduos simulados e atribui comportamentos e memórias únicos com base nas sementes de realidade",
"currentAgentCount": "Agentes Atuais",
"expectedAgentTotal": "Total Esperado de Agentes",
"relatedTopicsCount": "Tópicos Relacionados à Semente de Realidade",
"generatedAgentPersonas": "Personas de Agentes Geradas",
"unknownProfession": "Profissão desconhecida",
"noBio": "Nenhuma biografia disponível",
"dualPlatformConfig": "Gerar Configuração Dupla de Plataforma",
"dualPlatformConfigDesc": "O LLM define de forma inteligente o fluxo de tempo do mundo, algoritmos de recomendação, horários ativos de cada indivíduo, frequência de postagens, gatilhos de eventos e muito mais, com base nos requisitos e nas sementes de realidade",
"simulationDuration": "Duração da Simulação",
"roundDuration": "Duração da Rodada",
"totalRounds": "Total de Rodadas",
"activePerHour": "Ativos por Hora",
"peakHours": "Horários de Pico",
"workHours": "Horário de Trabalho",
"morningHours": "Horário Matinal",
"offPeakHours": "Horários Fora de Pico",
"agentConfig": "Configuração do Agente",
"activeTimePeriod": "Horários Ativos",
"postsPerHour": "Posts/h",
"commentsPerHour": "Comentários/h",
"responseDelay": "Atraso de Resposta",
"activityLevel": "Nível de Atividade",
"sentimentBias": "Viés de Sentimento",
"influenceWeight": "Influência",
"recommendAlgoConfig": "Configuração do Algoritmo de Recomendação",
"platform1Name": "Plataforma 1: Praça / Feed",
"platform2Name": "Plataforma 2: Tópico / Comunidade",
"recencyWeight": "Peso de Recência",
"popularityWeight": "Peso de Popularidade",
"relevanceWeight": "Peso de Relevância",
"viralThreshold": "Limiar de Viralização",
"echoChamberStrength": "Força da Câmara de Eco",
"llmConfigReasoning": "Raciocínio de Configuração do LLM",
"initialActivation": "Orquestração da Ativação Inicial",
"initialActivationDesc": "Gera automaticamente eventos de ativação inicial e tópicos em alta com base na direção narrativa para guiar o estado inicial do mundo da simulação",
"orchestrating": "Orquestrando",
"narrativeDirection": "Direção Narrativa",
"initialHotTopics": "Tópicos Iniciais em Alta",
"initialActivationSeq": "Sequência de Ativação Inicial ({count})",
"setupComplete": "Configuração Concluída",
"setupCompleteDesc": "O ambiente de simulação está pronto. Agora você pode iniciar a simulação.",
"roundsConfig": "Configuração de Rodadas da Simulação",
"roundsConfigDesc": "O MiroFish planeja automaticamente simular {hours} horas do mundo real, com cada rodada representando {minutesPerRound} minutos de tempo decorrido",
"customToggle": "Personalizado",
"roundsUnit": "rodadas",
"estimatedDuration": "Para 100 Agentes: estimativa de ~{minutes} minutos",
"estimatedDurationFull": "Para 100 Agentes: estimativa de {minutes} minutos",
"recommendedRounds": "{rounds} (recomendado)",
"customTip": "Para primeiras execuções, recomendamos fortemente alternar para o 'Modo Personalizado' e reduzir as rodadas para uma visualização rápida e menor risco de erros",
"backToGraphBuild": "Voltar à Construção do Grafo",
"startDualWorldSim": "Iniciar Simulação Paralela em Dois Mundos",
"profileModalAge": "Idade Aparente",
"profileModalGender": "Gênero Aparente",
"profileModalCountry": "País/Região",
"profileModalMbti": "MBTI Aparente",
"profileModalBio": "Biografia da Persona",
"profileModalTopics": "Tópicos Relacionados à Semente de Realidade",
"profileModalPersona": "Histórico Detalhado da Persona",
"personaDimExperience": "Experiência Completa do Evento",
"personaDimExperienceDesc": "Trajetória comportamental completa neste evento",
"personaDimBehavior": "Perfil Comportamental",
"personaDimBehaviorDesc": "Resumo de experiências e preferências comportamentais",
"personaDimMemory": "Impressão de Memória Única",
"personaDimMemoryDesc": "Memórias formadas a partir de sementes de realidade",
"personaDimSocial": "Rede Social",
"personaDimSocialDesc": "Conexões individuais e grafo de interação",
"genderMale": "Masculino",
"genderFemale": "Feminino",
"genderOther": "Outro",
"yearsOld": "anos",
"initializing": "Inicializando",
"generating": "Gerando"
},
"step3": {
"startGenerateReport": "Gerar Relatório",
"generatingReport": "Iniciando...",
"waitingForActions": "Aguardando ações dos agentes...",
"errorMissingSimId": "Erro: simulationId ausente",
"startingDualSim": "Iniciando simulação paralela em duas plataformas...",
"graphMemoryUpdateEnabled": "Atualização dinâmica de memória do grafo habilitada",
"setMaxRounds": "Máximo de rodadas de simulação definido em: {rounds}",
"oldSimCleared": "Logs antigos de simulação limpos, reiniciando simulação",
"engineStarted": "Motor de simulação iniciado com sucesso",
"startFailed": "Falha ao iniciar: {error}",
"startException": "Erro ao iniciar: {error}",
"stoppingSim": "Parando simulação...",
"simStopped": "Simulação parada",
"stopFailed": "Falha ao parar: {error}",
"stopException": "Erro ao parar: {error}",
"allPlatformsCompleted": "Todas as simulações de plataforma foram encerradas",
"simCompleted": "Simulação concluída",
"graphRealtimeRefresh": "Atualização em tempo real do grafo habilitada (30s)",
"graphRefreshStopped": "Atualização em tempo real do grafo interrompida",
"preparingGoBack": "Preparando retorno à Etapa 2, encerrando simulação...",
"closingSimEnv": "Encerrando ambiente de simulação...",
"simEnvClosed": "Ambiente de simulação encerrado",
"closeFailed": "Falha ao encerrar o ambiente de simulação, tentando parada forçada...",
"stoppingProcess": "Parando processo de simulação...",
"checkStatusFailed": "Falha ao verificar status da simulação: {error}",
"forceStopSuccess": "Simulação parada à força",
"forceStopFailed": "Parada forçada falhou: {error}",
"startGenerateReportBtn": "Gerar Relatório",
"generatingReportBtn": "Iniciando..."
},
"step4": {
"generatingSection": "Gerando {title}...",
"goToInteraction": "Entrar na Interação Profunda",
"waitingForReportAgent": "Aguardando o Report Agent...",
"collapse": "Recolher ▲",
"expandAll": "Mostrar todos os {count} ▼",
"expandAllEntities": "Mostrar todas as {count} ▼",
"scenarioLabel": "Cenário: ",
"tabKeyFacts": "Fatos Principais ({count})",
"tabCoreEntities": "Entidades Centrais ({count})",
"tabRelationChains": "Cadeias de Relação ({count})",
"tabSubQueries": "Subconsultas ({count})",
"panelKeyFacts": "Fatos principais mais recentes da memória temporal",
"totalCount": "{count} no total",
"totalEntityCount": "{count} no total",
"panelCoreEntities": "Entidades Centrais",
"factCount": "{count} fatos",
"panelRelationChains": "Cadeias de Relação",
"panelSubQueries": "Subperguntas de análise de consulta de desvio",
"emptyKeyFacts": "Nenhum fato principal disponível",
"emptyCoreEntities": "Nenhuma entidade central disponível",
"emptyRelationChains": "Nenhuma cadeia de relação disponível",
"tabActiveFacts": "Fatos Ativos ({count})",
"tabHistoricalFacts": "Fatos Históricos ({count})",
"tabEntities": "Entidades ({count})",
"panelActiveFacts": "Fatos Ativos",
"emptyActiveFacts": "Nenhum fato ativo disponível",
"panelHistoricalFacts": "Fatos Históricos",
"emptyHistoricalFacts": "Nenhum fato histórico disponível",
"panelEntities": "Entidades",
"emptyEntities": "Nenhuma entidade disponível",
"searchLabel": "Buscar: ",
"tabFacts": "Fatos ({count})",
"tabEdges": "Arestas ({count})",
"tabNodes": "Nós ({count})",
"panelSearchResults": "Resultados da Busca",
"emptySearchResults": "Nenhum resultado encontrado",
"panelRelatedEdges": "Arestas Relacionadas",
"panelRelatedNodes": "Nós Relacionados",
"world1": "Mundo 1",
"world2": "Mundo 2"
},
"step5": {
"interactiveTools": "Ferramentas Interativas",
"agentsAvailable": "{count} agentes disponíveis",
"chatWithReportAgent": "Conversar com o Report Agent",
"chatWithAgent": "Converse com qualquer indivíduo do mundo",
"selectChatTarget": "Selecionar alvo da conversa",
"sendSurvey": "Enviar pesquisa ao mundo",
"reportAgentChat": "Report Agent - Conversa",
"reportAgentDesc": "Uma versão conversacional do agente gerador de relatórios com acesso a 4 ferramentas profissionais e à memória completa do MiroFish",
"toolInsightForge": "InsightForge - Atribuição Profunda",
"toolInsightForgeDesc": "Alinha dados reais das sementes com o estado da simulação, combinando Memória Global/Local para análise de atribuição profunda entre períodos temporais",
"toolPanoramaSearch": "PanoramaSearch - Rastreamento Completo",
"toolPanoramaSearchDesc": "Algoritmo de busca em largura (BFS) baseado em grafo que reconstrói caminhos de propagação de eventos, capturando a topologia completa do fluxo de informação",
"toolQuickSearch": "QuickSearch - Recuperação Rápida",
"toolQuickSearchDesc": "Interface de consulta instantânea baseada em GraphRAG com indexação otimizada para extração rápida de atributos de nós e fatos discretos",
"toolInterviewSubAgent": "InterviewSubAgent - Entrevista Virtual",
"toolInterviewSubAgentDesc": "Entrevistas autônomas que conduzem diálogos paralelos em múltiplas rodadas com indivíduos simulados, coletando dados de opinião não estruturados e estados psicológicos",
"profileBio": "Biografia",
"chatEmptyReportAgent": "Converse com o Report Agent para explorar o conteúdo do relatório em profundidade",
"chatEmptyAgent": "Converse com indivíduos simulados para entender suas perspectivas",
"chatInputPlaceholder": "Digite sua pergunta...",
"selectSurveyTarget": "Selecionar alvos da pesquisa",
"selectedCount": "Selecionados {selected} / {total}",
"surveyQuestions": "Perguntas da Pesquisa",
"surveyInputPlaceholder": "Digite a pergunta que deseja fazer a todos os alvos selecionados...",
"submitSurvey": "Enviar Pesquisa",
"surveyResults": "Resultados da Pesquisa",
"surveyResultsCount": "{count} respostas",
"selectAll": "Selecionar Tudo",
"clearSelection": "Limpar",
"errorOccurred": "Desculpe, ocorreu um erro: {error}",
"noResponse": "Sem resposta",
"requestFailed": "Requisição falhou",
"selectAgentFirst": "Por favor, selecione um indivíduo simulado primeiro"
},
"graph": {
"panelTitle": "Visualização de Relacionamentos do Grafo",
"refreshGraph": "Atualizar Grafo",
"graphMemoryRealtime": "Memória de curto/longo prazo do GraphRAG atualizando em tempo real",
"realtimeUpdating": "Atualizando em tempo real...",
"pendingContentHint": "Parte do conteúdo ainda está sendo processada. Considere atualizar o grafo manualmente mais tarde.",
"nodeDetails": "Detalhes do Nó",
"relationship": "Relacionamento",
"graphDataLoading": "Carregando dados do grafo...",
"waitingOntology": "Aguardando geração da ontologia...",
"toggleMaximize": "Maximizar/Restaurar",
"closeHint": "Fechar dica"
},
"history": {
"title": "Histórico de Simulações",
"graphBuild": "Construção do Grafo",
"envSetup": "Configuração do Ambiente",
"analysisReport": "Relatório de Análise",
"moreFiles": "+{count} arquivos",
"noFiles": "Sem arquivos",
"loadingText": "Carregando...",
"simRequirement": "Requisito da Simulação",
"relatedFiles": "Arquivos Relacionados",
"noRelatedFiles": "Nenhum arquivo relacionado",
"replayTitle": "Replay da Simulação",
"step1Button": "Construção do Grafo",
"step2Button": "Configuração do Ambiente",
"step4Button": "Relatório de Análise",
"replayHint": "A Etapa 3 'Executar Simulação' e a Etapa 5 'Interação Profunda' devem ser iniciadas em tempo de execução e não oferecem suporte a replay de histórico",
"notStarted": "Não iniciado",
"roundsProgress": "{current}/{total} rodadas",
"untitledSimulation": "Simulação sem título",
"unknownFile": "Arquivo desconhecido"
},
"api": {
"projectNotFound": "Projeto não encontrado: {id}",
"projectDeleteFailed": "Projeto não encontrado ou falha na exclusão: {id}",
"projectDeleted": "Projeto excluído: {id}",
"projectReset": "Projeto redefinido: {id}",
"requireSimulationRequirement": "Por favor, forneça um requisito de simulação (simulation_requirement)",
"requireFileUpload": "Por favor, envie ao menos um arquivo de documento",
"noDocProcessed": "Nenhum documento foi processado com sucesso. Verifique os formatos dos arquivos.",
"requireProjectId": "Por favor, forneça project_id",
"configError": "Erro de configuração: {details}",
"zepApiKeyMissing": "ZEP_API_KEY não configurada",
"ontologyNotGenerated": "Ontologia ainda não gerada. Chame /ontology/generate primeiro.",
"graphBuilding": "Construção do grafo em andamento. Não reenvie. Para forçar reconstrução, adicione force: true.",
"textNotFound": "Conteúdo de texto extraído não encontrado",
"ontologyNotFound": "Definição da ontologia não encontrada",
"graphBuildStarted": "Tarefa de construção do grafo iniciada. Consulte o progresso em /task/{taskId}.",
"graphBuildComplete": "Construção do grafo concluída",
"buildFailed": "Falha na construção: {error}",
"taskNotFound": "Tarefa não encontrada: {id}",
"graphDeleted": "Grafo excluído: {id}",
"entityNotFound": "Entidade não encontrada: {id}",
"graphNotBuilt": "Grafo ainda não construído. Chame /api/graph/build primeiro.",
"requireSimulationId": "Por favor, forneça simulation_id",
"simulationNotFound": "Simulação não encontrada: {id}",
"projectMissingRequirement": "O projeto não possui requisito de simulação (simulation_requirement)",
"prepareStarted": "Tarefa de preparação iniciada. Consulte o progresso em /api/simulation/prepare/status.",
"alreadyPrepared": "Preparação já concluída. Não é necessário regenerar.",
"notStartedPrepare": "Preparação não iniciada. Chame /api/simulation/prepare.",
"taskCompletedPrepared": "Tarefa concluída (preparação já existente)",
"requireTaskOrSimId": "Por favor, forneça task_id ou simulation_id",
"configNotFound": "Configuração da simulação não encontrada. Chame /prepare primeiro.",
"configFileNotFound": "Arquivo de configuração não encontrado. Chame /prepare primeiro.",
"unknownScript": "Script desconhecido: {name}. Disponíveis: {allowed}",
"scriptFileNotFound": "Arquivo de script não encontrado: {name}",
"requireGraphId": "Por favor, forneça graph_id",
"noMatchingEntities": "Nenhuma entidade correspondente encontrada",
"maxRoundsPositive": "max_rounds deve ser um inteiro positivo",
"maxRoundsInvalid": "max_rounds deve ser um inteiro válido",
"invalidPlatform": "Tipo de plataforma inválido: {platform}. Opções: twitter/reddit/parallel",
"simRunningForceHint": "A simulação está em execução. Pare-a primeiro via /stop, ou use force=true para reiniciar.",
"simNotReady": "Simulação não está pronta. Status atual: {status}. Chame /prepare primeiro.",
"graphIdRequiredForMemory": "A atualização de memória do grafo requer um graph_id válido. Garanta que o grafo esteja construído.",
"dbNotExist": "O banco de dados não existe. A simulação pode ainda não ter sido executada.",
"requireMessage": "Por favor, forneça uma mensagem",
"missingGraphId": "ID do grafo ausente",
"missingGraphIdEnsure": "ID do grafo ausente. Certifique-se de que o grafo foi construído.",
"missingSimRequirement": "Descrição do requisito de simulação ausente",
"reportAlreadyExists": "Relatório já existe",
"reportGenerateStarted": "Tarefa de geração de relatório iniciada. Consulte o progresso em /api/report/generate/status.",
"reportGenerated": "Relatório gerado",
"reportNotFound": "Relatório não encontrado: {id}",
"noReportForSim": "Nenhum relatório encontrado para esta simulação: {id}",
"reportDeleted": "Relatório excluído: {id}",
"reportGenerateFailed": "Geração de relatório falhou",
"sectionNotFound": "Seção não encontrada: section_{index}.md",
"reportProgressNotAvail": "Relatório não encontrado ou progresso indisponível: {id}",
"requireAgentId": "Por favor, forneça agent_id",
"requirePrompt": "Por favor, forneça um prompt (pergunta da entrevista)",
"invalidInterviewPlatform": "A plataforma deve ser 'twitter' ou 'reddit'",
"envNotRunning": "Ambiente de simulação não está em execução ou foi encerrado. Garanta que a simulação esteja concluída e em modo de espera por comando.",
"interviewTimeout": "Tempo esgotado para resposta da entrevista: {error}",
"requireInterviews": "Por favor, forneça interviews (lista de entrevistas)",
"interviewListMissingAgentId": "Item {index} da lista de entrevistas sem agent_id",
"interviewListMissingPrompt": "Item {index} da lista de entrevistas sem prompt",
"interviewListInvalidPlatform": "A plataforma do item {index} da lista de entrevistas deve ser 'twitter' ou 'reddit'",
"batchInterviewTimeout": "Tempo esgotado para resposta em lote de entrevistas: {error}",
"globalInterviewTimeout": "Tempo esgotado para resposta global de entrevistas: {error}",
"envRunning": "Ambiente em execução e pronto para comandos de Entrevista",
"envNotRunningShort": "Ambiente não está em execução ou foi encerrado",
"requireGraphIdAndQuery": "Por favor, forneça graph_id e query",
"initReportAgent": "Inicializando o Report Agent..."
},
"progress": {
"initGraphService": "Inicializando serviço de construção do grafo...",
"textChunking": "Dividindo texto em chunks...",
"creatingZepGraph": "Criando grafo no Zep...",
"settingOntology": "Definindo a ontologia...",
"addingChunks": "Adicionando {count} chunks de texto...",
"waitingZepProcess": "Aguardando o Zep processar os dados...",
"fetchingGraphData": "Buscando dados do grafo...",
"graphBuildComplete": "Construção do grafo concluída",
"buildFailed": "Falha na construção: {error}",
"startBuildingGraph": "Iniciando construção do grafo...",
"graphCreated": "Grafo criado: {graphId}",
"ontologySet": "Ontologia definida",
"textSplit": "Texto dividido em {count} chunks",
"fetchingGraphInfo": "Buscando informações do grafo...",
"sendingBatch": "Enviando lote {current}/{total} ({chunks} chunks)...",
"batchFailed": "Lote {batch} falhou: {error}",
"noEpisodesWait": "Nenhum episódio a aguardar",
"waitingEpisodes": "Aguardando o processamento de {count} chunks de texto...",
"episodesTimeout": "Alguns chunks atingiram o tempo limite, {completed}/{total} concluídos",
"zepProcessing": "Zep processando... {completed}/{total} concluídos, {pending} pendentes ({elapsed}s)",
"processingComplete": "Processamento concluído: {completed}/{total}",
"taskComplete": "Tarefa concluída",
"taskFailed": "Tarefa falhou",
"startPreparingEnv": "Preparando ambiente de simulação...",
"connectingZepGraph": "Conectando ao grafo do Zep...",
"readingNodeData": "Lendo dados dos nós...",
"readingComplete": "Concluído, {count} entidades encontradas",
"startGenerating": "Iniciando geração...",
"analyzingRequirements": "Analisando requisitos da simulação...",
"generatingOutline": "Gerando estrutura do relatório...",
"parsingOutline": "Analisando estrutura da estrutura...",
"outlinePlanComplete": "Planejamento da estrutura concluído",
"deepSearchAndWrite": "Busca profunda e redação ({current}/{max})",
"initReport": "Inicializando relatório...",
"startPlanningOutline": "Planejando estrutura do relatório...",
"outlineDone": "Estrutura concluída, {count} seções",
"generatingSection": "Gerando seção: {title} ({current}/{total})",
"sectionDone": "Seção {title} concluída",
"assemblingReport": "Montando relatório completo...",
"reportComplete": "Geração do relatório concluída",
"reportFailed": "Falha na geração do relatório: {error}",
"savingProfiles": "Salvando arquivos de perfil...",
"profilesComplete": "Concluído, {count} perfis gerados",
"callingLLMConfig": "Chamando o LLM para gerar configuração...",
"savingConfigFiles": "Salvando arquivos de configuração...",
"configComplete": "Geração de configuração concluída",
"generatingTimeConfig": "Gerando configuração de tempo...",
"generatingEventConfig": "Gerando configuração de eventos e tópicos em alta...",
"generatingAgentConfig": "Gerando configuração de agentes ({start}-{end}/{total})...",
"generatingPlatformConfig": "Gerando configuração de plataforma...",
"zepSearchQuery": "Todas as informações, atividades, eventos, relacionamentos e contexto sobre {name}",
"timeConfigLabel": "Configuração de Tempo",
"eventConfigLabel": "Configuração de Eventos",
"agentConfigResult": "Configuração de Agentes: {count} gerados",
"postAssignResult": "Atribuição de Posts: {count} posts atribuídos",
"profileGenerated": "[Gerado] {name} ({type})",
"readingGraphEntities": "Lendo Entidades do Grafo",
"generatingProfiles": "Gerando Perfis de Agentes",
"generatingSimConfig": "Gerando Configuração da Simulação",
"preparingScripts": "Preparando Scripts"
},
"log": {
"preparingGoBack": "Preparando retorno à Etapa 2, encerrando simulação...",
"closingSimEnv": "Encerrando ambiente de simulação...",
"simEnvClosed": "✓ Ambiente de simulação encerrado",
"closeSimEnvFailed": "Falha ao encerrar o ambiente de simulação, tentando parada forçada...",
"simForceStopSuccess": "✓ Simulação parada à força",
"forceStopFailed": "Parada forçada falhou: {error}",
"stoppingSimProcess": "Parando processo de simulação...",
"simStopped": "✓ Simulação parada",
"stopSimFailed": "Falha ao parar a simulação: {error}",
"checkStatusFailed": "Falha ao verificar status da simulação: {error}",
"enterStep4": "Entrando na Etapa 4: Geração do Relatório",
"loadingSimData": "Carregando dados da simulação: {id}",
"timeConfig": "Configuração de tempo: {minutes} minutos por rodada",
"timeConfigFetchFailed": "Falha ao buscar configuração de tempo, usando padrão: {minutes} min/rodada",
"projectLoadSuccess": "Projeto carregado: {id}",
"loadSimDataFailed": "Falha ao carregar dados da simulação: {error}",
"loadException": "Erro ao carregar: {error}",
"graphDataLoadSuccess": "Dados do grafo carregados com sucesso",
"graphLoadFailed": "Falha ao carregar o grafo: {error}",
"graphRealtimeRefreshStart": "Atualização em tempo real do grafo habilitada (30s)",
"graphRealtimeRefreshStop": "Atualização em tempo real do grafo interrompida",
"simRunViewInit": "SimulationRunView inicializado",
"customRounds": "Rodadas personalizadas de simulação: {rounds}",
"enterStep3": "Entrando na Etapa 3: Executar Simulação",
"customRoundsConfig": "Rodadas personalizadas de simulação: {rounds} rodadas",
"useAutoRounds": "Usando rodadas de simulação configuradas automaticamente",
"detectedSimEnvRunning": "Detectado ambiente de simulação em execução, encerrando...",
"closeSimEnvFailedWithError": "Falha ao encerrar ambiente de simulação: {error}",
"closeSimEnvException": "Erro no encerramento do ambiente de simulação: {error}",
"detectedSimRunning": "Detectada simulação em execução, parando...",
"forceStopSimFailed": "Parada forçada da simulação falhou: {error}",
"forceStopSimException": "Erro na parada forçada da simulação: {error}",
"simViewInit": "SimulationView inicializado",
"errorMissingSimId": "Erro: simulationId ausente",
"simInstanceCreated": "Instância de simulação criada: {id}",
"preparingSimEnv": "Preparando ambiente de simulação...",
"detectedExistingPrep": "Detectada preparação existente, usando-a diretamente",
"prepareTaskStarted": "Tarefa de preparação iniciada",
"prepareTaskId": " └─ ID da Tarefa: {taskId}",
"zepEntitiesFound": "Encontradas {count} entidades no grafo do Zep",
"entityTypes": " └─ Tipos de entidade: {types}",
"startPollingProgress": "Consultando progresso da preparação...",
"prepareFailed": "Preparação falhou: {error}",
"prepareException": "Erro na preparação: {error}",
"prepareComplete": "✓ Preparação concluída",
"prepareFailedWithError": "✗ Preparação falhou: {error}",
"startGeneratingConfig": "Gerando configuração de simulação de dupla plataforma...",
"generatingAgentProfileConfig": "Gerando configuração de personas de agentes...",
"generatingLLMConfig": "Chamando o LLM para gerar parâmetros de configuração da simulação...",
"configComplete": "✓ Configuração da simulação gerada",
"configSummaryAgents": " ├─ Agentes: {count}",
"configSummaryHours": " ├─ Duração: {hours} horas",
"configSummaryPosts": " ├─ Posts iniciais: {count}",
"configSummaryTopics": " ├─ Tópicos em alta: {count}",
"configSummaryPlatforms": " └─ Plataformas: Twitter {twitter}, Reddit {reddit}",
"timeConfigDetail": "Configuração de tempo: {minutes} min/rodada, {rounds} rodadas no total",
"narrativeDirection": "Direção narrativa: {direction}",
"envSetupComplete": "✓ Configuração do ambiente concluída, pronto para simular",
"startSimCustomRounds": "Iniciando simulação, rodadas personalizadas: {rounds}",
"startSimAutoRounds": "Iniciando simulação, rodadas configuradas automaticamente: {rounds}",
"startGeneratingAgentProfiles": "Gerando personas de agentes...",
"agentProfile": "→ Persona do agente {current}/{total}: {name} ({profession})",
"allProfilesComplete": "✓ Todas as {count} personas de agentes geradas",
"loadingExistingConfig": "Carregando dados de configuração existentes...",
"loadedAgentProfiles": "Carregadas {count} personas de agentes",
"configLoadSuccess": "✓ Configuração da simulação carregada",
"configSummaryPostsAlt": " └─ Posts iniciais: {count}",
"configGenerating": "Configuração gerando, consultando...",
"loadConfigFailed": "Falha ao carregar configuração: {error}",
"step2Init": "Configuração de ambiente da Etapa 2 inicializada",
"step3Init": "Execução de simulação da Etapa 3 inicializada",
"startingDualSim": "Iniciando simulação paralela em duas plataformas...",
"setMaxRounds": "Máximo de rodadas de simulação definido em: {rounds}",
"graphMemoryUpdateEnabled": "Atualização dinâmica de memória do grafo habilitada",
"oldSimCleared": "✓ Logs antigos de simulação limpos, reiniciando simulação",
"engineStarted": "✓ Motor de simulação iniciado com sucesso",
"startFailed": "✗ Falha ao iniciar: {error}",
"startException": "✗ Erro ao iniciar: {error}",
"stoppingSim": "Parando simulação...",
"simStoppedSuccess": "✓ Simulação parada",
"stopFailed": "Falha ao parar: {error}",
"stopException": "Erro ao parar: {error}",
"allPlatformsCompleted": "✓ Todas as simulações de plataforma foram encerradas",
"simCompleted": "✓ Simulação concluída",
"reportRequestSent": "Solicitação de geração de relatório enviada, aguarde...",
"startingReportGen": "Iniciando geração de relatório...",
"reportGenTaskStarted": "✓ Tarefa de geração de relatório iniciada: {reportId}",
"reportGenFailed": "✗ Falha ao iniciar a geração de relatório: {error}",
"reportGenException": "✗ Erro na geração de relatório: {error}",
"step5Init": "Interação profunda da Etapa 5 inicializada",
"selectChatTarget": "Alvo da conversa selecionado: {name}",
"sendFailed": "Envio falhou: {error}",
"sendToReportAgent": "Enviado ao Report Agent: {message}...",
"reportAgentReplied": "Report Agent respondeu",
"sendToAgent": "Enviado para {name}: {message}...",
"agentReplied": "{name} respondeu",
"sendSurvey": "Enviando pesquisa para {count} alvos...",
"receivedReplies": "Recebidas {count} respostas",
"surveySendFailed": "Envio da pesquisa falhou: {error}",
"loadReportData": "Carregando dados do relatório: {id}",
"loadReportFailed": "Falha ao carregar relatório: {error}",
"reportDataLoaded": "Dados do relatório carregados",
"loadReportLogFailed": "Falha ao carregar logs do relatório: {error}",
"loadedProfiles": "Carregados {count} indivíduos simulados",
"loadProfilesFailed": "Falha ao carregar indivíduos simulados: {error}",
"interactionViewInit": "InteractionView inicializado",
"reportViewInit": "ReportView inicializado",
"getReportInfoFailed": "Falha ao obter informações do relatório: {error}",
"enterStep": "Entrando na Etapa {step}: {name}",
"returnToStep": "Retornando à Etapa {step}: {name}",
"customSimRounds": "Rodadas personalizadas de simulação: {rounds} rodadas"
},
"report": {
"taskStarted": "Tarefa de geração de relatório iniciada",
"planningStart": "Iniciando planejamento da estrutura do relatório",
"fetchSimContext": "Buscando contexto da simulação",
"planningComplete": "Planejamento da estrutura concluído",
"sectionStart": "Iniciando geração da seção: {title}",
"reactThought": "ReACT rodada {iteration} pensando",
"toolCall": "Chamando ferramenta: {toolName}",
"toolResult": "Ferramenta {toolName} retornou resultado",
"llmResponse": "Resposta do LLM (chamadas de ferramenta: {hasToolCalls}, resposta final: {hasFinalAnswer})",
"sectionContentDone": "Geração de conteúdo da seção {title} concluída",
"sectionComplete": "Geração da seção {title} concluída",
"reportComplete": "Geração do relatório concluída",
"errorOccurred": "Ocorreu um erro: {error}",
"agentInitDone": "ReportAgent inicializado: graph_id={graphId}, simulation_id={simulationId}",
"executingTool": "Executando ferramenta: {toolName}, parâmetros: {params}",
"toolExecFailed": "Execução da ferramenta falhou: {toolName}, erro: {error}",
"startPlanningOutline": "Iniciando planejamento da estrutura do relatório...",
"outlinePlanDone": "Planejamento da estrutura concluído: {count} seções",
"outlinePlanFailed": "Planejamento da estrutura falhou: {error}",
"reactGenerateSection": "ReACT gerando seção: {title}",
"sectionIterNone": "Seção {title} iteração {iteration}: LLM retornou None",
"sectionConflict": "Seção {title} rodada {iteration}: LLM retornou tanto chamada de ferramenta quanto Final Answer (conflito #{conflictCount})",
"sectionConflictDowngrade": "Seção {title}: {conflictCount} conflitos consecutivos, rebaixando para truncar e executar a primeira chamada de ferramenta",
"sectionGenDone": "Geração da seção {title} concluída (chamadas de ferramenta: {count})",
"multiToolOnlyFirst": "O LLM tentou {total} chamadas de ferramenta, executando apenas a primeira: {toolName}",
"sectionNoPrefix": "Seção {title} sem prefixo 'Final Answer:', adotando saída do LLM como conteúdo final (chamadas de ferramenta: {count})",
"sectionMaxIter": "Seção {title} atingiu o máximo de iterações, forçando geração",
"sectionForceFailed": "Seção {title}: LLM retornou None ao forçar encerramento, usando mensagem de erro padrão",
"sectionGenFailedContent": "(Esta seção não pôde ser gerada: o LLM retornou resposta vazia; tente novamente mais tarde)",
"outlineSavedToFile": "Estrutura salva em arquivo: {reportId}/outline.json",
"sectionSaved": "Seção salva: {reportId}/section_{sectionNum}.md",
"reportGenDone": "Geração do relatório concluída: {reportId}",
"reportGenFailed": "Geração do relatório falhou: {error}",
"agentChat": "Conversa do Report Agent: {message}...",
"fetchReportFailed": "Falha ao buscar conteúdo do relatório: {error}",
"outlineSaved": "Estrutura salva: {reportId}",
"sectionFileSaved": "Seção salva: {reportId}/{fileSuffix}",
"fullReportAssembled": "Relatório completo montado: {reportId}",
"reportSaved": "Relatório salvo: {reportId}",
"reportFolderDeleted": "Pasta do relatório excluída: {reportId}",
"redirectToQuickSearch": "search_graph redirecionado para quick_search",
"redirectToInsightForge": "get_simulation_context redirecionado para insight_forge"
},
"console": {
"zepToolsInitialized": "ZepToolsService inicializado",
"zepRetryAttempt": "Tentativa {attempt} de {operation} no Zep falhou: {error}, tentando novamente em {delay}s...",
"zepAllRetriesFailed": "Operação {operation} no Zep falhou após {retries} tentativas: {error}",
"graphSearch": "Busca no grafo: graph_id={graphId}, query={query}...",
"graphSearchOp": "Busca no grafo (graph={graphId})",
"searchComplete": "Busca concluída: encontrados {count} fatos relevantes",
"zepSearchApiFallback": "API de busca do Zep falhou, recorrendo à busca local: {error}",
"usingLocalSearch": "Usando busca local: query={query}...",
"localSearchComplete": "Busca local concluída: encontrados {count} fatos relevantes",
"localSearchFailed": "Busca local falhou: {error}",
"fetchingAllNodes": "Buscando todos os nós do grafo {graphId}...",
"fetchedNodes": "{count} nós buscados",
"fetchingAllEdges": "Buscando todas as arestas do grafo {graphId}...",
"fetchedEdges": "{count} arestas buscadas",
"fetchingNodeDetail": "Buscando detalhes do nó: {uuid}...",
"fetchNodeDetailOp": "Buscar detalhes do nó (uuid={uuid}...)",
"fetchNodeDetailFailed": "Falha ao buscar detalhes do nó: {error}",
"fetchingNodeEdges": "Buscando arestas do nó {uuid}...",
"foundNodeEdges": "Encontradas {count} arestas relacionadas ao nó",
"fetchNodeEdgesFailed": "Falha ao buscar arestas do nó: {error}",
"fetchingEntitiesByType": "Buscando entidades do tipo {type}...",
"foundEntitiesByType": "Encontradas {count} entidades do tipo {type}",
"fetchingEntitySummary": "Buscando resumo de relacionamentos da entidade {name}...",
"fetchingGraphStats": "Buscando estatísticas do grafo {graphId}...",
"fetchingSimContext": "Buscando contexto da simulação: {requirement}...",
"insightForgeStart": "InsightForge - recuperação profunda de insights: {query}...",
"generatedSubQueries": "Geradas {count} subconsultas",
"insightForgeComplete": "InsightForge concluído: {facts} fatos, {entities} entidades, {relationships} relacionamentos",
"generateSubQueriesFailed": "Falha ao gerar subconsultas: {error}, usando padrões",
"panoramaSearchStart": "PanoramaSearch - busca ampla: {query}...",
"panoramaSearchComplete": "PanoramaSearch concluído: {active} ativos, {historical} históricos",
"quickSearchStart": "QuickSearch - busca simples: {query}...",
"quickSearchComplete": "QuickSearch concluído: {count} resultados",
"interviewAgentsStart": "InterviewAgents - entrevista profunda (API real): {requirement}...",
"profilesNotFound": "Perfis não encontrados para a simulação {simId}",
"loadedProfiles": "Carregados {count} perfis de agentes",
"selectedAgentsForInterview": "Selecionados {count} agentes para entrevista: {indices}",
"generatedInterviewQuestions": "Geradas {count} perguntas de entrevista",
"callingBatchInterviewApi": "Chamando API de entrevista em lote (plataforma dupla): {count} agentes",
"interviewApiReturned": "API de entrevista retornou: {count} resultados, success={success}",
"interviewApiReturnedFailure": "API de entrevista retornou falha: {error}",
"interviewApiCallFailed": "Chamada à API de entrevista falhou (ambiente não está em execução?): {error}",
"interviewApiCallException": "Exceção na chamada à API de entrevista: {error}",
"interviewAgentsComplete": "InterviewAgents concluído: entrevistados {count} agentes (plataforma dupla)",
"loadedRedditProfiles": "Carregados {count} perfis de reddit_profiles.json",
"readRedditProfilesFailed": "Falha ao ler reddit_profiles.json: {error}",
"loadedTwitterProfiles": "Carregados {count} perfis de twitter_profiles.csv",
"readTwitterProfilesFailed": "Falha ao ler twitter_profiles.csv: {error}",
"llmSelectAgentFailed": "Seleção de agente pelo LLM falhou, usando seleção padrão: {error}",
"generateInterviewQuestionsFailed": "Falha ao gerar perguntas de entrevista: {error}",
"generateInterviewSummaryFailed": "Falha ao gerar resumo da entrevista: {error}"
}
}

665
locales/pt-pt.json Normal file
View File

@ -0,0 +1,665 @@
{
"common": {
"confirm": "Confirmar",
"cancel": "Cancelar",
"loading": "A carregar...",
"error": "Erro",
"success": "Sucesso",
"completed": "Concluído",
"processing": "A gerar",
"pending": "Pendente",
"ready": "Pronto",
"running": "A executar",
"failed": "Falhou",
"unknown": "Desconhecido",
"unknownError": "Erro desconhecido",
"none": "Nenhum",
"close": "Fechar",
"back": "Voltar",
"next": "Seguinte",
"retry": "Tentar novamente",
"noData": "Nenhum dado disponível",
"hours": "horas",
"minutes": "minutos",
"rounds": "rondas",
"items": "itens",
"files": "ficheiros"
},
"meta": {
"title": "MiroFish - Prevê Tudo",
"description": "MiroFish - Sistema de Simulação de Opinião em Redes Sociais"
},
"nav": {
"visitGithub": "Visite a nossa página no Github"
},
"home": {
"tagline": "Motor Conciso e Universal de Inteligência de Enxame",
"version": "/ v0.1-Preview",
"heroTitle1": "Carregue Relatórios,",
"heroTitle2": "Preveja o Futuro",
"heroDesc": "A partir de um único documento, o {brand} extrai sementes de realidade para gerar automaticamente um mundo paralelo com até {agentScale}. Injete variáveis com uma visão divina para encontrar o {optimalSolution} em dinâmicas de grupo complexas.",
"heroDescBrand": "MiroFish",
"heroDescAgentScale": "milhões de Agentes",
"heroDescOptimalSolution": "\"ótimo local\"",
"slogan": "Deixe que os Agentes ensaiem o futuro, deixe que as decisões prevaleçam",
"systemStatus": "Estado do Sistema",
"systemReady": "Pronto",
"systemReadyDesc": "Motor de predição em espera. Carregue dados não estruturados para inicializar uma sequência de simulação.",
"metricLowCost": "Baixo Custo",
"metricLowCostDesc": "Média de 5 $/simulação",
"metricHighAvail": "Escalável",
"metricHighAvailDesc": "Milhões de Agentes",
"workflowSequence": "Fluxo de Trabalho",
"step01Title": "Construção do Grafo",
"step01Desc": "Extração de sementes, injeção de memória e construção de GraphRAG",
"step02Title": "Configuração do Ambiente",
"step02Desc": "Extração de entidades, geração de personas e injeção de configuração de Agentes",
"step03Title": "Simulação",
"step03Desc": "Simulação paralela em duas plataformas, análise automática de requisitos e memória temporal",
"step04Title": "Relatório",
"step04Desc": "O ReportAgent interage com o ambiente pós-simulação através de ferramentas avançadas",
"step05Title": "Interação",
"step05Desc": "Converse com qualquer indivíduo simulado e dialogue com o ReportAgent",
"realitySeed": "01 / Semente da Realidade",
"supportedFormats": "Formatos: PDF, MD, TXT",
"dragToUpload": "Arraste ficheiros para carregar",
"orBrowse": "ou clique para procurar ficheiros",
"inputParams": "Parâmetros de Entrada",
"simulationPrompt": ">_ 02 / Prompt de Simulação",
"promptPlaceholder": "// Descreva o seu requisito de simulação ou predição em linguagem natural",
"engineBadge": "Motor: MiroFish-V1.0",
"startEngine": "Iniciar Motor",
"initializing": "A inicializar..."
},
"main": {
"layoutGraph": "Grafo",
"layoutSplit": "Dividido",
"layoutWorkbench": "Bancada",
"stepNames": ["Construção do Grafo", "Configuração do Ambiente", "Executar Simulação", "Geração do Relatório", "Interação Profunda"]
},
"step1": {
"ontologyGeneration": "Geração de Ontologia",
"ontologyCompleted": "Concluído",
"ontologyGenerating": "A gerar",
"ontologyPending": "Pendente",
"ontologyDesc": "O LLM analisa o conteúdo do documento e os requisitos da simulação, extrai sementes de realidade e gera automaticamente uma estrutura de ontologia adequada",
"analyzingDocs": "A analisar documentos...",
"graphRagBuild": "Construção do GraphRAG",
"graphRagDesc": "Com base na ontologia gerada, os documentos são automaticamente divididos em chunks e enviados ao Zep para construir um grafo de conhecimento, extraindo entidades e relações, formando memória temporal e resumos de comunidades",
"entityNodes": "Nós de Entidade",
"relationEdges": "Arestas de Relação",
"schemaTypes": "Tipos de Schema",
"buildComplete": "Construção Concluída",
"buildCompleteDesc": "A construção do grafo foi concluída. Avance para o próximo passo para configurar o ambiente de simulação.",
"inProgress": "Em Curso",
"creating": "A criar...",
"enterEnvSetup": "Entrar na Configuração do Ambiente",
"createSimulationFailed": "Falha ao criar simulação: {error}",
"createSimulationException": "Erro na criação da simulação: {error}"
},
"step2": {
"simInstanceInit": "Inicialização da Instância de Simulação",
"simInstanceDesc": "Cria uma nova instância de simulação e carrega modelos de parâmetros do mundo",
"asyncTaskDone": "Tarefa assíncrona concluída",
"generateAgentPersona": "Gerar Personas de Agentes",
"generateAgentPersonaDesc": "Combina o contexto para extrair automaticamente entidades e relações do grafo de conhecimento, inicializa indivíduos simulados e atribui comportamentos e memórias únicos com base nas sementes de realidade",
"currentAgentCount": "Agentes Atuais",
"expectedAgentTotal": "Total Esperado de Agentes",
"relatedTopicsCount": "Tópicos Relacionados com a Semente de Realidade",
"generatedAgentPersonas": "Personas de Agentes Geradas",
"unknownProfession": "Profissão desconhecida",
"noBio": "Nenhuma biografia disponível",
"dualPlatformConfig": "Gerar Configuração Dupla de Plataforma",
"dualPlatformConfigDesc": "O LLM define de forma inteligente o fluxo de tempo do mundo, algoritmos de recomendação, horários ativos de cada indivíduo, frequência de publicações, desencadeadores de eventos e muito mais, com base nos requisitos e nas sementes de realidade",
"simulationDuration": "Duração da Simulação",
"roundDuration": "Duração da Ronda",
"totalRounds": "Total de Rondas",
"activePerHour": "Ativos por Hora",
"peakHours": "Horários de Pico",
"workHours": "Horário de Trabalho",
"morningHours": "Horário Matinal",
"offPeakHours": "Horários Fora do Pico",
"agentConfig": "Configuração do Agente",
"activeTimePeriod": "Horários Ativos",
"postsPerHour": "Publicações/h",
"commentsPerHour": "Comentários/h",
"responseDelay": "Atraso de Resposta",
"activityLevel": "Nível de Atividade",
"sentimentBias": "Viés de Sentimento",
"influenceWeight": "Influência",
"recommendAlgoConfig": "Configuração do Algoritmo de Recomendação",
"platform1Name": "Plataforma 1: Praça / Feed",
"platform2Name": "Plataforma 2: Tópico / Comunidade",
"recencyWeight": "Peso de Recência",
"popularityWeight": "Peso de Popularidade",
"relevanceWeight": "Peso de Relevância",
"viralThreshold": "Limiar de Viralização",
"echoChamberStrength": "Força da Câmara de Eco",
"llmConfigReasoning": "Raciocínio de Configuração do LLM",
"initialActivation": "Orquestração da Ativação Inicial",
"initialActivationDesc": "Gera automaticamente eventos de ativação inicial e tópicos em destaque com base na direção narrativa para orientar o estado inicial do mundo da simulação",
"orchestrating": "A orquestrar",
"narrativeDirection": "Direção Narrativa",
"initialHotTopics": "Tópicos Iniciais em Destaque",
"initialActivationSeq": "Sequência de Ativação Inicial ({count})",
"setupComplete": "Configuração Concluída",
"setupCompleteDesc": "O ambiente de simulação está pronto. Agora pode iniciar a simulação.",
"roundsConfig": "Configuração de Rondas da Simulação",
"roundsConfigDesc": "O MiroFish planeia automaticamente simular {hours} horas do mundo real, com cada ronda a representar {minutesPerRound} minutos de tempo decorrido",
"customToggle": "Personalizado",
"roundsUnit": "rondas",
"estimatedDuration": "Para 100 Agentes: estimativa de ~{minutes} minutos",
"estimatedDurationFull": "Para 100 Agentes: estimativa de {minutes} minutos",
"recommendedRounds": "{rounds} (recomendado)",
"customTip": "Para primeiras execuções, recomendamos vivamente alternar para o 'Modo Personalizado' e reduzir as rondas para uma pré-visualização rápida e menor risco de erros",
"backToGraphBuild": "Voltar à Construção do Grafo",
"startDualWorldSim": "Iniciar Simulação Paralela em Dois Mundos",
"profileModalAge": "Idade Aparente",
"profileModalGender": "Género Aparente",
"profileModalCountry": "País/Região",
"profileModalMbti": "MBTI Aparente",
"profileModalBio": "Biografia da Persona",
"profileModalTopics": "Tópicos Relacionados com a Semente de Realidade",
"profileModalPersona": "Historial Detalhado da Persona",
"personaDimExperience": "Experiência Completa do Evento",
"personaDimExperienceDesc": "Trajetória comportamental completa neste evento",
"personaDimBehavior": "Perfil Comportamental",
"personaDimBehaviorDesc": "Resumo de experiências e preferências comportamentais",
"personaDimMemory": "Impressão de Memória Única",
"personaDimMemoryDesc": "Memórias formadas a partir de sementes de realidade",
"personaDimSocial": "Rede Social",
"personaDimSocialDesc": "Ligações individuais e grafo de interação",
"genderMale": "Masculino",
"genderFemale": "Feminino",
"genderOther": "Outro",
"yearsOld": "anos",
"initializing": "A inicializar",
"generating": "A gerar"
},
"step3": {
"startGenerateReport": "Gerar Relatório",
"generatingReport": "A iniciar...",
"waitingForActions": "A aguardar ações dos agentes...",
"errorMissingSimId": "Erro: simulationId em falta",
"startingDualSim": "A iniciar simulação paralela em duas plataformas...",
"graphMemoryUpdateEnabled": "Atualização dinâmica de memória do grafo ativada",
"setMaxRounds": "Máximo de rondas de simulação definido em: {rounds}",
"oldSimCleared": "Logs antigos de simulação limpos, a reiniciar simulação",
"engineStarted": "Motor de simulação iniciado com sucesso",
"startFailed": "Falha ao iniciar: {error}",
"startException": "Erro ao iniciar: {error}",
"stoppingSim": "A parar simulação...",
"simStopped": "Simulação parada",
"stopFailed": "Falha ao parar: {error}",
"stopException": "Erro ao parar: {error}",
"allPlatformsCompleted": "Todas as simulações de plataforma terminaram",
"simCompleted": "Simulação concluída",
"graphRealtimeRefresh": "Atualização em tempo real do grafo ativada (30s)",
"graphRefreshStopped": "Atualização em tempo real do grafo interrompida",
"preparingGoBack": "A preparar o regresso ao Passo 2, a encerrar simulação...",
"closingSimEnv": "A encerrar ambiente de simulação...",
"simEnvClosed": "Ambiente de simulação encerrado",
"closeFailed": "Falha ao encerrar o ambiente de simulação, a tentar paragem forçada...",
"stoppingProcess": "A parar processo de simulação...",
"checkStatusFailed": "Falha ao verificar estado da simulação: {error}",
"forceStopSuccess": "Simulação parada à força",
"forceStopFailed": "Paragem forçada falhou: {error}",
"startGenerateReportBtn": "Gerar Relatório",
"generatingReportBtn": "A iniciar..."
},
"step4": {
"generatingSection": "A gerar {title}...",
"goToInteraction": "Entrar na Interação Profunda",
"waitingForReportAgent": "A aguardar o Report Agent...",
"collapse": "Recolher ▲",
"expandAll": "Mostrar todos os {count} ▼",
"expandAllEntities": "Mostrar todas as {count} ▼",
"scenarioLabel": "Cenário: ",
"tabKeyFacts": "Factos Principais ({count})",
"tabCoreEntities": "Entidades Centrais ({count})",
"tabRelationChains": "Cadeias de Relação ({count})",
"tabSubQueries": "Subconsultas ({count})",
"panelKeyFacts": "Factos principais mais recentes da memória temporal",
"totalCount": "{count} no total",
"totalEntityCount": "{count} no total",
"panelCoreEntities": "Entidades Centrais",
"factCount": "{count} factos",
"panelRelationChains": "Cadeias de Relação",
"panelSubQueries": "Subperguntas de análise de consulta de desvio",
"emptyKeyFacts": "Nenhum facto principal disponível",
"emptyCoreEntities": "Nenhuma entidade central disponível",
"emptyRelationChains": "Nenhuma cadeia de relação disponível",
"tabActiveFacts": "Factos Ativos ({count})",
"tabHistoricalFacts": "Factos Históricos ({count})",
"tabEntities": "Entidades ({count})",
"panelActiveFacts": "Factos Ativos",
"emptyActiveFacts": "Nenhum facto ativo disponível",
"panelHistoricalFacts": "Factos Históricos",
"emptyHistoricalFacts": "Nenhum facto histórico disponível",
"panelEntities": "Entidades",
"emptyEntities": "Nenhuma entidade disponível",
"searchLabel": "Pesquisar: ",
"tabFacts": "Factos ({count})",
"tabEdges": "Arestas ({count})",
"tabNodes": "Nós ({count})",
"panelSearchResults": "Resultados da Pesquisa",
"emptySearchResults": "Nenhum resultado encontrado",
"panelRelatedEdges": "Arestas Relacionadas",
"panelRelatedNodes": "Nós Relacionados",
"world1": "Mundo 1",
"world2": "Mundo 2"
},
"step5": {
"interactiveTools": "Ferramentas Interativas",
"agentsAvailable": "{count} agentes disponíveis",
"chatWithReportAgent": "Conversar com o Report Agent",
"chatWithAgent": "Converse com qualquer indivíduo do mundo",
"selectChatTarget": "Selecionar alvo da conversa",
"sendSurvey": "Enviar inquérito ao mundo",
"reportAgentChat": "Report Agent - Conversa",
"reportAgentDesc": "Uma versão conversacional do agente gerador de relatórios com acesso a 4 ferramentas profissionais e à memória completa do MiroFish",
"toolInsightForge": "InsightForge - Atribuição Profunda",
"toolInsightForgeDesc": "Alinha dados reais das sementes com o estado da simulação, combinando Memória Global/Local para análise de atribuição profunda entre períodos temporais",
"toolPanoramaSearch": "PanoramaSearch - Rastreio Completo",
"toolPanoramaSearchDesc": "Algoritmo de pesquisa em largura (BFS) baseado em grafo que reconstrói caminhos de propagação de eventos, capturando a topologia completa do fluxo de informação",
"toolQuickSearch": "QuickSearch - Obtenção Rápida",
"toolQuickSearchDesc": "Interface de consulta instantânea baseada em GraphRAG com indexação otimizada para extração rápida de atributos de nós e factos discretos",
"toolInterviewSubAgent": "InterviewSubAgent - Entrevista Virtual",
"toolInterviewSubAgentDesc": "Entrevistas autónomas que conduzem diálogos paralelos em múltiplas rondas com indivíduos simulados, recolhendo dados de opinião não estruturados e estados psicológicos",
"profileBio": "Biografia",
"chatEmptyReportAgent": "Converse com o Report Agent para explorar o conteúdo do relatório em profundidade",
"chatEmptyAgent": "Converse com indivíduos simulados para compreender as suas perspetivas",
"chatInputPlaceholder": "Escreva a sua pergunta...",
"selectSurveyTarget": "Selecionar alvos do inquérito",
"selectedCount": "Selecionados {selected} / {total}",
"surveyQuestions": "Perguntas do Inquérito",
"surveyInputPlaceholder": "Escreva a pergunta que pretende fazer a todos os alvos selecionados...",
"submitSurvey": "Enviar Inquérito",
"surveyResults": "Resultados do Inquérito",
"surveyResultsCount": "{count} respostas",
"selectAll": "Selecionar Tudo",
"clearSelection": "Limpar",
"errorOccurred": "Lamentamos, ocorreu um erro: {error}",
"noResponse": "Sem resposta",
"requestFailed": "Pedido falhou",
"selectAgentFirst": "Por favor, selecione primeiro um indivíduo simulado"
},
"graph": {
"panelTitle": "Visualização de Relações do Grafo",
"refreshGraph": "Atualizar Grafo",
"graphMemoryRealtime": "Memória de curto/longo prazo do GraphRAG a atualizar em tempo real",
"realtimeUpdating": "A atualizar em tempo real...",
"pendingContentHint": "Parte do conteúdo ainda está a ser processado. Considere atualizar o grafo manualmente mais tarde.",
"nodeDetails": "Detalhes do Nó",
"relationship": "Relação",
"graphDataLoading": "A carregar dados do grafo...",
"waitingOntology": "A aguardar geração da ontologia...",
"toggleMaximize": "Maximizar/Restaurar",
"closeHint": "Fechar sugestão"
},
"history": {
"title": "Histórico de Simulações",
"graphBuild": "Construção do Grafo",
"envSetup": "Configuração do Ambiente",
"analysisReport": "Relatório de Análise",
"moreFiles": "+{count} ficheiros",
"noFiles": "Sem ficheiros",
"loadingText": "A carregar...",
"simRequirement": "Requisito da Simulação",
"relatedFiles": "Ficheiros Relacionados",
"noRelatedFiles": "Nenhum ficheiro relacionado",
"replayTitle": "Repetição da Simulação",
"step1Button": "Construção do Grafo",
"step2Button": "Configuração do Ambiente",
"step4Button": "Relatório de Análise",
"replayHint": "O Passo 3 'Executar Simulação' e o Passo 5 'Interação Profunda' têm de ser iniciados em tempo de execução e não suportam repetição de histórico",
"notStarted": "Não iniciado",
"roundsProgress": "{current}/{total} rondas",
"untitledSimulation": "Simulação sem título",
"unknownFile": "Ficheiro desconhecido"
},
"api": {
"projectNotFound": "Projeto não encontrado: {id}",
"projectDeleteFailed": "Projeto não encontrado ou falha na eliminação: {id}",
"projectDeleted": "Projeto eliminado: {id}",
"projectReset": "Projeto reposto: {id}",
"requireSimulationRequirement": "Por favor, forneça um requisito de simulação (simulation_requirement)",
"requireFileUpload": "Por favor, carregue pelo menos um ficheiro de documento",
"noDocProcessed": "Nenhum documento foi processado com sucesso. Verifique os formatos dos ficheiros.",
"requireProjectId": "Por favor, forneça project_id",
"configError": "Erro de configuração: {details}",
"zepApiKeyMissing": "ZEP_API_KEY não configurada",
"ontologyNotGenerated": "Ontologia ainda não gerada. Chame /ontology/generate primeiro.",
"graphBuilding": "Construção do grafo em curso. Não reenvie. Para forçar reconstrução, adicione force: true.",
"textNotFound": "Conteúdo de texto extraído não encontrado",
"ontologyNotFound": "Definição da ontologia não encontrada",
"graphBuildStarted": "Tarefa de construção do grafo iniciada. Consulte o progresso em /task/{taskId}.",
"graphBuildComplete": "Construção do grafo concluída",
"buildFailed": "Falha na construção: {error}",
"taskNotFound": "Tarefa não encontrada: {id}",
"graphDeleted": "Grafo eliminado: {id}",
"entityNotFound": "Entidade não encontrada: {id}",
"graphNotBuilt": "Grafo ainda não construído. Chame /api/graph/build primeiro.",
"requireSimulationId": "Por favor, forneça simulation_id",
"simulationNotFound": "Simulação não encontrada: {id}",
"projectMissingRequirement": "O projeto não possui requisito de simulação (simulation_requirement)",
"prepareStarted": "Tarefa de preparação iniciada. Consulte o progresso em /api/simulation/prepare/status.",
"alreadyPrepared": "Preparação já concluída. Não é necessário regenerar.",
"notStartedPrepare": "Preparação não iniciada. Chame /api/simulation/prepare.",
"taskCompletedPrepared": "Tarefa concluída (preparação já existente)",
"requireTaskOrSimId": "Por favor, forneça task_id ou simulation_id",
"configNotFound": "Configuração da simulação não encontrada. Chame /prepare primeiro.",
"configFileNotFound": "Ficheiro de configuração não encontrado. Chame /prepare primeiro.",
"unknownScript": "Script desconhecido: {name}. Disponíveis: {allowed}",
"scriptFileNotFound": "Ficheiro de script não encontrado: {name}",
"requireGraphId": "Por favor, forneça graph_id",
"noMatchingEntities": "Nenhuma entidade correspondente encontrada",
"maxRoundsPositive": "max_rounds tem de ser um inteiro positivo",
"maxRoundsInvalid": "max_rounds tem de ser um inteiro válido",
"invalidPlatform": "Tipo de plataforma inválido: {platform}. Opções: twitter/reddit/parallel",
"simRunningForceHint": "A simulação está em execução. Pare-a primeiro via /stop, ou utilize force=true para reiniciar.",
"simNotReady": "Simulação não está pronta. Estado atual: {status}. Chame /prepare primeiro.",
"graphIdRequiredForMemory": "A atualização de memória do grafo requer um graph_id válido. Garanta que o grafo está construído.",
"dbNotExist": "A base de dados não existe. A simulação pode ainda não ter sido executada.",
"requireMessage": "Por favor, forneça uma mensagem",
"missingGraphId": "ID do grafo em falta",
"missingGraphIdEnsure": "ID do grafo em falta. Certifique-se de que o grafo foi construído.",
"missingSimRequirement": "Descrição do requisito de simulação em falta",
"reportAlreadyExists": "O relatório já existe",
"reportGenerateStarted": "Tarefa de geração de relatório iniciada. Consulte o progresso em /api/report/generate/status.",
"reportGenerated": "Relatório gerado",
"reportNotFound": "Relatório não encontrado: {id}",
"noReportForSim": "Nenhum relatório encontrado para esta simulação: {id}",
"reportDeleted": "Relatório eliminado: {id}",
"reportGenerateFailed": "Geração de relatório falhou",
"sectionNotFound": "Secção não encontrada: section_{index}.md",
"reportProgressNotAvail": "Relatório não encontrado ou progresso indisponível: {id}",
"requireAgentId": "Por favor, forneça agent_id",
"requirePrompt": "Por favor, forneça um prompt (pergunta da entrevista)",
"invalidInterviewPlatform": "A plataforma tem de ser 'twitter' ou 'reddit'",
"envNotRunning": "Ambiente de simulação não está em execução ou foi encerrado. Garanta que a simulação está concluída e em modo de espera por comando.",
"interviewTimeout": "Tempo esgotado para resposta da entrevista: {error}",
"requireInterviews": "Por favor, forneça interviews (lista de entrevistas)",
"interviewListMissingAgentId": "Item {index} da lista de entrevistas sem agent_id",
"interviewListMissingPrompt": "Item {index} da lista de entrevistas sem prompt",
"interviewListInvalidPlatform": "A plataforma do item {index} da lista de entrevistas tem de ser 'twitter' ou 'reddit'",
"batchInterviewTimeout": "Tempo esgotado para resposta em lote de entrevistas: {error}",
"globalInterviewTimeout": "Tempo esgotado para resposta global de entrevistas: {error}",
"envRunning": "Ambiente em execução e pronto para comandos de Entrevista",
"envNotRunningShort": "Ambiente não está em execução ou foi encerrado",
"requireGraphIdAndQuery": "Por favor, forneça graph_id e query",
"initReportAgent": "A inicializar o Report Agent..."
},
"progress": {
"initGraphService": "A inicializar serviço de construção do grafo...",
"textChunking": "A dividir texto em chunks...",
"creatingZepGraph": "A criar grafo no Zep...",
"settingOntology": "A definir a ontologia...",
"addingChunks": "A adicionar {count} chunks de texto...",
"waitingZepProcess": "A aguardar que o Zep processe os dados...",
"fetchingGraphData": "A obter dados do grafo...",
"graphBuildComplete": "Construção do grafo concluída",
"buildFailed": "Falha na construção: {error}",
"startBuildingGraph": "A iniciar construção do grafo...",
"graphCreated": "Grafo criado: {graphId}",
"ontologySet": "Ontologia definida",
"textSplit": "Texto dividido em {count} chunks",
"fetchingGraphInfo": "A obter informações do grafo...",
"sendingBatch": "A enviar lote {current}/{total} ({chunks} chunks)...",
"batchFailed": "Lote {batch} falhou: {error}",
"noEpisodesWait": "Nenhum episódio para aguardar",
"waitingEpisodes": "A aguardar o processamento de {count} chunks de texto...",
"episodesTimeout": "Alguns chunks excederam o tempo limite, {completed}/{total} concluídos",
"zepProcessing": "Zep a processar... {completed}/{total} concluídos, {pending} pendentes ({elapsed}s)",
"processingComplete": "Processamento concluído: {completed}/{total}",
"taskComplete": "Tarefa concluída",
"taskFailed": "Tarefa falhou",
"startPreparingEnv": "A preparar ambiente de simulação...",
"connectingZepGraph": "A ligar ao grafo do Zep...",
"readingNodeData": "A ler dados dos nós...",
"readingComplete": "Concluído, {count} entidades encontradas",
"startGenerating": "A iniciar geração...",
"analyzingRequirements": "A analisar requisitos da simulação...",
"generatingOutline": "A gerar estrutura do relatório...",
"parsingOutline": "A analisar a estrutura...",
"outlinePlanComplete": "Planeamento da estrutura concluído",
"deepSearchAndWrite": "Pesquisa profunda e redação ({current}/{max})",
"initReport": "A inicializar relatório...",
"startPlanningOutline": "A planear estrutura do relatório...",
"outlineDone": "Estrutura concluída, {count} secções",
"generatingSection": "A gerar secção: {title} ({current}/{total})",
"sectionDone": "Secção {title} concluída",
"assemblingReport": "A montar relatório completo...",
"reportComplete": "Geração do relatório concluída",
"reportFailed": "Falha na geração do relatório: {error}",
"savingProfiles": "A guardar ficheiros de perfil...",
"profilesComplete": "Concluído, {count} perfis gerados",
"callingLLMConfig": "A chamar o LLM para gerar configuração...",
"savingConfigFiles": "A guardar ficheiros de configuração...",
"configComplete": "Geração de configuração concluída",
"generatingTimeConfig": "A gerar configuração de tempo...",
"generatingEventConfig": "A gerar configuração de eventos e tópicos em destaque...",
"generatingAgentConfig": "A gerar configuração de agentes ({start}-{end}/{total})...",
"generatingPlatformConfig": "A gerar configuração de plataforma...",
"zepSearchQuery": "Toda a informação, atividades, eventos, relações e contexto sobre {name}",
"timeConfigLabel": "Configuração de Tempo",
"eventConfigLabel": "Configuração de Eventos",
"agentConfigResult": "Configuração de Agentes: {count} gerados",
"postAssignResult": "Atribuição de Publicações: {count} publicações atribuídas",
"profileGenerated": "[Gerado] {name} ({type})",
"readingGraphEntities": "A Ler Entidades do Grafo",
"generatingProfiles": "A Gerar Perfis de Agentes",
"generatingSimConfig": "A Gerar Configuração da Simulação",
"preparingScripts": "A Preparar Scripts"
},
"log": {
"preparingGoBack": "A preparar o regresso ao Passo 2, a encerrar simulação...",
"closingSimEnv": "A encerrar ambiente de simulação...",
"simEnvClosed": "✓ Ambiente de simulação encerrado",
"closeSimEnvFailed": "Falha ao encerrar o ambiente de simulação, a tentar paragem forçada...",
"simForceStopSuccess": "✓ Simulação parada à força",
"forceStopFailed": "Paragem forçada falhou: {error}",
"stoppingSimProcess": "A parar processo de simulação...",
"simStopped": "✓ Simulação parada",
"stopSimFailed": "Falha ao parar a simulação: {error}",
"checkStatusFailed": "Falha ao verificar estado da simulação: {error}",
"enterStep4": "A entrar no Passo 4: Geração do Relatório",
"loadingSimData": "A carregar dados da simulação: {id}",
"timeConfig": "Configuração de tempo: {minutes} minutos por ronda",
"timeConfigFetchFailed": "Falha ao obter configuração de tempo, a usar predefinição: {minutes} min/ronda",
"projectLoadSuccess": "Projeto carregado: {id}",
"loadSimDataFailed": "Falha ao carregar dados da simulação: {error}",
"loadException": "Erro ao carregar: {error}",
"graphDataLoadSuccess": "Dados do grafo carregados com sucesso",
"graphLoadFailed": "Falha ao carregar o grafo: {error}",
"graphRealtimeRefreshStart": "Atualização em tempo real do grafo ativada (30s)",
"graphRealtimeRefreshStop": "Atualização em tempo real do grafo interrompida",
"simRunViewInit": "SimulationRunView inicializado",
"customRounds": "Rondas personalizadas de simulação: {rounds}",
"enterStep3": "A entrar no Passo 3: Executar Simulação",
"customRoundsConfig": "Rondas personalizadas de simulação: {rounds} rondas",
"useAutoRounds": "A usar rondas de simulação configuradas automaticamente",
"detectedSimEnvRunning": "Detetado ambiente de simulação em execução, a encerrar...",
"closeSimEnvFailedWithError": "Falha ao encerrar ambiente de simulação: {error}",
"closeSimEnvException": "Erro no encerramento do ambiente de simulação: {error}",
"detectedSimRunning": "Detetada simulação em execução, a parar...",
"forceStopSimFailed": "Paragem forçada da simulação falhou: {error}",
"forceStopSimException": "Erro na paragem forçada da simulação: {error}",
"simViewInit": "SimulationView inicializado",
"errorMissingSimId": "Erro: simulationId em falta",
"simInstanceCreated": "Instância de simulação criada: {id}",
"preparingSimEnv": "A preparar ambiente de simulação...",
"detectedExistingPrep": "Detetada preparação existente, a utilizá-la diretamente",
"prepareTaskStarted": "Tarefa de preparação iniciada",
"prepareTaskId": " └─ ID da Tarefa: {taskId}",
"zepEntitiesFound": "Encontradas {count} entidades no grafo do Zep",
"entityTypes": " └─ Tipos de entidade: {types}",
"startPollingProgress": "A consultar progresso da preparação...",
"prepareFailed": "Preparação falhou: {error}",
"prepareException": "Erro na preparação: {error}",
"prepareComplete": "✓ Preparação concluída",
"prepareFailedWithError": "✗ Preparação falhou: {error}",
"startGeneratingConfig": "A gerar configuração de simulação de dupla plataforma...",
"generatingAgentProfileConfig": "A gerar configuração de personas de agentes...",
"generatingLLMConfig": "A chamar o LLM para gerar parâmetros de configuração da simulação...",
"configComplete": "✓ Configuração da simulação gerada",
"configSummaryAgents": " ├─ Agentes: {count}",
"configSummaryHours": " ├─ Duração: {hours} horas",
"configSummaryPosts": " ├─ Publicações iniciais: {count}",
"configSummaryTopics": " ├─ Tópicos em destaque: {count}",
"configSummaryPlatforms": " └─ Plataformas: Twitter {twitter}, Reddit {reddit}",
"timeConfigDetail": "Configuração de tempo: {minutes} min/ronda, {rounds} rondas no total",
"narrativeDirection": "Direção narrativa: {direction}",
"envSetupComplete": "✓ Configuração do ambiente concluída, pronto para simular",
"startSimCustomRounds": "A iniciar simulação, rondas personalizadas: {rounds}",
"startSimAutoRounds": "A iniciar simulação, rondas configuradas automaticamente: {rounds}",
"startGeneratingAgentProfiles": "A gerar personas de agentes...",
"agentProfile": "→ Persona do agente {current}/{total}: {name} ({profession})",
"allProfilesComplete": "✓ Todas as {count} personas de agentes geradas",
"loadingExistingConfig": "A carregar dados de configuração existentes...",
"loadedAgentProfiles": "Carregadas {count} personas de agentes",
"configLoadSuccess": "✓ Configuração da simulação carregada",
"configSummaryPostsAlt": " └─ Publicações iniciais: {count}",
"configGenerating": "Configuração a gerar, a consultar...",
"loadConfigFailed": "Falha ao carregar configuração: {error}",
"step2Init": "Configuração de ambiente do Passo 2 inicializada",
"step3Init": "Execução de simulação do Passo 3 inicializada",
"startingDualSim": "A iniciar simulação paralela em duas plataformas...",
"setMaxRounds": "Máximo de rondas de simulação definido em: {rounds}",
"graphMemoryUpdateEnabled": "Atualização dinâmica de memória do grafo ativada",
"oldSimCleared": "✓ Logs antigos de simulação limpos, a reiniciar simulação",
"engineStarted": "✓ Motor de simulação iniciado com sucesso",
"startFailed": "✗ Falha ao iniciar: {error}",
"startException": "✗ Erro ao iniciar: {error}",
"stoppingSim": "A parar simulação...",
"simStoppedSuccess": "✓ Simulação parada",
"stopFailed": "Falha ao parar: {error}",
"stopException": "Erro ao parar: {error}",
"allPlatformsCompleted": "✓ Todas as simulações de plataforma terminaram",
"simCompleted": "✓ Simulação concluída",
"reportRequestSent": "Pedido de geração de relatório enviado, aguarde...",
"startingReportGen": "A iniciar geração de relatório...",
"reportGenTaskStarted": "✓ Tarefa de geração de relatório iniciada: {reportId}",
"reportGenFailed": "✗ Falha ao iniciar a geração de relatório: {error}",
"reportGenException": "✗ Erro na geração de relatório: {error}",
"step5Init": "Interação profunda do Passo 5 inicializada",
"selectChatTarget": "Alvo da conversa selecionado: {name}",
"sendFailed": "Envio falhou: {error}",
"sendToReportAgent": "Enviado ao Report Agent: {message}...",
"reportAgentReplied": "Report Agent respondeu",
"sendToAgent": "Enviado para {name}: {message}...",
"agentReplied": "{name} respondeu",
"sendSurvey": "A enviar inquérito para {count} alvos...",
"receivedReplies": "Recebidas {count} respostas",
"surveySendFailed": "Envio do inquérito falhou: {error}",
"loadReportData": "A carregar dados do relatório: {id}",
"loadReportFailed": "Falha ao carregar relatório: {error}",
"reportDataLoaded": "Dados do relatório carregados",
"loadReportLogFailed": "Falha ao carregar logs do relatório: {error}",
"loadedProfiles": "Carregados {count} indivíduos simulados",
"loadProfilesFailed": "Falha ao carregar indivíduos simulados: {error}",
"interactionViewInit": "InteractionView inicializado",
"reportViewInit": "ReportView inicializado",
"getReportInfoFailed": "Falha ao obter informações do relatório: {error}",
"enterStep": "A entrar no Passo {step}: {name}",
"returnToStep": "A regressar ao Passo {step}: {name}",
"customSimRounds": "Rondas personalizadas de simulação: {rounds} rondas"
},
"report": {
"taskStarted": "Tarefa de geração de relatório iniciada",
"planningStart": "A iniciar planeamento da estrutura do relatório",
"fetchSimContext": "A obter contexto da simulação",
"planningComplete": "Planeamento da estrutura concluído",
"sectionStart": "A iniciar geração da secção: {title}",
"reactThought": "ReACT ronda {iteration} a pensar",
"toolCall": "A chamar ferramenta: {toolName}",
"toolResult": "Ferramenta {toolName} devolveu resultado",
"llmResponse": "Resposta do LLM (chamadas de ferramenta: {hasToolCalls}, resposta final: {hasFinalAnswer})",
"sectionContentDone": "Geração de conteúdo da secção {title} concluída",
"sectionComplete": "Geração da secção {title} concluída",
"reportComplete": "Geração do relatório concluída",
"errorOccurred": "Ocorreu um erro: {error}",
"agentInitDone": "ReportAgent inicializado: graph_id={graphId}, simulation_id={simulationId}",
"executingTool": "A executar ferramenta: {toolName}, parâmetros: {params}",
"toolExecFailed": "Execução da ferramenta falhou: {toolName}, erro: {error}",
"startPlanningOutline": "A iniciar planeamento da estrutura do relatório...",
"outlinePlanDone": "Planeamento da estrutura concluído: {count} secções",
"outlinePlanFailed": "Planeamento da estrutura falhou: {error}",
"reactGenerateSection": "ReACT a gerar secção: {title}",
"sectionIterNone": "Secção {title} iteração {iteration}: LLM devolveu None",
"sectionConflict": "Secção {title} ronda {iteration}: LLM devolveu tanto chamada de ferramenta como Final Answer (conflito #{conflictCount})",
"sectionConflictDowngrade": "Secção {title}: {conflictCount} conflitos consecutivos, a despromover para truncar e executar a primeira chamada de ferramenta",
"sectionGenDone": "Geração da secção {title} concluída (chamadas de ferramenta: {count})",
"multiToolOnlyFirst": "O LLM tentou {total} chamadas de ferramenta, a executar apenas a primeira: {toolName}",
"sectionNoPrefix": "Secção {title} sem prefixo 'Final Answer:', a adotar saída do LLM como conteúdo final (chamadas de ferramenta: {count})",
"sectionMaxIter": "Secção {title} atingiu o máximo de iterações, a forçar geração",
"sectionForceFailed": "Secção {title}: LLM devolveu None ao forçar encerramento, a usar mensagem de erro predefinida",
"sectionGenFailedContent": "(Esta secção não pôde ser gerada: o LLM devolveu resposta vazia; tente novamente mais tarde)",
"outlineSavedToFile": "Estrutura guardada em ficheiro: {reportId}/outline.json",
"sectionSaved": "Secção guardada: {reportId}/section_{sectionNum}.md",
"reportGenDone": "Geração do relatório concluída: {reportId}",
"reportGenFailed": "Geração do relatório falhou: {error}",
"agentChat": "Conversa do Report Agent: {message}...",
"fetchReportFailed": "Falha ao obter conteúdo do relatório: {error}",
"outlineSaved": "Estrutura guardada: {reportId}",
"sectionFileSaved": "Secção guardada: {reportId}/{fileSuffix}",
"fullReportAssembled": "Relatório completo montado: {reportId}",
"reportSaved": "Relatório guardado: {reportId}",
"reportFolderDeleted": "Pasta do relatório eliminada: {reportId}",
"redirectToQuickSearch": "search_graph redirecionado para quick_search",
"redirectToInsightForge": "get_simulation_context redirecionado para insight_forge"
},
"console": {
"zepToolsInitialized": "ZepToolsService inicializado",
"zepRetryAttempt": "Tentativa {attempt} de {operation} no Zep falhou: {error}, a tentar novamente em {delay}s...",
"zepAllRetriesFailed": "Operação {operation} no Zep falhou após {retries} tentativas: {error}",
"graphSearch": "Pesquisa no grafo: graph_id={graphId}, query={query}...",
"graphSearchOp": "Pesquisa no grafo (graph={graphId})",
"searchComplete": "Pesquisa concluída: encontrados {count} factos relevantes",
"zepSearchApiFallback": "API de pesquisa do Zep falhou, a recorrer à pesquisa local: {error}",
"usingLocalSearch": "A utilizar pesquisa local: query={query}...",
"localSearchComplete": "Pesquisa local concluída: encontrados {count} factos relevantes",
"localSearchFailed": "Pesquisa local falhou: {error}",
"fetchingAllNodes": "A obter todos os nós do grafo {graphId}...",
"fetchedNodes": "{count} nós obtidos",
"fetchingAllEdges": "A obter todas as arestas do grafo {graphId}...",
"fetchedEdges": "{count} arestas obtidas",
"fetchingNodeDetail": "A obter detalhes do nó: {uuid}...",
"fetchNodeDetailOp": "Obter detalhes do nó (uuid={uuid}...)",
"fetchNodeDetailFailed": "Falha ao obter detalhes do nó: {error}",
"fetchingNodeEdges": "A obter arestas do nó {uuid}...",
"foundNodeEdges": "Encontradas {count} arestas relacionadas com o nó",
"fetchNodeEdgesFailed": "Falha ao obter arestas do nó: {error}",
"fetchingEntitiesByType": "A obter entidades do tipo {type}...",
"foundEntitiesByType": "Encontradas {count} entidades do tipo {type}",
"fetchingEntitySummary": "A obter resumo de relações da entidade {name}...",
"fetchingGraphStats": "A obter estatísticas do grafo {graphId}...",
"fetchingSimContext": "A obter contexto da simulação: {requirement}...",
"insightForgeStart": "InsightForge - obtenção profunda de insights: {query}...",
"generatedSubQueries": "Geradas {count} subconsultas",
"insightForgeComplete": "InsightForge concluído: {facts} factos, {entities} entidades, {relationships} relações",
"generateSubQueriesFailed": "Falha ao gerar subconsultas: {error}, a utilizar predefinições",
"panoramaSearchStart": "PanoramaSearch - pesquisa ampla: {query}...",
"panoramaSearchComplete": "PanoramaSearch concluído: {active} ativos, {historical} históricos",
"quickSearchStart": "QuickSearch - pesquisa simples: {query}...",
"quickSearchComplete": "QuickSearch concluído: {count} resultados",
"interviewAgentsStart": "InterviewAgents - entrevista profunda (API real): {requirement}...",
"profilesNotFound": "Perfis não encontrados para a simulação {simId}",
"loadedProfiles": "Carregados {count} perfis de agentes",
"selectedAgentsForInterview": "Selecionados {count} agentes para entrevista: {indices}",
"generatedInterviewQuestions": "Geradas {count} perguntas de entrevista",
"callingBatchInterviewApi": "A chamar API de entrevista em lote (plataforma dupla): {count} agentes",
"interviewApiReturned": "API de entrevista devolveu: {count} resultados, success={success}",
"interviewApiReturnedFailure": "API de entrevista devolveu falha: {error}",
"interviewApiCallFailed": "Chamada à API de entrevista falhou (ambiente não está em execução?): {error}",
"interviewApiCallException": "Exceção na chamada à API de entrevista: {error}",
"interviewAgentsComplete": "InterviewAgents concluído: entrevistados {count} agentes (plataforma dupla)",
"loadedRedditProfiles": "Carregados {count} perfis de reddit_profiles.json",
"readRedditProfilesFailed": "Falha ao ler reddit_profiles.json: {error}",
"loadedTwitterProfiles": "Carregados {count} perfis de twitter_profiles.csv",
"readTwitterProfilesFailed": "Falha ao ler twitter_profiles.csv: {error}",
"llmSelectAgentFailed": "Seleção de agente pelo LLM falhou, a utilizar seleção predefinida: {error}",
"generateInterviewQuestionsFailed": "Falha ao gerar perguntas de entrevista: {error}",
"generateInterviewSummaryFailed": "Falha ao gerar resumo da entrevista: {error}"
}
}