@adminiumjs/i18n 0.3.0-rc.0 → 0.3.0-rc.2

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 (133) hide show
  1. package/dist/a11y-keys.d.ts +1 -1
  2. package/dist/a11y-keys.d.ts.map +1 -1
  3. package/dist/a11y-keys.js +48 -1
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/resources/ar-eg/common.d.ts +27 -0
  6. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  7. package/dist/resources/ar-eg/common.js +34 -7
  8. package/dist/resources/ar-eg/common.js.map +1 -1
  9. package/dist/resources/ar-eg/studio.d.ts +166 -52
  10. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  11. package/dist/resources/ar-eg/studio.js +173 -59
  12. package/dist/resources/ar-eg/studio.js.map +1 -1
  13. package/dist/resources/ar-eg/ui.d.ts +14 -0
  14. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  15. package/dist/resources/ar-eg/ui.js +15 -1
  16. package/dist/resources/ar-eg/ui.js.map +1 -1
  17. package/dist/resources/cs-cz/common.d.ts +27 -0
  18. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  19. package/dist/resources/cs-cz/common.js +34 -7
  20. package/dist/resources/cs-cz/common.js.map +1 -1
  21. package/dist/resources/cs-cz/studio.d.ts +166 -52
  22. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  23. package/dist/resources/cs-cz/studio.js +173 -59
  24. package/dist/resources/cs-cz/studio.js.map +1 -1
  25. package/dist/resources/cs-cz/ui.d.ts +14 -0
  26. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  27. package/dist/resources/cs-cz/ui.js +15 -1
  28. package/dist/resources/cs-cz/ui.js.map +1 -1
  29. package/dist/resources/da-dk/common.d.ts +27 -0
  30. package/dist/resources/da-dk/common.d.ts.map +1 -1
  31. package/dist/resources/da-dk/common.js +34 -7
  32. package/dist/resources/da-dk/common.js.map +1 -1
  33. package/dist/resources/da-dk/studio.d.ts +166 -52
  34. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  35. package/dist/resources/da-dk/studio.js +173 -59
  36. package/dist/resources/da-dk/studio.js.map +1 -1
  37. package/dist/resources/da-dk/ui.d.ts +14 -0
  38. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  39. package/dist/resources/da-dk/ui.js +15 -1
  40. package/dist/resources/da-dk/ui.js.map +1 -1
  41. package/dist/resources/de-de/common.d.ts +27 -0
  42. package/dist/resources/de-de/common.d.ts.map +1 -1
  43. package/dist/resources/de-de/common.js +34 -7
  44. package/dist/resources/de-de/common.js.map +1 -1
  45. package/dist/resources/de-de/studio.d.ts +166 -52
  46. package/dist/resources/de-de/studio.d.ts.map +1 -1
  47. package/dist/resources/de-de/studio.js +173 -59
  48. package/dist/resources/de-de/studio.js.map +1 -1
  49. package/dist/resources/de-de/ui.d.ts +14 -0
  50. package/dist/resources/de-de/ui.d.ts.map +1 -1
  51. package/dist/resources/de-de/ui.js +15 -1
  52. package/dist/resources/de-de/ui.js.map +1 -1
  53. package/dist/resources/en-us/common.d.ts +27 -0
  54. package/dist/resources/en-us/common.d.ts.map +1 -1
  55. package/dist/resources/en-us/common.js +34 -7
  56. package/dist/resources/en-us/common.js.map +1 -1
  57. package/dist/resources/en-us/studio.d.ts +166 -52
  58. package/dist/resources/en-us/studio.d.ts.map +1 -1
  59. package/dist/resources/en-us/studio.js +173 -59
  60. package/dist/resources/en-us/studio.js.map +1 -1
  61. package/dist/resources/en-us/ui.d.ts +14 -0
  62. package/dist/resources/en-us/ui.d.ts.map +1 -1
  63. package/dist/resources/en-us/ui.js +15 -1
  64. package/dist/resources/en-us/ui.js.map +1 -1
  65. package/dist/resources/fr-fr/common.d.ts +27 -0
  66. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  67. package/dist/resources/fr-fr/common.js +34 -7
  68. package/dist/resources/fr-fr/common.js.map +1 -1
  69. package/dist/resources/fr-fr/studio.d.ts +166 -52
  70. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  71. package/dist/resources/fr-fr/studio.js +173 -59
  72. package/dist/resources/fr-fr/studio.js.map +1 -1
  73. package/dist/resources/fr-fr/ui.d.ts +14 -0
  74. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  75. package/dist/resources/fr-fr/ui.js +15 -1
  76. package/dist/resources/fr-fr/ui.js.map +1 -1
  77. package/dist/resources/zh-cn/common.d.ts +27 -0
  78. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  79. package/dist/resources/zh-cn/common.js +34 -7
  80. package/dist/resources/zh-cn/common.js.map +1 -1
  81. package/dist/resources/zh-cn/studio.d.ts +166 -52
  82. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  83. package/dist/resources/zh-cn/studio.js +173 -59
  84. package/dist/resources/zh-cn/studio.js.map +1 -1
  85. package/dist/resources/zh-cn/ui.d.ts +14 -0
  86. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  87. package/dist/resources/zh-cn/ui.js +15 -1
  88. package/dist/resources/zh-cn/ui.js.map +1 -1
  89. package/dist/resources/zh-tw/common.d.ts +27 -0
  90. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  91. package/dist/resources/zh-tw/common.js +34 -7
  92. package/dist/resources/zh-tw/common.js.map +1 -1
  93. package/dist/resources/zh-tw/studio.d.ts +166 -52
  94. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  95. package/dist/resources/zh-tw/studio.js +173 -59
  96. package/dist/resources/zh-tw/studio.js.map +1 -1
  97. package/dist/resources/zh-tw/ui.d.ts +14 -0
  98. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  99. package/dist/resources/zh-tw/ui.js +15 -1
  100. package/dist/resources/zh-tw/ui.js.map +1 -1
  101. package/dist/review-status.js +7 -7
  102. package/locales/ar-EG/.meta.json +492 -0
  103. package/locales/ar-EG/common.json +34 -7
  104. package/locales/ar-EG/studio.json +173 -59
  105. package/locales/ar-EG/ui.json +15 -1
  106. package/locales/cs-CZ/.meta.json +492 -0
  107. package/locales/cs-CZ/common.json +34 -7
  108. package/locales/cs-CZ/studio.json +173 -59
  109. package/locales/cs-CZ/ui.json +15 -1
  110. package/locales/da-DK/.meta.json +492 -0
  111. package/locales/da-DK/common.json +34 -7
  112. package/locales/da-DK/studio.json +173 -59
  113. package/locales/da-DK/ui.json +15 -1
  114. package/locales/de-DE/.meta.json +492 -0
  115. package/locales/de-DE/common.json +34 -7
  116. package/locales/de-DE/studio.json +173 -59
  117. package/locales/de-DE/ui.json +15 -1
  118. package/locales/en-US/common.json +34 -7
  119. package/locales/en-US/studio.json +173 -59
  120. package/locales/en-US/ui.json +15 -1
  121. package/locales/fr-FR/.meta.json +492 -0
  122. package/locales/fr-FR/common.json +34 -7
  123. package/locales/fr-FR/studio.json +173 -59
  124. package/locales/fr-FR/ui.json +15 -1
  125. package/locales/zh-CN/.meta.json +492 -0
  126. package/locales/zh-CN/common.json +34 -7
  127. package/locales/zh-CN/studio.json +173 -59
  128. package/locales/zh-CN/ui.json +15 -1
  129. package/locales/zh-TW/.meta.json +492 -0
  130. package/locales/zh-TW/common.json +34 -7
  131. package/locales/zh-TW/studio.json +173 -59
  132. package/locales/zh-TW/ui.json +15 -1
  133. package/package.json +1 -1
