@adminiumjs/i18n 0.2.1 → 0.2.2-rc.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 (214) hide show
  1. package/dist/a11y-keys.d.ts.map +1 -1
  2. package/dist/a11y-keys.js +1 -0
  3. package/dist/a11y-keys.js.map +1 -1
  4. package/dist/create-i18n.d.ts.map +1 -1
  5. package/dist/create-i18n.js +1 -0
  6. package/dist/create-i18n.js.map +1 -1
  7. package/dist/editing.d.ts.map +1 -1
  8. package/dist/editing.js +1 -0
  9. package/dist/editing.js.map +1 -1
  10. package/dist/fallback.d.ts.map +1 -1
  11. package/dist/fallback.js +1 -0
  12. package/dist/fallback.js.map +1 -1
  13. package/dist/format/index.d.ts.map +1 -1
  14. package/dist/format/index.js +1 -0
  15. package/dist/format/index.js.map +1 -1
  16. package/dist/format-errors.d.ts.map +1 -1
  17. package/dist/format-errors.js +1 -0
  18. package/dist/format-errors.js.map +1 -1
  19. package/dist/icu-format.d.ts.map +1 -1
  20. package/dist/icu-format.js +1 -0
  21. package/dist/icu-format.js.map +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/keys.d.ts.map +1 -1
  26. package/dist/keys.js +1 -0
  27. package/dist/keys.js.map +1 -1
  28. package/dist/locales.d.ts +6 -2
  29. package/dist/locales.d.ts.map +1 -1
  30. package/dist/locales.js +7 -2
  31. package/dist/locales.js.map +1 -1
  32. package/dist/overrides.d.ts.map +1 -1
  33. package/dist/overrides.js +1 -0
  34. package/dist/overrides.js.map +1 -1
  35. package/dist/react.d.ts.map +1 -1
  36. package/dist/react.js +1 -0
  37. package/dist/react.js.map +1 -1
  38. package/dist/resources/ar-eg/common.d.ts +692 -5
  39. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  40. package/dist/resources/ar-eg/common.js +712 -24
  41. package/dist/resources/ar-eg/common.js.map +1 -1
  42. package/dist/resources/ar-eg/errors.d.ts +1 -0
  43. package/dist/resources/ar-eg/errors.d.ts.map +1 -1
  44. package/dist/resources/ar-eg/errors.js +2 -0
  45. package/dist/resources/ar-eg/errors.js.map +1 -1
  46. package/dist/resources/ar-eg/generated.d.ts.map +1 -1
  47. package/dist/resources/ar-eg/generated.js +1 -0
  48. package/dist/resources/ar-eg/generated.js.map +1 -1
  49. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  50. package/dist/resources/ar-eg/studio.js +1 -0
  51. package/dist/resources/ar-eg/studio.js.map +1 -1
  52. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  53. package/dist/resources/ar-eg/ui.js +1 -0
  54. package/dist/resources/ar-eg/ui.js.map +1 -1
  55. package/dist/resources/cs-cz/common.d.ts +692 -5
  56. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  57. package/dist/resources/cs-cz/common.js +712 -24
  58. package/dist/resources/cs-cz/common.js.map +1 -1
  59. package/dist/resources/cs-cz/errors.d.ts +1 -0
  60. package/dist/resources/cs-cz/errors.d.ts.map +1 -1
  61. package/dist/resources/cs-cz/errors.js +2 -0
  62. package/dist/resources/cs-cz/errors.js.map +1 -1
  63. package/dist/resources/cs-cz/generated.d.ts.map +1 -1
  64. package/dist/resources/cs-cz/generated.js +1 -0
  65. package/dist/resources/cs-cz/generated.js.map +1 -1
  66. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  67. package/dist/resources/cs-cz/studio.js +1 -0
  68. package/dist/resources/cs-cz/studio.js.map +1 -1
  69. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  70. package/dist/resources/cs-cz/ui.js +1 -0
  71. package/dist/resources/cs-cz/ui.js.map +1 -1
  72. package/dist/resources/da-dk/common.d.ts +692 -5
  73. package/dist/resources/da-dk/common.d.ts.map +1 -1
  74. package/dist/resources/da-dk/common.js +712 -24
  75. package/dist/resources/da-dk/common.js.map +1 -1
  76. package/dist/resources/da-dk/errors.d.ts +1 -0
  77. package/dist/resources/da-dk/errors.d.ts.map +1 -1
  78. package/dist/resources/da-dk/errors.js +2 -0
  79. package/dist/resources/da-dk/errors.js.map +1 -1
  80. package/dist/resources/da-dk/generated.d.ts.map +1 -1
  81. package/dist/resources/da-dk/generated.js +1 -0
  82. package/dist/resources/da-dk/generated.js.map +1 -1
  83. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  84. package/dist/resources/da-dk/studio.js +1 -0
  85. package/dist/resources/da-dk/studio.js.map +1 -1
  86. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  87. package/dist/resources/da-dk/ui.js +1 -0
  88. package/dist/resources/da-dk/ui.js.map +1 -1
  89. package/dist/resources/de-de/common.d.ts +692 -5
  90. package/dist/resources/de-de/common.d.ts.map +1 -1
  91. package/dist/resources/de-de/common.js +712 -24
  92. package/dist/resources/de-de/common.js.map +1 -1
  93. package/dist/resources/de-de/errors.d.ts +1 -0
  94. package/dist/resources/de-de/errors.d.ts.map +1 -1
  95. package/dist/resources/de-de/errors.js +2 -0
  96. package/dist/resources/de-de/errors.js.map +1 -1
  97. package/dist/resources/de-de/generated.d.ts.map +1 -1
  98. package/dist/resources/de-de/generated.js +1 -0
  99. package/dist/resources/de-de/generated.js.map +1 -1
  100. package/dist/resources/de-de/studio.d.ts.map +1 -1
  101. package/dist/resources/de-de/studio.js +1 -0
  102. package/dist/resources/de-de/studio.js.map +1 -1
  103. package/dist/resources/de-de/ui.d.ts.map +1 -1
  104. package/dist/resources/de-de/ui.js +1 -0
  105. package/dist/resources/de-de/ui.js.map +1 -1
  106. package/dist/resources/en-us/common.d.ts +692 -5
  107. package/dist/resources/en-us/common.d.ts.map +1 -1
  108. package/dist/resources/en-us/common.js +712 -24
  109. package/dist/resources/en-us/common.js.map +1 -1
  110. package/dist/resources/en-us/errors.d.ts +1 -0
  111. package/dist/resources/en-us/errors.d.ts.map +1 -1
  112. package/dist/resources/en-us/errors.js +2 -0
  113. package/dist/resources/en-us/errors.js.map +1 -1
  114. package/dist/resources/en-us/generated.d.ts.map +1 -1
  115. package/dist/resources/en-us/generated.js +1 -0
  116. package/dist/resources/en-us/generated.js.map +1 -1
  117. package/dist/resources/en-us/studio.d.ts.map +1 -1
  118. package/dist/resources/en-us/studio.js +1 -0
  119. package/dist/resources/en-us/studio.js.map +1 -1
  120. package/dist/resources/en-us/ui.d.ts.map +1 -1
  121. package/dist/resources/en-us/ui.js +1 -0
  122. package/dist/resources/en-us/ui.js.map +1 -1
  123. package/dist/resources/fr-fr/common.d.ts +692 -5
  124. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  125. package/dist/resources/fr-fr/common.js +712 -24
  126. package/dist/resources/fr-fr/common.js.map +1 -1
  127. package/dist/resources/fr-fr/errors.d.ts +1 -0
  128. package/dist/resources/fr-fr/errors.d.ts.map +1 -1
  129. package/dist/resources/fr-fr/errors.js +2 -0
  130. package/dist/resources/fr-fr/errors.js.map +1 -1
  131. package/dist/resources/fr-fr/generated.d.ts.map +1 -1
  132. package/dist/resources/fr-fr/generated.js +1 -0
  133. package/dist/resources/fr-fr/generated.js.map +1 -1
  134. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  135. package/dist/resources/fr-fr/studio.js +1 -0
  136. package/dist/resources/fr-fr/studio.js.map +1 -1
  137. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  138. package/dist/resources/fr-fr/ui.js +1 -0
  139. package/dist/resources/fr-fr/ui.js.map +1 -1
  140. package/dist/resources/index.d.ts.map +1 -1
  141. package/dist/resources/index.js +1 -0
  142. package/dist/resources/index.js.map +1 -1
  143. package/dist/resources/lazy.d.ts.map +1 -1
  144. package/dist/resources/lazy.js.map +1 -1
  145. package/dist/resources/zh-cn/common.d.ts +692 -5
  146. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  147. package/dist/resources/zh-cn/common.js +712 -24
  148. package/dist/resources/zh-cn/common.js.map +1 -1
  149. package/dist/resources/zh-cn/errors.d.ts +1 -0
  150. package/dist/resources/zh-cn/errors.d.ts.map +1 -1
  151. package/dist/resources/zh-cn/errors.js +2 -0
  152. package/dist/resources/zh-cn/errors.js.map +1 -1
  153. package/dist/resources/zh-cn/generated.d.ts.map +1 -1
  154. package/dist/resources/zh-cn/generated.js +1 -0
  155. package/dist/resources/zh-cn/generated.js.map +1 -1
  156. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  157. package/dist/resources/zh-cn/studio.js +1 -0
  158. package/dist/resources/zh-cn/studio.js.map +1 -1
  159. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  160. package/dist/resources/zh-cn/ui.js +1 -0
  161. package/dist/resources/zh-cn/ui.js.map +1 -1
  162. package/dist/resources/zh-tw/common.d.ts +692 -5
  163. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  164. package/dist/resources/zh-tw/common.js +712 -24
  165. package/dist/resources/zh-tw/common.js.map +1 -1
  166. package/dist/resources/zh-tw/errors.d.ts +1 -0
  167. package/dist/resources/zh-tw/errors.d.ts.map +1 -1
  168. package/dist/resources/zh-tw/errors.js +2 -0
  169. package/dist/resources/zh-tw/errors.js.map +1 -1
  170. package/dist/resources/zh-tw/generated.d.ts.map +1 -1
  171. package/dist/resources/zh-tw/generated.js +1 -0
  172. package/dist/resources/zh-tw/generated.js.map +1 -1
  173. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  174. package/dist/resources/zh-tw/studio.js +1 -0
  175. package/dist/resources/zh-tw/studio.js.map +1 -1
  176. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  177. package/dist/resources/zh-tw/ui.js +1 -0
  178. package/dist/resources/zh-tw/ui.js.map +1 -1
  179. package/dist/review-status.d.ts.map +1 -1
  180. package/dist/review-status.js +8 -7
  181. package/dist/review-status.js.map +1 -1
  182. package/dist/revision.d.ts.map +1 -1
  183. package/dist/revision.js +1 -0
  184. package/dist/revision.js.map +1 -1
  185. package/dist/server.d.ts.map +1 -1
  186. package/dist/server.js +1 -0
  187. package/dist/server.js.map +1 -1
  188. package/dist/validate-message.d.ts.map +1 -1
  189. package/dist/validate-message.js +1 -0
  190. package/dist/validate-message.js.map +1 -1
  191. package/locales/ar-EG/.meta.json +4790 -2678
  192. package/locales/ar-EG/common.json +711 -24
  193. package/locales/ar-EG/errors.json +1 -0
  194. package/locales/cs-CZ/.meta.json +4790 -2678
  195. package/locales/cs-CZ/common.json +711 -24
  196. package/locales/cs-CZ/errors.json +1 -0
  197. package/locales/da-DK/.meta.json +4790 -2678
  198. package/locales/da-DK/common.json +711 -24
  199. package/locales/da-DK/errors.json +1 -0
  200. package/locales/de-DE/.meta.json +4790 -2678
  201. package/locales/de-DE/common.json +711 -24
  202. package/locales/de-DE/errors.json +1 -0
  203. package/locales/en-US/common.json +711 -24
  204. package/locales/en-US/errors.json +1 -0
  205. package/locales/fr-FR/.meta.json +4790 -2678
  206. package/locales/fr-FR/common.json +711 -24
  207. package/locales/fr-FR/errors.json +1 -0
  208. package/locales/zh-CN/.meta.json +4790 -2678
  209. package/locales/zh-CN/common.json +711 -24
  210. package/locales/zh-CN/errors.json +1 -0
  211. package/locales/zh-TW/.meta.json +4790 -2678
  212. package/locales/zh-TW/common.json +711 -24
  213. package/locales/zh-TW/errors.json +1 -0
  214. package/package.json +2 -2
