{
  "knxUltimateAI": {
    "title": "KNX AI (Traffic Analyzer)",
    "sections": {
      "capture": "Capture",
      "storage": "Historial y Resumen",
      "detection": "Deteccion y Alertas",
      "llmConnection": "Conexion del Asistente IA",
      "llmContext": "Contexto del Asistente IA",
      "advanced": "Ajustes Avanzados"
    },
    "properties": {
      "server": "Gateway",
      "name": "Name",
      "topic": "Topic",
      "notifywrite": "Capture GroupValue_Write",
      "notifyresponse": "Capture GroupValue_Response",
      "notifyreadrequest": "Capture GroupValue_Read",
      "analysisWindowSec": "Analysis window (seconds)",
      "historyWindowSec": "History window (seconds)",
      "historyStoreToDisk": "Archivar tambien en disco los telegramas capturados",
      "historyStoreRetentionDays": "Retencion del archivo en disco (dias)",
      "maxEvents": "Max stored events",
      "emitIntervalSec": "Auto emit summary (seconds, 0=off)",
      "topN": "Top list size",
      "enablePattern": "Detect simple patterns (A -> B)",
      "patternMaxLagMs": "Pattern max lag (ms)",
      "patternMinCount": "Pattern min occurrences",
      "rateWindowSec": "Rate window (seconds)",
      "maxTelegramPerSecOverall": "Max overall telegrams/sec (0=off)",
      "maxTelegramPerSecPerGA": "Max telegrams/sec per GA (0=off)",
      "flapWindowSec": "Flap window (seconds)",
      "flapMaxChanges": "Max changes per GA in window (0=off)",
      "llmEnabled": "Enable LLM assistant",
      "llmProvider": "Provider",
      "llmBaseUrl": "Endpoint URL",
      "llmApiKey": "API key",
      "llmModel": "Model",
      "llmSystemPrompt": "System prompt",
      "llmIncludeRaw": "Include raw payload hex",
      "llmIncludeFlowContext": "Incluir inventario del proyecto Node-RED",
      "llmIncludeDocsSnippets": "Include documentation snippets (help/README/examples)",
      "llmDocsLanguage": "Docs language"
    },
    "outputs": {
      "summary": "Resumen/Estadísticas",
      "anomalies": "Anomalías",
      "assistant": "Asistente IA"
    },
    "selectlists": {
      "llmProvider": {
        "openai_compat": "OpenAI-compatible (chat/completions)",
        "ollama": "Ollama (local, beta)"
      }
    },
    "messages": {
      "ollamaNotSupported": "Ollama local mode: API key not required. Default endpoint is http://localhost:11434/api/chat.",
      "ollamaNoModels": "No local Ollama model found. Install one or pick one from the library.",
      "installingOllamaModel": "Starting Ollama and installing model…",
      "installedOllamaModel": "Ollama model installed",
      "installOllamaModelFailed": "Failed to install Ollama model",
      "ollamaInstallSteps": "1) Open the model library and copy the model name (for example llama3.1). 2) Put the name in the Model field and click Install it.",
      "ollamaStartedAuto": "Ollama server started automatically."
    },
    "placeholder": {
      "llmBaseUrl": "https://api.openai.com/v1/chat/completions (or your compatible endpoint)",
      "llmApiKey": "Paste API key (starts with sk-)",
      "llmModel": "e.g. gpt-4o-mini",
      "llmSystemPrompt": "Optional. Leave empty for default."
    },
    "sidebar": {
      "ui": {
        "refreshNodeList": "Actualizar lista de nodos",
        "refreshSummary": "Actualizar resumen",
        "auto": "Auto",
        "sections": {
          "summary": "Resumen",
          "anomalies": "Anomalías",
          "ask": "Preguntar"
        },
        "empty": {
          "noNodes": "No se encontraron nodos KNX AI.",
          "noAnomalies": "Sin anomalías."
        },
        "chat": {
          "placeholder": "Haz una pregunta sobre el tráfico KNX…",
          "send": "Enviar",
          "pending": "Pensando…",
          "llmDisabled": "LLM deshabilitado en la configuración del nodo",
          "emptyAnswer": "(respuesta vacía)"
        },
        "status": {
          "ready": "Listo",
          "loadingNodes": "Cargando nodos…",
          "loading": "Cargando…",
          "asking": "Preguntando…"
        },
        "errors": {
          "loadNodes": "Error al cargar los nodos",
          "loadState": "Error al cargar el estado",
          "askFailed": "Falló la pregunta"
        }
      },
      "summary": {
        "noData": "No hay datos disponibles.",
        "header": {
          "gateway": "Gateway: {{gatewayName}}",
          "updated": "Actualizado: {{at}}"
        },
        "analysisWindowLine": "Ventana de análisis: {{seconds}}s",
        "statsLine": "Telegramas: {{telegrams}} · Tasa: {{rate}}/s · Eco: {{echoed}} · DPT desconocidos: {{unknownDpt}}",
        "topGAsTitle": "Principales direcciones de grupo:",
        "eventsTitle": "Eventos:",
        "patternsTitle": "Patrones (secuencias recurrentes):",
        "patternItem": "{{from}} → {{to}}  ({{count}} veces en {{withinMs}}ms)"
      }
    },
    "buttons": {
      "installOllamaModel": "2) Install it",
      "ollamaLibrary": "Model library",
      "downloadOllamaModel": "1) Download model"
    }
  }
}