@@ -109,7 +109,8 @@
109
109
  "apiKeys": "API 密钥",
110
110
  "audit": "审计日志",
111
111
  "security": "密码与会话",
112
- "files": "文件"
112
+ "files": "文件",
113
+ "emptyWithheld": "尚未有页面共享给您的角色。请向管理员申请访问权限。"
113
114
  },
114
115
  "apps": {
115
116
  "frame": {
@@ -266,6 +267,14 @@
266
267
  "noMatches": "没有与“{query}”匹配的页面"
267
268
  },
268
269
  "page": {
270
+ "emptyLayout": {
271
+ "title": "此页面暂无内容可显示",
272
+ "board": "将其绑定到带有状态列的数据表,其中的行便会成为按列分组的卡片。",
273
+ "calendar": "将其绑定到带有日期列的数据表,其中的行便会成为月视图网格上的事件。",
274
+ "scheduler": "将其绑定到带有日期列和排班人员的数据表,其中的行便会成为时间轴上的班次。",
275
+ "action": "打开页面设置",
276
+ "askAdmin": "请联系管理员完成设置。"
277
+ },
269
278
  "invalid": {
270
279
  "title": "此页面的配置无效",
271
280
  "body": "存储的页面文档未通过校验,无法渲染。"
@@ -1310,7 +1319,9 @@
1310
1319
  },
1311
1320
  "empty": {
1312
1321
  "title": "没有看板列",
1313
- "body": "添加状态字段以将卡片分组到列中。"
1322
+ "body": "添加状态字段以将卡片分组到列中。",
1323
+ "noRowsTitle": "还没有卡片",
1324
+ "noRowsBody": "表中一有行,卡片就会显示在这里。"
1314
1325
  }
1315
1326
  },
1316
1327
  "calendar": {
@@ -1319,7 +1330,9 @@
1319
1330
  "placeholder": "事件标题…",
1320
1331
  "add": "添加",
1321
1332
  "cancel": "取消",
1322
- "open": "添加事件"
1333
+ "open": "添加事件",
1334
+ "choose": "此事件的对象",
1335
+ "choosePlaceholder": "请选择…"
1323
1336
  },
1324
1337
  "agenda": {
1325
1338
  "empty": "暂无安排"
@@ -1577,7 +1590,8 @@
1577
1590
  "access": "访问",
1578
1591
  "data": "数据",
1579
1592
  "operations": "运维",
1580
- "workspace": "工作区"
1593
+ "workspace": "工作区",
1594
+ "records": "页面与记录"
1581
1595
  },
1582
1596
  "column": {
1583
1597
  "actions": "操作",
@@ -1653,7 +1667,18 @@
1653
1667
  "title": "无法保存全部角色"
1654
1668
  },
1655
1669
  "subtitle": "每个角色可以做什么。用户会获得其所持有的全部角色的权限并集。",
1656
- "title": "角色与权限"
1670
+ "title": "角色与权限",
1671
+ "data": {
1672
+ "pagesView": "查看所有页面",
1673
+ "read": "读取记录",
1674
+ "create": "创建记录",
1675
+ "update": "编辑记录",
1676
+ "delete": "删除记录",
1677
+ "export": "导出记录",
1678
+ "import": "导入记录",
1679
+ "pagesEdit": "更改页面布局",
1680
+ "narrow": "另有 {count, plural, other {# 项}}针对单个页面或数据表的授权同样生效,叠加在下方各行之上。保存时会保留它们。"
1681
+ }
1657
1682
  },