@@ -97,7 +97,12 @@
97
97
  "planning": "规划",
98
98
  "people": "人员",
99
99
  "account": "账户"
100
- }
100
+ },
101
+ "back": "返回",
102
+ "team": "团队",
103
+ "roles": "角色与权限",
104
+ "audit": "审计日志",
105
+ "security": "密码与会话"
101
106
  },
102
107
  "topbar": {
103
108
  "search": "搜索…",
@@ -120,8 +125,8 @@
120
125
  "askAi": "询问 AI",
121
126
  "shortcuts": "键盘快捷键",
122
127
  "signOut": "退出登录",
123
- "themeDark": "切换到深色主题",
124
- "themeLight": "切换到浅色主题",
128
+ "themeDark": "深色模式",
129
+ "themeLight": "浅色模式",
125
130
  "footerNavigate": "导航",
126
131
  "footerOpen": "选择",
127
132
  "footerClose": "关闭",
@@ -544,6 +549,23 @@
544
549
  "label": "应用名称",
545
550
  "helper": "显示在侧边栏、浏览器标题和邮件中。",
546
551
  "error": "请输入不超过 60 个字符的名称。"
552
+ },
553
+ "logo": {
554
+ "label": "标志",
555
+ "drop": "将图片拖放到此处",
556
+ "helper": "支持 PNG、JPEG、WebP、GIF 或 SVG,最大 1 MB。将在所有位置替换内置标志。",
557
+ "upload": "上传标志",
558
+ "replace": "更换标志",
559
+ "remove": "移除",
560
+ "uploaded": "标志已更新",
561
+ "removed": "标志已移除",
562
+ "tooLarge": "该图片大于 1 MB。",
563
+ "badType": "请选择 PNG、JPEG、WebP、GIF 或 SVG 图片。",
564
+ "undo": "撤销"
565
+ },
566
+ "showVersion": {
567
+ "label": "侧边栏中的版本",
568
+ "helper": "标志旁的版本号。关闭后将隐藏您运行的版本。"
547
569
  }
