import type { Locale, TranslationTree } from '../i18n';

export const eventsTranslations: Record<Locale, TranslationTree> = {
  en: {
    crumb: { parent: 'Security Protection', current: 'Event Log' },
    hero: {
      eyebrow: 'SECURITY EVENTS · Cross-Scenario Event Stream',
      title: 'Event Log',
      subtitle: 'Alert events from ClawAegisEx (runtime), SecureClaw (audit & hardening), KSecure (host layer). Multi-dimensional filtering by source, severity, rule ID; keyword search for trace_id / subject / evidence snippets.',
    },
    refresh: 'Refresh',
    refreshing: 'Refreshing…',
    stats: {
      total: 'Total Events',
      totalSub: 'Under current filters',
      blocked: 'Blocked',
      blockedSub: 'action=block',
      redacted: 'Redacted',
      redactedSub: 'action=redact',
      observed: 'Observed',
      observedSub: 'action=observe',
    },
    filter: {
      eyebrow: 'Quick Filter',
      title: 'Event Search + Multi-Dimensional Filtering',
      totalFiltered: '{total} events · {filtered} after filter',
      searchPlaceholder: '🔍 Search trace_id / subject / evidence',
      quickFilterLabel: 'Quick filter:',
      clearFilters: '✗ Clear Filters',
    },
    sourceOptions: { all: 'All Sources' },
    severityOptions: { all: 'All Severities', high: 'High (high)', medium: 'Medium (medium)', low: 'Low (low)' },
    sceneOptions: {
      all: 'All Scenarios',
      inputSurface: 'Input Surface',
      stateSurface: 'State Surface',
      decisionSurface: 'Decision Surface',
      outputSurface: 'Output Surface',
      assetAntiTamper: 'Asset Anti-Tamper',
      redactionAlert: 'Redaction Alert',
    },
    actionOptions: { all: 'All Actions' },
    quickChips: {
      blockOnly: 'BLOCK Only',
      todayHigh: 'Today High-Severity',
      jailbreak: 'Jailbreak Type',
      outbound: 'Outbound Block',
      hostAnomaly: 'Host Anomaly',
    },
    table: {
      time: 'Time', source: 'Source', rule: 'Rule', subject: 'Subject',
      evidence: 'Evidence Preview', trace: 'Trace', severity: 'Severity', action: 'Action',
    },
    empty: { loading: 'Loading…', noMatch: 'No matching events.' },
    ruleIdPlaceholder: 'Filter by Rule ID (e.g. defense.userRiskScan)',
  },
  zh: {
    crumb: { parent: '安全防护', current: '事件日志' },
    hero: {
      eyebrow: 'SECURITY EVENTS · 跨场景事件流',
      title: '事件日志',
      subtitle: '来自 ClawAegisEx（运行时）、SecureClaw（审计加固）、KSecure（主机层）的告警事件。支持按来源、严重度、规则 ID 多维筛选；关键字搜索 trace_id / 主体 / 证据片段。',
    },
    refresh: '刷新',
    refreshing: '刷新中…',
    stats: {
      total: '事件总数', totalSub: '当前筛选下',
      blocked: '已拦截', blockedSub: 'action=block',
      redacted: '已脱敏', redactedSub: 'action=redact',
      observed: '观察记录', observedSub: 'action=observe',
    },
    filter: {
      eyebrow: '快速筛选', title: '事件搜索 + 多维过滤',
      totalFiltered: '共 {total} 条 · 筛选后 {filtered}',
      searchPlaceholder: '🔍 搜索 trace_id / 主体 / 证据',
      quickFilterLabel: '快速过滤：',
      clearFilters: '✗ 清除筛选',
    },
    sourceOptions: { all: '全部来源' },
    severityOptions: { all: '全部严重度', high: '高 (high)', medium: '中 (medium)', low: '低 (low)' },
    sceneOptions: {
      all: '全部场景', inputSurface: '输入面', stateSurface: '状态面',
      decisionSurface: '决策面', outputSurface: '输出面',
      assetAntiTamper: '资产防篡改', redactionAlert: '脱敏告警',
    },
    actionOptions: { all: '全部动作' },
    quickChips: {
      blockOnly: '仅 BLOCK', todayHigh: '今日高危', jailbreak: 'jailbreak 类',
      outbound: '出站拦截', hostAnomaly: '主机异常',
    },
    table: {
      time: '时间', source: '来源', rule: '规则', subject: '主体',
      evidence: '证据预览', trace: 'Trace', severity: '严重度', action: '动作',
    },
    empty: { loading: '加载中…', noMatch: '无匹配事件。' },
    ruleIdPlaceholder: '规则 ID 精确过滤（如 defense.userRiskScan）',
  },
  ja: {
    crumb: { parent: 'セキュリティ保護', current: 'イベントログ' },
    hero: {
      eyebrow: 'SECURITY EVENTS · クロスシナリオイベントストリーム',
      title: 'イベントログ',
      subtitle: 'ClawAegisEx（ランタイム）、SecureClaw（監査・ハードニング）、KSecure（ホスト層）からのアラートイベント。ソース、重要度、ルールIDによる多次元フィルタリング；trace_id / 主体 / 証拠スニペットのキーワード検索。',
    },
    refresh: '更新', refreshing: '更新中…',
    stats: {
      total: 'イベント総数', totalSub: '現在のフィルタ下',
      blocked: 'ブロック済み', blockedSub: 'action=block',
      redacted: 'マスキング済み', redactedSub: 'action=redact',
      observed: '観測記録', observedSub: 'action=observe',
    },
    filter: {
      eyebrow: 'クイックフィルター', title: 'イベント検索 + 多次元フィルタリング',
      totalFiltered: '合計 {total} 件 · フィルタ後 {filtered}',
      searchPlaceholder: '🔍 trace_id / 主体 / 証拠を検索',
      quickFilterLabel: 'クイックフィルター：',
      clearFilters: '✗ フィルタークリア',
    },
    sourceOptions: { all: '全ソース' },
    severityOptions: { all: '全重要度', high: '高 (high)', medium: '中 (medium)', low: '低 (low)' },
    sceneOptions: {
      all: '全シナリオ', inputSurface: '入力面', stateSurface: '状態面',
      decisionSurface: '意思決定面', outputSurface: '出力面',
      assetAntiTamper: '資産改ざん防止', redactionAlert: 'マスキングアラート',
    },
    actionOptions: { all: '全アクション' },
    quickChips: { blockOnly: 'BLOCKのみ', todayHigh: '本日高危険', jailbreak: 'jailbreak系', outbound: 'アウトバウンドブロック', hostAnomaly: 'ホスト異常' },
    table: { time: '時刻', source: 'ソース', rule: 'ルール', subject: '主体', evidence: '証拠プレビュー', trace: 'Trace', severity: '重要度', action: 'アクション' },
    empty: { loading: '読み込み中…', noMatch: '一致するイベントなし。' },
    ruleIdPlaceholder: 'ルールIDでフィルタ（例：defense.userRiskScan）',
  },
  ko: {
    crumb: { parent: '보안 보호', current: '이벤트 로그' },
    hero: {
      eyebrow: 'SECURITY EVENTS · 크로스 시나리오 이벤트 스트림',
      title: '이벤트 로그',
      subtitle: 'ClawAegisEx(런타임), SecureClaw(감사 및 강화), KSecure(호스트 계층)의 알림 이벤트. 소스, 심각도, 규칙 ID로 다차원 필터링; trace_id / 주체 / 증거 조각 키워드 검색.',
    },
    refresh: '새로고침', refreshing: '새로고침 중…',
    stats: {
      total: '이벤트 총수', totalSub: '현재 필터 하에서',
      blocked: '차단됨', blockedSub: 'action=block',
      redacted: '마스킹됨', redactedSub: 'action=redact',
      observed: '관찰 기록', observedSub: 'action=observe',
    },
    filter: {
      eyebrow: '빠른 필터', title: '이벤트 검색 + 다차원 필터링',
      totalFiltered: '총 {total}건 · 필터 후 {filtered}',
      searchPlaceholder: '🔍 trace_id / 주체 / 증거 검색',
      quickFilterLabel: '빠른 필터:',
      clearFilters: '✗ 필터 초기화',
    },
    sourceOptions: { all: '전체 소스' },
    severityOptions: { all: '전체 심각도', high: '높음 (high)', medium: '중간 (medium)', low: '낮음 (low)' },
    sceneOptions: {
      all: '전체 시나리오', inputSurface: '입력면', stateSurface: '상태면',
      decisionSurface: '의사결정면', outputSurface: '출력면',
      assetAntiTamper: '자산 변조 방지', redactionAlert: '마스킹 알림',
    },
    actionOptions: { all: '전체 동작' },
    quickChips: { blockOnly: 'BLOCK만', todayHigh: '오늘 고위험', jailbreak: 'jailbreak 유형', outbound: '아웃바운드 차단', hostAnomaly: '호스트 이상' },
    table: { time: '시간', source: '소스', rule: '규칙', subject: '주체', evidence: '증거 미리보기', trace: 'Trace', severity: '심각도', action: '동작' },
    empty: { loading: '로딩 중…', noMatch: '일치하는 이벤트 없음.' },
    ruleIdPlaceholder: '규칙 ID 필터 (예: defense.userRiskScan)',
  },
  de: {
    crumb: { parent: 'Sicherheitsschutz', current: 'Ereignisprotokoll' },
    hero: {
      eyebrow: 'SECURITY EVENTS · Cross-Szenario-Ereignisstrom',
      title: 'Ereignisprotokoll',
      subtitle: 'Alarmereignisse von ClawAegisEx (Laufzeit), SecureClaw (Audit & Härtung), KSecure (Host-Ebene). Mehrdimensionale Filterung nach Quelle, Schweregrad, Regel-ID; Schlüsselwortsuche für trace_id / Subjekt / Beweisfragmente.',
    },
    refresh: 'Aktualisieren', refreshing: 'Aktualisierung…',
    stats: {
      total: 'Gesamtereignisse', totalSub: 'Unter aktuellen Filtern',
      blocked: 'Blockiert', blockedSub: 'action=block',
      redacted: 'Geschwärzt', redactedSub: 'action=redact',
      observed: 'Beobachtet', observedSub: 'action=observe',
    },
    filter: {
      eyebrow: 'Schnellfilter', title: 'Ereignissuche + mehrdimensionale Filterung',
      totalFiltered: '{total} Ereignisse · {filtered} nach Filter',
      searchPlaceholder: '🔍 trace_id / Subjekt / Beweis suchen',
      quickFilterLabel: 'Schnellfilter:',
      clearFilters: '✗ Filter löschen',
    },
    sourceOptions: { all: 'Alle Quellen' },
    severityOptions: { all: 'Alle Schweregrade', high: 'Hoch (high)', medium: 'Mittel (medium)', low: 'Niedrig (low)' },
    sceneOptions: {
      all: 'Alle Szenarien', inputSurface: 'Eingabeoberfläche', stateSurface: 'Zustandsoberfläche',
      decisionSurface: 'Entscheidungsoberfläche', outputSurface: 'Ausgabeoberfläche',
      assetAntiTamper: 'Asset-Manipulationsschutz', redactionAlert: 'Schwärzungsalarm',
    },
    actionOptions: { all: 'Alle Aktionen' },
    quickChips: { blockOnly: 'Nur BLOCK', todayHigh: 'Heute Hoch-Schweregrad', jailbreak: 'Jailbreak-Typ', outbound: 'Outbound-Block', hostAnomaly: 'Host-Anomalie' },
    table: { time: 'Zeit', source: 'Quelle', rule: 'Regel', subject: 'Subjekt', evidence: 'Beweisvorschau', trace: 'Trace', severity: 'Schweregrad', action: 'Aktion' },
    empty: { loading: 'Laden…', noMatch: 'Keine passenden Ereignisse.' },
    ruleIdPlaceholder: 'Nach Regel-ID filtern (z.B. defense.userRiskScan)',
  },
};
