@allbluecn/admin-app 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/package.json +86 -0
  2. package/src/client.tsx +31 -0
  3. package/src/components/admin/admin-user-menu.tsx +90 -0
  4. package/src/components/admin/developer-log.tsx +356 -0
  5. package/src/components/ai-provider/model-list-editor.tsx +147 -0
  6. package/src/components/ai-provider/provider-form.tsx +434 -0
  7. package/src/components/ai-provider/provider-icon.tsx +43 -0
  8. package/src/components/ai-provider/provider-logo.tsx +87 -0
  9. package/src/components/ai-provider/provider-table.tsx +258 -0
  10. package/src/components/auth/admin-login-form.tsx +214 -0
  11. package/src/components/auth/auth-brand-panel.tsx +60 -0
  12. package/src/components/auth/auth-header.tsx +38 -0
  13. package/src/components/auth/auth-layout.tsx +66 -0
  14. package/src/components/auth/auth-providers.tsx +34 -0
  15. package/src/components/auth/icon-input.tsx +46 -0
  16. package/src/components/auth/oauth-section.tsx +51 -0
  17. package/src/components/auth/password-input.tsx +67 -0
  18. package/src/components/common/page-header.tsx +42 -0
  19. package/src/components/common/placeholder-page.tsx +42 -0
  20. package/src/components/component/component-form-dialog.tsx +348 -0
  21. package/src/components/component/component-import-dialog.tsx +235 -0
  22. package/src/components/component/component-table.tsx +153 -0
  23. package/src/components/data-table/data-table-pagination.tsx +114 -0
  24. package/src/components/data-table/data-table.tsx +218 -0
  25. package/src/components/data-table/table-detail-layout.tsx +99 -0
  26. package/src/components/dependency/changelog-dialog.tsx +108 -0
  27. package/src/components/dependency/columns.tsx +232 -0
  28. package/src/components/dependency/dependency-table.tsx +368 -0
  29. package/src/components/dependency/edit-dialog.tsx +200 -0
  30. package/src/components/knowledge-public/bookmark-form-dialog.tsx +215 -0
  31. package/src/components/knowledge-public/compliance-form-dialog.tsx +308 -0
  32. package/src/components/knowledge-public/legal-form-dialog.tsx +315 -0
  33. package/src/components/layout/sidebar-02/app-sidebar.tsx +160 -0
  34. package/src/components/layout/sidebar-02/index.tsx +33 -0
  35. package/src/components/layout/sidebar-02/logo.tsx +40 -0
  36. package/src/components/layout/sidebar-02/nav-main.tsx +153 -0
  37. package/src/components/layout/sidebar-02/nav-notifications.tsx +78 -0
  38. package/src/components/layout/sidebar-02/team-switcher.tsx +106 -0
  39. package/src/components/magicui/animated-theme-toggler.tsx +272 -0
  40. package/src/components/magicui/rainbow-button.tsx +78 -0
  41. package/src/components/market/columns.tsx +151 -0
  42. package/src/components/market/market-app-form.tsx +237 -0
  43. package/src/components/market/market-app-list.tsx +156 -0
  44. package/src/components/monitoring/error-list.tsx +143 -0
  45. package/src/components/monitoring/health-cards.tsx +152 -0
  46. package/src/components/monitoring/metrics-stats.tsx +184 -0
  47. package/src/components/monitoring/request-log-table.tsx +179 -0
  48. package/src/components/providers/theme-toggle.tsx +59 -0
  49. package/src/components/settings/avatar/avatar-config.ts +46 -0
  50. package/src/components/ui/alert-dialog.tsx +216 -0
  51. package/src/components/ui/alert.tsx +76 -0
  52. package/src/components/ui/avatar.tsx +129 -0
  53. package/src/components/ui/badge.tsx +66 -0
  54. package/src/components/ui/button.tsx +84 -0
  55. package/src/components/ui/card.tsx +120 -0
  56. package/src/components/ui/checkbox.tsx +50 -0
  57. package/src/components/ui/collapsible.tsx +50 -0
  58. package/src/components/ui/dialog.tsx +185 -0
  59. package/src/components/ui/dropdown-menu.tsx +286 -0
  60. package/src/components/ui/field.tsx +255 -0
  61. package/src/components/ui/input-group.tsx +171 -0
  62. package/src/components/ui/input.tsx +36 -0
  63. package/src/components/ui/label.tsx +41 -0
  64. package/src/components/ui/pagination.tsx +146 -0
  65. package/src/components/ui/select.tsx +209 -0
  66. package/src/components/ui/separator.tsx +45 -0
  67. package/src/components/ui/sheet.tsx +164 -0
  68. package/src/components/ui/sidebar.tsx +719 -0
  69. package/src/components/ui/skeleton.tsx +30 -0
  70. package/src/components/ui/sonner.tsx +37 -0
  71. package/src/components/ui/switch.tsx +48 -0
  72. package/src/components/ui/table.tsx +133 -0
  73. package/src/components/ui/textarea.tsx +35 -0
  74. package/src/components/ui/tooltip.tsx +74 -0
  75. package/src/components/user/columns.tsx +153 -0
  76. package/src/components/user/settings-activity-log.tsx +358 -0
  77. package/src/components/user/settings-profile/constants.ts +42 -0
  78. package/src/components/user/settings-profile/types.ts +47 -0
  79. package/src/components/user/settings-profile.tsx +664 -0
  80. package/src/components/user/user-create-dialog.tsx +137 -0
  81. package/src/components/user/user-filters.tsx +117 -0
  82. package/src/hooks/use-mobile.ts +36 -0
  83. package/src/instrument.client.ts +34 -0
  84. package/src/lib/anyhub/capabilities.ts +59 -0
  85. package/src/lib/anyhub/types.ts +43 -0
  86. package/src/lib/auth-client.ts +83 -0
  87. package/src/lib/auth-utils.ts +24 -0
  88. package/src/lib/auth.config.ts +264 -0
  89. package/src/lib/avatar.ts +41 -0
  90. package/src/lib/i18n/client.ts +32 -0
  91. package/src/lib/i18n/config.ts +40 -0
  92. package/src/lib/i18n/detect.ts +43 -0
  93. package/src/lib/i18n/locales/en/admin-ai.json +128 -0
  94. package/src/lib/i18n/locales/en/admin-billing.json +56 -0
  95. package/src/lib/i18n/locales/en/admin-users.json +88 -0
  96. package/src/lib/i18n/locales/en/common.json +877 -0
  97. package/src/lib/i18n/locales/en/enterprise.json +208 -0
  98. package/src/lib/i18n/locales/zh/admin-ai.json +128 -0
  99. package/src/lib/i18n/locales/zh/admin-billing.json +56 -0
  100. package/src/lib/i18n/locales/zh/admin-users.json +88 -0
  101. package/src/lib/i18n/locales/zh/common.json +877 -0
  102. package/src/lib/i18n/locales/zh/enterprise.json +208 -0
  103. package/src/lib/i18n/server.ts +18 -0
  104. package/src/lib/i18n/types.ts +5 -0
  105. package/src/lib/monitoring-benchmarks.ts +85 -0
  106. package/src/lib/monitoring-descriptions.ts +78 -0
  107. package/src/lib/prisma.ts +18 -0
  108. package/src/lib/router-context.ts +38 -0
  109. package/src/lib/session.ts +38 -0
  110. package/src/lib/utils.ts +23 -0
  111. package/src/providers/index.tsx +45 -0
  112. package/src/routeTree.gen.ts +1199 -0
  113. package/src/router.tsx +51 -0
  114. package/src/routes/__root.tsx +170 -0
  115. package/src/routes/_nav/ai-providers/$id/edit/route.lazy.tsx +74 -0
  116. package/src/routes/_nav/ai-providers/$id/edit/route.tsx +35 -0
  117. package/src/routes/_nav/ai-providers/index/route.lazy.tsx +33 -0
  118. package/src/routes/_nav/ai-providers/new/route.lazy.tsx +31 -0
  119. package/src/routes/_nav/ai-providers/new/route.tsx +20 -0
  120. package/src/routes/_nav/ai-providers/route.lazy.tsx +26 -0
  121. package/src/routes/_nav/ai-providers/route.tsx +31 -0
  122. package/src/routes/_nav/apps/route.lazy.tsx +30 -0
  123. package/src/routes/_nav/apps/route.tsx +20 -0
  124. package/src/routes/_nav/audit/route.lazy.tsx +100 -0
  125. package/src/routes/_nav/audit/route.tsx +25 -0
  126. package/src/routes/_nav/billing/invoices/route.lazy.tsx +86 -0
  127. package/src/routes/_nav/billing/invoices/route.tsx +25 -0
  128. package/src/routes/_nav/billing/route.lazy.tsx +48 -0
  129. package/src/routes/_nav/billing/route.tsx +27 -0
  130. package/src/routes/_nav/billing/subscriptions/$subscriptionId/route.lazy.tsx +160 -0
  131. package/src/routes/_nav/billing/subscriptions/$subscriptionId/route.tsx +25 -0
  132. package/src/routes/_nav/billing/subscriptions/route.lazy.tsx +113 -0
  133. package/src/routes/_nav/billing/subscriptions/route.tsx +28 -0
  134. package/src/routes/_nav/compliance/route.lazy.tsx +184 -0
  135. package/src/routes/_nav/compliance/route.tsx +25 -0
  136. package/src/routes/_nav/components/route.lazy.tsx +184 -0
  137. package/src/routes/_nav/components/route.tsx +40 -0
  138. package/src/routes/_nav/dashboard/route.lazy.tsx +33 -0
  139. package/src/routes/_nav/dashboard/route.tsx +20 -0
  140. package/src/routes/_nav/dependencies/route.lazy.tsx +66 -0
  141. package/src/routes/_nav/dependencies/route.tsx +32 -0
  142. package/src/routes/_nav/developer-logs/route.lazy.tsx +6 -0
  143. package/src/routes/_nav/developer-logs/route.tsx +14 -0
  144. package/src/routes/_nav/docs/route.lazy.tsx +30 -0
  145. package/src/routes/_nav/docs/route.tsx +20 -0
  146. package/src/routes/_nav/knowledge-public/bookmarks/route.lazy.tsx +355 -0
  147. package/src/routes/_nav/knowledge-public/bookmarks/route.tsx +40 -0
  148. package/src/routes/_nav/knowledge-public/compliance/route.lazy.tsx +245 -0
  149. package/src/routes/_nav/knowledge-public/compliance/route.tsx +40 -0
  150. package/src/routes/_nav/knowledge-public/legal/route.lazy.tsx +242 -0
  151. package/src/routes/_nav/knowledge-public/legal/route.tsx +40 -0
  152. package/src/routes/_nav/licenses/$licenseId/route.lazy.tsx +235 -0
  153. package/src/routes/_nav/licenses/$licenseId/route.tsx +25 -0
  154. package/src/routes/_nav/licenses/new/route.lazy.tsx +237 -0
  155. package/src/routes/_nav/licenses/route.lazy.tsx +143 -0
  156. package/src/routes/_nav/licenses/route.tsx +25 -0
  157. package/src/routes/_nav/market/route.lazy.tsx +31 -0
  158. package/src/routes/_nav/market/route.tsx +20 -0
  159. package/src/routes/_nav/monitoring/ai-usage/route.lazy.tsx +305 -0
  160. package/src/routes/_nav/monitoring/ai-usage/route.tsx +3 -0
  161. package/src/routes/_nav/monitoring/errors/route.lazy.tsx +111 -0
  162. package/src/routes/_nav/monitoring/health/route.lazy.tsx +260 -0
  163. package/src/routes/_nav/monitoring/logs/route.lazy.tsx +165 -0
  164. package/src/routes/_nav/monitoring/metrics/route.lazy.tsx +240 -0
  165. package/src/routes/_nav/monitoring/overview/route.lazy.tsx +138 -0
  166. package/src/routes/_nav/monitoring/route.lazy.tsx +68 -0
  167. package/src/routes/_nav/monitoring/route.tsx +20 -0
  168. package/src/routes/_nav/monitoring/sentry/route.lazy.tsx +399 -0
  169. package/src/routes/_nav/monitoring/sentry/route.tsx +20 -0
  170. package/src/routes/_nav/permissions/route.lazy.tsx +504 -0
  171. package/src/routes/_nav/permissions/route.tsx +26 -0
  172. package/src/routes/_nav/route.lazy.tsx +31 -0
  173. package/src/routes/_nav/route.tsx +34 -0
  174. package/src/routes/_nav/settings/route.lazy.tsx +30 -0
  175. package/src/routes/_nav/settings/route.tsx +20 -0
  176. package/src/routes/_nav/sso/route.lazy.tsx +145 -0
  177. package/src/routes/_nav/sso/route.tsx +25 -0
  178. package/src/routes/_nav/users/$userId/route.lazy.tsx +432 -0
  179. package/src/routes/_nav/users/$userId/route.tsx +27 -0
  180. package/src/routes/_nav/users/-components/users-table.tsx +38 -0
  181. package/src/routes/_nav/users/route.lazy.tsx +74 -0
  182. package/src/routes/_nav/users/route.tsx +43 -0
  183. package/src/routes/api/compliance-download/$jobId.ts +35 -0
  184. package/src/routes/api/observability/errors.ts +41 -0
  185. package/src/routes/api/observability/health.ts +30 -0
  186. package/src/routes/api.auth.$.ts +31 -0
  187. package/src/routes/api.sentry-test.ts +33 -0
  188. package/src/routes/index/route.lazy.tsx +22 -0
  189. package/src/routes/index/route.tsx +24 -0
  190. package/src/routes/login/route.lazy.tsx +46 -0
  191. package/src/routes/login/route.tsx +28 -0
  192. package/src/routes/sentry-tunnel.ts +61 -0
  193. package/src/routes/setup/route.lazy.tsx +94 -0
  194. package/src/routes/setup/route.tsx +28 -0
  195. package/src/server/__tests__/admin-ai-alerts.test.ts +113 -0
  196. package/src/server/__tests__/licenses-issue.test.ts +98 -0
  197. package/src/server/admin-ai-alerts.ts +177 -0
  198. package/src/server/admin-ai-usage.ts +134 -0
  199. package/src/server/auth-helpers.ts +51 -0
  200. package/src/server/entitlements.ts +24 -0
  201. package/src/server/knowledge-public/canonical-id.ts +55 -0
  202. package/src/server/knowledge-public/github-sync.ts +86 -0
  203. package/src/server/license-issue.ts +78 -0
  204. package/src/server/middlewares/request.ts +26 -0
  205. package/src/server/observability/debug-middleware.ts +39 -0
  206. package/src/server/observability/error-reporter.ts +99 -0
  207. package/src/server/observability/health-check.ts +140 -0
  208. package/src/server/observability/index.ts +33 -0
  209. package/src/server/observability/logger.ts +49 -0
  210. package/src/server/observability/metrics.ts +105 -0
  211. package/src/server/observability/request-middleware.ts +125 -0
  212. package/src/server/observability/timing.ts +42 -0
  213. package/src/server/pro-services.ts +32 -0
  214. package/src/server/serverFns/admin-billing.ts +94 -0
  215. package/src/server/serverFns/ai-provider/create.ts +92 -0
  216. package/src/server/serverFns/ai-provider/delete.ts +42 -0
  217. package/src/server/serverFns/ai-provider/get.ts +35 -0
  218. package/src/server/serverFns/ai-provider/list.ts +92 -0
  219. package/src/server/serverFns/ai-provider/update.ts +73 -0
  220. package/src/server/serverFns/anyhub/market.ts +64 -0
  221. package/src/server/serverFns/audit.ts +57 -0
  222. package/src/server/serverFns/auth/session.ts +26 -0
  223. package/src/server/serverFns/auth/setup.ts +73 -0
  224. package/src/server/serverFns/compliance.ts +85 -0
  225. package/src/server/serverFns/components/import.ts +197 -0
  226. package/src/server/serverFns/components/list.ts +51 -0
  227. package/src/server/serverFns/components/mutations.ts +84 -0
  228. package/src/server/serverFns/dependency/helpers.ts +245 -0
  229. package/src/server/serverFns/dependency/list.ts +127 -0
  230. package/src/server/serverFns/dependency/sync.ts +123 -0
  231. package/src/server/serverFns/dependency/update.ts +51 -0
  232. package/src/server/serverFns/developer-log-auto-generate.ts +176 -0
  233. package/src/server/serverFns/developer-logs.ts +132 -0
  234. package/src/server/serverFns/knowledge-public/bookmarks/create.ts +53 -0
  235. package/src/server/serverFns/knowledge-public/bookmarks/delete.ts +31 -0
  236. package/src/server/serverFns/knowledge-public/bookmarks/detail.ts +32 -0
  237. package/src/server/serverFns/knowledge-public/bookmarks/list.ts +66 -0
  238. package/src/server/serverFns/knowledge-public/bookmarks/sync-all-github.ts +56 -0
  239. package/src/server/serverFns/knowledge-public/bookmarks/update.ts +50 -0
  240. package/src/server/serverFns/knowledge-public/compliance/create.ts +58 -0
  241. package/src/server/serverFns/knowledge-public/compliance/delete.ts +31 -0
  242. package/src/server/serverFns/knowledge-public/compliance/detail.ts +32 -0
  243. package/src/server/serverFns/knowledge-public/compliance/list.ts +59 -0
  244. package/src/server/serverFns/knowledge-public/compliance/update.ts +53 -0
  245. package/src/server/serverFns/knowledge-public/legal/create.ts +62 -0
  246. package/src/server/serverFns/knowledge-public/legal/delete.ts +31 -0
  247. package/src/server/serverFns/knowledge-public/legal/detail.ts +32 -0
  248. package/src/server/serverFns/knowledge-public/legal/list.ts +60 -0
  249. package/src/server/serverFns/knowledge-public/legal/update.ts +55 -0
  250. package/src/server/serverFns/licenses.ts +92 -0
  251. package/src/server/serverFns/locale.ts +10 -0
  252. package/src/server/serverFns/monitoring/check-ai-alerts.ts +13 -0
  253. package/src/server/serverFns/monitoring/get-ai-usage-overview.ts +25 -0
  254. package/src/server/serverFns/monitoring/get-errors.ts +43 -0
  255. package/src/server/serverFns/monitoring/get-health-settings.ts +35 -0
  256. package/src/server/serverFns/monitoring/get-health.ts +55 -0
  257. package/src/server/serverFns/monitoring/get-metrics.ts +46 -0
  258. package/src/server/serverFns/monitoring/get-request-logs.ts +66 -0
  259. package/src/server/serverFns/monitoring/report-error.ts +55 -0
  260. package/src/server/serverFns/monitoring/reset.ts +70 -0
  261. package/src/server/serverFns/permissions.ts +214 -0
  262. package/src/server/serverFns/sentry/config.ts +88 -0
  263. package/src/server/serverFns/sso-config.ts +83 -0
  264. package/src/server/serverFns/user/create.ts +40 -0
  265. package/src/server/serverFns/user/delete.ts +29 -0
  266. package/src/server/serverFns/user/detail.ts +45 -0
  267. package/src/server/serverFns/user/list.ts +56 -0
  268. package/src/server/serverFns/user/reset-password.ts +28 -0
  269. package/src/server/serverFns/user/update-role.ts +26 -0
  270. package/src/server/serverFns/user/update-status.ts +26 -0
  271. package/src/server.ts +27 -0
  272. package/src/start.ts +85 -0
  273. package/src/styles/_keyframe-animations.scss +91 -0
  274. package/src/styles/_variables.scss +296 -0
  275. package/src/styles/globals.css +200 -0
  276. package/src/types/start-authjs.d.ts +27 -0