548
570
  },
549
571
  "security": {
@@ -573,6 +595,8 @@
573
595
  "close": "关闭",
574
596
  "on": "开",
575
597
  "off": "关",
598
+ "shown": "显示",
599
+ "hidden": "隐藏",
576
600
  "change": "{before} → {after}"
577
601
  },
578
602
  "defaultsCard": {
@@ -591,6 +615,11 @@
591
615
  "heading": "AI 增强",
592
616
  "body": "配置 AI 提供方(或复制粘贴往返)来增强标签、分组和关系。",
593
617
  "cta": "打开 AI 设置"
618
+ },
619
+ "pagesCard": {
620
+ "heading": "页面",
621
+ "body": "添加、编辑和删除页面,更改每个页面的内容,并重新排列侧边栏。",
622
+ "cta": "管理页面"
594
623
  }
595
624
  },
596
625
  "settingsAi": {
@@ -956,7 +985,20 @@
956
985
  "testFailed": "连接失败。",
957
986
  "v1Note": {
958
987
  "title": "关于此安装",
959
- "body": "此服务器在首次启动时选择了元数据存储。此步骤验证你的选择与此连接兼容并记录下来——服务器会独立执行同一规则(409 META_PLACEMENT_INVALID)。迁移现有元数据存储属于运维任务(M10)。"
988
+ "body": "此服务器已将自有数据表保存在配置好的数据库中,本步骤不会迁移它们。它只校验你的选择是否与此连接兼容——服务器会独立执行同一规则(409 META_PLACEMENT_INVALID)。"
989
+ },
990
+ "move": {
991
+ "title": "正在迁移 Adminium 的数据表",
992
+ "copying": "正在迁移 Adminium 的数据表…",
993
+ "restarting": "正在重启…",
994
+ "copyingBody": "正在将每张 adminium_ 表复制到新数据库。你的源数据不会被改动,只有在校验通过后才会切换。",
995
+ "restartingBody": "复制已完成。Adminium 正在新数据库上重启——本页面将在几秒后自动继续。",
996
+ "failed": "无法迁移 Adminium 的数据表——请重试。",
997
+ "timeout": "Adminium 已迁移数据表,但尚未恢复。你的数据已安全存放在新数据库中——请稍后刷新本页面。"
998
+ },
999
+ "willMove": {
1000
+ "title": "此操作将迁移 Adminium 的数据表",
1001
+ "body": "Adminium 目前使用内置的 SQLite 存储。点击“继续”会把该存储复制到你选择的数据库并在其上重启——账号、页面和设置都会一起迁移,你将保持登录状态。"
960
1002
  }
961
1003
  },
962
1004
  "intent": {
@@ -1231,7 +1273,9 @@
1231
1273
  "duplicate": "复制 {name}",
1232
1274
  "remove": "移除 {name}",
1233
1275
  "removed": "已移除 {name}。",
1234
- "duplicated": "已复制 {name}。"
1276
+ "duplicated": "已复制 {name}。",
1277
+ "unboundHint": "此小组件在这里和线上页面上显示的都是示例数据。打开“配置”将其连接到数据表。",
1278
+ "unbound": "示例数据"
1235
1279
  },
