export default {
  common: {
    appName: "Antdv Next Admin",
    add: "新增",
    edit: "编辑",
    delete: "删除",
    view: "查看",
    search: "搜索",
    reset: "重置",
    submit: "提交",
    cancel: "取消",
    confirm: "确定",
    save: "保存",
    export: "导出",
    import: "导入",
    refresh: "刷新",
    operate: "操作",
    more: "更多",
    back: "返回",
    expand: "展开",
    collapse: "收起",
    ok: "确定",
    close: "关闭",
    yes: "是",
    no: "否",
    loading: "加载中...",
    noData: "暂无数据",
    success: "操作成功",
    error: "操作失败",
    warning: "警告",
    info: "提示",
    copySuccess: "复制成功",
    copyFailed: "复制失败",
    actions: "操作",
    status: "状态",
    createTime: "创建时间",
    updateTime: "更新时间",
    menu: "菜单",
    navigate: "切换",
    select: "选择",
    clear: "清空",
    component: "组件",
    basicUsage: "基础用法",
    advancedUsage: "高级用法",
    preview: "预览",
    jsonContent: "JSON 内容",
    jsonPlaceholder: "输入有效的 JSON...",
    jsonParseError: "JSON 格式错误",
    invalidArray: "无效的数组格式",
    formEdit: "表单编辑",
    rawEdit: "原始编辑",
    addField: "新增字段",
    fieldName: "字段名称",
    fieldExists: "字段已存在",
    pleaseInput: "请输入",
    fieldOrder: "字段顺序",
    moveUp: "上移",
    moveDown: "下移",
    enabled: "已启用",
    disabled: "已禁用",
    inputTags: "输入标签按回车确认",
    addSuccess: "添加成功",
    pleaseInputFieldName: "请输入字段名",
    inputFieldName: "请输入字段名称",
    selectFieldType: "请选择字段类型",
    typeString: "文本",
    typeNumber: "数字",
    typeBoolean: "布尔值",
    typeTags: "标签",
    typeArray: "数组",
    typeObject: "对象",
    searchLabel: "搜索{label}",
  },

  codeEditor: {
    format: "格式化",
    minify: "压缩",
    copy: "复制",
    formatSuccess: "格式化成功",
    minifySuccess: "压缩成功",
    copySuccess: "复制成功",
    copyFailed: "复制失败",
    jsonError: "JSON 格式错误",
  },

  menu: {
    dashboard: "数据看板",
    organization: "组织权限",
    system: "系统管理",
    user: "用户管理",
    role: "角色管理",
    permission: "权限管理",
    menu: "菜单管理",
    dict: "数据字典",
    log: "系统日志",
    asset: "资产管理",
    assetDevice: "资产管理",
    assetLicense: "许可证管理",
    assetAccessory: "配件管理",
    assetConsumable: "耗材管理",
    assetDepreciation: "折旧管理",
    assetOffering: "提供服务",
    base: "基础数据",
    baseCategory: "资产类别",
    baseLocation: "存放位置",
    baseManufacturer: "制造商",
    baseModel: "型号",
    baseSupplier: "供应商",
    biz: "业务管理",
    bizFailure: "故障管理",
    bizStocktake: "盘点管理",
    bizTransaction: "交易记录",
    bizAllocation: "资产分配",
    bizRequest: "资产申请",
    dept: "部门管理",
    config: "系统配置",
    file: "文件管理",
    examples: "示例中心",
    examplesQuickStart: "快速开始",
    examplesFormInput: "表单与输入",
    examplesContent: "内容编辑",
    examplesInteraction: "基础交互",
    examplesBusinessScaffold: "业务脚手架",
    examplesSecurityEngineering: "安全与工程",
    examplesIntegration: "集成与跳转",
    examplesExceptionPages: "异常页",
    table: "表格示例",
    icon: "图标示例",
    form: "表单示例",
    jsonInput: "JSON输入",
    i18nInput: "国际化输入",
    advancedFilter: "高级筛选构建器",
    editor: "富文本编辑器",
    milkdown: "Markdown 编辑器",
    codeEditor: "代码编辑器",
    captcha: "验证码示例",
    spin: "加载示例",
    modal: "弹窗示例",
    watermark: "水印示例",
    splitter: "分割面板",
    tour: "漫游引导",
    qrcode: "二维码",
    segmented: "分段控制器",
    colorPicker: "颜色选择器",
    requestAuth: "请求鉴权闭环",
    rbacFlow: "RBAC 全链路",
    proTableAdvanced: "ProTable 高阶",
    complexForm: "复杂表单",
    uploadSystem: "上传体系",
    importExport: "导入导出闭环",
    masterDetail: "列表-详情",
    virtualTable: "虚拟滚动表格",
    stateCache: "状态与缓存",
    observability: "可观测性与异常",
    testing: "测试示例",
    exception: "异常页面",
    exception403: "403",
    exception404: "404",
    exception500: "500",
    profile: "个人中心",
    about: "关于",
  },

  layout: {
    logout: "退出登录",
    logoutConfirm: "确定要退出登录吗？",
    profile: "个人中心",
    documentation: "帮助文档",
    settings: "系统设置",
    theme: "主题设置",
    themeLight: "亮色主题",
    themeDark: "暗色主题",
    themeAuto: "跟随系统",
    language: "语言切换",
    fullscreen: "全屏",
    exitFullscreen: "退出全屏",
    notifications: "通知",
    markAllRead: "全部已读",
    clearAll: "清空所有",
    noNotifications: "暂无通知",
    notificationsEmptyHint: "清空后，新的通知会显示在这里",
    viewDetails: "查看详情",
    viewAllNotifications: "查看全部通知",
    searchPlaceholder: "搜索菜单...",
    noSearchResults: "未找到匹配的菜单",
    recentMenus: "最近访问",
    aiCollabEnable: "开启 AI 协同",
    aiCollabDisable: "关闭 AI 协同",
    aiAssistantTitle: "AI 协同",
    aiAssistantSubtitle: "基于当前页面上下文协助操作",
    aiCurrentPage: "当前页面",
    aiQuickActions: "快捷指令",
    aiInputPlaceholder: "输入你的问题或指令（Shift+Enter 换行）",
    aiEnterHint: "Enter 发送，Shift+Enter 换行",
    aiEmptyTitle: "开始 AI 协同",
    aiEmptyDescription: "可让 AI 解释页面、总结数据、给出下一步建议",
    aiActionExplain: "解释当前页面",
    aiActionSummary: "总结当前数据",
    aiActionRisk: "识别潜在风险",
    aiActionNextStep: "给出下一步建议",
    aiDemoReply: "已收到你的请求。我正在结合“{page}”页面上下文生成建议。",
    languages: {
      zhCN: "简体中文",
      enUS: "English",
      jaJP: "日本語",
      koKR: "한국어",
    },
    tabs: {
      refresh: "刷新当前",
      close: "关闭当前",
      pin: "固定当前",
      unpin: "取消固定",
      favorite: "收藏",
      unfavorite: "取消收藏",
      closeOthers: "关闭其他",
      closeAll: "关闭所有",
      closeLeft: "关闭左侧",
      closeRight: "关闭右侧",
      moreActions: "更多标签操作",
    },
  },

  settings: {
    title: "偏好设置",
    themeColor: "主题色",
    sidebarTheme: "左侧菜单栏样式",
    light: "浅色",
    dark: "深色",
    layoutMode: "布局方式",
    vertical: "垂直",
    horizontal: "水平",
    pageAnimation: "页面切换动画",
    fade: "淡入淡出",
    slideLeft: "左滑",
    slideRight: "右滑",
    slideUp: "上滑",
    slideDown: "下滑",
    zoom: "缩放",
    zoomBig: "大幅缩放",
    none: "无动画",
    grayMode: "灰色模式",
    grayModeHint: "开启后整个应用呈现灰色调",
    rememberTabState: "记住标签页状态",
    rememberTabStateHint: "刷新页面后自动恢复之前打开的标签页",
    aiCollab: "AI 对话分屏",
    aiCollabHint: "在顶部导航栏显示 AI 对话入口图标",
    aiCollabHintMobile: "移动端暂不支持 AI 对话分屏",
    reset: "重置设置",
    confirmReset: "确定要重置所有偏好设置吗？",
    colors: {
      blue: "拂晓蓝",
      green: "极光绿",
      purple: "酱紫",
      red: "薄暮红",
      orange: "日暮橙",
      cyan: "明青",
    },
  },

  login: {
    title: "用户登录",
    username: "用户名",
    password: "密码",
    remember: "记住密码",
    login: "登录",
    forgotPassword: "忘记密码",
    noAccount: "还没有账号？",
    register: "立即注册",
    usernamePlaceholder: "请输入用户名",
    passwordPlaceholder: "请输入密码",
    usernameRequired: "请输入用户名",
    passwordRequired: "请输入密码",
    loginSuccess: "登录成功",
    loginFailed: "登录失败",
    slideToVerify: "滑动验证身份",
    verifySuccess: "验证成功",
  },

  dashboard: {
    welcome: "欢迎回来",
    subtitle: "实时监控您的业务数据和系统运行状态",
    systemStable: "系统运行稳定",
    todayFocus: "今日重点",
    compareYesterday: "较昨日 {value}",
    goodMorning: "早上好",
    goodAfternoon: "下午好",
    goodEvening: "晚上好",
    goodNight: "夜深了",
    totalUsers: "总用户数",
    totalOrders: "总订单数",
    totalRevenue: "总收入",
    conversionRate: "转化率",
    newUsers: "新增用户",
    returningUsers: "回访用户",
    enterpriseUsers: "企业用户",
    salesTrend: "销售趋势",
    userDistribution: "用户分布",
    recentActivities: "最近活动",
    quickActions: "快捷操作",
    viewMore: "查看更多",
    minutesAgo: "{value} 分钟前",
    hoursAgo: "{value} 小时前",
    activities: {
      permissionUpdated: "管理员更新了系统菜单权限配置",
      userCreated: "新增用户 Sunny 并分配运营角色",
      orderTaskDone: "今日订单统计任务执行完成",
      riskPolicyReleased: "风控策略版本已发布到生产环境",
    },
    activityTags: {
      system: "系统",
      user: "用户",
      task: "任务",
      release: "发布",
    },
    months: {
      jan: "1月",
      feb: "2月",
      mar: "3月",
      apr: "4月",
      may: "5月",
      jun: "6月",
      jul: "7月",
      aug: "8月",
    },
  },

  user: {
    title: "用户管理",
    username: "用户名",
    email: "邮箱",
    realName: "真实姓名",
    phone: "手机号",
    gender: "性别",
    male: "男",
    female: "女",
    avatar: "头像",
    role: "角色",
    status: "状态",
    active: "启用",
    inactive: "禁用",
    createUser: "创建用户",
    editUser: "编辑用户",
    deleteUser: "删除用户",
    confirmDelete: "确定要删除该用户吗？",
    usernameRequired: "请输入用户名",
    usernameLength: "用户名长度应在 3-20 之间",
    emailRequired: "请输入邮箱",
    selectRole: "请选择至少一个角色",
    bio: "个人简介",
    updateSuccess: "用户更新成功",
    createSuccess: "用户创建成功",
    resetPassword: "重置密码",
    confirmResetPassword: "确定要重置该用户密码吗？",
    age: "年龄",
    tags: "标签",
    address: "地址",
    department: "部门",
    position: "职位",
    info: "用户信息",
    settings: "设置",
    theme: "主题",
    language: "语言",
    exportSuccess: "导出成功",
    exportFailed: "导出失败",
    importSuccess: "成功导入 {count} 条数据",
    importFailed: "导入失败，请检查文件格式",
    importEmpty: "文件为空或格式不正确",
    importFormatError: 'CSV 格式不正确，需包含"用户名"、"姓名"、"邮箱"列',
  },

  role: {
    title: "角色管理",
    name: "角色名称",
    code: "角色代码",
    description: "角色描述",
    permissions: "权限",
    createRole: "创建角色",
    editRole: "编辑角色",
    deleteRole: "删除角色",
    confirmDelete: "确定要删除该角色吗？",
    assignPermissions: "分配权限",
    codeRequired: "请输入角色编码",
    codePattern: "角色编码仅支持字母、数字、下划线和中划线",
    selectPermissions: "请选择权限",
    updateSuccess: "角色更新成功",
    createSuccess: "角色创建成功",
  },

  permission: {
    title: "菜单管理",
    name: "菜单名称",
    code: "权限代码",
    type: "权限类型",
    menu: "菜单",
    button: "按钮",
    api: "API",
    resource: "资源",
    action: "操作",
    createPermission: "新增菜单",
    editPermission: "编辑菜单",
    deletePermission: "删除菜单",
    confirmDelete: "确定要删除该菜单及其子节点吗？",
    expandAll: "展开全部",
    collapseAll: "收起全部",
    parentMenu: "上级菜单",
    createChildMenu: "新增子菜单",
    visible: "显示",
    show: "显示",
    hide: "隐藏",
    routePath: "路由路径",
    componentPath: "组件路径",
    sort: "排序",
    addChild: "新增子级",
    codeRequired: "请输入权限编码",
    codePattern: "权限编码仅支持字母、数字、下划线和中划线",
    menuRouteRequired: "菜单类型必须填写路由路径",
    icon: "图标",
    iconPlaceholder: "例如：UserOutlined",
    visibleStatus: "显示状态",
    updateSuccess: "菜单更新成功",
    createSuccess: "菜单创建成功",
    matrixTitle: "权限分配矩阵",
    filterModule: "按模块筛选",
    allModules: "全部模块",
    pageAndPerm: "页面 / 权限",
  },

  dict: {
    title: "数据字典",
    dictType: "字典类型",
    dictData: "字典数据",
    typeName: "类型名称",
    typeCode: "类型编码",
    description: "描述",
    dictLabel: "字典标签",
    dictValue: "字典值",
    sort: "排序",
    remark: "备注",
    enabled: "启用",
    disabled: "禁用",
    createType: "新增字典类型",
    editType: "编辑字典类型",
    deleteType: "删除字典类型",
    createData: "新增数据",
    editData: "编辑字典数据",
    deleteData: "删除字典数据",
    confirmDeleteType: '确定要删除字典类型"{name}"吗？',
    confirmDeleteData: '确定要删除字典数据"{label}"吗？',
    typeNamePlaceholder: "请输入类型名称",
    typeCodePlaceholder: "请输入类型编码",
    descriptionPlaceholder: "请输入描述",
    labelPlaceholder: "请输入字典标签",
    valuePlaceholder: "请输入字典值",
    remarkPlaceholder: "请输入备注",
    selectTypeHint: "请选择左侧字典类型",
    requiredFields: "请填写必填项",
    deleteSuccess: "删除成功",
    deleteFailed: "删除失败",
    updateSuccess: "更新成功",
    createSuccess: "创建成功",
    operateFailed: "操作失败",
    loadTypeFailed: "加载字典类型失败",
    loadDataFailed: "加载字典数据失败",
    dictDataTitle: "字典数据 - {name}",
    confirmDelete: "确认删除",
  },

  table: {
    title: "表格示例",
    total: "共 {total} 条",
    page: "第 {page} 页",
    pageSize: "每页 {size} 条",
    goTo: "跳至",
  },

  form: {
    title: "表单示例",
    basicInfo: "基本信息",
    advancedInfo: "高级信息",
    submit: "提交",
    reset: "重置",
    validateSuccess: "验证通过",
    validateFailed: "验证失败",
  },

  exampleTable: {
    userList: "用户列表",
    subTitle: "ProTable 示例",
    createUser: "新建用户",
    editUser: "编辑用户",
    deleteSuccess: "删除成功",
    updateSuccess: "更新成功",
    createSuccess: "创建成功",
  },

  notificationCenter: {
    kicker: "Notification Hub",
    title: "通知中心",
    subtitle: "统一查看系统动态、消息提醒与任务结果，支持快速筛选与详情追踪。",
    searchPlaceholder: "搜索通知标题或内容",
    listTitle: "通知列表",
    listSubtitle: "当前匹配到 {count} 条通知",
    emptyFiltered: "暂无匹配通知",
    metrics: {
      total: "通知总数",
      unread: "未读通知",
      today: "今日新增",
    },
    filters: {
      allStatus: "全部状态",
      unread: "仅未读",
      read: "仅已读",
      allTypes: "全部类型",
      system: "系统更新",
      message: "新消息",
      security: "安全提醒",
      task: "任务完成",
      error: "异常告警",
    },
    status: {
      read: "已读",
      unread: "未读",
    },
    meta: {
      type: "通知类型",
      receivedAt: "接收时间",
    },
    actions: {
      markAsRead: "标记为已读",
      openRelated: "前往相关页面",
      delete: "删除通知",
    },
    placeholder: {
      title: "选择一条通知查看详情",
      desc: "从左侧通知列表中选择任意一条，即可在此查看完整内容与关联操作。",
    },
  },

  exampleCaptcha: {
    title: "验证码组件示例",
    description: "封装了常见的几种前端验证码交互组件，支持自定义样式和回调。",
    slider: "滑块验证 (Slider)",
    rotate: "旋转验证 (Rotate)",
    puzzle: "拼图验证 (Puzzle)",
    point: "点选验证 (Point)",
    success: "验证通过！",
    fail: "验证失败，请重试",
  },

  exampleSpin: {
    title: "Spin 加载示例",
    description:
      "演示 Spin 组件的多种用法，包括基础加载、不同尺寸、自定义指示符、进度展示、延迟加载和全屏加载。",
    basic: "基本用法 & 尺寸",
    tip: "自定义描述文案",
    nested: "卡片加载中",
    delay: "延迟显示",
    customIndicator: "自定义指示符",
    percent: "进度展示",
    customStyle: "自定义样式",
    fullscreen: "全屏加载",
    showFullscreen: "显示全屏加载",
    loadingState: "加载状态：",
  },

  exampleEditor: {
    title: "富文本编辑器示例",
    description:
      "基于 Tiptap 封装的富文本编辑器，支持图片上传、链接插入、格式化等功能。",
    basicUsage: "基础用法",
    placeholder: "请输入内容...",
    disabledState: "禁用状态",
    customHeight: "自定义高度",
    contentPreview: "内容预览",
    htmlOutput: "HTML 输出",
    noContent: "暂无内容",
    save: "保存内容",
    clear: "清空内容",
    loadDemo: "加载示例",
    savedMessage: "内容已保存",
    clearedMessage: "内容已清空",
    demoLoadedMessage: "示例内容已加载",
  },

  exampleForm: {
    description: "ProForm 高级表单示例 - 展示各种表单控件",
    age: "年龄",
    ageRange: "年龄必须在1-150之间",
    interests: "兴趣爱好",
    birthDate: "出生日期",
    score: "评分",
    progress: "进度",
    bioPlaceholder: "请输入个人简介",
    submitSuccess: "提交成功！",
    roles: {
      admin: "管理员",
      user: "普通用户",
      guest: "访客",
    },
    interestOptions: {
      reading: "阅读",
      sports: "运动",
      music: "音乐",
      travel: "旅游",
    },
  },

  exampleIcon: {
    title: "图标演示",
    subtitle: "统一展示 Icon 组件与 IconPicker 的完整用法",
    capabilities:
      "支持：本地 SVG、antdv-next 图标、Iconify（离线库 + 在线搜索）",
    renderTitle: "三种渲染模式",
    renderSubtitle: "点击任意示例可直接应用到下方 IconPicker",
    pickerTitle: "IconPicker 使用示例",
    pickerSubtitle: "输入 2 个以上字符可触发在线搜索，离线图标库可直接分类筛选",
    modelLabel: "图标值",
    previewLabel: "实时预览",
    copy: "复制值",
    copySuccess: "图标值已复制",
    copyEmpty: "请先选择图标",
    copyFailed: "复制失败，请手动复制",
    reset: "重置为默认",
    sourceLabel: "图标来源",
    sourceSvg: "本地 SVG Symbol",
    sourceAntdv: "antdv-next 组件图标",
    sourceIconify: "Iconify 图标",
    sourceOnline: "Iconify 在线结果",
    sourceUnknown: "未识别",
    guidesTitle: "接入说明",
    guidesSubtitle: "两种最常用接入路径：SVG Symbol 与 Iconify（在线 + 离线）",
    svgGuideTitle: "SVG 如何添加并使用",
    iconifyGuideTitle: "Iconify 如何使用",
    guideStepSvg1:
      '在页面根节点（或全局布局）注入 <symbol id="..."> 图标定义。',
    guideStepSvg2: "使用 Icon 组件传入 svg:图标ID，例如 svg:icon-demo-orbit。",
    guideStepSvg3:
      "若希望 IconPicker 识别本地 SVG，可将文件放到 src/assets/icons 并传入 svgIcons。",
    guideStepIconify1:
      "直接传入 iconify 名称：ri:home-line / mdi:account / ion:apps-outline。",
    guideStepIconify2:
      "IconPicker 已内置离线库（ri / mdi / ion），无需联网即可选择。",
    guideStepIconify3:
      "在“全部/在线”分类输入关键字（至少 2 字符）可从 Iconify 在线检索。",
    modeSvg: "SVG Sprite",
    modeAntdv: "antdv-next",
    modeIconify: "Iconify",
    sampleHint: "点击示例即应用",
  },

  exampleWatermark: {
    title: "水印示例",
    description: "全局水印功能 - 可在此配置并即时预览水印效果",
    enableGlobal: "启用全局水印",
    content: "水印文字",
    fontSize: "字体大小",
    rotate: "旋转角度",
    opacity: "透明度",
    gapX: "水平间距",
    gapY: "垂直间距",
    preview: "本地预览",
    previewText: "此区域用于预览水印效果",
  },

  exampleSplitter: {
    title: "分割面板示例",
    description:
      "Splitter 组件用于创建可拖拽调整大小的分割面板布局，支持水平/垂直分割、嵌套布局和面板配置。",
    basicTab: "基础分割",
    nestedTab: "嵌套布局",
    configTab: "面板配置",
    businessTab: "业务示例",
    horizontalSplit: "水平分割（左右布局）",
    verticalSplit: "垂直分割（上下布局）",
    leftPanel: "左侧面板",
    rightPanel: "右侧面板",
    topPanel: "顶部面板",
    bottomPanel: "底部面板",
    threeColumnLayout: "三栏嵌套布局",
    sidebarPanel: "侧边栏",
    mainContent: "主内容区",
    footerPanel: "底部区域",
    asidePanel: "右侧边栏",
    minSize: "最小尺寸",
    maxSize: "最大尺寸",
    defaultSize: "默认尺寸",
    resizable: "允许拖拽",
    configurablePanel: "可配置面板",
    autoPanel: "自适应面板",
    codeEditorLayout: "代码编辑器布局示例",
  },

  exampleTour: {
    title: "漫游引导示例",
    description: "Tour 组件用于创建分步引导，帮助用户了解产品功能和操作流程。",
    startBasicTour: "开始基础引导",
    startCustomTour: "开始自定义引导",
    searchButton: "搜索",
    createButton: "新建",
    settingsButton: "设置",
    exportButton: "导出",
    tourConfig: "引导配置",
    showMask: "显示遮罩",
    showArrow: "显示箭头",
    scrollIntoView: "滚动到视图",
    indicatorType: "指示器类型",
    step1Title: "搜索功能",
    step1Desc: "点击此按钮可以搜索系统中的各种数据，支持模糊匹配和高级筛选。",
    step2Title: "新建操作",
    step2Desc: "点击此按钮可以创建新的数据记录，支持多种数据类型。",
    step3Title: "系统设置",
    step3Desc: "点击此按钮可以进入系统设置页面，配置各项系统参数。",
    step4Title: "导出数据",
    step4Desc: "点击此按钮可以将当前数据导出为 Excel、CSV 等格式。",
    customStep1Title: "右侧定位",
    customStep1Desc: "引导面板显示在目标元素的右侧。",
    customStep2Title: "底部定位",
    customStep2Desc: "引导面板显示在目标元素的底部。",
    customStep3Title: "左侧定位",
    customStep3Desc: "引导面板显示在目标元素的左侧。",
    customStep4Title: "顶部定位",
    customStep4Desc: "引导面板显示在目标元素的顶部，并使用自定义指示器。",
  },

  exampleQRCode: {
    title: "二维码示例",
    description:
      "QRCode 组件用于生成二维码，支持自定义样式、Logo、状态显示和下载功能。",
    basicTab: "基础用法",
    styleTab: "样式配置",
    logoTab: "带 Logo",
    statusTab: "状态显示",
    downloadTab: "下载功能",
    content: "二维码内容",
    size: "尺寸",
    bgColor: "背景色",
    fgColor: "前景色",
    errorLevel: "容错级别",
    logoHint: "使用 errorLevel='H' 以确保带 Logo 时二维码可正常扫描",
    statusActive: "有效",
    statusExpired: "已过期",
    statusLoading: "加载中",
    downloadContent: "二维码内容",
    fileName: "文件名",
    downloadButton: "下载二维码",
    downloadSuccess: "下载成功",
  },

  exampleSegmented: {
    title: "分段控制器示例",
    description:
      "Segmented 组件用于在多个选项之间切换，常用于视图切换、筛选条件等场景。",
    basicTab: "基础用法",
    iconTab: "图标选项",
    blockTab: "块级样式",
    disabledTab: "禁用状态",
    businessTab: "业务示例",
    basicUsage: "基础用法",
    currentValue: "当前值",
    sizes: "不同尺寸",
    iconOptions: "纯图标选项",
    mixOptions: "文字+图标组合",
    blockStyle: "块级样式（宽度 100%）",
    allDisabled: "全部禁用",
    partialDisabled: "部分禁用",
    viewSwitch: "视图切换",
    filterSwitch: "筛选条件",
    filterResult: "筛选结果",
    listItemTitle: "数据项",
    listItemDesc: "这是数据项的描述信息",
    cardItemTitle: "卡片",
  },

  exampleColorPicker: {
    title: "颜色选择器示例",
    description:
      "ColorPicker 组件用于颜色选择，支持多种格式、预设颜色和透明度。",
    basicTab: "基础用法",
    presetTab: "预设颜色",
    formatTab: "格式支持",
    alphaTab: "透明度",
    disabledTab: "禁用状态",
    businessTab: "业务示例",
    basicUsage: "基础用法",
    sizes: "不同尺寸",
    presetColors: "预设颜色面板",
    currentColor: "当前颜色",
    formatSupport: "格式支持",
    withAlpha: "带透明度",
    withoutAlpha: "不带透明度",
    disabledState: "禁用状态",
    disabledHint: "禁用状态下无法选择颜色",
    themeColor: "主题色选择",
    tagColors: "标签颜色配置",
    addTag: "添加标签",
    tagName: "标签名称",
    tagColor: "标签颜色",
    tagNameRequired: "请输入标签名称",
    addTagSuccess: "标签添加成功",
  },

  exampleModal: {
    title: "ProModal 示例",
    description:
      "基于 antdv-next Modal 的增强封装，支持拖拽、全屏、边缘缩放与边界约束。",
    openDefault: "打开默认弹窗",
    openWide: "打开宽版弹窗",
    width: "弹窗宽度",
    dataCount: "演示数据量",
    draggable: "标题栏拖拽",
    resizable: "边缘缩放",
    fullscreenable: "全屏按钮",
    mask: "遮罩",
    maskClosable: "点击遮罩关闭",
    keyboard: "ESC 关闭",
    modalTitle: "可拖拽 / 可缩放 ProModal",
    hint: "右上角提供全屏与关闭按钮；可直接拖动标题栏移动弹窗；拖拽四边或四角调整大小。",
    contentTitle: "功能演示内容",
    contentDescription:
      "为便于观察滚动与边界行为，以下内容刻意增加了较长列表。",
    formKeyword: "关键字",
    formKeywordPlaceholder: "请输入关键字",
    formRemark: "备注",
    formRemarkPlaceholder: "请输入备注信息",
    rowText: "演示数据行 #{index}",
    confirmSuccess: "确认操作成功",
  },

  exampleException: {
    "403title": "403",
    "403description": "抱歉，您没有权限访问此页面",
    "404title": "404",
    "404description": "抱歉，您访问的页面不存在",
    "500title": "500",
    "500description": "抱歉，服务器出现错误",
  },

  editor: {
    insertLink: "插入链接",
    linkUrl: "链接地址",
    linkText: "链接文本",
    linkTextPlaceholder: "链接文本",
    defaultPlaceholder: "请输入内容...",
    imageOnly: "只能上传图片文件",
    imageSizeLimit: "图片大小不能超过 5MB",
    imageInsertSuccess: "图片插入成功",
    imageUploadFailed: "图片上传失败",
    enterLinkUrl: "请输入链接地址",
  },

  iconPicker: {
    selectIcon: "请选择图标",
    searchPlaceholder: "搜索图标名称...",
    onlineSearchFailed: "在线搜索失败",
    onlineSearchFailedDetail: "在线搜索失败：{message}",
  },

  captcha: {
    clickInOrder: "请依次点击：",
    refresh: "刷新",
  },

  about: {
    description:
      "一个基于 Vue 3 + TypeScript + Ant Design Vue 的现代化后台管理框架，开箱即用、功能完备、易于扩展。",
    projectInfo: "项目信息",
    projectName: "项目名称",
    version: "当前版本",
    license: "开源协议",
    author: "作者",
    email: "邮箱",
    documentation: "帮助文档",
    techStack: "技术栈",
    features: "核心特性",
    feature1: "基于 Vue 3 Composition API",
    feature1Desc: "更好的逻辑复用、代码组织与响应式性能提升",
    feature2: "TypeScript 全量严格类型",
    feature2Desc: "完善的类型推导，开发阶段即消除潜在运行时错误",
    feature3: "完整的 RBAC 权限体系",
    feature3Desc: "页面、按钮、字段、接口四维权限控制，开箱即用",
    feature4: "动态路由与菜单生成",
    feature4Desc: "基于角色权限自动生成路由和侧边栏菜单",
    feature5: "国际化多语言支持",
    feature5Desc: "内置中英文切换，轻松扩展更多语言包",
    feature6: "亮色 / 暗色主题切换",
    feature6Desc: "6 种主题色预设，支持跟随系统自动切换",
    feature7: "ProTable / ProForm 高阶组件",
    feature7Desc: "配置驱动的表格与表单，覆盖常见业务场景",
    feature8: "Mock 数据开发模式",
    feature8Desc: "内置完整 Mock 体系，前后端并行开发无阻塞",
  },

  proForm: {
    enterPlaceholder: "请输入{label}",
    selectPlaceholder: "请选择{label}",
    uploadFile: "上传文件",
  },

  proUpload: {
    uploadFile: "上传文件",
    uploadImage: "上传图片",
    dragHint: "点击或拖拽文件到此区域上传",
    fileSizeExceed: "文件大小不能超过 {size}MB",
    fileTypeNotAllowed: "不支持该文件类型",
  },

  proStepForm: {
    prev: "上一步",
    next: "下一步",
  },

  proTable: {
    total: "共 {total} 条",
    density: "表格密度",
    checkAll: "全部勾选",
    indexColumn: "序号列",
    fixLeft: "左固定",
    fixRight: "右固定",
    densityLarge: "宽松",
    densityMiddle: "默认",
    densitySmall: "紧凑",
    loadDataFailed: "加载数据失败",
  },

  profile: {
    title: "个人中心",
    basicInfo: "基本信息",
    security: "安全设置",
    username: "用户名",
    email: "邮箱",
    phone: "手机号",
    role: "角色",
    joinDate: "加入日期",
    changePassword: "修改密码",
    currentPassword: "当前密码",
    oldPassword: "旧密码",
    newPassword: "新密码",
    confirmPassword: "确认密码",
    enterCurrentPassword: "请输入当前密码",
    enterNewPassword: "请输入新密码",
    enterConfirmPassword: "请再次输入新密码",
    passwordMismatch: "两次输入的密码不一致",
    passwordMinLength: "密码长度不能少于6位",
    passwordChangeSuccess: "密码修改成功",
    passwordChangeFailed: "密码修改失败",
    passwordTip: "提示：密码长度至少6位，建议包含字母、数字和特殊字符",
    updateSuccess: "更新成功",
    updateFailed: "更新失败",
  },

  error: {
    404: "页面不存在",
    403: "无权限访问",
    500: "服务器错误",
    backHome: "返回首页",
    pageNotFound: "抱歉，您访问的页面不存在",
    noPermission: "抱歉，您没有权限访问此页面",
    serverError: "抱歉，服务器出现错误",
  },

  validation: {
    required: "此项为必填项",
    email: "请输入有效的邮箱地址",
    phone: "请输入有效的手机号",
    idCard: "请输入有效的身份证号",
    url: "请输入有效的URL",
    minLength: "长度不能少于 {min} 个字符",
    maxLength: "长度不能超过 {max} 个字符",
    lengthRange: "长度必须在 {min}-{max} 之间",
    numberRange: "数值必须在 {min}-{max} 之间",
    min: "值不能小于 {min}",
    max: "值不能大于 {max}",
    pattern: "格式不正确",
    usernamePattern: "用户名只能包含字母、数字和下划线",
    passwordPattern: "密码至少8位，包含字母和数字",
    confirmPassword: "两次输入的密码不一致",
  },

  dept: {
    title: "部门管理",
    organizationStructure: "组织架构",
    searchDept: "搜索部门",
    deptName: "部门名称",
    parentDept: "上级部门",
    leader: "负责人",
    phone: "联系电话",
    email: "邮箱",
    sort: "排序",
    remark: "备注",
    status: "状态",
    enabled: "正常",
    disabled: "停用",
    createDept: "新增部门",
    editDept: "编辑部门",
    deleteDept: "删除部门",
    addChildDept: "新增子部门",
    childDepts: "下级部门",
    deptMembers: "部门人员",
    noneTopLevel: "无（顶级）",
    noneTopLevelDept: "无（顶级部门）",
    selectDeptNode: "请选择左侧部门节点",
    confirmDelete: "确认删除",
    confirmDeleteContent: '确定要删除部门"{name}"吗？',
    hasChildrenWarning: "该部门下存在子部门，请先删除子部门",
    deleteSuccess: "删除成功",
    deleteFailed: "删除失败",
    updateSuccess: "更新成功",
    createSuccess: "创建成功",
    operateFailed: "操作失败",
    pleaseEnterDeptName: "请输入部门名称",
    pleaseEnterLeader: "请输入负责人",
    pleaseEnterPhone: "请输入联系电话",
    pleaseEnterEmail: "请输入邮箱",
    pleaseEnterRemark: "请输入备注",
    loadDataFailed: "加载部门数据失败",
    createTime: "创建时间",
    updateTime: "更新时间",
  },

  config: {
    title: "系统配置",
    configGroups: "配置分组",
    configName: "配置名称",
    configKey: "配置键",
    configValue: "配置值",
    valueType: "值类型",
    group: "分组",
    sort: "排序",
    description: "描述",
    builtIn: "来源",
    createConfig: "新增配置",
    editConfig: "编辑配置",
    deleteConfig: "删除配置",
    confirmDelete: "确认删除",
    confirmDeleteContent: '确定要删除配置"{name}"吗？',
    deleteSuccess: "删除成功",
    deleteFailed: "删除失败",
    updateSuccess: "更新成功",
    createSuccess: "创建成功",
    operateFailed: "操作失败",
    requiredFields: "请填写必填项",
    loadConfigFailed: "加载配置失败",
    valueTypes: {
      string: "字符串",
      number: "数字",
      boolean: "布尔值",
      json: "JSON",
    },
    groups: {
      basic: "基础配置",
      security: "安全配置",
      upload: "上传配置",
      notification: "通知配置",
    },
    builtInTypes: {
      builtIn: "内置",
      custom: "自定义",
    },
    placeholders: {
      configName: "请输入配置名称",
      configKey: "如 site.name",
      configValue: "请输入配置值",
      jsonFormat: "JSON 格式",
      description: "请输入描述",
    },
  },

  file: {
    title: "文件管理",
    fileName: "文件名",
    ext: "扩展名",
    size: "文件大小",
    storage: "存储方式",
    uploader: "上传者",
    uploadTime: "上传时间",
    action: "操作",
    delete: "删除",
    confirmDelete: "确认删除",
    confirmDeleteContent: '确定要删除文件"{name}"吗？',
    deleteSuccess: "删除成功",
    deleteFailed: "删除失败",
    loadFailed: "加载文件列表失败",
    storageType: {
      local: "本地",
      oss: "OSS",
      cos: "COS",
    },
    extType: {
      imageJpg: "图片(jpg)",
      imagePng: "图片(png)",
      pdf: "PDF",
      word: "Word",
      excel: "Excel",
      zip: "压缩包",
      video: "视频",
      text: "文本",
      ppt: "PPT",
      svg: "SVG",
    },
  },

  log: {
    title: "系统日志",
    operationLog: "操作日志",
    loginLog: "登录日志",
    clearLog: "清空日志",
    confirmClear: "确认清空",
    confirmClearOperation: "确定要清空所有操作日志吗？此操作不可恢复。",
    confirmClearLogin: "确定要清空所有登录日志吗？此操作不可恢复。",
    clearSuccess: "清空成功",
    clearFailed: "清空失败",
    operationUser: "操作用户",
    operationModule: "操作模块",
    operationType: "操作类型",
    operationDescription: "操作描述",
    requestMethod: "请求方法",
    ipAddress: "IP地址",
    duration: "耗时",
    operationTime: "操作时间",
    username: "用户名",
    browser: "浏览器",
    os: "操作系统",
    message: "提示信息",
    loginTime: "登录时间",
    success: "成功",
    fail: "失败",
    actionTypes: {
      login: "登录",
      logout: "登出",
      create: "新增",
      update: "修改",
      delete: "删除",
      export: "导出",
      import: "导入",
      other: "其他",
    },
    modules: {
      userManagement: "用户管理",
      roleManagement: "角色管理",
      menuManagement: "菜单管理",
      dictionary: "数据字典",
      systemLogin: "系统登录",
      profile: "个人中心",
      dashboard: "数据看板",
    },
    loadOperationLogFailed: "加载操作日志失败",
    loadLoginLogFailed: "加载登录日志失败",
  },

  "menu.external": "外部页面",
  "menu.externalIframe": "内嵌",
  "menu.externalLink": "外链",
  "menu.externalTypescript": "TypeScript",
  "menu.externalAntdvNext": "Antdv Next",
  "menu.externalVite": "Vite",
  "menu.externalVue": "Vue.js",
  "external.link.openedTitle": "已在新标签页打开",
  "external.link.openedSubTitle":
    "如果浏览器拦截了弹窗，请点击下方按钮再次打开。",
  "external.link.openVite": "打开 Vite 官网",
  "external.link.openVue": "打开 Vue 官网",

  examples: {
    scaffold: {
      stateCache: {
        title: "状态与缓存示例",
        description:
          "演示 Pinia 持久化（刷新恢复）和 keep-alive 页面局部缓存（切换不销毁）。",
        piniaSection: "1. Pinia 持久化状态",
        keywordLabel: "关键字",
        keywordPlaceholder: "输入后刷新页面仍保留",
        counterLabel: "计数器",
        notesLabel: "备注",
        notesPlaceholder: "支持多行，自动持久化",
        resetButton: "重置状态",
        pinTabButton: "固定当前标签",
        lastPersistTime: "最近持久化时间：",
        keepAliveSection: "2. keep-alive 局部缓存",
        panelA: "面板 A",
        panelB: "面板 B",
        panelADesc: "面板 A（切换面板后不会被销毁）",
        panelAInputPlaceholder: "输入内容，切换到 B 再切回仍保留",
        localCountLabel: "局部计数：",
        panelBDesc: "面板 B（也会被 keep-alive 缓存）",
        panelBTextPlaceholder: "输入内容后切换标签再回来仍保留",
        pinTabSuccess: "已切换当前标签固定状态",
      },
      uploadSystem: {
        title: "上传体系示例",
        description:
          "拖拽上传 + 进度 + 失败重试 + 图片预览，便于直接迁移到业务页。",
        uploading: "上传中",
        success: "成功",
        failed: "失败",
        dragText: "点击或拖拽文件到此区域上传",
        dragHint: "支持图片与文档，上传过程会随机模拟失败，用于验证重试逻辑。",
        retryButton: "重试失败项",
        clearButton: "清空列表",
        failureRate: "失败率：",
        previewTitle: "文件预览",
        uploadFailedError: "网络波动导致上传失败",
        uploadSuccessMsg: "上传成功：{name}",
        uploadFailedMsg: "上传失败：{name}",
        retryMsg: "开始重试 {count} 个失败文件",
        previewNotSupported: "该文件暂不支持预览",
      },
      importExport: {
        title: "导入导出闭环示例",
        description:
          "演示模板下载、CSV 导入校验、错误回执导出、当前数据导出的一体化流程。",
        downloadTemplate: "下载导入模板",
        importCsv: "导入 CSV",
        exportCurrent: "导出当前数据",
        exportErrorReceipt: "导出错误回执",
        totalRows: "导入总行数",
        successRows: "成功行数",
        updatedRows: "更新行数",
        failedRows: "失败行数",
        importHint:
          "导入表头必须为 code,name,category,price,stock；按 code 自动更新或新增。",
        colCode: "编码",
        colName: "名称",
        colCategory: "分类",
        colPrice: "价格",
        colStock: "库存",
        errorRowNo: "行号",
        errorReason: "错误原因",
        errorRaw: "原始数据",
        emptyFile: "文件为空或无有效数据行",
        invalidHeader: "表头不合法，请使用模板文件",
        errorRequired: "必填字段缺失（code/name/category）",
        errorPrice: "价格必须是大于等于 0 的数字",
        errorStock: "库存必须是大于等于 0 的整数",
        importDone: "导入完成：成功 {success} 条，失败 {failed} 条",
        parseFailed: "CSV 解析失败，请检查文件格式",
      },
      testing: {
        title: "测试示例",
        description: "提供单测与 e2e 的推荐模板，直接复制即可用于新模块。",
        alertMessage:
          "当前仓库尚未安装 Vitest / Playwright 依赖，此页提供结构与样例。",
        unitTestTitle: "单元测试模板（Vitest）",
        e2eTestTitle: "端到端测试模板（Playwright）",
        implementationTitle: "落地顺序建议",
        step1Title: "先补单测",
        step1Description: "先覆盖核心函数、store 计算逻辑和边界条件。",
        step2Title: "再补 e2e",
        step2Description: "覆盖登录、搜索、列表操作等关键用户路径。",
        step3Title: "接入 CI",
        step3Description:
          "将 type-check + unit + e2e 串成流水线，合并前自动执行。",
      },
      proTableAdvanced: {
        title: "ProTable 高阶示例",
        description: "服务端分页模拟 + 批量操作 + 行内编辑 + 导出",
        selectedCount: "已选 {count} 项",
        batchDisable: "批量禁用",
        batchDelete: "批量删除",
        export: "导出当前数据",
        statusActive: "启用",
        statusInactive: "禁用",
        username: "用户名",
        realName: "姓名",
        email: "邮箱",
        gender: "性别",
        status: "状态",
        createdAt: "创建时间",
        editSimulation: "模拟编辑：{username}",
        deleteConfirm: "确认删除该行吗？",
        deleteSuccess: "删除成功",
        statusChangeSuccess: "已{status} {username}",
        batchSetStatusSuccess: "已批量设置 {count} 项状态",
        batchDeleteTitle: "批量删除确认",
        batchDeleteContent: "确认删除已选的 {count} 条数据吗？",
        batchDeleteSuccess: "批量删除完成",
        exportSuccess: "CSV 导出成功",
      },
      complexForm: {
        title: "复杂表单示例",
        description:
          "步骤表单 + 动态策略项 + 异步校验 + 草稿保存 + 服务端字段错误映射。",
        step1Title: "基本信息",
        step2Title: "策略配置",
        step3Title: "发布设置",
        projectNameLabel: "项目名称",
        projectNamePlaceholder: "请输入项目名称",
        projectNameRequired: "请输入项目名称",
        projectNameExists: "项目名称已存在，请更换",
        ownerLabel: "负责人",
        ownerPlaceholder: "请输入负责人",
        ownerRequired: "请输入负责人",
        sceneLabel: "场景",
        scenePlaceholder: "请选择场景",
        sceneRequired: "请选择场景",
        sceneGrowth: "用户增长",
        sceneRisk: "风控预警",
        sceneStability: "稳定性监控",
        descriptionLabel: "说明",
        descriptionPlaceholder: "请输入补充说明",
        addRuleButton: "新增策略规则",
        currentRulesCount: "当前 {count} 条",
        metricPlaceholder: "指标名，如 error_rate",
        deleteButton: "删除",
        ruleListEmpty: "请至少添加一条策略规则",
        ruleListIncomplete: "策略规则存在未填写项，请补充完整",
        publishTypeLabel: "发布方式",
        publishTypeRequired: "请选择发布方式",
        publishImmediate: "立即发布",
        publishSchedule: "定时发布",
        publishTimeLabel: "发布时间",
        publishTimeRequired: "定时发布必须选择发布时间",
        notifyUsersLabel: "通知对象",
        notifyUsersPlaceholder: "输入用户名并回车",
        prevButton: "上一步",
        nextButton: "下一步",
        submitButton: "提交",
        saveDraftButton: "保存草稿",
        resetButton: "重置",
        draftSaved: "草稿已保存",
        serverValidationError: "服务端校验失败：项目名称不能包含 fail",
        submitFailed: "提交失败，已映射服务端字段错误",
        submitSuccess: "提交成功",
      },
      advancedFilter: {
        title: "高级筛选构建器示例",
        description:
          "通过可视化条件组合（AND/OR）构建筛选规则，并支持保存筛选方案。",
        tips: "支持字符串、枚举、数字、日期四类字段，满足大多数列表检索场景。",
        addCondition: "新增条件",
        saveScheme: "保存方案",
        matchedCount: "命中 {count} 条",
        emptyConditions: "暂无筛选条件",
        inputValue: "请输入值",
        selectValue: "请选择值",
        secondValue: "第二个值",
        savedSchemes: "已保存方案：",
        noSchemes: "暂无",
        schemeNamePlaceholder: "输入方案名称（最多 30 字）",
        schemeNameRequired: "请输入方案名称",
        saveSuccess: "筛选方案已保存",
        score: "评分",
        statusActive: "启用",
        statusInactive: "禁用",
        statusPending: "待处理",
        adminRole: "管理员",
        operatorRole: "运营",
        auditorRole: "审计",
        opContains: "包含",
        opEquals: "等于",
        opNotEquals: "不等于",
        opIn: "属于",
        opGt: "大于",
        opGte: "大于等于",
        opLt: "小于",
        opLte: "小于等于",
        opBetween: "区间",
        opBefore: "早于",
        opAfter: "晚于",
      },
      virtualTable: {
        title: "虚拟滚动表格示例",
        description: "演示 a-table 原生虚拟滚动在万级数据下的流畅渲染能力。",
        tipsNativeVirtual:
          "基于 antdv-next 原生 a-table + virtual，无需额外虚拟列表库。",
        datasetSize: "数据量",
        regenerate: "重新生成数据",
        regenerateSuccess: "已生成 {count} 条数据",
        searchPlaceholder: "搜索用户名 / 邮箱 / 部门",
        allStatus: "全部状态",
        totalRows: "总数据 {count}",
        filteredRows: "筛选后 {count}",
        renderedRowsTip: "仅渲染可视区域，滚动更流畅",
        statusActive: "启用",
        statusInactive: "禁用",
        statusPending: "待处理",
        colId: "ID",
        colUsername: "用户名",
        colEmail: "邮箱",
        colDepartment: "部门",
        colStatus: "状态",
        colUpdatedAt: "更新时间",
      },
      masterDetail: {
        title: "列表-详情示例",
        description:
          "模拟工单主从页：左侧列表选择，右侧 Drawer 展示详情与操作历史。",
        drawerTitle: "工单详情",
        ticketNumber: "单号",
        titleLabel: "标题",
        ownerLabel: "负责人",
        priorityLabel: "优先级",
        createdAtLabel: "创建时间",
        descTab: "描述",
        logsTab: "操作记录",
        statusOpen: "待处理",
        statusProcessing: "处理中",
        statusClosed: "已关闭",
        ticketTitle: "订单风控告警 #{index}",
        ownerZhang: "张工",
        ownerLi: "李工",
        ticketDescription:
          "这是第 {index} 条工单的详细描述，包含背景信息、影响范围和建议处理动作。",
        actionCreate: "创建工单",
        operatorSystem: "系统",
        actionAssign: "分配负责人",
        operatorDispatch: "调度中心",
        colTicketNumber: "单号",
        colTitle: "标题",
        colOwner: "负责人",
        colPriority: "优先级",
        colStatus: "状态",
        colCreatedAt: "创建时间",
      },
      rbac: {
        title: "RBAC 全链路示例",
        description:
          "覆盖页面权限、按钮权限、字段权限、接口权限 4 个维度。可直接切换 admin / user 观察差异。",
        currentSession: "当前会话",
        accountInfo: "账号：{username} | 角色：{role}",
        switchToAdmin: "切换为 admin",
        switchToUser: "切换为 user",
        permissionTotal: "...共 {count} 项",
        section1Title: "1. 页面权限判定",
        checkUserManage: "用户管理页访问（system.user.view）",
        checkMenuManage: "菜单管理页访问（system.permission.view）",
        checkAdminRole: "管理员角色访问（admin）",
        passed: "通过",
        denied: "拒绝",
        section2Title: "2. 按钮权限",
        createUserButton: "新建用户",
        editUserButton: "编辑用户",
        deleteUserButton: "删除用户",
        buttonPermissionHint: "提示：按钮是否渲染由 PermissionButton 控制",
        section3Title: "3. 字段权限（脱敏）",
        phoneLabel: "手机号：",
        emailLabel: "邮箱：",
        realNameLabel: "真实姓名：",
        section4Title: "4. 接口权限失败兜底",
        callViewApi: "调用查看接口",
        callExportApi: "调用导出接口",
        callDeleteApi: "调用删除接口",
        viewUserAction: "查看用户列表",
        exportUserAction: "导出用户",
        deleteUserAction: "删除用户",
        switchSuccess: "已切换为 {username}",
        switchFailed: "切换失败",
        missingPermission: "403: 缺少权限 {permission}",
        apiSuccess: "{action} 成功",
        apiFailed: "{action} 失败：{error}",
        noPermission: "无权限",
      },
      observability: {
        title: "可观测性与异常示例",
        description:
          "统一处理加载态、空态、错误态，并对错误进行分级与记录，支持一键重试。",
        simulateSuccess: "模拟成功",
        simulateEmpty: "模拟空数据",
        simulateNetwork: "模拟网络错误",
        simulateAuth: "模拟鉴权错误",
        simulateBusiness: "模拟业务错误",
        requestStateTitle: "请求状态视图",
        emptyData: "当前无可展示数据",
        requestFailed: "请求失败",
        retryButton: "重试",
        clickToStart: "点击上方按钮开始模拟",
        errorLogTitle: "错误分类与事件日志",
        networkError: "网络错误",
        authError: "鉴权错误",
        businessError: "业务错误",
        noEvents: "暂无事件",
        errorNetwork: "NetworkError: 请求超时，请检查网络连接",
        errorAuth: "AuthError: token 过期，需要重新登录",
        errorBusiness: "BusinessError: 规则配置冲突，无法计算",
        eventStart: "开始模拟场景：{scenario}",
        eventEmpty: "请求成功但返回空数据",
        eventSuccess: "请求成功并返回数据",
        unknownError: "未知错误",
        eventError: "请求失败（{type}）：{message}",
      },
      requestAuth: {
        title: "请求与鉴权闭环示例",
        description:
          "演示并发请求触发 401 时的排队刷新机制，以及刷新失败后的重登兜底。",
        refreshFailedAlert: "刷新失败，已进入重登态",
        refreshFailedDesc: '后续请求会继续失败，点击"重置会话"后重新发起请求。',
        accessToken: "Access Token",
        refreshToken: "Refresh Token",
        refreshStatus: "刷新状态",
        empty: "空",
        refreshing: "刷新中",
        idle: "空闲",
        singleRequest: "发起单请求",
        concurrentRequest: "并发 5 个请求",
        expireToken: "令 Token 过期",
        simulateRefreshFail: "模拟刷新失败",
        resetSession: "重置会话",
        logTitle: "事件日志（最近 80 条）",
        clearLog: "清空日志",
        noLogs: "暂无日志",
        tokenExpired: "[{apiName}] token 已过期",
        apiSuccess: "[{apiName}] 请求成功",
        refreshTokenInvalid: "refresh token 无效",
        logRefreshStart: "触发刷新 token（仅首个 401 请求执行）",
        logRefreshSuccess: "token 刷新成功，释放排队请求",
        logRefreshFailed: "token 刷新失败：{message}，进入重登态",
        logQueueWait: "检测到刷新进行中，请求进入排队等待",
        logNon401Error: "[{apiName}] 非 401 错误：{message}",
        log401Detected: "[{apiName}] 触发 401，准备刷新 token",
        logTokenExpired: "手动将 access token 标记为过期",
        logSessionReset: "会话已重置，可重新发起请求",
        singleRequestFailed: "单请求执行失败",
        logConcurrentStart: "开始并发 5 个请求，观察刷新排队行为",
        concurrentPartialFail: "并发请求完成，失败 {count} 个",
        concurrentAllSuccess: "并发请求全部成功",
        logRefreshWillFail: "下一次刷新将被强制失败",
        refreshFailTriggered: "刷新失败场景已触发",
      },
    },
    jsonInput: {
      title: "JSON 输入示例",
      description:
        "功能强大的 JSON 输入组件，支持表单编辑和原始 JSON 编辑两种模式，可处理嵌套对象、数组和各种数据类型。",
      basicUsage: "基础用法",
      userConfig: "用户配置",
      clickToEdit: "点击编辑 JSON",
      editUserConfig: "编辑用户配置",
      displayValue: "显示值（使用 displayKey）",
      productName: "产品名称",
      price: "价格",
      stock: "库存",
      productDescription: "描述",
      selectProduct: "选择产品",
      advancedUsage: "高级用法",
      withI18nKeys: "Key 国际化支持",
      i18nKeysHint: "通过 label-map 属性为 key 提供国际化标签",
      withDisabledFields: "禁用字段",
      apiKey: "API 密钥",
      endpoint: "接口地址",
      timeout: "超时时间（秒）",
      systemConfig: "系统配置",
      nestedObject: "嵌套对象支持",
      userInfo: "用户信息",
      name: "姓名",
      settings: "设置",
      theme: "主题",
      language: "语言",
      nestedData: "嵌套数据结构",
      emptyObject: "空对象（创建新的）",
      createNew: "创建新配置",
    },
    i18nInput: {
      description:
        "国际化输入组件，支持多语言内容编辑。基于 JsonInput 封装，自动根据系统支持的语言生成表单字段。",
      productName: "产品名称（多语言）",
      productDescription: "产品描述（多语言）",
      editProductName: "编辑产品名称",
      editProductDesc: "编辑产品描述",
      clickToEdit: "点击编辑多语言内容",
      stringFormat: "字符串格式值",
      stringFormatHint: "支持字符串格式的 JSON，组件会自动解析和序列化",
      currentLocale: "指定显示语言",
      currentLocaleHint: "通过 locale 属性指定输入框中显示哪个语言的值",
      emptyValue: "空值（自动初始化）",
      dataPreview: "数据预览",
      valueType: "值类型切换",
      showAsString: "显示为字符串",
      showAsObject: "显示为对象",
      stringValue: "字符串格式",
      objectValue: "对象格式",
    },
    codeEditor: {
      title: "代码编辑器示例",
      description:
        "基于 CodeMirror 6 的代码编辑器组件，支持 14+ 语言语法高亮、JSON 格式化、主题切换等功能。",
      jsonEditor: "JSON 编辑器",
      jsEditor: "JavaScript 编辑器",
      multiLanguage: "多语言切换",
      readonlyMode: "只读预览模式",
      darkTheme: "主题切换",
      themePreview: "主题预览",
      themeAuto: "跟随系统",
      themeLight: "亮色",
      themeDark: "暗色",
      autoHeight: "自动高度",
      format: "格式化",
      minify: "压缩",
      copy: "复制",
      language: "语言",
      theme: "主题",
      outputPreview: "输出预览",
    },
  },
};