1658
1683
  "security": {
1659
1684
  "password": {
@@ -1783,7 +1808,8 @@
1783
1808
  "body": "此操作会抹除 {name} 的账户、他们的偏好设置和登录会话,并从他们更改过的设置记录中清空其姓名。改为暂停则会保留所有这些内容,只是不再允许他们登录。此操作无法撤销。",
1784
1809
  "confirm": "永久删除",
1785
1810
  "prompt": "输入“{email}”以确认",
1786
- "title": "永久删除账户"
1811
+ "title": "永久删除账户",
1812
+ "failed": "未删除该账户"
1787
1813
  },
1788
1814
  "roles": {
1789
1815
  "unavailable": "你的账户无法查看角色,因此这里无法分配任何角色。"
@@ -1803,7 +1829,8 @@
1803
1829
  "subtitle": "谁在这份 Adminium 上拥有账户,以及他们各自可以做什么。",
1804
1830
  "title": "团队",
1805
1831
  "twoFactorOn": "已开启双重验证",
1806
- "twoFactorShort": "2FA"
1832
+ "twoFactorShort": "2FA",
1833
+ "actionFailed": "未能完成此更改"
1807
1834
  },
1808
1835
  "invoices": {
1809
1836
  "copySuffix": "{name}(副本)",
@@ -12,6 +12,7 @@
12
12
  "install": "Install",
13
13
  "missing": "缺失",
14
14
  "missingBody": "它的文件不在此服务器上,因此其中任何部分都不会加载。",
15
+ "needsNewer": "需要 Adminium {version} 或更高版本",
15
16
  "noMatchBody": "没有插件符合该搜索和分类。",
16
17
  "noMatchTitle": "没有匹配项",
17
18
  "offline": "Showing the add-ons that came with this build. Browsing online is switched off, and nothing here has contacted the internet.",
@@ -397,7 +398,15 @@
397
398
  "noteTitle": "什么算作变更",
398
399
  "updated": "某行变更时"
399
400
  },
400
- "unbound": "仍需填写:{slots}"
401
+ "unbound": "仍需填写:{slots}",
402
+ "deleteConfirm": {
403
+ "title": "删除此映射?",
404
+ "body": "触发它的规则也会一并删除,已据此生成的文档将失去回链。此操作无法撤销。",
405
+ "prompt": "输入 {name} 以确认",
406
+ "confirm": "删除映射"
407
+ },
408
+ "deleteFailed": "未删除该映射",
409
+ "loadFailed": "无法加载映射"
401
410
  },