1236
1280
  "families": {
1237
1281
  "kpi": "关键指标",
@@ -1254,7 +1298,149 @@
1254
1298
  "saveVersionTitle": "保存版本",
1255
1299
  "saveVersionBody": "为当前文档创建快照。可随时从“版本”中恢复。",
1256
1300
  "versionName": "版本名称",
1257
- "versionNamePlaceholder": "例如:Q3 费率调整前"
1301
+ "versionNamePlaceholder": "例如:Q3 费率调整前",
1302
+ "discard": "放弃更改",
1303
+ "discardTitle": "放弃你的更改?",
1304
+ "discardBody": "仪表盘将恢复到你打开编辑器时的样子。你的数据不受影响。",
1305
+ "discardConfirm": "放弃更改",
1306
+ "keepEditing": "继续编辑",
1307
+ "discarded": "更改已放弃。",
1308
+ "binding": {
1309
+ "addFilter": "添加筛选条件",
1310
+ "brokenBody": "它已不再符合此版本能够识别的查询,因此该小组件会在线上页面上显示错误。",
1311
+ "brokenTitle": "此小组件的查询已损坏",
1312
+ "bucketColumn": "日期列",
1313
+ "bucketRequired": "请选择承载日期的列。",
1314
+ "bucketUnit": "时间分组方式",
1315
+ "columnNone": "无",
1316
+ "columnPlaceholder": "选择列…",
1317
+ "connect": "连接数据",
1318
+ "edit": "编辑查询",
1319
+ "event": {
1320
+ "category": "类别列(可选)",
1321
+ "date": "开始日期列",
1322
+ "end": "结束日期列(可选)",
1323
+ "title": "标题列"
1324
+ },
1325
+ "filterColumnRequired": "请选择一列。",
1326
+ "filterColumn": "列",
1327
+ "filterListHelper": "多个值之间用逗号分隔。",
1328
+ "filterOp": "条件",
1329
+ "filterValue": "值",
1330
+ "fn": {
1331
+ "avg": "平均值",
1332
+ "countDistinct": "去重值计数",
1333
+ "count": "行数计数",
1334
+ "max": "最大值",
1335
+ "min": "最小值",
1336
+ "sum": "求和"
1337
+ },
1338
+ "groupByColumns": "列",
1339
+ "groupByRequired": "此视图需要一个拆分列。",
1340
+ "groupByRows": "行",
1341
+ "groupBy": "分组依据",
1342
+ "incompleteBody": "请填写高亮的字段——写了一半的查询会在线上仪表盘中失败。",
1343
+ "incompleteTitle": "此查询尚未完成",
1344
+ "limit": "最多获取的行数",
1345
+ "loadingSchema": "正在加载数据表…",
1346
+ "lossyBody": "其中的部分内容——额外的度量、排序或页面筛选联动——不会在此显示,保存后将被丢弃。",
1347
+ "lossyTitle": "此查询比本编辑器支持的更高级",
1348
+ "measureColumnRequired": "此计算需要指定一列。",
1349
+ "measureColumn": "目标列",
1350
+ "measureFn": "计算方式",
1351
+ "noConnectionBody": "只有属于某个连接的页面,其小组件才能绑定数据。",
1352
+ "noConnectionTitle": "此页面没有数据库连接",
1353
+ "noDateColumns": "此数据表没有日期或时间戳列。",
1354
+ "noFilters": "没有筛选条件——表中的每一行都会被计入。",
1355
+ "noSnapshotBody": "表和列来自该连接上次内省的结果。请在 Studio 中运行内省,然后重新打开此编辑器。",
1356
+ "noSnapshotTitle": "此连接没有架构快照",
1357
+ "op": {
1358
+ "between": "介于",
1359
+ "ilike": "包含(不区分大小写)",
1360
+ "in": "属于其中之一",
1361
+ "isNull": "为空",
1362
+ "like": "包含",
1363
+ "notNull": "不为空"
1364
+ },
1365
+ "orderAsc": "最早/最小在前",
1366
+ "orderBy": "排序依据",
1367
+ "orderDesc": "最新/最大在前",
1368
+ "orderDir": "排序方向",
1369
+ "orderNone": "数据库默认顺序",
1370
+ "pickTableFirst": "请先选择数据表,才能选择其中的列。",
1371
+ "removeFilter": "移除筛选条件",
1372
+ "remove": "移除数据源",
1373
+ "save": "使用此查询",
1374
+ "sectionBreakdown": "拆分维度",
1375
+ "sectionColumns": "列",
1376
+ "sectionFilters": "筛选条件",
1377
+ "sectionMeasure": "度量",
1378
+ "sectionRows": "行",
1379
+ "sectionSource": "来源",
1380
+ "sectionTime": "时间轴",
1381
+ "sectionWindow": "时间范围",
1382
+ "selectColumns": "要显示的列",
1383
+ "selectRequired": "请至少选择一列进行显示。",
1384
+ "shape": {
1385
+ "calendarEvents": "带日期的事件",
1386
+ "categorical": "每个类别一个值",
1387
+ "distribution": "单列的分布情况",
1388
+ "matrix": "行列交叉的网格",
1389
+ "metricDelta": "一个数字,并与上一时间段对比",
1390
+ "multiTimeseries": "每个类别一条随时间变化的折线",
1391
+ "recordList": "一组行的列表",
1392
+ "record": "单行",
1393
+ "singleMetric": "单个数字",
1394
+ "stream": "最近行的实时动态",
1395
+ "timeseries": "随时间变化的值",
1396
+ "tree": "每个类别一个值,分两个层级",
1397
+ "geoPoints": "每个地点或地区一个值",
1398
+ "flows": "从一个类别流向另一个类别的量",
1399
+ "ohlc": "每个时间段的开盘、最高、最低和收盘价",
1400
+ "booleanMap": "每个键一个开/关标记"
1401
+ },
1402
+ "shapeHelper": "更改此项会改变可用的查询设置项。",
1403
+ "shapeLabel": "此小组件展示的内容",
1404
+ "summaryColumns": "{count, plural, other {# 列}}",
1405
+ "summaryFilters": "{count, plural, other {# 个筛选条件}}",
1406
+ "tableEmpty": "没有匹配的数据表。",
1407
+ "tablePlaceholder": "搜索数据表…",
1408
+ "tableRequired": "请选择要查询的数据表。",
1409
+ "table": "数据表或视图",
1410
+ "title": "数据源",
1411
+ "unbindableBody": "它展示的数据形态查询引擎尚未支持构建,因此它只会渲染自带的示例内容。",
1412
+ "unbindableTitle": "此小组件尚不能查询数据",
1413
+ "unboundBody": "它在这里和线上页面上显示的都是示例数字。请将它连接到数据表以显示真实数据。",
1414
+ "unboundTitle": "未连接到你的数据",
1415
+ "unit": {
1416
+ "day": "按天",
1417
+ "hour": "按小时",
1418
+ "month": "按月",
1419
+ "quarter": "按季度",
1420
+ "week": "按周",
1421
+ "year": "按年"
1422
+ },
1423
+ "valueColumnRequired": "请选择要度量的列。",
1424
+ "valueColumn": "值列",
1425
+ "windowColumn": "日期列",
1426
+ "windowLast": "最近",
1427
+ "windowNone": "全部时间",
1428
+ "windowRequired": "与上一时间段对比需要一个日期列。",
1429
+ "windowUnit": {
1430
+ "day": "天",
1431
+ "hour": "小时",
1432
+ "month": "个月",
1433
+ "quarter": "个季度",
1434
+ "week": "周",
1435
+ "year": "年"
1436
+ },
1437
+ "windowUnitLabel": "单位",
1438
+ "role": {
1439
+ "flagKey": "键列",
1440
+ "flagValue": "开/关列"
1441
+ },
1442
+ "roleColumnsRequired": "请填写每个必填列,并且在已填写的列之前不能留空,因为这些列是按顺序读取的。"
1443
+ }
1258
1444
  },
1259
1445
  "setup": {
1260
1446
  "title": "设置 Adminium",
@@ -1607,7 +1793,8 @@
1607
1793
  "helpAbout": "关于 Adminium"
1608
1794
  },
1609
1795
  "settings": {
1610
- "explainer": "这些设置仅适用于这台电脑上的 Adminium 应用,保存在本机,不会保存到你的工作区。"
1796
+ "explainer": "这些设置仅适用于这台电脑上的 Adminium 应用,保存在本机,不会保存到你的工作区。",
1797
+ "title": "桌面设置"
1611
1798
  },
1612
1799
  "security": {
1613
1800
  "heading": "登录"
@@ -1654,7 +1841,8 @@
1654
1841
  "mismatchBody": "共享已关闭,但服务器尚未释放网络。请重启 Adminium 以关闭它。",
1655
1842
  "transportTitle": "局域网中的流量未加密。",
1656
1843
  "transportBody": "仅在你信任的网络中共享。如需远程访问,请使用置于 HTTPS 之后的 Adminium 自托管版本。",
1657
- "firewall": "首次共享时,操作系统会询问是否允许传入连接 — 请选择\"允许\",否则其他设备将无法访问 Adminium。"
1844
+ "firewall": "首次共享时,操作系统会询问是否允许传入连接 — 请选择\"允许\",否则其他设备将无法访问 Adminium。",
1845
+ "manageTeam": "管理用户与角色"
1658
1846
  },
1659
1847
  "setup": {
1660
1848
  "title": "欢迎使用 Adminium",
@@ -1863,37 +2051,48 @@
1863
2051
  },
