{
  "page": {
    "title": "设置"
  },
  "sections": {
    "general": {
      "title": "常规"
    },
    "appearance": {
      "title": "外观"
    },
    "network": {
      "title": "网络"
    },
    "security": {
      "title": "安全"
    },
    "maintenance": {
      "title": "维护"
    },
    "openapi": {
      "title": "OpenAPI"
    }
  },
  "systemConfig": {
    "restartRequired": "系统配置已保存。部分配置需要重启 AstrBot 后才会生效。",
    "groups": {
      "runtime": {
        "title": "基础运行",
        "subtitle": "时区与外部回调地址。"
      },
      "network": {
        "title": "代理与依赖源",
        "subtitle": "运行时代理、Python 依赖安装参数和 PyPI 源。"
      },
      "webuiSecurity": {
        "title": "WebUI 安全",
        "subtitle": "HTTPS、代理头、登录限速与 TOTP。"
      },
      "logs": {
        "title": "日志",
        "subtitle": "控制台日志、文件日志和 Trace 文件日志。"
      },
      "tempStorage": {
        "title": "缓存",
        "subtitle": "临时目录自动清理阈值。"
      },
      "t2iRendering": {
        "title": "文本转图像",
        "subtitle": "文本转图像渲染策略、端点和自定义模板。"
      }
    },
    "messages": {
      "loadFailed": "加载系统配置失败",
      "saveSuccess": "系统配置已保存",
      "saveFailed": "保存系统配置失败"
    }
  },
  "network": {
    "title": "网络",
    "githubProxy": {
      "title": "GitHub 加速地址",
      "subtitle": "设置下载插件或者更新 AstrBot 时所用的 GitHub 加速地址。这在中国大陆的网络环境有效。可以自定义，输入结果实时生效。所有地址均不保证稳定性，如果在更新插件/项目时出现报错，请首先检查加速地址是否能正常使用。",
      "label": "选择 GitHub 加速地址"
    },
    "proxySelector": {
      "title": "GitHub 加速",
      "noProxy": "不使用 GitHub 加速",
      "useProxy": "使用 GitHub 加速",
      "testConnection": "测试代理连通性",
      "available": "可用",
      "unavailable": "不可用",
      "custom": "自定义"
    }
  },
  "theme": {
    "title": "主题",
    "subtitle": "自定义主题主色与辅助色，数据保存在浏览器本地。",
    "customize": {
      "title": "主题颜色",
      "primary": "主色",
      "secondary": "辅助色",
      "reset": "恢复默认"
    }
  },
  "system": {
    "title": "系统",
    "restart": {
      "title": "重启",
      "subtitle": "重启 AstrBot",
      "confirm": "确定要重启 AstrBot 吗？重启期间 WebUI 会短暂不可用。",
      "button": "重启"
    },
    "backup": {
      "title": "数据备份与恢复",
      "subtitle": "导出或导入 AstrBot 的所有数据，方便迁移到新服务器",
      "button": "备份管理"
    },
    "cleanup": {
      "title": "日志与缓存清理",
      "subtitle": "查看当前日志和缓存占用，并一键清理。",
      "refresh": "刷新占用",
      "clean": "清理",
      "cleanAll": "全部清理",
      "panel": {
        "title": "清理详情",
        "subtitle": "当前占用 {size}"
      },
      "fileCount": "{count} 个文件",
      "confirm": "确定要清理 {target} 吗？",
      "targetNames": {
        "cache": "缓存",
        "logs": "日志",
        "all": "日志和缓存"
      },
      "targets": {
        "cache": {
          "title": "缓存",
          "subtitle": "清理临时文件、插件市场缓存和技能缓存。",
          "button": "清理缓存"
        },
        "logs": {
          "title": "日志",
          "subtitle": "清理历史日志，并清空当前正在写入的日志文件内容。",
          "button": "清理日志"
        }
      },
      "messages": {
        "statusFailed": "加载存储占用失败",
        "cleanupSuccess": "已清理 {count} 个文件，释放 {size}",
        "cleanupFailed": "清理失败"
      }
    }
  },
  "sidebar": {
    "title": "侧边栏",
    "customize": {
      "title": "自定义侧边栏",
      "subtitle": "拖拽以调整模块顺序，或者将模块移入/移出\"更多功能\"分组。设置仅保存在浏览器本地。",
      "reset": "恢复默认",
      "mainItems": "主要模块",
      "moreItems": "更多功能"
    }
  },
  "backup": {
    "dialog": {
      "title": "备份管理"
    },
    "tabs": {
      "export": "导出备份",
      "import": "导入备份",
      "list": "备份列表"
    },
    "export": {
      "title": "创建备份",
      "description": "将所有数据导出为 ZIP 备份文件，包括数据库、知识库、配置、附件和 Skills。",
      "includes": "备份包含：主数据库、知识库（元数据+向量索引+文档）、配置文件、附件文件、Skills",
      "button": "开始导出",
      "processing": "正在导出...",
      "wait": "请稍候，正在打包数据...",
      "completed": "导出完成！",
      "download": "下载备份",
      "another": "创建新备份",
      "failed": "导出失败",
      "retry": "重试"
    },
    "import": {
      "title": "导入备份",
      "warning": "⚠️ 导入将会清空并覆盖现有数据！请确保已备份当前数据。",
      "selectFile": "选择备份文件 (.zip)",
      "uploadAndCheck": "上传并检查",
      "uploading": "正在上传...",
      "uploadWait": "请稍候，正在上传备份文件...",
      "uploadInit": "正在初始化上传...",
      "uploadingChunks": "正在上传分片...",
      "uploadComplete": "上传完成，正在合并文件...",
      "checking": "正在检查备份文件...",
      "invalidBackup": "无效的备份文件",
      "backupContents": "备份内容",
      "tables": "个数据表",
      "knowledgeBases": "知识库",
      "configFiles": "配置文件",
      "confirmImport": "确认导入",
      "button": "开始导入",
      "processing": "正在导入...",
      "wait": "请稍候，正在恢复数据...",
      "completed": "导入完成！",
      "restartRequired": "数据已成功导入。建议立即重启 AstrBot 以使所有更改生效。",
      "restartNow": "立即重启",
      "failed": "导入失败",
      "retry": "重试",
      "version": {
        "backupVersion": "备份版本",
        "currentVersion": "当前版本",
        "backupTime": "备份时间",
        "matchTitle": "✅ 版本匹配",
        "matchMessage": "导入将会清空并覆盖现有的所有数据，包括：\n• 主数据库（对话记录、配置等）\n• 知识库数据\n• 插件及插件数据\n• 配置文件\n• Skills\n\n此操作不可撤销！是否确认继续？",
        "minorDiffTitle": "⚠️ 版本差异警告",
        "minorDiffMessage": "小版本差异通常是兼容的，但可能存在少量数据结构变化。\n导入将会清空并覆盖现有的所有数据！\n\n是否确认继续导入？",
        "majorDiffTitle": "⛔ 无法导入",
        "majorDiffMessage": "主版本号不同，跨主版本导入可能导致数据损坏。\n请使用相同主版本的 AstrBot 进行导入。"
      }
    },
    "list": {
      "empty": "暂无备份文件",
      "refresh": "刷新列表",
      "confirmDelete": "确定要删除这个备份文件吗？此操作不可撤销。",
      "uploaded": "已上传",
      "restore": "恢复此备份",
      "rename": "重命名",
      "renameTitle": "重命名备份文件",
      "newName": "新文件名",
      "renameHint": "文件名只能包含字母、数字、下划线、连字符和点",
      "renameRequired": "请输入文件名",
      "renameInvalidChars": "文件名包含非法字符",
      "renameFailed": "重命名失败",
      "ftpHint": "对于较大的备份文件，也可以通过 FTP/SFTP 等方式直接上传到 data/backups 目录"
    }
  },
  "apiKey": {
    "title": "API Key",
    "manageTitle": "开发者访问密钥",
    "subtitle": "为外部开发者创建 API Key，用于调用开放 HTTP API。",
    "name": "Key 名称",
    "expiresInDays": "有效期",
    "expiryOptions": {
      "day1": "1 天",
      "day7": "7 天",
      "day30": "30 天",
      "day90": "90 天",
      "permanent": "永久"
    },
    "permanentWarning": "永久有效的 API Key 风险较高，请妥善保存并建议仅在必要场景使用。",
    "scopes": "权限范围",
    "create": "创建 API Key",
    "revoke": "吊销",
    "delete": "删除",
    "copy": "复制",
    "docsLink": "查看文档",
    "plaintextHint": "请立即保存该 Key，关闭后将无法再次查看明文。",
    "empty": "暂无 API Key",
    "status": {
      "active": "有效",
      "inactive": "无效"
    },
    "table": {
      "name": "名称",
      "prefix": "前缀",
      "scopes": "权限",
      "status": "状态",
      "lastUsed": "最近使用",
      "createdAt": "创建时间",
      "actions": "操作"
    },
    "messages": {
      "loadFailed": "加载 API Key 失败",
      "scopeRequired": "请至少选择一个权限",
      "createSuccess": "API Key 创建成功",
      "createFailed": "创建 API Key 失败",
      "revokeSuccess": "API Key 已吊销",
      "revokeFailed": "吊销 API Key 失败",
      "deleteSuccess": "API Key 已删除",
      "deleteFailed": "删除 API Key 失败",
      "copySuccess": "已复制 API Key",
      "copyFailed": "复制 API Key 失败"
    }
  }
}