402
411
  "enrich": {
403
412
  "byo": {
@@ -453,6 +462,8 @@
453
462
  },
454
463
  "fileBody": "架构文件来源尚无可丰富的快照。连接一个在线数据库以使用 AI 丰富,或继续——启发式基线仍会生成完整的应用。",
455
464
  "fileTitle": "AI 丰富需要一个在线数据库",
465
+ "noTablesBody": "此数据库还没有任何表,因此 AI 没有可标注或分组的内容。请继续——表创建后,您可以随时在“设置 → AI”中运行 AI 增强。",
466
+ "noTablesTitle": "没有可增强的表",
456
467
  "generatePrompt": "生成提示",
457
468
  "intentLabel": "你希望如何丰富?",
458
469
  "localeLocked": "(必填)",
@@ -520,8 +531,32 @@
520
531
  "title": "生成你的应用"
521
532
  },
522
533
  "hostedApps": {
534
+ "browse": {
535
+ "title": "可安装的应用",
536
+ "subtitle": "随此构建附带的现成应用。安装会创建它所需的表并开始提供其界面——在你确认计划之前不会发生任何事。",
537
+ "search": "搜索应用…",
538
+ "clear": "清除搜索",
539
+ "all": "全部",
540
+ "by": "来自 {publisher}",
541
+ "install": "安装",
542
+ "installed": "已安装",
543
+ "missing": "缺失",
544
+ "noMatch": "没有匹配的应用",
545
+ "noMatchBody": "换个关键词,或换个分类试试。",
546
+ "emptyTitle": "没有可安装的应用",
547
+ "emptyBody": "随此构建附带的应用会显示在这里。把 ADMINIUM_BUNDLED_APPS 指向一个应用包目录,或自行上传一个。",
548
+ "unreadable": "无法读取该包的清单,因此无法安装——请在下方丢弃它。",
549
+ "subtitleOnline": "随此构建附带的应用,以及在线目录中的应用。安装时会按需下载并创建所需的表——在你确认计划之前不会发生任何事。",
550
+ "neverChecked": "在线目录已开启,但尚未检查。检查更新以列出其中的应用。",
551
+ "refresh": "检查更新",
552
+ "toggle": "浏览在线应用目录",
553
+ "emptyOnlineBody": "在线目录已开启,但还没有列出任何内容。检查更新以获取目录。",
554
+ "fromCatalog": "在线",
555
+ "needsNewer": "需要 Adminium {version} 或更高版本"
556
+ },
523
557
  "domains": {
524
558
  "add": "附加域名",
559
+ "docsLink": "如何设置域名",
525
560
  "hostLabel": "主机",
526
561
  "instanceLabel": "实例",
527
562
  "instanceOwn": "应用自身",
@@ -531,6 +566,9 @@
531
566
  "save": "保存域名",
532
567
  "savedBody": "映射会在几秒内生效。只有当其 DNS 和你的代理真正到达此实例时,主机才会响应。",
533
568
  "savedTitle": "已保存",
569
+ "stepDns": "在你的 DNS 中把该主机指向这台服务器——记录类型和目标与你访问本控制台所用的地址相同。",
570
+ "stepProxy": "在你的反向代理上为该主机添加独立的站点配置块,并原样透传 Host 请求头——然后重新加载代理。只改配置文件不会影响已在运行的进程。",
571
+ "stepSignIn": "员工界面会要求你重新登录:会话 Cookie 只属于一个主机,因此映射的主机会先把你带到它自己的登录页。",
534
572
  "subtitle": "将域名的 DNS 指向你的代理,把 Host 标头透传给 Adminium,然后在此附加——该主机随后将提供此界面而非本仪表盘。证书保留在你的代理上。",
535
573
  "surfaceLabel": "界面",
536
574
  "title": "域名"
@@ -538,35 +576,6 @@
538
576
  "emptyBody": "将 ADMINIUM_SURFACES_DIR 指向存放已构建界面的目录——每个应用和端各一个文件夹,各含其 index.html——然后重启。之后它们将在 /apps/ 下提供,并显示在这里。",
539
577
  "emptyTitle": "当前没有提供任何应用界面",
540
578
  "error": "出了点问题",
541
- "instances": {
542
- "add": "添加实例",
543
- "appLabel": "应用",
544
- "body": "让同一个应用服务于多个数据库。每个实例可通过 /apps/<app>/<segment>/<side>/ 访问,且只读取你指定的连接。",
545
- "empty": "没有额外实例。",
546
- "failed": "实例未保存",
547
- "readsLabel": "读取",
548
- "remove": "移除",
549
- "save": "保存实例",
550
- "slugLabel": "URL 片段",
551
- "title": "实例"
552
- },
553
- "subtitle": "此实例所服务的应用界面——每个界面出现的位置,以及指向它们的域名。",
554
- "surfaces": {
555
- "boundKey": "提供密钥",
556
- "connectionLabel": "读取",
557
- "connectionUnset": "当前提供服务的连接",
558
- "customer": "客户",
559
- "mintLink": "在“公开 API”中创建",
560
- "noKey": "未绑定密钥——为其创建密钥之前,此界面无法读取数据。",
561
- "noNav": "内嵌位置不可用——请用当前工具链重新构建此界面,使其生成 surface.json。",
562
- "placementExternal": "外部(仅自有网址)",
563
- "placementInternal": "在侧边栏中(内嵌)",
564
- "placementLabel": "位置",
565
- "staff": "员工",
566
- "subtitle": "员工界面可以融入此仪表盘的侧边栏,也可以独立存在;客户界面是公开的,通过其绑定的密钥读取数据。",
567
- "title": "界面"
568
- },
569
- "title": "托管应用",
570
579
  "install": {
571
580
  "steps": {
572
581
  "bundle": "安装包",
@@ -602,7 +611,8 @@
602
611
  "toggleDdl": "显示 DDL 预览",
603
612
  "ddl": "DDL 预览",
604
613
  "ddlNote": "仅供参考。服务器会为你的数据库引擎生成确切语句,包括外键。",
605
- "summary": "创建 {created} · 复用 {reused}"
614
+ "summary": "创建 {created} · 复用 {reused}",
615
+ "pageWarnings": "此应用的部分页面将在没有表的情况下创建"
606
616
  },
607
617
  "done": {
608
618
  "title": "已安装",
@@ -650,30 +660,21 @@
650
660
  "needsNewer": "v{version} 需要 Adminium {minimum} 或更高版本",
651
661
  "missing": "缺失",
652
662
  "missingBody": "它的文件不在此服务器上,因此无法提供服务。请重新安装相同版本,或将其卸载。",
653
- "update": "更新"
663
+ "update": "更新",
664
+ "discardFailed": "未丢弃该上传",
665
+ "uninstallFailed": "未卸载该应用"
654
666
  },
655
- "browse": {
656
- "title": "可安装的应用",
657
- "subtitle": "随此构建附带的现成应用。安装会创建它所需的表并开始提供其界面——在你确认计划之前不会发生任何事。",
658
- "search": "搜索应用…",
659
- "clear": "清除搜索",
660
- "all": "全部",
661
- "by": "来自 {publisher}",
662
- "install": "安装",
663
- "installed": "已安装",
664
- "missing": "缺失",
665
- "noMatch": "没有匹配的应用",
666
- "noMatchBody": "换个关键词,或换个分类试试。",
667
- "emptyTitle": "没有可安装的应用",
668
- "emptyBody": "随此构建附带的应用会显示在这里。把 ADMINIUM_BUNDLED_APPS 指向一个应用包目录,或自行上传一个。",
669
- "unreadable": "无法读取该包的清单,因此无法安装——请在下方丢弃它。",
670
- "subtitleOnline": "随此构建附带的应用,以及在线目录中的应用。安装时会按需下载并创建所需的表——在你确认计划之前不会发生任何事。",
671
- "neverChecked": "在线目录已开启,但尚未检查。检查更新以列出其中的应用。",
672
- "refresh": "检查更新",
673
- "toggle": "浏览在线应用目录",
674
- "emptyOnlineBody": "在线目录已开启,但还没有列出任何内容。检查更新以获取目录。",
675
- "fromCatalog": "在线",
676
- "needsNewer": "需要 Adminium {version} 或更高版本"
667
+ "instances": {
668
+ "add": "添加实例",
669
+ "appLabel": "应用",
670
+ "body": "让同一个应用服务于多个数据库。每个实例可通过 /apps/<app>/<segment>/<side>/ 访问,且只读取你指定的连接。",
671
+ "empty": "没有额外实例。",
672
+ "failed": "实例未保存",
673
+ "readsLabel": "读取",
674
+ "remove": "移除",
675
+ "save": "保存实例",
676
+ "slugLabel": "URL 片段",
677
+ "title": "实例"
677
678
  },
678
679
  "job": {
679
680
  "refreshTitle": "正在检查在线应用目录",
@@ -681,6 +682,29 @@
681
682
  "body": "正在获取并校验。在你同意之前不会安装或更改任何内容。",
682
683
  "failed": "任务未完成。没有安装或更改任何内容。"
683
684
  },
685
+ "names": {
686
+ "label": "{app} 的名称",
687
+ "save": "保存名称",
688
+ "subtitle": "每个应用的名称——既用于它自己的界面,也用于本控制台的侧边栏。留空则使用应用构建时自带的名称。",
689
+ "title": "应用名称"
690
+ },
691
+ "subtitle": "此实例所服务的应用界面——每个界面出现的位置,以及指向它们的域名。",
692
+ "surfaces": {
693
+ "boundKey": "提供密钥",
694
+ "connectionLabel": "读取",
695
+ "connectionUnset": "当前提供服务的连接",
696
+ "customer": "客户",
697
+ "mintLink": "在“公开 API”中创建",
698
+ "noKey": "未绑定密钥——为其创建密钥之前,此界面无法读取数据。",
699
+ "noNav": "内嵌位置不可用——请用当前工具链重新构建此界面,使其生成 surface.json。",
700
+ "placementExternal": "外部(仅自有网址)",
701
+ "placementInternal": "在侧边栏中(内嵌)",
702
+ "placementLabel": "位置",
703
+ "staff": "员工",
704
+ "subtitle": "员工界面可以融入此仪表盘的侧边栏,也可以独立存在;客户界面是公开的,通过其绑定的密钥读取数据。",
705
+ "title": "界面"
706
+ },
707
+ "title": "托管应用",
684
708
  "update": {
685
709
  "title": "将 {app} 更新到 v{version}",
686
710
  "subtitle": "此版本需要已安装版本没有的表。",
@@ -694,6 +718,16 @@
694
718
  "veto": {
695
719
  "title": "此部署无法在线浏览",
696
720
  "body": "设置已保存,但此服务器关闭了网络功能,以此为准。已安装的应用仍可使用,你也仍可以自行上传应用。"
721
+ },
722
+ "columns": {
723
+ "title": "将 {app} 更新到 v{version}",
724
+ "subtitle": "此版本需要数据库中某些表尚未包含的列。",
725
+ "body": "Adminium 可以为您添加这些列。执行任何操作前您都会看到确切的语句,不会删除任何内容,且只有在列创建后才会更新应用。",
726
+ "alsoCreates": "此更新还会创建以下表:",
727
+ "noDdl": "Adminium 无法在此添加这些列",
728
+ "failed": "无法添加这些列",
729
+ "valuesFailed": "列已添加,但无法记录其允许的值",
730
+ "confirm": "添加列并更新"
697
731
  }
698
732
  },
699
733
  "hub": {
@@ -720,7 +754,8 @@
720
754
  "readOnly": "只读",
721
755
  "tables": "表",
722
756
  "timezone": "时区",
723
- "timezoneGuessed": "来自此服务器"
757
+ "timezoneGuessed": "来自此服务器",
758
+ "timezoneNone": "未设置——日期以 {zone} 显示,即此服务器的时区"
724
759
  },
725
760
  "connectNew": "新建连接",
726
761
  "delete": {
@@ -731,7 +766,8 @@
731
766
  "failed": "无法删除连接,请重试。",
732
767
  "prompt": "输入 {name} 以确认",
733
768
  "success": "连接“{name}”已删除",
734
- "title": "删除连接"
769
+ "title": "删除连接",
770
+ "forbidden": "您的角色不包含管理连接的权限,因此未删除此连接。"
735
771
  },
736
772
  "empty": {
737
773
  "body": "连接数据库后,Adminium 会根据其架构生成您的管理面板。",
@@ -1141,7 +1177,8 @@
1141
1177
  "bodyGenerated": "此页面由架构生成创建,下次重新生成时会再次出现。已保存的视图和个人布局将对所有人删除。",
1142
1178
  "confirm": "删除页面",
1143
1179
  "prompt": "输入 {slug} 以确认",
1144
- "title": "确定删除此页面吗?"
1180
+ "title": "确定删除此页面吗?",
1181
+ "failed": "未删除该页面"
1145
1182
  },
1146
1183
  "derived": {
1147
1184
  "add": "添加列",
@@ -1225,8 +1262,10 @@
1225
1262
  "slugTaken": "已有其他页面使用该地址。",
1226
1263
  "slugWarning": "修改地址会导致指向此页面的现有链接和书签失效。",
1227
1264
  "table": "数据表",
1228
- "tableCreateHint": "此页面读取的数据表。现在选择即可直接使用;留空则可稍后再绑定。",
1265
+ "tableChoose": "选择数据表…",
1266
+ "tableCreateHint": "此页面读取的数据表。",
1229
1267
  "tableNeedsConnection": "请先选择数据源。",
1268
+ "tableNoConnection": "请先连接数据库,此页面由其中一个数据表构建。",
1230
1269
  "tableNone": "未绑定",
1231
1270
  "template": "模板",
1232
1271
  "templateHint": "决定页面可以承载哪些内容,之后可以更改。",
@@ -1250,6 +1289,69 @@
1250
1289
  "title": "筛选",
1251
1290
  "up": "上移 {column}"
1252
1291
  },
1292
+ "fit": {
1293
+ "alternatives": {
1294
+ "title": "使用一个已经适用的表",
1295
+ "help": "不会向你的数据库写入任何内容——只是让该页面指向一个已具备所需内容的表。",
1296
+ "use": "使用此表"
1297
+ },
1298
+ "checkFailed": "Adminium 无法检查此表",
1299
+ "checkFailedBody": "你仍然可以创建该页面。如果此表不适用,创建时会告知你。",
1300
+ "columns": {
1301
+ "title": "为此表补上缺少的内容",
1302
+ "help": "Adminium 会向你的表中添加这些列。在执行之前你会看到确切的语句,而且不会删除任何内容。",
1303
+ "review": "查看更改",
1304
+ "confirm": "执行",
1305
+ "failed": "操作未成功",
1306
+ "partial": "此页面所需的其中一项无法为你添加,因此之后仍会不完整。",
1307
+ "cannot": "这一项 Adminium 无法为你添加",
1308
+ "cannotBody": "此页面需要指向另一个表的关联,需要在 Studio → 结构 中设置。",
1309
+ "halfDone": "列已添加,但 Adminium 无法记录它们的含义",
1310
+ "halfDoneBody": "无需重新执行——这些列已存在。请在 Studio → 结构 中设置它们的含义,或请管理员代为设置。"
1311
+ },
1312
+ "needs": "要构建此页面,该表还需要:",
1313
+ "noDdl": "Adminium 无法为你修改此表",
1314
+ "role": {
1315
+ "eventDate": "每行一个日期",
1316
+ "title": "一个用作每行标题的文本列",
1317
+ "status": "一个状态列,其取值表示工作流程阶段",
1318
+ "personFk": "指向人员表的关联",
1319
+ "shiftType": "一个说明每行属于哪种班次的列"
1320
+ },
1321
+ "slotOnly": "此表中没有内容可以填充“{slot}”区域。",
1322
+ "tag": {
1323
+ "title": "使用你已有的列",
1324
+ "help": "这只记录该列的含义。你的数据库不会被修改,并且可以在 Studio → 结构 中撤销。",
1325
+ "action": "使用此列",
1326
+ "failed": "无法标记该列"
1327
+ },
1328
+ "title": "此表暂时无法支撑该页面",
1329
+ "table": {
1330
+ "title": "为此页面新建一个表",
1331
+ "help": "Adminium 会创建一个包含此页面所需全部内容的表。执行任何操作前,您都会看到确切的语句,且不会改动您的其他表。",
1332
+ "open": "或为此页面新建一个表",
1333
+ "name": "表名",
1334
+ "nameTaken": "已存在同名的表。",
1335
+ "nameInvalid": "请使用小写字母、数字和下划线,并以字母开头。",
1336
+ "people": "将每一行分配给以下表中的人员",
1337
+ "peopleNew": "一个新的人员表",
1338
+ "peopleCreated": "还会创建“{table}”,一个记录行所分配人员的小表。",
1339
+ "noCompose": "使用此名称的表无法用于此页面。请换一个名称。",
1340
+ "confirm": "创建表",
1341
+ "noDdl": "Adminium 无法在此创建表",
1342
+ "halfDone": "表已创建,但 Adminium 无法记录其列的含义",
1343
+ "halfDoneBody": "无需再次运行——表已存在。请在 Studio → 架构 中设置其列的含义,或请管理员设置。",
1344
+ "notReread": "表已创建,但 Adminium 暂时无法重新读取它",
1345
+ "notRereadBody": "无需再次运行。请在 Studio → 数据连接 中刷新架构,然后在此选择新表。"
1346
+ },
1347
+ "related": {
1348
+ "title": "使用关联表的日期",
1349
+ "help": "不会向您的数据库写入任何内容。页面基于与此表关联的表构建,每个条目显示此表中的名称。",
1350
+ "reason": "日期来自“{date}”,每项以“{title}”为标题(通过“{via}”)",
1351
+ "chosen": "基于 {table} 构建,每个条目以 {from} 的“{title}”为标题",
1352
+ "undo": "返回 {table}"
1353
+ }
1354
+ },
1253
1355
  "form": {
1254
1356
  "addLines": "{label}(明细行)",
1255
1357
  "dialog": {
@@ -1453,7 +1555,8 @@
1453
1555
  "narrow": "窄(720px)",
1454
1556
  "page": "页面(1080px)",
1455
1557
  "wide": "宽(1800px)"
1456
- }
1558
+ },
1559
+ "toggleFailed": "未更改该页面"
1457
1560
  },
1458
1561
  "project": {
1459
1562
  "actions": {
@@ -2244,7 +2347,10 @@
2244
2347
  "usedBytes": "已用 {size}"
2245
2348
  },
2246
2349
  "tables": {
2350
+ "emptyBody": "此数据库还没有任何表。您仍然可以继续——创建表后,在此连接上使用“重新内省”即可将其导入。",
2351
+ "emptyFileBody": "此架构文件未定义任何表。请返回并上传其他文件,或直接继续。",
2247
2352
  "emptyFilter": "没有匹配筛选条件的表。",
2353
+ "emptyTitle": "未找到表",
2248
2354
  "highVolume": "高数据量",
2249
2355
  "highVolumeNote": "超过 100,000 行的表默认不勾选——运维类表很少适合放进仪表板。",
2250
2356
  "importNoCounts": "架构文件不包含行数——在连接实时数据库之前,该列显示 —。",
@@ -2302,6 +2408,14 @@
2302
2408
  "persistFailed": "无法保存你的表选择——请重试。",
2303
2409
  "persistFailedTitle": "保存失败",
2304
2410
  "progress": "设置进度",
2411
+ "startOver": {
2412
+ "action": "重新开始",
2413
+ "body": "这里输入的所有内容都会被清除,向导将回到第一步。",
2414
+ "bodyCreated": "这里输入的所有内容都会被清除,向导将回到第一步。Adminium 已创建的连接不会被删除——它仍保留在“数据连接”中。",
2415
+ "confirm": "重新开始",
2416
+ "keep": "继续",
2417
+ "title": "重新开始此向导?"
2418
+ },
2305
2419
  "step": {
2306
2420
  "enrich": "丰富",
2307
2421
  "generate": "生成",
@@ -1774,6 +1774,11 @@
1774
1774
  "backToLatest": "返回最新",
1775
1775
  "eventFallback": "事件"
1776
1776
  },
1777
+ "board": {
1778
+ "invalidLayout": "此看板保存的布局无效。请重新生成页面或重置其布局。",
1779
+ "noRowsTitle": "还没有卡片",
1780
+ "noRowsBody": "表中一有行,卡片就会显示在这里。"
1781
+ },
1777
1782
  "calendar": {
1778
1783
  "eventCount": "{count, plural, other {{n} events}}",
1779
1784
  "composePlaceholder": "事件标题…",
@@ -1782,7 +1787,9 @@
1782
1787
  "agendaTitle": "日程",
1783
1788
  "categoriesTitle": "类别",
1784
1789
  "upcomingTitle": "即将到来",
1785
- "invalidLayout": "此日历保存的布局无效。请重新生成页面或重置其布局。"
1790
+ "invalidLayout": "此日历保存的布局无效。请重新生成页面或重置其布局。",
1791
+ "composeChoose": "此事件的对象",
1792
+ "composeChoosePlaceholder": "请选择…"
1786
1793
  },
1787
1794
  "scheduler": {
1788
1795
  "previousWeek": "上一周",
@@ -1873,6 +1880,13 @@
1873
1880
  },
1874
1881
  "pageRecord": {
1875
1882
  "description": "以完整页面展示单条记录:字段、带实时计数的关联记录,以及变更活动。"
1883
+ },
1884
+ "planning": {
1885
+ "unplaced": {
1886
+ "calendar": "此表中还没有任何行带有日期,因此日历为空。行一旦有了日期就会显示在这里。",
1887
+ "board": "此表中还没有任何行带有状态,因此看板为空。行一旦有了状态就会显示在这里。",
1888
+ "scheduler": "此表中还没有任何行同时带有人员、日期和班次类型,因此排班表为空。行一旦三者齐全就会显示在这里。"
1889
+ }
1876
1890
  }
1877
1891
  },
1878
1892
  "frame": {