1864
2052
  "templates": {
1865
2053
  "crud": {
1866
- "title": "记录"
2054
+ "title": "记录",
2055
+ "description": "可搜索的数据表格,支持新增、编辑和删除。"
1867
2056
  },
1868
2057
  "dashboard": {
1869
- "title": "仪表盘"
2058
+ "title": "仪表盘",
2059
+ "description": "由你自行排布的图表与指标网格。"
1870
2060
  },
1871
2061
  "board": {
1872
- "title": "看板"
2062
+ "title": "看板",
2063
+ "description": "按状态分列的卡片,可在列之间拖动。"
1873
2064
  },
1874
2065
  "calendar": {
1875
- "title": "日历"
2066
+ "title": "日历",
2067
+ "description": "按日期排布在月视图或周视图网格中的记录。"
1876
2068
  },
1877
2069
  "scheduler": {
1878
- "title": "排班"
2070
+ "title": "排班",
2071
+ "description": "谁在做什么——以每人一行的时间轴呈现。"
1879
2072
  },
1880
2073
  "logViewer": {
1881
- "title": "日志"
2074
+ "title": "日志",
2075
+ "description": "密集且可筛选的事件行,附详细追踪。"
1882
2076
  },
1883
2077
  "files": {
1884
- "title": "文件"
2078
+ "title": "文件",
2079
+ "description": "以可浏览的资料库形式展示文件与文件夹。"
1885
2080
  },
1886
2081
  "chat": {
1887
- "title": "聊天"
2082
+ "title": "聊天",
2083
+ "description": "带消息历史的会话线程。"
1888
2084
  },
1889
2085
  "builder": {
1890
- "title": "构建器"
2086
+ "title": "构建器",
2087
+ "description": "用于制作文档与模板的拖放画布。"
1891
2088
  },
1892
2089
  "wizard": {
1893
- "title": "向导"
2090
+ "title": "向导",
2091
+ "description": "引导式的分步流程,逐步完成任务。"
1894
2092
  },
1895
2093
  "settings": {
1896
- "title": "设置"
2094
+ "title": "设置",
2095
+ "description": "分组的偏好设置行,含开关与输入项。"
1897
2096
  },
1898
2097
  "directory": {
1899
2098
  "title": "通讯录",
@@ -1907,7 +2106,8 @@
1907
2106
  "noMatchesBody": "试试其他搜索词或移除筛选。",
1908
2107
  "errorTitle": "无法加载此通讯录",
1909
2108
  "loading": "正在加载人员",
1910
- "memberCount": "{count} 人"
2109
+ "memberCount": "{count} 人",
2110
+ "description": "以卡片展示人员,并附组织架构图。"
1911
2111
  },
1912
2112
  "masterDetail": {
1913
2113
  "title": "列表与详情",
@@ -1919,7 +2119,8 @@
1919
2119
  "noMatchesBody": "试试移除筛选。",
1920
2120
  "errorTitle": "无法加载此列表",
1921
2121
  "loading": "正在加载记录",
1922
- "selectPrompt": "选择一条记录"
2122
+ "selectPrompt": "选择一条记录",
2123
+ "description": "左侧是列表,选中的记录显示在旁边。"
1923
2124
  },
1924
2125
  "queueInbox": {
1925
2126
  "title": "队列",
@@ -1944,7 +2145,8 @@
1944
2145
  "errorTitle": "无法加载此队列",
1945
2146
  "loading": "正在加载队列",
1946
2147
  "selectPrompt": "选择一个请求",
1947
- "daysUnit": "{count} 天"
2148
+ "daysUnit": "{count} 天",
2149
+ "description": "带有通过与拒绝操作的工作队列。"
1948
2150
  }
1949
2151
  },
1950
2152
  "dataio": {
@@ -2048,7 +2250,492 @@
2048
2250
  }
2049
2251
  },
