1	export default {
2	  common: {
3	    appName: "Antdv Next Admin",
4	    add: "新增",
5	    edit: "编辑",
6	    delete: "删除",
7	    view: "查看",
8	    search: "搜索",
9	    reset: "重置",
10	    submit: "提交",
11	    cancel: "取消",
12	    confirm: "确定",
13	    save: "保存",
14	    export: "导出",
15	    import: "导入",
16	    refresh: "刷新",
17	    operate: "操作",
18	    more: "更多",
19	    back: "返回",
20	    expand: "展开",
21	    collapse: "收起",
22	    ok: "确定",
23	    close: "关闭",
24	    yes: "是",
25	    no: "否",
26	    loading: "加载中...",
27	    noData: "暂无数据",
28	    success: "操作成功",
29	    error: "操作失败",
30	    warning: "警告",
31	    info: "提示",
32	    copySuccess: "复制成功",
33	    copyFailed: "复制失败",
34	    actions: "操作",
35	    status: "状态",
36	    createTime: "创建时间",
37	    updateTime: "更新时间",
38	    menu: "菜单",
39	    navigate: "切换",
40	    select: "选择",
41	    clear: "清空",
42	    component: "组件",
43	    basicUsage: "基础用法",
44	    advancedUsage: "高级用法",
45	    preview: "预览",
46	    jsonContent: "JSON 内容",
47	    jsonPlaceholder: "输入有效的 JSON...",
48	    jsonParseError: "JSON 格式错误",
49	    invalidArray: "无效的数组格式",
50	    formEdit: "表单编辑",
51	    rawEdit: "原始编辑",
52	    addField: "新增字段",
53	    fieldName: "字段名称",
54	    fieldExists: "字段已存在",
55	    pleaseInput: "请输入",
56	    fieldOrder: "字段顺序",
57	    moveUp: "上移",
58	    moveDown: "下移",
59	    enabled: "已启用",
60	    disabled: "已禁用",
61	    inputTags: "输入标签按回车确认",
62	    addSuccess: "添加成功",
63	    pleaseInputFieldName: "请输入字段名",
64	    inputFieldName: "请输入字段名称",
65	    selectFieldType: "请选择字段类型",
66	    typeString: "文本",
67	    typeNumber: "数字",
68	    typeBoolean: "布尔值",
69	    typeTags: "标签",
70	    typeArray: "数组",
71	    typeObject: "对象",
72	    searchLabel: "搜索{label}",
73	  },
74
75	  codeEditor: {
76	    format: "格式化",
77	    minify: "压缩",
78	    copy: "复制",
79	    formatSuccess: "格式化成功",
80	    minifySuccess: "压缩成功",
81	    copySuccess: "复制成功",
82	    copyFailed: "复制失败",
83	    jsonError: "JSON 格式错误",
84	  },
85
86	  menu: {
87	    dashboard: "数据看板",
88	    organization: "组织权限",
89	    system: "系统管理",
90	    user: "用户管理",
91	    role: "角色管理",
92	    permission: "权限管理",
93	    menu: "菜单管理",
94	    dict: "数据字典",
95	    log: "系统日志",
96	    asset: "资产管理",
97	    assetDevice: "设备管理",
98	    assetLicense: "许可证管理",
99	    assetAccessory: "配件管理",
100	    assetConsumable: "耗材管理",
101	    assetDepreciation: "折旧管理",
102	    assetOffering: "提供服务",
103	    base: "基础数据",
104	    baseCategory: "资产类别",
105	    baseLocation: "存放位置",
106	    baseManufacturer: "制造商",
107	    baseModel: "型号",
108	    baseSupplier: "供应商",
109	    biz: "业务管理",
110	    bizFailure: "故障管理",
111	    bizStocktake: "盘点管理",
112	    bizTransaction: "交易记录",
113	    bizAllocation: "资产分配",
114	    bizRequest: "资产申请",
115	    dept: "部门管理",
116	    config: "系统配置",
117	    file: "文件管理",
118	    examples: "示例中心",
119	    examplesQuickStart: "快速开始",
120	    examplesFormInput: "表单与输入",
121	    examplesContent: "内容编辑",
122	    examplesInteraction: "基础交互",
123	    examplesBusinessScaffold: "业务脚手架",
124	    examplesSecurityEngineering: "安全与工程",
125	    examplesIntegration: "集成与跳转",
126	    examplesExceptionPages: "异常页",
127	    table: "表格示例",
128	    icon: "图标示例",
129	    form: "表单示例",
130	    jsonInput: "JSON输入",
131	    i18nInput: "国际化输入",
132	    advancedFilter: "高级筛选构建器",
133	    editor: "富文本编辑器",
134	    milkdown: "Markdown 编辑器",
135	    codeEditor: "代码编辑器",
136	    captcha: "验证码示例",
137	    spin: "加载示例",
138	    modal: "弹窗示例",
139	    watermark: "水印示例",
140	    splitter: "分割面板",
141	    tour: "漫游引导",
142	    qrcode: "二维码",
143	    segmented: "分段控制器",
144	    colorPicker: "颜色选择器",
145	    requestAuth: "请求鉴权闭环",
146	    rbacFlow: "RBAC 全链路",
147	    proTableAdvanced: "ProTable 高阶",
148	    complexForm: "复杂表单",
149	    uploadSystem: "上传体系",
150	    importExport: "导入导出闭环",
151	    masterDetail: "列表-详情",
152	    virtualTable: "虚拟滚动表格",
153	    stateCache: "状态与缓存",
154	    observability: "可观测性与异常",
155	    testing: "测试示例",
156	    exception: "异常页面",
157	    exception403: "403",
158	    exception404: "404",
159	    exception500: "500",
160	    profile: "个人中心",
161	    about: "关于",
162	  },
163
164	  layout: {
165	    logout: "退出登录",
166	    logoutConfirm: "确定要退出登录吗？",
167	    profile: "个人中心",
168	    documentation: "帮助文档",
169	    settings: "系统设置",
170	    theme: "主题设置",
171	    themeLight: "亮色主题",
172	    themeDark: "暗色主题",
173	    themeAuto: "跟随系统",
174	    language: "语言切换",
175	    fullscreen: "全屏",
176	    exitFullscreen: "退出全屏",
177	    notifications: "通知",
178	    markAllRead: "全部已读",
179	    clearAll: "清空所有",
180	    noNotifications: "暂无通知",
181	    notificationsEmptyHint: "清空后，新的通知会显示在这里",
182	    viewDetails: "查看详情",
183	    viewAllNotifications: "查看全部通知",
184	    searchPlaceholder: "搜索菜单...",
185	    noSearchResults: "未找到匹配的菜单",
186	    recentMenus: "最近访问",
187	    aiCollabEnable: "开启 AI 协同",
188	    aiCollabDisable: "关闭 AI 协同",
189	    aiAssistantTitle: "AI 协同",
190	    aiAssistantSubtitle: "基于当前页面上下文协助操作",
191	    aiCurrentPage: "当前页面",
192	    aiQuickActions: "快捷指令",
193	    aiInputPlaceholder: "输入你的问题或指令（Shift+Enter 换行）",
194	    aiEnterHint: "Enter 发送，Shift+Enter 换行",
195	    aiEmptyTitle: "开始 AI 协同",
196	    aiEmptyDescription: "可让 AI 解释页面、总结数据、给出下一步建议",
197	    aiActionExplain: "解释当前页面",
198	    aiActionSummary: "总结当前数据",
199	    aiActionRisk: "识别潜在风险",
200	    aiActionNextStep: "给出下一步建议",
201	    aiDemoReply: "已收到你的请求。我正在结合“{page}”页面上下文生成建议。",
202	    languages: {
203	      zhCN: "简体中文",
204	      enUS: "English",
205	      jaJP: "日本語",
206	      koKR: "한국어",
207	    },
208	    tabs: {
209	      refresh: "刷新当前",
210	      close: "关闭当前",
211	      pin: "固定当前",
212	      unpin: "取消固定",
213	      favorite: "收藏",
214	      unfavorite: "取消收藏",
215	      closeOthers: "关闭其他",
216	      closeAll: "关闭所有",
217	      closeLeft: "关闭左侧",
218	      closeRight: "关闭右侧",
219	      moreActions: "更多标签操作",
220	    },
221	  },
222
223	  settings: {
224	    title: "偏好设置",
225	    themeColor: "主题色",
226	    sidebarTheme: "左侧菜单栏样式",
227	    light: "浅色",
228	    dark: "深色",
229	    layoutMode: "布局方式",
230	    vertical: "垂直",
231	    horizontal: "水平",
232	    pageAnimation: "页面切换动画",
233	    fade: "淡入淡出",
234	    slideLeft: "左滑",
235	    slideRight: "右滑",
236	    slideUp: "上滑",
237	    slideDown: "下滑",
238	    zoom: "缩放",
239	    zoomBig: "大幅缩放",
240	    none: "无动画",
241	    grayMode: "灰色模式",
242	    grayModeHint: "开启后整个应用呈现灰色调",
243	    rememberTabState: "记住标签页状态",
244	    rememberTabStateHint: "刷新页面后自动恢复之前打开的标签页",
245	    aiCollab: "AI 对话分屏",
246	    aiCollabHint: "在顶部导航栏显示 AI 对话入口图标",
247	    aiCollabHintMobile: "移动端暂不支持 AI 对话分屏",
248	    reset: "重置设置",
249	    confirmReset: "确定要重置所有偏好设置吗？",
250	    colors: {
251	      blue: "拂晓蓝",
252	      green: "极光绿",
253	      purple: "酱紫",
254	      red: "薄暮红",
255	      orange: "日暮橙",
256	      cyan: "明青",
257	    },
258	  },
259
260	  login: {
261	    title: "用户登录",
262	    username: "用户名",
263	    password: "密码",
264	    remember: "记住密码",
265	    login: "登录",
266	    forgotPassword: "忘记密码",
267	    noAccount: "还没有账号？",
268	    register: "立即注册",
269	    usernamePlaceholder: "请输入用户名",
270	    passwordPlaceholder: "请输入密码",
271	    usernameRequired: "请输入用户名",
272	    passwordRequired: "请输入密码",
273	    loginSuccess: "登录成功",
274	    loginFailed: "登录失败",
275	    slideToVerify: "滑动验证身份",
276	    verifySuccess: "验证成功",
277	  },
278
279	  dashboard: {
280	    welcome: "欢迎回来",
281	    subtitle: "实时监控您的业务数据和系统运行状态",
282	    systemStable: "系统运行稳定",
283	    todayFocus: "今日重点",
284	    compareYesterday: "较昨日 {value}",
285	    goodMorning: "早上好",
286	    goodAfternoon: "下午好",
287	    goodEvening: "晚上好",
288	    goodNight: "夜深了",
289	    totalUsers: "总用户数",
290	    totalOrders: "总订单数",
291	    totalRevenue: "总收入",
292	    conversionRate: "转化率",
293	    newUsers: "新增用户",
294	    returningUsers: "回访用户",
295	    enterpriseUsers: "企业用户",
296	    salesTrend: "销售趋势",
297	    userDistribution: "用户分布",
298	    recentActivities: "最近活动",
299	    quickActions: "快捷操作",
300	    viewMore: "查看更多",
301	    minutesAgo: "{value} 分钟前",
302	    hoursAgo: "{value} 小时前",
303	    activities: {
304	      permissionUpdated: "管理员更新了系统菜单权限配置",
305	      userCreated: "新增用户 Sunny 并分配运营角色",
306	      orderTaskDone: "今日订单统计任务执行完成",
307	      riskPolicyReleased: "风控策略版本已发布到生产环境",
308	    },
309	    activityTags: {
310	      system: "系统",
311	      user: "用户",
312	      task: "任务",
313	      release: "发布",
314	    },
315	    months: {
316	      jan: "1月",
317	      feb: "2月",
318	      mar: "3月",
319	      apr: "4月",
320	      may: "5月",
321	      jun: "6月",
322	      jul: "7月",
323	      aug: "8月",
324	    },
325	  },
326
327	  user: {
328	    title: "用户管理",
329	    username: "用户名",
330	    email: "邮箱",
331	    realName: "真实姓名",
332	    phone: "手机号",
333	    gender: "性别",
334	    male: "男",
335	    female: "女",
336	    avatar: "头像",
337	    role: "角色",
338	    status: "状态",
339	    active: "启用",
340	    inactive: "禁用",
341	    createUser: "创建用户",
342	    editUser: "编辑用户",
343	    deleteUser: "删除用户",
344	    confirmDelete: "确定要删除该用户吗？",
345	    usernameRequired: "请输入用户名",
346	    usernameLength: "用户名长度应在 3-20 之间",
347	    emailRequired: "请输入邮箱",
348	    selectRole: "请选择至少一个角色",
349	    bio: "个人简介",
350	    updateSuccess: "用户更新成功",
351	    createSuccess: "用户创建成功",
352	    resetPassword: "重置密码",
353	    confirmResetPassword: "确定要重置该用户密码吗？",
354	    age: "年龄",
355	    tags: "标签",
356	    address: "地址",
357	    department: "部门",
358	    position: "职位",
359	    info: "用户信息",
360	    settings: "设置",
361	    theme: "主题",
362	    language: "语言",
363	    exportSuccess: "导出成功",
364	    exportFailed: "导出失败",
365	    importSuccess: "成功导入 {count} 条数据",
366	    importFailed: "导入失败，请检查文件格式",
367	    importEmpty: "文件为空或格式不正确",
368	    importFormatError: 'CSV 格式不正确，需包含"用户名"、"姓名"、"邮箱"列',
369	  },
370
371	  role: {
372	    title: "角色管理",
373	    name: "角色名称",
374	    code: "角色代码",
375	    description: "角色描述",
376	    permissions: "权限",
377	    createRole: "创建角色",
378	    editRole: "编辑角色",
379	    deleteRole: "删除角色",
380	    confirmDelete: "确定要删除该角色吗？",
381	    assignPermissions: "分配权限",
382	    codeRequired: "请输入角色编码",
383	    codePattern: "角色编码仅支持字母、数字、下划线和中划线",
384	    selectPermissions: "请选择权限",
385	    updateSuccess: "角色更新成功",
386	    createSuccess: "角色创建成功",
387	  },
388
389	  permission: {
390	    title: "菜单管理",
391	    name: "菜单名称",
392	    code: "权限代码",
393	    type: "权限类型",
394	    menu: "菜单",
395	    button: "按钮",
396	    api: "API",
397	    resource: "资源",
398	    action: "操作",
399	    createPermission: "新增菜单",
400	    editPermission: "编辑菜单",
401	    deletePermission: "删除菜单",
402	    confirmDelete: "确定要删除该菜单及其子节点吗？",
403	    expandAll: "展开全部",
404	    collapseAll: "收起全部",
405	    parentMenu: "上级菜单",
406	    createChildMenu: "新增子菜单",
407	    visible: "显示",
408	    show: "显示",
409	    hide: "隐藏",
410	    routePath: "路由路径",
411	    componentPath: "组件路径",
412	    sort: "排序",
413	    addChild: "新增子级",
414	    codeRequired: "请输入权限编码",
415	    codePattern: "权限编码仅支持字母、数字、下划线和中划线",
416	    menuRouteRequired: "菜单类型必须填写路由路径",
417	    icon: "图标",
418	    iconPlaceholder: "例如：UserOutlined",
419	    visibleStatus: "显示状态",
420	    updateSuccess: "菜单更新成功",
421	    createSuccess: "菜单创建成功",
422	    matrixTitle: "权限分配矩阵",
423	    filterModule: "按模块筛选",
424	    allModules: "全部模块",
425	    pageAndPerm: "页面 / 权限",
426	  },
427
428	  dict: {
429	    title: "数据字典",
430	    dictType: "字典类型",
431	    dictData: "字典数据",
432	    typeName: "类型名称",
433	    typeCode: "类型编码",
434	    description: "描述",
435	    dictLabel: "字典标签",
436	    dictValue: "字典值",
437	    sort: "排序",
438	    remark: "备注",
439	    enabled: "启用",
440	    disabled: "禁用",
441	    createType: "新增字典类型",
442	    editType: "编辑字典类型",
443	    deleteType: "删除字典类型",
444	    createData: "新增数据",
445	    editData: "编辑字典数据",
446	    deleteData: "删除字典数据",
447	    confirmDeleteType: '确定要删除字典类型"{name}"吗？',
448	    confirmDeleteData: '确定要删除字典数据"{label}"吗？',
449	    typeNamePlaceholder: "请输入类型名称",
450	    typeCodePlaceholder: "请输入类型编码",
451	    descriptionPlaceholder: "请输入描述",
452	    labelPlaceholder: "请输入字典标签",
453	    valuePlaceholder: "请输入字典值",
454	    remarkPlaceholder: "请输入备注",
455	    selectTypeHint: "请选择左侧字典类型",
456	    requiredFields: "请填写必填项",
457	    deleteSuccess: "删除成功",
458	    deleteFailed: "删除失败",
459	    updateSuccess: "更新成功",
460	    createSuccess: "创建成功",
461	    operateFailed: "操作失败",
462	    loadTypeFailed: "加载字典类型失败",
463	    loadDataFailed: "加载字典数据失败",
464	    dictDataTitle: "字典数据 - {name}",
465	    confirmDelete: "确认删除",
466	  },
467
468	  table: {
469	    title: "表格示例",
470	    total: "共 {total} 条",
471	    page: "第 {page} 页",
472	    pageSize: "每页 {size} 条",
473	    goTo: "跳至",
474	  },
475
476	  form: {
477	    title: "表单示例",
478	    basicInfo: "基本信息",
479	    advancedInfo: "高级信息",
480	    submit: "提交",
481	    reset: "重置",
482	    validateSuccess: "验证通过",
483	    validateFailed: "验证失败",
484	  },
485
486	  exampleTable: {
487	    userList: "用户列表",
488	    subTitle: "ProTable 示例",
489	    createUser: "新建用户",
490	    editUser: "编辑用户",
491	    deleteSuccess: "删除成功",
492	    updateSuccess: "更新成功",
493	    createSuccess: "创建成功",
494	  },
495
496	  notificationCenter: {
497	    kicker: "Notification Hub",
498	    title: "通知中心",
499	    subtitle: "统一查看系统动态、消息提醒与任务结果，支持快速筛选与详情追踪。",
500	    searchPlaceholder: "搜索通知标题或内容",
501	    listTitle: "通知列表",
502	    listSubtitle: "当前匹配到 {count} 条通知",
503	    emptyFiltered: "暂无匹配通知",
504	    metrics: {
505	      total: "通知总数",
506	      unread: "未读通知",
507	      today: "今日新增",
508	    },
509	    filters: {
510	      allStatus: "全部状态",
511	      unread: "仅未读",
512	      read: "仅已读",
513	      allTypes: "全部类型",
514	      system: "系统更新",
515	      message: "新消息",
516	      security: "安全提醒",
517	      task: "任务完成",
518	      error: "异常告警",
519	    },
520	    status: {
521	      read: "已读",
522	      unread: "未读",
523	    },
524	    meta: {
525	      type: "通知类型",
526	      receivedAt: "接收时间",
527	    },
528	    actions: {
529	      markAsRead: "标记为已读",
530	      openRelated: "前往相关页面",
531	      delete: "删除通知",
532	    },
533	    placeholder: {
534	      title: "选择一条通知查看详情",
535	      desc: "从左侧通知列表中选择任意一条，即可在此查看完整内容与关联操作。",
536	    },
537	  },
538
539	  exampleCaptcha: {
540	    title: "验证码组件示例",
541	    description: "封装了常见的几种前端验证码交互组件，支持自定义样式和回调。",
542	    slider: "滑块验证 (Slider)",
543	    rotate: "旋转验证 (Rotate)",
544	    puzzle: "拼图验证 (Puzzle)",
545	    point: "点选验证 (Point)",
546	    success: "验证通过！",
547	    fail: "验证失败，请重试",
548	  },
549
550	  exampleSpin: {
551	    title: "Spin 加载示例",
552	    description:
553	      "演示 Spin 组件的多种用法，包括基础加载、不同尺寸、自定义指示符、进度展示、延迟加载和全屏加载。",
554	    basic: "基本用法 & 尺寸",
555	    tip: "自定义描述文案",
556	    nested: "卡片加载中",
557	    delay: "延迟显示",
558	    customIndicator: "自定义指示符",
559	    percent: "进度展示",
560	    customStyle: "自定义样式",
561	    fullscreen: "全屏加载",
562	    showFullscreen: "显示全屏加载",
563	    loadingState: "加载状态：",
564	  },
565
566	  exampleEditor: {
567	    title: "富文本编辑器示例",
568	    description:
569	      "基于 Tiptap 封装的富文本编辑器，支持图片上传、链接插入、格式化等功能。",
570	    basicUsage: "基础用法",
571	    placeholder: "请输入内容...",
572	    disabledState: "禁用状态",
573	    customHeight: "自定义高度",
574	    contentPreview: "内容预览",
575	    htmlOutput: "HTML 输出",
576	    noContent: "暂无内容",
577	    save: "保存内容",
578	    clear: "清空内容",
579	    loadDemo: "加载示例",
580	    savedMessage: "内容已保存",
581	    clearedMessage: "内容已清空",
582	    demoLoadedMessage: "示例内容已加载",
583	  },
584
585	  exampleForm: {
586	    description: "ProForm 高级表单示例 - 展示各种表单控件",
587	    age: "年龄",
588	    ageRange: "年龄必须在1-150之间",
589	    interests: "兴趣爱好",
590	    birthDate: "出生日期",
591	    score: "评分",
592	    progress: "进度",
593	    bioPlaceholder: "请输入个人简介",
594	    submitSuccess: "提交成功！",
595	    roles: {
596	      admin: "管理员",
597	      user: "普通用户",
598	      guest: "访客",
599	    },
600	    interestOptions: {
601	      reading: "阅读",
602	      sports: "运动",
603	      music: "音乐",
604	      travel: "旅游",
605	    },
606	  },
607
608	  exampleIcon: {
609	    title: "图标演示",
610	    subtitle: "统一展示 Icon 组件与 IconPicker 的完整用法",
611	    capabilities:
612	      "支持：本地 SVG、antdv-next 图标、Iconify（离线库 + 在线搜索）",
613	    renderTitle: "三种渲染模式",
614	    renderSubtitle: "点击任意示例可直接应用到下方 IconPicker",
615	    pickerTitle: "IconPicker 使用示例",
616	    pickerSubtitle: "输入 2 个以上字符可触发在线搜索，离线图标库可直接分类筛选",
617	    modelLabel: "图标值",
618	    previewLabel: "实时预览",
619	    copy: "复制值",
620	    copySuccess: "图标值已复制",
621	    copyEmpty: "请先选择图标",
622	    copyFailed: "复制失败，请手动复制",
623	    reset: "重置为默认",
624	    sourceLabel: "图标来源",
625	    sourceSvg: "本地 SVG Symbol",
626	    sourceAntdv: "antdv-next 组件图标",
627	    sourceIconify: "Iconify 图标",
628	    sourceOnline: "Iconify 在线结果",
629	    sourceUnknown: "未识别",
630	    guidesTitle: "接入说明",
631	    guidesSubtitle: "两种最常用接入路径：SVG Symbol 与 Iconify（在线 + 离线）",
632	    svgGuideTitle: "SVG 如何添加并使用",
633	    iconifyGuideTitle: "Iconify 如何使用",
634	    guideStepSvg1:
635	      '在页面根节点（或全局布局）注入 <symbol id="..."> 图标定义。',
636	    guideStepSvg2: "使用 Icon 组件传入 svg:图标ID，例如 svg:icon-demo-orbit。",
637	    guideStepSvg3:
638	      "若希望 IconPicker 识别本地 SVG，可将文件放到 src/assets/icons 并传入 svgIcons。",
639	    guideStepIconify1:
640	      "直接传入 iconify 名称：ri:home-line / mdi:account / ion:apps-outline。",
641	    guideStepIconify2:
642	      "IconPicker 已内置离线库（ri / mdi / ion），无需联网即可选择。",
643	    guideStepIconify3:
644	      "在“全部/在线”分类输入关键字（至少 2 字符）可从 Iconify 在线检索。",
645	    modeSvg: "SVG Sprite",
646	    modeAntdv: "antdv-next",
647	    modeIconify: "Iconify",
648	    sampleHint: "点击示例即应用",
649	  },
650
651	  exampleWatermark: {
652	    title: "水印示例",
653	    description: "全局水印功能 - 可在此配置并即时预览水印效果",
654	    enableGlobal: "启用全局水印",
655	    content: "水印文字",
656	    fontSize: "字体大小",
657	    rotate: "旋转角度",
658	    opacity: "透明度",
659	    gapX: "水平间距",
660	    gapY: "垂直间距",
661	    preview: "本地预览",
662	    previewText: "此区域用于预览水印效果",
663	  },
664
665	  exampleSplitter: {
666	    title: "分割面板示例",
667	    description:
668	      "Splitter 组件用于创建可拖拽调整大小的分割面板布局，支持水平/垂直分割、嵌套布局和面板配置。",
669	    basicTab: "基础分割",
670	    nestedTab: "嵌套布局",
671	    configTab: "面板配置",
672	    businessTab: "业务示例",
673	    horizontalSplit: "水平分割（左右布局）",
674	    verticalSplit: "垂直分割（上下布局）",
675	    leftPanel: "左侧面板",
676	    rightPanel: "右侧面板",
677	    topPanel: "顶部面板",
678	    bottomPanel: "底部面板",
679	    threeColumnLayout: "三栏嵌套布局",
680	    sidebarPanel: "侧边栏",
681	    mainContent: "主内容区",
682	    footerPanel: "底部区域",
683	    asidePanel: "右侧边栏",
684	    minSize: "最小尺寸",
685	    maxSize: "最大尺寸",
686	    defaultSize: "默认尺寸",
687	    resizable: "允许拖拽",
688	    configurablePanel: "可配置面板",
689	    autoPanel: "自适应面板",
690	    codeEditorLayout: "代码编辑器布局示例",
691	  },
692
693	  exampleTour: {
694	    title: "漫游引导示例",
695	    description: "Tour 组件用于创建分步引导，帮助用户了解产品功能和操作流程。",
696	    startBasicTour: "开始基础引导",
697	    startCustomTour: "开始自定义引导",
698	    searchButton: "搜索",
699	    createButton: "新建",
700	    settingsButton: "设置",
701	    exportButton: "导出",
702	    tourConfig: "引导配置",
703	    showMask: "显示遮罩",
704	    showArrow: "显示箭头",
705	    scrollIntoView: "滚动到视图",
706	    indicatorType: "指示器类型",
707	    step1Title: "搜索功能",
708	    step1Desc: "点击此按钮可以搜索系统中的各种数据，支持模糊匹配和高级筛选。",
709	    step2Title: "新建操作",
710	    step2Desc: "点击此按钮可以创建新的数据记录，支持多种数据类型。",
711	    step3Title: "系统设置",
712	    step3Desc: "点击此按钮可以进入系统设置页面，配置各项系统参数。",
713	    step4Title: "导出数据",
714	    step4Desc: "点击此按钮可以将当前数据导出为 Excel、CSV 等格式。",
715	    customStep1Title: "右侧定位",
716	    customStep1Desc: "引导面板显示在目标元素的右侧。",
717	    customStep2Title: "底部定位",
718	    customStep2Desc: "引导面板显示在目标元素的底部。",
719	    customStep3Title: "左侧定位",
720	    customStep3Desc: "引导面板显示在目标元素的左侧。",
721	    customStep4Title: "顶部定位",
722	    customStep4Desc: "引导面板显示在目标元素的顶部，并使用自定义指示器。",
723	  },
724
725	  exampleQRCode: {
726	    title: "二维码示例",
727	    description:
728	      "QRCode 组件用于生成二维码，支持自定义样式、Logo、状态显示和下载功能。",
729	    basicTab: "基础用法",
730	    styleTab: "样式配置",
731	    logoTab: "带 Logo",
732	    statusTab: "状态显示",
733	    downloadTab: "下载功能",
734	    content: "二维码内容",
735	    size: "尺寸",
736	    bgColor: "背景色",
737	    fgColor: "前景色",
738	    errorLevel: "容错级别",
739	    logoHint: "使用 errorLevel='H' 以确保带 Logo 时二维码可正常扫描",
740	    statusActive: "有效",
741	    statusExpired: "已过期",
742	    statusLoading: "加载中",
743	    downloadContent: "二维码内容",
744	    fileName: "文件名",
745	    downloadButton: "下载二维码",
746	    downloadSuccess: "下载成功",
747	  },
748
749	  exampleSegmented: {
750	    title: "分段控制器示例",
751	    description:
752	      "Segmented 组件用于在多个选项之间切换，常用于视图切换、筛选条件等场景。",
753	    basicTab: "基础用法",
754	    iconTab: "图标选项",
755	    blockTab: "块级样式",
756	    disabledTab: "禁用状态",
757	    businessTab: "业务示例",
758	    basicUsage: "基础用法",
759	    currentValue: "当前值",
760	    sizes: "不同尺寸",
761	    iconOptions: "纯图标选项",
762	    mixOptions: "文字+图标组合",
763	    blockStyle: "块级样式（宽度 100%）",
764	    allDisabled: "全部禁用",
765	    partialDisabled: "部分禁用",
766	    viewSwitch: "视图切换",
767	    filterSwitch: "筛选条件",
768	    filterResult: "筛选结果",
769	    listItemTitle: "数据项",
770	    listItemDesc: "这是数据项的描述信息",
771	    cardItemTitle: "卡片",
772	  },
773
774	  exampleColorPicker: {
775	    title: "颜色选择器示例",
776	    description:
777	      "ColorPicker 组件用于颜色选择，支持多种格式、预设颜色和透明度。",
778	    basicTab: "基础用法",
779	    presetTab: "预设颜色",
780	    formatTab: "格式支持",
781	    alphaTab: "透明度",
782	    disabledTab: "禁用状态",
783	    businessTab: "业务示例",
784	    basicUsage: "基础用法",
785	    sizes: "不同尺寸",
786	    presetColors: "预设颜色面板",
787	    currentColor: "当前颜色",
788	    formatSupport: "格式支持",
789	    withAlpha: "带透明度",
790	    withoutAlpha: "不带透明度",
791	    disabledState: "禁用状态",
792	    disabledHint: "禁用状态下无法选择颜色",
793	    themeColor: "主题色选择",
794	    tagColors: "标签颜色配置",
795	    addTag: "添加标签",
796	    tagName: "标签名称",
797	    tagColor: "标签颜色",
798	    tagNameRequired: "请输入标签名称",
799	    addTagSuccess: "标签添加成功",
800	  },
801
802	  exampleModal: {
803	    title: "ProModal 示例",
804	    description:
805	      "基于 antdv-next Modal 的增强封装，支持拖拽、全屏、边缘缩放与边界约束。",
806	    openDefault: "打开默认弹窗",
807	    openWide: "打开宽版弹窗",
808	    width: "弹窗宽度",
809	    dataCount: "演示数据量",
810	    draggable: "标题栏拖拽",
811	    resizable: "边缘缩放",
812	    fullscreenable: "全屏按钮",
813	    mask: "遮罩",
814	    maskClosable: "点击遮罩关闭",
815	    keyboard: "ESC 关闭",
816	    modalTitle: "可拖拽 / 可缩放 ProModal",
817	    hint: "右上角提供全屏与关闭按钮；可直接拖动标题栏移动弹窗；拖拽四边或四角调整大小。",
818	    contentTitle: "功能演示内容",
819	    contentDescription:
820	      "为便于观察滚动与边界行为，以下内容刻意增加了较长列表。",
821	    formKeyword: "关键字",
822	    formKeywordPlaceholder: "请输入关键字",
823	    formRemark: "备注",
824	    formRemarkPlaceholder: "请输入备注信息",
825	    rowText: "演示数据行 #{index}",
826	    confirmSuccess: "确认操作成功",
827	  },
828
829	  exampleException: {
830	    "403title": "403",
831	    "403description": "抱歉，您没有权限访问此页面",
832	    "404title": "404",
833	    "404description": "抱歉，您访问的页面不存在",
834	    "500title": "500",
835	    "500description": "抱歉，服务器出现错误",
836	  },
837
838	  editor: {
839	    insertLink: "插入链接",
840	    linkUrl: "链接地址",
841	    linkText: "链接文本",
842	    linkTextPlaceholder: "链接文本",
843	    defaultPlaceholder: "请输入内容...",
844	    imageOnly: "只能上传图片文件",
845	    imageSizeLimit: "图片大小不能超过 5MB",
846	    imageInsertSuccess: "图片插入成功",
847	    imageUploadFailed: "图片上传失败",
848	    enterLinkUrl: "请输入链接地址",
849	  },
850
851	  iconPicker: {
852	    selectIcon: "请选择图标",
853	    searchPlaceholder: "搜索图标名称...",
854	    onlineSearchFailed: "在线搜索失败",
855	    onlineSearchFailedDetail: "在线搜索失败：{message}",
856	  },
857
858	  captcha: {
859	    clickInOrder: "请依次点击：",
860	    refresh: "刷新",
861	  },
862
863	  about: {
864	    description:
865	      "一个基于 Vue 3 + TypeScript + Ant Design Vue 的现代化后台管理框架，开箱即用、功能完备、易于扩展。",
866	    projectInfo: "项目信息",
867	    projectName: "项目名称",
868	    version: "当前版本",
869	    license: "开源协议",
870	    author: "作者",
871	    email: "邮箱",
872	    documentation: "帮助文档",
873	    techStack: "技术栈",
874	    features: "核心特性",
875	    feature1: "基于 Vue 3 Composition API",
876	    feature1Desc: "更好的逻辑复用、代码组织与响应式性能提升",
877	    feature2: "TypeScript 全量严格类型",
878	    feature2Desc: "完善的类型推导，开发阶段即消除潜在运行时错误",
879	    feature3: "完整的 RBAC 权限体系",
880	    feature3Desc: "页面、按钮、字段、接口四维权限控制，开箱即用",
881	    feature4: "动态路由与菜单生成",
882	    feature4Desc: "基于角色权限自动生成路由和侧边栏菜单",
883	    feature5: "国际化多语言支持",
884	    feature5Desc: "内置中英文切换，轻松扩展更多语言包",
885	    feature6: "亮色 / 暗色主题切换",
886	    feature6Desc: "6 种主题色预设，支持跟随系统自动切换",
887	    feature7: "ProTable / ProForm 高阶组件",
888	    feature7Desc: "配置驱动的表格与表单，覆盖常见业务场景",
889	    feature8: "Mock 数据开发模式",
890	    feature8Desc: "内置完整 Mock 体系，前后端并行开发无阻塞",
891	  },
892
893	  proForm: {
894	    enterPlaceholder: "请输入{label}",
895	    selectPlaceholder: "请选择{label}",
896	    uploadFile: "上传文件",
897	  },
898
899	  proUpload: {
900	    uploadFile: "上传文件",
901	    uploadImage: "上传图片",
902	    dragHint: "点击或拖拽文件到此区域上传",
903	    fileSizeExceed: "文件大小不能超过 {size}MB",
904	    fileTypeNotAllowed: "不支持该文件类型",
905	  },
906
907	  proStepForm: {
908	    prev: "上一步",
909	    next: "下一步",
910	  },
911
912	  proTable: {
913	    total: "共 {total} 条",
914	    density: "表格密度",
915	    checkAll: "全部勾选",
916	    indexColumn: "序号列",
917	    fixLeft: "左固定",
918	    fixRight: "右固定",
919	    densityLarge: "宽松",
920	    densityMiddle: "默认",
921	    densitySmall: "紧凑",
922	    loadDataFailed: "加载数据失败",
923	  },
924
925	  profile: {
926	    title: "个人中心",
927	    basicInfo: "基本信息",
928	    security: "安全设置",
929	    username: "用户名",
930	    email: "邮箱",
931	    phone: "手机号",
932	    role: "角色",
933	    joinDate: "加入日期",
934	    changePassword: "修改密码",
935	    currentPassword: "当前密码",
936	    oldPassword: "旧密码",
937	    newPassword: "新密码",
938	    confirmPassword: "确认密码",
939	    enterCurrentPassword: "请输入当前密码",
940	    enterNewPassword: "请输入新密码",
941	    enterConfirmPassword: "请再次输入新密码",
942	    passwordMismatch: "两次输入的密码不一致",
943	    passwordMinLength: "密码长度不能少于6位",
944	    passwordChangeSuccess: "密码修改成功",
945	    passwordChangeFailed: "密码修改失败",
946	    passwordTip: "提示：密码长度至少6位，建议包含字母、数字和特殊字符",
947	    updateSuccess: "更新成功",
948	    updateFailed: "更新失败",
949	  },
950
951	  error: {
952	    404: "页面不存在",
953	    403: "无权限访问",
954	    500: "服务器错误",
955	    backHome: "返回首页",
956	    pageNotFound: "抱歉，您访问的页面不存在",
957	    noPermission: "抱歉，您没有权限访问此页面",
958	    serverError: "抱歉，服务器出现错误",
959	  },
960
961	  validation: {
962	    required: "此项为必填项",
963	    email: "请输入有效的邮箱地址",
964	    phone: "请输入有效的手机号",
965	    idCard: "请输入有效的身份证号",
966	    url: "请输入有效的URL",
967	    minLength: "长度不能少于 {min} 个字符",
968	    maxLength: "长度不能超过 {max} 个字符",
969	    lengthRange: "长度必须在 {min}-{max} 之间",
970	    numberRange: "数值必须在 {min}-{max} 之间",
971	    min: "值不能小于 {min}",
972	    max: "值不能大于 {max}",
973	    pattern: "格式不正确",
974	    usernamePattern: "用户名只能包含字母、数字和下划线",
975	    passwordPattern: "密码至少8位，包含字母和数字",
976	    confirmPassword: "两次输入的密码不一致",
977	  },
978
979	  dept: {
980	    title: "部门管理",
981	    organizationStructure: "组织架构",
982	    searchDept: "搜索部门",
983	    deptName: "部门名称",
984	    parentDept: "上级部门",
985	    leader: "负责人",
986	    phone: "联系电话",
987	    email: "邮箱",
988	    sort: "排序",
989	    remark: "备注",
990	    status: "状态",
991	    enabled: "正常",
992	    disabled: "停用",
993	    createDept: "新增部门",
994	    editDept: "编辑部门",
995	    deleteDept: "删除部门",
996	    addChildDept: "新增子部门",
997	    childDepts: "下级部门",
998	    deptMembers: "部门人员",
999	    noneTopLevel: "无（顶级）",
1000	    noneTopLevelDept: "无（顶级部门）",
1001	    selectDeptNode: "请选择左侧部门节点",
1002	    confirmDelete: "确认删除",
1003	    confirmDeleteContent: '确定要删除部门"{name}"吗？',
1004	    hasChildrenWarning: "该部门下存在子部门，请先删除子部门",
1005	    deleteSuccess: "删除成功",
1006	    deleteFailed: "删除失败",
1007	    updateSuccess: "更新成功",
1008	    createSuccess: "创建成功",
1009	    operateFailed: "操作失败",
1010	    pleaseEnterDeptName: "请输入部门名称",
1011	    pleaseEnterLeader: "请输入负责人",
1012	    pleaseEnterPhone: "请输入联系电话",
1013	    pleaseEnterEmail: "请输入邮箱",
1014	    pleaseEnterRemark: "请输入备注",
1015	    loadDataFailed: "加载部门数据失败",
1016	    createTime: "创建时间",
1017	    updateTime: "更新时间",
1018	  },
1019
1020	  config: {
1021	    title: "系统配置",
1022	    configGroups: "配置分组",
1023	    configName: "配置名称",
1024	    configKey: "配置键",
1025	    configValue: "配置值",
1026	    valueType: "值类型",
1027	    group: "分组",
1028	    sort: "排序",
1029	    description: "描述",
1030	    builtIn: "来源",
1031	    createConfig: "新增配置",
1032	    editConfig: "编辑配置",
1033	    deleteConfig: "删除配置",
1034	    confirmDelete: "确认删除",
1035	    confirmDeleteContent: '确定要删除配置"{name}"吗？',
1036	    deleteSuccess: "删除成功",
1037	    deleteFailed: "删除失败",
1038	    updateSuccess: "更新成功",
1039	    createSuccess: "创建成功",
1040	    operateFailed: "操作失败",
1041	    requiredFields: "请填写必填项",
1042	    loadConfigFailed: "加载配置失败",
1043	    valueTypes: {
1044	      string: "字符串",
1045	      number: "数字",
1046	      boolean: "布尔值",
1047	      json: "JSON",
1048	    },
1049	    groups: {
1050	      basic: "基础配置",
1051	      security: "安全配置",
1052	      upload: "上传配置",
1053	      notification: "通知配置",
1054	    },
1055	    builtInTypes: {
1056	      builtIn: "内置",
1057	      custom: "自定义",
1058	    },
1059	    placeholders: {
1060	      configName: "请输入配置名称",
1061	      configKey: "如 site.name",
1062	      configValue: "请输入配置值",
1063	      jsonFormat: "JSON 格式",
1064	      description: "请输入描述",
1065	    },
1066	  },
1067
1068	  file: {
1069	    title: "文件管理",
1070	    fileName: "文件名",
1071	    ext: "扩展名",
1072	    size: "文件大小",
1073	    storage: "存储方式",
1074	    uploader: "上传者",
1075	    uploadTime: "上传时间",
1076	    action: "操作",
1077	    delete: "删除",
1078	    confirmDelete: "确认删除",
1079	    confirmDeleteContent: '确定要删除文件"{name}"吗？',
1080	    deleteSuccess: "删除成功",
1081	    deleteFailed: "删除失败",
1082	    loadFailed: "加载文件列表失败",
1083	    storageType: {
1084	      local: "本地",
1085	      oss: "OSS",
1086	      cos: "COS",
1087	    },
1088	    extType: {
1089	      imageJpg: "图片(jpg)",
1090	      imagePng: "图片(png)",
1091	      pdf: "PDF",
1092	      word: "Word",
1093	      excel: "Excel",
1094	      zip: "压缩包",
1095	      video: "视频",
1096	      text: "文本",
1097	      ppt: "PPT",
1098	      svg: "SVG",
1099	    },
1100	  },
1101
1102	  log: {
1103	    title: "系统日志",
1104	    operationLog: "操作日志",
1105	    loginLog: "登录日志",
1106	    clearLog: "清空日志",
1107	    confirmClear: "确认清空",
1108	    confirmClearOperation: "确定要清空所有操作日志吗？此操作不可恢复。",
1109	    confirmClearLogin: "确定要清空所有登录日志吗？此操作不可恢复。",
1110	    clearSuccess: "清空成功",
1111	    clearFailed: "清空失败",
1112	    operationUser: "操作用户",
1113	    operationModule: "操作模块",
1114	    operationType: "操作类型",
1115	    operationDescription: "操作描述",
1116	    requestMethod: "请求方法",
1117	    ipAddress: "IP地址",
1118	    duration: "耗时",
1119	    operationTime: "操作时间",
1120	    username: "用户名",
1121	    browser: "浏览器",
1122	    os: "操作系统",
1123	    message: "提示信息",
1124	    loginTime: "登录时间",
1125	    success: "成功",
1126	    fail: "失败",
1127	    actionTypes: {
1128	      login: "登录",
1129	      logout: "登出",
1130	      create: "新增",
1131	      update: "修改",
1132	      delete: "删除",
1133	      export: "导出",
1134	      import: "导入",
1135	      other: "其他",
1136	    },
1137	    modules: {
1138	      userManagement: "用户管理",
1139	      roleManagement: "角色管理",
1140	      menuManagement: "菜单管理",
1141	      dictionary: "数据字典",
1142	      systemLogin: "系统登录",
1143	      profile: "个人中心",
1144	      dashboard: "数据看板",
1145	    },
1146	    loadOperationLogFailed: "加载操作日志失败",
1147	    loadLoginLogFailed: "加载登录日志失败",
1148	  },
1149
1150	  "menu.external": "外部页面",
1151	  "menu.externalIframe": "内嵌",
1152	  "menu.externalLink": "外链",
1153	  "menu.externalTypescript": "TypeScript",
1154	  "menu.externalAntdvNext": "Antdv Next",
1155	  "menu.externalVite": "Vite",
1156	  "menu.externalVue": "Vue.js",
1157	  "external.link.openedTitle": "已在新标签页打开",
1158	  "external.link.openedSubTitle":
1159	    "如果浏览器拦截了弹窗，请点击下方按钮再次打开。",
1160	  "external.link.openVite": "打开 Vite 官网",
1161	  "external.link.openVue": "打开 Vue 官网",
1162
1163	  examples: {
1164	    scaffold: {
1165	      stateCache: {
1166	        title: "状态与缓存示例",
1167	        description:
1168	          "演示 Pinia 持久化（刷新恢复）和 keep-alive 页面局部缓存（切换不销毁）。",
1169	        piniaSection: "1. Pinia 持久化状态",
1170	        keywordLabel: "关键字",
1171	        keywordPlaceholder: "输入后刷新页面仍保留",
1172	        counterLabel: "计数器",
1173	        notesLabel: "备注",
1174	        notesPlaceholder: "支持多行，自动持久化",
1175	        resetButton: "重置状态",
1176	        pinTabButton: "固定当前标签",
1177	        lastPersistTime: "最近持久化时间：",
1178	        keepAliveSection: "2. keep-alive 局部缓存",
1179	        panelA: "面板 A",
1180	        panelB: "面板 B",
1181	        panelADesc: "面板 A（切换面板后不会被销毁）",
1182	        panelAInputPlaceholder: "输入内容，切换到 B 再切回仍保留",
1183	        localCountLabel: "局部计数：",
1184	        panelBDesc: "面板 B（也会被 keep-alive 缓存）",
1185	        panelBTextPlaceholder: "输入内容后切换标签再回来仍保留",
1186	        pinTabSuccess: "已切换当前标签固定状态",
1187	      },
1188	      uploadSystem: {
1189	        title: "上传体系示例",
1190	        description:
1191	          "拖拽上传 + 进度 + 失败重试 + 图片预览，便于直接迁移到业务页。",
1192	        uploading: "上传中",
1193	        success: "成功",
1194	        failed: "失败",
1195	        dragText: "点击或拖拽文件到此区域上传",
1196	        dragHint: "支持图片与文档，上传过程会随机模拟失败，用于验证重试逻辑。",
1197	        retryButton: "重试失败项",
1198	        clearButton: "清空列表",
1199	        failureRate: "失败率：",
1200	        previewTitle: "文件预览",
1201	        uploadFailedError: "网络波动导致上传失败",
1202	        uploadSuccessMsg: "上传成功：{name}",
1203	        uploadFailedMsg: "上传失败：{name}",
1204	        retryMsg: "开始重试 {count} 个失败文件",
1205	        previewNotSupported: "该文件暂不支持预览",
1206	      },
1207	      importExport: {
1208	        title: "导入导出闭环示例",
1209	        description:
1210	          "演示模板下载、CSV 导入校验、错误回执导出、当前数据导出的一体化流程。",
1211	        downloadTemplate: "下载导入模板",
1212	        importCsv: "导入 CSV",
1213	        exportCurrent: "导出当前数据",
1214	        exportErrorReceipt: "导出错误回执",
1215	        totalRows: "导入总行数",
1216	        successRows: "成功行数",
1217	        updatedRows: "更新行数",
1218	        failedRows: "失败行数",
1219	        importHint:
1220	          "导入表头必须为 code,name,category,price,stock；按 code 自动更新或新增。",
1221	        colCode: "编码",
1222	        colName: "名称",
1223	        colCategory: "分类",
1224	        colPrice: "价格",
1225	        colStock: "库存",
1226	        errorRowNo: "行号",
1227	        errorReason: "错误原因",
1228	        errorRaw: "原始数据",
1229	        emptyFile: "文件为空或无有效数据行",
1230	        invalidHeader: "表头不合法，请使用模板文件",
1231	        errorRequired: "必填字段缺失（code/name/category）",
1232	        errorPrice: "价格必须是大于等于 0 的数字",
1233	        errorStock: "库存必须是大于等于 0 的整数",
1234	        importDone: "导入完成：成功 {success} 条，失败 {failed} 条",
1235	        parseFailed: "CSV 解析失败，请检查文件格式",
1236	      },
1237	      testing: {
1238	        title: "测试示例",
1239	        description: "提供单测与 e2e 的推荐模板，直接复制即可用于新模块。",
1240	        alertMessage:
1241	          "当前仓库尚未安装 Vitest / Playwright 依赖，此页提供结构与样例。",
1242	        unitTestTitle: "单元测试模板（Vitest）",
1243	        e2eTestTitle: "端到端测试模板（Playwright）",
1244	        implementationTitle: "落地顺序建议",
1245	        step1Title: "先补单测",
1246	        step1Description: "先覆盖核心函数、store 计算逻辑和边界条件。",
1247	        step2Title: "再补 e2e",
1248	        step2Description: "覆盖登录、搜索、列表操作等关键用户路径。",
1249	        step3Title: "接入 CI",
1250	        step3Description:
1251	          "将 type-check + unit + e2e 串成流水线，合并前自动执行。",
1252	      },
1253	      proTableAdvanced: {
1254	        title: "ProTable 高阶示例",
1255	        description: "服务端分页模拟 + 批量操作 + 行内编辑 + 导出",
1256	        selectedCount: "已选 {count} 项",
1257	        batchDisable: "批量禁用",
1258	        batchDelete: "批量删除",
1259	        export: "导出当前数据",
1260	        statusActive: "启用",
1261	        statusInactive: "禁用",
1262	        username: "用户名",
1263	        realName: "姓名",
1264	        email: "邮箱",
1265	        gender: "性别",
1266	        status: "状态",
1267	        createdAt: "创建时间",
1268	        editSimulation: "模拟编辑：{username}",
1269	        deleteConfirm: "确认删除该行吗？",
1270	        deleteSuccess: "删除成功",
1271	        statusChangeSuccess: "已{status} {username}",
1272	        batchSetStatusSuccess: "已批量设置 {count} 项状态",
1273	        batchDeleteTitle: "批量删除确认",
1274	        batchDeleteContent: "确认删除已选的 {count} 条数据吗？",
1275	        batchDeleteSuccess: "批量删除完成",
1276	        exportSuccess: "CSV 导出成功",
1277	      },
1278	      complexForm: {
1279	        title: "复杂表单示例",
1280	        description:
1281	          "步骤表单 + 动态策略项 + 异步校验 + 草稿保存 + 服务端字段错误映射。",
1282	        step1Title: "基本信息",
1283	        step2Title: "策略配置",
1284	        step3Title: "发布设置",
1285	        projectNameLabel: "项目名称",
1286	        projectNamePlaceholder: "请输入项目名称",
1287	        projectNameRequired: "请输入项目名称",
1288	        projectNameExists: "项目名称已存在，请更换",
1289	        ownerLabel: "负责人",
1290	        ownerPlaceholder: "请输入负责人",
1291	        ownerRequired: "请输入负责人",
1292	        sceneLabel: "场景",
1293	        scenePlaceholder: "请选择场景",
1294	        sceneRequired: "请选择场景",
1295	        sceneGrowth: "用户增长",
1296	        sceneRisk: "风控预警",
1297	        sceneStability: "稳定性监控",
1298	        descriptionLabel: "说明",
1299	        descriptionPlaceholder: "请输入补充说明",
1300	        addRuleButton: "新增策略规则",
1301	        currentRulesCount: "当前 {count} 条",
1302	        metricPlaceholder: "指标名，如 error_rate",
1303	        deleteButton: "删除",
1304	        ruleListEmpty: "请至少添加一条策略规则",
1305	        ruleListIncomplete: "策略规则存在未填写项，请补充完整",
1306	        publishTypeLabel: "发布方式",
1307	        publishTypeRequired: "请选择发布方式",
1308	        publishImmediate: "立即发布",
1309	        publishSchedule: "定时发布",
1310	        publishTimeLabel: "发布时间",
1311	        publishTimeRequired: "定时发布必须选择发布时间",
1312	        notifyUsersLabel: "通知对象",
1313	        notifyUsersPlaceholder: "输入用户名并回车",
1314	        prevButton: "上一步",
1315	        nextButton: "下一步",
1316	        submitButton: "提交",
1317	        saveDraftButton: "保存草稿",
1318	        resetButton: "重置",
1319	        draftSaved: "草稿已保存",
1320	        serverValidationError: "服务端校验失败：项目名称不能包含 fail",
1321	        submitFailed: "提交失败，已映射服务端字段错误",
1322	        submitSuccess: "提交成功",
1323	      },
1324	      advancedFilter: {
1325	        title: "高级筛选构建器示例",
1326	        description:
1327	          "通过可视化条件组合（AND/OR）构建筛选规则，并支持保存筛选方案。",
1328	        tips: "支持字符串、枚举、数字、日期四类字段，满足大多数列表检索场景。",
1329	        addCondition: "新增条件",
1330	        saveScheme: "保存方案",
1331	        matchedCount: "命中 {count} 条",
1332	        emptyConditions: "暂无筛选条件",
1333	        inputValue: "请输入值",
1334	        selectValue: "请选择值",
1335	        secondValue: "第二个值",
1336	        savedSchemes: "已保存方案：",
1337	        noSchemes: "暂无",
1338	        schemeNamePlaceholder: "输入方案名称（最多 30 字）",
1339	        schemeNameRequired: "请输入方案名称",
1340	        saveSuccess: "筛选方案已保存",
1341	        score: "评分",
1342	        statusActive: "启用",
1343	        statusInactive: "禁用",
1344	        statusPending: "待处理",
1345	        adminRole: "管理员",
1346	        operatorRole: "运营",
1347	        auditorRole: "审计",
1348	        opContains: "包含",
1349	        opEquals: "等于",
1350	        opNotEquals: "不等于",
1351	        opIn: "属于",
1352	        opGt: "大于",
1353	        opGte: "大于等于",
1354	        opLt: "小于",
1355	        opLte: "小于等于",
1356	        opBetween: "区间",
1357	        opBefore: "早于",
1358	        opAfter: "晚于",
1359	      },
1360	      virtualTable: {
1361	        title: "虚拟滚动表格示例",
1362	        description: "演示 a-table 原生虚拟滚动在万级数据下的流畅渲染能力。",
1363	        tipsNativeVirtual:
1364	          "基于 antdv-next 原生 a-table + virtual，无需额外虚拟列表库。",
1365	        datasetSize: "数据量",
1366	        regenerate: "重新生成数据",
1367	        regenerateSuccess: "已生成 {count} 条数据",
1368	        searchPlaceholder: "搜索用户名 / 邮箱 / 部门",
1369	        allStatus: "全部状态",
1370	        totalRows: "总数据 {count}",
1371	        filteredRows: "筛选后 {count}",
1372	        renderedRowsTip: "仅渲染可视区域，滚动更流畅",
1373	        statusActive: "启用",
1374	        statusInactive: "禁用",
1375	        statusPending: "待处理",
1376	        colId: "ID",
1377	        colUsername: "用户名",
1378	        colEmail: "邮箱",
1379	        colDepartment: "部门",
1380	        colStatus: "状态",
1381	        colUpdatedAt: "更新时间",
1382	      },
1383	      masterDetail: {
1384	        title: "列表-详情示例",
1385	        description:
1386	          "模拟工单主从页：左侧列表选择，右侧 Drawer 展示详情与操作历史。",
1387	        drawerTitle: "工单详情",
1388	        ticketNumber: "单号",
1389	        titleLabel: "标题",
1390	        ownerLabel: "负责人",
1391	        priorityLabel: "优先级",
1392	        createdAtLabel: "创建时间",
1393	        descTab: "描述",
1394	        logsTab: "操作记录",
1395	        statusOpen: "待处理",
1396	        statusProcessing: "处理中",
1397	        statusClosed: "已关闭",
1398	        ticketTitle: "订单风控告警 #{index}",
1399	        ownerZhang: "张工",
1400	        ownerLi: "李工",
1401	        ticketDescription:
1402	          "这是第 {index} 条工单的详细描述，包含背景信息、影响范围和建议处理动作。",
1403	        actionCreate: "创建工单",
1404	        operatorSystem: "系统",
1405	        actionAssign: "分配负责人",
1406	        operatorDispatch: "调度中心",
1407	        colTicketNumber: "单号",
1408	        colTitle: "标题",
1409	        colOwner: "负责人",
1410	        colPriority: "优先级",
1411	        colStatus: "状态",
1412	        colCreatedAt: "创建时间",
1413	      },
1414	      rbac: {
1415	        title: "RBAC 全链路示例",
1416	        description:
1417	          "覆盖页面权限、按钮权限、字段权限、接口权限 4 个维度。可直接切换 admin / user 观察差异。",
1418	        currentSession: "当前会话",
1419	        accountInfo: "账号：{username} | 角色：{role}",
1420	        switchToAdmin: "切换为 admin",
1421	        switchToUser: "切换为 user",
1422	        permissionTotal: "...共 {count} 项",
1423	        section1Title: "1. 页面权限判定",
1424	        checkUserManage: "用户管理页访问（system.user.view）",
1425	        checkMenuManage: "菜单管理页访问（system.permission.view）",
1426	        checkAdminRole: "管理员角色访问（admin）",
1427	        passed: "通过",
1428	        denied: "拒绝",
1429	        section2Title: "2. 按钮权限",
1430	        createUserButton: "新建用户",
1431	        editUserButton: "编辑用户",
1432	        deleteUserButton: "删除用户",
1433	        buttonPermissionHint: "提示：按钮是否渲染由 PermissionButton 控制",
1434	        section3Title: "3. 字段权限（脱敏）",
1435	        phoneLabel: "手机号：",
1436	        emailLabel: "邮箱：",
1437	        realNameLabel: "真实姓名：",
1438	        section4Title: "4. 接口权限失败兜底",
1439	        callViewApi: "调用查看接口",
1440	        callExportApi: "调用导出接口",
1441	        callDeleteApi: "调用删除接口",
1442	        viewUserAction: "查看用户列表",
1443	        exportUserAction: "导出用户",
1444	        deleteUserAction: "删除用户",
1445	        switchSuccess: "已切换为 {username}",
1446	        switchFailed: "切换失败",
1447	        missingPermission: "403: 缺少权限 {permission}",
1448	        apiSuccess: "{action} 成功",
1449	        apiFailed: "{action} 失败：{error}",
1450	        noPermission: "无权限",
1451	      },
1452	      observability: {
1453	        title: "可观测性与异常示例",
1454	        description:
1455	          "统一处理加载态、空态、错误态，并对错误进行分级与记录，支持一键重试。",
1456	        simulateSuccess: "模拟成功",
1457	        simulateEmpty: "模拟空数据",
1458	        simulateNetwork: "模拟网络错误",
1459	        simulateAuth: "模拟鉴权错误",
1460	        simulateBusiness: "模拟业务错误",
1461	        requestStateTitle: "请求状态视图",
1462	        emptyData: "当前无可展示数据",
1463	        requestFailed: "请求失败",
1464	        retryButton: "重试",
1465	        clickToStart: "点击上方按钮开始模拟",
1466	        errorLogTitle: "错误分类与事件日志",
1467	        networkError: "网络错误",
1468	        authError: "鉴权错误",
1469	        businessError: "业务错误",
1470	        noEvents: "暂无事件",
1471	        errorNetwork: "NetworkError: 请求超时，请检查网络连接",
1472	        errorAuth: "AuthError: token 过期，需要重新登录",
1473	        errorBusiness: "BusinessError: 规则配置冲突，无法计算",
1474	        eventStart: "开始模拟场景：{scenario}",
1475	        eventEmpty: "请求成功但返回空数据",
1476	        eventSuccess: "请求成功并返回数据",
1477	        unknownError: "未知错误",
1478	        eventError: "请求失败（{type}）：{message}",
1479	      },
1480	      requestAuth: {
1481	        title: "请求与鉴权闭环示例",
1482	        description:
1483	          "演示并发请求触发 401 时的排队刷新机制，以及刷新失败后的重登兜底。",
1484	        refreshFailedAlert: "刷新失败，已进入重登态",
1485	        refreshFailedDesc: '后续请求会继续失败，点击"重置会话"后重新发起请求。',
1486	        accessToken: "Access Token",
1487	        refreshToken: "Refresh Token",
1488	        refreshStatus: "刷新状态",
1489	        empty: "空",
1490	        refreshing: "刷新中",
1491	        idle: "空闲",
1492	        singleRequest: "发起单请求",
1493	        concurrentRequest: "并发 5 个请求",
1494	        expireToken: "令 Token 过期",
1495	        simulateRefreshFail: "模拟刷新失败",
1496	        resetSession: "重置会话",
1497	        logTitle: "事件日志（最近 80 条）",
1498	        clearLog: "清空日志",
1499	        noLogs: "暂无日志",
1500	        tokenExpired: "[{apiName}] token 已过期",
1501	        apiSuccess: "[{apiName}] 请求成功",
1502	        refreshTokenInvalid: "refresh token 无效",
1503	        logRefreshStart: "触发刷新 token（仅首个 401 请求执行）",
1504	        logRefreshSuccess: "token 刷新成功，释放排队请求",
1505	        logRefreshFailed: "token 刷新失败：{message}，进入重登态",
1506	        logQueueWait: "检测到刷新进行中，请求进入排队等待",
1507	        logNon401Error: "[{apiName}] 非 401 错误：{message}",
1508	        log401Detected: "[{apiName}] 触发 401，准备刷新 token",
1509	        logTokenExpired: "手动将 access token 标记为过期",
1510	        logSessionReset: "会话已重置，可重新发起请求",
1511	        singleRequestFailed: "单请求执行失败",
1512	        logConcurrentStart: "开始并发 5 个请求，观察刷新排队行为",
1513	        concurrentPartialFail: "并发请求完成，失败 {count} 个",
1514	        concurrentAllSuccess: "并发请求全部成功",
1515	        logRefreshWillFail: "下一次刷新将被强制失败",
1516	        refreshFailTriggered: "刷新失败场景已触发",
1517	      },
1518	    },
1519	    jsonInput: {
1520	      title: "JSON 输入示例",
1521	      description:
1522	        "功能强大的 JSON 输入组件，支持表单编辑和原始 JSON 编辑两种模式，可处理嵌套对象、数组和各种数据类型。",
1523	      basicUsage: "基础用法",
1524	      userConfig: "用户配置",
1525	      clickToEdit: "点击编辑 JSON",
1526	      editUserConfig: "编辑用户配置",
1527	      displayValue: "显示值（使用 displayKey）",
1528	      productName: "产品名称",
1529	      price: "价格",
1530	      stock: "库存",
1531	      productDescription: "描述",
1532	      selectProduct: "选择产品",
1533	      advancedUsage: "高级用法",
1534	      withI18nKeys: "Key 国际化支持",
1535	      i18nKeysHint: "通过 label-map 属性为 key 提供国际化标签",
1536	      withDisabledFields: "禁用字段",
1537	      apiKey: "API 密钥",
1538	      endpoint: "接口地址",
1539	      timeout: "超时时间（秒）",
1540	      systemConfig: "系统配置",
1541	      nestedObject: "嵌套对象支持",
1542	      userInfo: "用户信息",
1543	      name: "姓名",
1544	      settings: "设置",
1545	      theme: "主题",
1546	      language: "语言",
1547	      nestedData: "嵌套数据结构",
1548	      emptyObject: "空对象（创建新的）",
1549	      createNew: "创建新配置",
1550	    },
1551	    i18nInput: {
1552	      description:
1553	        "国际化输入组件，支持多语言内容编辑。基于 JsonInput 封装，自动根据系统支持的语言生成表单字段。",
1554	      productName: "产品名称（多语言）",
1555	      productDescription: "产品描述（多语言）",
1556	      editProductName: "编辑产品名称",
1557	      editProductDesc: "编辑产品描述",
1558	      clickToEdit: "点击编辑多语言内容",
1559	      stringFormat: "字符串格式值",
1560	      stringFormatHint: "支持字符串格式的 JSON，组件会自动解析和序列化",
1561	      currentLocale: "指定显示语言",
1562	      currentLocaleHint: "通过 locale 属性指定输入框中显示哪个语言的值",
1563	      emptyValue: "空值（自动初始化）",
1564	      dataPreview: "数据预览",
1565	      valueType: "值类型切换",
1566	      showAsString: "显示为字符串",
1567	      showAsObject: "显示为对象",
1568	      stringValue: "字符串格式",
1569	      objectValue: "对象格式",
1570	    },
1571	    codeEditor: {
1572	      title: "代码编辑器示例",
1573	      description:
1574	        "基于 CodeMirror 6 的代码编辑器组件，支持 14+ 语言语法高亮、JSON 格式化、主题切换等功能。",
1575	      jsonEditor: "JSON 编辑器",
1576	      jsEditor: "JavaScript 编辑器",
1577	      multiLanguage: "多语言切换",
1578	      readonlyMode: "只读预览模式",
1579	      darkTheme: "主题切换",
1580	      themePreview: "主题预览",
1581	      themeAuto: "跟随系统",
1582	      themeLight: "亮色",
1583	      themeDark: "暗色",
1584	      autoHeight: "自动高度",
1585	      format: "格式化",
1586	      minify: "压缩",
1587	      copy: "复制",
1588	      language: "语言",
1589	      theme: "主题",
1590	      outputPreview: "输出预览",
1591	    },
1592	  },
1593	};
1594

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: "输出预览",
    },
  },
};


