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

/**
 * HostHardeningPage (scenario L) translations.
 * Covers: hero, tabs, file protection, ransom protection, invasion detection,
 * baseline/compliance, modals, toast messages, helper label maps.
 */
export const hostHardeningTranslations: Record<Locale, TranslationTree> = {
  en: {
    hero: {
      eyebrow: 'Host-level Hardening · Runtime Anomaly Detection',
      title: 'Host Hardening Center',
      subtitle: '4 runtime security modules (File Protection / Ransomware Protection / Intrusion Detection / Compliance Detection) — securing the host machine running ClawManager.',
    },
    stats: {
      agentStatus: 'Hardening Agent Status',
      fileAlerts: '24h File Protection Alerts',
      ransomAlerts: '24h Ransomware Alerts',
      invasionAlerts: '24h Intrusion Alerts',
      noFileLogs: 'No interceptions in last 24h',
      fileIntercept: 'File intercepted {file} · Process intercepted {proc}',
      noRansomLogs: 'No interceptions in last 24h',
      ransomIntercept: 'Blocked {block} · Killed {kill}',
      noInvasionLogs: 'No intrusion alerts in last 24h',
      invasionTotal: '{count} incidents',
      other: 'Other',
    },
    agent: {
      offline: 'Offline',
      loading: 'Loading',
      loadingSub: 'Querying ksec-bridge…',
      ready: 'Ready',
      readyDaemon: 'KSec daemon running',
      readyBridge: 'Bridge ready',
      notReady: 'Not Ready',
      ksecNotRunning: 'KSec not running',
      ksecBinMissing: 'KSec binary missing',
      policyDirError: 'Policy dir error',
      logDirError: 'Log dir error',
      partialNotReady: 'Some components not ready',
      bridgeUnreachable: 'Bridge unreachable: {msg}',
    },
    breadcrumb: {
      secplane: 'Security Protection',
      isolate: 'Environment Isolation',
      current: 'Host Hardening',
    },
    tabs: {
      file: 'File Protection',
      ransom: 'Ransomware Protection',
      invasion: 'Intrusion Detection',
      baseline: 'Compliance Detection',
    },
    common: {
      masterSwitch: 'Master Switch',
      saveApply: 'Save & Apply',
      saving: 'Saving…',
      delete: 'Delete',
      add: '+ Add',
      refresh: 'Refresh',
      cancel: 'Cancel',
      confirm: 'Confirm',
      create: 'New',
      operation: 'Action',
      time: 'Time',
      process: 'Process',
      processUser: 'Process User',
    },
    file: {
      eyebrow: 'File Protection · File + Process Dual-track',
      title: 'Critical File & Process Protection',
      desc: 'Protect system critical files and processes from tampering and deletion. Supports file-level permission control (Read/Write/Execute/Delete) + process whitelist/blacklist dual control.',
      defenseMode: 'Defense Mode ⓘ',
      blockMode: 'Block Mode · Intercept on match',
      monitorMode: 'Monitor Mode · Alert only, no interception',
      builtinRules: 'Built-in Rules',
      fileProtect: 'File Protection',
      processProtect: 'Process Protection',
      processProtectLabel: 'Process Protect',
      processBlacklist: 'Process Blacklist',
      builtinDesc: '{count} built-in protection rules. Can be toggled individually.',
      preFileMaster: 'Pre-defined Rules Master Switch',
      colObject: 'Protected Object',
      colDesc: 'Description',
      colPermission: 'Permission',
      colStatus: 'Status',
      customDesc: 'Up to 20 file protection rules. Each can independently configure Read/Write/Execute/Delete permissions.',
      addedRule: 'File protection rule added',
      colFileDir: 'Protected File/Dir',
      colTrust: 'Trusted Process',
      read: 'Read',
      write: 'Write',
      execute: 'Execute',
      deleteLabel: 'Delete',
      ruleDeleted: 'Rule deleted',
      procDesc: 'Up to 20 process protection rules and 20 process blacklist rules.',
      procProtectBlacklist: 'Process Protect / Blacklist',
      procRuleAdded: 'Process protection rule added',
      colProcPath: 'Process Path',
      colRuleType: 'Rule Type',
      logTitle: 'File Protection Logs',
      logRefreshed: 'Logs refreshed',
      colAction: 'Action',
      colResult: 'Result',
      noLogs: 'No file protection logs yet',
      colProtectedObject: 'Protected Object',
    },
    ransom: {
      eyebrow: 'Ransomware Protection · Decoy Files + Behavior Analysis',
      title: 'Ransomware Protection',
      desc: 'Real-time monitoring of potential ransomware threats, timely detection and blocking of malware intrusions. Deploy decoy files at critical system locations and identify ransomware families through behavior analysis.',
      killSuspicious: 'Kill Suspicious Process',
      killYes: 'Yes · Auto-kill on match',
      killNo: 'No · Alert only, handled by ops',
      killWarning: '⚠ Enabling will automatically terminate suspicious processes. Confirm no false positives before enabling.',
      decoyDir: 'Custom Decoy Directories',
      whitelist: 'Whitelist Programs',
      decoyDesc: 'Decoy files are deployed at critical system locations by default. Supports adding custom decoy directories. Up to 20 custom decoy directories.',
      addDecoyTitle: 'Add Custom Decoy Directory',
      addDecoyPlaceholder: 'Enter one directory per line, up to 20 directories',
      decoyAdded: 'Decoy directory added',
      colDecoyDir: 'Decoy Directory',
      colDeployStatus: 'Deploy Status',
      deployed: 'Deployed',
      decoyDeleted: 'Decoy directory deleted',
      whitelistDesc: 'Whitelist programs will not be judged as ransomware when triggering decoys (e.g., backup programs). Up to 20 entries.',
      addWhitelistTitle: 'Add Whitelist Program Path',
      addWhitelistPlaceholder: 'Enter one path per line, up to 20 paths',
      whitelistAdded: 'Whitelist added',
      colProgramPath: 'Program Path',
      whitelistDeleted: 'Whitelist deleted',
      logTitle: 'Ransomware Protection Logs',
      colKillProcess: 'Kill Process',
      noLogs: 'No logs yet',
      terminated: 'Terminated',
      blocked: 'Blocked',
    },
    invasion: {
      eyebrow: 'Intrusion Detection · ATT&CK Framework',
      title: 'Host Intrusion Detection',
      desc: 'Based on the ATT&CK framework intrusion model, real-time monitoring of runtime base events and intrusion engine adjudication to identify intrusion behavior. Toggle 17 built-in rules individually and maintain program whitelists.',
      rules: 'Detection Rules',
      whitelistProg: 'Whitelist Programs',
      rulesDesc: '{count} built-in detection rules, categorized by ATT&CK tactics. Can be toggled individually.',
      wlProgDesc: 'Whitelist programs will not be judged as intrusion when triggering rules, up to 20 entries.',
      addWlProgTitle: 'Add Whitelist Program',
      addWlProgPlaceholder: 'Enter one program path per line, up to 20',
      formatErrorIgnored: 'Format errors ignored: {items}',
      exceedLimit: 'Exceeded 20 limit, {count} entries dropped',
      wlProgAdded: 'Whitelist program added',
      deleted: 'Deleted',
      colProgramPath: 'Program Path',
      colDesc: 'Description',
      colAction: 'Action',
      logTitle: 'Intrusion Detection Logs',
      colCategory: 'Category',
      noLogs: 'No intrusion detection logs yet',
    },
    baseline: {
      eyebrow: 'Compliance Detection · CIS Baseline',
      homeTitle: 'Compliance Detection',
      homeDesc: 'Detect and remediate OS configuration to improve system security and compliance.',
      scannedTitle: 'Compliance scan complete, found {count} risk(s)',
      scannedDesc: 'Last scan {total} items',
      repairedTitle: 'Risk items remediated',
      repairedDesc: 'Remediation succeeded {success} items, failed {fail} items',
      rollbackedTitle: 'Rollback complete',
      rollbackedDesc: 'Rollback succeeded {success} items, failed {fail} items',
      scanning: 'Compliance scan in progress…',
      repairing: 'Risk items being remediated…',
      rollingBack: 'Rolling back remediated items…',
      resetting: 'Resetting scan results…',
      backendRunning: 'KSec backend executing, may take 10-60 seconds',
      scanNow: 'Scan Now',
      rescan: 'Rescan',
      repairNow: 'Repair Now',
      rollback: 'Rollback',
      noPolicy: 'KSec returned no baseline policy — confirm /opt/KSec/policy/baseline.yaml is loaded',
      items: '{count} items',
      itemsWithRisk: '{total} items, {risk} at risk',
      itemsSuccessFail: 'Succeeded {success} items{failPart}',
      failPart: ', Failed {fail} items',
      unchecked: 'Not checked',
      colCheckItem: 'Check Item',
      colBaselineValue: 'Baseline Value',
      colActualValue: 'Actual Value',
      colScanResult: 'Scan Result',
      colBefore: 'Before',
      colAfter: 'After',
      colRepairResult: 'Repair Result',
      colRollbackBefore: 'Before Rollback',
      colRollbackAfter: 'After Rollback',
      colRollbackResult: 'Rollback Result',
      safe: 'Safe',
      notChecked: 'Not checked',
      atRisk: 'At risk',
      repaired: 'Repaired',
      repairFailed: 'Repair failed',
      manualRepair: 'Manual repair needed',
      rolledBack: 'Rolled back',
      rollbackFailed: 'Rollback failed',
      notSupported: 'Not supported',
    },
    toast: {
      loadPolicyFailed: 'Failed to load policy: {msg}',
      applying: 'Applying… Involves KSec daemon restart, ~3-5 seconds',
      saved: 'Configuration saved',
      saveFailed: 'Save failed: {msg}',
      filePolicySaved: 'File protection saved',
      loadFilePolicyFailed: 'Failed to load file protection policy: {msg}',
      invasionPolicySaved: 'Intrusion detection saved',
      loadInvasionPolicyFailed: 'Failed to load intrusion detection policy: {msg}',
      loadBaselinePolicyFailed: 'Failed to load compliance policy: {msg}',
      selectOneCategory: 'Please select at least one category before scanning',
      baselineScanComplete: 'Compliance scan complete',
      baselineScanFailed: 'Compliance scan failed: {msg}',
      repairComplete: 'Risk items remediated',
      repairFailed: 'Risk item remediation failed: {msg}',
      rollbackSuccess: 'Rollback successful',
      rollbackFailed: 'Rollback failed: {msg}',
      resetFailed: 'Reset failed: {msg}',
      resetSuccess: 'Reset successful, please re-run scan',
    },
    modal: {
      batchPathHint: 'Enter one entry per line, up to 20',
      fileRuleTitle: 'Add File Protection Rule',
      fileDirLabel: '* Protected File/Dir',
      fileDirPlaceholder: 'Enter absolute path',
      trustLabel: 'Trusted Process',
      trustTitle: 'Trust Process',
      trustHint: 'Empty trusted process means trust all processes.\nSupports directory format',
      trustPlaceholder: 'Enter one trusted process per line, up to 20; supports directories',
      permissionLabel: 'Permission ⓘ',
      permissionHint: '1. Permission: configure trusted process permissions for protected file/dir; non-trusted processes have no permissions\n2. Write: includes create, write, move or rename permissions',
      procRuleTitle: 'Add Process Protection Rule',
      ruleTypeLabel: '* Rule Type',
      procPathLabel: '* Process Path',
      procPathPlaceholder: 'Enter one process path per line, up to 20',
    },
    // Operation / Action / Mode label maps
    operation: {
      chmod: 'Modify permission',
      read: 'Read file',
      write: 'Write file',
      execute: 'Execute process',
      delete: 'Delete file',
      create: 'Create file',
      kill: 'Terminate process',
      moveOrRename: 'Move or rename file',
    },
    action: {
      block: 'Block',
      monitor: 'Allow',
    },
    mode: {
      all: 'All',
      read: 'Read',
      write: 'Write',
      execute: 'Execute',
      delete: 'Delete',
    },
  },

  zh: {
    hero: {
      eyebrow: '主机层加固 · 运行时异常行为检测',
      title: '宿主加固中心',
      subtitle: '4 个运行时安全模块（主机防护 / 勒索防护 / 入侵检测 / 合规检测）— 守护 ClawManager 所在宿主机安全。',
    },
    stats: {
      agentStatus: '加固代理状态',
      fileAlerts: '24h 主机防护告警',
      ransomAlerts: '24h 勒索防护告警',
      invasionAlerts: '24h 入侵检测告警',
      noFileLogs: '近 24h 无拦截记录',
      fileIntercept: '文件拦截 {file} · 进程拦截 {proc}',
      noRansomLogs: '近 24h 无拦截记录',
      ransomIntercept: '阻断 {block} · 终止 {kill}',
      noInvasionLogs: '近 24h 无入侵告警',
      invasionTotal: '共 {count} 起',
      other: '其他',
    },
    agent: {
      offline: '离线',
      loading: '加载中',
      loadingSub: '查询 ksec-bridge…',
      ready: '就绪',
      readyDaemon: 'KSec 守护进程运行中',
      readyBridge: 'bridge 已就绪',
      notReady: '未就绪',
      ksecNotRunning: 'KSec 未运行',
      ksecBinMissing: 'KSec 二进制缺失',
      policyDirError: '策略目录异常',
      logDirError: '日志目录异常',
      partialNotReady: '部分组件未就绪',
      bridgeUnreachable: 'bridge 不可达：{msg}',
    },
    breadcrumb: {
      secplane: '安全防护',
      isolate: '环境隔离与安全增强',
      current: '宿主加固',
    },
    tabs: {
      file: '主机防护',
      ransom: '勒索防护',
      invasion: '入侵检测',
      baseline: '合规检测',
    },
    common: {
      masterSwitch: '总开关',
      saveApply: '保存并应用',
      saving: '保存中…',
      delete: '删除',
      add: '+ 添加',
      refresh: '刷新',
      cancel: '取消',
      confirm: '确定',
      create: '新建',
      operation: '操作',
      time: '时间',
      process: '进程',
      processUser: '进程用户',
    },
    file: {
      eyebrow: '主机防护 · 文件 + 进程 双轨',
      title: '关键文件与进程防护',
      desc: '保护系统关键文件、进程，防止被篡改和删除。支持文件级权限控制（读/写/执行/删除）+ 进程白名单/黑名单双重控制。',
      defenseMode: '防御模式 ⓘ',
      blockMode: '拦截模式 · 命中即阻断',
      monitorMode: '监控模式 · 仅告警不阻断',
      builtinRules: '内置规则',
      fileProtect: '文件防护',
      processProtect: '进程防护',
      processProtectLabel: '进程保护',
      processBlacklist: '进程黑名单',
      builtinDesc: '共 {count} 条出厂内置防护规则。可逐条启停。',
      preFileMaster: '预定义规则总开关',
      colObject: '保护对象',
      colDesc: '说明',
      colPermission: '权限',
      colStatus: '状态',
      customDesc: '最多支持 20 条文件防护规则。每条可独立配置 读 / 写 / 执行 / 删除 四种权限。',
      addedRule: '已添加文件防护规则',
      colFileDir: '保护文件/目录',
      colTrust: '信任进程',
      read: '读',
      write: '写',
      execute: '执行',
      deleteLabel: '删除',
      ruleDeleted: '已删除规则',
      procDesc: '最多支持 20 条进程保护规则、20 条进程黑名单规则。',
      procProtectBlacklist: '进程保护 / 黑名单',
      procRuleAdded: '已添加进程防护规则',
      colProcPath: '进程路径',
      colRuleType: '规则类型',
      logTitle: '主机防护日志',
      logRefreshed: '已刷新日志',
      colAction: '动作',
      colResult: '处理结果',
      noLogs: '暂无主机防护日志',
      colProtectedObject: '保护对象',
    },
    ransom: {
      eyebrow: '勒索病毒防护 · 诱饵文件 + 行为分析',
      title: '勒索防护',
      desc: '实时监测潜在的勒索病毒威胁，及时发现和阻止恶意软件的入侵。在系统关键位置投放诱饵文件，结合行为分析识别勒索家族。',
      killSuspicious: '终止可疑进程',
      killYes: '是 · 命中后自动 kill',
      killNo: '否 · 仅告警，由运维处置',
      killWarning: '⚠ 启用后将自动终止可疑进程，建议确认无误报后再开',
      decoyDir: '自定义诱饵目录',
      whitelist: '白名单程序',
      decoyDesc: '默认在系统关键位置投放诱饵文件，并支持增加诱饵目录。最多支持 20 条自定义诱饵目录。',
      addDecoyTitle: '添加自定义诱饵目录',
      addDecoyPlaceholder: '支持输入单条/多条目录，每行填写一条，最多支持 20 条目录',
      decoyAdded: '已添加诱饵目录',
      colDecoyDir: '诱饵目录',
      colDeployStatus: '投放状态',
      deployed: '已投放',
      decoyDeleted: '已删除诱饵目录',
      whitelistDesc: '白名单程序在触发诱饵时不会被判定为勒索行为（如备份程序）。最多支持 20 条。',
      addWhitelistTitle: '添加白名单程序路径',
      addWhitelistPlaceholder: '支持输入单条/多条路径，每行填写一条，最多支持 20 条路径',
      whitelistAdded: '已添加白名单',
      colProgramPath: '程序路径',
      whitelistDeleted: '已删除白名单',
      logTitle: '勒索防护日志',
      colKillProcess: '终止进程',
      noLogs: '暂无日志',
      terminated: '终止',
      blocked: '阻断',
    },
    invasion: {
      eyebrow: '入侵检测 · ATT&CK 框架',
      title: '主机入侵检测',
      desc: '基于 ATT&CK 框架中的入侵模型，实时监控运行时基础事件并通过入侵引擎判决来识别入侵行为。逐条启停 17 项内置规则，并维护程序白名单。',
      rules: '检测规则',
      whitelistProg: '白名单程序',
      rulesDesc: '共 {count} 项内置检测规则，按 ATT&CK 战术分类。可逐项启用/禁用。',
      wlProgDesc: '白名单程序在触发规则时不会被判定为入侵行为，最多 20 条。',
      addWlProgTitle: '添加白名单程序',
      addWlProgPlaceholder: '支持输入单条/多条程序路径，每行填写一条，最多支持 20 条',
      formatErrorIgnored: '格式错误已忽略：{items}',
      exceedLimit: '超过 20 条上限，丢弃 {count} 条',
      wlProgAdded: '已添加白名单程序',
      deleted: '已删除',
      colProgramPath: '程序路径',
      colDesc: '说明',
      colAction: '操作',
      logTitle: '入侵检测日志',
      colCategory: '类别',
      noLogs: '暂无入侵检测日志',
    },
    baseline: {
      eyebrow: '合规检测 · CIS 基线',
      homeTitle: '合规性检测',
      homeDesc: '通过对操作系统的配置进行检测和修复，提高系统的安全性和合规性。',
      scannedTitle: '合规性检测完成，发现 {count} 项风险',
      scannedDesc: '最近一次检测 {total} 项',
      repairedTitle: '风险项已修复完成',
      repairedDesc: '修复成功 {success} 项，失败 {fail} 项',
      rollbackedTitle: '修复项回滚完成',
      rollbackedDesc: '回滚成功 {success} 项，失败 {fail} 项',
      scanning: '正在合规检测中…',
      repairing: '风险项正在修复中…',
      rollingBack: '修复项正在回滚中…',
      resetting: '正在重置检测结果…',
      backendRunning: 'KSec 后端执行中，可能需要 10-60 秒',
      scanNow: '立即检测',
      rescan: '重新检测',
      repairNow: '立即修复',
      rollback: '回滚修复',
      noPolicy: 'KSec 未返回基线策略——确认 /opt/KSec/policy/baseline.yaml 已加载',
      items: '{count} 项',
      itemsWithRisk: '{total} 项，风险 {risk} 项',
      itemsSuccessFail: '成功 {success} 项{failPart}',
      failPart: '，失败 {fail} 项',
      unchecked: '未检测',
      colCheckItem: '检测项',
      colBaselineValue: '基线值',
      colActualValue: '实际值',
      colScanResult: '检测结果',
      colBefore: '修复前',
      colAfter: '修复后',
      colRepairResult: '修复结果',
      colRollbackBefore: '回滚前',
      colRollbackAfter: '回滚后',
      colRollbackResult: '回滚结果',
      safe: '安全',
      notChecked: '未检测',
      atRisk: '有风险',
      repaired: '已修复',
      repairFailed: '修复失败',
      manualRepair: '需手动修复',
      rolledBack: '已回滚',
      rollbackFailed: '回滚失败',
      notSupported: '不支持',
    },
    toast: {
      loadPolicyFailed: '加载策略失败：{msg}',
      applying: '正在应用… 涉及 KSec daemon 重启，约 3-5 秒',
      saved: '配置已保存',
      saveFailed: '保存失败：{msg}',
      filePolicySaved: '主机防护已保存',
      loadFilePolicyFailed: '加载主机防护策略失败：{msg}',
      invasionPolicySaved: '入侵检测已保存',
      loadInvasionPolicyFailed: '加载入侵检测策略失败：{msg}',
      loadBaselinePolicyFailed: '加载合规策略失败：{msg}',
      selectOneCategory: '请至少勾选一个大类后再检测',
      baselineScanComplete: '合规检测完成',
      baselineScanFailed: '合规检测失败：{msg}',
      repairComplete: '风险项修复完成',
      repairFailed: '风险项修复失败：{msg}',
      rollbackSuccess: '修复项回滚成功',
      rollbackFailed: '修复项回滚失败：{msg}',
      resetFailed: '重置失败：{msg}',
      resetSuccess: '重置成功，请重新执行检测',
    },
    modal: {
      batchPathHint: '每行填写一条，最多支持 20 条',
      fileRuleTitle: '添加文件防护规则',
      fileDirLabel: '* 保护文件/目录',
      fileDirPlaceholder: '请输入绝对路径',
      trustLabel: '信任进程',
      trustTitle: '信任进程',
      trustHint: '信任进程为空时表示信任所有进程\n支持目录形式',
      trustPlaceholder: '支持输入单条/多条信任进程，每行填写一条，最多 20 条；支持目录',
      permissionLabel: '权限 ⓘ',
      permissionHint: '1、权限：配置信任进程对保护文件/目录的权限，非信任进程对保护文件/目录无权限\n2、写：包含创建、写、移动或重命名权限',
      procRuleTitle: '添加进程防护规则',
      ruleTypeLabel: '* 规则类型',
      procPathLabel: '* 进程路径',
      procPathPlaceholder: '支持输入单条/多条进程路径，每行填写一条，最多支持 20 条',
    },
    operation: {
      chmod: '修改权限',
      read: '读文件',
      write: '写文件',
      execute: '执行进程',
      delete: '删除文件',
      create: '创建文件',
      kill: '终止进程',
      moveOrRename: '移动或重命名文件',
    },
    action: {
      block: '阻断',
      monitor: '放行',
    },
    mode: {
      all: '全部',
      read: '读',
      write: '写',
      execute: '执行',
      delete: '删除',
    },
  },

  ja: {
    hero: {
      eyebrow: 'ホストレベル強化 · ランタイム異常動作検出',
      title: 'ホスト強化センター',
      subtitle: '4つのランタイムセキュリティモジュール（ファイル保護 / ランサムウェア保護 / 侵入検出 / コンプライアンス検出）— ClawManagerが動作するホストマシンを保護。',
    },
    stats: {
      agentStatus: '強化エージェント状態',
      fileAlerts: '24h ファイル保護アラート',
      ransomAlerts: '24h ランサムウェアアラート',
      invasionAlerts: '24h 侵入検出アラート',
      noFileLogs: '過去24hに傍受記録なし',
      fileIntercept: 'ファイル傍受 {file} · プロセス傍受 {proc}',
      noRansomLogs: '過去24hに傍受記録なし',
      ransomIntercept: 'ブロック {block} · 停止 {kill}',
      noInvasionLogs: '過去24hに侵入アラートなし',
      invasionTotal: '計 {count} 件',
      other: 'その他',
    },
    agent: {
      offline: 'オフライン',
      loading: '読み込み中',
      loadingSub: 'ksec-bridgeに問い合わせ中…',
      ready: '準備完了',
      readyDaemon: 'KSecデーモン実行中',
      readyBridge: 'Bridge準備完了',
      notReady: '未準備',
      ksecNotRunning: 'KSec未実行',
      ksecBinMissing: 'KSecバイナリ不足',
      policyDirError: 'ポリシーディレクトリ異常',
      logDirError: 'ログディレクトリ異常',
      partialNotReady: '一部コンポーネント未準備',
      bridgeUnreachable: 'Bridge到達不能: {msg}',
    },
    breadcrumb: {
      secplane: 'セキュリティ保護',
      isolate: '環境分離とセキュリティ強化',
      current: 'ホスト強化',
    },
    tabs: {
      file: 'ファイル保護',
      ransom: 'ランサムウェア保護',
      invasion: '侵入検出',
      baseline: 'コンプライアンス検出',
    },
    common: {
      masterSwitch: 'マスタースイッチ',
      saveApply: '保存して適用',
      saving: '保存中…',
      delete: '削除',
      add: '+ 追加',
      refresh: '更新',
      cancel: 'キャンセル',
      confirm: '確認',
      create: '新規',
      operation: '操作',
      time: '時刻',
      process: 'プロセス',
      processUser: 'プロセスユーザー',
    },
    file: {
      eyebrow: 'ファイル保護 · ファイル + プロセス デュアルトラック',
      title: '重要ファイルとプロセス保護',
      desc: 'システムの重要ファイルとプロセスを改ざんや削除から保護。ファイルレベルの権限制御（読み/書き/実行/削除）+ プロセスホワイトリスト/ブラックリストのデュアル制御をサポート。',
      defenseMode: '防御モード ⓘ',
      blockMode: 'ブロックモード · 一致時に傍受',
      monitorMode: 'モニターモード · アラートのみ、傍受なし',
      builtinRules: '組み込みルール',
      fileProtect: 'ファイル保護',
      processProtect: 'プロセス保護',
      processProtectLabel: 'プロセス保護',
      processBlacklist: 'プロセスブラックリスト',
      builtinDesc: '{count}件の組み込み保護ルール。個別に切り替え可能。',
      preFileMaster: '定義済みルールマスタースイッチ',
      colObject: '保護対象',
      colDesc: '説明',
      colPermission: '権限',
      colStatus: '状態',
      customDesc: '最大20件のファイル保護ルール。それぞれ読み/書き/実行/削除の権限を個別に設定可能。',
      addedRule: 'ファイル保護ルールを追加しました',
      colFileDir: '保護ファイル/ディレクトリ',
      colTrust: '信頼プロセス',
      read: '読み',
      write: '書き',
      execute: '実行',
      deleteLabel: '削除',
      ruleDeleted: 'ルールを削除しました',
      procDesc: '最大20件のプロセス保護ルール、20件のプロセスブラックリストルール。',
      procProtectBlacklist: 'プロセス保護 / ブラックリスト',
      procRuleAdded: 'プロセス保護ルールを追加しました',
      colProcPath: 'プロセスパス',
      colRuleType: 'ルールタイプ',
      logTitle: 'ファイル保護ログ',
      logRefreshed: 'ログを更新しました',
      colAction: 'アクション',
      colResult: '処理結果',
      noLogs: 'ファイル保護ログはまだありません',
      colProtectedObject: '保護対象',
    },
    ransom: {
      eyebrow: 'ランサムウェア保護 · おとりファイル + 動作分析',
      title: 'ランサムウェア保護',
      desc: 'ランサムウェアの脅威をリアルタイムで監視し、マルウェアの侵入を迅速に検出・ブロック。システムの重要な位置におとりファイルを配置し、動作分析でランサムウェアファミリを特定。',
      killSuspicious: '不審プロセスの停止',
      killYes: 'はい · 一致時に自動kill',
      killNo: 'いいえ · アラートのみ、運用が対応',
      killWarning: '⚠ 有効にすると不審なプロセスが自動的に停止されます。誤検知がないことを確認してから有効にしてください。',
      decoyDir: 'カスタムおとりディレクトリ',
      whitelist: 'ホワイトリストプログラム',
      decoyDesc: 'デフォルトでシステムの重要な位置におとりファイルを配置。カスタムおとりディレクトリの追加をサポート。最大20件。',
      addDecoyTitle: 'カスタムおとりディレクトリを追加',
      addDecoyPlaceholder: '1行に1つのディレクトリを入力、最大20件',
      decoyAdded: 'おとりディレクトリを追加しました',
      colDecoyDir: 'おとりディレクトリ',
      colDeployStatus: '配置状態',
      deployed: '配置済み',
      decoyDeleted: 'おとりディレクトリを削除しました',
      whitelistDesc: 'ホワイトリストプログラムはおとりをトリガーしてもランサムウェアと判定されません（バックアッププログラムなど）。最大20件。',
      addWhitelistTitle: 'ホワイトリストプログラムパスを追加',
      addWhitelistPlaceholder: '1行に1つのパスを入力、最大20件',
      whitelistAdded: 'ホワイトリストを追加しました',
      colProgramPath: 'プログラムパス',
      whitelistDeleted: 'ホワイトリストを削除しました',
      logTitle: 'ランサムウェア保護ログ',
      colKillProcess: 'プロセス停止',
      noLogs: 'ログはまだありません',
      terminated: '停止',
      blocked: 'ブロック',
    },
    invasion: {
      eyebrow: '侵入検出 · ATT&CKフレームワーク',
      title: 'ホスト侵入検出',
      desc: 'ATT&CKフレームワークの侵入モデルに基づき、ランタイムの基本イベントをリアルタイム監視し、侵入エンジンの判定で侵入動作を特定。17の組み込みルールを個別に切り替え、プログラムホワイトリストを管理。',
      rules: '検出ルール',
      whitelistProg: 'ホワイトリストプログラム',
      rulesDesc: '{count}件の組み込み検出ルール、ATT&CK戦術別に分類。個別に有効/無効を切り替え可能。',
      wlProgDesc: 'ホワイトリストプログラムはルールをトリガーしても侵入と判定されません。最大20件。',
      addWlProgTitle: 'ホワイトリストプログラムを追加',
      addWlProgPlaceholder: '1行に1つのプログラムパスを入力、最大20件',
      formatErrorIgnored: 'フォーマットエラーを無視: {items}',
      exceedLimit: '20件の上限を超過、{count}件を破棄',
      wlProgAdded: 'ホワイトリストプログラムを追加しました',
      deleted: '削除しました',
      colProgramPath: 'プログラムパス',
      colDesc: '説明',
      colAction: '操作',
      logTitle: '侵入検出ログ',
      colCategory: 'カテゴリ',
      noLogs: '侵入検出ログはまだありません',
    },
    baseline: {
      eyebrow: 'コンプライアンス検出 · CISベースライン',
      homeTitle: 'コンプライアンス検出',
      homeDesc: 'OSの設定を検出・修復し、システムのセキュリティとコンプライアンスを向上させます。',
      scannedTitle: 'コンプライアンススキャン完了、{count}件のリスクを検出',
      scannedDesc: '最後のスキャン {total} 項目',
      repairedTitle: 'リスク項目の修復が完了しました',
      repairedDesc: '修復成功 {success} 項目、失敗 {fail} 項目',
      rollbackedTitle: 'ロールバック完了',
      rollbackedDesc: 'ロールバック成功 {success} 項目、失敗 {fail} 項目',
      scanning: 'コンプライアンススキャン中…',
      repairing: 'リスク項目を修復中…',
      rollingBack: '修復項目をロールバック中…',
      resetting: 'スキャン結果をリセット中…',
      backendRunning: 'KSecバックエンド実行中、10〜60秒かかる場合があります',
      scanNow: '今すぐスキャン',
      rescan: '再スキャン',
      repairNow: '今すぐ修復',
      rollback: 'ロールバック',
      noPolicy: 'KSecからベースラインポリシーが返されませんでした — /opt/KSec/policy/baseline.yamlが読み込まれていることを確認してください',
      items: '{count}項目',
      itemsWithRisk: '{total}項目、リスク {risk} 項目',
      itemsSuccessFail: '成功 {success} 項目{failPart}',
      failPart: '、失敗 {fail} 項目',
      unchecked: '未検査',
      colCheckItem: '検査項目',
      colBaselineValue: 'ベースライン値',
      colActualValue: '実際の値',
      colScanResult: 'スキャン結果',
      colBefore: '修復前',
      colAfter: '修復後',
      colRepairResult: '修復結果',
      colRollbackBefore: 'ロールバック前',
      colRollbackAfter: 'ロールバック後',
      colRollbackResult: 'ロールバック結果',
      safe: '安全',
      notChecked: '未検査',
      atRisk: 'リスクあり',
      repaired: '修復済み',
      repairFailed: '修復失敗',
      manualRepair: '手動修復が必要',
      rolledBack: 'ロールバック済み',
      rollbackFailed: 'ロールバック失敗',
      notSupported: '未サポート',
    },
    toast: {
      loadPolicyFailed: 'ポリシーの読み込みに失敗しました: {msg}',
      applying: '適用中… KSecデーモンの再起動を伴います、約3〜5秒',
      saved: '設定を保存しました',
      saveFailed: '保存に失敗しました: {msg}',
      filePolicySaved: 'ファイル保護を保存しました',
      loadFilePolicyFailed: 'ファイル保護ポリシーの読み込みに失敗しました: {msg}',
      invasionPolicySaved: '侵入検出を保存しました',
      loadInvasionPolicyFailed: '侵入検出ポリシーの読み込みに失敗しました: {msg}',
      loadBaselinePolicyFailed: 'コンプライアンスポリシーの読み込みに失敗しました: {msg}',
      selectOneCategory: 'スキャン前に少なくとも1つのカテゴリを選択してください',
      baselineScanComplete: 'コンプライアンススキャン完了',
      baselineScanFailed: 'コンプライアンススキャンに失敗しました: {msg}',
      repairComplete: 'リスク項目の修復が完了しました',
      repairFailed: 'リスク項目の修復に失敗しました: {msg}',
      rollbackSuccess: 'ロールバックに成功しました',
      rollbackFailed: 'ロールバックに失敗しました: {msg}',
      resetFailed: 'リセットに失敗しました: {msg}',
      resetSuccess: 'リセット成功、再度スキャンを実行してください',
    },
    modal: {
      batchPathHint: '1行に1つ入力、最大20件',
      fileRuleTitle: 'ファイル保護ルールを追加',
      fileDirLabel: '* 保護ファイル/ディレクトリ',
      fileDirPlaceholder: '絶対パスを入力してください',
      trustLabel: '信頼プロセス',
      trustTitle: '信頼プロセス',
      trustHint: '信頼プロセスが空の場合、すべてのプロセスを信頼します\nディレクトリ形式をサポート',
      trustPlaceholder: '1行に1つの信頼プロセスを入力、最大20件。ディレクトリをサポート',
      permissionLabel: '権限 ⓘ',
      permissionHint: '1. 権限: 信頼プロセスの保護ファイル/ディレクトリへの権限を設定。非信頼プロセスは権限なし\n2. 書き込み: 作成、書き込み、移動または名前変更の権限を含む',
      procRuleTitle: 'プロセス保護ルールを追加',
      ruleTypeLabel: '* ルールタイプ',
      procPathLabel: '* プロセスパス',
      procPathPlaceholder: '1行に1つのプロセスパスを入力、最大20件',
    },
    operation: {
      chmod: '権限変更',
      read: 'ファイル読み取り',
      write: 'ファイル書き込み',
      execute: 'プロセス実行',
      delete: 'ファイル削除',
      create: 'ファイル作成',
      kill: 'プロセス停止',
      moveOrRename: 'ファイルの移動または名前変更',
    },
    action: {
      block: 'ブロック',
      monitor: '許可',
    },
    mode: {
      all: 'すべて',
      read: '読み',
      write: '書き',
      execute: '実行',
      delete: '削除',
    },
  },

  ko: {
    hero: {
      eyebrow: '호스트 수준 강화 · 런타임 비정상 동작 탐지',
      title: '호스트 강화 센터',
      subtitle: '4개의 런타임 보안 모듈(파일 보호 / 랜섬웨어 보호 / 침입 탐지 / 컴플라이언스 탐지) — ClawManager가 실행되는 호스트 머신 보호.',
    },
    stats: {
      agentStatus: '강화 에이전트 상태',
      fileAlerts: '24h 파일 보호 알림',
      ransomAlerts: '24h 랜섬웨어 알림',
      invasionAlerts: '24h 침입 탐지 알림',
      noFileLogs: '최근 24h 차단 기록 없음',
      fileIntercept: '파일 차단 {file} · 프로세스 차단 {proc}',
      noRansomLogs: '최근 24h 차단 기록 없음',
      ransomIntercept: '차단 {block} · 종료 {kill}',
      noInvasionLogs: '최근 24h 침입 알림 없음',
      invasionTotal: '총 {count}건',
      other: '기타',
    },
    agent: {
      offline: '오프라인',
      loading: '로딩 중',
      loadingSub: 'ksec-bridge 쿼리 중…',
      ready: '준비 완료',
      readyDaemon: 'KSec 데몬 실행 중',
      readyBridge: 'Bridge 준비 완료',
      notReady: '미준비',
      ksecNotRunning: 'KSec 미실행',
      ksecBinMissing: 'KSec 바이너리 누락',
      policyDirError: '정책 디렉토리 오류',
      logDirError: '로그 디렉토리 오류',
      partialNotReady: '일부 구성 요소 미준비',
      bridgeUnreachable: 'Bridge 접근 불가: {msg}',
    },
    breadcrumb: {
      secplane: '보안 보호',
      isolate: '환경 격리 및 보안 강화',
      current: '호스트 강화',
    },
    tabs: {
      file: '파일 보호',
      ransom: '랜섬웨어 보호',
      invasion: '침입 탐지',
      baseline: '컴플라이언스 탐지',
    },
    common: {
      masterSwitch: '마스터 스위치',
      saveApply: '저장 및 적용',
      saving: '저장 중…',
      delete: '삭제',
      add: '+ 추가',
      refresh: '새로고침',
      cancel: '취소',
      confirm: '확인',
      create: '신규',
      operation: '작업',
      time: '시간',
      process: '프로세스',
      processUser: '프로세스 사용자',
    },
    file: {
      eyebrow: '파일 보호 · 파일 + 프로세스 듀얼 트랙',
      title: '중요 파일 및 프로세스 보호',
      desc: '시스템 중요 파일 및 프로세스를 변조 및 삭제로부터 보호. 파일 수준 권한 제어(읽기/쓰기/실행/삭제) + 프로세스 화이트리스트/블랙리스트 이중 제어 지원.',
      defenseMode: '방어 모드 ⓘ',
      blockMode: '차단 모드 · 일치 시 차단',
      monitorMode: '모니터 모드 · 알림만, 차단 없음',
      builtinRules: '내장 규칙',
      fileProtect: '파일 보호',
      processProtect: '프로세스 보호',
      processProtectLabel: '프로세스 보호',
      processBlacklist: '프로세스 블랙리스트',
      builtinDesc: '{count}개의 내장 보호 규칙. 개별적으로 토글 가능.',
      preFileMaster: '사전 정의 규칙 마스터 스위치',
      colObject: '보호 대상',
      colDesc: '설명',
      colPermission: '권한',
      colStatus: '상태',
      customDesc: '최대 20개의 파일 보호 규칙. 각각 읽기/쓰기/실행/삭제 권한을 독립적으로 설정 가능.',
      addedRule: '파일 보호 규칙이 추가되었습니다',
      colFileDir: '보호 파일/디렉토리',
      colTrust: '신뢰 프로세스',
      read: '읽기',
      write: '쓰기',
      execute: '실행',
      deleteLabel: '삭제',
      ruleDeleted: '규칙이 삭제되었습니다',
      procDesc: '최대 20개의 프로세스 보호 규칙, 20개의 프로세스 블랙리스트 규칙.',
      procProtectBlacklist: '프로세스 보호 / 블랙리스트',
      procRuleAdded: '프로세스 보호 규칙이 추가되었습니다',
      colProcPath: '프로세스 경로',
      colRuleType: '규칙 유형',
      logTitle: '파일 보호 로그',
      logRefreshed: '로그가 새로고침되었습니다',
      colAction: '동작',
      colResult: '처리 결과',
      noLogs: '파일 보호 로그가 아직 없습니다',
      colProtectedObject: '보호 대상',
    },
    ransom: {
      eyebrow: '랜섬웨어 보호 · 미끼 파일 + 동작 분석',
      title: '랜섬웨어 보호',
      desc: '잠재적인 랜섬웨어 위협을 실시간 모니터링하고 악성코드 침입을 즉시 탐지 및 차단. 시스템 주요 위치에 미끼 파일을 배포하고 동작 분석으로 랜섬웨어 패밀리를 식별.',
      killSuspicious: '의심 프로세스 종료',
      killYes: '예 · 일치 시 자동 종료',
      killNo: '아니요 · 알림만, 운영에서 처리',
      killWarning: '⚠ 활성화하면 의심스러운 프로세스가 자동으로 종료됩니다. 오탐지가 없는지 확인 후 활성화하세요.',
      decoyDir: '사용자 정의 미끼 디렉토리',
      whitelist: '화이트리스트 프로그램',
      decoyDesc: '기본적으로 시스템 주요 위치에 미끼 파일을 배포합니다. 사용자 정의 미끼 디렉토리 추가를 지원합니다. 최대 20개.',
      addDecoyTitle: '사용자 정의 미끼 디렉토리 추가',
      addDecoyPlaceholder: '한 줄에 하나의 디렉토리를 입력, 최대 20개',
      decoyAdded: '미끼 디렉토리가 추가되었습니다',
      colDecoyDir: '미끼 디렉토리',
      colDeployStatus: '배포 상태',
      deployed: '배포됨',
      decoyDeleted: '미끼 디렉토리가 삭제되었습니다',
      whitelistDesc: '화이트리스트 프로그램은 미끼를 트리거해도 랜섬웨어로 판정되지 않습니다(예: 백업 프로그램). 최대 20개.',
      addWhitelistTitle: '화이트리스트 프로그램 경로 추가',
      addWhitelistPlaceholder: '한 줄에 하나의 경로를 입력, 최대 20개',
      whitelistAdded: '화이트리스트가 추가되었습니다',
      colProgramPath: '프로그램 경로',
      whitelistDeleted: '화이트리스트가 삭제되었습니다',
      logTitle: '랜섬웨어 보호 로그',
      colKillProcess: '프로세스 종료',
      noLogs: '로그가 아직 없습니다',
      terminated: '종료',
      blocked: '차단',
    },
    invasion: {
      eyebrow: '침입 탐지 · ATT&CK 프레임워크',
      title: '호스트 침입 탐지',
      desc: 'ATT&CK 프레임워크의 침입 모델을 기반으로 런타임 기본 이벤트를 실시간 모니터링하고 침입 엔진 판정으로 침입 동작을 식별합니다. 17개의 내장 규칙을 개별적으로 토글하고 프로그램 화이트리스트를 관리합니다.',
      rules: '탐지 규칙',
      whitelistProg: '화이트리스트 프로그램',
      rulesDesc: '{count}개의 내장 탐지 규칙, ATT&CK 전술별 분류. 개별적으로 활성화/비활성화 가능.',
      wlProgDesc: '화이트리스트 프로그램은 규칙을 트리거해도 침입으로 판정되지 않습니다. 최대 20개.',
      addWlProgTitle: '화이트리스트 프로그램 추가',
      addWlProgPlaceholder: '한 줄에 하나의 프로그램 경로를 입력, 최대 20개',
      formatErrorIgnored: '형식 오류 무시됨: {items}',
      exceedLimit: '20개 한도 초과, {count}개 항목 삭제됨',
      wlProgAdded: '화이트리스트 프로그램이 추가되었습니다',
      deleted: '삭제되었습니다',
      colProgramPath: '프로그램 경로',
      colDesc: '설명',
      colAction: '작업',
      logTitle: '침입 탐지 로그',
      colCategory: '카테고리',
      noLogs: '침입 탐지 로그가 아직 없습니다',
    },
    baseline: {
      eyebrow: '컴플라이언스 탐지 · CIS 베이스라인',
      homeTitle: '컴플라이언스 탐지',
      homeDesc: 'OS 구성을 탐지하고 수정하여 시스템 보안 및 컴플라이언스를 향상시킵니다.',
      scannedTitle: '컴플라이언스 스캔 완료, {count}개의 위험 항목 발견',
      scannedDesc: '마지막 스캔 {total} 항목',
      repairedTitle: '위험 항목 수정 완료',
      repairedDesc: '수정 성공 {success} 항목, 실패 {fail} 항목',
      rollbackedTitle: '롤백 완료',
      rollbackedDesc: '롤백 성공 {success} 항목, 실패 {fail} 항목',
      scanning: '컴플라이언스 스캔 중…',
      repairing: '위험 항목 수정 중…',
      rollingBack: '수정 항목 롤백 중…',
      resetting: '스캔 결과 리셋 중…',
      backendRunning: 'KSec 백엔드 실행 중, 10~60초 소요될 수 있습니다',
      scanNow: '지금 스캔',
      rescan: '다시 스캔',
      repairNow: '지금 수정',
      rollback: '롤백',
      noPolicy: 'KSec에서 베이스라인 정책을 반환하지 않았습니다 — /opt/KSec/policy/baseline.yaml이 로드되었는지 확인하세요',
      items: '{count}항목',
      itemsWithRisk: '{total}항목, 위험 {risk}항목',
      itemsSuccessFail: '성공 {success}항목{failPart}',
      failPart: ', 실패 {fail}항목',
      unchecked: '미검사',
      colCheckItem: '검사 항목',
      colBaselineValue: '베이스라인 값',
      colActualValue: '실제 값',
      colScanResult: '스캔 결과',
      colBefore: '수정 전',
      colAfter: '수정 후',
      colRepairResult: '수정 결과',
      colRollbackBefore: '롤백 전',
      colRollbackAfter: '롤백 후',
      colRollbackResult: '롤백 결과',
      safe: '안전',
      notChecked: '미검사',
      atRisk: '위험 있음',
      repaired: '수정됨',
      repairFailed: '수정 실패',
      manualRepair: '수동 수정 필요',
      rolledBack: '롤백됨',
      rollbackFailed: '롤백 실패',
      notSupported: '미지원',
    },
    toast: {
      loadPolicyFailed: '정책 로딩 실패: {msg}',
      applying: '적용 중… KSec 데몬 재시작 포함, 약 3~5초',
      saved: '구성이 저장되었습니다',
      saveFailed: '저장 실패: {msg}',
      filePolicySaved: '파일 보호가 저장되었습니다',
      loadFilePolicyFailed: '파일 보호 정책 로딩 실패: {msg}',
      invasionPolicySaved: '침입 탐지가 저장되었습니다',
      loadInvasionPolicyFailed: '침입 탐지 정책 로딩 실패: {msg}',
      loadBaselinePolicyFailed: '컴플라이언스 정책 로딩 실패: {msg}',
      selectOneCategory: '스캔 전 최소 하나의 카테고리를 선택하세요',
      baselineScanComplete: '컴플라이언스 스캔 완료',
      baselineScanFailed: '컴플라이언스 스캔 실패: {msg}',
      repairComplete: '위험 항목 수정 완료',
      repairFailed: '위험 항목 수정 실패: {msg}',
      rollbackSuccess: '롤백 성공',
      rollbackFailed: '롤백 실패: {msg}',
      resetFailed: '리셋 실패: {msg}',
      resetSuccess: '리셋 성공, 다시 스캔을 실행하세요',
    },
    modal: {
      batchPathHint: '한 줄에 하나씩 입력, 최대 20개',
      fileRuleTitle: '파일 보호 규칙 추가',
      fileDirLabel: '* 보호 파일/디렉토리',
      fileDirPlaceholder: '절대 경로를 입력하세요',
      trustLabel: '신뢰 프로세스',
      trustTitle: '신뢰 프로세스',
      trustHint: '신뢰 프로세스가 비어 있으면 모든 프로세스를 신뢰합니다\n디렉토리 형식 지원',
      trustPlaceholder: '한 줄에 하나의 신뢰 프로세스를 입력, 최대 20개. 디렉토리 지원',
      permissionLabel: '권한 ⓘ',
      permissionHint: '1. 권한: 신뢰 프로세스의 보호 파일/디렉토리에 대한 권한 설정. 비신뢰 프로세스는 권한 없음\n2. 쓰기: 생성, 쓰기, 이동 또는 이름 변경 권한 포함',
      procRuleTitle: '프로세스 보호 규칙 추가',
      ruleTypeLabel: '* 규칙 유형',
      procPathLabel: '* 프로세스 경로',
      procPathPlaceholder: '한 줄에 하나의 프로세스 경로를 입력, 최대 20개',
    },
    operation: {
      chmod: '권한 변경',
      read: '파일 읽기',
      write: '파일 쓰기',
      execute: '프로세스 실행',
      delete: '파일 삭제',
      create: '파일 생성',
      kill: '프로세스 종료',
      moveOrRename: '파일 이동 또는 이름 변경',
    },
    action: {
      block: '차단',
      monitor: '허용',
    },
    mode: {
      all: '모두',
      read: '읽기',
      write: '쓰기',
      execute: '실행',
      delete: '삭제',
    },
  },

  de: {
    hero: {
      eyebrow: 'Host-Ebene-Härtung · Laufzeitanomalieerkennung',
      title: 'Host-Härtungscenter',
      subtitle: '4 Laufzeit-Sicherheitsmodule (Dateischutz / Ransomware-Schutz / Intrusion Detection / Compliance-Erkennung) — Sicherung des Host-Rechners, auf dem ClawManager läuft.',
    },
    stats: {
      agentStatus: 'Härtungsagenten-Status',
      fileAlerts: '24h Dateischutz-Warnungen',
      ransomAlerts: '24h Ransomware-Warnungen',
      invasionAlerts: '24h Intrusion-Warnungen',
      noFileLogs: 'Keine Abfänge in den letzten 24h',
      fileIntercept: 'Datei abgefangen {file} · Prozess abgefangen {proc}',
      noRansomLogs: 'Keine Abfänge in den letzten 24h',
      ransomIntercept: 'Blockiert {block} · Beendet {kill}',
      noInvasionLogs: 'Keine Intrusion-Warnungen in den letzten 24h',
      invasionTotal: '{count} Vorfälle',
      other: 'Sonstige',
    },
    agent: {
      offline: 'Offline',
      loading: 'Laden',
      loadingSub: 'ksec-bridge wird abgefragt…',
      ready: 'Bereit',
      readyDaemon: 'KSec-Daemon läuft',
      readyBridge: 'Bridge bereit',
      notReady: 'Nicht bereit',
      ksecNotRunning: 'KSec läuft nicht',
      ksecBinMissing: 'KSec-Binärdatei fehlt',
      policyDirError: 'Richtlinienverzeichnisfehler',
      logDirError: 'Log-Verzeichnisfehler',
      partialNotReady: 'Einige Komponenten nicht bereit',
      bridgeUnreachable: 'Bridge nicht erreichbar: {msg}',
    },
    breadcrumb: {
      secplane: 'Sicherheitsschutz',
      isolate: 'Umgebungsisolierung und Sicherheit',
      current: 'Host-Härtung',
    },
    tabs: {
      file: 'Dateischutz',
      ransom: 'Ransomware-Schutz',
      invasion: 'Intrusion Detection',
      baseline: 'Compliance-Erkennung',
    },
    common: {
      masterSwitch: 'Hauptschalter',
      saveApply: 'Speichern & Anwenden',
      saving: 'Speichern…',
      delete: 'Löschen',
      add: '+ Hinzufügen',
      refresh: 'Aktualisieren',
      cancel: 'Abbrechen',
      confirm: 'Bestätigen',
      create: 'Neu',
      operation: 'Aktion',
      time: 'Zeit',
      process: 'Prozess',
      processUser: 'Prozessbenutzer',
    },
    file: {
      eyebrow: 'Dateischutz · Datei + Prozess Dual-Track',
      title: 'Kritische Datei- & Prozessschutz',
      desc: 'Schützen Sie kritische Systemdateien und -prozesse vor Manipulation und Löschung. Unterstützt Datei-Level-Berechtigungskontrolle (Lesen/Schreiben/Ausführen/Löschen) + Prozess-Whitelist/Blacklist-Dual-Kontrolle.',
      defenseMode: 'Verteidigungsmodus ⓘ',
      blockMode: 'Blockiermodus · Bei Treffer abfangen',
      monitorMode: 'Überwachungsmodus · Nur Alarm, kein Abfangen',
      builtinRules: 'Integrierte Regeln',
      fileProtect: 'Dateischutz',
      processProtect: 'Prozessschutz',
      processProtectLabel: 'Prozessschutz',
      processBlacklist: 'Prozess-Blacklist',
      builtinDesc: '{count} integrierte Schutzregeln. Einzeln umschaltbar.',
      preFileMaster: 'Vordefinierte Regeln Hauptschalter',
      colObject: 'Geschütztes Objekt',
      colDesc: 'Beschreibung',
      colPermission: 'Berechtigung',
      colStatus: 'Status',
      customDesc: 'Bis zu 20 Dateischutzregeln. Jede kann unabhängig Lesen/Schreiben/Ausführen/Löschen konfigurieren.',
      addedRule: 'Dateischutzregel hinzugefügt',
      colFileDir: 'Geschützte Datei/Verzeichnis',
      colTrust: 'Vertrauenswürdiger Prozess',
      read: 'Lesen',
      write: 'Schreiben',
      execute: 'Ausführen',
      deleteLabel: 'Löschen',
      ruleDeleted: 'Regel gelöscht',
      procDesc: 'Bis zu 20 Prozessschutzregeln und 20 Prozess-Blacklist-Regeln.',
      procProtectBlacklist: 'Prozessschutz / Blacklist',
      procRuleAdded: 'Prozessschutzregel hinzugefügt',
      colProcPath: 'Prozesspfad',
      colRuleType: 'Regeltyp',
      logTitle: 'Dateischutz-Protokolle',
      logRefreshed: 'Protokolle aktualisiert',
      colAction: 'Aktion',
      colResult: 'Ergebnis',
      noLogs: 'Noch keine Dateischutz-Protokolle',
      colProtectedObject: 'Geschütztes Objekt',
    },
    ransom: {
      eyebrow: 'Ransomware-Schutz · Köderdateien + Verhaltensanalyse',
      title: 'Ransomware-Schutz',
      desc: 'Echtzeitüberwachung potenzieller Ransomware-Bedrohungen, rechtzeitige Erkennung und Blockierung von Malware-Eindringlingen. Bereitstellung von Köderdateien an kritischen Systempositionen und Identifizierung von Ransomware-Familien durch Verhaltensanalyse.',
      killSuspicious: 'Verdächtigen Prozess beenden',
      killYes: 'Ja · Bei Treffer automatisch killen',
      killNo: 'Nein · Nur Alarm, von Ops behandelt',
      killWarning: '⚠ Aktivierung beendet automatisch verdächtige Prozesse. Vor Aktivierung keine Fehlalarme bestätigen.',
      decoyDir: 'Benutzerdefinierte Köderverzeichnisse',
      whitelist: 'Whitelist-Programme',
      decoyDesc: 'Köderdateien werden standardmäßig an kritischen Systempositionen bereitgestellt. Unterstützt benutzerdefinierte Köderverzeichnisse. Bis zu 20.',
      addDecoyTitle: 'Benutzerdefiniertes Köderverzeichnis hinzufügen',
      addDecoyPlaceholder: 'Ein Verzeichnis pro Zeile, bis zu 20',
      decoyAdded: 'Köderverzeichnis hinzugefügt',
      colDecoyDir: 'Köderverzeichnis',
      colDeployStatus: 'Bereitstellungsstatus',
      deployed: 'Bereitgestellt',
      decoyDeleted: 'Köderverzeichnis gelöscht',
      whitelistDesc: 'Whitelist-Programme werden beim Auslösen von Ködern nicht als Ransomware eingestuft (z.B. Backup-Programme). Bis zu 20 Einträge.',
      addWhitelistTitle: 'Whitelist-Programmpfad hinzufügen',
      addWhitelistPlaceholder: 'Einen Pfad pro Zeile, bis zu 20',
      whitelistAdded: 'Whitelist hinzugefügt',
      colProgramPath: 'Programmpfad',
      whitelistDeleted: 'Whitelist gelöscht',
      logTitle: 'Ransomware-Schutz-Protokolle',
      colKillProcess: 'Prozess beenden',
      noLogs: 'Noch keine Protokolle',
      terminated: 'Beendet',
      blocked: 'Blockiert',
    },
    invasion: {
      eyebrow: 'Intrusion Detection · ATT&CK-Framework',
      title: 'Host- Intrusion Detection',
      desc: 'Basierend auf dem ATT&CK-Framework-Intrusionsmodell, Echtzeitüberwachung von Laufzeit-Basisereignissen und Intrusion-Engine-Entscheidung zur Identifizierung von Intrusionsverhalten. 17 integrierte Regeln einzeln umschaltbar und Programm-Whitelist verwalten.',
      rules: 'Erkennungsregeln',
      whitelistProg: 'Whitelist-Programme',
      rulesDesc: '{count} integrierte Erkennungsregeln, nach ATT&CK-Taktiken kategorisiert. Einzeln aktivierbar/deaktivierbar.',
      wlProgDesc: 'Whitelist-Programme werden beim Auslösen von Regeln nicht als Intrusion eingestuft. Bis zu 20 Einträge.',
      addWlProgTitle: 'Whitelist-Programm hinzufügen',
      addWlProgPlaceholder: 'Einen Programmpfad pro Zeile, bis zu 20',
      formatErrorIgnored: 'Formatfehler ignoriert: {items}',
      exceedLimit: '20-Eintrag-Grenze überschritten, {count} Einträge verworfen',
      wlProgAdded: 'Whitelist-Programm hinzugefügt',
      deleted: 'Gelöscht',
      colProgramPath: 'Programmpfad',
      colDesc: 'Beschreibung',
      colAction: 'Aktion',
      logTitle: 'Intrusion Detection-Protokolle',
      colCategory: 'Kategorie',
      noLogs: 'Noch keine Intrusion Detection-Protokolle',
    },
    baseline: {
      eyebrow: 'Compliance-Erkennung · CIS-Baseline',
      homeTitle: 'Compliance-Erkennung',
      homeDesc: 'Erkennung und Behebung von Betriebssystemkonfigurationen zur Verbesserung von Systemsicherheit und Compliance.',
      scannedTitle: 'Compliance-Scan abgeschlossen, {count} Risiko(s) gefunden',
      scannedDesc: 'Letzter Scan {total} Elemente',
      repairedTitle: 'Risikopositionen behoben',
      repairedDesc: 'Behebung erfolgreich {success} Elemente, fehlgeschlagen {fail} Elemente',
      rollbackedTitle: 'Rollback abgeschlossen',
      rollbackedDesc: 'Rollback erfolgreich {success} Elemente, fehlgeschlagen {fail} Elemente',
      scanning: 'Compliance-Scan läuft…',
      repairing: 'Risikopositionen werden behoben…',
      rollingBack: 'Behobene Positionen werden zurückgerollt…',
      resetting: 'Scan-Ergebnisse werden zurückgesetzt…',
      backendRunning: 'KSec-Backend führt aus, kann 10-60 Sekunden dauern',
      scanNow: 'Jetzt scannen',
      rescan: 'Erneut scannen',
      repairNow: 'Jetzt beheben',
      rollback: 'Rollback',
      noPolicy: 'KSec hat keine Baseline-Richtlinie zurückgegeben — bestätigen Sie, dass /opt/KSec/policy/baseline.yaml geladen ist',
      items: '{count} Elemente',
      itemsWithRisk: '{total} Elemente, {risk} mit Risiko',
      itemsSuccessFail: 'Erfolgreich {success} Elemente{failPart}',
      failPart: ', Fehlgeschlagen {fail} Elemente',
      unchecked: 'Nicht geprüft',
      colCheckItem: 'Prüfelement',
      colBaselineValue: 'Baselinewert',
      colActualValue: 'Ist-Wert',
      colScanResult: 'Scan-Ergebnis',
      colBefore: 'Vorher',
      colAfter: 'Nachher',
      colRepairResult: 'Behebungsergebnis',
      colRollbackBefore: 'Vor Rollback',
      colRollbackAfter: 'Nach Rollback',
      colRollbackResult: 'Rollback-Ergebnis',
      safe: 'Sicher',
      notChecked: 'Nicht geprüft',
      atRisk: 'Risiko',
      repaired: 'Behoben',
      repairFailed: 'Behebung fehlgeschlagen',
      manualRepair: 'Manuelle Behebung erforderlich',
      rolledBack: 'Zurückgerollt',
      rollbackFailed: 'Rollback fehlgeschlagen',
      notSupported: 'Nicht unterstützt',
    },
    toast: {
      loadPolicyFailed: 'Richtlinie laden fehlgeschlagen: {msg}',
      applying: 'Anwenden… Beinhaltet KSec-Daemon-Neustart, ca. 3-5 Sekunden',
      saved: 'Konfiguration gespeichert',
      saveFailed: 'Speichern fehlgeschlagen: {msg}',
      filePolicySaved: 'Dateischutz gespeichert',
      loadFilePolicyFailed: 'Dateischutz-Richtlinie laden fehlgeschlagen: {msg}',
      invasionPolicySaved: 'Intrusion Detection gespeichert',
      loadInvasionPolicyFailed: 'Intrusion Detection-Richtlinie laden fehlgeschlagen: {msg}',
      loadBaselinePolicyFailed: 'Compliance-Richtlinie laden fehlgeschlagen: {msg}',
      selectOneCategory: 'Bitte mindestens eine Kategorie vor dem Scannen auswählen',
      baselineScanComplete: 'Compliance-Scan abgeschlossen',
      baselineScanFailed: 'Compliance-Scan fehlgeschlagen: {msg}',
      repairComplete: 'Risikopositionen behoben',
      repairFailed: 'Risikopositionsbehebung fehlgeschlagen: {msg}',
      rollbackSuccess: 'Rollback erfolgreich',
      rollbackFailed: 'Rollback fehlgeschlagen: {msg}',
      resetFailed: 'Zurücksetzen fehlgeschlagen: {msg}',
      resetSuccess: 'Zurücksetzen erfolgreich, bitte scannen Sie erneut',
    },
    modal: {
      batchPathHint: 'Einen Eintrag pro Zeile, bis zu 20',
      fileRuleTitle: 'Dateischutzregel hinzufügen',
      fileDirLabel: '* Geschützte Datei/Verzeichnis',
      fileDirPlaceholder: 'Absoluten Pfad eingeben',
      trustLabel: 'Vertrauenswürdiger Prozess',
      trustTitle: 'Vertrauenswürdiger Prozess',
      trustHint: 'Leerer vertrauenswürdiger Prozess bedeutet, dass alle Prozesse vertraut werden.\nVerzeichnisform unterstützt',
      trustPlaceholder: 'Einen vertrauenswürdigen Prozess pro Zeile, bis zu 20; Verzeichnisse unterstützt',
      permissionLabel: 'Berechtigung ⓘ',
      permissionHint: '1. Berechtigung: Konfiguration der Berechtigungen des vertrauenswürdigen Prozesses für geschützte Datei/Verzeichnis; nicht-vertrauenswürdige Prozesse haben keine Berechtigungen\n2. Schreiben: Erstellen, Schreiben, Verschieben oder Umbenennen Berechtigungen eingeschlossen',
      procRuleTitle: 'Prozessschutzregel hinzufügen',
      ruleTypeLabel: '* Regeltyp',
      procPathLabel: '* Prozesspfad',
      procPathPlaceholder: 'Einen Prozesspfad pro Zeile, bis zu 20',
    },
    operation: {
      chmod: 'Berechtigung ändern',
      read: 'Datei lesen',
      write: 'Datei schreiben',
      execute: 'Prozess ausführen',
      delete: 'Datei löschen',
      create: 'Datei erstellen',
      kill: 'Prozess beenden',
      moveOrRename: 'Datei verschieben oder umbenennen',
    },
    action: {
      block: 'Blockieren',
      monitor: 'Erlauben',
    },
    mode: {
      all: 'Alle',
      read: 'Lesen',
      write: 'Schreiben',
      execute: 'Ausführen',
      delete: 'Löschen',
    },
  },
};