2050
2252
  "theme": {
2051
- "toLight": "切换到浅色主题",
2052
- "toDark": "切换到深色主题"
2253
+ "toLight": "浅色模式",
2254
+ "toDark": "深色模式"
2255
+ },
2256
+ "studioPages": {
2257
+ "title": "页面",
2258
+ "subtitle": "添加、编辑和整理应用的页面,以及它们在侧边栏中的顺序。",
2259
+ "createButton": "新建页面",
2260
+ "loadFailed": {
2261
+ "title": "无法加载页面",
2262
+ "body": "管理页面需要“管理页面”权限。请联系管理员将该权限授予你的某个角色。"
2263
+ },
2264
+ "tab": {
2265
+ "pages": "全部页面",
2266
+ "sidebar": "侧边栏顺序"
2267
+ },
2268
+ "list": {
2269
+ "title": "页面",
2270
+ "count": "{count, plural, other {# 个页面}}"
2271
+ },
2272
+ "empty": {
2273
+ "title": "暂无页面",
2274
+ "body": "连接数据库即可自动生成页面,也可以手动创建一个。"
2275
+ },
2276
+ "status": {
2277
+ "live": "已上线",
2278
+ "hidden": "已隐藏"
2279
+ },
2280
+ "origin": {
2281
+ "generated": "自动生成",
2282
+ "manifest": "插件",
2283
+ "llm": "助手",
2284
+ "system": "系统",
2285
+ "user": "自定义"
2286
+ },
2287
+ "row": {
2288
+ "menu": "{title} 的操作"
2289
+ },
2290
+ "action": {
2291
+ "edit": "编辑页面",
2292
+ "duplicate": "创建副本",
2293
+ "hide": "在侧边栏中隐藏",
2294
+ "show": "在侧边栏中显示",
2295
+ "delete": "删除页面"
2296
+ },
2297
+ "create": {
2298
+ "title": "新建页面",
2299
+ "failed": "无法创建页面",
2300
+ "submit": "创建页面",
2301
+ "subtitle": "选择此页面显示什么以及外观如何。预览会跟随你的选择。"
2302
+ },
2303
+ "duplicate": {
2304
+ "title": "创建页面副本",
2305
+ "failed": "无法创建副本",
2306
+ "submit": "创建副本"
2307
+ },
2308
+ "delete": {
2309
+ "title": "确定删除此页面吗?",
2310
+ "body": "此操作无法撤销。该页面上所有已保存的视图和个人布局将对所有人删除。",
2311
+ "bodyGenerated": "此页面由架构生成创建,下次重新生成时会再次出现。已保存的视图和个人布局将对所有人删除。",
2312
+ "prompt": "输入 {slug} 以确认",
2313
+ "confirm": "删除页面"
2314
+ },
2315
+ "field": {
2316
+ "title": "标题",
2317
+ "titleHint": "显示在侧边栏和页面标题栏中。",
2318
+ "slug": "页面地址",
2319
+ "slugHint": "仅限小写字母、数字和连字符。只需填写最后一段,其余部分会自动补全。",
2320
+ "slugTaken": "已有其他页面使用该地址。",
2321
+ "slugWarning": "修改地址会导致指向此页面的现有链接和书签失效。",
2322
+ "template": "模板",
2323
+ "templateHint": "决定页面可以承载哪些内容,之后可以更改。",
2324
+ "group": "侧边栏分组",
2325
+ "groupHint": "页面出现在侧边栏的哪个区块。",
2326
+ "icon": "图标",
2327
+ "iconHint": "显示在侧边栏中页面名称的旁边。",
2328
+ "visible": "在侧边栏中显示",
2329
+ "visibleHint": "隐藏的页面仍可通过网址访问,只要对方有链接。",
2330
+ "table": "数据表",
2331
+ "tableCreateHint": "此页面读取的数据表。现在选择即可直接使用;留空则可稍后再绑定。",
2332
+ "tableNone": "未绑定",
2333
+ "tableNeedsConnection": "请先选择数据源。",
2334
+ "connection": "数据源",
2335
+ "connectionNone": "无",
2336
+ "iconPick": "选择页面图标",
2337
+ "padding": "页面内边距"
2338
+ },
2339
+ "editor": {
2340
+ "title": "编辑页面",
2341
+ "save": "保存更改",
2342
+ "saveFailed": "无法保存更改",
2343
+ "openPage": "打开页面",
2344
+ "generated": {
2345
+ "title": "此页面根据你的数据库架构生成",
2346
+ "body": "重新生成时会保留你的修改:页面会被标记为已编辑并原样保留。但删除只在下次生成前有效,届时页面会被重新创建。"
2347
+ },
2348
+ "contentUnavailable": "无法加载页面内容",
2349
+ "contentUnavailableBody": "以上信息仍可保存。",
2350
+ "contentInvalid": "无法读取此页面的配置",
2351
+ "contentInvalidBody": "配置由更新的版本写入,或已损坏。请重新生成或删除该页面。",
2352
+ "data": "数据",
2353
+ "schemaFailed": "无法列出数据表",
2354
+ "schemaFailedBody": "此连接可能尚未分析。请在“工作室 → 数据连接”中运行架构分析。",
2355
+ "notBindable": "此模板不绑定单个数据表",
2356
+ "notBindableBody": "它的内容由小组件逐个搭建。打开页面并点击“编辑”即可添加。",
2357
+ "recompose": "此页面将被重建",
2358
+ "recomposeBody": "保存后将依据上方的模板和数据表用全新布局替换页面内容。此页面上的列调整和小组件改动将会丢失。",
2359
+ "missing": "此页面已不存在",
2360
+ "missingBody": "它可能已被删除,或被某次重新生成移除。",
2361
+ "details": "详细信息",
2362
+ "itemsPending": "请先保存上方的更改——页面内容将依据新的模板和数据表重建。",
2363
+ "columns": "列",
2364
+ "appearance": "外观"
2365
+ },
2366
+ "sidebar": {
2367
+ "help": "在分组内重新排序页面,或将页面移到其他分组。更改对所有人生效。",
2368
+ "discard": "放弃",
2369
+ "save": "保存顺序",
2370
+ "saveFailed": "无法保存新顺序",
2371
+ "emptyGroup": "此分组中没有页面。",
2372
+ "moveUp": "将 {title} 上移",
2373
+ "moveDown": "将 {title} 下移",
2374
+ "moveTo": "将 {title} 移到其他分组",
2375
+ "ungrouped": {
2376
+ "title": "有些页面不属于任何侧边栏分组",
2377
+ "body": "这些页面可以通过网址访问,但不会出现在侧边栏中。请逐个打开并选择分组。"
2378
+ }
2379
+ },
2380
+ "columns": {
2381
+ "help": "重新排序列、重命名列标题,并选择哪些列显示在表格中。",
2382
+ "discard": "放弃",
2383
+ "save": "保存列",
2384
+ "saveFailed": "无法保存列",
2385
+ "pk": "主键",
2386
+ "pii": "个人信息",
2387
+ "header": "{name} 的列标题",
2388
+ "shown": "显示",
2389
+ "toggle": "在表格中显示 {name}",
2390
+ "moveUp": "将 {name} 上移",
2391
+ "moveDown": "将 {name} 下移",
2392
+ "remove": "移除 {name}",
2393
+ "none": {
2394
+ "title": "此页面还没有列",
2395
+ "body": "生成页面时会从数据表读取列。请将此页面绑定到数据表后重新生成。"
2396
+ }
2397
+ },
2398
+ "icon": {
2399
+ "none": "选择图标",
2400
+ "search": "搜索图标",
2401
+ "noMatches": "没有图标符合该搜索。"
2402
+ },
2403
+ "preview": {
2404
+ "untitled": "未命名页面",
2405
+ "note": "这是版式示意图,不是你的数据。保存后真实页面才会填充内容。"
2406
+ },
2407
+ "padding": {
2408
+ "default": "此模板的默认值",
2409
+ "none": "无",
2410
+ "standard": "标准 (28 × 24)",
2411
+ "custom": "自定义…",
2412
+ "x": "左右 (px)",
2413
+ "y": "上下 (px)"
2414
+ }
2415
+ },
2416
+ "audit": {
2417
+ "action": {
2418
+ "view": "查看"
2419
+ },
2420
+ "actor": {
2421
+ "apiKey": "API 密钥",
2422
+ "automation": "自动化",
2423
+ "system": "系统",
2424
+ "user": "用户"
2425
+ },
2426
+ "category": {
2427
+ "auth": "登录与账户",
2428
+ "automation": "自动化",
2429
+ "connection": "连接",
2430
+ "data": "记录",
2431
+ "export": "导入与导出",
2432
+ "llm": "AI 辅助",
2433
+ "rbac": "角色与权限",
2434
+ "schema": "架构",
2435
+ "settings": "设置",
2436
+ "system": "系统"
2437
+ },
2438
+ "column": {
2439
+ "action": "操作",
2440
+ "actor": "操作者",
2441
+ "category": "类别",
2442
+ "details": "详情",
2443
+ "when": "时间"
2444
+ },
2445
+ "drawer": {
2446
+ "actorId": "操作者 ID",
2447
+ "actorKind": "操作者类型",
2448
+ "after": "变更后",
2449
+ "before": "变更前",
2450
+ "category": "类别",
2451
+ "changes": "更改",
2452
+ "connection": "连接",
2453
+ "field": "字段",
2454
+ "ip": "IP 地址",
2455
+ "noChanges": "此操作未记录变更前后的快照。",
2456
+ "none": "无",
2457
+ "requestId": "请求 ID",
2458
+ "resource": "资源",
2459
+ "subtitle": "{actor} · {when}",
2460
+ "truncated": "已在 16 KB 处截断",
2461
+ "userAgent": "用户代理"
2462
+ },
2463
+ "empty": {
2464
+ "body": "对数据、架构、设置和权限的更改,会在发生时记录到这里。",
2465
+ "filtered": {
2466
+ "body": "请扩大日期范围,或清除类别筛选。",
2467
+ "title": "没有符合这些筛选条件的记录"
2468
+ },
2469
+ "title": "还没有记录任何日志"
2470
+ },
2471
+ "filterActor": "操作者 ID",
2472
+ "filterCategoryAny": "任意类别",
2473
+ "filterCategory": "按类别筛选",
2474
+ "filterFrom": "起始",
2475
+ "filterTo": "截止",
2476
+ "listFailed": {
2477
+ "title": "无法加载审计日志"
2478
+ },
2479
+ "loadMore": "加载更早的记录",
2480
+ "subtitle": "此工作区中的每一项更改、由谁做出,以及改动了什么。",
2481
+ "title": "审计日志"
2482
+ },
2483
+ "roles": {
2484
+ "action": {
2485
+ "delete": "删除",
2486
+ "rename": "重命名"
2487
+ },
2488
+ "builtinLocked": "内置角色无法删除。",
2489
+ "category": {
2490
+ "access": "访问",
2491
+ "data": "数据",
2492
+ "operations": "运维",
2493
+ "workspace": "工作区"
2494
+ },
2495
+ "column": {
2496
+ "actions": "操作",
2497
+ "members": "成员",
2498
+ "name": "角色"
2499
+ },
2500
+ "create": {
2501
+ "descriptionLabel": "描述",
2502
+ "description": "新建的角色最初不具备任何权限。",
2503
+ "failed": "无法创建该角色",
2504
+ "namePlaceholder": "例如:客服专员",
2505
+ "name": "名称",
2506
+ "submit": "创建角色",
2507
+ "title": "新建角色"
2508
+ },
2509
+ "createButton": "新建角色",
2510
+ "delete": {
2511
+ "confirm": "删除角色",
2512
+ "description": "该角色及其权限记录都会被删除。",
2513
+ "failed": "无法删除该角色",
2514
+ "hasMembers": "“{name}”仍有 {count, plural, other {# 位成员}}。请选择他们迁移到的角色——Adminium 不会让任何账户处于没有角色的状态。",
2515
+ "noMembers": "没有人拥有“{name}”,因此不需要迁移任何人。",
2516
+ "reassignPlaceholder": "选择一个角色…",
2517
+ "reassignTo": "将成员迁移到",
2518
+ "title": "删除角色"
2519
+ },
2520
+ "list": {
2521
+ "title": "角色"
2522
+ },
2523
+ "loadFailed": {
2524
+ "body": "下方的矩阵并不完整,此时保存会清除那些只是没有加载出来的权限。请先重新加载,再进行更改。",
2525
+ "title": "部分权限无法读取"
2526
+ },
2527
+ "matrix": {
2528
+ "discard": "放弃",
2529
+ "empty": {
2530
+ "body": "此实例报告说完全没有可授予的权限,这不应该发生——请重新加载;若问题依旧,请查看服务器日志。",
2531
+ "title": "没有可显示的权限"
2532
+ },
2533
+ "label": "角色权限",
2534
+ "noChanges": "没有待保存的更改",
2535
+ "pending": "{count, plural, other {# 项待保存的更改}}",
2536
+ "rowHeader": "权限",
2537
+ "title": "权限"
2538
+ },
2539
+ "memberCount": "{count, plural, other {# 位用户}}",
2540
+ "permission": {
2541
+ "apiKeysManage": "管理 API 密钥",
2542
+ "auditRead": "查看审计日志",
2543
+ "connectionsManage": "管理数据库连接",
2544
+ "exportsManage": "管理所有人的导出",
2545
+ "importsManage": "管理所有人的导入",
2546
+ "jobsManage": "启动和取消后台任务",
2547
+ "jobsRead": "查看所有后台任务",
2548
+ "llmRun": "运行 AI 辅助",
2549
+ "pagesManage": "创建和整理页面",
2550
+ "reportsManage": "管理定时报告",
2551
+ "rolesManage": "管理角色和权限",
2552
+ "schemaRemap": "编辑架构标签和覆盖",
2553
+ "settingsManage": "管理工作区设置",
2554
+ "usersManage": "管理用户"
2555
+ },
2556
+ "rename": {
2557
+ "failed": "无法重命名该角色",
2558
+ "title": "重命名角色"
2559
+ },
2560
+ "saveFailed": {
2561
+ "title": "无法保存全部角色"
2562
+ },
2563
+ "subtitle": "每个角色可以做什么。用户会获得其所持有的全部角色的权限并集。",
2564
+ "title": "角色与权限"
2565
+ },
2566
+ "security": {
2567
+ "password": {
2568
+ "changedBody": "下次登录时请使用新密码。其他设备上的会话不受影响——如果希望它们退出登录,请在下方结束这些会话。",
2569
+ "changed": "密码已更改",
2570
+ "confirm": "确认新密码",
2571
+ "current": "当前密码",
2572
+ "failed": "无法更改你的密码",
2573
+ "helper": "至少 8 个字符。",
2574
+ "mismatch": "两次输入的密码不一致。",
2575
+ "new": "新密码",
2576
+ "submit": "更改密码",
2577
+ "title": "密码"
2578
+ },
2579
+ "sessions": {
2580
+ "expires": "{at} 过期",
2581
+ "failedBody": "这个列表是唯一能显示你的账户在哪些地方登录的地方,因此列表为空时应当视为情况未知,而不是没有任何登录。",
2582
+ "failed": "无法读取你的会话",
2583
+ "ip": "IP {ip}",
2584
+ "loading": "正在查找其他已登录的设备…",
2585
+ "noIp": "未记录 IP",
2586
+ "revokeBody": "该会话会立即结束,正在使用它的人必须重新登录。",
2587
+ "revokeFailed": "无法让该设备退出登录",
2588
+ "revokeTitle": "让此设备退出登录",
2589
+ "revoke": "退出登录",
2590
+ "seenUnknown": "最后活动:未知",
2591
+ "seen": "最后活动于 {since}",
2592
+ "thisDevice": "此设备",
2593
+ "title": "已登录的设备",
2594
+ "unknownDevice": "无法识别的设备"
2595
+ },
2596
+ "subtitle": "你的密码、你的双重验证,以及你已登录的每一处。",
2597
+ "title": "安全",
2598
+ "twoFactor": {
2599
+ "activateFailed": "该验证码未被接受",
2600
+ "activate": "开启双重验证",
2601
+ "body": "验证器应用会生成一个 6 位数字验证码,Adminium 会在你输入密码之后要求提供它。",
2602
+ "code": "验证器应用中的验证码",
2603
+ "copyKey": "复制设置密钥",
2604
+ "copyLink": "复制设置链接",
2605
+ "disableBody": "你的账户将恢复为仅使用密码,你的恢复代码也会失效。",
2606
+ "disableConfirm": "关闭",
2607
+ "disableFailed": "无法关闭双重验证",
2608
+ "disablePassword": "你的密码",
2609
+ "disableTitle": "关闭双重验证",
2610
+ "disable": "关闭双重验证",
2611
+ "enrollFailed": "无法开始设置",
2612
+ "enroll": "设置双重验证",
2613
+ "hide": "隐藏设置密钥",
2614
+ "off": "未启用",
2615
+ "on": "已启用",
2616
+ "recovery": {
2617
+ "body": "如果你丢失了验证器,每个恢复代码可以让你登录一次。它们只在此刻显示这一次。",
2618
+ "copy": "复制恢复代码",
2619
+ "title": "保存你的恢复代码"
2620
+ },
2621
+ "reveal": "显示设置密钥",
2622
+ "secretHelper": "把设置链接粘贴到你的验证器应用中,或者手动输入密钥。",
2623
+ "secret": "设置密钥",
2624
+ "title": "双重验证"
2625
+ }
2626
+ },
2627
+ "team": {
2628
+ "action": {
2629
+ "reactivate": "恢复",
2630
+ "remove": "删除",
2631
+ "resend": "新链接",
2632
+ "roles": "角色",
2633
+ "suspend": "暂停"
2634
+ },
2635
+ "column": {
2636
+ "actions": "操作",
2637
+ "lastSeen": "最后活动",
2638
+ "person": "人员",
2639
+ "roles": "角色",
2640
+ "status": "状态"
2641
+ },
2642
+ "counts": "活跃 {active} · 已邀请 {invited} · 已暂停 {suspended}",
2643
+ "empty": {
2644
+ "body": "邀请一位同事,让他拥有自己的登录账户和角色。",
2645
+ "filtered": {
2646
+ "body": "清除筛选条件即可查看完整名单。",
2647
+ "title": "没有符合这些筛选条件的人"
2648
+ },
2649
+ "title": "目前只有你拥有账户"
2650
+ },
2651
+ "filterRoleAny": "任意角色",
2652
+ "filterRole": "按角色筛选",
2653
+ "filterStatusAny": "任意状态",
2654
+ "filterStatus": "按状态筛选",
2655
+ "invite": {
2656
+ "copied": "已复制",
2657
+ "copyLink": "复制链接",
2658
+ "created": {
2659
+ "body": "请你自己把这个链接发送给 {email}。它只显示这一次——Adminium 只保存它的哈希值,所以一旦丢失,你就必须删除这条邀请并重新签发一条新的。",
2660
+ "title": "邀请已创建"
2661
+ },
2662
+ "emailIt": "通过邮件发送邀请",
2663
+ "expiresRelative": "该链接将于 {at}({relative})过期。",
2664
+ "expires": "该链接将于 {at} 过期。",
2665
+ "noEmail": {
2666
+ "smtp": "此实例未配置 SMTP 服务器,因此没有任何可用于发送邮件的途径。请通过你已经信任的渠道分享该链接。",
2667
+ "title": "Adminium 没有通过邮件发送这个链接",
2668
+ "unknown": "Adminium 无法确认此实例是否能够发送邮件。请通过你已经信任的渠道分享该链接。"
2669
+ }
2670
+ },
2671
+ "inviteButton": "邀请同事",
2672
+ "inviteDialog": {
2673
+ "description": "Adminium 会创建账户,并给你一个一次性的激活链接,由你转交给对方。",
2674
+ "emailPlaceholder": "name@example.com",
2675
+ "email": "邮箱",
2676
+ "failed": "无法创建邀请",
2677
+ "namePlaceholder": "例如:李明",
2678
+ "name": "姓名",
2679
+ "rolesHelper": "请选择能让他完成本职工作的最小权限角色。之后可以随时更改。",
2680
+ "roles": "角色",
2681
+ "submit": "创建邀请",
2682
+ "title": "邀请同事"
2683
+ },
2684
+ "listFailed": {
2685
+ "title": "无法加载成员名单"
2686
+ },
2687
+ "loadMore": "加载更多",
2688
+ "neverSignedIn": "从未登录",
2689
+ "noRoles": "没有角色",
2690
+ "remove": {
2691
+ "body": "此操作会抹除 {name} 的账户、他们的偏好设置和登录会话,并从他们更改过的设置记录中清空其姓名。改为暂停则会保留所有这些内容,只是不再允许他们登录。此操作无法撤销。",
2692
+ "confirm": "永久删除",
2693
+ "prompt": "输入“{email}”以确认",
2694
+ "title": "永久删除账户"
2695
+ },
2696
+ "roles": {
2697
+ "unavailable": "你的账户无法查看角色,因此这里无法分配任何角色。"
2698
+ },
2699
+ "rolesDialog": {
2700
+ "description": "用户会获得其所持有的全部角色的权限并集。",
2701
+ "failed": "无法更改角色",
2702
+ "title": "{name} 的角色"
2703
+ },
2704
+ "rolesLocked": "更改角色需要“管理角色”权限。",
2705
+ "search": "搜索姓名或邮箱",
2706
+ "status": {
2707
+ "active": "活跃",
2708
+ "invited": "已邀请",
2709
+ "suspended": "已暂停"
2710
+ },
2711
+ "subtitle": "谁在这份 Adminium 上拥有账户,以及他们各自可以做什么。",
2712
+ "title": "团队",
2713
+ "twoFactorOn": "已开启双重验证",
2714
+ "twoFactorShort": "2FA"
2715
+ },
2716
+ "email": {
2717
+ "linkFallback": "如果按钮无法使用,请把这个链接粘贴到浏览器中:{url}",
2718
+ "notification": {
2719
+ "action": "打开 {appName}",
2720
+ "footer": "你收到这封邮件,是因为你的 {appName} 账户开启了邮件通知。你可以在通知设置中将其关闭。",
2721
+ "name": "通知"
2722
+ },
2723
+ "passwordReset": {
2724
+ "action": "设置新密码",
2725
+ "heading": "重置密码",
2726
+ "intro": "{name} 你好,我们收到了为 {email} 重置密码的请求。",
2727
+ "name": "密码重置",
2728
+ "notice": "此链接只能使用一次,并将在 {expiresInMinutes} 分钟后失效。如果你没有申请重置密码,可以忽略这封邮件——你当前的密码将继续有效。",
2729
+ "subject": "重置你的 {appName} 密码"
2730
+ },
2731
+ "userInvite": {
2732
+ "action": "接受邀请",
2733
+ "heading": "你收到了一份邀请",
2734
+ "intro": "{inviterName}邀请你加入 {appName}。接受邀请,为 {email} 设置密码并登录。",
2735
+ "name": "团队邀请",
2736
+ "notice": "此邀请只能使用一次,并将在 {expiresInDays} 天后失效。如果你并未预期会收到它,可以忽略这封邮件。",
2737
+ "subject": "你受邀加入 {appName}",
2738
+ "inviterFallback": "管理员"
2739
+ }
2053
2740
  }
2054
2741
  }