{ "common": { "confirm": "Confirmar", "cancel": "Cancelar", "loading": "Cargando...", "error": "Error", "success": "Éxito", "completed": "Completado", "processing": "Generando", "pending": "Pendiente", "ready": "Listo", "running": "En ejecución", "failed": "Fallido", "unknown": "Desconocido", "unknownError": "Error desconocido", "none": "Ninguno", "close": "Cerrar", "back": "Atrás", "next": "Siguiente", "retry": "Reintentar", "noData": "No hay datos disponibles", "hours": "horas", "minutes": "minutos", "rounds": "rondas", "items": "elementos", "files": "archivos" }, "meta": { "title": "MiroFish - Predice Todo", "description": "MiroFish - Sistema de Simulación de Opinión en Redes Sociales" }, "nav": { "visitGithub": "Visita nuestra página de Github" }, "home": { "tagline": "Motor de Inteligencia de Enjambre Conciso y Universal", "version": "/ v0.1-Preview", "heroTitle1": "Sube Reportes,", "heroTitle2": "Predice el Futuro", "heroDesc": "A partir de un solo documento, {brand} extrae semillas de realidad para auto-generar un mundo paralelo con hasta {agentScale}. Inyecta variables desde una perspectiva omnisciente para encontrar el {optimalSolution} en dinámicas de grupo complejas.", "heroDescBrand": "MiroFish", "heroDescAgentScale": "Agentes a escala de millones", "heroDescOptimalSolution": "\"óptimo local\"", "slogan": "Deja que los Agentes ensayen el futuro, deja que las decisiones prevalezcan", "systemStatus": "Estado del Sistema", "systemReady": "Listo", "systemReadyDesc": "Motor de predicción en espera. Sube datos no estructurados para inicializar una secuencia de simulación.", "metricLowCost": "Bajo Costo", "metricLowCostDesc": "Prom. $5/sim", "metricHighAvail": "Escalable", "metricHighAvailDesc": "Millones de Agentes", "workflowSequence": "Flujo de Trabajo", "step01Title": "Construcción del Grafo", "step01Desc": "Extracción de semillas y inyección de memoria y construcción de GraphRAG", "step02Title": "Configuración del Entorno", "step02Desc": "Extracción de entidades y generación de personas y inyección de configuración de Agentes", "step03Title": "Simulación", "step03Desc": "Simulación paralela en dos plataformas y análisis automático de requisitos y memoria temporal", "step04Title": "Reporte", "step04Desc": "El ReportAgent interactúa con el entorno post-simulación mediante herramientas avanzadas", "step05Title": "Interacción", "step05Desc": "Chatea con cualquier individuo simulado y conversa con el ReportAgent", "realitySeed": "01 / Semilla de Realidad", "supportedFormats": "Formatos: PDF, MD, TXT", "dragToUpload": "Arrastra archivos para subir", "orBrowse": "o haz clic para explorar archivos", "inputParams": "Parámetros de Entrada", "simulationPrompt": ">_ 02 / Prompt de Simulación", "promptPlaceholder": "// Describe tu requerimiento de simulación o predicción en lenguaje natural", "engineBadge": "Motor: MiroFish-V1.0", "startEngine": "Iniciar Motor", "initializing": "Inicializando..." }, "main": { "layoutGraph": "Grafo", "layoutSplit": "Dividido", "layoutWorkbench": "Banco de Trabajo", "stepNames": ["Construcción del Grafo", "Configuración del Entorno", "Ejecutar Simulación", "Generación de Reporte", "Interacción Profunda"] }, "step1": { "ontologyGeneration": "Generación de Ontología", "ontologyCompleted": "Completado", "ontologyGenerating": "Generando", "ontologyPending": "Pendiente", "ontologyDesc": "El LLM analiza el contenido del documento y los requisitos de simulación, extrae semillas de realidad y auto-genera una estructura de ontología adecuada", "analyzingDocs": "Analizando documentos...", "graphRagBuild": "Construcción de GraphRAG", "graphRagDesc": "Basándose en la ontología generada, los documentos se fragmentan automáticamente y se envían a Zep para construir un grafo de conocimiento, extrayendo entidades y relaciones, formando memoria temporal y resúmenes de comunidad", "entityNodes": "Nodos de Entidad", "relationEdges": "Aristas de Relación", "schemaTypes": "Tipos de Esquema", "buildComplete": "Construcción Completa", "buildCompleteDesc": "La construcción del grafo está completa. Continúa al siguiente paso para configurar el entorno de simulación.", "inProgress": "En Progreso", "creating": "Creando...", "enterEnvSetup": "Ir a Configuración del Entorno", "createSimulationFailed": "Error al crear la simulación: {error}", "createSimulationException": "Error en la creación de simulación: {error}" }, "step2": { "simInstanceInit": "Inicialización de Instancia de Simulación", "simInstanceDesc": "Crear una nueva instancia de simulación y obtener plantillas de parámetros del mundo", "asyncTaskDone": "Tarea asíncrona completada", "generateAgentPersona": "Generar Personas de Agentes", "generateAgentPersonaDesc": "Combinar contexto para auto-extraer entidades y relaciones del grafo de conocimiento, inicializar individuos simulados y asignar comportamientos y memorias únicos basados en semillas de realidad", "currentAgentCount": "Agentes Actuales", "expectedAgentTotal": "Total Esperado de Agentes", "relatedTopicsCount": "Temas Relacionados con Semilla de Realidad", "generatedAgentPersonas": "Personas de Agentes Generadas", "unknownProfession": "Profesión desconocida", "noBio": "Sin biografía disponible", "dualPlatformConfig": "Generar Configuración de Doble Plataforma", "dualPlatformConfigDesc": "El LLM configura inteligentemente el flujo temporal del mundo, algoritmos de recomendación, horas activas de cada individuo, frecuencia de publicación, disparadores de eventos y más, basándose en los requisitos y semillas de realidad", "simulationDuration": "Duración de la Simulación", "roundDuration": "Duración por Ronda", "totalRounds": "Total de Rondas", "activePerHour": "Activos por Hora", "peakHours": "Horas Pico", "workHours": "Horas Laborales", "morningHours": "Horas de la Mañana", "offPeakHours": "Horas Valle", "agentConfig": "Configuración de Agente", "activeTimePeriod": "Horas Activas", "postsPerHour": "Publicaciones/hr", "commentsPerHour": "Comentarios/hr", "responseDelay": "Tiempo de Respuesta", "activityLevel": "Nivel de Actividad", "sentimentBias": "Sesgo de Sentimiento", "influenceWeight": "Influencia", "recommendAlgoConfig": "Configuración de Algoritmo de Recomendación", "platform1Name": "Plataforma 1: Plaza / Feed", "platform2Name": "Plataforma 2: Tema / Comunidad", "recencyWeight": "Peso de Recencia", "popularityWeight": "Peso de Popularidad", "relevanceWeight": "Peso de Relevancia", "viralThreshold": "Umbral de Viralización", "echoChamberStrength": "Intensidad de Cámara de Eco", "llmConfigReasoning": "Razonamiento de Configuración del LLM", "initialActivation": "Orquestación de Activación Inicial", "initialActivationDesc": "Auto-generar eventos de activación inicial y temas candentes basados en la dirección narrativa para guiar el estado inicial del mundo de simulación", "orchestrating": "Orquestando", "narrativeDirection": "Dirección Narrativa", "initialHotTopics": "Temas Candentes Iniciales", "initialActivationSeq": "Secuencia de Activación Inicial ({count})", "setupComplete": "Configuración Completa", "setupCompleteDesc": "El entorno de simulación está listo. Ahora puedes iniciar la simulación.", "roundsConfig": "Configuración de Rondas de Simulación", "roundsConfigDesc": "MiroFish auto-planifica simular {hours} horas del mundo real, cada ronda representando {minutesPerRound} minutos de tiempo transcurrido", "customToggle": "Personalizado", "roundsUnit": "rondas", "estimatedDuration": "Para 100 Agentes: est. ~{minutes} minutos", "estimatedDurationFull": "Para 100 Agentes: est. {minutes} minutos", "recommendedRounds": "{rounds} (recomendado)", "customTip": "Para las primeras ejecuciones, recomendamos usar el 'Modo Personalizado' para reducir rondas y obtener una vista previa rápida con menor riesgo de errores", "backToGraphBuild": "Volver a Construcción del Grafo", "startDualWorldSim": "Iniciar Simulación Paralela de Dos Mundos", "profileModalAge": "Edad Aparente", "profileModalGender": "Género Aparente", "profileModalCountry": "País/Región", "profileModalMbti": "MBTI Aparente", "profileModalBio": "Biografía de Persona", "profileModalTopics": "Temas Relacionados con Semilla de Realidad", "profileModalPersona": "Trasfondo Detallado de la Persona", "personaDimExperience": "Experiencia Completa del Evento", "personaDimExperienceDesc": "Trayectoria conductual completa en este evento", "personaDimBehavior": "Perfil de Comportamiento", "personaDimBehaviorDesc": "Resumen de experiencia y preferencias de comportamiento", "personaDimMemory": "Huella de Memoria Única", "personaDimMemoryDesc": "Memorias formadas a partir de semillas de realidad", "personaDimSocial": "Red Social", "personaDimSocialDesc": "Conexiones individuales y grafo de interacción", "genderMale": "Masculino", "genderFemale": "Femenino", "genderOther": "Otro", "yearsOld": "años", "initializing": "Inicializando", "generating": "Generando" }, "step3": { "startGenerateReport": "Generar Reporte", "generatingReport": "Iniciando...", "waitingForActions": "Esperando acciones de agentes...", "errorMissingSimId": "Error: falta simulationId", "startingDualSim": "Iniciando simulación paralela de doble plataforma...", "graphMemoryUpdateEnabled": "Actualización dinámica de memoria del grafo habilitada", "setMaxRounds": "Rondas máximas de simulación configuradas en: {rounds}", "oldSimCleared": "Registros de simulación anteriores eliminados, reiniciando simulación", "engineStarted": "Motor de simulación iniciado exitosamente", "startFailed": "Inicio fallido: {error}", "startException": "Error de inicio: {error}", "stoppingSim": "Deteniendo simulación...", "simStopped": "Simulación detenida", "stopFailed": "Detención fallida: {error}", "stopException": "Error de detención: {error}", "allPlatformsCompleted": "Todas las simulaciones de plataforma han terminado", "simCompleted": "Simulación completada", "graphRealtimeRefresh": "Actualización en tiempo real del grafo habilitada (30s)", "graphRefreshStopped": "Actualización en tiempo real del grafo detenida", "preparingGoBack": "Preparando para volver al Paso 2, cerrando simulación...", "closingSimEnv": "Cerrando entorno de simulación...", "simEnvClosed": "Entorno de simulación cerrado", "closeFailed": "Error al cerrar el entorno de simulación, intentando detención forzada...", "stoppingProcess": "Deteniendo proceso de simulación...", "checkStatusFailed": "Error al verificar estado de simulación: {error}", "forceStopSuccess": "Simulación detenida forzosamente", "forceStopFailed": "Detención forzada fallida: {error}", "startGenerateReportBtn": "Generar Reporte", "generatingReportBtn": "Iniciando..." }, "step4": { "generatingSection": "Generando {title}...", "goToInteraction": "Ir a Interacción Profunda", "waitingForReportAgent": "Esperando al Agente de Reporte...", "collapse": "Colapsar ▲", "expandAll": "Mostrar todos {count} ▼", "expandAllEntities": "Mostrar todos {count} ▼", "scenarioLabel": "Escenario: ", "tabKeyFacts": "Hechos Clave ({count})", "tabCoreEntities": "Entidades Principales ({count})", "tabRelationChains": "Cadenas de Relaciones ({count})", "tabSubQueries": "Sub-consultas ({count})", "panelKeyFacts": "Últimos hechos clave de la memoria temporal", "totalCount": "{count} en total", "totalEntityCount": "{count} en total", "panelCoreEntities": "Entidades Principales", "factCount": "{count} hechos", "panelRelationChains": "Cadenas de Relaciones", "panelSubQueries": "Sub-preguntas de análisis de consulta derivada", "emptyKeyFacts": "No hay hechos clave disponibles", "emptyCoreEntities": "No hay entidades principales disponibles", "emptyRelationChains": "No hay cadenas de relaciones disponibles", "tabActiveFacts": "Hechos Activos ({count})", "tabHistoricalFacts": "Hechos Históricos ({count})", "tabEntities": "Entidades ({count})", "panelActiveFacts": "Hechos Activos", "emptyActiveFacts": "No hay hechos activos disponibles", "panelHistoricalFacts": "Hechos Históricos", "emptyHistoricalFacts": "No hay hechos históricos disponibles", "panelEntities": "Entidades", "emptyEntities": "No hay entidades disponibles", "searchLabel": "Buscar: ", "tabFacts": "Hechos ({count})", "tabEdges": "Aristas ({count})", "tabNodes": "Nodos ({count})", "panelSearchResults": "Resultados de Búsqueda", "emptySearchResults": "No se encontraron resultados", "panelRelatedEdges": "Aristas Relacionadas", "panelRelatedNodes": "Nodos Relacionados", "world1": "Mundo 1", "world2": "Mundo 2" }, "step5": { "interactiveTools": "Herramientas Interactivas", "agentsAvailable": "{count} agentes disponibles", "chatWithReportAgent": "Chatear con el Agente de Reporte", "chatWithAgent": "Chatear con cualquier individuo del mundo", "selectChatTarget": "Seleccionar objetivo de chat", "sendSurvey": "Enviar encuesta al mundo", "reportAgentChat": "Agente de Reporte - Chat", "reportAgentDesc": "Una versión conversacional del agente de generación de reportes con acceso a 4 herramientas profesionales y la memoria completa de MiroFish", "toolInsightForge": "InsightForge Atribución Profunda", "toolInsightForgeDesc": "Alinea datos de semillas del mundo real con el estado de simulación, combinando Memoria Global/Local para análisis de atribución profunda cross-temporal", "toolPanoramaSearch": "PanoramaSearch Rastreo Completo", "toolPanoramaSearchDesc": "Algoritmo BFS basado en grafos que reconstruye rutas de propagación de eventos, capturando la topología completa del flujo de información", "toolQuickSearch": "QuickSearch Recuperación Rápida", "toolQuickSearchDesc": "Interfaz de consulta instantánea basada en GraphRAG con indexación optimizada para extracción rápida de atributos de nodos y hechos discretos", "toolInterviewSubAgent": "InterviewSubAgent Entrevista Virtual", "toolInterviewSubAgentDesc": "Entrevistas autónomas que realizan diálogos paralelos de múltiples rondas con individuos simulados, recopilando datos de opinión no estructurados y estados psicológicos", "profileBio": "Biografía", "chatEmptyReportAgent": "Chatea con el Agente de Reporte para explorar el contenido del reporte en profundidad", "chatEmptyAgent": "Chatea con individuos simulados para comprender sus perspectivas", "chatInputPlaceholder": "Escribe tu pregunta...", "selectSurveyTarget": "Seleccionar objetivos de encuesta", "selectedCount": "Seleccionados {selected} / {total}", "surveyQuestions": "Preguntas de la Encuesta", "surveyInputPlaceholder": "Ingresa la pregunta que quieres hacer a todos los objetivos seleccionados...", "submitSurvey": "Enviar Encuesta", "surveyResults": "Resultados de la Encuesta", "surveyResultsCount": "{count} respuestas", "selectAll": "Seleccionar Todo", "clearSelection": "Limpiar", "errorOccurred": "Lo sentimos, ocurrió un error: {error}", "noResponse": "Sin respuesta", "requestFailed": "Solicitud fallida", "selectAgentFirst": "Por favor selecciona un individuo simulado primero" }, "graph": { "panelTitle": "Visualización de Relaciones del Grafo", "refreshGraph": "Actualizar Grafo", "graphMemoryRealtime": "Memoria de corto/largo plazo de GraphRAG actualizándose en tiempo real", "realtimeUpdating": "Actualizando en tiempo real...", "pendingContentHint": "Parte del contenido aún se está procesando. Considera actualizar el grafo manualmente más tarde.", "nodeDetails": "Detalles del Nodo", "relationship": "Relación", "graphDataLoading": "Cargando datos del grafo...", "waitingOntology": "Esperando generación de ontología...", "toggleMaximize": "Maximizar/Restaurar", "closeHint": "Cerrar aviso" }, "history": { "title": "Historial de Simulaciones", "graphBuild": "Construcción del Grafo", "envSetup": "Configuración del Entorno", "analysisReport": "Reporte de Análisis", "moreFiles": "+{count} archivos", "noFiles": "Sin archivos", "loadingText": "Cargando...", "simRequirement": "Requerimiento de Simulación", "relatedFiles": "Archivos Relacionados", "noRelatedFiles": "Sin archivos relacionados", "replayTitle": "Reproducción de Simulación", "step1Button": "Construcción del Grafo", "step2Button": "Configuración del Entorno", "step4Button": "Reporte de Análisis", "replayHint": "El Paso 3 'Ejecutar Simulación' y el Paso 5 'Interacción Profunda' deben iniciarse durante la ejecución y no soportan reproducción del historial", "notStarted": "No iniciado", "roundsProgress": "{current}/{total} rondas", "untitledSimulation": "Simulación sin título", "unknownFile": "Archivo desconocido" }, "api": { "projectNotFound": "Proyecto no encontrado: {id}", "projectDeleteFailed": "Proyecto no encontrado o eliminación fallida: {id}", "projectDeleted": "Proyecto eliminado: {id}", "projectReset": "Proyecto reiniciado: {id}", "requireSimulationRequirement": "Por favor proporciona un requerimiento de simulación (simulation_requirement)", "requireFileUpload": "Por favor sube al menos un archivo de documento", "noDocProcessed": "No se procesaron documentos exitosamente. Verifica los formatos de archivo.", "requireProjectId": "Por favor proporciona project_id", "configError": "Error de configuración: {details}", "zepApiKeyMissing": "ZEP_API_KEY no configurado", "ontologyNotGenerated": "Ontología aún no generada. Llama a /ontology/generate primero.", "graphBuilding": "Construcción del grafo en progreso. No reenvíes. Para reconstruir, agrega force: true.", "textNotFound": "Contenido de texto extraído no encontrado", "ontologyNotFound": "Definición de ontología no encontrada", "graphBuildStarted": "Tarea de construcción del grafo iniciada. Consulta el progreso en /task/{taskId}.", "graphBuildComplete": "Construcción del grafo completa", "buildFailed": "Construcción fallida: {error}", "taskNotFound": "Tarea no encontrada: {id}", "graphDeleted": "Grafo eliminado: {id}", "entityNotFound": "Entidad no encontrada: {id}", "graphNotBuilt": "Grafo aún no construido. Llama a /api/graph/build primero.", "requireSimulationId": "Por favor proporciona simulation_id", "simulationNotFound": "Simulación no encontrada: {id}", "projectMissingRequirement": "Proyecto sin requerimiento de simulación (simulation_requirement)", "prepareStarted": "Tarea de preparación iniciada. Consulta el progreso en /api/simulation/prepare/status.", "alreadyPrepared": "Preparación ya completada. No es necesario regenerar.", "notStartedPrepare": "Preparación no iniciada. Llama a /api/simulation/prepare.", "taskCompletedPrepared": "Tarea completada (la preparación ya existe)", "requireTaskOrSimId": "Por favor proporciona task_id o simulation_id", "configNotFound": "Configuración de simulación no encontrada. Llama a /prepare primero.", "configFileNotFound": "Archivo de configuración no encontrado. Llama a /prepare primero.", "unknownScript": "Script desconocido: {name}. Disponibles: {allowed}", "scriptFileNotFound": "Archivo de script no encontrado: {name}", "requireGraphId": "Por favor proporciona graph_id", "noMatchingEntities": "No se encontraron entidades coincidentes", "maxRoundsPositive": "max_rounds debe ser un entero positivo", "maxRoundsInvalid": "max_rounds debe ser un entero válido", "invalidPlatform": "Tipo de plataforma inválido: {platform}. Opciones: twitter/reddit/parallel", "simRunningForceHint": "La simulación está en ejecución. Detenla primero en /stop, o usa force=true para reiniciar.", "simNotReady": "Simulación no lista. Estado actual: {status}. Llama a /prepare primero.", "graphIdRequiredForMemory": "La actualización de memoria del grafo requiere un graph_id válido. Asegúrate de que el grafo esté construido.", "dbNotExist": "La base de datos no existe. Es posible que la simulación aún no se haya ejecutado.", "requireMessage": "Por favor proporciona un mensaje", "missingGraphId": "Falta el ID del grafo", "missingGraphIdEnsure": "Falta el ID del grafo. Asegúrate de que el grafo haya sido construido.", "missingSimRequirement": "Falta la descripción del requerimiento de simulación", "reportAlreadyExists": "El reporte ya existe", "reportGenerateStarted": "Tarea de generación de reporte iniciada. Consulta el progreso en /api/report/generate/status.", "reportGenerated": "Reporte generado", "reportNotFound": "Reporte no encontrado: {id}", "noReportForSim": "No se encontró reporte para esta simulación: {id}", "reportDeleted": "Reporte eliminado: {id}", "reportGenerateFailed": "Error en la generación del reporte", "sectionNotFound": "Sección no encontrada: section_{index}.md", "reportProgressNotAvail": "Reporte no encontrado o progreso no disponible: {id}", "requireAgentId": "Por favor proporciona agent_id", "requirePrompt": "Por favor proporciona un prompt (pregunta de entrevista)", "invalidInterviewPlatform": "La plataforma debe ser 'twitter' o 'reddit'", "envNotRunning": "Entorno de simulación no activo o cerrado. Asegúrate de que la simulación esté completa y en modo de espera de comandos.", "interviewTimeout": "Tiempo de espera de respuesta de entrevista agotado: {error}", "requireInterviews": "Por favor proporciona interviews (lista de entrevistas)", "interviewListMissingAgentId": "Elemento {index} de la lista de entrevistas sin agent_id", "interviewListMissingPrompt": "Elemento {index} de la lista de entrevistas sin prompt", "interviewListInvalidPlatform": "Elemento {index} de la lista de entrevistas: la plataforma debe ser 'twitter' o 'reddit'", "batchInterviewTimeout": "Tiempo de espera de entrevista por lotes agotado: {error}", "globalInterviewTimeout": "Tiempo de espera de entrevista global agotado: {error}", "envRunning": "El entorno está activo y listo para comandos de entrevista", "envNotRunningShort": "Entorno no activo o cerrado", "requireGraphIdAndQuery": "Por favor proporciona graph_id y query", "initReportAgent": "Inicializando Agente de Reporte..." }, "progress": { "initGraphService": "Inicializando servicio de construcción del grafo...", "textChunking": "Fragmentando texto...", "creatingZepGraph": "Creando grafo en Zep...", "settingOntology": "Estableciendo definición de ontología...", "addingChunks": "Agregando {count} fragmentos de texto...", "waitingZepProcess": "Esperando a que Zep procese los datos...", "fetchingGraphData": "Obteniendo datos del grafo...", "graphBuildComplete": "Construcción del grafo completa", "buildFailed": "Construcción fallida: {error}", "startBuildingGraph": "Iniciando construcción del grafo...", "graphCreated": "Grafo creado: {graphId}", "ontologySet": "Ontología establecida", "textSplit": "Texto dividido en {count} fragmentos", "fetchingGraphInfo": "Obteniendo información del grafo...", "sendingBatch": "Enviando lote {current}/{total} ({chunks} fragmentos)...", "batchFailed": "Lote {batch} fallido: {error}", "noEpisodesWait": "No hay episodios por esperar", "waitingEpisodes": "Esperando que se procesen {count} fragmentos de texto...", "episodesTimeout": "Algunos fragmentos agotaron el tiempo de espera, {completed}/{total} completados", "zepProcessing": "Zep procesando... {completed}/{total} listos, {pending} pendientes ({elapsed}s)", "processingComplete": "Procesamiento completo: {completed}/{total}", "taskComplete": "Tarea completa", "taskFailed": "Tarea fallida", "startPreparingEnv": "Preparando entorno de simulación...", "connectingZepGraph": "Conectando al grafo de Zep...", "readingNodeData": "Leyendo datos de nodos...", "readingComplete": "Listo, {count} entidades encontradas", "startGenerating": "Iniciando generación...", "analyzingRequirements": "Analizando requisitos de simulación...", "generatingOutline": "Generando esquema del reporte...", "parsingOutline": "Analizando estructura del esquema...", "outlinePlanComplete": "Planificación del esquema completa", "deepSearchAndWrite": "Búsqueda profunda y escritura ({current}/{max})", "initReport": "Inicializando reporte...", "startPlanningOutline": "Planificando esquema del reporte...", "outlineDone": "Esquema completo, {count} secciones", "generatingSection": "Generando sección: {title} ({current}/{total})", "sectionDone": "Sección {title} completa", "assemblingReport": "Ensamblando reporte completo...", "reportComplete": "Generación del reporte completa", "reportFailed": "Error en la generación del reporte: {error}", "savingProfiles": "Guardando archivos de perfil...", "profilesComplete": "Listo, {count} perfiles generados", "callingLLMConfig": "Llamando al LLM para generar configuración...", "savingConfigFiles": "Guardando archivos de configuración...", "configComplete": "Generación de configuración completa", "generatingTimeConfig": "Generando configuración de tiempo...", "generatingEventConfig": "Generando configuración de eventos y temas candentes...", "generatingAgentConfig": "Generando configuración de agentes ({start}-{end}/{total})...", "generatingPlatformConfig": "Generando configuración de plataforma...", "zepSearchQuery": "Toda la información, actividades, eventos, relaciones y antecedentes sobre {name}", "timeConfigLabel": "Configuración de Tiempo", "eventConfigLabel": "Configuración de Eventos", "agentConfigResult": "Configuración de Agentes: {count} generados", "postAssignResult": "Asignación de Publicaciones: {count} publicaciones asignadas", "profileGenerated": "[Generado] {name} ({type})", "readingGraphEntities": "Leyendo Entidades del Grafo", "generatingProfiles": "Generando Perfiles de Agentes", "generatingSimConfig": "Generando Configuración de Simulación", "preparingScripts": "Preparando Scripts" }, "log": { "preparingGoBack": "Preparando para volver al Paso 2, cerrando simulación...", "closingSimEnv": "Cerrando entorno de simulación...", "simEnvClosed": "✓ Entorno de simulación cerrado", "closeSimEnvFailed": "Error al cerrar el entorno de simulación, intentando detención forzada...", "simForceStopSuccess": "✓ Simulación detenida forzosamente", "forceStopFailed": "Detención forzada fallida: {error}", "stoppingSimProcess": "Deteniendo proceso de simulación...", "simStopped": "✓ Simulación detenida", "stopSimFailed": "Error al detener la simulación: {error}", "checkStatusFailed": "Error al verificar el estado de simulación: {error}", "enterStep4": "Entrando al Paso 4: Generación de Reporte", "loadingSimData": "Cargando datos de simulación: {id}", "timeConfig": "Configuración de tiempo: {minutes} minutos por ronda", "timeConfigFetchFailed": "Error al obtener configuración de tiempo, usando valor por defecto: {minutes} min/ronda", "projectLoadSuccess": "Proyecto cargado: {id}", "loadSimDataFailed": "Error al cargar datos de simulación: {error}", "loadException": "Error de carga: {error}", "graphDataLoadSuccess": "Datos del grafo cargados exitosamente", "graphLoadFailed": "Error al cargar el grafo: {error}", "graphRealtimeRefreshStart": "Actualización en tiempo real del grafo habilitada (30s)", "graphRealtimeRefreshStop": "Actualización en tiempo real del grafo detenida", "simRunViewInit": "SimulationRunView inicializado", "customRounds": "Rondas de simulación personalizadas: {rounds}", "enterStep3": "Entrando al Paso 3: Ejecutar Simulación", "customRoundsConfig": "Rondas de simulación personalizadas: {rounds} rondas", "useAutoRounds": "Usando rondas de simulación auto-configuradas", "detectedSimEnvRunning": "Entorno de simulación activo detectado, cerrando...", "closeSimEnvFailedWithError": "Error al cerrar el entorno de simulación: {error}", "closeSimEnvException": "Error de cierre del entorno de simulación: {error}", "detectedSimRunning": "Simulación en ejecución detectada, deteniendo...", "forceStopSimFailed": "Error en detención forzada de simulación: {error}", "forceStopSimException": "Error de detención forzada de simulación: {error}", "simViewInit": "SimulationView inicializado", "errorMissingSimId": "Error: falta simulationId", "simInstanceCreated": "Instancia de simulación creada: {id}", "preparingSimEnv": "Preparando entorno de simulación...", "detectedExistingPrep": "Preparación existente detectada, usándola directamente", "prepareTaskStarted": "Tarea de preparación iniciada", "prepareTaskId": " └─ ID de Tarea: {taskId}", "zepEntitiesFound": "{count} entidades encontradas del grafo de Zep", "entityTypes": " └─ Tipos de entidad: {types}", "startPollingProgress": "Consultando progreso de preparación...", "prepareFailed": "Preparación fallida: {error}", "prepareException": "Error de preparación: {error}", "prepareComplete": "✓ Preparación completa", "prepareFailedWithError": "✗ Preparación fallida: {error}", "startGeneratingConfig": "Generando configuración de simulación de doble plataforma...", "generatingAgentProfileConfig": "Generando configuración de personas de agentes...", "generatingLLMConfig": "Llamando al LLM para generar parámetros de configuración de simulación...", "configComplete": "✓ Configuración de simulación generada", "configSummaryAgents": " ├─ Agentes: {count}", "configSummaryHours": " ├─ Duración: {hours} horas", "configSummaryPosts": " ├─ Publicaciones iniciales: {count}", "configSummaryTopics": " ├─ Temas candentes: {count}", "configSummaryPlatforms": " └─ Plataformas: Twitter {twitter}, Reddit {reddit}", "timeConfigDetail": "Configuración de tiempo: {minutes} min/ronda, {rounds} rondas en total", "narrativeDirection": "Dirección narrativa: {direction}", "envSetupComplete": "✓ Configuración del entorno completa, listo para simular", "startSimCustomRounds": "Iniciando simulación, rondas personalizadas: {rounds}", "startSimAutoRounds": "Iniciando simulación, rondas auto-configuradas: {rounds}", "startGeneratingAgentProfiles": "Generando personas de agentes...", "agentProfile": "→ Persona de agente {current}/{total}: {name} ({profession})", "allProfilesComplete": "✓ Todas las {count} personas de agentes generadas", "loadingExistingConfig": "Cargando datos de configuración existentes...", "loadedAgentProfiles": "{count} personas de agentes cargadas", "configLoadSuccess": "✓ Configuración de simulación cargada", "configSummaryPostsAlt": " └─ Publicaciones iniciales: {count}", "configGenerating": "Configuración generándose, consultando...", "loadConfigFailed": "Error al cargar configuración: {error}", "step2Init": "Configuración del entorno del Paso 2 inicializada", "step3Init": "Ejecución de simulación del Paso 3 inicializada", "startingDualSim": "Iniciando simulación paralela de doble plataforma...", "setMaxRounds": "Rondas máximas de simulación configuradas en: {rounds}", "graphMemoryUpdateEnabled": "Actualización dinámica de memoria del grafo habilitada", "oldSimCleared": "✓ Registros de simulación anteriores eliminados, reiniciando simulación", "engineStarted": "✓ Motor de simulación iniciado exitosamente", "startFailed": "✗ Inicio fallido: {error}", "startException": "✗ Error de inicio: {error}", "stoppingSim": "Deteniendo simulación...", "simStoppedSuccess": "✓ Simulación detenida", "stopFailed": "Detención fallida: {error}", "stopException": "Error de detención: {error}", "allPlatformsCompleted": "✓ Todas las simulaciones de plataforma han terminado", "simCompleted": "✓ Simulación completada", "reportRequestSent": "Solicitud de generación de reporte enviada, por favor espera...", "startingReportGen": "Iniciando generación de reporte...", "reportGenTaskStarted": "✓ Tarea de generación de reporte iniciada: {reportId}", "reportGenFailed": "✗ Error al iniciar generación de reporte: {error}", "reportGenException": "✗ Error de generación de reporte: {error}", "step5Init": "Interacción profunda del Paso 5 inicializada", "selectChatTarget": "Objetivo de chat seleccionado: {name}", "sendFailed": "Envío fallido: {error}", "sendToReportAgent": "Enviado al Agente de Reporte: {message}...", "reportAgentReplied": "El Agente de Reporte respondió", "sendToAgent": "Enviado a {name}: {message}...", "agentReplied": "{name} respondió", "sendSurvey": "Enviando encuesta a {count} objetivos...", "receivedReplies": "{count} respuestas recibidas", "surveySendFailed": "Error al enviar encuesta: {error}", "loadReportData": "Cargando datos del reporte: {id}", "loadReportFailed": "Error al cargar reporte: {error}", "reportDataLoaded": "Datos del reporte cargados", "loadReportLogFailed": "Error al cargar registros del reporte: {error}", "loadedProfiles": "{count} individuos simulados cargados", "loadProfilesFailed": "Error al cargar individuos simulados: {error}", "interactionViewInit": "InteractionView inicializado", "reportViewInit": "ReportView inicializado", "getReportInfoFailed": "Error al obtener información del reporte: {error}", "enterStep": "Entrando al Paso {step}: {name}", "returnToStep": "Volviendo al Paso {step}: {name}", "customSimRounds": "Rondas de simulación personalizadas: {rounds} rondas" }, "report": { "taskStarted": "Tarea de generación de reporte iniciada", "planningStart": "Iniciando planificación del esquema del reporte", "fetchSimContext": "Obteniendo contexto de simulación", "planningComplete": "Planificación del esquema completa", "sectionStart": "Iniciando generación de sección: {title}", "reactThought": "Ronda ReACT {iteration} pensando", "toolCall": "Llamando herramienta: {toolName}", "toolResult": "Herramienta {toolName} devolvió resultado", "llmResponse": "Respuesta del LLM (llamadas a herramientas: {hasToolCalls}, respuesta final: {hasFinalAnswer})", "sectionContentDone": "Generación de contenido de sección {title} completa", "sectionComplete": "Generación de sección {title} completa", "reportComplete": "Generación del reporte completa", "errorOccurred": "Ocurrió un error: {error}", "agentInitDone": "ReportAgent inicializado: graph_id={graphId}, simulation_id={simulationId}", "executingTool": "Ejecutando herramienta: {toolName}, parámetros: {params}", "toolExecFailed": "Ejecución de herramienta fallida: {toolName}, error: {error}", "startPlanningOutline": "Iniciando planificación del esquema del reporte...", "outlinePlanDone": "Planificación del esquema completa: {count} secciones", "outlinePlanFailed": "Error en planificación del esquema: {error}", "reactGenerateSection": "ReACT generando sección: {title}", "sectionIterNone": "Sección {title} iteración {iteration}: el LLM devolvió None", "sectionConflict": "Sección {title} ronda {iteration}: el LLM produjo tanto llamada a herramienta como Respuesta Final (conflicto #{conflictCount})", "sectionConflictDowngrade": "Sección {title}: {conflictCount} conflictos consecutivos, reduciendo a truncar y ejecutar primera llamada a herramienta", "sectionGenDone": "Generación de sección {title} completa (llamadas a herramientas: {count})", "multiToolOnlyFirst": "El LLM intentó {total} llamadas a herramientas, ejecutando solo la primera: {toolName}", "sectionNoPrefix": "Sección {title} sin prefijo 'Final Answer:', adoptando salida del LLM como contenido final (llamadas a herramientas: {count})", "sectionMaxIter": "Sección {title} alcanzó el máximo de iteraciones, forzando generación", "sectionForceFailed": "Sección {title} forzada: el LLM devolvió None, usando mensaje de error por defecto", "sectionGenFailedContent": "(Esta sección no se pudo generar: el LLM devolvió respuesta vacía, por favor reintenta más tarde)", "outlineSavedToFile": "Esquema guardado en archivo: {reportId}/outline.json", "sectionSaved": "Sección guardada: {reportId}/section_{sectionNum}.md", "reportGenDone": "Generación del reporte completa: {reportId}", "reportGenFailed": "Error en la generación del reporte: {error}", "agentChat": "Chat del Agente de Reporte: {message}...", "fetchReportFailed": "Error al obtener contenido del reporte: {error}", "outlineSaved": "Esquema guardado: {reportId}", "sectionFileSaved": "Sección guardada: {reportId}/{fileSuffix}", "fullReportAssembled": "Reporte completo ensamblado: {reportId}", "reportSaved": "Reporte guardado: {reportId}", "reportFolderDeleted": "Carpeta del reporte eliminada: {reportId}", "redirectToQuickSearch": "search_graph redirigido a quick_search", "redirectToInsightForge": "get_simulation_context redirigido a insight_forge" }, "console": { "zepToolsInitialized": "ZepToolsService inicializado", "zepRetryAttempt": "Intento {attempt} de Zep {operation} fallido: {error}, reintentando en {delay}s...", "zepAllRetriesFailed": "Zep {operation} falló después de {retries} intentos: {error}", "graphSearch": "Búsqueda en grafo: graph_id={graphId}, query={query}...", "graphSearchOp": "Búsqueda en grafo (graph={graphId})", "searchComplete": "Búsqueda completa: {count} hechos relevantes encontrados", "zepSearchApiFallback": "API de búsqueda de Zep falló, usando búsqueda local: {error}", "usingLocalSearch": "Usando búsqueda local: query={query}...", "localSearchComplete": "Búsqueda local completa: {count} hechos relevantes encontrados", "localSearchFailed": "Búsqueda local fallida: {error}", "fetchingAllNodes": "Obteniendo todos los nodos del grafo {graphId}...", "fetchedNodes": "{count} nodos obtenidos", "fetchingAllEdges": "Obteniendo todas las aristas del grafo {graphId}...", "fetchedEdges": "{count} aristas obtenidas", "fetchingNodeDetail": "Obteniendo detalle del nodo: {uuid}...", "fetchNodeDetailOp": "Obtener detalle del nodo (uuid={uuid}...)", "fetchNodeDetailFailed": "Error al obtener detalle del nodo: {error}", "fetchingNodeEdges": "Obteniendo aristas del nodo {uuid}...", "foundNodeEdges": "{count} aristas relacionadas con el nodo encontradas", "fetchNodeEdgesFailed": "Error al obtener aristas del nodo: {error}", "fetchingEntitiesByType": "Obteniendo entidades de tipo {type}...", "foundEntitiesByType": "{count} entidades de tipo {type} encontradas", "fetchingEntitySummary": "Obteniendo resumen de relaciones para la entidad {name}...", "fetchingGraphStats": "Obteniendo estadísticas del grafo {graphId}...", "fetchingSimContext": "Obteniendo contexto de simulación: {requirement}...", "insightForgeStart": "InsightForge recuperación profunda de insights: {query}...", "generatedSubQueries": "{count} sub-consultas generadas", "insightForgeComplete": "InsightForge completo: {facts} hechos, {entities} entidades, {relationships} relaciones", "generateSubQueriesFailed": "Error al generar sub-consultas: {error}, usando valores por defecto", "panoramaSearchStart": "PanoramaSearch búsqueda amplia: {query}...", "panoramaSearchComplete": "PanoramaSearch completo: {active} activos, {historical} históricos", "quickSearchStart": "QuickSearch búsqueda simple: {query}...", "quickSearchComplete": "QuickSearch completo: {count} resultados", "interviewAgentsStart": "InterviewAgents entrevista profunda (API real): {requirement}...", "profilesNotFound": "Perfiles no encontrados para simulación {simId}", "loadedProfiles": "{count} perfiles de agentes cargados", "selectedAgentsForInterview": "{count} agentes seleccionados para entrevista: {indices}", "generatedInterviewQuestions": "{count} preguntas de entrevista generadas", "callingBatchInterviewApi": "Llamando API de entrevistas por lotes (doble plataforma): {count} agentes", "interviewApiReturned": "API de entrevistas devolvió: {count} resultados, éxito={success}", "interviewApiReturnedFailure": "API de entrevistas devolvió fallo: {error}", "interviewApiCallFailed": "Llamada a API de entrevistas fallida (¿entorno no activo?): {error}", "interviewApiCallException": "Excepción en llamada a API de entrevistas: {error}", "interviewAgentsComplete": "InterviewAgents completo: {count} agentes entrevistados (doble plataforma)", "loadedRedditProfiles": "{count} perfiles cargados de reddit_profiles.json", "readRedditProfilesFailed": "Error al leer reddit_profiles.json: {error}", "loadedTwitterProfiles": "{count} perfiles cargados de twitter_profiles.csv", "readTwitterProfilesFailed": "Error al leer twitter_profiles.csv: {error}", "llmSelectAgentFailed": "Selección de agente por LLM fallida, usando selección por defecto: {error}", "generateInterviewQuestionsFailed": "Error al generar preguntas de entrevista: {error}", "generateInterviewSummaryFailed": "Error al generar resumen de entrevista: {error}" } }