@@ -0,0 +1,877 @@
1
+ {
2
+ "errorPage": {
3
+ "notFound": "页面不存在",
4
+ "goLogin": "返回登录",
5
+ "error": "出错了",
6
+ "errorMessage": "{{message}}"
7
+ },
8
+ "button": {
9
+ "save": "保存",
10
+ "cancel": "取消",
11
+ "delete": "删除",
12
+ "confirm": "确认",
13
+ "close": "关闭",
14
+ "back": "返回",
15
+ "next": "下一步",
16
+ "submit": "提交",
17
+ "reset": "重置",
18
+ "edit": "编辑",
19
+ "create": "创建",
20
+ "search": "搜索"
21
+ },
22
+ "status": {
23
+ "loading": "加载中…",
24
+ "saving": "保存中…",
25
+ "deleting": "删除中...",
26
+ "success": "成功",
27
+ "error": "出错了",
28
+ "empty": "暂无数据"
29
+ },
30
+ "market": {
31
+ "title": "应用市场管理",
32
+ "addApp": "新增应用",
33
+ "fetchFailed": "获取应用列表失败",
34
+ "operationFailed": "操作失败",
35
+ "deleted": "已删除",
36
+ "deleteFailed": "删除失败",
37
+ "statusUpdated": "{{status}}已更新",
38
+ "deleteConfirmTitle": "确认删除",
39
+ "deleteConfirmDesc": "确定要删除应用「{{name}}」吗?此操作不可撤销。",
40
+ "statusLabel": {
41
+ "published": "已上架",
42
+ "draft": "草稿",
43
+ "unpublished": "已下架"
44
+ },
45
+ "publish": "上架",
46
+ "unpublish": "下架",
47
+ "columns": {
48
+ "appName": "应用名称",
49
+ "category": "分类",
50
+ "entryUrl": "入口 URL",
51
+ "downloads": "下载量",
52
+ "status": "状态",
53
+ "createdAt": "创建时间"
54
+ },
55
+ "form": {
56
+ "create": "新增应用",
57
+ "edit": "编辑应用",
58
+ "submitting": "提交中...",
59
+ "fillRequired": "请填写必填字段",
60
+ "operationFailed": "操作失败",
61
+ "created": "应用已创建",
62
+ "updated": "应用已更新",
63
+ "name": "应用标识 *",
64
+ "namePlaceholder": "唯一标识,如 my-app",
65
+ "displayName": "显示名称 *",
66
+ "displayNamePlaceholder": "展示给用户的名称",
67
+ "entryUrl": "入口 URL *",
68
+ "description": "描述",
69
+ "descriptionPlaceholder": "应用简介",
70
+ "icon": "图标 URL",
71
+ "iconPlaceholder": "图标地址",
72
+ "category": "分类",
73
+ "categoryPlaceholder": "选择分类",
74
+ "tags": "标签",
75
+ "tagsPlaceholder": "逗号分隔,如 AI,效率,协作",
76
+ "capabilities": "能力声明"
77
+ },
78
+ "categories": {
79
+ "productivity": "效率工具",
80
+ "ai-assistant": "AI 助手",
81
+ "project-mgmt": "项目管理",
82
+ "docs-collab": "文档协作",
83
+ "data-analysis": "数据分析",
84
+ "other": "其他"
85
+ },
86
+ "table": {
87
+ "addApp": "新增应用",
88
+ "deleteConfirmTitle": "确认删除",
89
+ "deleteConfirmDesc": "确定要删除应用「{{name}}」吗?此操作不可撤销。"
90
+ }
91
+ },
92
+ "requestLogTable": {
93
+ "columns": {
94
+ "time": "时间",
95
+ "path": "路径",
96
+ "description": "接口描述",
97
+ "method": "方法",
98
+ "status": "状态",
99
+ "duration": "耗时"
100
+ },
101
+ "compareBenchmark": "对比行业基准"
102
+ },
103
+ "settings": {
104
+ "language": "语言",
105
+ "languageDescription": "选择界面显示语言,切换后即时生效。",
106
+ "languageChanged": "语言已切换",
107
+ "languageChangeFailed": "语言切换失败",
108
+ "title": "系统设置"
109
+ },
110
+ "common": {
111
+ "edit": "编辑",
112
+ "delete": "删除",
113
+ "create": "创建",
114
+ "search": "搜索",
115
+ "cancel": "取消",
116
+ "refresh": "刷新",
117
+ "none": "无",
118
+ "empty": "暂无数据",
119
+ "deleting": "删除中...",
120
+ "deleteFailed": "删除失败",
121
+ "deleted": "{{name}}已删除",
122
+ "comingSoon": "功能开发中,敬请期待",
123
+ "backToList": "返回列表",
124
+ "timeAgo": {
125
+ "seconds": "{{count}}秒前",
126
+ "minutes": "{{count}}分钟前",
127
+ "hours": "{{count}}小时前",
128
+ "days": "{{count}}天前"
129
+ },
130
+ "role": {
131
+ "SUPER_ADMIN": "超级管理员",
132
+ "ADMIN": "管理员",
133
+ "USER": "用户",
134
+ "GUEST": "访客",
135
+ "OPERATOR": "运营者"
136
+ }
137
+ },
138
+ "login": {
139
+ "adminPanel": "管理后台",
140
+ "subtitle": "输入管理员账号密码登录",
141
+ "admin": "管理员",
142
+ "loginAdmin": "登录后台",
143
+ "loggingIn": "登录中...",
144
+ "loading": "验证中...",
145
+ "rememberMe": "今日保持登录",
146
+ "switchAccount": "切换账号",
147
+ "logout": "退出",
148
+ "switchAndLogin": "切换账号登录后台",
149
+ "backToWorkspace": "返回工作台",
150
+ "noPermission": "无权限访问",
151
+ "notAdmin": "当前账号 {{name}} 不是管理员",
152
+ "exitAdmin": "退出后台",
153
+ "showPassword": "显示密码",
154
+ "hidePassword": "隐藏密码",
155
+ "action": "登录",
156
+ "oauthWith": "使用 {{provider}} {{action}}",
157
+ "email": {
158
+ "label": "邮箱",
159
+ "placeholder": "邮箱"
160
+ },
161
+ "password": {
162
+ "label": "密码",
163
+ "placeholder": "请输入密码"
164
+ },
165
+ "success": "登录成功",
166
+ "error": {
167
+ "enterEmail": "请输入邮箱",
168
+ "validEmail": "请输入有效的邮箱地址",
169
+ "enterPassword": "请输入密码",
170
+ "invalidCredentials": "邮箱或密码错误"
171
+ }
172
+ },
173
+ "nav": {
174
+ "dashboard": "仪表盘",
175
+ "users": "用户管理",
176
+ "docs": "PRD 管理",
177
+ "apps": "应用管理",
178
+ "knowledgePublic": {
179
+ "title": "公共知识库",
180
+ "laws": "法律法规",
181
+ "compliance": "行业合规",
182
+ "bookmarks": "网站收藏"
183
+ },
184
+ "aiProviders": "AI 服务商",
185
+ "components": "组件管理",
186
+ "dependencies": "依赖管理",
187
+ "developerLogs": "开发者日志",
188
+ "market": "插件市场",
189
+ "billing": {
190
+ "title": "计费管理",
191
+ "subscriptions": "订阅",
192
+ "invoices": "发票"
193
+ },
194
+ "enterprise": {
195
+ "title": "企业治理",
196
+ "licenses": "License 管理",
197
+ "audit": "审计日志",
198
+ "sso": "SSO 配置",
199
+ "permissions": "权限管理",
200
+ "compliance": "合规导出"
201
+ },
202
+ "monitoring": {
203
+ "title": "系统监控",
204
+ "overview": "概览",
205
+ "logs": "请求日志",
206
+ "errors": "错误报告",
207
+ "metrics": "性能指标",
208
+ "health": "健康检查",
209
+ "sentry": "Sentry 配置"
210
+ },
211
+ "settings": "系统设置"
212
+ },
213
+ "pagination": {
214
+ "total": "共 {{total}} 条,第 {{page}}/{{totalPages}} 页",
215
+ "prev": "上一页",
216
+ "next": "下一页"
217
+ },
218
+ "dashboard": {
219
+ "title": "仪表盘",
220
+ "subtitle": "管理后台主页"
221
+ },
222
+ "docs": {
223
+ "title": "PRD 管理"
224
+ },
225
+ "apps": {
226
+ "title": "应用管理"
227
+ },
228
+ "dependencies": {
229
+ "title": "第三方依赖管理",
230
+ "description": "聚合 monorepo 各 package.json,对照 npm registry 最新版本,辅助决策是否升级",
231
+ "hint": {
232
+ "currentVersion": "「当前版本」实时读取 ",
233
+ "currentVersionSuffix": " 的 package.json;",
234
+ "latestVersion": "「最新版本」缓存自 npm registry,点击刷新按钮或「同步全部」更新。",
235
+ "watchList": "关注列表为预设的核心包,可在编辑中调整。"
236
+ }
237
+ },
238
+ "developerLogs": {
239
+ "title": "开发者日志管理",
240
+ "description": "管理 AllBlue 更新记录,展示在用户端 /changelog 页面",
241
+ "autoGenerate": "从 Git 提交生成",
242
+ "addEntry": "新增日志",
243
+ "editEntry": "编辑日志",
244
+ "deleteConfirm": "确定要删除这条日志吗?此操作不可撤销。",
245
+ "deleteSuccess": "日志已删除",
246
+ "saveSuccess": "日志已保存",
247
+ "columns": {
248
+ "date": "日期",
249
+ "title": "标题",
250
+ "desc": "描述",
251
+ "tags": "标签",
252
+ "createdAt": "创建时间",
253
+ "actions": "操作"
254
+ },
255
+ "form": {
256
+ "date": {
257
+ "label": "日期",
258
+ "placeholder": "Aug 23, 2026"
259
+ },
260
+ "title": {
261
+ "label": "标题",
262
+ "placeholder": "功能名称"
263
+ },
264
+ "desc": {
265
+ "label": "描述",
266
+ "placeholder": "简要描述此次更新的内容"
267
+ },
268
+ "tags": {
269
+ "label": "标签",
270
+ "placeholder": "feat, fix, refactor"
271
+ },
272
+ "commitSha": {
273
+ "label": "提交哈希",
274
+ "placeholder": "可选"
275
+ },
276
+ "fillRequired": "请填写必填字段"
277
+ },
278
+ "tagFilter": "按标签筛选",
279
+ "allTags": "全部",
280
+ "searchPlaceholder": "搜索日志...",
281
+ "empty": "暂无开发者日志",
282
+ "autoGenerating": "正在从 Git 提交记录生成开发者日志...",
283
+ "autoGenerateSuccess": "成功生成 {{count}} 条日志",
284
+ "autoGenerateFailed": "生成失败",
285
+ "backfillDetails": "补充详情",
286
+ "backfillSuccess": "已补充 {{count}} 条日志详情",
287
+ "backfillFailed": "补充详情失败"
288
+ },
289
+ "setup": {
290
+ "form": {
291
+ "title": "创建超级管理员账户",
292
+ "subtitle": "系统初始化",
293
+ "username": {
294
+ "label": "用户名",
295
+ "placeholder": "3-20 个字符"
296
+ },
297
+ "email": {
298
+ "label": "邮箱",
299
+ "placeholder": "admin@example.com"
300
+ },
301
+ "password": {
302
+ "label": "密码",
303
+ "placeholder": "至少 8 个字符"
304
+ },
305
+ "confirmPassword": {
306
+ "label": "确认密码",
307
+ "placeholder": "再次输入密码"
308
+ },
309
+ "loading": "创建中...",
310
+ "submit": "创建超级管理员"
311
+ },
312
+ "validation": {
313
+ "fillAllFields": "请填写所有字段",
314
+ "passwordMismatch": "两次输入的密码不一致"
315
+ },
316
+ "success": "超级管理员创建成功!正在跳转登录页...",
317
+ "error": "创建失败",
318
+ "brand": {
319
+ "title": "AllBlue 管理后台",
320
+ "subtitle": "首次使用初始化,创建超管账号"
321
+ },
322
+ "brandFeatures": {
323
+ "superAdmin": {
324
+ "label": "超级管理员",
325
+ "desc": "最高权限"
326
+ },
327
+ "dataMgmt": {
328
+ "label": "数据管理",
329
+ "desc": "全量控制"
330
+ },
331
+ "accountSecurity": {
332
+ "label": "账户安全",
333
+ "desc": "加密存储"
334
+ }
335
+ }
336
+ },
337
+ "knowledgePublic": {
338
+ "jurisdictionLabel": "法律",
339
+ "legal": {
340
+ "title": "法律与法规",
341
+ "subtitle": "共 {{total}} 条记录",
342
+ "placeholder": "搜索标题或摘要",
343
+ "columns": {
344
+ "title": "标题",
345
+ "jurisdiction": "管辖",
346
+ "category": "分类",
347
+ "tags": "标签",
348
+ "createdAt": "创建时间"
349
+ },
350
+ "deleteConfirmTitle": "确认删除",
351
+ "deleteConfirmDesc": "确定要删除「{{title}}」吗?此操作为软删除,可联系管理员恢复。"
352
+ },
353
+ "bookmarks": {
354
+ "title": "网站收藏",
355
+ "subtitle": "共 {{total}} 条记录",
356
+ "placeholder": "搜索标题、摘要或网址",
357
+ "deleted": "网站收藏已删除",
358
+ "syncing": "同步中...",
359
+ "syncGithub": "批量同步 GitHub",
360
+ "syncComplete": "同步完成:共 {{total}} 个,成功 {{success}},失败 {{failed}}",
361
+ "syncFailed": "同步失败",
362
+ "deleteConfirmTitle": "确认删除",
363
+ "deleteConfirmDesc": "确定要删除「{{title}}」吗?此操作为软删除,可联系管理员恢复。",
364
+ "columns": {
365
+ "website": "网站",
366
+ "url": "网址",
367
+ "category": "分类",
368
+ "tags": "标签",
369
+ "createdAt": "创建时间"
370
+ }
371
+ },
372
+ "compliance": {
373
+ "title": "行业合规要求",
374
+ "subtitle": "共 {{total}} 条记录",
375
+ "placeholder": "搜索标题或摘要",
376
+ "deleted": "合规要求已删除",
377
+ "deleteConfirmTitle": "确认删除",
378
+ "deleteConfirmDesc": "确定要删除「{{title}}」吗?此操作为软删除,可联系管理员恢复。",
379
+ "columns": {
380
+ "title": "标题",
381
+ "industry": "行业",
382
+ "regulatoryBody": "监管机构",
383
+ "tags": "标签",
384
+ "createdAt": "创建时间"
385
+ }
386
+ }
387
+ },
388
+ "monitoring": {
389
+ "nav": {
390
+ "overview": "概览",
391
+ "logs": "请求日志",
392
+ "errors": "错误报告",
393
+ "metrics": "性能指标",
394
+ "health": "健康检查",
395
+ "sentry": "Sentry 配置",
396
+ "aiUsage": "AI 用量"
397
+ },
398
+ "overview": {
399
+ "title": "系统监控",
400
+ "description": "实时查看服务运行状态与性能指标",
401
+ "requestStats": {
402
+ "title": "请求统计",
403
+ "totalRequests": "总请求数",
404
+ "avgDuration": "平均耗时",
405
+ "maxDuration": "最慢请求",
406
+ "errorTypes": "错误类型数"
407
+ },
408
+ "recentErrors": {
409
+ "title": "最近错误",
410
+ "empty": "暂无错误记录"
411
+ },
412
+ "metricsSnapshot": {
413
+ "title": "性能指标快照",
414
+ "empty": "暂无指标数据,等待请求采集"
415
+ }
416
+ },
417
+ "logs": {
418
+ "title": "请求日志",
419
+ "description": "查看服务请求记录",
420
+ "query": "查询",
421
+ "clear7Days": "清除 7 天前",
422
+ "clearSuccess": "已清除 7 天前的请求日志",
423
+ "clearFailed": "清除失败",
424
+ "empty": "暂无请求日志",
425
+ "filterMonitoring": "过滤监控请求",
426
+ "filter": {
427
+ "allMethods": "全部方法",
428
+ "allStatus": "全部状态",
429
+ "searchPath": "搜索路径..."
430
+ }
431
+ },
432
+ "errors": {
433
+ "title": "错误报告",
434
+ "description": "记录并聚合所有未捕获错误",
435
+ "clearData": "清除数据",
436
+ "clearSuccess": "错误报告已清除",
437
+ "clearFailed": "清除失败",
438
+ "empty": "暂无错误记录",
439
+ "stats": {
440
+ "errorTypes": "错误类型数",
441
+ "totalOccurrences": "总发生次数",
442
+ "recentError": "最近错误"
443
+ }
444
+ },
445
+ "metrics": {
446
+ "title": "性能指标",
447
+ "description": "请求耗时与内存使用统计",
448
+ "clearData": "清除数据",
449
+ "clearSuccess": "性能指标已清除",
450
+ "clearFailed": "清除失败",
451
+ "empty": "暂无指标数据,等待请求采集",
452
+ "memoryUsage": "内存使用(实时)",
453
+ "history": "历史快照",
454
+ "columns": {
455
+ "time": "时间",
456
+ "metricName": "指标名称",
457
+ "count": "调用数",
458
+ "avg": "平均"
459
+ }
460
+ },
461
+ "health": {
462
+ "title": "健康检查",
463
+ "description": "监控服务运行状态",
464
+ "autoCheck": "自动检查",
465
+ "checkNow": "立即检查",
466
+ "autoEnabled": "已开启自动健康检查",
467
+ "autoDisabled": "已关闭自动健康检查",
468
+ "operationFailed": "操作失败",
469
+ "runningTime": "运行 {{hours}}h {{minutes}}m",
470
+ "nextCheck": "下次自动检查: {{countdown}}s 后",
471
+ "status": {
472
+ "normal": "正常",
473
+ "abnormal": "异常"
474
+ },
475
+ "database": {
476
+ "title": "数据库连接",
477
+ "connected": "已连接(延迟 {{latency}}ms)",
478
+ "failed": "连接失败",
479
+ "unknownError": "未知错误"
480
+ },
481
+ "memory": {
482
+ "title": "内存使用"
483
+ },
484
+ "history": "历史快照",
485
+ "historyColumns": {
486
+ "time": "时间",
487
+ "status": "状态",
488
+ "dbLatency": "DB 延迟",
489
+ "uptime": "运行时长"
490
+ }
491
+ },
492
+ "aiUsage": {
493
+ "title": "AI 用量监控",
494
+ "description": "最近 30 天托管与 BYOK AI 使用情况",
495
+ "totalCalls": "总调用次数",
496
+ "totalCost": "总成本(USD)",
497
+ "byokVsManaged": "BYOK vs 托管",
498
+ "dailyTrend": "每日趋势",
499
+ "top10Workspaces": "Top 10 工作空间",
500
+ "top10Users": "Top 10 用户",
501
+ "workspace": "工作空间",
502
+ "user": "用户",
503
+ "count": "次数",
504
+ "cost": "成本",
505
+ "totalItems": "共 {{total}} 条",
506
+ "alert": {
507
+ "threshold": "阈值 {{threshold}}",
508
+ "affected": "影响 {{count}} 条"
509
+ },
510
+ "trend": {
511
+ "calls": "调用次数",
512
+ "callsAria": "AI 调用次数每日趋势",
513
+ "cost": "成本(USD)",
514
+ "costAria": "AI 成本每日趋势"
515
+ }
516
+ },
517
+ "sentry": {
518
+ "title": "Sentry 监控",
519
+ "subtitle": "错误追踪与性能监控管理",
520
+ "openSentry": "打开 Sentry",
521
+ "loadFailed": "加载 Sentry 配置失败",
522
+ "saveSuccess": "Sentry 配置已保存,已即时生效",
523
+ "saveFailed": "保存失败",
524
+ "saveConfig": "保存配置",
525
+ "unsaved": "有未保存的更改",
526
+ "config": {
527
+ "title": "配置",
528
+ "description": "配置项保存到数据库,保存后客户端与服务端即时生效。留空字段使用环境变量值。"
529
+ },
530
+ "fields": {
531
+ "dsn": {
532
+ "instruction": {
533
+ "step1": "登录 Sentry.io → 进入你的项目",
534
+ "step2": "左侧导航 → Settings → Client Keys (DSN)",
535
+ "step3": "复制 DSN 到此处",
536
+ "step4": "DSN 支持运行时动态切换,保存后即时生效"
537
+ }
538
+ },
539
+ "org": {
540
+ "label": "组织标识/Organization Slug",
541
+ "instruction": {
542
+ "step1": "登录 Sentry.io",
543
+ "step2": "左侧边栏进入 设置 → 常规设置 / Settings → General Settings",
544
+ "step3": "复制 Organization Slug"
545
+ }
546
+ },
547
+ "project": {
548
+ "label": "项目名称/Project Slug",
549
+ "instruction": {
550
+ "step1": "登录 Sentry.io → 进入你的项目",
551
+ "step2": "进入 Settings → Projects → 选择项目 → General Settings",
552
+ "step3": "复制 Slug"
553
+ }
554
+ },
555
+ "authToken": {
556
+ "instruction": {
557
+ "step1": "登录 Sentry.io → Settings → Developer Settings",
558
+ "step2": "点击 Auth Tokens → Create New Token",
559
+ "step3": "勾选权限: project:read、project:releases、org:read",
560
+ "step4": "复制生成的 Token 到此处",
561
+ "step5": "用于生产构建时自动上传源码映射(Source Maps)"
562
+ }
563
+ },
564
+ "obtainMethod": "获取方式:"
565
+ },
566
+ "statusCards": {
567
+ "dsn": {
568
+ "title": "DSN 状态",
569
+ "configured": "DSN 已配置",
570
+ "notConfigured": "DSN 未配置"
571
+ },
572
+ "errors": {
573
+ "title": "错误监控",
574
+ "enabled": "错误自动捕获已启用",
575
+ "disabled": "配置 DSN 后启用"
576
+ },
577
+ "performance": {
578
+ "title": "性能追踪",
579
+ "enabled": "Tracing 采样率 100%",
580
+ "disabled": "配置 DSN 后启用"
581
+ },
582
+ "replay": {
583
+ "enabled": "错误时 100% 录制",
584
+ "disabled": "配置 DSN 后启用"
585
+ }
586
+ },
587
+ "validate": {
588
+ "empty": "DSN 为空",
589
+ "httpsPrefix": "DSN 必须以 https:// 开头",
590
+ "notSentryIo": "DSN 域名不是 sentry.io",
591
+ "missingAt": "DSN 缺少 @ 分隔符,格式应为 https://<key>@o<orgId>.ingest.sentry.io/<projectId>",
592
+ "missingProjectId": "DSN 末尾缺少有效的 projectId(数字)",
593
+ "valid": "DSN 格式正确"
594
+ },
595
+ "verify": {
596
+ "title": "配置验证",
597
+ "description": "验证 DSN 格式是否正确,以及 Sentry 服务端是否可达。",
598
+ "note": "在Sentry-项目-View All Issues中会显示:类型\"Error\",标题\"Sentry 配置验证 - 测试错误\"的信息,如果发送了多条验证配置信息,事件(Events)的数字会累加。",
599
+ "button": "验证配置",
600
+ "notInitialized": "Sentry 未初始化,无法发送测试事件。请先保存配置。",
601
+ "success": "测试事件已成功送达 Sentry(eventId: {{eventId}})",
602
+ "timeout": "发送测试事件超时(5s),DSN 可能无效或网络不可达",
603
+ "error": "验证异常:{{message}}"
604
+ }
605
+ },
606
+ "healthCards": {
607
+ "database": "数据库",
608
+ "connected": "已连接",
609
+ "disconnected": "断开",
610
+ "latency": "延迟 {{latency}}",
611
+ "memoryRSS": "内存 RSS",
612
+ "heapUsage": "Heap 使用率",
613
+ "cpuCores": "CPU {{cores}} 核",
614
+ "systemLoad": "系统负载",
615
+ "diskUsage": "内存使用率",
616
+ "available": "可用 {{free}} / {{total}}",
617
+ "runtime": "运行环境"
618
+ }
619
+ },
620
+ "errorList": {
621
+ "columns": {
622
+ "lastSeen": "最近",
623
+ "errorName": "错误名称",
624
+ "errorMessage": "错误消息",
625
+ "count": "发生次数",
626
+ "firstSeen": "首次"
627
+ },
628
+ "detail": {
629
+ "title": "错误详情",
630
+ "context": "上下文"
631
+ }
632
+ },
633
+ "dependency": {
634
+ "statusLabel": {
635
+ "latest": "最新",
636
+ "patch": "补丁落后",
637
+ "minor": "次版本落后",
638
+ "major": "主版本落后",
639
+ "unknown": "未同步"
640
+ },
641
+ "timeAgo": {
642
+ "justNow": "刚刚",
643
+ "minutes": "{{count}} 分钟前",
644
+ "hours": "{{count}} 小时前",
645
+ "days": "{{count}} 天前"
646
+ },
647
+ "edit": {
648
+ "dialogTitle": "编辑 {{name}}",
649
+ "saved": "已保存",
650
+ "saveFailed": "保存失败",
651
+ "untracked": "未跟踪包,请先点刷新同步创建记录",
652
+ "displayName": "展示名",
653
+ "description": "描述",
654
+ "descriptionPlaceholder": "这个依赖是做什么的",
655
+ "homepage": "官网 / 仓库",
656
+ "category": "分类",
657
+ "priority": "优先级",
658
+ "watched": "加入关注列表(置顶展示)",
659
+ "notes": "备注",
660
+ "notesPlaceholder": "升级注意事项、Breaking Change 等"
661
+ },
662
+ "table": {
663
+ "statusFilter": {
664
+ "all": "全部状态",
665
+ "latest": "最新",
666
+ "patch": "补丁落后",
667
+ "minor": "次版本落后",
668
+ "major": "主版本落后",
669
+ "unknown": "未同步"
670
+ },
671
+ "searchPlaceholder": "搜索依赖名…",
672
+ "viewFilter": {
673
+ "watched": "关注列表",
674
+ "all": "全部依赖"
675
+ },
676
+ "allCategory": "全部",
677
+ "toast": {
678
+ "updated": "{{name}} 已更新到 {{version}}",
679
+ "syncFailed": "{{name}} 同步失败:{{error}}",
680
+ "noSyncable": "当前筛选无依赖可同步",
681
+ "syncSuccess": "成功同步 {{count}} 个依赖",
682
+ "syncFailedCount": "{{count}} 个依赖同步失败",
683
+ "unknown": "未知错误"
684
+ },
685
+ "stats": {
686
+ "watched": "关注 {{count}}",
687
+ "outdated": "可更新 {{count}}"
688
+ },
689
+ "syncAll": "同步全部({{count}})",
690
+ "empty": "没有匹配的依赖",
691
+ "columns": {
692
+ "dependency": "依赖",
693
+ "description": "描述",
694
+ "category": "分类",
695
+ "currentVersion": "当前版本",
696
+ "latestVersion": "最新版本",
697
+ "changelog": "更新日志",
698
+ "status": "状态",
699
+ "lastSync": "最后同步",
700
+ "actions": "操作"
701
+ },
702
+ "cell": {
703
+ "untracked": "未跟踪",
704
+ "highPriority": "高优先",
705
+ "notInstalled": "未安装",
706
+ "syncTooltip": "同步最新版本",
707
+ "changelogBtn": "日志",
708
+ "viewChangelog": "查看更新日志"
709
+ },
710
+ "pagination": {
711
+ "total": "共 {{total}} 条,第 {{page}}/{{totalPages}} 页",
712
+ "prev": "上一页",
713
+ "next": "下一页"
714
+ }
715
+ }
716
+ },
717
+ "component": {
718
+ "categories": {
719
+ "base": "基础组件",
720
+ "block": "内容区块",
721
+ "template": "页面模版"
722
+ },
723
+ "types": {
724
+ "base": "基础组件 (component)",
725
+ "block": "内容区块 (block)",
726
+ "template": "页面模版 (template)"
727
+ },
728
+ "form": {
729
+ "create": "新建组件",
730
+ "edit": "编辑组件",
731
+ "saving": "保存中...",
732
+ "nameRequired": "请输入组件名称",
733
+ "updated": "组件已更新",
734
+ "created": "组件已创建",
735
+ "saveFailed": "保存失败",
736
+ "previewUnavailable": "保存后可预览组件",
737
+ "defaultProps": "默认属性",
738
+ "preview": "预览",
739
+ "name": "名称 *",
740
+ "namePlaceholder": "组件名称",
741
+ "description": "描述",
742
+ "descriptionPlaceholder": "组件描述(可选)",
743
+ "category": "分类",
744
+ "type": "类型",
745
+ "subCategory": "子分类",
746
+ "subCategoryPlaceholder": "如:表单、导航",
747
+ "tags": "标签(逗号分隔)",
748
+ "tagsPlaceholder": "如:输入类, 表单",
749
+ "path": "分组路径",
750
+ "pathPlaceholder": "如:基础组件/表单/输入框",
751
+ "pathHint": "用斜杠分隔层级,左侧边栏按此路径排序组织。",
752
+ "defaultWidth": "默认宽度",
753
+ "defaultHeight": "默认高度",
754
+ "sortOrder": "排序权重",
755
+ "hidden": "隐藏"
756
+ },
757
+ "table": {
758
+ "empty": "暂无组件",
759
+ "columns": {
760
+ "component": "组件",
761
+ "category": "分类",
762
+ "type": "类型",
763
+ "tags": "标签",
764
+ "source": "来源",
765
+ "status": "状态",
766
+ "actions": "操作"
767
+ },
768
+ "status": {
769
+ "hidden": "隐藏",
770
+ "visible": "显示"
771
+ }
772
+ }
773
+ },
774
+ "activityLog": {
775
+ "title": "活动日志",
776
+ "description": "查看账户活动与审计记录",
777
+ "search": "搜索",
778
+ "searchPlaceholder": "按描述、IP 或地点搜索...",
779
+ "actionType": "操作类型",
780
+ "startDate": "开始日期",
781
+ "endDate": "结束日期",
782
+ "actionTypes": {
783
+ "all": "全部操作",
784
+ "login": "登录",
785
+ "logout": "登出",
786
+ "password_change": "密码修改",
787
+ "profile_update": "资料更新",
788
+ "settings_change": "设置变更",
789
+ "export": "数据导出",
790
+ "delete": "删除操作"
791
+ },
792
+ "total": "共 {{count}} 条记录",
793
+ "exporting": "导出中…",
794
+ "exportLog": "导出日志",
795
+ "empty": "暂无活动记录",
796
+ "emptyHint": {
797
+ "filtered": "尝试调整筛选条件",
798
+ "default": "活动记录将显示在此处"
799
+ },
800
+ "status": {
801
+ "success": "成功",
802
+ "failed": "失败"
803
+ },
804
+ "unknown": "未知",
805
+ "justNow": "刚刚"
806
+ },
807
+ "userFilters": {
808
+ "searchPlaceholder": "搜索邮箱或用户名...",
809
+ "rolePlaceholder": "角色",
810
+ "role": {
811
+ "all": "全部角色",
812
+ "SUPER_ADMIN": "超级管理员",
813
+ "ADMIN": "管理员",
814
+ "USER": "用户"
815
+ },
816
+ "statusPlaceholder": "状态",
817
+ "status": {
818
+ "all": "全部状态",
819
+ "ACTIVE": "正常",
820
+ "INACTIVE": "未激活",
821
+ "BANNED": "已封禁"
822
+ },
823
+ "clearFilters": "清除筛选"
824
+ },
825
+ "socialPlatform": {
826
+ "website": "个人网站"
827
+ },
828
+ "legalForm": {
829
+ "create": "新建法律",
830
+ "edit": "编辑法律",
831
+ "saving": "保存中...",
832
+ "titleRequired": "请输入标题",
833
+ "categoryRequired": "请输入分类",
834
+ "loadFailed": "加载失败",
835
+ "updated": "法律已更新",
836
+ "created": "法律已创建",
837
+ "saveFailed": "保存失败",
838
+ "title": "标题 *",
839
+ "titlePlaceholder": "如:个人信息保护法",
840
+ "code": "发文字号",
841
+ "codePlaceholder": "如:主席令第91号",
842
+ "jurisdiction": "管辖范围",
843
+ "category": "分类",
844
+ "categoryPlaceholder": "如:数据合规",
845
+ "region": "地区",
846
+ "regionPlaceholder": "如:北京",
847
+ "country": "国家",
848
+ "countryPlaceholder": "如:中国",
849
+ "issuingAuthority": "发布机关",
850
+ "issuingAuthorityPlaceholder": "如:全国人大常委会",
851
+ "effectiveDate": "生效日期",
852
+ "summary": "摘要",
853
+ "summaryPlaceholder": "一句话简介",
854
+ "content": "正文内容",
855
+ "contentPlaceholder": "法律条文正文",
856
+ "sourceUrl": "来源链接",
857
+ "tags": "标签(逗号分隔)",
858
+ "tagsPlaceholder": "如:隐私, 数据",
859
+ "jurisdictions": {
860
+ "CN_NATIONAL": "中国 · 国家级",
861
+ "CN_LOCAL": "中国 · 地方级",
862
+ "OVERSEAS": "海外"
863
+ }
864
+ },
865
+ "metricsStats": {
866
+ "benchmarkSource": "基准值基于 Google Cloud、AWS、Stripe、Cloudflare 公开性能 SLA 和最佳实践设定",
867
+ "compareBenchmark": "对比行业基准",
868
+ "columns": {
869
+ "metricName": "指标名称",
870
+ "description": "指标描述",
871
+ "count": "调用次数",
872
+ "avg": "平均",
873
+ "min": "最小",
874
+ "max": "最大"
875
+ }
876
+ }
877
+ }