I see that the i18n keys for base and biz already exist in zh-CN.ts:
- Line 103: `base: "基础数据"`
- Line 104-108: `baseCategory`, `baseLocation`, `baseManufacturer`, `baseModel`, `baseSupplier`
- Line 109: `biz: "业务管理"`
- Line 110-114: `bizFailure`, `bizStocktake`, `bizTransaction`, `bizAllocation`, `bizRequest`

Now I need to:
1. Add async routes for /base and /biz to routes.ts
2. Create 10 Vue page files

Let me now create everything. I'll start with the routes and then create all 10 pages in parallel.

For the routes, I'll follow the same pattern as the existing /asset routes. Looking at the route order:
- system: order 2
- asset: order 3
- examples: order 99

The database menu_seed.sql has:
- 基础数据: order 3
- 业务管理: order 4

But the existing asset already uses order 3. Let me adjust:
- base: order 3 (基础数据)
- biz: order 4 (业务管理)

Wait, the database seeds say:
- 基础数据: order 3
- 业务管理: order 4

But the asset route is also at order 3. These are sibling routes so they need different orders. Let me use:
- asset: order 3 (already exists)
- base: order 4
- biz: order 5

Actually, looking at the i18n keys, they match the menu_seed.sql. The permission system generates routes dynamically based on user roles and permissions from the backend. The frontend routes just need to match the paths that the backend menu data defines.

Let me check what the actual menu_seed.sql defines for paths and permission codes: