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

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 (223) 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 +141 -30
  4. package/dist/a11y-keys.js.map +1 -1
  5. package/dist/resources/ar-eg/apiDocs.d.ts +101 -0
  6. package/dist/resources/ar-eg/apiDocs.d.ts.map +1 -0
  7. package/dist/resources/ar-eg/apiDocs.js +101 -0
  8. package/dist/resources/ar-eg/apiDocs.js.map +1 -0
  9. package/dist/resources/ar-eg/common.d.ts +46 -56
  10. package/dist/resources/ar-eg/common.d.ts.map +1 -1
  11. package/dist/resources/ar-eg/common.js +49 -59
  12. package/dist/resources/ar-eg/common.js.map +1 -1
  13. package/dist/resources/ar-eg/email.d.ts +14 -0
  14. package/dist/resources/ar-eg/email.d.ts.map +1 -1
  15. package/dist/resources/ar-eg/email.js +14 -0
  16. package/dist/resources/ar-eg/email.js.map +1 -1
  17. package/dist/resources/ar-eg/studio.d.ts +546 -12
  18. package/dist/resources/ar-eg/studio.d.ts.map +1 -1
  19. package/dist/resources/ar-eg/studio.js +554 -20
  20. package/dist/resources/ar-eg/studio.js.map +1 -1
  21. package/dist/resources/ar-eg/ui.d.ts +11 -0
  22. package/dist/resources/ar-eg/ui.d.ts.map +1 -1
  23. package/dist/resources/ar-eg/ui.js +12 -1
  24. package/dist/resources/ar-eg/ui.js.map +1 -1
  25. package/dist/resources/cs-cz/apiDocs.d.ts +101 -0
  26. package/dist/resources/cs-cz/apiDocs.d.ts.map +1 -0
  27. package/dist/resources/cs-cz/apiDocs.js +101 -0
  28. package/dist/resources/cs-cz/apiDocs.js.map +1 -0
  29. package/dist/resources/cs-cz/common.d.ts +46 -56
  30. package/dist/resources/cs-cz/common.d.ts.map +1 -1
  31. package/dist/resources/cs-cz/common.js +49 -59
  32. package/dist/resources/cs-cz/common.js.map +1 -1
  33. package/dist/resources/cs-cz/email.d.ts +14 -0
  34. package/dist/resources/cs-cz/email.d.ts.map +1 -1
  35. package/dist/resources/cs-cz/email.js +14 -0
  36. package/dist/resources/cs-cz/email.js.map +1 -1
  37. package/dist/resources/cs-cz/studio.d.ts +546 -12
  38. package/dist/resources/cs-cz/studio.d.ts.map +1 -1
  39. package/dist/resources/cs-cz/studio.js +554 -20
  40. package/dist/resources/cs-cz/studio.js.map +1 -1
  41. package/dist/resources/cs-cz/ui.d.ts +11 -0
  42. package/dist/resources/cs-cz/ui.d.ts.map +1 -1
  43. package/dist/resources/cs-cz/ui.js +12 -1
  44. package/dist/resources/cs-cz/ui.js.map +1 -1
  45. package/dist/resources/da-dk/apiDocs.d.ts +101 -0
  46. package/dist/resources/da-dk/apiDocs.d.ts.map +1 -0
  47. package/dist/resources/da-dk/apiDocs.js +101 -0
  48. package/dist/resources/da-dk/apiDocs.js.map +1 -0
  49. package/dist/resources/da-dk/common.d.ts +46 -56
  50. package/dist/resources/da-dk/common.d.ts.map +1 -1
  51. package/dist/resources/da-dk/common.js +49 -59
  52. package/dist/resources/da-dk/common.js.map +1 -1
  53. package/dist/resources/da-dk/email.d.ts +14 -0
  54. package/dist/resources/da-dk/email.d.ts.map +1 -1
  55. package/dist/resources/da-dk/email.js +14 -0
  56. package/dist/resources/da-dk/email.js.map +1 -1
  57. package/dist/resources/da-dk/studio.d.ts +546 -12
  58. package/dist/resources/da-dk/studio.d.ts.map +1 -1
  59. package/dist/resources/da-dk/studio.js +554 -20
  60. package/dist/resources/da-dk/studio.js.map +1 -1
  61. package/dist/resources/da-dk/ui.d.ts +11 -0
  62. package/dist/resources/da-dk/ui.d.ts.map +1 -1
  63. package/dist/resources/da-dk/ui.js +12 -1
  64. package/dist/resources/da-dk/ui.js.map +1 -1
  65. package/dist/resources/de-de/apiDocs.d.ts +101 -0
  66. package/dist/resources/de-de/apiDocs.d.ts.map +1 -0
  67. package/dist/resources/de-de/apiDocs.js +101 -0
  68. package/dist/resources/de-de/apiDocs.js.map +1 -0
  69. package/dist/resources/de-de/common.d.ts +46 -56
  70. package/dist/resources/de-de/common.d.ts.map +1 -1
  71. package/dist/resources/de-de/common.js +49 -59
  72. package/dist/resources/de-de/common.js.map +1 -1
  73. package/dist/resources/de-de/email.d.ts +14 -0
  74. package/dist/resources/de-de/email.d.ts.map +1 -1
  75. package/dist/resources/de-de/email.js +14 -0
  76. package/dist/resources/de-de/email.js.map +1 -1
  77. package/dist/resources/de-de/studio.d.ts +546 -12
  78. package/dist/resources/de-de/studio.d.ts.map +1 -1
  79. package/dist/resources/de-de/studio.js +554 -20
  80. package/dist/resources/de-de/studio.js.map +1 -1
  81. package/dist/resources/de-de/ui.d.ts +11 -0
  82. package/dist/resources/de-de/ui.d.ts.map +1 -1
  83. package/dist/resources/de-de/ui.js +12 -1
  84. package/dist/resources/de-de/ui.js.map +1 -1
  85. package/dist/resources/en-us/apiDocs.d.ts +101 -0
  86. package/dist/resources/en-us/apiDocs.d.ts.map +1 -0
  87. package/dist/resources/en-us/apiDocs.js +101 -0
  88. package/dist/resources/en-us/apiDocs.js.map +1 -0
  89. package/dist/resources/en-us/common.d.ts +46 -56
  90. package/dist/resources/en-us/common.d.ts.map +1 -1
  91. package/dist/resources/en-us/common.js +49 -59
  92. package/dist/resources/en-us/common.js.map +1 -1
  93. package/dist/resources/en-us/email.d.ts +14 -0
  94. package/dist/resources/en-us/email.d.ts.map +1 -1
  95. package/dist/resources/en-us/email.js +14 -0
  96. package/dist/resources/en-us/email.js.map +1 -1
  97. package/dist/resources/en-us/studio.d.ts +546 -12
  98. package/dist/resources/en-us/studio.d.ts.map +1 -1
  99. package/dist/resources/en-us/studio.js +554 -20
  100. package/dist/resources/en-us/studio.js.map +1 -1
  101. package/dist/resources/en-us/ui.d.ts +11 -0
  102. package/dist/resources/en-us/ui.d.ts.map +1 -1
  103. package/dist/resources/en-us/ui.js +12 -1
  104. package/dist/resources/en-us/ui.js.map +1 -1
  105. package/dist/resources/fr-fr/apiDocs.d.ts +101 -0
  106. package/dist/resources/fr-fr/apiDocs.d.ts.map +1 -0
  107. package/dist/resources/fr-fr/apiDocs.js +101 -0
  108. package/dist/resources/fr-fr/apiDocs.js.map +1 -0
  109. package/dist/resources/fr-fr/common.d.ts +46 -56
  110. package/dist/resources/fr-fr/common.d.ts.map +1 -1
  111. package/dist/resources/fr-fr/common.js +49 -59
  112. package/dist/resources/fr-fr/common.js.map +1 -1
  113. package/dist/resources/fr-fr/email.d.ts +14 -0
  114. package/dist/resources/fr-fr/email.d.ts.map +1 -1
  115. package/dist/resources/fr-fr/email.js +14 -0
  116. package/dist/resources/fr-fr/email.js.map +1 -1
  117. package/dist/resources/fr-fr/studio.d.ts +546 -12
  118. package/dist/resources/fr-fr/studio.d.ts.map +1 -1
  119. package/dist/resources/fr-fr/studio.js +554 -20
  120. package/dist/resources/fr-fr/studio.js.map +1 -1
  121. package/dist/resources/fr-fr/ui.d.ts +11 -0
  122. package/dist/resources/fr-fr/ui.d.ts.map +1 -1
  123. package/dist/resources/fr-fr/ui.js +12 -1
  124. package/dist/resources/fr-fr/ui.js.map +1 -1
  125. package/dist/resources/index.d.ts.map +1 -1
  126. package/dist/resources/index.js +2 -0
  127. package/dist/resources/index.js.map +1 -1
  128. package/dist/resources/lazy.d.ts.map +1 -1
  129. package/dist/resources/lazy.js +8 -0
  130. package/dist/resources/lazy.js.map +1 -1
  131. package/dist/resources/namespaces.d.ts +5 -4
  132. package/dist/resources/namespaces.d.ts.map +1 -1
  133. package/dist/resources/namespaces.js +11 -2
  134. package/dist/resources/namespaces.js.map +1 -1
  135. package/dist/resources/zh-cn/apiDocs.d.ts +101 -0
  136. package/dist/resources/zh-cn/apiDocs.d.ts.map +1 -0
  137. package/dist/resources/zh-cn/apiDocs.js +101 -0
  138. package/dist/resources/zh-cn/apiDocs.js.map +1 -0
  139. package/dist/resources/zh-cn/common.d.ts +46 -56
  140. package/dist/resources/zh-cn/common.d.ts.map +1 -1
  141. package/dist/resources/zh-cn/common.js +49 -59
  142. package/dist/resources/zh-cn/common.js.map +1 -1
  143. package/dist/resources/zh-cn/email.d.ts +14 -0
  144. package/dist/resources/zh-cn/email.d.ts.map +1 -1
  145. package/dist/resources/zh-cn/email.js +14 -0
  146. package/dist/resources/zh-cn/email.js.map +1 -1
  147. package/dist/resources/zh-cn/studio.d.ts +546 -12
  148. package/dist/resources/zh-cn/studio.d.ts.map +1 -1
  149. package/dist/resources/zh-cn/studio.js +554 -20
  150. package/dist/resources/zh-cn/studio.js.map +1 -1
  151. package/dist/resources/zh-cn/ui.d.ts +11 -0
  152. package/dist/resources/zh-cn/ui.d.ts.map +1 -1
  153. package/dist/resources/zh-cn/ui.js +12 -1
  154. package/dist/resources/zh-cn/ui.js.map +1 -1
  155. package/dist/resources/zh-tw/apiDocs.d.ts +101 -0
  156. package/dist/resources/zh-tw/apiDocs.d.ts.map +1 -0
  157. package/dist/resources/zh-tw/apiDocs.js +101 -0
  158. package/dist/resources/zh-tw/apiDocs.js.map +1 -0
  159. package/dist/resources/zh-tw/common.d.ts +46 -56
  160. package/dist/resources/zh-tw/common.d.ts.map +1 -1
  161. package/dist/resources/zh-tw/common.js +49 -59
  162. package/dist/resources/zh-tw/common.js.map +1 -1
  163. package/dist/resources/zh-tw/email.d.ts +14 -0
  164. package/dist/resources/zh-tw/email.d.ts.map +1 -1
  165. package/dist/resources/zh-tw/email.js +14 -0
  166. package/dist/resources/zh-tw/email.js.map +1 -1
  167. package/dist/resources/zh-tw/studio.d.ts +546 -12
  168. package/dist/resources/zh-tw/studio.d.ts.map +1 -1
  169. package/dist/resources/zh-tw/studio.js +554 -20
  170. package/dist/resources/zh-tw/studio.js.map +1 -1
  171. package/dist/resources/zh-tw/ui.d.ts +11 -0
  172. package/dist/resources/zh-tw/ui.d.ts.map +1 -1
  173. package/dist/resources/zh-tw/ui.js +12 -1
  174. package/dist/resources/zh-tw/ui.js.map +1 -1
  175. package/dist/review-status.js +7 -7
  176. package/locales/ar-EG/.meta.json +2312 -388
  177. package/locales/ar-EG/apiDocs.json +90 -0
  178. package/locales/ar-EG/common.json +49 -59
  179. package/locales/ar-EG/email.json +14 -0
  180. package/locales/ar-EG/studio.json +554 -20
  181. package/locales/ar-EG/ui.json +12 -1
  182. package/locales/cs-CZ/.meta.json +2312 -388
  183. package/locales/cs-CZ/apiDocs.json +90 -0
  184. package/locales/cs-CZ/common.json +49 -59
  185. package/locales/cs-CZ/email.json +14 -0
  186. package/locales/cs-CZ/studio.json +554 -20
  187. package/locales/cs-CZ/ui.json +12 -1
  188. package/locales/da-DK/.meta.json +2319 -395
  189. package/locales/da-DK/apiDocs.json +90 -0
  190. package/locales/da-DK/common.json +49 -59
  191. package/locales/da-DK/email.json +14 -0
  192. package/locales/da-DK/studio.json +554 -20
  193. package/locales/da-DK/ui.json +12 -1
  194. package/locales/de-DE/.meta.json +2303 -379
  195. package/locales/de-DE/apiDocs.json +90 -0
  196. package/locales/de-DE/common.json +49 -59
  197. package/locales/de-DE/email.json +14 -0
  198. package/locales/de-DE/studio.json +554 -20
  199. package/locales/de-DE/ui.json +12 -1
  200. package/locales/en-US/apiDocs.json +90 -0
  201. package/locales/en-US/common.json +49 -59
  202. package/locales/en-US/email.json +14 -0
  203. package/locales/en-US/studio.json +554 -20
  204. package/locales/en-US/ui.json +12 -1
  205. package/locales/fr-FR/.meta.json +2314 -390
  206. package/locales/fr-FR/apiDocs.json +90 -0
  207. package/locales/fr-FR/common.json +49 -59
  208. package/locales/fr-FR/email.json +14 -0
  209. package/locales/fr-FR/studio.json +554 -20
  210. package/locales/fr-FR/ui.json +12 -1
  211. package/locales/zh-CN/.meta.json +2319 -395
  212. package/locales/zh-CN/apiDocs.json +90 -0
  213. package/locales/zh-CN/common.json +49 -59
  214. package/locales/zh-CN/email.json +14 -0
  215. package/locales/zh-CN/studio.json +554 -20
  216. package/locales/zh-CN/ui.json +12 -1
  217. package/locales/zh-TW/.meta.json +2312 -388
  218. package/locales/zh-TW/apiDocs.json +90 -0
  219. package/locales/zh-TW/common.json +49 -59
  220. package/locales/zh-TW/email.json +14 -0
  221. package/locales/zh-TW/studio.json +554 -20
  222. package/locales/zh-TW/ui.json +12 -1
  223. package/package.json +1 -1
@@ -528,7 +528,10 @@
528
528
  "subtitle": "每个已包含的表一个页面,外加按领域生成的仪表板——意图:",
529
529
  "successBody": "{pages} 个页面,分布于 {groups} 个导航组——由你的架构生成,可在 Studio 中编辑。",
530
530
  "successTitle": "你的仪表板已就绪",
531
- "title": "生成你的应用"
531
+ "title": "生成你的应用",
532
+ "blankBody": "按照你的要求,没有生成任何内容。准备好后,即可基于此连接构建你的第一个页面。",
533
+ "blankTitle": "你的连接已就绪",
534
+ "createPage": "创建页面"
532
535
  },
533
536
  "hostedApps": {
534
537
  "browse": {
@@ -615,9 +618,15 @@
615
618
  "pageWarnings": "此应用的部分页面将在没有表的情况下创建"
616
619
  },
617
620
  "done": {
618
- "title": "已安装",
619
621
  "body": "{key} 已开始提供服务。请在下方选择其员工端的显示位置。",
620
- "schema": "已创建表:{created} · 复用:{reused}"
622
+ "titleApp": "{app} 已安装",
623
+ "tablesCreated": "在 {connection} 中创建的数据表",
624
+ "tablesKept": "按原样使用的数据表",
625
+ "pages": "已生成的页面",
626
+ "sampleNotAdded": "未添加",
627
+ "sampleAdding": "正在添加…",
628
+ "sampleAdded": "已添加",
629
+ "sampleLater": "你可以稍后在应用页面中添加。"
621
630
  },
622
631
  "cancel": "取消",
623
632
  "back": "上一步",
@@ -638,6 +647,68 @@
638
647
  "uploaded": {
639
648
  "hint": "读取自你上传的安装包中的 manifest.json。在你确认架构计划之前不会创建任何内容。",
640
649
  "replace": "上传其他安装包"
650
+ },
651
+ "check": {
652
+ "title": "检查数据表",
653
+ "hint": "{app} 将在 {connection} 中创建这些表。按下“安装”之前不会有任何更改。",
654
+ "summaryNew": "{count} 个新表",
655
+ "summaryEarlier": "{count} 个来自之前的安装",
656
+ "summaryShared": "{count} 个与其他应用共享",
657
+ "summaryTaken": "{count, plural, other {# 个名称已被占用}}",
658
+ "altPrefixInUse": "已使用前缀 {prefix} 检查。",
659
+ "usualPrefix": "使用常规前缀",
660
+ "badgeNew": "新建",
661
+ "badgeEarlier": "之前安装留下的",
662
+ "badgeShared": "与 {app} 共享",
663
+ "badgeTaken": "名称已被占用",
664
+ "columns": "{count, plural, other {# 列}}",
665
+ "keep": "使用它并保留其数据",
666
+ "sharedNote": "{app} 也在使用此表。两个应用会继续读写相同的行。",
667
+ "earlierNote": "Adminium 在之前安装 {app} 时创建了此表。",
668
+ "createPreview": "创建预览",
669
+ "addsColumns": "{count, plural, other {添加 # 列:}}",
670
+ "widens": "将 {column} 从 {from} 加宽为 {to}。",
671
+ "setIdentity": "{column} 会自动为新行编号。",
672
+ "enumValues": "{column} 还接受 {values}。",
673
+ "noLoss": "不会删除任何列,也不会丢失任何数据。",
674
+ "reuseNote": "应用会读写已有的行。",
675
+ "renameTitle": "重命名现有表以腾出名称",
676
+ "renameNote": "将为应用创建一个新的 {table}。",
677
+ "renameField": "现有表的新名称",
678
+ "renameFieldNote": "Adminium 会修复指向旧名称的自有页面和规则。",
679
+ "prefixTitle": "为此应用使用不同的前缀",
680
+ "prefixNote": "一次性应用于该应用的所有表。",
681
+ "prefixField": "前缀",
682
+ "prefixFieldNote": "{count, plural, other {将重新检查全部 # 个表。}}",
683
+ "takenIntro": "{table} 已存在,且是手动创建的。请选择如何处理它。",
684
+ "takenIntroShort": "如何处理 {table}",
685
+ "pickFirst": "安装前请选择如何处理 {table}。",
686
+ "checkFirst": "安装前请重新检查数据表。",
687
+ "nothingYet": "按下“安装”之前不会有任何更改。",
688
+ "again": "重新检查",
689
+ "adoptedNote": "之前安装的 {app} 按原样使用了此表。"
690
+ },
691
+ "running": {
692
+ "title": "正在安装 {app}",
693
+ "hint": "正在写入 {connection}。",
694
+ "tables": "数据表",
695
+ "pages": "页面"
696
+ },
697
+ "stopped": {
698
+ "failed": "失败",
699
+ "notStarted": "未开始",
700
+ "atTables": "创建数据表失败,之后的步骤均未运行。",
701
+ "atIntrospect": "数据表已创建。重新读取失败,之后的步骤均未运行。",
702
+ "atPages": "数据表已创建。创建页面失败,之后的步骤均未运行。",
703
+ "atFinish": "数据表和页面已创建。完成安装失败。",
704
+ "title": "安装中途停止",
705
+ "created": "已创建 {count} 个",
706
+ "made": "已创建",
707
+ "said": "数据库返回的信息",
708
+ "saidAbout": "数据库关于 {table} 返回的信息",
709
+ "resume": "没有删除任何内容。重试会从停止的位置继续。",
710
+ "retry": "重试",
711
+ "back": "返回架构计划"
641
712
  }
642
713
  },
643
714
  "installed": {
@@ -646,11 +717,6 @@
646
717
  "emptyTitle": "尚未安装任何应用",
647
718
  "emptyBody": "上传已构建的界面包即可安装。在这里安装的应用会立即提供服务——与指向目录的方式不同,无需重启。",
648
719
  "uninstall": "卸载",
649
- "confirmTitle": "卸载此应用?",
650
- "confirmBody": "它的界面将停止提供服务,安装包会被删除。它在你数据库中创建的表不会受到影响。",
651
- "confirmPrompt": "输入 {key} 以确认",
652
- "confirmCancel": "取消",
653
- "confirmClose": "关闭",
654
720
  "stagedTitle": "已上传但未安装",
655
721
  "stagedHint": "丢弃你决定不用的那个,或再次上传同一标识以替换它。",
656
722
  "discard": "丢弃",
@@ -662,7 +728,10 @@
662
728
  "missingBody": "它的文件不在此服务器上,因此无法提供服务。请重新安装相同版本,或将其卸载。",
663
729
  "update": "更新",
664
730
  "discardFailed": "未丢弃该上传",
665
- "uninstallFailed": "未卸载该应用"
731
+ "renamed": "数据表已重命名为 {prefix}…",
732
+ "oldNames": "此安装使用的是旧的表名。",
733
+ "oldNamesWhy": "这些表创建于前缀功能之前。",
734
+ "renameTo": "重命名为 {prefix}…"
666
735
  },
667
736
  "instances": {
668
737
  "add": "添加实例",
@@ -713,7 +782,11 @@
713
782
  "confirm": "更新",
714
783
  "close": "关闭",
715
784
  "done": "{app} 已更新到 v{version}",
716
- "missingColumns": "缺少:{tables}。"
785
+ "missingColumns": "缺少:{tables}。",
786
+ "checkSubtitle": "检查此版本使用的数据表。",
787
+ "pickFirst": "更新前请选择如何处理 {table}。",
788
+ "checkFirst": "更新前请重新检查数据表。",
789
+ "nothingYet": "按下“更新”之前不会有任何更改。"
717
790
  },
718
791
  "veto": {
719
792
  "title": "此部署无法在线浏览",
@@ -728,6 +801,18 @@
728
801
  "failed": "无法添加这些列",
729
802
  "valuesFailed": "列已添加,但无法记录其允许的值",
730
803
  "confirm": "添加列并更新"
804
+ },
805
+ "rename": {
806
+ "title": "将数据表重命名为 {prefix}…",
807
+ "subtitle": "{count, plural, other {{connection} 中的 # 个数据表}}",
808
+ "close": "关闭",
809
+ "body": "此安装早于前缀功能。重命名会为每个表加上应用的前缀,让 {app} 能识别自己的表。",
810
+ "planFailed": "无法规划重命名",
811
+ "refused": "这些表无法在此重命名",
812
+ "failed": "数据表未被重命名",
813
+ "repair": "Adminium 也会更新指向旧名称的自有页面和规则。",
814
+ "cancel": "取消",
815
+ "confirm": "重命名数据表"
731
816
  }
732
817
  },
733
818
  "hub": {
@@ -767,7 +852,11 @@
767
852
  "prompt": "输入 {name} 以确认",
768
853
  "success": "连接“{name}”已删除",
769
854
  "title": "删除连接",
770
- "forbidden": "您的角色不包含管理连接的权限,因此未删除此连接。"
855
+ "forbidden": "您的角色不包含管理连接的权限,因此未删除此连接。",
856
+ "liveKeys": {
857
+ "body": "基于这些密钥构建的页面将无法继续工作。请先在“公共 API”页面撤销它们,然后再删除此连接。",
858
+ "title": "仍有可发布密钥在使用此连接"
859
+ }
771
860
  },
772
861
  "empty": {
773
862
  "body": "连接数据库后,Adminium 会根据其架构生成您的管理面板。",
@@ -857,7 +946,11 @@
857
946
  "title": "客服控制台"
858
947
  },
859
948
  "title": "你需要什么?",
860
- "trust": "我们只读取你的架构——设置期间绝不读取行数据。"
949
+ "trust": "我们只读取你的架构——设置期间绝不读取行数据。",
950
+ "blank": {
951
+ "description": "不生成任何内容。连接数据库后,逐个构建你想要的页面。",
952
+ "title": "空白画布"
953
+ }
861
954
  },
862
955
  "llmRuns": {
863
956
  "review": {
@@ -1274,7 +1367,8 @@
1274
1367
  "visible": "在侧边栏中显示",
1275
1368
  "visibleHint": "隐藏的页面仍可通过网址访问,只要对方有链接。",
1276
1369
  "width": "内容宽度",
1277
- "widthHint": "在大屏幕上,页面内容列最多可以有多宽。"
1370
+ "widthHint": "在大屏幕上,页面内容列最多可以有多宽。",
1371
+ "groupApp": "在所属应用的专属分区中"
1278
1372
  },
1279
1373
  "filters": {
1280
1374
  "add": "添加筛选",
@@ -1535,6 +1629,10 @@
1535
1629
  "ungrouped": {
1536
1630
  "body": "这些页面可以通过网址访问,但不会出现在侧边栏中。请逐个打开并选择分组。",
1537
1631
  "title": "有些页面不属于任何侧边栏分组"
1632
+ },
1633
+ "apps": {
1634
+ "title": "在已安装应用的分区中",
1635
+ "body": "每个应用都把自己的页面放在侧边栏中的专属分区。"
1538
1636
  }
1539
1637
  },
1540
1638
  "status": {
@@ -1670,7 +1768,6 @@
1670
1768
  "connectionLabel": "连接 ID",
1671
1769
  "create": "创建作用域",
1672
1770
  "delete": "删除",
1673
- "deleteBody": "任何使用绑定到此作用域的密钥的页面都会停止加载数据。密钥不会被删除——如果你想删除的是密钥,请先吊销它们。",
1674
1771
  "deleteConfirm": "删除作用域",
1675
1772
  "deletePrompt": "输入作用域名称以确认",
1676
1773
  "deleteTitle": "删除此作用域",
@@ -1683,7 +1780,12 @@
1683
1780
  "keyCount": "{count, plural, =0 {没有密钥} other {# 个密钥}}",
1684
1781
  "nameLabel": "名称",
1685
1782
  "subtitle": "作用域界定了一个密钥所能触及的全部范围——哪些表、具体哪些列,以及一个调用方只能收窄、绝不能移除的过滤条件。",
1686
- "title": "作用域"
1783
+ "title": "作用域",
1784
+ "deleteBodyKeys": "仍有有效密钥的作用域无法删除,请先吊销它的密钥。已吊销或已过期的密钥会随作用域一起删除。",
1785
+ "liveKeys": {
1786
+ "body": "基于这些密钥构建的页面将无法继续工作。请先在密钥列表中吊销它们,然后再删除此作用域。",
1787
+ "title": "仍有可发布密钥在使用此作用域"
1788
+ }
1687
1789
  },
1688
1790
  "status": {
1689
1791
  "heading": "状态"
@@ -1814,7 +1916,20 @@
1814
1916
  "optionsPickList": "选择一个列表…",
1815
1917
  "optionsSource": "允许的值",
1816
1918
  "optionsSourceHelp": "列表在 Studio 中写一次,引用它的每一列都能使用。",
1817
- "optionsValues": "这些值"
1919
+ "optionsValues": "这些值",
1920
+ "decided": {
1921
+ "title": "由 Adminium 决定",
1922
+ "help": "Adminium 在每次写入时填写此项,公开端点永远不能让访客设置它。",
1923
+ "copy": "从 {via} 指向的行的 {from} 复制",
1924
+ "copyAlways": "始终如此,无论写入者提供什么",
1925
+ "copyDefault": "除非写入者提供了值",
1926
+ "sequence": "按顺序的下一个编号,从 {start} 开始",
1927
+ "code": "类似 {example} 的随机代码",
1928
+ "remove": "移除此规则",
1929
+ "rollup": "{from} 中其各行 {sum} 的合计",
1930
+ "rollupTimes": "{from} 中其各行 {sum} × {times} 的合计"
1931
+ },
1932
+ "venueLocal": "在此写入的不带时区的时间即为场所的本地时间。"
1818
1933
  },
1819
1934
  "saveFailed": "保存失败:{message}",
1820
1935
  "subtitle": "{tables} 张表 · 已应用 {applied} 项覆盖",
@@ -1998,6 +2113,22 @@
1998
2113
  "cta": "打开 AI 设置",
1999
2114
  "heading": "AI 增强"
2000
2115
  },
2116
+ "apiCard": {
2117
+ "api": {
2118
+ "helper": "对外提供你的密钥所限定的端点。关闭后,所有密钥会立即失效;不会删除任何内容。",
2119
+ "label": "公开 API"
2120
+ },
2121
+ "docs": {
2122
+ "helper": "位于 /api-docs 的公开页面,向任何能访问此服务器的人列出你的有效密钥可调用的端点(包括员工级端点),以及它们的路径、方法和列名。页面不显示任何数据或密钥。",
2123
+ "label": "API 文档页面"
2124
+ },
2125
+ "failed": "开关未能切换,请重试。",
2126
+ "heading": "公开 API",
2127
+ "notRegistered": {
2128
+ "body": "请设置 ADMINIUM_PUBLIC_API_ORIGINS 并重启。在此之前,这些开关不会产生任何效果。",
2129
+ "title": "此服务器未启用"
2130
+ }
2131
+ },
2001
2132
  "danger": {
2002
2133
  "deleteCta": "删除连接",
2003
2134
  "deleteDesc": "删除该连接及其生成的页面。您的数据库不会被改动。此操作无法撤销。",
@@ -2102,9 +2233,9 @@
2102
2233
  "heading": "项目"
2103
2234
  },
2104
2235
  "publicApiCard": {
2105
- "body": "让你自己的面向客户或员工的页面通过你定义的作用域读取这个数据库。",
2106
- "cta": "打开公开 API",
2107
- "heading": "公开 API"
2236
+ "body": "创建端点,以及允许调用它们的密钥。",
2237
+ "cta": "打开 API 密钥",
2238
+ "heading": "API 密钥"
2108
2239
  },
2109
2240
  "review": {
2110
2241
  "cancel": "取消",
@@ -2423,7 +2554,8 @@
2423
2554
  "meta": "元数据存储",
2424
2555
  "source": "来源",
2425
2556
  "tables": "数据表",
2426
- "test": "分析"
2557
+ "test": "分析",
2558
+ "finish": "完成"
2427
2559
  },
2428
2560
  "title": "新建连接"
2429
2561
  },
@@ -2475,5 +2607,407 @@
2475
2607
  "valueCount": "{count} 个值",
2476
2608
  "values": "值",
2477
2609
  "view": "查看"
2610
+ },
2611
+ "apiKeys": {
2612
+ "banner": {
2613
+ "bodyOnce": "请立即复制——之后将无法再次查看。适用范围:{summary}。",
2614
+ "bodyRevealable": "请立即复制——之后可在下方列表中再次显示。适用范围:{summary}。",
2615
+ "copied": "已复制",
2616
+ "copy": "复制",
2617
+ "titleNamed": "已创建 {name}"
2618
+ },
2619
+ "builder": {
2620
+ "auth": {
2621
+ "anon": "匿名",
2622
+ "authenticated": "已认证",
2623
+ "label": "认证要求",
2624
+ "service": "服务角色"
2625
+ },
2626
+ "cancel": "取消",
2627
+ "columns": {
2628
+ "all": "全部",
2629
+ "label": "公开的列",
2630
+ "none": "无"
2631
+ },
2632
+ "create": "创建端点",
2633
+ "delete": "删除端点",
2634
+ "deleteRefused": "{count, plural, other {仍有 # 个密钥在使用}}此端点:{names}。",
2635
+ "filters": {
2636
+ "add": "添加",
2637
+ "empty": "无过滤条件——来源中的每一行都可访问。",
2638
+ "label": "默认过滤条件",
2639
+ "remove": "移除过滤条件",
2640
+ "value": "值"
2641
+ },
2642
+ "footer": {
2643
+ "applyFirst": "请先应用或还原已编辑的定义。"
2644
+ },
2645
+ "methodUnsupported": "此来源无法支持 {method}:它没有主键。",
2646
+ "methods": "方法",
2647
+ "op": {
2648
+ "between": "介于",
2649
+ "eq": "等于",
2650
+ "gt": "大于",
2651
+ "gte": "至少",
2652
+ "ilike": "包含(不区分大小写)",
2653
+ "in": "在列表中",
2654
+ "is_null": "为空",
2655
+ "like": "包含",
2656
+ "lt": "小于",
2657
+ "lte": "至多",
2658
+ "neq": "不等于",
2659
+ "not_null": "不为空"
2660
+ },
2661
+ "paging": {
2662
+ "asc": "升序",
2663
+ "defaultLimit": "默认条数限制",
2664
+ "desc": "降序",
2665
+ "label": "分页与排序",
2666
+ "maxLimit": "最大条数限制",
2667
+ "orderBy": "排序依据"
2668
+ },
2669
+ "pane": {
2670
+ "apply": "应用到表单",
2671
+ "dirty": "已编辑——未应用",
2672
+ "format": "格式化",
2673
+ "label": "路由定义,JSON",
2674
+ "more": "{first}(另有 {n} 项)",
2675
+ "revert": "还原",
2676
+ "synced": "已与表单同步",
2677
+ "title": "路由定义"
2678
+ },
2679
+ "rate": {
2680
+ "hour": "小时",
2681
+ "label": "速率限制与响应",
2682
+ "minute": "分钟",
2683
+ "per": "每",
2684
+ "requests": "请求数",
2685
+ "second": "秒"
2686
+ },
2687
+ "refused": {
2688
+ "keys": "保存后将导致 {count, plural, other {# 个密钥}}失效:{names}。"
2689
+ },
2690
+ "route": "路由",
2691
+ "routePlaceholder": "customers",
2692
+ "routeRename": "调用方必须改用新路径。",
2693
+ "save": "保存更改",
2694
+ "shape": {
2695
+ "array": "纯数组",
2696
+ "label": "响应结构",
2697
+ "single": "单个对象",
2698
+ "wrapped": "包裹在 '{' data '}' 中"
2699
+ },
2700
+ "source": "来源表或视图",
2701
+ "subtitle": "以可视化方式配置——Adminium 会为你编写路由定义",
2702
+ "titleEdit": "编辑端点",
2703
+ "titleNew": "新建端点"
2704
+ },
2705
+ "connection": {
2706
+ "label": "连接"
2707
+ },
2708
+ "create": "创建密钥",
2709
+ "endpoints": {
2710
+ "col": {
2711
+ "auth": "认证",
2712
+ "methods": "方法",
2713
+ "rate": "速率限制",
2714
+ "route": "路由"
2715
+ },
2716
+ "custom": "自定义",
2717
+ "edit": "编辑端点",
2718
+ "explore": "浏览 API",
2719
+ "new": "新建端点",
2720
+ "subtitle": "根据你的架构生成。密钥的适用范围限定在这些端点内。",
2721
+ "title": "端点",
2722
+ "unavailable": "不可用"
2723
+ },
2724
+ "keys": {
2725
+ "col": {
2726
+ "access": "访问权限",
2727
+ "actions": "操作",
2728
+ "key": "密钥",
2729
+ "lastUsed": "上次使用",
2730
+ "name": "名称"
2731
+ },
2732
+ "count": "{n, plural, other {# 个密钥}}",
2733
+ "empty": "没有有效的密钥。创建一个即可开始。",
2734
+ "hide": "隐藏密钥",
2735
+ "kind": {
2736
+ "browser": "浏览器",
2737
+ "server": "服务器"
2738
+ },
2739
+ "never": "从未",
2740
+ "reveal": "显示密钥",
2741
+ "revoke": "吊销",
2742
+ "revokeConfirm": {
2743
+ "body": "所有使用此密钥的地方都会立即失效。此操作无法撤消。",
2744
+ "confirm": "吊销密钥",
2745
+ "prompt": "输入“{name}”以确认",
2746
+ "title": "要吊销 {name} 吗?"
2747
+ },
2748
+ "revokeFailed": "无法吊销该密钥,它仍处于有效状态。",
2749
+ "title": "有效密钥",
2750
+ "untitled": "未命名密钥"
2751
+ },
2752
+ "method": {
2753
+ "BATCH": {
2754
+ "desc": "批量插入或 upsert,最多 500 行",
2755
+ "title": "批量"
2756
+ },
2757
+ "DELETE": {
2758
+ "desc": "按主键删除一行",
2759
+ "title": "删除"
2760
+ },
2761
+ "GET": {
2762
+ "desc": "列出多行并获取单条记录",
2763
+ "title": "读取"
2764
+ },
2765
+ "PATCH": {
2766
+ "desc": "按主键部分更新一行",
2767
+ "title": "更新"
2768
+ },
2769
+ "POST": {
2770
+ "desc": "插入新行",
2771
+ "title": "创建"
2772
+ },
2773
+ "PUT": {
2774
+ "desc": "按主键替换整行",
2775
+ "title": "替换"
2776
+ }
2777
+ },
2778
+ "note": {
2779
+ "notRegistered": "此服务器未启用公开 API。请设置 ADMINIUM_PUBLIC_API_ORIGINS 并重启——此后在这里创建的密钥即可使用。",
2780
+ "off": "公开 API 已关闭,因此目前所有密钥都无法使用。",
2781
+ "offLink": "打开工作区设置"
2782
+ },
2783
+ "quick": {
2784
+ "body": "在 Authorization 标头中携带密钥来认证请求。",
2785
+ "title": "快速开始"
2786
+ },
2787
+ "sheet": {
2788
+ "allMethods": "选择所有方法",
2789
+ "app": {
2790
+ "label": "应用",
2791
+ "none": "无"
2792
+ },
2793
+ "cancel": "取消",
2794
+ "clear": "清除",
2795
+ "close": "关闭",
2796
+ "count": "{permissions, plural, other {项权限}},涉及 {endpoints, plural, other {# 个端点}}",
2797
+ "deselectAll": "全部取消选择",
2798
+ "edit": "编辑端点",
2799
+ "expires": {
2800
+ "d30": "30 天",
2801
+ "d90": "90 天",
2802
+ "label": "过期时间",
2803
+ "never": "永不过期"
2804
+ },
2805
+ "filter": "筛选端点",
2806
+ "focusMeta": "{source} · {rows} 行 · 条数限制 {limit},排序 {order}",
2807
+ "focusMetaNoRows": "{source} · 条数限制 {limit},排序 {order}",
2808
+ "footer": {
2809
+ "empty": "至少选择一个方法才能创建密钥。",
2810
+ "more": "另有 {n} 项",
2811
+ "refused": "暂时无法创建此密钥:{issue}",
2812
+ "summary": "此密钥将可以调用 {paths}"
2813
+ },
2814
+ "kind": {
2815
+ "browser": "浏览器",
2816
+ "label": "使用位置",
2817
+ "server": "服务器"
2818
+ },
2819
+ "layout": {
2820
+ "label": "布局",
2821
+ "list": "列表",
2822
+ "panes": "分栏"
2823
+ },
2824
+ "name": {
2825
+ "label": "密钥名称",
2826
+ "placeholder": "例如:订单同步 Worker"
2827
+ },
2828
+ "newEndpoint": "新建端点",
2829
+ "readOnly": "只读预设",
2830
+ "rowMeta": "{source} · {rows} 行",
2831
+ "rowMetaNoRows": "{source}",
2832
+ "selectAll": "全选",
2833
+ "selectAllShort": "全选",
2834
+ "submit": "创建密钥",
2835
+ "subtitle": "选择此密钥可以调用的端点和方法",
2836
+ "title": "创建 API 密钥",
2837
+ "toggleAll": "切换所有方法",
2838
+ "unsupported": "{count, plural, other {此路由未开放 {methods}。请编辑端点以启用。}}"
2839
+ },
2840
+ "stats": {
2841
+ "endpoints": "端点",
2842
+ "keys": "有效密钥",
2843
+ "requests": "请求数 · 24 小时"
2844
+ },
2845
+ "subtitle": "管理对工作区的程序化访问",
2846
+ "summary": "{endpoints, plural, other {# 个端点}} · {methods, plural, other {# 个方法}}",
2847
+ "title": "API 密钥与令牌"
2848
+ },
2849
+ "surfacePages": {
2850
+ "guest": {
2851
+ "title": "{app} 暂时无法使用。",
2852
+ "body": "请稍后再试。"
2853
+ },
2854
+ "staff": {
2855
+ "appOff": "{app} 目前已关闭。",
2856
+ "sideOff": "{app} 的员工界面已关闭。",
2857
+ "advice": "请让你的经理在 {app} → 设置 中开启。",
2858
+ "signOut": "退出登录",
2859
+ "noAccess": "此账户无法打开 {app}。",
2860
+ "noAccessAdvice": "请让你的主管为你分配可以打开 {app} 的角色。"
2861
+ },
2862
+ "notFound": {
2863
+ "title": "找不到页面",
2864
+ "body": "此地址没有内容。请检查链接后重试。"
2865
+ }
2866
+ },
2867
+ "appSettings": {
2868
+ "notInstalled": "此应用未安装",
2869
+ "backToApps": "返回应用",
2870
+ "statusDisabled": "已停用",
2871
+ "statusUpdate": "有可用更新 · {version}",
2872
+ "statusActive": "正常运行",
2873
+ "version": "版本 {version} · 由 {publisher} 提供",
2874
+ "open": "打开应用",
2875
+ "upToDate": "已是最新",
2876
+ "update": "更新",
2877
+ "saveFailed": "更改未保存",
2878
+ "screens": "界面组",
2879
+ "sideStaff": "员工界面",
2880
+ "sideCustomer": "客户界面",
2881
+ "sideAppOff": "整个应用已关闭。",
2882
+ "staffOnHelp": "你的团队使用自己的账户在此登录。",
2883
+ "customerOnHelp": "客户使用这些页面。它们是公开的。",
2884
+ "staffOffHelp": "这些界面不再提供。没有删除任何内容。",
2885
+ "customerOffHelp": "客户会看到“暂不可用”。没有删除任何内容。",
2886
+ "sideSwitch": "{side},开启或关闭",
2887
+ "on": "开启",
2888
+ "off": "关闭",
2889
+ "whereItLives": "所在位置",
2890
+ "ownAddress": "使用独立地址",
2891
+ "insideDashboard": "在仪表板内",
2892
+ "copyAddress": "复制地址",
2893
+ "copied": "已复制",
2894
+ "copy": "复制",
2895
+ "addDomain": "添加域名",
2896
+ "preview": "预览",
2897
+ "domainField": "域名",
2898
+ "addDomainSave": "添加",
2899
+ "data": "数据",
2900
+ "noTables": "此应用不使用任何数据表。",
2901
+ "rows": "{count, plural, other {# 行}}",
2902
+ "activity": {
2903
+ "staged": "由 {actor} 上传",
2904
+ "installed": "由 {actor} 安装",
2905
+ "updated": "由 {actor} 更新",
2906
+ "disabled": "由 {actor} 关闭",
2907
+ "enabled": "由 {actor} 开启",
2908
+ "settings": "由 {actor} 更改设置",
2909
+ "domains": "由 {actor} 更改域名",
2910
+ "instances": "由 {actor} 更改实例",
2911
+ "renamed": "由 {actor} 重命名数据表",
2912
+ "title": "动态",
2913
+ "none": "暂无。",
2914
+ "sampleAdded": "由 {actor} 添加示例数据",
2915
+ "sampleRemoved": "由 {actor} 删除示例数据"
2916
+ },
2917
+ "danger": "危险操作",
2918
+ "disabledNote": "应用已关闭。启用后将完全恢复原样。",
2919
+ "disableNote": "在所有地方隐藏此应用并停止其端点。不会删除任何内容。",
2920
+ "enable": "启用",
2921
+ "disable": "停用",
2922
+ "uninstallNote": "删除应用的文件和页面。保留数据表和数据。",
2923
+ "uninstall": "卸载",
2924
+ "disableTitle": "停用 {app}?",
2925
+ "close": "关闭",
2926
+ "nothingDeleted": "不会删除任何内容。",
2927
+ "enableBrings": "启用后将完全恢复原样。",
2928
+ "cancel": "取消",
2929
+ "disableLine1": "其菜单区域对所有人隐藏。",
2930
+ "disableLine2": "其界面和自有端点停止响应。",
2931
+ "disableLine3": "数据表、记录和设置保持不变。",
2932
+ "crumb": "应用",
2933
+ "sampleLedger": "Adminium 的示例记录清单"
2934
+ },
2935
+ "uninstall": {
2936
+ "files": "应用的文件",
2937
+ "pages": "{count, plural, other {# 个页面}}",
2938
+ "keys": "{count, plural, other {其 # 个浏览器密钥}}",
2939
+ "settings": "其设置",
2940
+ "hosts": "{count, plural, other {其 # 个域名}}",
2941
+ "tables": "{count, plural, other {# 个数据表及其全部记录}}",
2942
+ "editedPages": "你编辑过的页面会作为普通页面保留",
2943
+ "audit": "其在审计日志中的记录",
2944
+ "title": "卸载 {app}?",
2945
+ "close": "关闭",
2946
+ "planFailed": "无法读取将被移除的内容",
2947
+ "removed": "移除",
2948
+ "kept": "保留",
2949
+ "roleCascade": "移除此角色会将其从 {members, plural, other {# 人}} 身上撤下,并删除绑定到它的 {keys, plural, other {# 个 API 密钥}}。这些密钥会立即失效。",
2950
+ "dropTitle": "同时删除其数据表和数据",
2951
+ "dropBody": "{count, plural, other {删除它创建的 # 个数据表及其全部记录。}}此操作无法撤销。",
2952
+ "typeKey": "输入应用的键 {key} 以确认。",
2953
+ "failed": "应用未被卸载",
2954
+ "cancel": "取消",
2955
+ "confirmDrop": "卸载并删除数据",
2956
+ "confirm": "卸载",
2957
+ "rules": "{count, plural, other {它的 # 条列规则}}"
2958
+ },
2959
+ "sampleData": {
2960
+ "title": "示例数据",
2961
+ "add": "添加示例数据",
2962
+ "installNote": "在应用的数据表中加入一些示例记录,方便你试用。可以一键删除。",
2963
+ "remove": "删除示例数据",
2964
+ "keptNotice": "{count, plural, other {保留了 # 条示例记录:你自己的记录在使用它们,或你修改过它们。}}",
2965
+ "notLoaded": "未加载",
2966
+ "loadedCount": "已加载 · {count, plural, other {# 条记录}}",
2967
+ "loaded": "已加载 · {count, plural, other {# 条记录}} · {date}",
2968
+ "addSubtitle": "添加到 {connection}",
2969
+ "close": "关闭",
2970
+ "addBodyNoConnection": "在应用的数据表中加入一些示例记录。不会改动其他任何内容。",
2971
+ "addBody": "在应用的数据表中加入一些示例记录。{connection} 中的其他内容不会改动。",
2972
+ "images": "图片,添加到文件",
2973
+ "total": "合计",
2974
+ "records": "{count, plural, other {# 条记录}}",
2975
+ "none": "此应用没有附带示例数据",
2976
+ "adding": "正在添加示例数据",
2977
+ "addFailed": "示例数据未添加",
2978
+ "addFailedBody": "示例数据未添加。没有写入任何内容。",
2979
+ "cancel": "取消",
2980
+ "removeSubtitle": "{count, plural, other {{date} 添加的 # 条记录}}",
2981
+ "removeBody": "Adminium 记录了它添加的每一条记录,因此只会删除这些记录。",
2982
+ "planFailed": "无法读取将要删除的内容",
2983
+ "removes": "将删除",
2984
+ "kept": "将保留",
2985
+ "usedBy": "{count, plural, other {被你自己的 # 条记录使用}}",
2986
+ "keepChanged": "保留我修改过的记录",
2987
+ "changedList": "{count, plural, other {你编辑过的 # 条示例记录:{names}。}}",
2988
+ "removeFailed": "示例数据未删除",
2989
+ "removeConfirm": "删除",
2990
+ "banner": "示例数据已加载",
2991
+ "bannerRemove": "删除"
2992
+ },
2993
+ "appPublicAccess": {
2994
+ "title": "公开访问",
2995
+ "intro": "该应用的客户界面需要:",
2996
+ "availability": "读取 {table} 的空闲或已满时段",
2997
+ "claim": "按 {fields} 查找自己的 {table}",
2998
+ "create": "添加到 {table}",
2999
+ "update": "更改 {table}",
3000
+ "read": "读取 {table}",
3001
+ "later": "将在以后的版本中提供",
3002
+ "allow": "允许此公开访问",
3003
+ "helper": "以后可以在 API 密钥页面中缩小范围。",
3004
+ "cannotGrant": "只有可以管理 API 密钥的人才能允许它,因此该应用将在没有它的情况下安装。",
3005
+ "warning": {
3006
+ "apiOff": "公开 API 已关闭,在开启之前这些都不会响应。",
3007
+ "originSelf": "允许的来源不包括 “self”,因此该应用在此服务器上的页面无法调用它。",
3008
+ "timeZone": "此数据库未设置时区,而公开 API 需要时区来处理日期和时间。",
3009
+ "noEmail": "尚未设置电子邮件,因此不会向客人发送确认。"
3010
+ },
3011
+ "createConfirmed": "添加到 {table},并收到确认邮件"
2478
3012
  }
2479
3013
  }