@eifi1/ui-kit 0.48.2 → 0.49.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 (292) hide show
  1. package/README.md +26 -12
  2. package/dist/admin/admin-action-confirm.js +1 -1
  3. package/dist/admin/admin-action-confirm.js.map +1 -1
  4. package/dist/admin/invitations-panel.js +5 -1
  5. package/dist/admin/invitations-panel.js.map +1 -1
  6. package/dist/admin/user-roster.d.ts +11 -5
  7. package/dist/admin/user-roster.js +15 -4
  8. package/dist/admin/user-roster.js.map +1 -1
  9. package/dist/auth/accept-invitation.js +2 -2
  10. package/dist/auth/accept-invitation.js.map +1 -1
  11. package/dist/auth/not-found-page.js +1 -1
  12. package/dist/auth/not-found-page.js.map +1 -1
  13. package/dist/auth/reset-password-form.js +2 -2
  14. package/dist/auth/reset-password-form.js.map +1 -1
  15. package/dist/auth/verify-email.js +2 -2
  16. package/dist/auth/verify-email.js.map +1 -1
  17. package/dist/billing/plan-card.js +2 -2
  18. package/dist/billing/plan-card.js.map +1 -1
  19. package/dist/components/breadcrumbs.d.ts +19 -1
  20. package/dist/components/breadcrumbs.js +11 -4
  21. package/dist/components/breadcrumbs.js.map +1 -1
  22. package/dist/components/button-look.d.ts +37 -7
  23. package/dist/components/button-look.js +33 -6
  24. package/dist/components/button-look.js.map +1 -1
  25. package/dist/components/button.d.ts +4 -1
  26. package/dist/components/button.js +2 -2
  27. package/dist/components/button.js.map +1 -1
  28. package/dist/components/calendar-heatmap.js +2 -1
  29. package/dist/components/calendar-heatmap.js.map +1 -1
  30. package/dist/components/chart-edge.d.ts +10 -0
  31. package/dist/components/chart-edge.js +57 -0
  32. package/dist/components/chart-edge.js.map +1 -0
  33. package/dist/components/chart.js +2 -1
  34. package/dist/components/chart.js.map +1 -1
  35. package/dist/components/chip.d.ts +8 -1
  36. package/dist/components/chip.js +4 -1
  37. package/dist/components/chip.js.map +1 -1
  38. package/dist/components/confirm-context.d.ts +5 -0
  39. package/dist/components/confirm-context.js +7 -0
  40. package/dist/components/confirm-context.js.map +1 -0
  41. package/dist/components/confirm-dialog.js +3 -3
  42. package/dist/components/confirm-dialog.js.map +1 -1
  43. package/dist/components/danger-confirm.d.ts +2 -2
  44. package/dist/components/danger-confirm.js +1 -1
  45. package/dist/components/danger-confirm.js.map +1 -1
  46. package/dist/components/data-table-fit.js +21 -3
  47. package/dist/components/data-table-fit.js.map +1 -1
  48. package/dist/components/data-table-mobile.d.ts +48 -2
  49. package/dist/components/data-table-mobile.js +87 -10
  50. package/dist/components/data-table-mobile.js.map +1 -1
  51. package/dist/components/data-table-row-actions.d.ts +2 -1
  52. package/dist/components/data-table-row-actions.js +7 -0
  53. package/dist/components/data-table-row-actions.js.map +1 -1
  54. package/dist/components/data-table-row.d.ts +1 -1
  55. package/dist/components/data-table-row.js.map +1 -1
  56. package/dist/components/data-table.d.ts +34 -1
  57. package/dist/components/data-table.js +34 -9
  58. package/dist/components/data-table.js.map +1 -1
  59. package/dist/components/error-boundary.js +2 -2
  60. package/dist/components/error-boundary.js.map +1 -1
  61. package/dist/components/floating-panel.d.ts +36 -13
  62. package/dist/components/floating-panel.js +27 -7
  63. package/dist/components/floating-panel.js.map +1 -1
  64. package/dist/components/form-actions.d.ts +1 -1
  65. package/dist/components/form-actions.js +1 -1
  66. package/dist/components/form-actions.js.map +1 -1
  67. package/dist/components/icon-button.d.ts +11 -0
  68. package/dist/components/icon-button.js +7 -5
  69. package/dist/components/icon-button.js.map +1 -1
  70. package/dist/components/nav-pills.d.ts +8 -1
  71. package/dist/components/nav-pills.js +61 -38
  72. package/dist/components/nav-pills.js.map +1 -1
  73. package/dist/components/page-header-context.d.ts +8 -0
  74. package/dist/components/page-header-context.js +7 -0
  75. package/dist/components/page-header-context.js.map +1 -0
  76. package/dist/components/page-header.d.ts +14 -2
  77. package/dist/components/page-header.js +10 -1
  78. package/dist/components/page-header.js.map +1 -1
  79. package/dist/components/pie-chart.js +2 -1
  80. package/dist/components/pie-chart.js.map +1 -1
  81. package/dist/components/progress-bar.js +5 -4
  82. package/dist/components/progress-bar.js.map +1 -1
  83. package/dist/components/reauth-dialog.js +1 -1
  84. package/dist/components/reauth-dialog.js.map +1 -1
  85. package/dist/components/row-actions-labels.js +3 -1
  86. package/dist/components/row-actions-labels.js.map +1 -1
  87. package/dist/components/row-actions.d.ts +43 -9
  88. package/dist/components/row-actions.js +78 -15
  89. package/dist/components/row-actions.js.map +1 -1
  90. package/dist/components/section-nav.d.ts +37 -0
  91. package/dist/components/section-nav.js +33 -0
  92. package/dist/components/section-nav.js.map +1 -0
  93. package/dist/components/series-chart.js +8 -3
  94. package/dist/components/series-chart.js.map +1 -1
  95. package/dist/components/share-card.js +1 -1
  96. package/dist/components/share-card.js.map +1 -1
  97. package/dist/components/signature-pad.js +1 -1
  98. package/dist/components/signature-pad.js.map +1 -1
  99. package/dist/components/sparkline.js +2 -1
  100. package/dist/components/sparkline.js.map +1 -1
  101. package/dist/components/stat-tile.js +14 -7
  102. package/dist/components/stat-tile.js.map +1 -1
  103. package/dist/components/status-dot.d.ts +5 -1
  104. package/dist/components/status-dot.js +4 -1
  105. package/dist/components/status-dot.js.map +1 -1
  106. package/dist/components/tooltip.js +1 -1
  107. package/dist/components/tooltip.js.map +1 -1
  108. package/dist/components/translation-review-editor.js +2 -2
  109. package/dist/components/translation-review-editor.js.map +1 -1
  110. package/dist/components/translation-review.js +2 -2
  111. package/dist/components/translation-review.js.map +1 -1
  112. package/dist/components/treemap.d.ts +5 -2
  113. package/dist/components/treemap.js +26 -6
  114. package/dist/components/treemap.js.map +1 -1
  115. package/dist/components/use-table-state.js +37 -6
  116. package/dist/components/use-table-state.js.map +1 -1
  117. package/dist/data-table.js.map +1 -1
  118. package/dist/demo/demo-banner.js +1 -1
  119. package/dist/demo/demo-banner.js.map +1 -1
  120. package/dist/demo/demo-ended.js +1 -1
  121. package/dist/demo/demo-ended.js.map +1 -1
  122. package/dist/demo/demo-start.js +1 -1
  123. package/dist/demo/demo-start.js.map +1 -1
  124. package/dist/eslint/index.js +1 -1
  125. package/dist/feedback/feedback-inbox.js +1 -1
  126. package/dist/feedback/feedback-inbox.js.map +1 -1
  127. package/dist/hooks/use-dismiss.d.ts +9 -1
  128. package/dist/hooks/use-dismiss.js +25 -5
  129. package/dist/hooks/use-dismiss.js.map +1 -1
  130. package/dist/hooks/use-document-title.d.ts +14 -0
  131. package/dist/hooks/use-document-title.js +22 -0
  132. package/dist/hooks/use-document-title.js.map +1 -0
  133. package/dist/i18n/german.js +6 -2
  134. package/dist/i18n/german.js.map +1 -1
  135. package/dist/i18n/kit-labels.d.ts +31 -1
  136. package/dist/i18n/kit-labels.js +43 -2
  137. package/dist/i18n/kit-labels.js.map +1 -1
  138. package/dist/i18n/locales/en.js +6 -2
  139. package/dist/i18n/locales/en.js.map +2 -2
  140. package/dist/i18n/locales/es.js +6 -2
  141. package/dist/i18n/locales/es.js.map +1 -1
  142. package/dist/i18n/locales/fr.js +6 -2
  143. package/dist/i18n/locales/fr.js.map +1 -1
  144. package/dist/i18n/locales/hu.js +6 -2
  145. package/dist/i18n/locales/hu.js.map +1 -1
  146. package/dist/i18n/locales/it.js +6 -2
  147. package/dist/i18n/locales/it.js.map +1 -1
  148. package/dist/i18n/locales/zh.js +6 -2
  149. package/dist/i18n/locales/zh.js.map +1 -1
  150. package/dist/i18n/review.js +2 -0
  151. package/dist/i18n/review.js.map +1 -1
  152. package/dist/i18n/shared-labels.js +1 -0
  153. package/dist/i18n/shared-labels.js.map +1 -1
  154. package/dist/index.d.ts +8 -1
  155. package/dist/index.js +11 -0
  156. package/dist/index.js.map +1 -1
  157. package/dist/landing/landing-actions.js +2 -2
  158. package/dist/landing/landing-actions.js.map +1 -1
  159. package/dist/landing/public-header.js +2 -2
  160. package/dist/landing/public-header.js.map +1 -1
  161. package/dist/lib/clipboard-minus.d.ts +27 -0
  162. package/dist/lib/clipboard-minus.js +63 -0
  163. package/dist/lib/clipboard-minus.js.map +1 -0
  164. package/dist/lib/document-title.d.ts +17 -0
  165. package/dist/lib/document-title.js +29 -0
  166. package/dist/lib/document-title.js.map +1 -0
  167. package/dist/lib/float-clearance.js +8 -2
  168. package/dist/lib/float-clearance.js.map +1 -1
  169. package/dist/lib/format.d.ts +35 -10
  170. package/dist/lib/format.js +55 -11
  171. package/dist/lib/format.js.map +1 -1
  172. package/dist/lib/minus.d.ts +22 -0
  173. package/dist/lib/minus.js +14 -0
  174. package/dist/lib/minus.js.map +1 -0
  175. package/dist/lib/status-tone.d.ts +30 -0
  176. package/dist/lib/status-tone.js +17 -0
  177. package/dist/lib/status-tone.js.map +1 -0
  178. package/dist/settings/settings-layout.js +3 -2
  179. package/dist/settings/settings-layout.js.map +1 -1
  180. package/dist/shell/account-menu-language.d.ts +1 -1
  181. package/dist/shell/account-menu-language.js +9 -1
  182. package/dist/shell/account-menu-language.js.map +1 -1
  183. package/dist/shell/app-shell-labels.js +2 -1
  184. package/dist/shell/app-shell-labels.js.map +1 -1
  185. package/dist/shell/app-shell.d.ts +58 -16
  186. package/dist/shell/app-shell.js +151 -43
  187. package/dist/shell/app-shell.js.map +1 -1
  188. package/dist/shell/language-code.d.ts +3 -0
  189. package/dist/shell/language-code.js +8 -0
  190. package/dist/shell/language-code.js.map +1 -0
  191. package/dist/shell/topbar-controls.d.ts +14 -6
  192. package/dist/shell/topbar-controls.js +14 -17
  193. package/dist/shell/topbar-controls.js.map +1 -1
  194. package/dist/testing/css-variables.generated.d.ts +1 -1
  195. package/dist/testing/css-variables.generated.js +1 -1
  196. package/dist/testing/css-variables.generated.js.map +1 -1
  197. package/dist/theme/chart-palette.d.ts +82 -15
  198. package/dist/theme/chart-palette.js +51 -24
  199. package/dist/theme/chart-palette.js.map +1 -1
  200. package/dist/theme/palette-presets.d.ts +9 -0
  201. package/dist/theme/palette-presets.js +77 -62
  202. package/dist/theme/palette-presets.js.map +1 -1
  203. package/dist/tour/tour.js +1 -1
  204. package/dist/tour/tour.js.map +1 -1
  205. package/dist/wizard/stepper-nav.d.ts +1 -1
  206. package/dist/wizard/stepper-nav.js +3 -3
  207. package/dist/wizard/stepper-nav.js.map +1 -1
  208. package/package.json +1 -1
  209. package/src/admin/admin-action-confirm.tsx +1 -1
  210. package/src/admin/invitations-panel.tsx +7 -3
  211. package/src/admin/user-roster.tsx +23 -6
  212. package/src/auth/accept-invitation.tsx +3 -3
  213. package/src/auth/not-found-page.tsx +1 -1
  214. package/src/auth/reset-password-form.tsx +3 -3
  215. package/src/auth/verify-email.tsx +3 -3
  216. package/src/billing/plan-card.tsx +2 -2
  217. package/src/components/breadcrumbs.tsx +32 -4
  218. package/src/components/button-look.ts +86 -15
  219. package/src/components/button.tsx +6 -3
  220. package/src/components/calendar-heatmap.tsx +2 -1
  221. package/src/components/chart-edge.ts +73 -0
  222. package/src/components/chart.tsx +3 -1
  223. package/src/components/chip.tsx +10 -1
  224. package/src/components/confirm-context.ts +7 -0
  225. package/src/components/confirm-dialog.tsx +3 -3
  226. package/src/components/danger-confirm.tsx +3 -3
  227. package/src/components/data-table-fit.ts +41 -6
  228. package/src/components/data-table-mobile.tsx +162 -11
  229. package/src/components/data-table-row-actions.tsx +9 -1
  230. package/src/components/data-table-row.tsx +2 -0
  231. package/src/components/data-table.tsx +82 -18
  232. package/src/components/error-boundary.tsx +2 -2
  233. package/src/components/floating-panel.tsx +67 -16
  234. package/src/components/form-actions.tsx +2 -2
  235. package/src/components/icon-button.tsx +21 -8
  236. package/src/components/nav-pills.tsx +29 -2
  237. package/src/components/page-header-context.ts +8 -0
  238. package/src/components/page-header.tsx +34 -2
  239. package/src/components/pie-chart.tsx +2 -1
  240. package/src/components/progress-bar.tsx +6 -3
  241. package/src/components/reauth-dialog.tsx +1 -1
  242. package/src/components/row-actions-labels.ts +2 -0
  243. package/src/components/row-actions.tsx +154 -33
  244. package/src/components/section-nav.tsx +65 -0
  245. package/src/components/series-chart.tsx +12 -3
  246. package/src/components/share-card.tsx +1 -1
  247. package/src/components/signature-pad.tsx +1 -1
  248. package/src/components/sparkline.tsx +2 -1
  249. package/src/components/stat-tile.tsx +19 -7
  250. package/src/components/status-dot.tsx +7 -1
  251. package/src/components/tooltip.tsx +3 -1
  252. package/src/components/translation-review-editor.tsx +2 -2
  253. package/src/components/translation-review.tsx +2 -2
  254. package/src/components/treemap.tsx +34 -8
  255. package/src/components/use-table-state.ts +63 -8
  256. package/src/data-table.ts +3 -3
  257. package/src/demo/demo-banner.tsx +1 -1
  258. package/src/demo/demo-ended.tsx +1 -1
  259. package/src/demo/demo-start.tsx +1 -1
  260. package/src/feedback/feedback-inbox.tsx +1 -1
  261. package/src/hooks/use-dismiss.ts +43 -4
  262. package/src/hooks/use-document-title.ts +31 -0
  263. package/src/i18n/german.ts +4 -0
  264. package/src/i18n/kit-labels.tsx +76 -1
  265. package/src/i18n/locales/es.ts +4 -0
  266. package/src/i18n/locales/fr.ts +4 -0
  267. package/src/i18n/locales/hu.ts +4 -0
  268. package/src/i18n/locales/it.ts +4 -0
  269. package/src/i18n/locales/zh.ts +4 -0
  270. package/src/i18n/review.ts +2 -0
  271. package/src/i18n/shared-labels.ts +1 -0
  272. package/src/index.ts +13 -0
  273. package/src/landing/landing-actions.tsx +2 -2
  274. package/src/landing/public-header.tsx +2 -2
  275. package/src/lib/clipboard-minus.ts +94 -0
  276. package/src/lib/document-title.ts +41 -0
  277. package/src/lib/float-clearance.ts +19 -3
  278. package/src/lib/format.ts +115 -30
  279. package/src/lib/minus.ts +40 -0
  280. package/src/lib/status-tone.ts +43 -0
  281. package/src/settings/settings-layout.tsx +3 -2
  282. package/src/shell/account-menu-language.tsx +14 -2
  283. package/src/shell/app-shell-labels.ts +1 -0
  284. package/src/shell/app-shell.tsx +291 -68
  285. package/src/shell/language-code.ts +5 -0
  286. package/src/shell/topbar-controls.tsx +35 -15
  287. package/src/testing/css-variables.generated.ts +6 -6
  288. package/src/theme/chart-palette.ts +102 -20
  289. package/src/theme/palette-presets.ts +121 -84
  290. package/src/tour/tour.tsx +1 -1
  291. package/src/wizard/stepper-nav.tsx +4 -4
  292. package/tokens.css +28 -18
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/i18n/locales/zh.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Chinese (Simplified): every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_ZH}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `zh-CN` digits; {@link uiKitLabelsZh} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsZh(numberLocale = \"zh-CN\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n // 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in\n // src/auth/auth-errors.ts: no wait → \"稍候\", under a minute → seconds, else minutes\n // rounded up. The numeral has a space either side, as everywhere in this catalogue.\n const wait = (seconds: number) =>\n seconds < 60 ? `${n(Math.ceil(seconds))} 秒` : `${n(Math.ceil(seconds / 60))} 分钟`;\n const rateLimited = (seconds?: number) =>\n !seconds || seconds <= 0 ? \"尝试次数过多,请稍候再试。\" : `尝试次数过多,请 ${wait(seconds)}后重试。`;\n // 0.32.0 — when a trial or a grant ends, as `inDays` in src/billing/billing-labels.ts:\n // 0 (or less) is today, 1 tomorrow. A numeral brings its own leading space.\n const inDays = (days: number) => (days <= 0 ? \"今天\" : days === 1 ? \"明天\" : ` ${n(days)} 天后`);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"添加附件\",\n attachmentCapture: \"截取屏幕\",\n attachmentPaste: \"……或直接从剪贴板粘贴截图,这样只需展示局部,而不必截取整个页面。\",\n attachmentRemove: \"移除附件\",\n attachmentList: \"附件\",\n attachmentScreenshot: \"截图\",\n attachmentRemoveFile: (name) => `移除 ${name}`,\n attachmentLimit: (max) =>\n max === 1 ? `最多 ${n(max)} 个附件,请先将其移除再添加。` : `最多 ${n(max)} 个附件,请先移除一个再添加。`,\n attachmentUploading: \"正在上传…\",\n attachmentUploadFailed: (name) => `无法上传“${name}”`,\n },\n feedbackDialog: {\n title: \"发送反馈\",\n category: \"类别\",\n subject: \"主题\",\n body: \"发生了什么?\",\n bodyOptional: \"发生了什么?(可选)\",\n attachment: \"附件\",\n submitHint: (apple) => (apple ? \"⌘ Enter 发送\" : \"Ctrl+Enter 发送\"),\n cancel: \"取消\",\n save: \"发送\",\n publicNotice: \"其他用户将看到标题和正文(绝不会看到您的截图或文件)。\",\n },\n feedbackThread: {\n thread: \"评论\",\n empty: \"暂无评论\",\n loading: \"正在加载评论…\",\n you: \"我\",\n staff: \"工作人员\",\n attachments: \"附件\",\n },\n feedbackComposer: {\n field: \"撰写评论\",\n placeholder: \"撰写评论…\",\n send: \"发送\",\n sendHint: (modifier) => `${modifier} + Enter 发送`,\n sendHintEnter: \"Enter 发送,Shift + Enter 换行\",\n },\n // 0.27.0. 反馈 for feedback, as `feedbackDialog`; 返工 for rework.\n feedbackStatus: {\n OPEN: \"待处理\",\n READY: \"待实现\",\n REWORK: \"已要求返工\",\n IN_PROGRESS: \"处理中\",\n IN_EVALUATION: \"评估中\",\n NEEDS_LIVE_TEST: \"待线上测试\",\n POSTPONED: \"已推迟\",\n DONE: \"已完成\",\n WONT_DO: \"不予处理\",\n },\n feedbackCategory: {\n CRASH: \"崩溃\",\n BUG: \"错误\",\n IDEA: \"建议\",\n QUESTION: \"疑问\",\n OTHER: \"其他\",\n },\n feedbackToast: {\n submitted: \"感谢您的反馈!\",\n submitFailed: \"无法提交反馈\",\n attachmentUnsupported: \"仅允许图片、PDF 或文本文件\",\n attachmentTooLarge: \"文件超过 10 MB\",\n attachmentTooMany: (count) => `只能容纳 ${n(count)} 个附件,其余的已略去。`,\n captureFailed: \"无法截取屏幕\",\n updateFailed: \"无法保存更改。\",\n statusChanged: (status, title) => `已设为“${status}”:${title}`,\n statusUndo: \"撤销\",\n statusRestored: (status, title) => `已恢复为“${status}”:${title}`,\n commentFailed: \"无法发表评论。\",\n voteFailed: \"无法保存您的投票。\",\n replyFailed: \"无法发送回复。\",\n },\n feedbackMenu: {\n trigger: \"发送反馈\",\n myFeedback: \"我的反馈\",\n discussion: \"反馈讨论\",\n inbox: \"反馈收件箱\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback\n // notification types.\n feedbackPublic: {\n title: \"反馈讨论\",\n sort: \"排序\",\n sortNewest: \"最新\",\n sortVotes: \"最多人想要\",\n sortUpdated: \"最近更新\",\n search: \"搜索标题\",\n columnVotes: \"票数\",\n total: (count) => `${n(count)} 条反馈`,\n comments: (count) => `${n(count)} 条评论`,\n votes: (count) => `${n(count)} 票`,\n anonymous: \"一位用户\",\n filedBy: (name) => `提交者:${name}`,\n body: \"描述\",\n conversation: \"回复和评论\",\n loading: \"加载中…\",\n empty: \"暂无反馈\",\n visibleToOthers: \"对他人可见\",\n visibleHint: \"其他用户可以看到标题和正文,绝不会看到您的截图或文件。\",\n visibleLocked: \"仅在反馈仍处于打开状态时可更改。\",\n page: (page) => `第 ${n(page)} 页`,\n },\n feedbackNotificationTypes: {\n answered: \"您的反馈收到的回复\",\n answeredDescription: \"当您提交或评论过的反馈收到回复时。\",\n comment: \"您关注的反馈中的评论\",\n commentDescription: \"当有人评论您提交或评论过的反馈时。\",\n received: \"新反馈和返工\",\n receivedDescription: \"当有人提交反馈或退回反馈时。\",\n adminGroup: \"管理员\",\n },\n feedbackContext: {\n user: \"用户\",\n attachUrl: \"附加当前页面 URL\",\n },\n feedbackPage: {\n title: \"反馈收件箱\",\n myTitle: \"我的反馈\",\n columnId: \"#\",\n columnDate: \"日期\",\n columnCategory: \"类别\",\n columnSubject: \"主题\",\n columnUser: \"用户\",\n columnEmail: \"电子邮箱\",\n columnUrl: \"URL\",\n columnStatus: \"状态\",\n columnResolved: \"解决日期\",\n openPage: \"打开页面\",\n empty: \"无\",\n deletedUser: \"<已删除的用户>\",\n // An id, not a count: printed as it is, like the \"#\" column.\n userFallback: (id) => `用户 #${id}`,\n environment: (environment) => String(environment ?? \"\").toUpperCase(),\n reworkChip: (count) => (count === 1 ? \"返工\" : `返工 ×${n(count)}`),\n awaitingFilter: \"仅显示待您处理的\",\n phoneActions: \"反馈操作\",\n },\n feedbackDetail: {\n subject: \"主题\",\n body: \"描述\",\n edit: \"编辑\",\n editDescription: \"编辑描述\",\n save: \"保存\",\n cancel: \"取消\",\n url: \"URL\",\n copyUrl: \"复制 URL\",\n attachment: \"附件\",\n download: (name) => `下载 ${name}`,\n downloadFailed: \"无法下载附件。\",\n outcome: \"处理结果\",\n replies: \"回复\",\n resolvedAt: (date) => `解决日期:${date}`,\n outcomeAdd: \"添加处理结果\",\n outcomeUpdate: \"更新\",\n outcomePlaceholder: \"做了什么、作出了什么决定,或为什么不予处理。\",\n rework: \"返工\",\n reworkTitle: \"退回返工\",\n reworkSend: \"提交返工\",\n reworkPlaceholder: \"还有哪些需要完善?如有新的限制或方向调整,请一并说明。\",\n reworkUploadFailed: \"无法上传文件,返工请求未发送。\",\n status: \"状态\",\n note: \"备注\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.\n feedbackVote: {\n vote: \"我也需要\",\n own: \"您的反馈\",\n },\n feedbackComments: {\n comments: \"评论\",\n empty: \"暂无评论\",\n hidden: \"已被管理员隐藏\",\n hide: \"隐藏\",\n unhide: \"取消隐藏\",\n delete: \"删除\",\n deleteTitle: \"删除这条评论?\",\n deleteBody: \"将对所有人移除,且无法撤销。\",\n field: \"撰写评论\",\n placeholder: \"撰写评论…\",\n send: \"发表评论\",\n },\n feedbackReplies: {\n replies: \"回复\",\n empty: \"暂无回复\",\n admin: \"管理员\",\n statusChanged: \"状态已改为\",\n field: \"撰写回复\",\n placeholder: \"撰写回复…\",\n reply: \"回复\",\n status: \"随回复更改状态\",\n noChange: \"不更改\",\n nudge: \"尚未通知提交者。请添加回复。\",\n },\n accountSettings: {\n profile: {\n title: \"个人资料\",\n email: \"电子邮箱\",\n role: \"角色\",\n memberSince: \"注册时间\",\n displayName: \"显示名称\",\n save: \"保存\",\n firstName: \"名字\",\n lastName: \"姓氏\",\n nameRequired: \"请同时填写名字和姓氏。\",\n },\n password: {\n title: \"修改密码\",\n current: \"当前密码\",\n next: \"新密码\",\n confirm: \"确认新密码\",\n submit: \"修改密码\",\n tooShort: \"新密码太短。\",\n mismatch: \"两次输入的密码不一致。\",\n wrongPassword: \"密码不正确。\",\n },\n twoFactor: {\n status: \"双重验证\",\n enabledText: \"已开启\",\n disabledText: \"未开启\",\n enable: \"设置双重验证\",\n scanHint: \"请用身份验证器应用扫描此二维码,然后输入应用显示的验证码。\",\n codeLabel: \"验证码\",\n verify: \"验证并开启\",\n disableSection: \"关闭双重验证\",\n password: \"当前密码\",\n disable: \"关闭\",\n qrAlt: \"身份验证器应用的二维码\",\n secretHint: \"无法扫描?请改为在应用中输入此密钥:\",\n copySecret: \"复制密钥\",\n // 0.31.0: the card's title; the state (\"已开启\") stands beside it.\n title: \"双重验证\",\n },\n passkeys: {\n title: \"通行密钥\",\n description: \"使用指纹、面容或设备 PIN 登录,无需密码。\",\n descriptionAlongside: \"使用指纹、面容或设备 PIN 登录,密码仍可照常使用。\",\n empty: \"暂无通行密钥\",\n loading: \"正在加载通行密钥…\",\n list: \"已注册的通行密钥\",\n nameLabel: \"名称(可选)\",\n namePlaceholder: \"例如:笔记本电脑、手机\",\n add: \"添加通行密钥\",\n adding: \"正在等待设备…\",\n rename: \"重命名\",\n renameItem: (name) => `重命名 ${name}`,\n renameField: (name) => `${name} 的新名称`,\n save: \"保存\",\n cancel: \"取消\",\n delete: \"删除\",\n deleteItem: (name) => `删除 ${name}`,\n deleteConfirm: (name) => `删除“${name}”?删除后将无法再用它登录。`,\n confirmDelete: \"删除通行密钥\",\n created: (date) => `添加于 ${date}`,\n lastUsed: (date) => `上次使用:${date}`,\n neverUsed: \"从未使用\",\n },\n },\n measuredGrid: {\n view: \"表格视图\",\n cellsView: \"单元格\",\n textView: \"文本\",\n addRow: \"添加行\",\n removeRow: (row) => `删除第 ${row} 行`,\n clear: \"清空表格\",\n pasteHint: \"可将电子表格中的一块数据粘贴到任意单元格\",\n cell: (column, row) => `${column},第 ${row} 行`,\n rowNumber: \"行\",\n rowActions: \"行操作\",\n keyboardHint:\n \"方向键在单元格之间移动。直接输入替换单元格内容,F2 编辑,Esc 撤销编辑。回车向下移动,并在末尾添加一行。\",\n lineError: (line) => `无法读取第 ${line} 行`,\n points: (count) => `${n(count)} 个点`,\n problems: (count) => `${n(count)} 个单元格不是数字`,\n },\n pageContents: { title: \"本页目录\" },\n common: {\n dismiss: \"关闭\",\n close: \"关闭\",\n clear: \"清除\",\n search: \"搜索\",\n done: \"完成\",\n cancel: \"取消\",\n save: \"保存\",\n back: \"上一步\",\n next: \"下一步\",\n remove: \"移除\",\n loading: \"加载中…\",\n noResults: \"无结果\",\n // Full-width colon, no space after it.\n fieldValue: (field, value) => `${field}:${value}`,\n opensInNewTab: \"在新标签页中打开\",\n aboutField: (field) => `关于“${field}”`,\n help: \"帮助\",\n showMore: \"更多\",\n showLess: \"收起\",\n },\n dataTable: {\n columns: \"列\",\n selectAllRows: \"全选所有行\",\n sortHint: \"点击排序 · 按住 Shift 点击可添加排序\",\n filter: \"筛选\",\n close: \"关闭\",\n selectRow: \"选择行\",\n selectRows: \"选择多行\",\n cancelSelection: \"取消\",\n rowDetails: \"详情\",\n autoSize: \"自动调整列宽\",\n hiddenForWidth: \"宽度不足,已隐藏\",\n loading: \"加载中…\",\n filters: \"筛选条件\",\n clearAll: \"全部清除\",\n done: \"完成\",\n pageSize: \"每页行数\",\n pageSizeAll: \"全部\",\n prevPage: \"上一页\",\n nextPage: \"下一页\",\n clearFilter: \"清除筛选\",\n filterPlaceholder: \"筛选…\",\n selectFilter: \"选择\",\n selectAll: \"全部\",\n selectNone: \"无\",\n dateFrom: \"从\",\n dateTo: \"至\",\n numberMin: \"最小值\",\n numberMax: \"最大值\",\n numberAbs: \"绝对值\",\n presets: {\n today: \"今天\",\n yesterday: \"昨天\",\n this_week: \"本周\",\n last_week: \"上周\",\n last_7_days: \"最近 7 天\",\n last_30_days: \"最近 30 天\",\n this_month: \"本月\",\n last_month: \"上月\",\n last_3_months: \"最近 3 个月\",\n ytd: \"今年至今\",\n last_year: \"去年\",\n },\n table: \"数据表格\",\n filterResults: (shown, total) => `显示 ${n(shown)} 行,共 ${n(total)} 行`,\n sortedAscending: (column) => `已按“${column}”升序排序`,\n sortedDescending: (column) => `已按“${column}”降序排序`,\n sortCleared: (column) => `已取消“${column}”的排序`,\n pageChanged: (page, totalPages) => `第 ${n(page)} 页,共 ${n(totalPages)} 页`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `列(${n(visible)}/${n(total)})`,\n filterColumn: (column, active) => (active ? `筛选${column}(已启用)` : `筛选${column}`),\n empty: \"暂无条目\",\n actions: \"操作\",\n edit: \"编辑\",\n delete: \"删除\",\n booleanTrue: \"是\",\n booleanFalse: \"否\",\n booleanUnset: \"未设置\",\n loadMore: \"加载更多\",\n allLoaded: \"已加载全部行\",\n sortBy: \"排序依据\",\n sortDefault: \"默认顺序\",\n sortAscending: \"升序\",\n sortDescending: \"降序\",\n },\n miniCalendar: {\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n // Already formatted in the provider's locale (\"2026年9月14日星期一\").\n day: (date) => date,\n chooseStart: \"请选择开始日期\",\n chooseEnd: \"请选择结束日期\",\n startSelected: (date) => `已选择 ${date} 为开始日期。请选择结束日期。`,\n rangeSelected: (from, to) => `已选择 ${from} 至 ${to}。如需重新选择,请先选择开始日期。`,\n },\n monthPicker: {\n previousYear: \"上一年\",\n nextYear: \"下一年\",\n panel: \"选择月份\",\n month: (monthYear) => monthYear,\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n today: \"今天\",\n yearPanel: \"选择年份\",\n earlierYears: \"更早的年份\",\n laterYears: \"更晚的年份\",\n thisYear: \"今年\",\n },\n calendarHeatmap: {\n grid: \"每日数值\",\n day: (date, value) => `${date}:${value}`,\n less: \"较少\",\n more: \"较多\",\n truncated: (count) =>\n `仅显示最近的日期;另有 ${n(count)} 天未显示。`,\n },\n datePicker: {\n apply: \"应用\",\n cancel: \"取消\",\n presets: \"快捷范围\",\n panel: \"选择日期\",\n rangePanel: \"选择日期范围\",\n clear: \"清除\",\n previousDay: \"前一天\",\n nextDay: \"后一天\",\n today: \"今天\",\n },\n popover: {\n panel: \"弹出框\",\n },\n combobox: {\n search: \"搜索\",\n noResults: \"无结果\",\n clear: \"清除\",\n loading: \"加载中…\",\n create: (query) => `创建“${query}”`,\n selectedCount: (count) => `已选 ${n(count)} 项`,\n loadError: \"无法加载结果\",\n resultCount: (count) => `${n(count)} 个结果`,\n minChars: (count) => `请至少输入 ${n(count)} 个字符`,\n },\n multiSelect: {\n search: \"搜索\",\n selectAll: \"全选\",\n clear: \"清除\",\n all: \"全部\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"打开计算器\",\n panel: \"计算器\",\n calculation: \"算式\",\n backspace: \"退格\",\n clear: \"清除\",\n equals: \"等于\",\n done: \"完成\",\n plus: \"加\",\n minus: \"减\",\n times: \"乘\",\n divide: \"除以\",\n decimal: \"小数点\",\n },\n currency: {\n currency: \"货币\",\n search: \"搜索货币\",\n },\n chipInput: {\n added: (value) => `已添加“${value}”`,\n removed: (value) => `已移除“${value}”`,\n remove: \"移除\",\n atLimit: (max) => `已达上限(${n(max)} 项)`,\n duplicate: (value) => `“${value}”已在列表中`,\n },\n swatchPicker: {\n none: \"无颜色\",\n mixed: \"混合:所选项目的颜色各不相同\",\n },\n iconPicker: {\n none: \"无图标\",\n mixed: \"混合:所选项目的图标各不相同\",\n search: \"搜索图标\",\n noResults: \"没有匹配的图标\",\n resultCount: (count) => `${n(count)} 个图标`,\n },\n fieldSync: {\n synced: \"已保存\",\n edited: \"有未保存的更改\",\n pending: \"正在保存…\",\n error: \"保存失败\",\n retry: \"重试\",\n },\n passwordReveal: {\n show: \"显示密码\",\n hide: \"隐藏密码\",\n },\n dangerConfirm: {\n arm: \"删除…\",\n confirm: \"删除\",\n cancel: \"取消\",\n prompt: \"此操作无法撤销。\",\n password: \"密码\",\n phrase: (phrase) => `输入“${phrase}”以确认`,\n acknowledge: \"我已了解此操作的作用,并希望继续。\",\n needsPhrase: (phrase) => `输入“${phrase}”以确认`,\n needsAcknowledge: \"勾选复选框以确认\",\n needsPassword: \"输入密码以确认\",\n },\n tabs: {\n add: \"添加标签页\",\n // Quoted, so the spacing rule holds whether the tab's name is Han or Latin.\n remove: (tab) => `移除“${tab}”`,\n more: \"更多标签页\",\n previous: \"之前的标签页\",\n },\n appShell: {\n collapse: \"收起侧边栏\",\n expand: \"展开侧边栏\",\n toggleGroup: (groupLabel) => `${groupLabel}:页面`,\n },\n topBar: {\n theme: \"切换主题\",\n palette: \"外观预设\",\n language: \"语言\",\n switchRole: \"切换角色\",\n role: (value) => `角色:${value}`,\n },\n pickerSheet: {\n close: \"关闭\",\n done: \"完成\",\n },\n dialogFrame: {\n close: \"关闭\",\n },\n bulkActionBar: {\n selected: (count) => `已选择 ${n(count)} 项`,\n clear: \"清除选择\",\n cleared: \"已清除选择\",\n },\n swipeableRow: {\n actions: \"行操作\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale.\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"文件上传\",\n browse: \"浏览\",\n empty: \"将文件拖放到此处\",\n emptyMultiple: \"将文件拖放到此处\",\n hint: (accept) => (accept ? `支持:${accept}` : \"任意文件类型\"),\n busy: \"正在上传…\",\n rejectedPick: (count) => (count === 1 ? \"未添加该文件\" : `${n(count)} 个文件均未添加`),\n rejectedType: (name) => `“${name}”的文件类型不受支持`,\n rejectedTypeOnly: (accept) => `仅限 ${accept} 文件`,\n rejectedSize: (name, maxSize) => `“${name}”超过 ${maxSize}`,\n rejectedCount: (name, maxFiles) => `未添加“${name}”:最多 ${n(maxFiles)} 个文件`,\n rejectedInvalid: (name) => `“${name}”无法在此使用`,\n rejectedMany: (count) => `${n(count)} 个文件未添加`,\n selected: (count, firstName) =>\n count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`,\n remove: (name) => `移除“${name}”`,\n clearAll: \"移除所有文件\",\n removed: (name) => `已移除“${name}”`,\n cleared: \"已移除所有文件\",\n },\n wizard: {\n done: \"完成\",\n cancel: \"取消\",\n back: \"上一步\",\n next: \"下一步\",\n skip: \"跳过\",\n finish: \"完成\",\n submitting: \"正在创建…\",\n steps: \"步骤\",\n step: (current, total) => `第 ${n(current)} 步,共 ${n(total)} 步`,\n cancelTitle: \"放弃此表单?\",\n confirmCancel: \"已填写的内容将会丢失。\",\n cancelConfirmLabel: \"放弃\",\n cancelDismissLabel: \"继续编辑\",\n reviewTitle: \"确认信息\",\n edit: \"编辑\",\n missingRequired: \"请填写所有必填字段。\",\n genericError: \"发生错误\",\n },\n tour: {\n next: \"下一步\",\n back: \"上一步\",\n skip: \"跳过\",\n done: \"完成\",\n awaitClickHint: \"点击高亮的元素以继续\",\n awaitInputHint: \"在高亮的字段中输入一个值以继续\", // 0.46: TourStep.awaitInput (keksdose live #436).\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n // 0.43.0 — docs/tours-harmonization.md §3, §8: the tours page.\n tourCatalogue: {\n searchLabel: \"搜索导览\",\n searchPlaceholder: \"搜索导览…\",\n groupLabel: \"主题\",\n groupAll: (count) => `全部主题(${n(count)})`,\n groupOption: (group, count) => `${group}(${n(count)})`,\n stateLabel: \"筛选导览\",\n stateAll: (count) => `全部(${n(count)})`,\n stateTodo: (count) => `待完成(${n(count)})`,\n stateDone: (count) => `已完成(${n(count)})`,\n showing: (shown, total) => `显示 ${n(shown)} / ${n(total)} 个导览`,\n noMatches: \"没有匹配的导览\",\n noMatchesHint: \"请换个关键词,或清除筛选条件。\",\n clearFilters: \"清除筛选\",\n badgeNew: \"新\",\n badgeUpdated: \"已更新\",\n resetOn: (date, reason) => (reason ? `已于 ${date} 重置:${reason}` : `已于 ${date} 重置`),\n points: (count) => `+${n(count)} 分`,\n steps: (count) => `${n(count)} 步`,\n duration: (minutes) => `约 ${n(minutes)} 分钟`,\n completedOn: (date) => `完成于 ${date}`,\n completed: \"已完成\",\n notCompleted: \"未完成\",\n markUndone: \"标记为未完成\",\n start: \"开始\",\n replay: \"再来一次\",\n },\n commandPalette: {\n clear: \"清除搜索\",\n submit: \"搜索\",\n close: \"关闭\",\n placeholder: \"搜索…\",\n empty: \"无结果\",\n loading: \"搜索中…\",\n dialog: \"搜索\",\n error: \"搜索失败,请重试。\",\n },\n globalSearch: {\n trigger: \"搜索\",\n placeholder: \"搜索或跳转到…\",\n shortcut: (keys) => `搜索(${keys})`,\n suggestions: \"试试\",\n results: \"结果\",\n },\n sparkline: {\n rising: (first, last) => `从 ${first} 上升到 ${last}`,\n falling: (first, last) => `从 ${first} 下降到 ${last}`,\n flat: (value) => `保持在 ${value} 不变`,\n single: (value) => `仅一个值:${value}`,\n noData: \"无数据\",\n named: (name, summary) => `${name}:${summary}`,\n },\n statTile: {\n increase: (amount) => `上升 ${amount}`,\n decrease: (amount) => `下降 ${amount}`,\n unchanged: \"无变化\",\n better: (change) => `${change}(向好)`,\n worse: (change) => `${change}(变差)`,\n noValue: \"无数据\",\n loading: \"加载中…\",\n },\n signaturePad: {\n label: \"签名\",\n instructions: \"请使用鼠标、手指或触控笔在框内签名。\",\n typedFallbackHint: \"如果无法手写,可以改为输入姓名。\",\n empty: \"尚未签名\",\n signed: \"已签名\",\n undo: \"撤销上一笔\",\n clear: \"清除\",\n save: \"保存签名\",\n useTyped: \"改为输入姓名\",\n useDrawn: \"改为手写\",\n typedName: \"姓名\",\n cleared: \"签名已清除\",\n undone: \"已撤销上一笔\",\n viewEmpty: \"未签名\",\n viewDrawn: \"手写签名\",\n // Quoted, so the spacing rule holds whether the name is Han or Latin.\n viewTyped: (name) => `以输入的姓名“${name}”签名`,\n },\n passwordStrength: {\n tooShort: \"太短\",\n weak: \"弱\",\n fair: \"一般\",\n good: \"良好\",\n strong: \"强\",\n announcement: (level) => `密码强度:${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) => `至少 ${n(minLength)} 个字符`,\n ruleCase: \"包含大写和小写字母\",\n ruleDigit: \"包含数字\",\n ruleSymbol: \"包含符号\",\n optional: (rule) => `${rule}(可选)`,\n met: \"已满足:\",\n notMet: \"未满足:\",\n tooLong: (maxBytes) => `最多 ${n(maxBytes)} 个字符(带重音的字母和表情符号按多个字符计算)。`,\n },\n seriesChart: {\n resetZoom: \"重置缩放\",\n zoomHint:\n \"拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。\",\n empty: \"无数据\",\n legend: \"数据系列\",\n points: \"图表数值\",\n },\n pieChart: {\n slices: \"图表扇区\",\n slice: (label, value, percent) => `${label}:${value}(${percent})`,\n total: \"合计\",\n empty: \"无数据\",\n legend: \"类别\",\n },\n confirmDialog: {\n confirm: \"确认\",\n cancel: \"取消\",\n typed: (text) => `输入“${text}”以确认`,\n },\n floatingPanel: {\n close: \"关闭\",\n badge: (count) => `${n(count)} 条新内容`,\n },\n copyButton: {\n copy: \"复制\",\n copied: \"已复制\",\n failed: \"复制失败\",\n copiedAnnouncement: \"已复制到剪贴板\",\n failedAnnouncement: \"无法复制到剪贴板\",\n },\n list: {\n unread: \"未读\",\n opensInNewTab: \"在新标签页中打开\",\n },\n breadcrumbs: {\n label: \"面包屑导航\",\n showAll: \"显示完整路径\",\n },\n toast: {\n close: \"关闭通知\",\n notifications: \"通知\",\n undo: \"撤销\",\n redo: \"重做\",\n },\n form: {\n save: \"保存\",\n cancel: \"取消\",\n submitShortcut: (apple) => (apple ? \"⌘ Enter\" : \"Ctrl+Enter\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"添加行\",\n remove: (row) => `删除第 ${row} 行`,\n confirmRemove: (row) => `删除第 ${row} 行?再次按下以确认`,\n row: (row) => `第 ${row} 行`,\n cell: (column, row) => `${column},第 ${row} 行`,\n totals: \"合计\",\n },\n progressBar: {\n unlimited: \"无限制\",\n overLimit: (amount) => `超出限额 ${amount}`,\n },\n signedAmount: {\n positive: (amount) => `正 ${amount}`,\n negative: (amount) => `负 ${amount}`,\n },\n errorBoundary: {\n title: \"出错了\",\n message: \"无法显示页面的这一部分。请重试或重新加载页面。\",\n retry: \"重试\",\n details: \"错误详情\",\n reload: \"重新加载\",\n updateTitle: \"有新版本可用\",\n updateMessage: \"自此页面加载以来,应用的部分内容已更新。请重新加载以获取新版本。\",\n offlineTitle: \"当前处于离线状态\",\n offlineMessage: \"没有网络连接,无法加载此页面。请恢复连接后重新加载页面。\",\n copyReport: \"复制错误报告\",\n reported: \"此错误已自动报告。\",\n reportedAs: (reference) => `报告编号:${reference}`,\n },\n authedImage: {\n loading: \"正在加载图片…\",\n loadError: \"无法加载图片\",\n failedImage: (alt) => `${alt}:无法加载图片`,\n },\n imageGrid: {\n list: \"图片\",\n item: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n actions: (name) => `${name}的操作`,\n },\n lightbox: {\n dialog: \"图片查看器\",\n close: \"关闭\",\n previous: \"上一张\",\n next: \"下一张\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n download: \"下载\",\n zoom: \"缩放\",\n noPreview: \"此文件无法预览\",\n openInNewTab: \"在新标签页中打开\",\n },\n writeLock: {\n reason: \"仅可查看,无法修改。\",\n offline: \"需要网络连接。\",\n },\n accountState: {\n active: \"已启用\",\n inactive: \"已停用\",\n invited: \"已邀请\",\n registered: \"已注册\",\n unverified: \"未验证\",\n passwordChange: \"需修改密码\",\n deletion: \"已申请删除\",\n deletionOn: (date) => `将于 ${date} 删除`,\n },\n shareCard: {\n dialogTitle: \"共享\",\n close: \"关闭\",\n email: \"电子邮箱地址\",\n emailOptional: \"电子邮箱地址(可选)\",\n emailPlaceholder: \"name@example.com\",\n invalidEmail: \"请输入完整的电子邮箱地址。\",\n role: \"角色\",\n roleOf: (name) => `${name} 的角色`,\n add: \"共享\",\n whoHasAccess: \"有权访问的人\",\n nobodyYet: \"目前还没有其他人有权访问。\",\n pending: \"待接受\",\n openInvite: \"公开邀请链接\",\n copyLink: \"复制链接\",\n team: \"团队\",\n teamHint: (name) => `${name} 的所有成员都将获得访问权限。`,\n remove: \"移除访问权限\",\n removeConfirm: (name) => `移除 ${name} 的访问权限?`,\n revokePending: \"撤回邀请\",\n revokePendingConfirm: (name) => `撤回对 ${name} 的邀请?`,\n failed: \"操作未成功,请重试。\",\n loading: \"加载中…\",\n },\n reauthDialog: {\n title: \"验证身份\",\n description: \"请输入当前密码以继续。\",\n password: \"当前密码\",\n submit: \"继续\",\n cancel: \"取消\",\n },\n serverWake: {\n slow: \"仍在加载,比平时耗时更长。\",\n // A Latin product name gets a space either side, as everywhere in this catalogue.\n waking: (appName) =>\n `无人使用${appName ? ` ${appName} ` : \"本应用\"}时,服务器会进入休眠,因此暂停后的第一个请求需要重新启动它。这可能需要一点时间——不会丢失任何内容,页面会自动加载完成。`,\n },\n // 0.28.0 — docs/legal-harmonization.md §4.3/§4.4: Kurvenschmiede's reviewed Chinese,\n // brought into line with the kit's English; it goes back to Kurvenschmiede for review.\n legal: {\n navLabel: \"法律信息\",\n links: {\n impressum: \"运营者信息\",\n privacy: \"隐私政策\",\n terms: \"使用条款\",\n },\n titles: {\n impressum: \"运营者信息\",\n privacy: \"隐私政策\",\n terms: \"使用条款\",\n },\n backHome: \"返回首页\",\n // Book-title marks around the two documents, outside the links.\n accept: \"我已阅读并同意《{terms}》和《{privacy}》\",\n notice: {\n beta: \"封闭测试阶段。这些文本尚未经律师审阅,将在公开发布之前完成审阅。\",\n privacy:\n \"封闭测试阶段。以下法律措辞尚未经律师审阅,将在公开发布之前完成审阅。其中的技术说明——存储了什么、存储在哪里以及谁可以读取——描述的是软件目前的实际行为,旨在供人对照软件加以核实。\",\n },\n translation: {\n note: (o) =>\n `本页为方便阅读而提供的译文,以${o.bindingLanguage}版本为准。`,\n show: (o) => `查看${o.bindingLanguage}版本`,\n },\n sections: {\n impressum: {\n operator: {\n title: \"运营者\",\n body: (o) =>\n `${o.name}\\n${o.postalCode} ${o.city}\\n${o.country}\\n\\n完整的邮寄地址可应具有正当法律利益者的要求提供;请发送邮件至下方联系地址。`,\n },\n contact: {\n title: \"联系方式\",\n body: (o) => `电子邮件:${o.email}`,\n },\n disclaimer: {\n title: \"内容与链接的责任\",\n body: \"这是一个私人的非商业项目,在封闭测试期间提供,不作任何保证。我们所链接的外部网站由其各自的运营者负责;我们无法控制其内容。\",\n // 0.32.0 — the commercial variant (docs/billing-harmonization.md §8). \"套餐\"\n // and \"订阅\" as the `billing` namespace.\n commercial:\n \"这是一项商业服务。付费套餐由我们的经销商销售,该经销商作为记录商户(Merchant of Record)行事:它以自己的名义销售订阅、收取款项、开具发票并处理增值税,且该笔购买适用其销售条款。我们尽力确保本服务的内容准确,但无法保证其完整或最新。我们所链接的外部网站由其各自的运营者负责;我们无法控制其内容。\",\n },\n },\n privacy: {\n controller: {\n title: \"数据控制者\",\n body: (o) =>\n `负责处理本服务中个人数据的是:\\n${o.name}\\n${o.postalCode} ${o.city},${o.country}\\n电子邮件:${o.email}\\n\\n完整的邮寄地址可应数据主体和监管机构的要求提供。`,\n },\n legal_basis: {\n title: \"法律依据\",\n body: \"由于运营者位于瑞士,数据处理受瑞士《联邦数据保护法》(FADP)约束。如果欧盟《通用数据保护条例》(GDPR)适用于您,我们的依据是为提供服务而履行合同(GDPR 第 6 条第 1 款 b 项)以及我们在运行和保护服务方面的合法利益(GDPR 第 6 条第 1 款 f 项)。\",\n },\n browser: {\n title: \"您的浏览器存储什么\",\n lead: \"不使用 Cookie。应用程序会在您浏览器的存储中保留以下内容:\",\n tail: \"这些内容都不会用于跟踪您。等待发送的条目会尽快发送给我们;其他所有内容都保留在您的设备上。清除网站数据后,这些内容会全部消失;退出登录会删除登录令牌。\",\n },\n rights: {\n title: \"您的权利\",\n lead: \"您享有访问、更正、删除、限制处理、数据可携和反对的权利。\",\n tail: \"如果您在瑞士,可以联系联邦数据保护和信息专员(FDPIC);如果您在欧盟,可以向您当地的监管机构投诉。\",\n },\n contact: {\n title: \"数据保护联系方式\",\n body: (o) => `如有任何隐私方面的请求,请联系:${o.email}`,\n },\n },\n terms: {\n warranty: {\n title: \"不作保证\",\n body: \"在法律允许的范围内,本服务按“现状”和“现有”提供,不作任何形式的保证。作为测试版,它可能包含错误、发生变化或随时中断——请自行备份重要数据。\",\n },\n liability: {\n title: \"责任限制\",\n body: \"在适用法律允许的范围内,运营者对因使用或无法使用本服务而产生的任何间接损失或后果性损失不承担责任。本条款不限制依法不得限制的责任。\",\n },\n changes: {\n title: \"条款变更\",\n body: \"本条款可能会随着服务的发展而更新。重大变更将通过电子邮件或在应用程序中公布;变更后继续使用本服务即表示您接受变更。\",\n },\n language: {\n title: \"语言\",\n body: (o) =>\n `本条款以${o.bindingLanguage}撰写。其他语言的译文仅供参考;如译文与原文不一致,以${o.bindingLanguage}版本为准。`,\n },\n law: {\n title: \"适用法律\",\n body: (o) =>\n `本条款受瑞士法律管辖,但不适用其冲突法规则。在法律允许的范围内,管辖法院所在地为${o.country} ${o.city}(${o.region})。`,\n },\n },\n },\n },\n // 0.29.0 — docs/auth-harmonization.md: Kurvenschmiede's reviewed Chinese (auth.*,\n // notfound) where it says the same, brought into line with the kit's English and this\n // catalogue's words (\"通行密钥\", \"双重验证\"); written fresh where Kurvenschmiede has no\n // such text yet. Full-width punctuation; an interpolated address or name gets a space\n // either side, none before full-width punctuation. It goes back to Kurvenschmiede for\n // review.\n signIn: {\n email: \"电子邮箱\",\n password: \"密码\",\n submit: \"登录\",\n passkey: \"使用通行密钥登录\",\n forgotPassword: \"忘记密码?\",\n noAccount: \"还没有账户?\",\n register: \"创建账户\",\n invalidCredentials: \"电子邮箱或密码不正确。\",\n failed: \"登录失败,请重试。\",\n passkeyFailed: \"通行密钥登录失败。\",\n deactivatedHint: \"账户已停用?请联系 {contact}。\",\n tagHint: (taggedAddress) => `注册时用的是 ${taggedAddress} 吗?请使用该地址。`,\n twoFactorTitle: \"双重验证\",\n twoFactorIntro: \"请输入身份验证器应用显示的验证码。\",\n code: \"验证码\",\n verify: \"验证\",\n codeInvalid: \"验证码无效。\",\n setPasswordTitle: \"设置新密码\",\n setPasswordIntro: \"已要求为此账户设置新密码。设置之后即可直接继续使用。\",\n newPassword: \"新密码\",\n confirmPassword: \"再次输入新密码\",\n passwordMismatch: \"两次输入的密码不一致。\",\n setPasswordSubmit: \"设置密码并登录\",\n setPasswordFailed: \"无法设置密码。\",\n expired: \"本次登录已过期,请重新登录。\",\n backToSignIn: \"返回登录\",\n useRecoveryCode: \"使用备用码\",\n useAuthenticatorCode: \"使用身份验证器应用\",\n recoveryCode: \"备用码\",\n recoveryIntro: \"请输入您在开启双重验证时保存的备用码之一。\",\n recoveryCodeHint: (length) => `共 ${n(length)} 位字母和数字,连字符和空格不影响。`,\n recoveryCodeInvalid: \"此备用码无效或已被使用。\",\n rateLimited,\n // 0.31.0: the same words as `landing.requestAccess`.\n requestAccess: \"申请访问权限\",\n },\n register: {\n firstName: \"名字\",\n lastName: \"姓氏\",\n email: \"电子邮箱\",\n emailTagUse: (address) => `使用 ${address}`,\n emailTagHint:\n \"许多邮件服务商会把发往 name+tag@… 的邮件投递到同一个收件箱,这样本应用发来的邮件便于筛选和追溯。请先确认您的服务商支持这一点再使用:之后您需要用带标签的地址登录。\",\n invitedEmailHint: \"接收邀请的地址。\",\n invitedTagNote: \"带标签的地址会单独收到一封确认邮件。\",\n password: \"密码\",\n confirmPassword: \"再次输入密码\",\n passwordMismatch: \"两次输入的密码不一致。\",\n language: \"语言\",\n submit: \"创建账户\",\n haveAccount: \"已有账户?\",\n signIn: \"登录\",\n emailTaken: \"该电子邮箱地址已有账户。\",\n registrationClosed: \"新账户仅限受邀注册。请联系运营者,为您的电子邮箱地址发送邀请。\",\n invitationInvalid: \"此邀请链接无效。\",\n invitationExpired: \"此邀请已过期,请索取新的邀请。\",\n failed: \"注册失败,请重试。\",\n rateLimited,\n },\n completeName: {\n title: \"完善您的姓名\",\n description: \"现在需要分别填写名字和姓氏。请检查已填写的内容,并补充缺少的部分。\",\n firstName: \"名字\",\n lastName: \"姓氏\",\n save: \"保存\",\n later: \"稍后\",\n failed: \"无法保存您的姓名,请重试。\",\n },\n forgotPassword: {\n title: \"忘记密码\",\n intro: \"请输入您账户的电子邮箱地址。我们会向您发送一个设置新密码的链接。\",\n email: \"电子邮箱\",\n submit: \"发送链接\",\n sent: (email) => `如果 ${email} 有账户,链接正在发送中。`,\n sentHint: \"该链接有效期一小时,且仅可使用一次。也请查看垃圾邮件文件夹。\",\n backToSignIn: \"返回登录\",\n error: \"请求失败,请稍后重试。\",\n rateLimited,\n },\n resetPassword: {\n title: \"设置新密码\",\n checking: \"正在检查链接…\",\n intro: (email) => `您正在为 ${email} 设置新密码。`,\n newPassword: \"新密码\",\n confirmPassword: \"再次输入新密码\",\n mismatch: \"两次输入的密码不一致。\",\n submit: \"保存密码\",\n failed: \"无法修改密码。\",\n noToken: \"此链接不完整。\",\n invalid: \"此链接无效或已过期。\",\n invalidHint: \"链接有效期一小时,且仅可使用一次。重新申请一个即可。\",\n requestNew: \"申请新链接\",\n success: \"您的密码已修改,现在可以用它登录了。\",\n sessionsEnded: \"已登录的设备均已退出登录——您需要在这些设备上重新登录。\",\n signIn: \"前往登录\",\n rateLimited,\n },\n verifyEmail: {\n title: \"确认您的电子邮箱地址\",\n verifying: \"正在确认…\",\n verified: \"您的电子邮箱地址已确认。\",\n continue: \"继续\",\n invalid: \"此确认链接无效\",\n expired: \"此确认链接已过期\",\n noToken: \"此链接缺少确认令牌。\",\n invalidHint: \"该链接可能已过期或已被使用。\",\n requestInApp: \"您可以在应用内申请新的链接。\",\n requestHere: \"您可以在此申请新的链接。\",\n resend: \"重新发送\",\n resendIn: (seconds) => `${n(seconds)} 秒后可重新发送`,\n resent: \"确认邮件已发送\",\n resendError: \"无法发送确认邮件\",\n rateLimited,\n banner: \"请确认您的电子邮箱地址。\",\n dismiss: \"暂不\",\n },\n notFound: {\n title: \"未找到页面\",\n body: \"此地址不存在(或已不存在)。可能是输入有误,也可能是页面已被移动。\",\n home: \"前往首页\",\n app: \"返回应用\",\n },\n acceptInvitation: {\n title: \"接受邀请\",\n accepting: \"正在加入…\",\n accepted: \"已接受邀请。\",\n joined: (name) => `您已加入 ${name}。`,\n continue: \"继续\",\n invalid: \"无法通过此链接加入\",\n expired: \"此邀请已过期\",\n noToken: \"此链接缺少邀请令牌。\",\n askAgain: \"请让邀请您的人重新发送一份邀请。\",\n signInFirst: \"登录以接受此邀请\",\n signInHint: \"请使用收到邀请的账户登录。\",\n signIn: \"登录\",\n register: \"创建账户\",\n },\n companySwitcher: {\n switchCompany: \"切换公司\",\n heading: \"公司\",\n current: (name) => `公司:${name}`,\n currentMark: \"(当前)\",\n switching: \"正在切换公司…\",\n },\n // 0.30.0 — docs/user-admin-harmonization.md: Kurvenschmiede's reviewed Chinese for the\n // admin words (停用、角色、审校者), transfer (移交), invitations and sessions;\n // written fresh where it had no sentence.\n emailChange: {\n title: \"电子邮箱地址\",\n current: \"当前地址\",\n newEmail: \"新电子邮箱地址\",\n password: \"当前密码\",\n passwordHint: \"您使用此地址登录,因此更改它需要输入密码。\",\n emailTagUse: (address) => `使用 ${address}`,\n emailTagHint:\n \"许多邮件服务商会把发往 name+tag@… 的邮件投递到同一个收件箱,这样本应用发来的邮件便于筛选和追溯。请先确认您的服务商支持这一点再使用:之后您需要用带标签的地址登录。\",\n submit: \"更改电子邮箱地址\",\n sameAsCurrent: \"这已经是您的地址。\",\n emailTaken: \"该电子邮箱地址已有账户。\",\n wrongPassword: \"密码不正确。\",\n pending: (newEmail) => `请点击我们发送到 ${newEmail} 的链接进行确认。`,\n pendingHint: (currentEmail) => `在此之前,您仍使用 ${currentEmail} 登录。也请查看垃圾邮件文件夹。`,\n resend: \"重新发送链接\",\n resent: \"链接已重新发送。\",\n cancel: \"取消更改\",\n confirmed: (email) => `您的电子邮箱地址现在是 ${email}。`,\n passkeyNote: \"您的通行密钥仍可正常使用。您的设备可能仍以旧地址列出它们。\",\n rateLimited,\n failed: \"操作未成功,请重试。\",\n },\n // 0.36.0 — docs/notifications-harmonization.md §4.2: the notification cards.\n notifications: {\n typesTitle: \"通知我以下内容\",\n typesDescription: \"选择要接收哪些通知,以及接收方式。\",\n channelApp: \"应用内\",\n channelPush: \"推送\",\n channelEmail: \"电子邮件\",\n emailUnverified: \"请先确认您的邮箱地址,才能收到这些邮件。\",\n digestCadence: \"频率\",\n digestWeekly: \"每周\",\n digestMonthly: \"每月\",\n typesLoading: \"正在加载通知设置…\",\n typesEmpty: \"此账户没有可用的通知。\",\n quietTitle: \"免打扰时段\",\n quietDescription: (inbox, held) =>\n held\n ? inbox\n ? \"此时段内推送通知会等待,并在时段结束时送达。通知会立即进入您的收件箱。\"\n : \"此时段内推送通知会等待,并在时段结束时送达。\"\n : inbox\n ? \"此时段内不发送推送通知。通知仍会进入您的收件箱。\"\n : \"此时段内不发送推送通知。\",\n quietZone: (zone) => `按您的时区(${zone}),随您最近使用的设备而定。`,\n quietFrom: \"从\",\n quietUntil: \"到\",\n quietIncomplete: \"请同时设置开始和结束时间。两者都设置后,免打扰时段才会生效。\",\n regions: {\n Africa: \"非洲\",\n America: \"美洲\",\n Antarctica: \"南极洲\",\n Arctic: \"北极\",\n Asia: \"亚洲\",\n Atlantic: \"大西洋\",\n Australia: \"澳大利亚\",\n Europe: \"欧洲\",\n Indian: \"印度洋\",\n Pacific: \"太平洋\",\n },\n pushTitle: \"推送通知\",\n pushDescription: \"在此设备上接收通知,即使应用已关闭。\",\n unsupported: \"此浏览器不支持推送通知。\",\n iosInstall: (app) => `在 iPhone 或 iPad 上,请先将 ${app} 添加到主屏幕:iOS 只向已安装的应用发送通知。`,\n notConfigured: \"此服务器尚未设置推送通知。\",\n blocked: \"此浏览器的设置已阻止通知。\",\n on: \"此设备的通知已开启。\",\n off: \"此设备的通知已关闭。\",\n otherAccount: \"此浏览器正在接收另一个账户的通知。在此开启,即可接收您当前登录账户的通知。\",\n enable: \"开启通知\",\n disable: \"关闭\",\n sendTest: \"发送测试\",\n enableFailed: \"无法开启通知。\",\n noServiceWorker: \"无法连接应用的 Service Worker。请重新加载页面后重试。\",\n pushTimeout: \"浏览器的推送服务没有响应。请检查网络连接后重试。\",\n testSent: (count) => `测试已发送到 ${n(count)} 台设备`,\n testNone: \"没有设备接收此测试。请先为此设备开启通知。\",\n testFailed: \"无法发送测试通知。\",\n explainerTitle: \"开启通知?\",\n explainerBody: (app) => `${app} 只会就您选择的内容发送通知,您可以随时关闭。`,\n explainerHint: \"接下来浏览器会请求您的许可。\",\n explainerContinue: \"继续\",\n devicesTitle: \"通知设备\",\n devicesDescription: \"为您的账户接收推送通知的所有设备。请移除不再使用的设备。\",\n devicesLoading: \"正在加载设备…\",\n devicesEmpty: \"还没有设备接收通知。\",\n unknownDevice: \"未知设备\",\n thisDevice: \"此设备\",\n added: (date) => `添加于 ${date}`,\n lastDelivery: (date) => `上次送达:${date}`,\n noDelivery: \"尚未送达\",\n failures: (count) => `连续 ${n(count)} 次送达失败`,\n remove: \"移除\",\n // Starts with `remove`, the button's visible text, for voice control.\n removeItem: (device) => `移除:${device}`,\n removePrompt: \"停止向此设备发送通知?\",\n deviceTypes: \"此设备上的类型\",\n deviceTypesDescription: \"关闭某个类型,即可仅在此设备上将其静音。\",\n deviceTypesEmpty: \"没有开启推送通知的类型。\",\n inboxTitle: \"收件箱\",\n inboxLoading: \"正在加载通知…\",\n inboxEmpty: \"没有新通知。\",\n markAllRead: \"全部标为已读\",\n clearAll: \"全部清除\",\n clearPrompt: \"删除收件箱中的所有通知?\",\n showMore: \"显示更多\",\n bellLabel: \"通知\",\n bellUnread: (count) => `${n(count)} 条未读`,\n allNotifications: \"所有通知\",\n unsubscribeTitle: \"电子邮件通知\",\n unsubscribeAbout: (type) => `您会收到有关以下内容的邮件:${type}。`,\n unsubscribeGeneric: \"您会收到通知邮件。\",\n stopThese: \"停止接收这些邮件\",\n stopAll: (app) => `停止接收来自 ${app} 的所有通知邮件`,\n stoppedThese: \"已完成。您将不再收到这些邮件。\",\n stoppedAll: (app) => `已完成。您将不再收到来自 ${app} 的通知邮件。`,\n accountMail: \"有关您账户的邮件仍会照常发送。\",\n turnBackOn: \"您可以随时在“设置”中重新开启。\",\n openSettings: \"打开设置\",\n invalidLink: \"此链接已失效。您可以改为在“设置”中关闭这些邮件。\",\n failed: \"操作未成功,请重试。\",\n },\n sessions: {\n title: \"会话\",\n description: \"在不再使用或不信任的设备上登录过?请在所有设备上退出登录。\",\n signOutEverywhere: \"在所有设备上退出登录…\",\n signOutEverywherePrompt: \"这将结束所有会话,包括当前会话:此设备也会退出登录,您需要在这里重新登录。\",\n confirmSignOutEverywhere: \"在所有设备上退出登录\",\n list: \"您已登录的设备\",\n loading: \"正在加载会话…\",\n empty: \"没有可显示的会话。\",\n current: \"此设备\",\n unknownDevice: \"未知设备\",\n lastActive: (when) => `上次活动:${when}`,\n ip: (address) => `IP:${address}`,\n revoke: \"退出登录\",\n // Starts with `revoke`, the button's visible text, for voice control.\n revokeItem: (device) => `退出登录:${device}`,\n failed: \"操作未成功,请重试。\",\n },\n deleteAccount: {\n title: \"删除账户\",\n afterDays: (days) => `您的账户将立即停用,并在 ${n(days)} 天后被永久删除。`,\n operator: \"您的账户将立即停用,之后由运营者将其永久删除。\",\n arm: \"删除账户…\",\n prompt: \"您将在所有设备上退出登录,且无法再使用此账户。\",\n handOver: (count) => `${n(count)} 项他人可见的内容将移交给一位管理员。`,\n confirm: \"删除我的账户\",\n done: \"您的账户已停用,正在退出登录。\",\n wrongPassword: \"密码不正确。\",\n confirmationMismatch: \"这不是您账户的地址。\",\n lastAdmin: \"您是最后一位管理员。请先将其他人设为管理员。\",\n lastAdminOf: (companies) => `您是 ${companies} 的最后一位管理员。请先在那里将其他人设为管理员。`,\n householdHasMembers: \"您的家庭还有其他成员,因此无法在此删除账户。请联系运营者。\",\n rateLimited,\n failed: \"无法删除您的账户,请重试。\",\n },\n dataExport: {\n title: \"导出您的数据\",\n description: \"下载您账户数据的副本(JSON 文件)。\",\n download: \"下载我的数据\",\n started: \"下载已开始。\",\n saveAgain: \"没有开始?保存文件\",\n rateLimited: (seconds) =>\n seconds && seconds > 0\n ? `您刚刚导出过数据,请 ${wait(seconds)}后重试。`\n : \"您刚刚导出过数据,请一分钟后重试。\",\n failed: \"导出失败,请重试。\",\n },\n userRoster: {\n name: \"姓名\",\n email: \"电子邮箱\",\n role: \"角色\",\n state: \"状态\",\n created: \"创建时间\",\n lastLogin: \"最后登录\",\n never: \"从未\",\n actions: \"操作\",\n actionsFor: (name) => `${name} 的操作`,\n },\n roleSelect: {\n label: \"角色\",\n rolesLegend: \"角色\",\n roleOf: (name) => `${name} 的角色`,\n lockedLastAdmin: \"最后一位活跃管理员必须保留此角色。\",\n lockedSelf: \"您不能更改自己的角色。\",\n notForLastAdmin: \"不适用于最后一位管理员\",\n notForSelf: \"不适用于您自己的账户\",\n unavailable: (role, reason) => `${role}(${reason})`,\n },\n reviewerScope: {\n languages: \"语言\",\n hint: \"勾选此人负责审校的语言。\",\n none: \"未选择语言:保存后将取消审校者角色。\",\n areas: \"仅限\",\n legalOnly: \"仅法律页面\",\n legalOnlyHint: \"运营者信息、隐私政策和使用条款——适合律师而非母语审校者。\",\n failed: \"无法保存审校范围,请重试。\",\n },\n adminAction: {\n confirm: \"确认\",\n cancel: \"取消\",\n close: \"关闭\",\n lastAdmin: \"这是最后一位活跃管理员。请先将其他人设为管理员。\",\n self: \"不能对您自己的账户执行此操作。\",\n confirmationMismatch: \"该地址与此账户不符。请检查您当前所在的账户。\",\n otherCompanies:\n \"此账户也属于其他公司,因此只有平台运营者才能执行此操作。您可以改为将其从本公司移除。\",\n removeFromCompany: \"从公司移除\",\n failed: \"操作未成功,请重试。\",\n },\n adminActionLog: {\n title: \"管理操作\",\n empty: \"暂无管理操作。\",\n loading: \"加载中…\",\n by: (actor) => `操作者:${actor}`,\n bySelf: \"用户本人\",\n automatic: \"自动执行\",\n erased: \"已删除的账户\",\n filteredTo: (target) => `仅 ${target}`,\n showAll: \"显示全部操作\",\n filterBy: (target) => `仅显示针对 ${target} 的操作`,\n actions: {\n deactivate: \"已停用\",\n reactivate: \"已重新激活\",\n role: \"角色已更改\",\n password_change_require: \"已要求设置新密码\",\n password_change_withdraw: \"已撤回新密码要求\",\n mail_verification: \"已发送确认邮件\",\n mail_reset: \"已发送密码重置邮件\",\n reviewer: \"审校范围已更改\",\n invite: \"已邀请\",\n invite_resend: \"已重新发送邀请\",\n invite_revoke: \"已撤回邀请\",\n transfer: \"工作已移交\",\n deletion_request: \"已申请删除\",\n deletion_cancel: \"已取消删除\",\n erase: \"账户已永久删除\",\n plan: \"套餐已更改\",\n },\n // 0.34 (§11.5): whole phrases per noun. `team` is Kurvenschmiede's \"团队\"; `company`\n // keeps `actions.membership_remove`'s string.\n renamedFromTo: (from, to) => `从 ${from} 改为 ${to}`,\n groupActions: {\n group: {\n group_create: \"群组已创建\",\n group_rename: \"群组已重命名\",\n group_delete: \"群组已删除\",\n group_deactivate: \"群组已停用\",\n group_reactivate: \"群组已重新激活\",\n membership_add: \"已添加到群组\",\n membership_role: \"群组中的角色已更改\",\n membership_remove: \"已从群组移除\",\n deleted: \"已删除的群组\",\n },\n team: {\n group_create: \"团队已创建\",\n group_rename: \"团队已重命名\",\n group_delete: \"团队已删除\",\n group_deactivate: \"团队已停用\",\n group_reactivate: \"团队已重新激活\",\n membership_add: \"已添加到团队\",\n membership_role: \"团队中的角色已更改\",\n membership_remove: \"已从团队移除\",\n deleted: \"已删除的团队\",\n },\n company: {\n group_create: \"公司已创建\",\n group_rename: \"公司已重命名\",\n group_delete: \"公司已删除\",\n group_deactivate: \"公司已停用\",\n group_reactivate: \"公司已重新激活\",\n membership_add: \"已添加到公司\",\n membership_role: \"公司中的角色已更改\",\n membership_remove: \"已从公司移除\",\n deleted: \"已删除的公司\",\n },\n budget: {\n group_create: \"预算已创建\",\n group_rename: \"预算已重命名\",\n group_delete: \"预算已删除\",\n group_deactivate: \"预算已停用\",\n group_reactivate: \"预算已重新激活\",\n membership_add: \"已添加到预算\",\n membership_role: \"预算中的角色已更改\",\n membership_remove: \"已从预算移除\",\n deleted: \"已删除的预算\",\n },\n },\n },\n transferOwnership: {\n title: (name) => `移交 ${name} 的工作`,\n body: \"此账户拥有的全部内容将一次性转移到您选择的账户。\",\n recipient: \"移交给\",\n choose: \"选择账户…\",\n chooseFirst: \"请选择接收工作的人\",\n confirm: \"移交\",\n customer: \"客户\",\n deactivated: \"已停用\",\n self: \"同一账户\",\n unavailable: (account, reason) => `${account}(${reason})`,\n noCandidates: \"没有其他账户可以接收。\",\n },\n invitations: {\n email: \"电子邮箱地址\",\n invalidEmail: \"请输入完整的电子邮箱地址。\",\n role: \"角色\",\n scope: \"范围\",\n scopeNone: \"无\",\n language: \"邀请邮件语言\",\n note: \"备注\",\n invite: \"邀请\",\n listTitle: \"邀请\",\n empty: \"尚未邀请任何人。\",\n loading: \"加载中…\",\n status: { open: \"等待中\", accepted: \"已接受\", expired: \"已过期\", revoked: \"已撤回\" },\n sent: (date) => `发送于 ${date}`,\n expires: (date) => `${date} 到期`,\n invitedBy: (name) => `邀请人:${name}`,\n resend: (email) => `向 ${email} 发送新链接`,\n copyLink: \"复制邀请链接\",\n revoke: (email) => `撤回对 ${email} 的邀请`,\n consoleHint:\n \"此服务器不发送邮件——邮件会写入服务器日志。请在这里复制每个邀请链接并自行转交:链接只显示一次。\",\n linkReady: (email) => `${email} 的邀请链接,仅显示这一次:`,\n notSent: (email) => `已邀请 ${email},但邮件未能发送。请重新发送。`,\n failed: \"操作未成功,请重试。\",\n },\n characterCount: {\n count: (used, max) => `已输入 ${n(used)}/${n(max)} 个字符`,\n remaining: (left) => `还可输入 ${n(left)} 个字符`,\n limitReached: \"已达到字符数上限\",\n },\n countrySelect: {\n country: \"国家/地区\",\n search: \"搜索国家/地区\",\n others: \"其他国家/地区\",\n },\n inlineEdit: {\n edit: (label) => `编辑“${label}”`,\n failed: \"无法保存更改。\",\n empty: \"空\",\n },\n ibanInput: {\n format: \"IBAN 以两个字母的国家代码和两位校验码开头。\",\n country: (code) => `“${code}”不是 IBAN 的国家代码。`,\n length: (actual, expected) =>\n `该国家的 IBAN 应为 ${n(expected)} 个字符,当前为 ${n(actual)} 个。`,\n checksum: \"校验码不匹配,可能有字符输入错误。\",\n qrRequired: \"这是普通 IBAN。QR 账单需要该账户的 QR-IBAN。\",\n qrNotAllowed: \"这是 QR-IBAN,只能接收 QR 账单付款。请输入该账户的普通 IBAN。\",\n },\n phoneInput: {\n countryCode: \"国家/地区代码\",\n other: \"其他\",\n },\n signChip: {\n outflow: \"支出\",\n inflow: \"收入\",\n direction: (current, next) => `方向:${current},切换为${next}`,\n switchTo: (next) => `切换为${next}`,\n },\n columnMapper: {\n paste: \"粘贴表格\",\n pasteHint: \"从电子表格中复制行并粘贴到此处,或拖放 CSV 或文本文件。\",\n chooseFile: \"选择文件\",\n readError: (name) => `无法读取“${name}”`,\n headerRow: \"第一行为列名\",\n summary: (columns, rows) => `${n(columns)} 列,${n(rows)} 行`,\n separatorSemicolon: \"以分号分隔\",\n separatorComma: \"以逗号分隔\",\n separatorTab: \"以制表符分隔\",\n separatorSpace: \"以空格分隔\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"小数点为逗号(1,5)\",\n decimalPoint: \"小数点为句点(1.5)\",\n unreadCount: (count) => `${n(count)} 行无法读取`,\n unreadLine: (line) => `无法读取第 ${line} 行`,\n unreadMore: (count) => `……另有 ${n(count)} 行`,\n noRows: \"此文本中没有任何一行能读作表格的一行。\",\n table: \"列及其用途\",\n columnN: (column) => `第 ${column} 列`,\n roleOf: (column) => `“${column}”列的内容是什么?`,\n ignore: \"忽略\",\n requiredRole: (role) => `${role}(必填)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) => `显示前 ${n(shown)} 行,共 ${n(total)} 行`,\n // `roles` arrives joined with \"或\" (\"借方或贷方\").\n oneOf: (roles) => `${roles}(任选其一)`,\n missing: (roles) => `仍需指定:${roles}。`,\n },\n translationReview: {\n statusMissing: \"缺失\",\n statusUnreviewed: \"未审校\",\n statusChanged: \"审校后已更改\",\n statusNeedsChange: \"需要修改\",\n statusApproved: \"已通过\",\n statusFilter: \"状态\",\n all: \"全部\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"文本\",\n allSources: \"全部文本\",\n namespace: \"区域\",\n allNamespaces: \"全部区域\",\n search: \"搜索键名和文本\",\n placeholdersOnly: (count) => `仅显示占位符问题(${n(count)})`,\n placeholderChip: \"占位符\",\n key: \"键名\",\n statusColumn: \"状态\",\n empty: \"没有符合这些筛选条件的文本。\",\n missingText: \"此语言中缺失\",\n progress: (approved, total) => `已通过 ${n(approved)} / ${n(total)}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"语言\",\n approve: \"通过\",\n flag: \"需要修改\",\n suggest: \"建议译文\",\n flagRow: \"标记为需修改…\",\n suggestRow: \"添加译文…\",\n reset: \"标记为未审校\",\n cancel: \"取消\",\n approveSelected: \"通过所选项\",\n resetSelected: \"将所选项标记为未审校\",\n selectShown: \"选择所有显示项\",\n changedSince: \"此文本在审校后已更改,请重新阅读。\",\n reviewedWording: \"审校时的措辞\",\n reviewedReference: \"审校时的参考文本\",\n placeholderMismatch: (reference, text) =>\n `占位符与参考文本不一致——参考文本:${reference};此文本:${text}。应用会在这些位置填入内容,因此必须保持原样。`,\n // A Latin name gets a space either side, as everywhere in this catalogue.\n lastApproved: (name, date) => `${name} 于 ${date} 通过`,\n lastFlagged: (name, date) => `${name} 于 ${date} 标记为需要修改`,\n erasedReviewer: \"已删除的账户\",\n suggestion: \"更好的措辞\",\n translation: \"译文\",\n note: \"备注(可选)\",\n notePlaceholder: \"哪里有问题,或需要注意什么\",\n readOnly: \"此语言仅可查看,无法审校。\",\n scope: (areas) => `审校范围仅限于:${areas}。`,\n exportCorrections: (count) => `导出更正(${n(count)})`,\n failed: \"操作未成功,请重试。\",\n approvedToast: (count) => (count === 1 ? \"文本已通过\" : `已通过 ${n(count)} 条文本`),\n clearedToast: (count) => (count === 1 ? \"文本已标记为未审校\" : `已将 ${n(count)} 条文本标记为未审校`),\n groupCount: (unreviewed, total) => `未审校 ${n(unreviewed)} / ${n(total)}`,\n approveGroup: (count) => `通过未审校项(${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `通过“${group}”中的未审校文本?`\n : `通过“${group}”中全部 ${n(count)} 条未审校文本(包括未显示在屏幕上的)?`,\n },\n // 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md\n // §4–§5: the settings shell, the landing page's generic words and the demo. The help\n // lines name things as `accountSettings`, `sessions` and `dataExport` do; \"访问权限\"\n // as `shareCard`. A space either side of a numeral or a Latin name.\n settings: {\n title: \"设置\",\n search: \"搜索设置\",\n searchPlaceholder: \"搜索设置…\",\n results: \"匹配的设置\",\n noMatches: (query) => `没有与“${query}”匹配的设置。`,\n // As `commandPalette.clear`.\n clearSearch: \"清除搜索\",\n back: \"返回设置\",\n sections: \"设置分类\",\n matchCount: (count) => `${n(count)} 个匹配项`,\n groups: {\n appearance: {\n title: \"外观\",\n help: \"语言、主题,以及应用在此设备上的外观。\",\n },\n account: {\n title: \"账户\",\n help: \"您的个人资料和电子邮箱地址。\",\n },\n security: {\n title: \"安全\",\n help: \"您的登录方式,以及已在哪些设备上登录。\",\n },\n notifications: {\n title: \"通知\",\n help: \"您会收到哪些通知、何时收到,以及在哪些设备上收到。\",\n },\n data: {\n title: \"数据\",\n help: \"导出属于您的数据,或将其连同账户一并删除。\",\n },\n },\n },\n landing: {\n signIn: \"登录\",\n requestAccess: \"申请访问权限\",\n getStarted: \"开始使用\",\n tryDemo: \"体验演示\",\n openApp: \"打开应用\",\n continueDemo: \"继续演示\",\n beta: \"测试版\",\n // Plain text: a mail's subject and body lines, never HTML. Full-width colons.\n accessSubject: (app) => (app ? `申请访问 ${app}` : \"访问权限申请\"),\n accessName: \"姓名:\",\n accessCompany: \"公司:\",\n accessUse: \"用途:\",\n },\n demo: {\n starting: \"正在启动演示…\",\n rateLimited: (minutes) =>\n minutes\n ? `来自此网络的演示过多,请 ${n(minutes)} 分钟后重试。`\n : \"来自此网络的演示过多,请稍后重试。\",\n capacity: \"演示名额已满,请稍后重试。\",\n unavailable: \"演示暂不可用。\",\n failed: \"无法启动演示,请重试。\",\n // As `legal.backHome`.\n backToStart: \"返回首页\",\n hoursLeft: (hours, minutes) => `演示 · 剩余 ${n(hours)} 小时 ${n(minutes)} 分钟`,\n minutesLeft: (minutes) => `演示 · 剩余 ${n(minutes)} 分钟`,\n badge: \"演示\",\n readOnly: \"您正在查看示例数据,无法进行修改。\",\n sandbox: \"您自己创建的内容将在演示结束时删除。\",\n details: \"演示详情\",\n writeLocked: \"演示中无法执行此操作。\",\n endedTitle: \"演示已结束\",\n endedReadOnly: \"示例数据会定期重置。\",\n endedSandbox: \"示例数据会定期重置;您在演示中创建的内容会被删除。\",\n restart: \"开始新的演示\",\n },\n // 0.32.0 — docs/billing-harmonization.md §7, §10 and §12.24: \"套餐\" is what is bought\n // (Free, Pro), \"订阅\" the standing arrangement and the settings group. \"您\".\n billing: {\n group: \"订阅\",\n plans: \"套餐\",\n interval: \"计费周期\",\n yearly: \"按年\",\n monthly: \"按月\",\n // As `currency.currency`.\n currency: \"货币\",\n perYear: \"每年\",\n perMonth: \"每月\",\n vatIncluded: \"含增值税\",\n free: \"免费\",\n notOffered: \"此计费周期不提供\",\n // As `progressBar.unlimited`.\n unlimited: \"无限制\",\n limits: \"限额\",\n features: \"包含内容\",\n current: \"当前套餐\",\n choose: (plan) => `选择 ${plan}`,\n upgrade: (plan) => `升级到 ${plan}`,\n downgrade: (plan) => `切换到 ${plan}`,\n isCurrent: \"这是您当前的套餐。\",\n pickFirst: \"请先选择一个套餐。\",\n status: {\n trialing: \"试用中\",\n active: \"有效\",\n past_due: \"付款逾期\",\n canceled: \"已取消\",\n // As `invitations.status.expired`.\n expired: \"已过期\",\n comped: \"免费赠送\",\n },\n trialEnding: (days) =>\n `您的试用期将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,\n grantEnding: (days) =>\n `您的免费使用权将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,\n paymentFailed: \"您的上一笔付款未成功。请更新付款方式,以保留您的套餐。\",\n planEnded: \"您的套餐已结束。您仍可查看和导出所有内容;选择套餐后即可再次进行修改。\",\n // Never why: the owner's payment status is the owner's personal data (§12.6).\n guestReadOnly: (item) =>\n item\n ? `“${item}”目前为只读;其所有者可以解除此限制。`\n : \"此内容目前为只读;其所有者可以解除此限制。\",\n processing: \"您的付款正在处理中。确认后您的套餐即会生效;此页面会自动更新。\",\n choosePlan: \"选择套餐\",\n updatePayment: \"更新付款方式\",\n // 0.42 (§16.7 A): for an admin who isn't the buyer.\n paymentFailedAskBuyer: (buyer) =>\n buyer ? `付款未成功。${buyer} 可以更新付款方式。` : \"付款未成功。购买该订阅的管理员可以更新付款方式。\",\n checkAgain: \"再次检查\",\n lockReason: \"您的套餐已结束。选择套餐后即可再次进行修改。\",\n // As `characterCount.limitReached` (\"已达到字符数上限\").\n limitReached: \"已达到套餐上限\",\n limitUpgrade: \"如需添加更多,请选择上限更高的套餐。\",\n limitContact: \"如需添加更多,请向我们申请更高的上限。\",\n askForMore: \"申请提高上限\",\n // Both figures arrive formatted; written as `characterCount.count` writes them.\n usage: (used, limit) => `${used}/${limit}`,\n contactSubject: (dimension) => `套餐上限:${dimension}`,\n // The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12);\n // written as `usage` writes the figures.\n limitUsageLine: (dimension, used, limit) => `${dimension}:${used}/${limit}`,\n manage: \"付款与发票\",\n cancel: \"取消订阅\",\n // §14.5: no customer at the provider yet, so no portal to open.\n notAtProvider: \"暂无可管理的内容。开通付费套餐后,付款和发票会显示在这里。\",\n // §14.4: the pay page's lines, built into its bundle.\n payOpening: \"正在打开安全支付页面…\",\n payNothing: \"这里没有需要支付的款项。如需选择套餐,请返回应用。\",\n payFailed: \"无法打开支付页面。请返回后稍候再试。\",\n payBack: \"支付页面已关闭。您可以返回,或重新加载此页面以再次打开。\",\n payDone: \"付款已完成。您可以关闭此页面。\",\n // 0.39 (§15.2.10): PlanSwitchConfirm.\n switchTitle: \"更改套餐\",\n switchFromTo: (from, to) => `从 ${from} 更改为 ${to}`,\n switchChargedNow: \"立即扣款\",\n switchCredited: \"抵扣后续扣款\",\n switchNextCharge: (date) => `下次扣款日期:${date}`,\n switchConfirm: \"更改套餐\",\n // 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.\n buyerHolds: (buyer) =>\n buyer\n ? `付款方式和发票由购买该订阅的 ${buyer} 管理。`\n : \"付款方式和发票由购买该订阅的管理员管理。\",\n cancelConfirmTitle: \"取消订阅\",\n cancelConfirmBody: (date) => `您的订阅将于 ${date} 结束。在此之前,一切照常使用。`,\n cancelConfirmAction: \"立即取消订阅\",\n keepSubscription: \"保留订阅\",\n portalOpensNewTab: (provider, app) =>\n `付款和发票将在新标签页中于 ${provider} 打开;${app ? `${app} 仍在此保持打开` : \"本页面仍保持打开\"}。`,\n grantWarningTitle: \"您的免费使用权仍然有效\",\n grantWarningBody: \"您的免费使用权没有结束日期。在此期间,购买不会改变您的套餐:您将为一个不生效的套餐付费。\",\n grantWarningAction: \"仍然购买\",\n waitingChanges: (count) => `${n(count)} 项修改正在等待套餐`,\n // \"放弃\", as `wizard.cancelConfirmLabel`.\n discardWaiting: \"放弃等待中的修改\",\n notConfigured: \"付款尚未设置,请稍后再试。\",\n disabled: \"此处不提供订阅。\",\n // §14.2: server-kit 0.7's refusals. \"付款与发票\", as `manage`.\n providerUnavailable: \"暂时无法连接支付服务商,请稍后再试。\",\n alreadySubscribed: \"您已有订阅。请在上方更改套餐。\",\n planNotSold: \"该套餐不支持此计费周期或货币,请选择其他套餐。\",\n // 0.39 (§15.2.10): the plan switch's refusals.\n notSubscribed: \"没有可更改的有效订阅。请选择一个套餐进行订阅。\",\n planUnchanged: \"这已经是您当前的套餐。请选择其他套餐或计费周期。\",\n },\n // 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, \"套餐\" as\n // in `billing`. \"测试版\", as `landing.beta`.\n planChange: {\n column: \"套餐\",\n title: \"更改套餐\",\n confirm: \"更改套餐\",\n plan: \"套餐\",\n current: (plan) => `当前套餐:${plan}`,\n keepsItems: \"较小的套餐只会阻止新建更多内容,不会删除任何内容。\",\n until: \"免费至\",\n untilHint: \"留空表示没有结束日期。正在进行的测试版保留其自身的结束日期。\",\n needsChange: \"请选择其他套餐或结束日期。\",\n changed: (from, to) => `套餐已从 ${from} 更改为 ${to}。`,\n set: (to) => `套餐已设为 ${to}。`,\n keptBeta: \"测试版保留其结束日期;只更改了套餐。\",\n untilDone: (date) => `免费至 ${date}。`,\n overLimit: \"超出新套餐的上限:不会删除任何内容,但无法新建。\",\n // No plural: the app's word reads the same after any number (0.33.1).\n usageOf: (used, limit, dimension) => `${used}/${limit} ${dimension}`,\n },\n // 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in\n // the \"外观\" group.\n appearance: {\n textSize: \"文字大小\",\n textSizeHelp: \"更大的文字,以及为其留出空间的布局。\",\n textSizes: { normal: \"标准\", large: \"大\", xlarge: \"特大\" },\n contrast: \"对比度\",\n contrastHelp: \"增强对比度会加深浅色文字和线条,并加粗焦点框。“跟随系统”沿用此设备的设置。\",\n contrastModes: { system: \"跟随系统\", standard: \"标准\", more: \"增强\" },\n saveFailed: \"无法保存到您的账户。此设备上仍然生效。\",\n // 0.46: DateFormatSetting (keksdose's words where it has them).\n dateFormat: \"日期格式\",\n dateFormatHelp:\n \"整个应用中日期的书写方式。与界面语言无关,因此您可以用英文阅读应用,同时仍看到德式日期。\",\n dateFormatAuto: \"跟随语言\",\n // 0.46: AccountMenuTextSize (keksdose live #426).\n textSmaller: \"缩小文字\",\n textLarger: \"放大文字\",\n },\n // 0.36.0 — docs/settings-harmonization.md §11.3: resetting this device's settings, the\n // last card of \"外观\".\n deviceReset: {\n title: \"重置此设备\",\n description: \"将此设备的外观,以及表格和面板上次留下的状态,恢复为默认值。您的账户、数据和登录状态不受影响。\",\n action: \"重置此设备的设置\",\n confirmTitle: \"要重置此设备的设置吗?\",\n confirmBody:\n \"主题、颜色、文字大小、对比度和语言将在此设备上恢复为默认值,表格和面板会像第一次打开时那样显示。如果您的账户设置了语言、文字大小或对比度,此设备会重新沿用这些设置。您的账户和其他设备保持不变。\",\n confirmAction: \"重置\",\n done: \"此设备的设置已恢复为默认值。\",\n keywords: \"重置 默认 设备 恢复 外观 表格 布局\",\n },\n rowActions: {\n actions: \"操作\",\n actionsFor: (name) => `${name} 的操作`,\n },\n appShellMore: {\n more: \"更多\",\n moreTitle: \"更多页面\",\n },\n // 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words.\n mailTestCard: {\n title: \"测试邮件\",\n description: \"通过本安装发送所有邮件所用的传输方式,向您自己的地址发送一封邮件。\",\n transport: (backend) => `传输方式:${backend}`,\n action: \"给我发送测试邮件\",\n sent: (address) => `已发送至 ${address}。请查看收件箱。`,\n console: \"控制台传输只记录邮件,未发送任何邮件。\",\n failed: \"无法发送。服务器日志中有服务商的回复。\",\n rateLimited,\n keywords: \"测试邮件 邮件 电子邮件 传输 smtp resend 控制台 发送 投递\",\n },\n adminArea: {\n title: \"管理\",\n waiting: (count) => `${n(count)} 项待处理`,\n waitingLabel: (label, count) => `${label},${n(count)} 项待处理`,\n forbiddenTitle: \"仅限管理员\",\n forbiddenBody: (appName) => `管理员在这里管理 ${appName}。您的账户无法打开此页面。`,\n forbiddenHome: \"前往首页\",\n forbiddenReviewer: \"审校翻译\",\n sections: {\n overview: { title: \"概览\", help: \"一眼看清待处理的事项。\" },\n users: { title: \"用户\", help: \"谁拥有账户,以及每个人可以做什么。\" },\n invitations: { title: \"邀请\", help: \"通过电子邮件以对方的语言邀请他人;可重新发送或撤销尚未处理的邀请。\" },\n billing: { title: \"账单\", help: \"套餐、付款和发票。\" },\n activity: { title: \"活动\", help: \"管理员的操作记录,最新的在前。\" },\n },\n tiles: {\n feedbackWaiting: \"待分类\",\n deletionRequests: \"删除请求\",\n invitationsPending: \"待接受的邀请\",\n users: \"用户\",\n usersNew: (count) => `近 7 天新增 ${n(count)} 人`,\n awaitingVerdict: \"待确认\",\n awaitingVerdictHint: \"已答复,等待您或报告人确认已解决\",\n releasedForWork: \"待处理\",\n releasedForWorkHint: \"已就绪、已要求返工或进行中\",\n },\n overviewError: \"无法加载概览。\",\n retry: \"重试\",\n tools: \"工具\",\n },\n // 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts; \"套餐\" as\n // `billing`.\n topBarParts: {\n tours: {\n menu: \"导览\",\n newDot: \"有新导览\",\n thisPage: \"本页\",\n newTours: \"新导览\",\n allTours: \"全部导览…\",\n badgeNew: \"新\",\n completed: \"已完成\",\n badgeUpdated: \"已更新\",\n updatedDot: \"有更新的导览\",\n newAndUpdated: \"新增和更新\",\n },\n sync: {\n blocked: (count) => `${n(count)} 项修改无法从此设备发送`,\n offline: \"离线——修改已保存在此设备上,重新连接后会同步\",\n refused: \"服务器拒绝了上一次同步\",\n syncing: \"正在同步…\",\n pending: (count) => `${n(count)} 项修改等待同步`,\n syncedAt: (time) => `已于 ${time} 同步`,\n idle: \"已是最新\",\n syncHint: \"点按立即同步\",\n offlineHint: \"离线时无可同步内容\",\n withHint: (state, hint) => `${state}——${hint}`,\n scoped: (scope, state) => `${scope}:${state}`,\n offlineShort: \"离线\",\n syncingShort: \"正在同步…\",\n waitingShort: (count) => `${n(count)} 项等待中`,\n refusedShort: \"未同步\",\n offlineUnsaved: \"离线——重新连接前无法保存修改\",\n saving: \"正在保存…\",\n },\n dev: {\n roleHeading: \"开发 · 角色\",\n switchPlan: \"切换套餐\",\n plan: (value) => `套餐:${value}`,\n planHeading: \"开发 · 套餐\",\n backTo: (role) => `返回 ${role}`,\n billingOff: \"本地已关闭计费:切换套餐不会改变任何内容\",\n },\n },\n // 0.45.0 — docs/local-first-harmonization.md §1.6 (`@eifi1/ui-kit/offline`): keksdose's\n // reviewed words (nav.logout_queued_*, pwa.*) where it has the language.\n signOutPending: {\n title: \"部分修改尚未保存到服务器\",\n lost: (count) => `${n(count)} 项修改仍在等待同步。退出登录会清除此设备上的副本,而这是唯一的副本。`,\n kept: (count) => `${n(count)} 项修改仍在等待同步。它们会为您保留在此设备上,并在您下次在此登录时同步。`,\n syncNow: \"立即同步\",\n signOutAnyway: \"仍然退出登录\",\n discardWaiting: \"放弃等待中的修改\",\n cancel: \"取消\",\n },\n pwaUpdate: {\n updateAvailable: \"有新版本可用。\",\n reload: \"重新加载\",\n },\n sharedComputer: {\n label: \"这是一台共用电脑\",\n hint: \"此设备上不会保留您的数据副本。页面将只能在联网时打开。\",\n },\n };\n}\n\nexport const UI_KIT_LABELS_ZH: UiKitLabels = uiKitLabelsZh();\n"],"mappings":";AAAA,SAAS,sBAAsB;AAYxB,SAAS,cAAc,eAAe,SAAsB;AACjE,QAAM,MAAM,IAAI,KAAK,aAAa,YAAY;AAC9C,QAAM,IAAI,CAAC,UAAkB,IAAI,OAAO,KAAK;AAI7C,QAAM,OAAO,CAAC,YACZ,UAAU,KAAK,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,YAAO,GAAG,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC,CAAC;AAC7E,QAAM,cAAc,CAAC,YACnB,CAAC,WAAW,WAAW,IAAI,mFAAkB,oDAAY,KAAK,OAAO,CAAC;AAGxE,QAAM,SAAS,CAAC,SAAkB,QAAQ,IAAI,iBAAO,SAAS,IAAI,iBAAO,IAAI,EAAE,IAAI,CAAC;AAEpF,SAAO;AAAA,IACL,oBAAoB;AAAA,MAClB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,sBAAsB;AAAA,MACtB,sBAAsB,CAAC,SAAS,gBAAM,IAAI;AAAA,MAC1C,iBAAiB,CAAC,QAChB,QAAQ,IAAI,gBAAM,EAAE,GAAG,CAAC,0FAAoB,gBAAM,EAAE,GAAG,CAAC;AAAA,MAC1D,qBAAqB;AAAA,MACrB,wBAAwB,CAAC,SAAS,iCAAQ,IAAI;AAAA,IAChD;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,MAAM;AAAA,MACN,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,YAAY,CAAC,UAAW,QAAQ,8BAAe;AAAA,MAC/C,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,aAAa;AAAA,MACb,MAAM;AAAA,MACN,UAAU,CAAC,aAAa,GAAG,QAAQ;AAAA,MACnC,eAAe;AAAA,IACjB;AAAA;AAAA,IAEA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA,eAAe;AAAA,MACb,WAAW;AAAA,MACX,cAAc;AAAA,MACd,uBAAuB;AAAA,MACvB,oBAAoB;AAAA,MACpB,mBAAmB,CAAC,UAAU,4BAAQ,EAAE,KAAK,CAAC;AAAA,MAC9C,eAAe;AAAA,MACf,cAAc;AAAA,MACd,eAAe,CAAC,QAAQ,UAAU,2BAAO,MAAM,eAAK,KAAK;AAAA,MACzD,YAAY;AAAA,MACZ,gBAAgB,CAAC,QAAQ,UAAU,iCAAQ,MAAM,eAAK,KAAK;AAAA,MAC3D,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,aAAa;AAAA,IACf;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA;AAAA;AAAA,IAGA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC7B,UAAU,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAChC,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC7B,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,2BAAO,IAAI;AAAA,MAC9B,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,MACT,OAAO;AAAA,MACP,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,eAAe;AAAA,MACf,MAAM,CAAC,SAAS,UAAK,EAAE,IAAI,CAAC;AAAA,IAC9B;AAAA,IACA,2BAA2B;AAAA,MACzB,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,SAAS;AAAA,MACT,oBAAoB;AAAA,MACpB,UAAU;AAAA,MACV,qBAAqB;AAAA,MACrB,YAAY;AAAA,IACd;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,WAAW;AAAA,MACX,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA;AAAA,MAEb,cAAc,CAAC,OAAO,iBAAO,EAAE;AAAA,MAC/B,aAAa,CAAC,gBAAgB,OAAO,eAAe,EAAE,EAAE,YAAY;AAAA,MACpE,YAAY,CAAC,UAAW,UAAU,IAAI,iBAAO,oBAAO,EAAE,KAAK,CAAC;AAAA,MAC5D,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,IACA,gBAAgB;AAAA,MACd,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU,CAAC,SAAS,gBAAM,IAAI;AAAA,MAC9B,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY,CAAC,SAAS,iCAAQ,IAAI;AAAA,MAClC,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,mBAAmB;AAAA,MACnB,oBAAoB;AAAA,MACpB,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,MAAM;AAAA,IACR;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,MACP,eAAe;AAAA,MACf,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,aAAa;AAAA,QACb,aAAa;AAAA,QACb,MAAM;AAAA,QACN,WAAW;AAAA,QACX,UAAU;AAAA,QACV,cAAc;AAAA,MAChB;AAAA,MACA,UAAU;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,eAAe;AAAA,MACjB;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA;AAAA,QAEZ,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,sBAAsB;AAAA,QACtB,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,WAAW;AAAA,QACX,iBAAiB;AAAA,QACjB,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,YAAY,CAAC,SAAS,sBAAO,IAAI;AAAA,QACjC,aAAa,CAAC,SAAS,GAAG,IAAI;AAAA,QAC9B,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,YAAY,CAAC,SAAS,gBAAM,IAAI;AAAA,QAChC,eAAe,CAAC,SAAS,qBAAM,IAAI;AAAA,QACnC,eAAe;AAAA,QACf,SAAS,CAAC,SAAS,sBAAO,IAAI;AAAA,QAC9B,UAAU,CAAC,SAAS,iCAAQ,IAAI;AAAA,QAChC,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW,CAAC,QAAQ,sBAAO,GAAG;AAAA,MAC9B,OAAO;AAAA,MACP,WAAW;AAAA,MACX,MAAM,CAAC,QAAQ,QAAQ,GAAG,MAAM,gBAAM,GAAG;AAAA,MACzC,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,cACE;AAAA,MACF,WAAW,CAAC,SAAS,kCAAS,IAAI;AAAA,MAClC,QAAQ,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC9B,UAAU,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,IAClC;AAAA,IACA,cAAc,EAAE,OAAO,2BAAO;AAAA,IAC9B,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA;AAAA,MAEX,YAAY,CAAC,OAAO,UAAU,GAAG,KAAK,SAAI,KAAK;AAAA,MAC/C,eAAe;AAAA,MACf,YAAY,CAAC,UAAU,qBAAM,KAAK;AAAA,MAClC,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,eAAe;AAAA,MACf,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,gBAAgB;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,MACV,UAAU;AAAA,MACV,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,QACP,OAAO;AAAA,QACP,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,WAAW;AAAA,MACb;AAAA,MACA,OAAO;AAAA,MACP,eAAe,CAAC,OAAO,UAAU,gBAAM,EAAE,KAAK,CAAC,uBAAQ,EAAE,KAAK,CAAC;AAAA,MAC/D,iBAAiB,CAAC,WAAW,qBAAM,MAAM;AAAA,MACzC,kBAAkB,CAAC,WAAW,qBAAM,MAAM;AAAA,MAC1C,aAAa,CAAC,WAAW,2BAAO,MAAM;AAAA,MACtC,aAAa,CAAC,MAAM,eAAe,UAAK,EAAE,IAAI,CAAC,uBAAQ,EAAE,UAAU,CAAC;AAAA,MACpE,WAAW,CAAC,MAAM,IAAI,UAAU,GAAG,EAAE,IAAI,CAAC,SAAI,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACjE,UAAU,CAAC,UAAU,EAAE,KAAK;AAAA,MAC5B,cAAc,CAAC,SAAS,UAAU,eAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,MAC7D,cAAc,CAAC,QAAQ,WAAY,SAAS,eAAK,MAAM,mCAAU,eAAK,MAAM;AAAA,MAC5E,OAAO;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc;AAAA,MACd,UAAU;AAAA,MACV,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,gBAAgB;AAAA,IAClB;AAAA,IACA,cAAc;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA;AAAA,MAEX,KAAK,CAAC,SAAS;AAAA,MACf,aAAa;AAAA,MACb,WAAW;AAAA,MACX,eAAe,CAAC,SAAS,sBAAO,IAAI;AAAA,MACpC,eAAe,CAAC,MAAM,OAAO,sBAAO,IAAI,WAAM,EAAE;AAAA,IAClD;AAAA,IACA,aAAa;AAAA,MACX,cAAc;AAAA,MACd,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO,CAAC,cAAc;AAAA,MACtB,eAAe;AAAA,MACf,WAAW;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,KAAK,CAAC,MAAM,UAAU,GAAG,IAAI,SAAI,KAAK;AAAA,MACtC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,WAAW,CAAC,UACV,sEAAe,EAAE,KAAK,CAAC;AAAA,IAC3B;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ,CAAC,UAAU,qBAAM,KAAK;AAAA,MAC9B,eAAe,CAAC,UAAU,gBAAM,EAAE,KAAK,CAAC;AAAA,MACxC,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MACnC,UAAU,CAAC,UAAU,kCAAS,EAAE,KAAK,CAAC;AAAA,IACxC;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA;AAAA,MAEL,eAAe,CAAC,UAAU,EAAE,KAAK;AAAA,IACnC;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,OAAO,CAAC,UAAU,2BAAO,KAAK;AAAA,MAC9B,SAAS,CAAC,UAAU,2BAAO,KAAK;AAAA,MAChC,QAAQ;AAAA,MACR,SAAS,CAAC,QAAQ,iCAAQ,EAAE,GAAG,CAAC;AAAA,MAChC,WAAW,CAAC,UAAU,SAAI,KAAK;AAAA,IACjC;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,IACrC;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,eAAe;AAAA,MACb,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ,CAAC,WAAW,qBAAM,MAAM;AAAA,MAChC,aAAa;AAAA,MACb,aAAa,CAAC,WAAW,qBAAM,MAAM;AAAA,MACrC,kBAAkB;AAAA,MAClB,eAAe;AAAA,IACjB;AAAA,IACA,MAAM;AAAA,MACJ,KAAK;AAAA;AAAA,MAEL,QAAQ,CAAC,QAAQ,qBAAM,GAAG;AAAA,MAC1B,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa,CAAC,eAAe,GAAG,UAAU;AAAA,IAC5C;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM,CAAC,UAAU,qBAAM,KAAK;AAAA,IAC9B;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,IACT;AAAA,IACA,eAAe;AAAA,MACb,UAAU,CAAC,UAAU,sBAAO,EAAE,KAAK,CAAC;AAAA,MACpC,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,IACX;AAAA,IACA,MAAM;AAAA;AAAA,MAEJ,MAAM,CAAC,UAAU,eAAe,OAAO,YAAY;AAAA,IACrD;AAAA,IACA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM,CAAC,WAAY,SAAS,qBAAM,MAAM,KAAK;AAAA,MAC7C,MAAM;AAAA,MACN,cAAc,CAAC,UAAW,UAAU,IAAI,yCAAW,GAAG,EAAE,KAAK,CAAC;AAAA,MAC9D,cAAc,CAAC,SAAS,SAAI,IAAI;AAAA,MAChC,kBAAkB,CAAC,WAAW,gBAAM,MAAM;AAAA,MAC1C,cAAc,CAAC,MAAM,YAAY,SAAI,IAAI,sBAAO,OAAO;AAAA,MACvD,eAAe,CAAC,MAAM,aAAa,2BAAO,IAAI,4BAAQ,EAAE,QAAQ,CAAC;AAAA,MACjE,iBAAiB,CAAC,SAAS,SAAI,IAAI;AAAA,MACnC,cAAc,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MACpC,UAAU,CAAC,OAAO,cAChB,UAAU,IAAI,2BAAO,SAAS,WAAM,sBAAO,EAAE,KAAK,CAAC;AAAA,MACrD,QAAQ,CAAC,SAAS,qBAAM,IAAI;AAAA,MAC5B,UAAU;AAAA,MACV,SAAS,CAAC,SAAS,2BAAO,IAAI;AAAA,MAC9B,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,MAAM,CAAC,SAAS,UAAU,UAAK,EAAE,OAAO,CAAC,uBAAQ,EAAE,KAAK,CAAC;AAAA,MACzD,aAAa;AAAA,MACb,eAAe;AAAA,MACf,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,MACpB,aAAa;AAAA,MACb,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAChB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,gBAAgB;AAAA;AAAA,MAChB,MAAM,CAAC,SAAS,UAAU,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,IACvD;AAAA;AAAA,IAEA,eAAe;AAAA,MACb,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,YAAY;AAAA,MACZ,UAAU,CAAC,UAAU,iCAAQ,EAAE,KAAK,CAAC;AAAA,MACrC,aAAa,CAAC,OAAO,UAAU,GAAG,KAAK,SAAI,EAAE,KAAK,CAAC;AAAA,MACnD,YAAY;AAAA,MACZ,UAAU,CAAC,UAAU,qBAAM,EAAE,KAAK,CAAC;AAAA,MACnC,WAAW,CAAC,UAAU,2BAAO,EAAE,KAAK,CAAC;AAAA,MACrC,WAAW,CAAC,UAAU,2BAAO,EAAE,KAAK,CAAC;AAAA,MACrC,SAAS,CAAC,OAAO,UAAU,gBAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACvD,WAAW;AAAA,MACX,eAAe;AAAA,MACf,cAAc;AAAA,MACd,UAAU;AAAA,MACV,cAAc;AAAA,MACd,SAAS,CAAC,MAAM,WAAY,SAAS,gBAAM,IAAI,sBAAO,MAAM,KAAK,gBAAM,IAAI;AAAA,MAC3E,QAAQ,CAAC,UAAU,IAAI,EAAE,KAAK,CAAC;AAAA,MAC/B,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC7B,UAAU,CAAC,YAAY,UAAK,EAAE,OAAO,CAAC;AAAA,MACtC,aAAa,CAAC,SAAS,sBAAO,IAAI;AAAA,MAClC,WAAW;AAAA,MACX,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,UAAU,CAAC,SAAS,qBAAM,IAAI;AAAA,MAC9B,aAAa;AAAA,MACb,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,QAAQ,CAAC,OAAO,SAAS,UAAK,KAAK,uBAAQ,IAAI;AAAA,MAC/C,SAAS,CAAC,OAAO,SAAS,UAAK,KAAK,uBAAQ,IAAI;AAAA,MAChD,MAAM,CAAC,UAAU,sBAAO,KAAK;AAAA,MAC7B,QAAQ,CAAC,UAAU,iCAAQ,KAAK;AAAA,MAChC,QAAQ;AAAA,MACR,OAAO,CAAC,MAAM,YAAY,GAAG,IAAI,SAAI,OAAO;AAAA,IAC9C;AAAA,IACA,UAAU;AAAA,MACR,UAAU,CAAC,WAAW,gBAAM,MAAM;AAAA,MAClC,UAAU,CAAC,WAAW,gBAAM,MAAM;AAAA,MAClC,WAAW;AAAA,MACX,QAAQ,CAAC,WAAW,GAAG,MAAM;AAAA,MAC7B,OAAO,CAAC,WAAW,GAAG,MAAM;AAAA,MAC5B,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,cAAc;AAAA,MACd,mBAAmB;AAAA,MACnB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,WAAW;AAAA;AAAA,MAEX,WAAW,CAAC,SAAS,6CAAU,IAAI;AAAA,IACrC;AAAA,IACA,kBAAkB;AAAA,MAChB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,cAAc,CAAC,UAAU,iCAAQ,KAAK;AAAA;AAAA,MAEtC,YAAY,CAAC,cAAc,gBAAM,EAAE,SAAS,CAAC;AAAA,MAC7C,UAAU;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,UAAU,CAAC,SAAS,GAAG,IAAI;AAAA,MAC3B,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,SAAS,CAAC,aAAa,gBAAM,EAAE,QAAQ,CAAC;AAAA,IAC1C;AAAA,IACA,aAAa;AAAA,MACX,WAAW;AAAA,MACX,UACE;AAAA,MACF,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,OAAO,CAAC,OAAO,OAAO,YAAY,GAAG,KAAK,SAAI,KAAK,SAAI,OAAO;AAAA,MAC9D,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO,CAAC,SAAS,qBAAM,IAAI;AAAA,IAC7B;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,OAAO,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,IAC/B;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,oBAAoB;AAAA,MACpB,oBAAoB;AAAA,IACtB;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,eAAe;AAAA,IACjB;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,eAAe;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,gBAAgB,CAAC,UAAW,QAAQ,iBAAY;AAAA,IAClD;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,KAAK;AAAA,MACL,QAAQ,CAAC,QAAQ,sBAAO,GAAG;AAAA,MAC3B,eAAe,CAAC,QAAQ,sBAAO,GAAG;AAAA,MAClC,KAAK,CAAC,QAAQ,UAAK,GAAG;AAAA,MACtB,MAAM,CAAC,QAAQ,QAAQ,GAAG,MAAM,gBAAM,GAAG;AAAA,MACzC,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,WAAW;AAAA,MACX,WAAW,CAAC,WAAW,4BAAQ,MAAM;AAAA,IACvC;AAAA,IACA,cAAc;AAAA,MACZ,UAAU,CAAC,WAAW,UAAK,MAAM;AAAA,MACjC,UAAU,CAAC,WAAW,UAAK,MAAM;AAAA,IACnC;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,eAAe;AAAA,MACf,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,YAAY,CAAC,cAAc,iCAAQ,SAAS;AAAA,IAC9C;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa,CAAC,QAAQ,GAAG,GAAG;AAAA,IAC9B;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC,OAAO,UAAU,UAAK,EAAE,KAAK,CAAC,uBAAQ,EAAE,KAAK,CAAC;AAAA,MACrD,SAAS,CAAC,SAAS,GAAG,IAAI;AAAA,IAC5B;AAAA,IACA,UAAU;AAAA,MACR,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS,CAAC,OAAO,UAAU,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACpD,UAAU,CAAC,OAAO,UAAU,UAAK,EAAE,KAAK,CAAC,uBAAQ,EAAE,KAAK,CAAC;AAAA,MACzD,UAAU;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,cAAc;AAAA,IAChB;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,YAAY,CAAC,SAAS,gBAAM,IAAI;AAAA,IAClC;AAAA,IACA,WAAW;AAAA,MACT,aAAa;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,cAAc;AAAA,MACd,MAAM;AAAA,MACN,QAAQ,CAAC,SAAS,GAAG,IAAI;AAAA,MACzB,KAAK;AAAA,MACL,cAAc;AAAA,MACd,WAAW;AAAA,MACX,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU,CAAC,SAAS,GAAG,IAAI;AAAA,MAC3B,QAAQ;AAAA,MACR,eAAe,CAAC,SAAS,gBAAM,IAAI;AAAA,MACnC,eAAe;AAAA,MACf,sBAAsB,CAAC,SAAS,sBAAO,IAAI;AAAA,MAC3C,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA;AAAA,MAEN,QAAQ,CAAC,YACP,2BAAO,UAAU,IAAI,OAAO,MAAM,oBAAK;AAAA,IAC3C;AAAA;AAAA;AAAA,IAGA,OAAO;AAAA,MACL,UAAU;AAAA,MACV,OAAO;AAAA,QACL,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,QACN,WAAW;AAAA,QACX,SAAS;AAAA,QACT,OAAO;AAAA,MACT;AAAA,MACA,UAAU;AAAA;AAAA,MAEV,QAAQ;AAAA,MACR,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,SACE;AAAA,MACJ;AAAA,MACA,aAAa;AAAA,QACX,MAAM,CAAC,MACL,6FAAkB,EAAE,eAAe;AAAA,QACrC,MAAM,CAAC,MAAM,eAAK,EAAE,eAAe;AAAA,MACrC;AAAA,MACA,UAAU;AAAA,QACR,WAAW;AAAA,UACT,UAAU;AAAA,YACR,OAAO;AAAA,YACP,MAAM,CAAC,MACL,GAAG,EAAE,IAAI;AAAA,EAAK,EAAE,UAAU,IAAI,EAAE,IAAI;AAAA,EAAK,EAAE,OAAO;AAAA;AAAA;AAAA,UACtD;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM,CAAC,MAAM,iCAAQ,EAAE,KAAK;AAAA,UAC9B;AAAA,UACA,YAAY;AAAA,YACV,OAAO;AAAA,YACP,MAAM;AAAA;AAAA;AAAA,YAGN,YACE;AAAA,UACJ;AAAA,QACF;AAAA,QACA,SAAS;AAAA,UACP,YAAY;AAAA,YACV,OAAO;AAAA,YACP,MAAM,CAAC,MACL;AAAA,EAAoB,EAAE,IAAI;AAAA,EAAK,EAAE,UAAU,IAAI,EAAE,IAAI,SAAI,EAAE,OAAO;AAAA,gCAAU,EAAE,KAAK;AAAA;AAAA;AAAA,UACvF;AAAA,UACA,aAAa;AAAA,YACX,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA,QAAQ;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM,CAAC,MAAM,mGAAmB,EAAE,KAAK;AAAA,UACzC;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,UAAU;AAAA,YACR,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,WAAW;AAAA,YACT,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,YACP,MAAM;AAAA,UACR;AAAA,UACA,UAAU;AAAA,YACR,OAAO;AAAA,YACP,MAAM,CAAC,MACL,2BAAO,EAAE,eAAe,+JAA6B,EAAE,eAAe;AAAA,UAC1E;AAAA,UACA,KAAK;AAAA,YACH,OAAO;AAAA,YACP,MAAM,CAAC,MACL,mPAA2C,EAAE,OAAO,IAAI,EAAE,IAAI,SAAI,EAAE,MAAM;AAAA,UAC9E;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,WAAW;AAAA,MACX,UAAU;AAAA,MACV,oBAAoB;AAAA,MACpB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,MACjB,SAAS,CAAC,kBAAkB,wCAAU,aAAa;AAAA,MACnD,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,SAAS;AAAA,MACT,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,sBAAsB;AAAA,MACtB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,kBAAkB,CAAC,WAAW,UAAK,EAAE,MAAM,CAAC;AAAA,MAC5C,qBAAqB;AAAA,MACrB;AAAA;AAAA,MAEA,eAAe;AAAA,IACjB;AAAA,IACA,UAAU;AAAA,MACR,WAAW;AAAA,MACX,UAAU;AAAA,MACV,OAAO;AAAA,MACP,aAAa,CAAC,YAAY,gBAAM,OAAO;AAAA,MACvC,cACE;AAAA,MACF,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,CAAC,UAAU,gBAAM,KAAK;AAAA,MAC5B,UAAU;AAAA,MACV,cAAc;AAAA,MACd,OAAO;AAAA,MACP;AAAA,IACF;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO,CAAC,UAAU,4BAAQ,KAAK;AAAA,MAC/B,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,eAAe;AAAA,MACf,QAAQ;AAAA,MACR;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,UAAU,CAAC,YAAY,GAAG,EAAE,OAAO,CAAC;AAAA,MACpC,QAAQ;AAAA,MACR,aAAa;AAAA,MACb;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ,CAAC,SAAS,4BAAQ,IAAI;AAAA,MAC9B,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,UAAU;AAAA,IACZ;AAAA,IACA,iBAAiB;AAAA,MACf,eAAe;AAAA,MACf,SAAS;AAAA,MACT,SAAS,CAAC,SAAS,qBAAM,IAAI;AAAA,MAC7B,aAAa;AAAA,MACb,WAAW;AAAA,IACb;AAAA;AAAA;AAAA;AAAA,IAIA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,aAAa,CAAC,YAAY,gBAAM,OAAO;AAAA,MACvC,cACE;AAAA,MACF,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,SAAS,CAAC,aAAa,oDAAY,QAAQ;AAAA,MAC3C,aAAa,CAAC,iBAAiB,0DAAa,YAAY;AAAA,MACxD,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,WAAW,CAAC,UAAU,sEAAe,KAAK;AAAA,MAC1C,aAAa;AAAA,MACb;AAAA,MACA,QAAQ;AAAA,IACV;AAAA;AAAA,IAEA,eAAe;AAAA,MACb,YAAY;AAAA,MACZ,kBAAkB;AAAA,MAClB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,cAAc;AAAA,MACd,eAAe;AAAA,MACf,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,kBAAkB,CAAC,OAAO,SACxB,OACI,QACE,uNACA,yIACF,QACE,qJACA;AAAA,MACR,WAAW,CAAC,SAAS,uCAAS,IAAI;AAAA,MAClC,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,UAAU;AAAA,QACV,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,MACA,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,YAAY,CAAC,QAAQ,4DAAyB,GAAG;AAAA,MACjD,eAAe;AAAA,MACf,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,UAAU,CAAC,UAAU,wCAAU,EAAE,KAAK,CAAC;AAAA,MACvC,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,eAAe,CAAC,QAAQ,GAAG,GAAG;AAAA,MAC9B,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,oBAAoB;AAAA,MACpB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO,CAAC,SAAS,sBAAO,IAAI;AAAA,MAC5B,cAAc,CAAC,SAAS,iCAAQ,IAAI;AAAA,MACpC,YAAY;AAAA,MACZ,UAAU,CAAC,UAAU,gBAAM,EAAE,KAAK,CAAC;AAAA,MACnC,QAAQ;AAAA;AAAA,MAER,YAAY,CAAC,WAAW,qBAAM,MAAM;AAAA,MACpC,cAAc;AAAA,MACd,aAAa;AAAA,MACb,wBAAwB;AAAA,MACxB,kBAAkB;AAAA,MAClB,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,UAAU;AAAA,MACV,aAAa;AAAA,MACb,UAAU;AAAA,MACV,WAAW;AAAA,MACX,YAAY,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAClC,kBAAkB;AAAA,MAClB,kBAAkB;AAAA,MAClB,kBAAkB,CAAC,SAAS,uFAAiB,IAAI;AAAA,MACjD,oBAAoB;AAAA,MACpB,WAAW;AAAA,MACX,SAAS,CAAC,QAAQ,wCAAU,GAAG;AAAA,MAC/B,cAAc;AAAA,MACd,YAAY,CAAC,QAAQ,4EAAgB,GAAG;AAAA,MACxC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,aAAa;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA,UAAU;AAAA,MACR,OAAO;AAAA,MACP,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,yBAAyB;AAAA,MACzB,0BAA0B;AAAA,MAC1B,MAAM;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,eAAe;AAAA,MACf,YAAY,CAAC,SAAS,iCAAQ,IAAI;AAAA,MAClC,IAAI,CAAC,YAAY,WAAM,OAAO;AAAA,MAC9B,QAAQ;AAAA;AAAA,MAER,YAAY,CAAC,WAAW,iCAAQ,MAAM;AAAA,MACtC,QAAQ;AAAA,IACV;AAAA,IACA,eAAe;AAAA,MACb,OAAO;AAAA,MACP,WAAW,CAAC,SAAS,4EAAgB,EAAE,IAAI,CAAC;AAAA,MAC5C,UAAU;AAAA,MACV,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAU,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAChC,SAAS;AAAA,MACT,MAAM;AAAA,MACN,eAAe;AAAA,MACf,sBAAsB;AAAA,MACtB,WAAW;AAAA,MACX,aAAa,CAAC,cAAc,gBAAM,SAAS;AAAA,MAC3C,qBAAqB;AAAA,MACrB;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa,CAAC,YACZ,WAAW,UAAU,IACjB,gEAAc,KAAK,OAAO,CAAC,6BAC3B;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,CAAC,SAAS,GAAG,IAAI;AAAA,IAC/B;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ,CAAC,SAAS,GAAG,IAAI;AAAA,MACzB,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,YAAY;AAAA,MACZ,aAAa,CAAC,MAAM,WAAW,GAAG,IAAI,SAAI,MAAM;AAAA,IAClD;AAAA,IACA,eAAe;AAAA,MACb,WAAW;AAAA,MACX,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,eAAe;AAAA,MACf,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,WAAW;AAAA,MACX,MAAM;AAAA,MACN,sBAAsB;AAAA,MACtB,gBACE;AAAA,MACF,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,MACT,IAAI,CAAC,UAAU,2BAAO,KAAK;AAAA,MAC3B,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,YAAY,CAAC,WAAW,UAAK,MAAM;AAAA,MACnC,SAAS;AAAA,MACT,UAAU,CAAC,WAAW,kCAAS,MAAM;AAAA,MACrC,SAAS;AAAA,QACP,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,MAAM;AAAA,QACN,yBAAyB;AAAA,QACzB,0BAA0B;AAAA,QAC1B,mBAAmB;AAAA,QACnB,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,eAAe;AAAA,QACf,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA;AAAA;AAAA,MAGA,eAAe,CAAC,MAAM,OAAO,UAAK,IAAI,iBAAO,EAAE;AAAA,MAC/C,cAAc;AAAA,QACZ,OAAO;AAAA,UACL,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,QACA,MAAM;AAAA,UACJ,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,QACA,SAAS;AAAA,UACP,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,QACA,QAAQ;AAAA,UACN,cAAc;AAAA,UACd,cAAc;AAAA,UACd,cAAc;AAAA,UACd,kBAAkB;AAAA,UAClB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,UAChB,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,IACA,mBAAmB;AAAA,MACjB,OAAO,CAAC,SAAS,gBAAM,IAAI;AAAA,MAC3B,MAAM;AAAA,MACN,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,MAAM;AAAA,MACN,aAAa,CAAC,SAAS,WAAW,GAAG,OAAO,SAAI,MAAM;AAAA,MACtD,cAAc;AAAA,IAChB;AAAA,IACA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,cAAc;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ,EAAE,MAAM,sBAAO,UAAU,sBAAO,SAAS,sBAAO,SAAS,qBAAM;AAAA,MACvE,MAAM,CAAC,SAAS,sBAAO,IAAI;AAAA,MAC3B,SAAS,CAAC,SAAS,GAAG,IAAI;AAAA,MAC1B,WAAW,CAAC,SAAS,2BAAO,IAAI;AAAA,MAChC,QAAQ,CAAC,UAAU,UAAK,KAAK;AAAA,MAC7B,UAAU;AAAA,MACV,QAAQ,CAAC,UAAU,sBAAO,KAAK;AAAA,MAC/B,aACE;AAAA,MACF,WAAW,CAAC,UAAU,GAAG,KAAK;AAAA,MAC9B,SAAS,CAAC,UAAU,sBAAO,KAAK;AAAA,MAChC,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO,CAAC,MAAM,QAAQ,sBAAO,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;AAAA,MAC9C,WAAW,CAAC,SAAS,4BAAQ,EAAE,IAAI,CAAC;AAAA,MACpC,cAAc;AAAA,IAChB;AAAA,IACA,eAAe;AAAA,MACb,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IACA,YAAY;AAAA,MACV,MAAM,CAAC,UAAU,qBAAM,KAAK;AAAA,MAC5B,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,SAAS,CAAC,SAAS,SAAI,IAAI;AAAA,MAC3B,QAAQ,CAAC,QAAQ,aACf,8CAAgB,EAAE,QAAQ,CAAC,+CAAY,EAAE,MAAM,CAAC;AAAA,MAClD,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,cAAc;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,MACV,aAAa;AAAA,MACb,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW,CAAC,SAAS,SAAS,qBAAM,OAAO,2BAAO,IAAI;AAAA,MACtD,UAAU,CAAC,SAAS,qBAAM,IAAI;AAAA,IAChC;AAAA,IACA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW,CAAC,SAAS,iCAAQ,IAAI;AAAA,MACjC,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,SAAS,GAAG,EAAE,OAAO,CAAC,gBAAM,EAAE,IAAI,CAAC;AAAA,MACtD,oBAAoB;AAAA,MACpB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,gBAAgB;AAAA;AAAA,MAEhB,cAAc;AAAA,MACd,cAAc;AAAA,MACd,aAAa,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MACnC,YAAY,CAAC,SAAS,kCAAS,IAAI;AAAA,MACnC,YAAY,CAAC,UAAU,4BAAQ,EAAE,KAAK,CAAC;AAAA,MACvC,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS,CAAC,WAAW,UAAK,MAAM;AAAA,MAChC,QAAQ,CAAC,WAAW,SAAI,MAAM;AAAA,MAC9B,QAAQ;AAAA,MACR,cAAc,CAAC,SAAS,GAAG,IAAI;AAAA,MAC/B,mBAAmB,CAAC,SAAS,GAAG,IAAI;AAAA,MACpC,WAAW,CAAC,OAAO,UAAU,sBAAO,EAAE,KAAK,CAAC,uBAAQ,EAAE,KAAK,CAAC;AAAA;AAAA,MAE5D,OAAO,CAAC,UAAU,GAAG,KAAK;AAAA,MAC1B,SAAS,CAAC,UAAU,iCAAQ,KAAK;AAAA,IACnC;AAAA,IACA,mBAAmB;AAAA,MACjB,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,KAAK;AAAA,MACL,aAAa,CAAC,OAAO,UAAU,GAAG,KAAK,SAAM,EAAE,KAAK,CAAC;AAAA,MACrD,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,eAAe;AAAA,MACf,QAAQ;AAAA,MACR,kBAAkB,CAAC,UAAU,yDAAY,EAAE,KAAK,CAAC;AAAA,MACjD,iBAAiB;AAAA,MACjB,KAAK;AAAA,MACL,cAAc;AAAA,MACd,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU,CAAC,UAAU,UAAU,sBAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MAC/D,gBAAgB,CAAC,UAAU,UAAU,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,MAC/D,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,mBAAmB;AAAA,MACnB,qBAAqB,CAAC,WAAW,SAC/B,+GAAqB,SAAS,iCAAQ,IAAI;AAAA;AAAA,MAE5C,cAAc,CAAC,MAAM,SAAS,GAAG,IAAI,WAAM,IAAI;AAAA,MAC/C,aAAa,CAAC,MAAM,SAAS,GAAG,IAAI,WAAM,IAAI;AAAA,MAC9C,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,UAAU;AAAA,MACV,OAAO,CAAC,UAAU,mDAAW,KAAK;AAAA,MAClC,mBAAmB,CAAC,UAAU,iCAAQ,EAAE,KAAK,CAAC;AAAA,MAC9C,QAAQ;AAAA,MACR,eAAe,CAAC,UAAW,UAAU,IAAI,mCAAU,sBAAO,EAAE,KAAK,CAAC;AAAA,MAClE,cAAc,CAAC,UAAW,UAAU,IAAI,2DAAc,gBAAM,EAAE,KAAK,CAAC;AAAA,MACpE,YAAY,CAAC,YAAY,UAAU,sBAAO,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC;AAAA,MACrE,cAAc,CAAC,UAAU,6CAAU,EAAE,KAAK,CAAC;AAAA,MAC3C,cAAc,CAAC,OAAO,UACpB,UAAU,IACN,qBAAM,KAAK,2DACX,qBAAM,KAAK,4BAAQ,EAAE,KAAK,CAAC;AAAA,IACnC;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAU;AAAA,MACR,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,SAAS;AAAA,MACT,WAAW,CAAC,UAAU,2BAAO,KAAK;AAAA;AAAA,MAElC,aAAa;AAAA,MACb,MAAM;AAAA,MACN,UAAU;AAAA,MACV,YAAY,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAClC,QAAQ;AAAA,QACN,YAAY;AAAA,UACV,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,SAAS;AAAA,UACP,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,UAAU;AAAA,UACR,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,eAAe;AAAA,UACb,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,QACA,MAAM;AAAA,UACJ,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,SAAS;AAAA,MACT,cAAc;AAAA,MACd,MAAM;AAAA;AAAA,MAEN,eAAe,CAAC,QAAS,MAAM,4BAAQ,GAAG,KAAK;AAAA,MAC/C,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,WAAW;AAAA,IACb;AAAA,IACA,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,aAAa,CAAC,YACZ,UACI,4EAAgB,EAAE,OAAO,CAAC,0CAC1B;AAAA,MACN,UAAU;AAAA,MACV,aAAa;AAAA,MACb,QAAQ;AAAA;AAAA,MAER,aAAa;AAAA,MACb,WAAW,CAAC,OAAO,YAAY,kCAAW,EAAE,KAAK,CAAC,iBAAO,EAAE,OAAO,CAAC;AAAA,MACnE,aAAa,CAAC,YAAY,kCAAW,EAAE,OAAO,CAAC;AAAA,MAC/C,OAAO;AAAA,MACP,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,cAAc;AAAA,MACd,SAAS;AAAA,IACX;AAAA;AAAA;AAAA,IAGA,SAAS;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA;AAAA,MAET,UAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU;AAAA,MACV,aAAa;AAAA,MACb,MAAM;AAAA,MACN,YAAY;AAAA;AAAA,MAEZ,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,MACT,QAAQ,CAAC,SAAS,gBAAM,IAAI;AAAA,MAC5B,SAAS,CAAC,SAAS,sBAAO,IAAI;AAAA,MAC9B,WAAW,CAAC,SAAS,sBAAO,IAAI;AAAA,MAChC,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA;AAAA,QAEV,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,aAAa,CAAC,SACZ,6CAAU,OAAO,IAAI,CAAC;AAAA,MACxB,aAAa,CAAC,SACZ,yDAAY,OAAO,IAAI,CAAC;AAAA,MAC1B,eAAe;AAAA,MACf,WAAW;AAAA;AAAA,MAEX,eAAe,CAAC,SACd,OACI,SAAI,IAAI,uHACR;AAAA,MACN,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,eAAe;AAAA;AAAA,MAEf,uBAAuB,CAAC,UACtB,QAAQ,uCAAS,KAAK,4DAAe;AAAA,MACvC,YAAY;AAAA,MACZ,YAAY;AAAA;AAAA,MAEZ,cAAc;AAAA,MACd,cAAc;AAAA,MACd,cAAc;AAAA,MACd,YAAY;AAAA;AAAA,MAEZ,OAAO,CAAC,MAAM,UAAU,GAAG,IAAI,IAAI,KAAK;AAAA,MACxC,gBAAgB,CAAC,cAAc,iCAAQ,SAAS;AAAA;AAAA;AAAA,MAGhD,gBAAgB,CAAC,WAAW,MAAM,UAAU,GAAG,SAAS,SAAI,IAAI,IAAI,KAAK;AAAA,MACzE,QAAQ;AAAA,MACR,QAAQ;AAAA;AAAA,MAER,eAAe;AAAA;AAAA,MAEf,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA;AAAA,MAET,aAAa;AAAA,MACb,cAAc,CAAC,MAAM,OAAO,UAAK,IAAI,uBAAQ,EAAE;AAAA,MAC/C,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,kBAAkB,CAAC,SAAS,6CAAU,IAAI;AAAA,MAC1C,eAAe;AAAA;AAAA,MAEf,YAAY,CAAC,UACX,QACI,wFAAkB,KAAK,wBACvB;AAAA,MACN,oBAAoB;AAAA,MACpB,mBAAmB,CAAC,SAAS,wCAAU,IAAI;AAAA,MAC3C,qBAAqB;AAAA,MACrB,kBAAkB;AAAA,MAClB,mBAAmB,CAAC,UAAU,QAC5B,kFAAiB,QAAQ,sBAAO,MAAM,GAAG,GAAG,gDAAa,kDAAU;AAAA,MACrE,mBAAmB;AAAA,MACnB,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,gBAAgB,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA;AAAA,MAEtC,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,UAAU;AAAA;AAAA,MAEV,qBAAqB;AAAA,MACrB,mBAAmB;AAAA,MACnB,aAAa;AAAA;AAAA,MAEb,eAAe;AAAA,MACf,eAAe;AAAA,IACjB;AAAA;AAAA;AAAA,IAGA,YAAY;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,SAAS,CAAC,SAAS,iCAAQ,IAAI;AAAA,MAC/B,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS,CAAC,MAAM,OAAO,4BAAQ,IAAI,uBAAQ,EAAE;AAAA,MAC7C,KAAK,CAAC,OAAO,kCAAS,EAAE;AAAA,MACxB,UAAU;AAAA,MACV,WAAW,CAAC,SAAS,sBAAO,IAAI;AAAA,MAChC,WAAW;AAAA;AAAA,MAEX,SAAS,CAAC,MAAM,OAAO,cAAc,GAAG,IAAI,IAAI,KAAK,IAAI,SAAS;AAAA,IACpE;AAAA;AAAA;AAAA,IAGA,YAAY;AAAA,MACV,UAAU;AAAA,MACV,cAAc;AAAA,MACd,WAAW,EAAE,QAAQ,gBAAM,OAAO,UAAK,QAAQ,eAAK;AAAA,MACpD,UAAU;AAAA,MACV,cAAc;AAAA,MACd,eAAe,EAAE,QAAQ,4BAAQ,UAAU,gBAAM,MAAM,eAAK;AAAA,MAC5D,YAAY;AAAA;AAAA,MAEZ,YAAY;AAAA,MACZ,gBACE;AAAA,MACF,gBAAgB;AAAA;AAAA,MAEhB,aAAa;AAAA,MACb,YAAY;AAAA,IACd;AAAA;AAAA;AAAA,IAGA,aAAa;AAAA,MACX,OAAO;AAAA,MACP,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,aACE;AAAA,MACF,eAAe;AAAA,MACf,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,YAAY,CAAC,SAAS,GAAG,IAAI;AAAA,IAC/B;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA;AAAA,IAEA,cAAc;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW,CAAC,YAAY,iCAAQ,OAAO;AAAA,MACvC,QAAQ;AAAA,MACR,MAAM,CAAC,YAAY,4BAAQ,OAAO;AAAA,MAClC,SAAS;AAAA,MACT,QAAQ;AAAA,MACR;AAAA,MACA,UAAU;AAAA,IACZ;AAAA,IACA,WAAW;AAAA,MACT,OAAO;AAAA,MACP,SAAS,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC/B,cAAc,CAAC,OAAO,UAAU,GAAG,KAAK,SAAI,EAAE,KAAK,CAAC;AAAA,MACpD,gBAAgB;AAAA,MAChB,eAAe,CAAC,YAAY,oDAAY,OAAO;AAAA,MAC/C,eAAe;AAAA,MACf,mBAAmB;AAAA,MACnB,UAAU;AAAA,QACR,UAAU,EAAE,OAAO,gBAAM,MAAM,qEAAc;AAAA,QAC7C,OAAO,EAAE,OAAO,gBAAM,MAAM,yGAAoB;AAAA,QAChD,aAAa,EAAE,OAAO,gBAAM,MAAM,yMAAoC;AAAA,QACtE,SAAS,EAAE,OAAO,gBAAM,MAAM,yDAAY;AAAA,QAC1C,UAAU,EAAE,OAAO,gBAAM,MAAM,6FAAkB;AAAA,MACnD;AAAA,MACA,OAAO;AAAA,QACL,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,oBAAoB;AAAA,QACpB,OAAO;AAAA,QACP,UAAU,CAAC,UAAU,+BAAW,EAAE,KAAK,CAAC;AAAA,QACxC,iBAAiB;AAAA,QACjB,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,qBAAqB;AAAA,MACvB;AAAA,MACA,eAAe;AAAA,MACf,OAAO;AAAA,MACP,OAAO;AAAA,IACT;AAAA;AAAA;AAAA,IAGA,aAAa;AAAA,MACX,OAAO;AAAA,QACL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,WAAW;AAAA,QACX,cAAc;AAAA,QACd,YAAY;AAAA,QACZ,eAAe;AAAA,MACjB;AAAA,MACA,MAAM;AAAA,QACJ,SAAS,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,QAC/B,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,QAC/B,UAAU,CAAC,SAAS,gBAAM,IAAI;AAAA,QAC9B,MAAM;AAAA,QACN,UAAU;AAAA,QACV,aAAa;AAAA,QACb,UAAU,CAAC,OAAO,SAAS,GAAG,KAAK,eAAK,IAAI;AAAA,QAC5C,QAAQ,CAAC,OAAO,UAAU,GAAG,KAAK,SAAI,KAAK;AAAA,QAC3C,cAAc;AAAA,QACd,cAAc;AAAA,QACd,cAAc,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,QACpC,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,QAAQ;AAAA,MACV;AAAA,MACA,KAAK;AAAA,QACH,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,MAAM,CAAC,UAAU,qBAAM,KAAK;AAAA,QAC5B,aAAa;AAAA,QACb,QAAQ,CAAC,SAAS,gBAAM,IAAI;AAAA,QAC5B,YAAY;AAAA,MACd;AAAA,IACF;AAAA;AAAA;AAAA,IAGA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC5B,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC;AAAA,MAC5B,SAAS;AAAA,MACT,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,iBAAiB;AAAA,MACjB,QAAQ;AAAA,IACV;AAAA,IACA,gBAAgB;AAAA,MACd,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEO,MAAM,mBAAgC,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/i18n/locales/zh.ts"],"sourcesContent":["import { formatFileSize } from \"../kit-labels\";\nimport type { UiKitLabels } from \"../kit-labels\";\n\n/**\n * The kit's words in Chinese (Simplified): every namespace of {@link UiKitLabels}, for\n * `<UiKitProvider labels={UI_KIT_LABELS_ZH}>`.\n *\n * Self-contained on purpose — nothing but the kit's own `formatFileSize` — so it works\n * as a starting point to copy and adjust. Counts and sizes are formatted with\n * `zh-CN` digits; {@link uiKitLabelsZh} takes another number locale\n * (e.g. `\"de-CH\"` for 1’234) without touching the words.\n */\nexport function uiKitLabelsZh(numberLocale = \"zh-CN\"): UiKitLabels {\n const num = new Intl.NumberFormat(numberLocale);\n const n = (value: number) => num.format(value);\n // 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in\n // src/auth/auth-errors.ts: no wait → \"稍候\", under a minute → seconds, else minutes\n // rounded up. The numeral has a space either side, as everywhere in this catalogue.\n const wait = (seconds: number) =>\n seconds < 60 ? `${n(Math.ceil(seconds))} 秒` : `${n(Math.ceil(seconds / 60))} 分钟`;\n const rateLimited = (seconds?: number) =>\n !seconds || seconds <= 0 ? \"尝试次数过多,请稍候再试。\" : `尝试次数过多,请 ${wait(seconds)}后重试。`;\n // 0.32.0 — when a trial or a grant ends, as `inDays` in src/billing/billing-labels.ts:\n // 0 (or less) is today, 1 tomorrow. A numeral brings its own leading space.\n const inDays = (days: number) => (days <= 0 ? \"今天\" : days === 1 ? \"明天\" : ` ${n(days)} 天后`);\n\n return {\n feedbackAttachment: {\n attachmentAdd: \"添加附件\",\n attachmentCapture: \"截取屏幕\",\n attachmentPaste: \"……或直接从剪贴板粘贴截图,这样只需展示局部,而不必截取整个页面。\",\n attachmentRemove: \"移除附件\",\n attachmentList: \"附件\",\n attachmentScreenshot: \"截图\",\n attachmentRemoveFile: (name) => `移除 ${name}`,\n attachmentLimit: (max) =>\n max === 1 ? `最多 ${n(max)} 个附件,请先将其移除再添加。` : `最多 ${n(max)} 个附件,请先移除一个再添加。`,\n attachmentUploading: \"正在上传…\",\n attachmentUploadFailed: (name) => `无法上传“${name}”`,\n },\n feedbackDialog: {\n title: \"发送反馈\",\n category: \"类别\",\n subject: \"主题\",\n body: \"发生了什么?\",\n bodyOptional: \"发生了什么?(可选)\",\n attachment: \"附件\",\n submitHint: (apple) => (apple ? \"⌘ Enter 发送\" : \"Ctrl+Enter 发送\"),\n cancel: \"取消\",\n save: \"发送\",\n publicNotice: \"其他用户将看到标题和正文(绝不会看到您的截图或文件)。\",\n },\n feedbackThread: {\n thread: \"评论\",\n empty: \"暂无评论\",\n loading: \"正在加载评论…\",\n you: \"我\",\n staff: \"工作人员\",\n attachments: \"附件\",\n },\n feedbackComposer: {\n field: \"撰写评论\",\n placeholder: \"撰写评论…\",\n send: \"发送\",\n sendHint: (modifier) => `${modifier} + Enter 发送`,\n sendHintEnter: \"Enter 发送,Shift + Enter 换行\",\n },\n // 0.27.0. 反馈 for feedback, as `feedbackDialog`; 返工 for rework.\n feedbackStatus: {\n OPEN: \"待处理\",\n READY: \"待实现\",\n REWORK: \"已要求返工\",\n IN_PROGRESS: \"处理中\",\n IN_EVALUATION: \"评估中\",\n NEEDS_LIVE_TEST: \"待线上测试\",\n POSTPONED: \"已推迟\",\n DONE: \"已完成\",\n WONT_DO: \"不予处理\",\n },\n feedbackCategory: {\n CRASH: \"崩溃\",\n BUG: \"错误\",\n IDEA: \"建议\",\n QUESTION: \"疑问\",\n OTHER: \"其他\",\n },\n feedbackToast: {\n submitted: \"感谢您的反馈!\",\n submitFailed: \"无法提交反馈\",\n attachmentUnsupported: \"仅允许图片、PDF 或文本文件\",\n attachmentTooLarge: \"文件超过 10 MB\",\n attachmentTooMany: (count) => `只能容纳 ${n(count)} 个附件,其余的已略去。`,\n captureFailed: \"无法截取屏幕\",\n updateFailed: \"无法保存更改。\",\n statusChanged: (status, title) => `已设为“${status}”:${title}`,\n statusUndo: \"撤销\",\n statusRestored: (status, title) => `已恢复为“${status}”:${title}`,\n commentFailed: \"无法发表评论。\",\n voteFailed: \"无法保存您的投票。\",\n replyFailed: \"无法发送回复。\",\n },\n feedbackMenu: {\n trigger: \"发送反馈\",\n myFeedback: \"我的反馈\",\n discussion: \"反馈讨论\",\n inbox: \"反馈收件箱\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9: the public pages and the two feedback\n // notification types.\n feedbackPublic: {\n title: \"反馈讨论\",\n sort: \"排序\",\n sortNewest: \"最新\",\n sortVotes: \"最多人想要\",\n sortUpdated: \"最近更新\",\n search: \"搜索标题\",\n columnVotes: \"票数\",\n total: (count) => `${n(count)} 条反馈`,\n comments: (count) => `${n(count)} 条评论`,\n votes: (count) => `${n(count)} 票`,\n anonymous: \"一位用户\",\n filedBy: (name) => `提交者:${name}`,\n body: \"描述\",\n conversation: \"回复和评论\",\n loading: \"加载中…\",\n empty: \"暂无反馈\",\n visibleToOthers: \"对他人可见\",\n visibleHint: \"其他用户可以看到标题和正文,绝不会看到您的截图或文件。\",\n visibleLocked: \"仅在反馈仍处于打开状态时可更改。\",\n page: (page) => `第 ${n(page)} 页`,\n },\n feedbackNotificationTypes: {\n answered: \"您的反馈收到的回复\",\n answeredDescription: \"当您提交或评论过的反馈收到回复时。\",\n comment: \"您关注的反馈中的评论\",\n commentDescription: \"当有人评论您提交或评论过的反馈时。\",\n received: \"新反馈和返工\",\n receivedDescription: \"当有人提交反馈或退回反馈时。\",\n adminGroup: \"管理员\",\n },\n feedbackContext: {\n user: \"用户\",\n attachUrl: \"附加当前页面 URL\",\n },\n feedbackPage: {\n title: \"反馈收件箱\",\n myTitle: \"我的反馈\",\n columnId: \"#\",\n columnDate: \"日期\",\n columnCategory: \"类别\",\n columnSubject: \"主题\",\n columnUser: \"用户\",\n columnEmail: \"电子邮箱\",\n columnUrl: \"URL\",\n columnStatus: \"状态\",\n columnResolved: \"解决日期\",\n openPage: \"打开页面\",\n empty: \"无\",\n deletedUser: \"<已删除的用户>\",\n // An id, not a count: printed as it is, like the \"#\" column.\n userFallback: (id) => `用户 #${id}`,\n environment: (environment) => String(environment ?? \"\").toUpperCase(),\n reworkChip: (count) => (count === 1 ? \"返工\" : `返工 ×${n(count)}`),\n awaitingFilter: \"仅显示待您处理的\",\n phoneActions: \"反馈操作\",\n },\n feedbackDetail: {\n subject: \"主题\",\n body: \"描述\",\n edit: \"编辑\",\n editDescription: \"编辑描述\",\n save: \"保存\",\n cancel: \"取消\",\n url: \"URL\",\n copyUrl: \"复制 URL\",\n attachment: \"附件\",\n download: (name) => `下载 ${name}`,\n downloadFailed: \"无法下载附件。\",\n outcome: \"处理结果\",\n replies: \"回复\",\n resolvedAt: (date) => `解决日期:${date}`,\n outcomeAdd: \"添加处理结果\",\n outcomeUpdate: \"更新\",\n outcomePlaceholder: \"做了什么、作出了什么决定,或为什么不予处理。\",\n rework: \"返工\",\n reworkTitle: \"退回返工\",\n reworkSend: \"提交返工\",\n reworkPlaceholder: \"还有哪些需要完善?如有新的限制或方向调整,请一并说明。\",\n reworkUploadFailed: \"无法上传文件,返工请求未发送。\",\n status: \"状态\",\n note: \"备注\",\n },\n // 0.38.0 — docs/feedback-harmonization.md §9.15: the vote, the comment thread, the replies.\n feedbackVote: {\n vote: \"我也需要\",\n own: \"您的反馈\",\n },\n feedbackComments: {\n comments: \"评论\",\n empty: \"暂无评论\",\n hidden: \"已被管理员隐藏\",\n hide: \"隐藏\",\n unhide: \"取消隐藏\",\n delete: \"删除\",\n deleteTitle: \"删除这条评论?\",\n deleteBody: \"将对所有人移除,且无法撤销。\",\n field: \"撰写评论\",\n placeholder: \"撰写评论…\",\n send: \"发表评论\",\n },\n feedbackReplies: {\n replies: \"回复\",\n empty: \"暂无回复\",\n admin: \"管理员\",\n statusChanged: \"状态已改为\",\n field: \"撰写回复\",\n placeholder: \"撰写回复…\",\n reply: \"回复\",\n status: \"随回复更改状态\",\n noChange: \"不更改\",\n nudge: \"尚未通知提交者。请添加回复。\",\n },\n accountSettings: {\n profile: {\n title: \"个人资料\",\n email: \"电子邮箱\",\n role: \"角色\",\n memberSince: \"注册时间\",\n displayName: \"显示名称\",\n save: \"保存\",\n firstName: \"名字\",\n lastName: \"姓氏\",\n nameRequired: \"请同时填写名字和姓氏。\",\n },\n password: {\n title: \"修改密码\",\n current: \"当前密码\",\n next: \"新密码\",\n confirm: \"确认新密码\",\n submit: \"修改密码\",\n tooShort: \"新密码太短。\",\n mismatch: \"两次输入的密码不一致。\",\n wrongPassword: \"密码不正确。\",\n },\n twoFactor: {\n status: \"双重验证\",\n enabledText: \"已开启\",\n disabledText: \"未开启\",\n enable: \"设置双重验证\",\n scanHint: \"请用身份验证器应用扫描此二维码,然后输入应用显示的验证码。\",\n codeLabel: \"验证码\",\n verify: \"验证并开启\",\n disableSection: \"关闭双重验证\",\n password: \"当前密码\",\n disable: \"关闭\",\n qrAlt: \"身份验证器应用的二维码\",\n secretHint: \"无法扫描?请改为在应用中输入此密钥:\",\n copySecret: \"复制密钥\",\n // 0.31.0: the card's title; the state (\"已开启\") stands beside it.\n title: \"双重验证\",\n },\n passkeys: {\n title: \"通行密钥\",\n description: \"使用指纹、面容或设备 PIN 登录,无需密码。\",\n descriptionAlongside: \"使用指纹、面容或设备 PIN 登录,密码仍可照常使用。\",\n empty: \"暂无通行密钥\",\n loading: \"正在加载通行密钥…\",\n list: \"已注册的通行密钥\",\n nameLabel: \"名称(可选)\",\n namePlaceholder: \"例如:笔记本电脑、手机\",\n add: \"添加通行密钥\",\n adding: \"正在等待设备…\",\n rename: \"重命名\",\n renameItem: (name) => `重命名 ${name}`,\n renameField: (name) => `${name} 的新名称`,\n save: \"保存\",\n cancel: \"取消\",\n delete: \"删除\",\n deleteItem: (name) => `删除 ${name}`,\n deleteConfirm: (name) => `删除“${name}”?删除后将无法再用它登录。`,\n confirmDelete: \"删除通行密钥\",\n created: (date) => `添加于 ${date}`,\n lastUsed: (date) => `上次使用:${date}`,\n neverUsed: \"从未使用\",\n },\n },\n measuredGrid: {\n view: \"表格视图\",\n cellsView: \"单元格\",\n textView: \"文本\",\n addRow: \"添加行\",\n removeRow: (row) => `删除第 ${row} 行`,\n clear: \"清空表格\",\n pasteHint: \"可将电子表格中的一块数据粘贴到任意单元格\",\n cell: (column, row) => `${column},第 ${row} 行`,\n rowNumber: \"行\",\n rowActions: \"行操作\",\n keyboardHint:\n \"方向键在单元格之间移动。直接输入替换单元格内容,F2 编辑,Esc 撤销编辑。回车向下移动,并在末尾添加一行。\",\n lineError: (line) => `无法读取第 ${line} 行`,\n points: (count) => `${n(count)} 个点`,\n problems: (count) => `${n(count)} 个单元格不是数字`,\n },\n pageContents: { title: \"本页目录\" },\n common: {\n dismiss: \"关闭\",\n close: \"关闭\",\n clear: \"清除\",\n search: \"搜索\",\n done: \"完成\",\n cancel: \"取消\",\n save: \"保存\",\n back: \"上一步\",\n next: \"下一步\",\n remove: \"移除\",\n loading: \"加载中…\",\n noResults: \"无结果\",\n // Full-width colon, no space after it.\n fieldValue: (field, value) => `${field}:${value}`,\n opensInNewTab: \"在新标签页中打开\",\n aboutField: (field) => `关于“${field}”`,\n help: \"帮助\",\n showMore: \"更多\",\n showLess: \"收起\",\n },\n dataTable: {\n columns: \"列\",\n selectAllRows: \"全选所有行\",\n sortHint: \"点击排序 · 按住 Shift 点击可添加排序\",\n filter: \"筛选\",\n close: \"关闭\",\n selectRow: \"选择行\",\n selectRows: \"选择多行\",\n cancelSelection: \"取消\",\n rowDetails: \"详情\",\n autoSize: \"自动调整列宽\",\n hiddenForWidth: \"宽度不足,已隐藏\",\n loading: \"加载中…\",\n filters: \"筛选条件\",\n clearAll: \"全部清除\",\n done: \"完成\",\n pageSize: \"每页行数\",\n pageSizeAll: \"全部\",\n prevPage: \"上一页\",\n nextPage: \"下一页\",\n clearFilter: \"清除筛选\",\n filterPlaceholder: \"筛选…\",\n selectFilter: \"选择\",\n selectAll: \"全部\",\n selectNone: \"无\",\n dateFrom: \"从\",\n dateTo: \"至\",\n numberMin: \"最小值\",\n numberMax: \"最大值\",\n numberAbs: \"绝对值\",\n presets: {\n today: \"今天\",\n yesterday: \"昨天\",\n this_week: \"本周\",\n last_week: \"上周\",\n last_7_days: \"最近 7 天\",\n last_30_days: \"最近 30 天\",\n this_month: \"本月\",\n last_month: \"上月\",\n last_3_months: \"最近 3 个月\",\n ytd: \"今年至今\",\n last_year: \"去年\",\n },\n table: \"数据表格\",\n filterResults: (shown, total) => `显示 ${n(shown)} 行,共 ${n(total)} 行`,\n sortedAscending: (column) => `已按“${column}”升序排序`,\n sortedDescending: (column) => `已按“${column}”降序排序`,\n sortCleared: (column) => `已取消“${column}”的排序`,\n pageChanged: (page, totalPages) => `第 ${n(page)} 页,共 ${n(totalPages)} 页`,\n pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,\n rowCount: (total) => n(total),\n columnsCount: (visible, total) => `列(${n(visible)}/${n(total)})`,\n filterColumn: (column, active) => (active ? `筛选${column}(已启用)` : `筛选${column}`),\n empty: \"暂无条目\",\n actions: \"操作\",\n edit: \"编辑\",\n delete: \"删除\",\n booleanTrue: \"是\",\n booleanFalse: \"否\",\n booleanUnset: \"未设置\",\n loadMore: \"加载更多\",\n allLoaded: \"已加载全部行\",\n sortBy: \"排序依据\",\n sortDefault: \"默认顺序\",\n sortAscending: \"升序\",\n sortDescending: \"降序\",\n },\n miniCalendar: {\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n // Already formatted in the provider's locale (\"2026年9月14日星期一\").\n day: (date) => date,\n chooseStart: \"请选择开始日期\",\n chooseEnd: \"请选择结束日期\",\n startSelected: (date) => `已选择 ${date} 为开始日期。请选择结束日期。`,\n rangeSelected: (from, to) => `已选择 ${from} 至 ${to}。如需重新选择,请先选择开始日期。`,\n },\n monthPicker: {\n previousYear: \"上一年\",\n nextYear: \"下一年\",\n panel: \"选择月份\",\n month: (monthYear) => monthYear,\n previousMonth: \"上个月\",\n nextMonth: \"下个月\",\n today: \"今天\",\n yearPanel: \"选择年份\",\n earlierYears: \"更早的年份\",\n laterYears: \"更晚的年份\",\n thisYear: \"今年\",\n },\n calendarHeatmap: {\n grid: \"每日数值\",\n day: (date, value) => `${date}:${value}`,\n less: \"较少\",\n more: \"较多\",\n truncated: (count) =>\n `仅显示最近的日期;另有 ${n(count)} 天未显示。`,\n },\n datePicker: {\n apply: \"应用\",\n cancel: \"取消\",\n presets: \"快捷范围\",\n panel: \"选择日期\",\n rangePanel: \"选择日期范围\",\n clear: \"清除\",\n previousDay: \"前一天\",\n nextDay: \"后一天\",\n today: \"今天\",\n },\n popover: {\n panel: \"弹出框\",\n },\n combobox: {\n search: \"搜索\",\n noResults: \"无结果\",\n clear: \"清除\",\n loading: \"加载中…\",\n create: (query) => `创建“${query}”`,\n selectedCount: (count) => `已选 ${n(count)} 项`,\n loadError: \"无法加载结果\",\n resultCount: (count) => `${n(count)} 个结果`,\n minChars: (count) => `请至少输入 ${n(count)} 个字符`,\n },\n multiSelect: {\n search: \"搜索\",\n selectAll: \"全选\",\n clear: \"清除\",\n all: \"全部\",\n // The bare count, as in English: the trigger has always shown just the number.\n selectedCount: (count) => n(count),\n },\n calculator: {\n open: \"打开计算器\",\n panel: \"计算器\",\n calculation: \"算式\",\n backspace: \"退格\",\n clear: \"清除\",\n equals: \"等于\",\n done: \"完成\",\n plus: \"加\",\n minus: \"减\",\n times: \"乘\",\n divide: \"除以\",\n decimal: \"小数点\",\n },\n currency: {\n currency: \"货币\",\n search: \"搜索货币\",\n },\n chipInput: {\n added: (value) => `已添加“${value}”`,\n removed: (value) => `已移除“${value}”`,\n remove: \"移除\",\n atLimit: (max) => `已达上限(${n(max)} 项)`,\n duplicate: (value) => `“${value}”已在列表中`,\n },\n swatchPicker: {\n none: \"无颜色\",\n mixed: \"混合:所选项目的颜色各不相同\",\n },\n iconPicker: {\n none: \"无图标\",\n mixed: \"混合:所选项目的图标各不相同\",\n search: \"搜索图标\",\n noResults: \"没有匹配的图标\",\n resultCount: (count) => `${n(count)} 个图标`,\n },\n fieldSync: {\n synced: \"已保存\",\n edited: \"有未保存的更改\",\n pending: \"正在保存…\",\n error: \"保存失败\",\n retry: \"重试\",\n },\n passwordReveal: {\n show: \"显示密码\",\n hide: \"隐藏密码\",\n },\n dangerConfirm: {\n arm: \"删除…\",\n confirm: \"删除\",\n cancel: \"取消\",\n prompt: \"此操作无法撤销。\",\n password: \"密码\",\n phrase: (phrase) => `输入“${phrase}”以确认`,\n acknowledge: \"我已了解此操作的作用,并希望继续。\",\n needsPhrase: (phrase) => `输入“${phrase}”以确认`,\n needsAcknowledge: \"勾选复选框以确认\",\n needsPassword: \"输入密码以确认\",\n },\n tabs: {\n add: \"添加标签页\",\n // Quoted, so the spacing rule holds whether the tab's name is Han or Latin.\n remove: (tab) => `移除“${tab}”`,\n more: \"更多标签页\",\n previous: \"之前的标签页\",\n },\n appShell: {\n collapse: \"收起侧边栏\",\n expand: \"展开侧边栏\",\n toggleGroup: (groupLabel) => `${groupLabel}:页面`,\n },\n topBar: {\n theme: \"切换主题\",\n palette: \"外观预设\",\n language: \"语言\",\n languageCurrent: (name) => `选择语言,当前:${name}`,\n switchRole: \"切换角色\",\n role: (value) => `角色:${value}`,\n },\n pickerSheet: {\n close: \"关闭\",\n done: \"完成\",\n },\n dialogFrame: {\n close: \"关闭\",\n },\n bulkActionBar: {\n selected: (count) => `已选择 ${n(count)} 项`,\n clear: \"清除选择\",\n cleared: \"已清除选择\",\n },\n swipeableRow: {\n actions: \"行操作\",\n },\n file: {\n // The kit's own `Intl` unit formatting, pinned to this locale.\n size: (bytes) => formatFileSize(bytes, numberLocale),\n },\n filePicker: {\n dropzone: \"文件上传\",\n browse: \"浏览\",\n empty: \"将文件拖放到此处\",\n emptyMultiple: \"将文件拖放到此处\",\n hint: (accept) => (accept ? `支持:${accept}` : \"任意文件类型\"),\n busy: \"正在上传…\",\n rejectedPick: (count) => (count === 1 ? \"未添加该文件\" : `${n(count)} 个文件均未添加`),\n rejectedType: (name) => `“${name}”的文件类型不受支持`,\n rejectedTypeOnly: (accept) => `仅限 ${accept} 文件`,\n rejectedSize: (name, maxSize) => `“${name}”超过 ${maxSize}`,\n rejectedCount: (name, maxFiles) => `未添加“${name}”:最多 ${n(maxFiles)} 个文件`,\n rejectedInvalid: (name) => `“${name}”无法在此使用`,\n rejectedMany: (count) => `${n(count)} 个文件未添加`,\n selected: (count, firstName) =>\n count === 1 ? `已选择“${firstName}”` : `已选择 ${n(count)} 个文件`,\n remove: (name) => `移除“${name}”`,\n clearAll: \"移除所有文件\",\n removed: (name) => `已移除“${name}”`,\n cleared: \"已移除所有文件\",\n },\n wizard: {\n done: \"完成\",\n cancel: \"取消\",\n back: \"上一步\",\n next: \"下一步\",\n skip: \"跳过\",\n finish: \"完成\",\n submitting: \"正在创建…\",\n steps: \"步骤\",\n step: (current, total) => `第 ${n(current)} 步,共 ${n(total)} 步`,\n cancelTitle: \"放弃此表单?\",\n confirmCancel: \"已填写的内容将会丢失。\",\n cancelConfirmLabel: \"放弃\",\n cancelDismissLabel: \"继续编辑\",\n reviewTitle: \"确认信息\",\n edit: \"编辑\",\n missingRequired: \"请填写所有必填字段。\",\n genericError: \"发生错误\",\n },\n tour: {\n next: \"下一步\",\n back: \"上一步\",\n skip: \"跳过\",\n done: \"完成\",\n awaitClickHint: \"点击高亮的元素以继续\",\n awaitInputHint: \"在高亮的字段中输入一个值以继续\", // 0.46: TourStep.awaitInput (keksdose live #436).\n step: (current, total) => `${n(current)} / ${n(total)}`,\n },\n // 0.43.0 — docs/tours-harmonization.md §3, §8: the tours page.\n tourCatalogue: {\n searchLabel: \"搜索导览\",\n searchPlaceholder: \"搜索导览…\",\n groupLabel: \"主题\",\n groupAll: (count) => `全部主题(${n(count)})`,\n groupOption: (group, count) => `${group}(${n(count)})`,\n stateLabel: \"筛选导览\",\n stateAll: (count) => `全部(${n(count)})`,\n stateTodo: (count) => `待完成(${n(count)})`,\n stateDone: (count) => `已完成(${n(count)})`,\n showing: (shown, total) => `显示 ${n(shown)} / ${n(total)} 个导览`,\n noMatches: \"没有匹配的导览\",\n noMatchesHint: \"请换个关键词,或清除筛选条件。\",\n clearFilters: \"清除筛选\",\n badgeNew: \"新\",\n badgeUpdated: \"已更新\",\n resetOn: (date, reason) => (reason ? `已于 ${date} 重置:${reason}` : `已于 ${date} 重置`),\n points: (count) => `+${n(count)} 分`,\n steps: (count) => `${n(count)} 步`,\n duration: (minutes) => `约 ${n(minutes)} 分钟`,\n completedOn: (date) => `完成于 ${date}`,\n completed: \"已完成\",\n notCompleted: \"未完成\",\n markUndone: \"标记为未完成\",\n start: \"开始\",\n replay: \"再来一次\",\n },\n commandPalette: {\n clear: \"清除搜索\",\n submit: \"搜索\",\n close: \"关闭\",\n placeholder: \"搜索…\",\n empty: \"无结果\",\n loading: \"搜索中…\",\n dialog: \"搜索\",\n error: \"搜索失败,请重试。\",\n },\n globalSearch: {\n trigger: \"搜索\",\n placeholder: \"搜索或跳转到…\",\n shortcut: (keys) => `搜索(${keys})`,\n suggestions: \"试试\",\n results: \"结果\",\n },\n sparkline: {\n rising: (first, last) => `从 ${first} 上升到 ${last}`,\n falling: (first, last) => `从 ${first} 下降到 ${last}`,\n flat: (value) => `保持在 ${value} 不变`,\n single: (value) => `仅一个值:${value}`,\n noData: \"无数据\",\n named: (name, summary) => `${name}:${summary}`,\n },\n statTile: {\n increase: (amount) => `上升 ${amount}`,\n decrease: (amount) => `下降 ${amount}`,\n unchanged: \"无变化\",\n better: (change) => `${change}(向好)`,\n worse: (change) => `${change}(变差)`,\n noValue: \"无数据\",\n loading: \"加载中…\",\n },\n signaturePad: {\n label: \"签名\",\n instructions: \"请使用鼠标、手指或触控笔在框内签名。\",\n typedFallbackHint: \"如果无法手写,可以改为输入姓名。\",\n empty: \"尚未签名\",\n signed: \"已签名\",\n undo: \"撤销上一笔\",\n clear: \"清除\",\n save: \"保存签名\",\n useTyped: \"改为输入姓名\",\n useDrawn: \"改为手写\",\n typedName: \"姓名\",\n cleared: \"签名已清除\",\n undone: \"已撤销上一笔\",\n viewEmpty: \"未签名\",\n viewDrawn: \"手写签名\",\n // Quoted, so the spacing rule holds whether the name is Han or Latin.\n viewTyped: (name) => `以输入的姓名“${name}”签名`,\n },\n passwordStrength: {\n tooShort: \"太短\",\n weak: \"弱\",\n fair: \"一般\",\n good: \"良好\",\n strong: \"强\",\n announcement: (level) => `密码强度:${level}`,\n // Unformatted, as in the English default.\n ruleLength: (minLength) => `至少 ${n(minLength)} 个字符`,\n ruleCase: \"包含大写和小写字母\",\n ruleDigit: \"包含数字\",\n ruleSymbol: \"包含符号\",\n optional: (rule) => `${rule}(可选)`,\n met: \"已满足:\",\n notMet: \"未满足:\",\n tooLong: (maxBytes) => `最多 ${n(maxBytes)} 个字符(带重音的字母和表情符号按多个字符计算)。`,\n },\n seriesChart: {\n resetZoom: \"重置缩放\",\n zoomHint:\n \"拖动以缩放:近似正方形的选区同时缩放两条坐标轴,细长的选区只缩放其所沿的那条轴。双击可重置。\",\n empty: \"无数据\",\n legend: \"数据系列\",\n points: \"图表数值\",\n },\n pieChart: {\n slices: \"图表扇区\",\n slice: (label, value, percent) => `${label}:${value}(${percent})`,\n total: \"合计\",\n empty: \"无数据\",\n legend: \"类别\",\n },\n confirmDialog: {\n confirm: \"确认\",\n cancel: \"取消\",\n typed: (text) => `输入“${text}”以确认`,\n },\n floatingPanel: {\n close: \"关闭\",\n badge: (count) => `${n(count)} 条新内容`,\n },\n copyButton: {\n copy: \"复制\",\n copied: \"已复制\",\n failed: \"复制失败\",\n copiedAnnouncement: \"已复制到剪贴板\",\n failedAnnouncement: \"无法复制到剪贴板\",\n },\n list: {\n unread: \"未读\",\n opensInNewTab: \"在新标签页中打开\",\n },\n breadcrumbs: {\n label: \"面包屑导航\",\n showAll: \"显示完整路径\",\n },\n toast: {\n close: \"关闭通知\",\n notifications: \"通知\",\n undo: \"撤销\",\n redo: \"重做\",\n },\n form: {\n save: \"保存\",\n cancel: \"取消\",\n submitShortcut: (apple) => (apple ? \"⌘ Enter\" : \"Ctrl+Enter\"),\n },\n descriptionList: {\n empty: \"—\",\n },\n lineItems: {\n add: \"添加行\",\n remove: (row) => `删除第 ${row} 行`,\n confirmRemove: (row) => `删除第 ${row} 行?再次按下以确认`,\n row: (row) => `第 ${row} 行`,\n cell: (column, row) => `${column},第 ${row} 行`,\n totals: \"合计\",\n },\n progressBar: {\n unlimited: \"无限制\",\n overLimit: (amount) => `超出限额 ${amount}`,\n },\n signedAmount: {\n positive: (amount) => `正 ${amount}`,\n negative: (amount) => `负 ${amount}`,\n },\n errorBoundary: {\n title: \"出错了\",\n message: \"无法显示页面的这一部分。请重试或重新加载页面。\",\n retry: \"重试\",\n details: \"错误详情\",\n reload: \"重新加载\",\n updateTitle: \"有新版本可用\",\n updateMessage: \"自此页面加载以来,应用的部分内容已更新。请重新加载以获取新版本。\",\n offlineTitle: \"当前处于离线状态\",\n offlineMessage: \"没有网络连接,无法加载此页面。请恢复连接后重新加载页面。\",\n copyReport: \"复制错误报告\",\n reported: \"此错误已自动报告。\",\n reportedAs: (reference) => `报告编号:${reference}`,\n },\n authedImage: {\n loading: \"正在加载图片…\",\n loadError: \"无法加载图片\",\n failedImage: (alt) => `${alt}:无法加载图片`,\n },\n imageGrid: {\n list: \"图片\",\n item: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n actions: (name) => `${name}的操作`,\n },\n lightbox: {\n dialog: \"图片查看器\",\n close: \"关闭\",\n previous: \"上一张\",\n next: \"下一张\",\n counter: (index, count) => `${n(index)} / ${n(count)}`,\n position: (index, count) => `第 ${n(index)} 张,共 ${n(count)} 张`,\n download: \"下载\",\n zoom: \"缩放\",\n noPreview: \"此文件无法预览\",\n openInNewTab: \"在新标签页中打开\",\n },\n writeLock: {\n reason: \"仅可查看,无法修改。\",\n offline: \"需要网络连接。\",\n },\n accountState: {\n active: \"已启用\",\n inactive: \"已停用\",\n invited: \"已邀请\",\n registered: \"已注册\",\n unverified: \"未验证\",\n passwordChange: \"需修改密码\",\n deletion: \"已申请删除\",\n deletionOn: (date) => `将于 ${date} 删除`,\n },\n shareCard: {\n dialogTitle: \"共享\",\n close: \"关闭\",\n email: \"电子邮箱地址\",\n emailOptional: \"电子邮箱地址(可选)\",\n emailPlaceholder: \"name@example.com\",\n invalidEmail: \"请输入完整的电子邮箱地址。\",\n role: \"角色\",\n roleOf: (name) => `${name} 的角色`,\n add: \"共享\",\n whoHasAccess: \"有权访问的人\",\n nobodyYet: \"目前还没有其他人有权访问。\",\n pending: \"待接受\",\n openInvite: \"公开邀请链接\",\n copyLink: \"复制链接\",\n team: \"团队\",\n teamHint: (name) => `${name} 的所有成员都将获得访问权限。`,\n remove: \"移除访问权限\",\n removeConfirm: (name) => `移除 ${name} 的访问权限?`,\n revokePending: \"撤回邀请\",\n revokePendingConfirm: (name) => `撤回对 ${name} 的邀请?`,\n failed: \"操作未成功,请重试。\",\n loading: \"加载中…\",\n },\n reauthDialog: {\n title: \"验证身份\",\n description: \"请输入当前密码以继续。\",\n password: \"当前密码\",\n submit: \"继续\",\n cancel: \"取消\",\n },\n serverWake: {\n slow: \"仍在加载,比平时耗时更长。\",\n // A Latin product name gets a space either side, as everywhere in this catalogue.\n waking: (appName) =>\n `无人使用${appName ? ` ${appName} ` : \"本应用\"}时,服务器会进入休眠,因此暂停后的第一个请求需要重新启动它。这可能需要一点时间——不会丢失任何内容,页面会自动加载完成。`,\n },\n // 0.28.0 — docs/legal-harmonization.md §4.3/§4.4: Kurvenschmiede's reviewed Chinese,\n // brought into line with the kit's English; it goes back to Kurvenschmiede for review.\n legal: {\n navLabel: \"法律信息\",\n links: {\n impressum: \"运营者信息\",\n privacy: \"隐私政策\",\n terms: \"使用条款\",\n },\n titles: {\n impressum: \"运营者信息\",\n privacy: \"隐私政策\",\n terms: \"使用条款\",\n },\n backHome: \"返回首页\",\n // Book-title marks around the two documents, outside the links.\n accept: \"我已阅读并同意《{terms}》和《{privacy}》\",\n notice: {\n beta: \"封闭测试阶段。这些文本尚未经律师审阅,将在公开发布之前完成审阅。\",\n privacy:\n \"封闭测试阶段。以下法律措辞尚未经律师审阅,将在公开发布之前完成审阅。其中的技术说明——存储了什么、存储在哪里以及谁可以读取——描述的是软件目前的实际行为,旨在供人对照软件加以核实。\",\n },\n translation: {\n note: (o) =>\n `本页为方便阅读而提供的译文,以${o.bindingLanguage}版本为准。`,\n show: (o) => `查看${o.bindingLanguage}版本`,\n },\n sections: {\n impressum: {\n operator: {\n title: \"运营者\",\n body: (o) =>\n `${o.name}\\n${o.postalCode} ${o.city}\\n${o.country}\\n\\n完整的邮寄地址可应具有正当法律利益者的要求提供;请发送邮件至下方联系地址。`,\n },\n contact: {\n title: \"联系方式\",\n body: (o) => `电子邮件:${o.email}`,\n },\n disclaimer: {\n title: \"内容与链接的责任\",\n body: \"这是一个私人的非商业项目,在封闭测试期间提供,不作任何保证。我们所链接的外部网站由其各自的运营者负责;我们无法控制其内容。\",\n // 0.32.0 — the commercial variant (docs/billing-harmonization.md §8). \"套餐\"\n // and \"订阅\" as the `billing` namespace.\n commercial:\n \"这是一项商业服务。付费套餐由我们的经销商销售,该经销商作为记录商户(Merchant of Record)行事:它以自己的名义销售订阅、收取款项、开具发票并处理增值税,且该笔购买适用其销售条款。我们尽力确保本服务的内容准确,但无法保证其完整或最新。我们所链接的外部网站由其各自的运营者负责;我们无法控制其内容。\",\n },\n },\n privacy: {\n controller: {\n title: \"数据控制者\",\n body: (o) =>\n `负责处理本服务中个人数据的是:\\n${o.name}\\n${o.postalCode} ${o.city},${o.country}\\n电子邮件:${o.email}\\n\\n完整的邮寄地址可应数据主体和监管机构的要求提供。`,\n },\n legal_basis: {\n title: \"法律依据\",\n body: \"由于运营者位于瑞士,数据处理受瑞士《联邦数据保护法》(FADP)约束。如果欧盟《通用数据保护条例》(GDPR)适用于您,我们的依据是为提供服务而履行合同(GDPR 第 6 条第 1 款 b 项)以及我们在运行和保护服务方面的合法利益(GDPR 第 6 条第 1 款 f 项)。\",\n },\n browser: {\n title: \"您的浏览器存储什么\",\n lead: \"不使用 Cookie。应用程序会在您浏览器的存储中保留以下内容:\",\n tail: \"这些内容都不会用于跟踪您。等待发送的条目会尽快发送给我们;其他所有内容都保留在您的设备上。清除网站数据后,这些内容会全部消失;退出登录会删除登录令牌。\",\n },\n rights: {\n title: \"您的权利\",\n lead: \"您享有访问、更正、删除、限制处理、数据可携和反对的权利。\",\n tail: \"如果您在瑞士,可以联系联邦数据保护和信息专员(FDPIC);如果您在欧盟,可以向您当地的监管机构投诉。\",\n },\n contact: {\n title: \"数据保护联系方式\",\n body: (o) => `如有任何隐私方面的请求,请联系:${o.email}`,\n },\n },\n terms: {\n warranty: {\n title: \"不作保证\",\n body: \"在法律允许的范围内,本服务按“现状”和“现有”提供,不作任何形式的保证。作为测试版,它可能包含错误、发生变化或随时中断——请自行备份重要数据。\",\n },\n liability: {\n title: \"责任限制\",\n body: \"在适用法律允许的范围内,运营者对因使用或无法使用本服务而产生的任何间接损失或后果性损失不承担责任。本条款不限制依法不得限制的责任。\",\n },\n changes: {\n title: \"条款变更\",\n body: \"本条款可能会随着服务的发展而更新。重大变更将通过电子邮件或在应用程序中公布;变更后继续使用本服务即表示您接受变更。\",\n },\n language: {\n title: \"语言\",\n body: (o) =>\n `本条款以${o.bindingLanguage}撰写。其他语言的译文仅供参考;如译文与原文不一致,以${o.bindingLanguage}版本为准。`,\n },\n law: {\n title: \"适用法律\",\n body: (o) =>\n `本条款受瑞士法律管辖,但不适用其冲突法规则。在法律允许的范围内,管辖法院所在地为${o.country} ${o.city}(${o.region})。`,\n },\n },\n },\n },\n // 0.29.0 — docs/auth-harmonization.md: Kurvenschmiede's reviewed Chinese (auth.*,\n // notfound) where it says the same, brought into line with the kit's English and this\n // catalogue's words (\"通行密钥\", \"双重验证\"); written fresh where Kurvenschmiede has no\n // such text yet. Full-width punctuation; an interpolated address or name gets a space\n // either side, none before full-width punctuation. It goes back to Kurvenschmiede for\n // review.\n signIn: {\n email: \"电子邮箱\",\n password: \"密码\",\n submit: \"登录\",\n passkey: \"使用通行密钥登录\",\n forgotPassword: \"忘记密码?\",\n noAccount: \"还没有账户?\",\n register: \"创建账户\",\n invalidCredentials: \"电子邮箱或密码不正确。\",\n failed: \"登录失败,请重试。\",\n passkeyFailed: \"通行密钥登录失败。\",\n deactivatedHint: \"账户已停用?请联系 {contact}。\",\n tagHint: (taggedAddress) => `注册时用的是 ${taggedAddress} 吗?请使用该地址。`,\n twoFactorTitle: \"双重验证\",\n twoFactorIntro: \"请输入身份验证器应用显示的验证码。\",\n code: \"验证码\",\n verify: \"验证\",\n codeInvalid: \"验证码无效。\",\n setPasswordTitle: \"设置新密码\",\n setPasswordIntro: \"已要求为此账户设置新密码。设置之后即可直接继续使用。\",\n newPassword: \"新密码\",\n confirmPassword: \"再次输入新密码\",\n passwordMismatch: \"两次输入的密码不一致。\",\n setPasswordSubmit: \"设置密码并登录\",\n setPasswordFailed: \"无法设置密码。\",\n expired: \"本次登录已过期,请重新登录。\",\n backToSignIn: \"返回登录\",\n useRecoveryCode: \"使用备用码\",\n useAuthenticatorCode: \"使用身份验证器应用\",\n recoveryCode: \"备用码\",\n recoveryIntro: \"请输入您在开启双重验证时保存的备用码之一。\",\n recoveryCodeHint: (length) => `共 ${n(length)} 位字母和数字,连字符和空格不影响。`,\n recoveryCodeInvalid: \"此备用码无效或已被使用。\",\n rateLimited,\n // 0.31.0: the same words as `landing.requestAccess`.\n requestAccess: \"申请访问权限\",\n },\n register: {\n firstName: \"名字\",\n lastName: \"姓氏\",\n email: \"电子邮箱\",\n emailTagUse: (address) => `使用 ${address}`,\n emailTagHint:\n \"许多邮件服务商会把发往 name+tag@… 的邮件投递到同一个收件箱,这样本应用发来的邮件便于筛选和追溯。请先确认您的服务商支持这一点再使用:之后您需要用带标签的地址登录。\",\n invitedEmailHint: \"接收邀请的地址。\",\n invitedTagNote: \"带标签的地址会单独收到一封确认邮件。\",\n password: \"密码\",\n confirmPassword: \"再次输入密码\",\n passwordMismatch: \"两次输入的密码不一致。\",\n language: \"语言\",\n submit: \"创建账户\",\n haveAccount: \"已有账户?\",\n signIn: \"登录\",\n emailTaken: \"该电子邮箱地址已有账户。\",\n registrationClosed: \"新账户仅限受邀注册。请联系运营者,为您的电子邮箱地址发送邀请。\",\n invitationInvalid: \"此邀请链接无效。\",\n invitationExpired: \"此邀请已过期,请索取新的邀请。\",\n failed: \"注册失败,请重试。\",\n rateLimited,\n },\n completeName: {\n title: \"完善您的姓名\",\n description: \"现在需要分别填写名字和姓氏。请检查已填写的内容,并补充缺少的部分。\",\n firstName: \"名字\",\n lastName: \"姓氏\",\n save: \"保存\",\n later: \"稍后\",\n failed: \"无法保存您的姓名,请重试。\",\n },\n forgotPassword: {\n title: \"忘记密码\",\n intro: \"请输入您账户的电子邮箱地址。我们会向您发送一个设置新密码的链接。\",\n email: \"电子邮箱\",\n submit: \"发送链接\",\n sent: (email) => `如果 ${email} 有账户,链接正在发送中。`,\n sentHint: \"该链接有效期一小时,且仅可使用一次。也请查看垃圾邮件文件夹。\",\n backToSignIn: \"返回登录\",\n error: \"请求失败,请稍后重试。\",\n rateLimited,\n },\n resetPassword: {\n title: \"设置新密码\",\n checking: \"正在检查链接…\",\n intro: (email) => `您正在为 ${email} 设置新密码。`,\n newPassword: \"新密码\",\n confirmPassword: \"再次输入新密码\",\n mismatch: \"两次输入的密码不一致。\",\n submit: \"保存密码\",\n failed: \"无法修改密码。\",\n noToken: \"此链接不完整。\",\n invalid: \"此链接无效或已过期。\",\n invalidHint: \"链接有效期一小时,且仅可使用一次。重新申请一个即可。\",\n requestNew: \"申请新链接\",\n success: \"您的密码已修改,现在可以用它登录了。\",\n sessionsEnded: \"已登录的设备均已退出登录——您需要在这些设备上重新登录。\",\n signIn: \"前往登录\",\n rateLimited,\n },\n verifyEmail: {\n title: \"确认您的电子邮箱地址\",\n verifying: \"正在确认…\",\n verified: \"您的电子邮箱地址已确认。\",\n continue: \"继续\",\n invalid: \"此确认链接无效\",\n expired: \"此确认链接已过期\",\n noToken: \"此链接缺少确认令牌。\",\n invalidHint: \"该链接可能已过期或已被使用。\",\n requestInApp: \"您可以在应用内申请新的链接。\",\n requestHere: \"您可以在此申请新的链接。\",\n resend: \"重新发送\",\n resendIn: (seconds) => `${n(seconds)} 秒后可重新发送`,\n resent: \"确认邮件已发送\",\n resendError: \"无法发送确认邮件\",\n rateLimited,\n banner: \"请确认您的电子邮箱地址。\",\n dismiss: \"暂不\",\n },\n notFound: {\n title: \"未找到页面\",\n body: \"此地址不存在(或已不存在)。可能是输入有误,也可能是页面已被移动。\",\n home: \"前往首页\",\n app: \"返回应用\",\n },\n acceptInvitation: {\n title: \"接受邀请\",\n accepting: \"正在加入…\",\n accepted: \"已接受邀请。\",\n joined: (name) => `您已加入 ${name}。`,\n continue: \"继续\",\n invalid: \"无法通过此链接加入\",\n expired: \"此邀请已过期\",\n noToken: \"此链接缺少邀请令牌。\",\n askAgain: \"请让邀请您的人重新发送一份邀请。\",\n signInFirst: \"登录以接受此邀请\",\n signInHint: \"请使用收到邀请的账户登录。\",\n signIn: \"登录\",\n register: \"创建账户\",\n },\n companySwitcher: {\n switchCompany: \"切换公司\",\n heading: \"公司\",\n current: (name) => `公司:${name}`,\n currentMark: \"(当前)\",\n switching: \"正在切换公司…\",\n },\n // 0.30.0 — docs/user-admin-harmonization.md: Kurvenschmiede's reviewed Chinese for the\n // admin words (停用、角色、审校者), transfer (移交), invitations and sessions;\n // written fresh where it had no sentence.\n emailChange: {\n title: \"电子邮箱地址\",\n current: \"当前地址\",\n newEmail: \"新电子邮箱地址\",\n password: \"当前密码\",\n passwordHint: \"您使用此地址登录,因此更改它需要输入密码。\",\n emailTagUse: (address) => `使用 ${address}`,\n emailTagHint:\n \"许多邮件服务商会把发往 name+tag@… 的邮件投递到同一个收件箱,这样本应用发来的邮件便于筛选和追溯。请先确认您的服务商支持这一点再使用:之后您需要用带标签的地址登录。\",\n submit: \"更改电子邮箱地址\",\n sameAsCurrent: \"这已经是您的地址。\",\n emailTaken: \"该电子邮箱地址已有账户。\",\n wrongPassword: \"密码不正确。\",\n pending: (newEmail) => `请点击我们发送到 ${newEmail} 的链接进行确认。`,\n pendingHint: (currentEmail) => `在此之前,您仍使用 ${currentEmail} 登录。也请查看垃圾邮件文件夹。`,\n resend: \"重新发送链接\",\n resent: \"链接已重新发送。\",\n cancel: \"取消更改\",\n confirmed: (email) => `您的电子邮箱地址现在是 ${email}。`,\n passkeyNote: \"您的通行密钥仍可正常使用。您的设备可能仍以旧地址列出它们。\",\n rateLimited,\n failed: \"操作未成功,请重试。\",\n },\n // 0.36.0 — docs/notifications-harmonization.md §4.2: the notification cards.\n notifications: {\n typesTitle: \"通知我以下内容\",\n typesDescription: \"选择要接收哪些通知,以及接收方式。\",\n channelApp: \"应用内\",\n channelPush: \"推送\",\n channelEmail: \"电子邮件\",\n emailUnverified: \"请先确认您的邮箱地址,才能收到这些邮件。\",\n digestCadence: \"频率\",\n digestWeekly: \"每周\",\n digestMonthly: \"每月\",\n typesLoading: \"正在加载通知设置…\",\n typesEmpty: \"此账户没有可用的通知。\",\n quietTitle: \"免打扰时段\",\n quietDescription: (inbox, held) =>\n held\n ? inbox\n ? \"此时段内推送通知会等待,并在时段结束时送达。通知会立即进入您的收件箱。\"\n : \"此时段内推送通知会等待,并在时段结束时送达。\"\n : inbox\n ? \"此时段内不发送推送通知。通知仍会进入您的收件箱。\"\n : \"此时段内不发送推送通知。\",\n quietZone: (zone) => `按您的时区(${zone}),随您最近使用的设备而定。`,\n quietFrom: \"从\",\n quietUntil: \"到\",\n quietIncomplete: \"请同时设置开始和结束时间。两者都设置后,免打扰时段才会生效。\",\n regions: {\n Africa: \"非洲\",\n America: \"美洲\",\n Antarctica: \"南极洲\",\n Arctic: \"北极\",\n Asia: \"亚洲\",\n Atlantic: \"大西洋\",\n Australia: \"澳大利亚\",\n Europe: \"欧洲\",\n Indian: \"印度洋\",\n Pacific: \"太平洋\",\n },\n pushTitle: \"推送通知\",\n pushDescription: \"在此设备上接收通知,即使应用已关闭。\",\n unsupported: \"此浏览器不支持推送通知。\",\n iosInstall: (app) => `在 iPhone 或 iPad 上,请先将 ${app} 添加到主屏幕:iOS 只向已安装的应用发送通知。`,\n notConfigured: \"此服务器尚未设置推送通知。\",\n blocked: \"此浏览器的设置已阻止通知。\",\n on: \"此设备的通知已开启。\",\n off: \"此设备的通知已关闭。\",\n otherAccount: \"此浏览器正在接收另一个账户的通知。在此开启,即可接收您当前登录账户的通知。\",\n enable: \"开启通知\",\n disable: \"关闭\",\n sendTest: \"发送测试\",\n enableFailed: \"无法开启通知。\",\n noServiceWorker: \"无法连接应用的 Service Worker。请重新加载页面后重试。\",\n pushTimeout: \"浏览器的推送服务没有响应。请检查网络连接后重试。\",\n testSent: (count) => `测试已发送到 ${n(count)} 台设备`,\n testNone: \"没有设备接收此测试。请先为此设备开启通知。\",\n testFailed: \"无法发送测试通知。\",\n explainerTitle: \"开启通知?\",\n explainerBody: (app) => `${app} 只会就您选择的内容发送通知,您可以随时关闭。`,\n explainerHint: \"接下来浏览器会请求您的许可。\",\n explainerContinue: \"继续\",\n devicesTitle: \"通知设备\",\n devicesDescription: \"为您的账户接收推送通知的所有设备。请移除不再使用的设备。\",\n devicesLoading: \"正在加载设备…\",\n devicesEmpty: \"还没有设备接收通知。\",\n unknownDevice: \"未知设备\",\n thisDevice: \"此设备\",\n added: (date) => `添加于 ${date}`,\n lastDelivery: (date) => `上次送达:${date}`,\n noDelivery: \"尚未送达\",\n failures: (count) => `连续 ${n(count)} 次送达失败`,\n remove: \"移除\",\n // Starts with `remove`, the button's visible text, for voice control.\n removeItem: (device) => `移除:${device}`,\n removePrompt: \"停止向此设备发送通知?\",\n deviceTypes: \"此设备上的类型\",\n deviceTypesDescription: \"关闭某个类型,即可仅在此设备上将其静音。\",\n deviceTypesEmpty: \"没有开启推送通知的类型。\",\n inboxTitle: \"收件箱\",\n inboxLoading: \"正在加载通知…\",\n inboxEmpty: \"没有新通知。\",\n markAllRead: \"全部标为已读\",\n clearAll: \"全部清除\",\n clearPrompt: \"删除收件箱中的所有通知?\",\n showMore: \"显示更多\",\n bellLabel: \"通知\",\n bellUnread: (count) => `${n(count)} 条未读`,\n allNotifications: \"所有通知\",\n unsubscribeTitle: \"电子邮件通知\",\n unsubscribeAbout: (type) => `您会收到有关以下内容的邮件:${type}。`,\n unsubscribeGeneric: \"您会收到通知邮件。\",\n stopThese: \"停止接收这些邮件\",\n stopAll: (app) => `停止接收来自 ${app} 的所有通知邮件`,\n stoppedThese: \"已完成。您将不再收到这些邮件。\",\n stoppedAll: (app) => `已完成。您将不再收到来自 ${app} 的通知邮件。`,\n accountMail: \"有关您账户的邮件仍会照常发送。\",\n turnBackOn: \"您可以随时在“设置”中重新开启。\",\n openSettings: \"打开设置\",\n invalidLink: \"此链接已失效。您可以改为在“设置”中关闭这些邮件。\",\n failed: \"操作未成功,请重试。\",\n },\n sessions: {\n title: \"会话\",\n description: \"在不再使用或不信任的设备上登录过?请在所有设备上退出登录。\",\n signOutEverywhere: \"在所有设备上退出登录…\",\n signOutEverywherePrompt: \"这将结束所有会话,包括当前会话:此设备也会退出登录,您需要在这里重新登录。\",\n confirmSignOutEverywhere: \"在所有设备上退出登录\",\n list: \"您已登录的设备\",\n loading: \"正在加载会话…\",\n empty: \"没有可显示的会话。\",\n current: \"此设备\",\n unknownDevice: \"未知设备\",\n lastActive: (when) => `上次活动:${when}`,\n ip: (address) => `IP:${address}`,\n revoke: \"退出登录\",\n // Starts with `revoke`, the button's visible text, for voice control.\n revokeItem: (device) => `退出登录:${device}`,\n failed: \"操作未成功,请重试。\",\n },\n deleteAccount: {\n title: \"删除账户\",\n afterDays: (days) => `您的账户将立即停用,并在 ${n(days)} 天后被永久删除。`,\n operator: \"您的账户将立即停用,之后由运营者将其永久删除。\",\n arm: \"删除账户…\",\n prompt: \"您将在所有设备上退出登录,且无法再使用此账户。\",\n handOver: (count) => `${n(count)} 项他人可见的内容将移交给一位管理员。`,\n confirm: \"删除我的账户\",\n done: \"您的账户已停用,正在退出登录。\",\n wrongPassword: \"密码不正确。\",\n confirmationMismatch: \"这不是您账户的地址。\",\n lastAdmin: \"您是最后一位管理员。请先将其他人设为管理员。\",\n lastAdminOf: (companies) => `您是 ${companies} 的最后一位管理员。请先在那里将其他人设为管理员。`,\n householdHasMembers: \"您的家庭还有其他成员,因此无法在此删除账户。请联系运营者。\",\n rateLimited,\n failed: \"无法删除您的账户,请重试。\",\n },\n dataExport: {\n title: \"导出您的数据\",\n description: \"下载您账户数据的副本(JSON 文件)。\",\n download: \"下载我的数据\",\n started: \"下载已开始。\",\n saveAgain: \"没有开始?保存文件\",\n rateLimited: (seconds) =>\n seconds && seconds > 0\n ? `您刚刚导出过数据,请 ${wait(seconds)}后重试。`\n : \"您刚刚导出过数据,请一分钟后重试。\",\n failed: \"导出失败,请重试。\",\n },\n userRoster: {\n name: \"姓名\",\n email: \"电子邮箱\",\n role: \"角色\",\n state: \"状态\",\n created: \"创建时间\",\n lastLogin: \"最后登录\",\n never: \"从未\",\n actions: \"操作\",\n actionsFor: (name) => `${name} 的操作`,\n },\n roleSelect: {\n label: \"角色\",\n rolesLegend: \"角色\",\n roleOf: (name) => `${name} 的角色`,\n lockedLastAdmin: \"最后一位活跃管理员必须保留此角色。\",\n lockedSelf: \"您不能更改自己的角色。\",\n notForLastAdmin: \"不适用于最后一位管理员\",\n notForSelf: \"不适用于您自己的账户\",\n unavailable: (role, reason) => `${role}(${reason})`,\n },\n reviewerScope: {\n languages: \"语言\",\n hint: \"勾选此人负责审校的语言。\",\n none: \"未选择语言:保存后将取消审校者角色。\",\n areas: \"仅限\",\n legalOnly: \"仅法律页面\",\n legalOnlyHint: \"运营者信息、隐私政策和使用条款——适合律师而非母语审校者。\",\n failed: \"无法保存审校范围,请重试。\",\n },\n adminAction: {\n confirm: \"确认\",\n cancel: \"取消\",\n close: \"关闭\",\n lastAdmin: \"这是最后一位活跃管理员。请先将其他人设为管理员。\",\n self: \"不能对您自己的账户执行此操作。\",\n confirmationMismatch: \"该地址与此账户不符。请检查您当前所在的账户。\",\n otherCompanies:\n \"此账户也属于其他公司,因此只有平台运营者才能执行此操作。您可以改为将其从本公司移除。\",\n removeFromCompany: \"从公司移除\",\n failed: \"操作未成功,请重试。\",\n },\n adminActionLog: {\n title: \"管理操作\",\n empty: \"暂无管理操作。\",\n loading: \"加载中…\",\n by: (actor) => `操作者:${actor}`,\n bySelf: \"用户本人\",\n automatic: \"自动执行\",\n erased: \"已删除的账户\",\n filteredTo: (target) => `仅 ${target}`,\n showAll: \"显示全部操作\",\n filterBy: (target) => `仅显示针对 ${target} 的操作`,\n actions: {\n deactivate: \"已停用\",\n reactivate: \"已重新激活\",\n role: \"角色已更改\",\n password_change_require: \"已要求设置新密码\",\n password_change_withdraw: \"已撤回新密码要求\",\n mail_verification: \"已发送确认邮件\",\n mail_reset: \"已发送密码重置邮件\",\n reviewer: \"审校范围已更改\",\n invite: \"已邀请\",\n invite_resend: \"已重新发送邀请\",\n invite_revoke: \"已撤回邀请\",\n transfer: \"工作已移交\",\n deletion_request: \"已申请删除\",\n deletion_cancel: \"已取消删除\",\n erase: \"账户已永久删除\",\n plan: \"套餐已更改\",\n },\n // 0.34 (§11.5): whole phrases per noun. `team` is Kurvenschmiede's \"团队\"; `company`\n // keeps `actions.membership_remove`'s string.\n renamedFromTo: (from, to) => `从 ${from} 改为 ${to}`,\n groupActions: {\n group: {\n group_create: \"群组已创建\",\n group_rename: \"群组已重命名\",\n group_delete: \"群组已删除\",\n group_deactivate: \"群组已停用\",\n group_reactivate: \"群组已重新激活\",\n membership_add: \"已添加到群组\",\n membership_role: \"群组中的角色已更改\",\n membership_remove: \"已从群组移除\",\n deleted: \"已删除的群组\",\n },\n team: {\n group_create: \"团队已创建\",\n group_rename: \"团队已重命名\",\n group_delete: \"团队已删除\",\n group_deactivate: \"团队已停用\",\n group_reactivate: \"团队已重新激活\",\n membership_add: \"已添加到团队\",\n membership_role: \"团队中的角色已更改\",\n membership_remove: \"已从团队移除\",\n deleted: \"已删除的团队\",\n },\n company: {\n group_create: \"公司已创建\",\n group_rename: \"公司已重命名\",\n group_delete: \"公司已删除\",\n group_deactivate: \"公司已停用\",\n group_reactivate: \"公司已重新激活\",\n membership_add: \"已添加到公司\",\n membership_role: \"公司中的角色已更改\",\n membership_remove: \"已从公司移除\",\n deleted: \"已删除的公司\",\n },\n budget: {\n group_create: \"预算已创建\",\n group_rename: \"预算已重命名\",\n group_delete: \"预算已删除\",\n group_deactivate: \"预算已停用\",\n group_reactivate: \"预算已重新激活\",\n membership_add: \"已添加到预算\",\n membership_role: \"预算中的角色已更改\",\n membership_remove: \"已从预算移除\",\n deleted: \"已删除的预算\",\n },\n },\n },\n transferOwnership: {\n title: (name) => `移交 ${name} 的工作`,\n body: \"此账户拥有的全部内容将一次性转移到您选择的账户。\",\n recipient: \"移交给\",\n choose: \"选择账户…\",\n chooseFirst: \"请选择接收工作的人\",\n confirm: \"移交\",\n customer: \"客户\",\n deactivated: \"已停用\",\n self: \"同一账户\",\n unavailable: (account, reason) => `${account}(${reason})`,\n noCandidates: \"没有其他账户可以接收。\",\n },\n invitations: {\n email: \"电子邮箱地址\",\n invalidEmail: \"请输入完整的电子邮箱地址。\",\n role: \"角色\",\n scope: \"范围\",\n scopeNone: \"无\",\n language: \"邀请邮件语言\",\n note: \"备注\",\n invite: \"邀请\",\n listTitle: \"邀请\",\n empty: \"尚未邀请任何人。\",\n loading: \"加载中…\",\n status: { open: \"等待中\", accepted: \"已接受\", expired: \"已过期\", revoked: \"已撤回\" },\n sent: (date) => `发送于 ${date}`,\n expires: (date) => `${date} 到期`,\n invitedBy: (name) => `邀请人:${name}`,\n resend: (email) => `向 ${email} 发送新链接`,\n copyLink: \"复制邀请链接\",\n revoke: (email) => `撤回对 ${email} 的邀请`,\n consoleHint:\n \"此服务器不发送邮件——邮件会写入服务器日志。请在这里复制每个邀请链接并自行转交:链接只显示一次。\",\n linkReady: (email) => `${email} 的邀请链接,仅显示这一次:`,\n notSent: (email) => `已邀请 ${email},但邮件未能发送。请重新发送。`,\n failed: \"操作未成功,请重试。\",\n },\n characterCount: {\n count: (used, max) => `已输入 ${n(used)}/${n(max)} 个字符`,\n remaining: (left) => `还可输入 ${n(left)} 个字符`,\n limitReached: \"已达到字符数上限\",\n },\n countrySelect: {\n country: \"国家/地区\",\n search: \"搜索国家/地区\",\n others: \"其他国家/地区\",\n },\n inlineEdit: {\n edit: (label) => `编辑“${label}”`,\n failed: \"无法保存更改。\",\n empty: \"空\",\n },\n ibanInput: {\n format: \"IBAN 以两个字母的国家代码和两位校验码开头。\",\n country: (code) => `“${code}”不是 IBAN 的国家代码。`,\n length: (actual, expected) =>\n `该国家的 IBAN 应为 ${n(expected)} 个字符,当前为 ${n(actual)} 个。`,\n checksum: \"校验码不匹配,可能有字符输入错误。\",\n qrRequired: \"这是普通 IBAN。QR 账单需要该账户的 QR-IBAN。\",\n qrNotAllowed: \"这是 QR-IBAN,只能接收 QR 账单付款。请输入该账户的普通 IBAN。\",\n },\n phoneInput: {\n countryCode: \"国家/地区代码\",\n other: \"其他\",\n },\n signChip: {\n outflow: \"支出\",\n inflow: \"收入\",\n direction: (current, next) => `方向:${current},切换为${next}`,\n switchTo: (next) => `切换为${next}`,\n },\n columnMapper: {\n paste: \"粘贴表格\",\n pasteHint: \"从电子表格中复制行并粘贴到此处,或拖放 CSV 或文本文件。\",\n chooseFile: \"选择文件\",\n readError: (name) => `无法读取“${name}”`,\n headerRow: \"第一行为列名\",\n summary: (columns, rows) => `${n(columns)} 列,${n(rows)} 行`,\n separatorSemicolon: \"以分号分隔\",\n separatorComma: \"以逗号分隔\",\n separatorTab: \"以制表符分隔\",\n separatorSpace: \"以空格分隔\",\n // The examples stay as written: they show the convention, not the reader's locale.\n decimalComma: \"小数点为逗号(1,5)\",\n decimalPoint: \"小数点为句点(1.5)\",\n unreadCount: (count) => `${n(count)} 行无法读取`,\n unreadLine: (line) => `无法读取第 ${line} 行`,\n unreadMore: (count) => `……另有 ${n(count)} 行`,\n noRows: \"此文本中没有任何一行能读作表格的一行。\",\n table: \"列及其用途\",\n columnN: (column) => `第 ${column} 列`,\n roleOf: (column) => `“${column}”列的内容是什么?`,\n ignore: \"忽略\",\n requiredRole: (role) => `${role}(必填)`,\n requiredRoleShort: (role) => `${role} *`,\n previewOf: (shown, total) => `显示前 ${n(shown)} 行,共 ${n(total)} 行`,\n // `roles` arrives joined with \"或\" (\"借方或贷方\").\n oneOf: (roles) => `${roles}(任选其一)`,\n missing: (roles) => `仍需指定:${roles}。`,\n },\n translationReview: {\n statusMissing: \"缺失\",\n statusUnreviewed: \"未审校\",\n statusChanged: \"审校后已更改\",\n statusNeedsChange: \"需要修改\",\n statusApproved: \"已通过\",\n statusFilter: \"状态\",\n all: \"全部\",\n filterCount: (label, count) => `${label} · ${n(count)}`,\n source: \"文本\",\n allSources: \"全部文本\",\n namespace: \"区域\",\n allNamespaces: \"全部区域\",\n search: \"搜索键名和文本\",\n placeholdersOnly: (count) => `仅显示占位符问题(${n(count)})`,\n placeholderChip: \"占位符\",\n key: \"键名\",\n statusColumn: \"状态\",\n empty: \"没有符合这些筛选条件的文本。\",\n missingText: \"此语言中缺失\",\n progress: (approved, total) => `已通过 ${n(approved)} / ${n(total)}`,\n localeProgress: (approved, total) => `${n(approved)}/${n(total)}`,\n locales: \"语言\",\n approve: \"通过\",\n flag: \"需要修改\",\n suggest: \"建议译文\",\n flagRow: \"标记为需修改…\",\n suggestRow: \"添加译文…\",\n reset: \"标记为未审校\",\n cancel: \"取消\",\n approveSelected: \"通过所选项\",\n resetSelected: \"将所选项标记为未审校\",\n selectShown: \"选择所有显示项\",\n changedSince: \"此文本在审校后已更改,请重新阅读。\",\n reviewedWording: \"审校时的措辞\",\n reviewedReference: \"审校时的参考文本\",\n placeholderMismatch: (reference, text) =>\n `占位符与参考文本不一致——参考文本:${reference};此文本:${text}。应用会在这些位置填入内容,因此必须保持原样。`,\n // A Latin name gets a space either side, as everywhere in this catalogue.\n lastApproved: (name, date) => `${name} 于 ${date} 通过`,\n lastFlagged: (name, date) => `${name} 于 ${date} 标记为需要修改`,\n erasedReviewer: \"已删除的账户\",\n suggestion: \"更好的措辞\",\n translation: \"译文\",\n note: \"备注(可选)\",\n notePlaceholder: \"哪里有问题,或需要注意什么\",\n readOnly: \"此语言仅可查看,无法审校。\",\n scope: (areas) => `审校范围仅限于:${areas}。`,\n exportCorrections: (count) => `导出更正(${n(count)})`,\n failed: \"操作未成功,请重试。\",\n approvedToast: (count) => (count === 1 ? \"文本已通过\" : `已通过 ${n(count)} 条文本`),\n clearedToast: (count) => (count === 1 ? \"文本已标记为未审校\" : `已将 ${n(count)} 条文本标记为未审校`),\n groupCount: (unreviewed, total) => `未审校 ${n(unreviewed)} / ${n(total)}`,\n approveGroup: (count) => `通过未审校项(${n(count)})`,\n confirmGroup: (count, group) =>\n count === 1\n ? `通过“${group}”中的未审校文本?`\n : `通过“${group}”中全部 ${n(count)} 条未审校文本(包括未显示在屏幕上的)?`,\n },\n // 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md\n // §4–§5: the settings shell, the landing page's generic words and the demo. The help\n // lines name things as `accountSettings`, `sessions` and `dataExport` do; \"访问权限\"\n // as `shareCard`. A space either side of a numeral or a Latin name.\n settings: {\n title: \"设置\",\n search: \"搜索设置\",\n searchPlaceholder: \"搜索设置…\",\n results: \"匹配的设置\",\n noMatches: (query) => `没有与“${query}”匹配的设置。`,\n // As `commandPalette.clear`.\n clearSearch: \"清除搜索\",\n back: \"返回设置\",\n sections: \"设置分类\",\n matchCount: (count) => `${n(count)} 个匹配项`,\n groups: {\n appearance: {\n title: \"外观\",\n help: \"语言、主题,以及应用在此设备上的外观。\",\n },\n account: {\n title: \"账户\",\n help: \"您的个人资料和电子邮箱地址。\",\n },\n security: {\n title: \"安全\",\n help: \"您的登录方式,以及已在哪些设备上登录。\",\n },\n notifications: {\n title: \"通知\",\n help: \"您会收到哪些通知、何时收到,以及在哪些设备上收到。\",\n },\n data: {\n title: \"数据\",\n help: \"导出属于您的数据,或将其连同账户一并删除。\",\n },\n },\n },\n landing: {\n signIn: \"登录\",\n requestAccess: \"申请访问权限\",\n getStarted: \"开始使用\",\n tryDemo: \"体验演示\",\n openApp: \"打开应用\",\n continueDemo: \"继续演示\",\n beta: \"测试版\",\n // Plain text: a mail's subject and body lines, never HTML. Full-width colons.\n accessSubject: (app) => (app ? `申请访问 ${app}` : \"访问权限申请\"),\n accessName: \"姓名:\",\n accessCompany: \"公司:\",\n accessUse: \"用途:\",\n },\n demo: {\n starting: \"正在启动演示…\",\n rateLimited: (minutes) =>\n minutes\n ? `来自此网络的演示过多,请 ${n(minutes)} 分钟后重试。`\n : \"来自此网络的演示过多,请稍后重试。\",\n capacity: \"演示名额已满,请稍后重试。\",\n unavailable: \"演示暂不可用。\",\n failed: \"无法启动演示,请重试。\",\n // As `legal.backHome`.\n backToStart: \"返回首页\",\n hoursLeft: (hours, minutes) => `演示 · 剩余 ${n(hours)} 小时 ${n(minutes)} 分钟`,\n minutesLeft: (minutes) => `演示 · 剩余 ${n(minutes)} 分钟`,\n badge: \"演示\",\n readOnly: \"您正在查看示例数据,无法进行修改。\",\n sandbox: \"您自己创建的内容将在演示结束时删除。\",\n details: \"演示详情\",\n writeLocked: \"演示中无法执行此操作。\",\n endedTitle: \"演示已结束\",\n endedReadOnly: \"示例数据会定期重置。\",\n endedSandbox: \"示例数据会定期重置;您在演示中创建的内容会被删除。\",\n restart: \"开始新的演示\",\n },\n // 0.32.0 — docs/billing-harmonization.md §7, §10 and §12.24: \"套餐\" is what is bought\n // (Free, Pro), \"订阅\" the standing arrangement and the settings group. \"您\".\n billing: {\n group: \"订阅\",\n plans: \"套餐\",\n interval: \"计费周期\",\n yearly: \"按年\",\n monthly: \"按月\",\n // As `currency.currency`.\n currency: \"货币\",\n perYear: \"每年\",\n perMonth: \"每月\",\n vatIncluded: \"含增值税\",\n free: \"免费\",\n notOffered: \"此计费周期不提供\",\n // As `progressBar.unlimited`.\n unlimited: \"无限制\",\n limits: \"限额\",\n features: \"包含内容\",\n current: \"当前套餐\",\n choose: (plan) => `选择 ${plan}`,\n upgrade: (plan) => `升级到 ${plan}`,\n downgrade: (plan) => `切换到 ${plan}`,\n isCurrent: \"这是您当前的套餐。\",\n pickFirst: \"请先选择一个套餐。\",\n status: {\n trialing: \"试用中\",\n active: \"有效\",\n past_due: \"付款逾期\",\n canceled: \"已取消\",\n // As `invitations.status.expired`.\n expired: \"已过期\",\n comped: \"免费赠送\",\n },\n trialEnding: (days) =>\n `您的试用期将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,\n grantEnding: (days) =>\n `您的免费使用权将于${inDays(days)}结束。之后您仍可查看所有内容,但需要套餐才能进行修改。`,\n paymentFailed: \"您的上一笔付款未成功。请更新付款方式,以保留您的套餐。\",\n planEnded: \"您的套餐已结束。您仍可查看和导出所有内容;选择套餐后即可再次进行修改。\",\n // Never why: the owner's payment status is the owner's personal data (§12.6).\n guestReadOnly: (item) =>\n item\n ? `“${item}”目前为只读;其所有者可以解除此限制。`\n : \"此内容目前为只读;其所有者可以解除此限制。\",\n processing: \"您的付款正在处理中。确认后您的套餐即会生效;此页面会自动更新。\",\n choosePlan: \"选择套餐\",\n updatePayment: \"更新付款方式\",\n // 0.42 (§16.7 A): for an admin who isn't the buyer.\n paymentFailedAskBuyer: (buyer) =>\n buyer ? `付款未成功。${buyer} 可以更新付款方式。` : \"付款未成功。购买该订阅的管理员可以更新付款方式。\",\n checkAgain: \"再次检查\",\n lockReason: \"您的套餐已结束。选择套餐后即可再次进行修改。\",\n // As `characterCount.limitReached` (\"已达到字符数上限\").\n limitReached: \"已达到套餐上限\",\n limitUpgrade: \"如需添加更多,请选择上限更高的套餐。\",\n limitContact: \"如需添加更多,请向我们申请更高的上限。\",\n askForMore: \"申请提高上限\",\n // Both figures arrive formatted; written as `characterCount.count` writes them.\n usage: (used, limit) => `${used}/${limit}`,\n contactSubject: (dimension) => `套餐上限:${dimension}`,\n // The toast's figure line (§14.11) and the plan change's over-limit lines (§14.12);\n // written as `usage` writes the figures.\n limitUsageLine: (dimension, used, limit) => `${dimension}:${used}/${limit}`,\n manage: \"付款与发票\",\n cancel: \"取消订阅\",\n // §14.5: no customer at the provider yet, so no portal to open.\n notAtProvider: \"暂无可管理的内容。开通付费套餐后,付款和发票会显示在这里。\",\n // §14.4: the pay page's lines, built into its bundle.\n payOpening: \"正在打开安全支付页面…\",\n payNothing: \"这里没有需要支付的款项。如需选择套餐,请返回应用。\",\n payFailed: \"无法打开支付页面。请返回后稍候再试。\",\n payBack: \"支付页面已关闭。您可以返回,或重新加载此页面以再次打开。\",\n payDone: \"付款已完成。您可以关闭此页面。\",\n // 0.39 (§15.2.10): PlanSwitchConfirm.\n switchTitle: \"更改套餐\",\n switchFromTo: (from, to) => `从 ${from} 更改为 ${to}`,\n switchChargedNow: \"立即扣款\",\n switchCredited: \"抵扣后续扣款\",\n switchNextCharge: (date) => `下次扣款日期:${date}`,\n switchConfirm: \"更改套餐\",\n // 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.\n buyerHolds: (buyer) =>\n buyer\n ? `付款方式和发票由购买该订阅的 ${buyer} 管理。`\n : \"付款方式和发票由购买该订阅的管理员管理。\",\n cancelConfirmTitle: \"取消订阅\",\n cancelConfirmBody: (date) => `您的订阅将于 ${date} 结束。在此之前,一切照常使用。`,\n cancelConfirmAction: \"立即取消订阅\",\n keepSubscription: \"保留订阅\",\n portalOpensNewTab: (provider, app) =>\n `付款和发票将在新标签页中于 ${provider} 打开;${app ? `${app} 仍在此保持打开` : \"本页面仍保持打开\"}。`,\n grantWarningTitle: \"您的免费使用权仍然有效\",\n grantWarningBody: \"您的免费使用权没有结束日期。在此期间,购买不会改变您的套餐:您将为一个不生效的套餐付费。\",\n grantWarningAction: \"仍然购买\",\n waitingChanges: (count) => `${n(count)} 项修改正在等待套餐`,\n // \"放弃\", as `wizard.cancelConfirmLabel`.\n discardWaiting: \"放弃等待中的修改\",\n notConfigured: \"付款尚未设置,请稍后再试。\",\n disabled: \"此处不提供订阅。\",\n // §14.2: server-kit 0.7's refusals. \"付款与发票\", as `manage`.\n providerUnavailable: \"暂时无法连接支付服务商,请稍后再试。\",\n alreadySubscribed: \"您已有订阅。请在上方更改套餐。\",\n planNotSold: \"该套餐不支持此计费周期或货币,请选择其他套餐。\",\n // 0.39 (§15.2.10): the plan switch's refusals.\n notSubscribed: \"没有可更改的有效订阅。请选择一个套餐进行订阅。\",\n planUnchanged: \"这已经是您当前的套餐。请选择其他套餐或计费周期。\",\n },\n // 0.33.0 — docs/billing-harmonization.md §14.12: the operator's plan parts, \"套餐\" as\n // in `billing`. \"测试版\", as `landing.beta`.\n planChange: {\n column: \"套餐\",\n title: \"更改套餐\",\n confirm: \"更改套餐\",\n plan: \"套餐\",\n current: (plan) => `当前套餐:${plan}`,\n keepsItems: \"较小的套餐只会阻止新建更多内容,不会删除任何内容。\",\n until: \"免费至\",\n untilHint: \"留空表示没有结束日期。正在进行的测试版保留其自身的结束日期。\",\n needsChange: \"请选择其他套餐或结束日期。\",\n changed: (from, to) => `套餐已从 ${from} 更改为 ${to}。`,\n set: (to) => `套餐已设为 ${to}。`,\n keptBeta: \"测试版保留其结束日期;只更改了套餐。\",\n untilDone: (date) => `免费至 ${date}。`,\n overLimit: \"超出新套餐的上限:不会删除任何内容,但无法新建。\",\n // No plural: the app's word reads the same after any number (0.33.1).\n usageOf: (used, limit, dimension) => `${used}/${limit} ${dimension}`,\n },\n // 0.32.0 — docs/text-size-harmonization.md §6: the text-size and contrast settings in\n // the \"外观\" group.\n appearance: {\n textSize: \"文字大小\",\n textSizeHelp: \"更大的文字,以及为其留出空间的布局。\",\n textSizes: { normal: \"标准\", large: \"大\", xlarge: \"特大\" },\n contrast: \"对比度\",\n contrastHelp: \"增强对比度会加深浅色文字和线条,并加粗焦点框。“跟随系统”沿用此设备的设置。\",\n contrastModes: { system: \"跟随系统\", standard: \"标准\", more: \"增强\" },\n saveFailed: \"无法保存到您的账户。此设备上仍然生效。\",\n // 0.46: DateFormatSetting (keksdose's words where it has them).\n dateFormat: \"日期格式\",\n dateFormatHelp:\n \"整个应用中日期的书写方式。与界面语言无关,因此您可以用英文阅读应用,同时仍看到德式日期。\",\n dateFormatAuto: \"跟随语言\",\n // 0.46: AccountMenuTextSize (keksdose live #426).\n textSmaller: \"缩小文字\",\n textLarger: \"放大文字\",\n },\n // 0.36.0 — docs/settings-harmonization.md §11.3: resetting this device's settings, the\n // last card of \"外观\".\n deviceReset: {\n title: \"重置此设备\",\n description: \"将此设备的外观,以及表格和面板上次留下的状态,恢复为默认值。您的账户、数据和登录状态不受影响。\",\n action: \"重置此设备的设置\",\n confirmTitle: \"要重置此设备的设置吗?\",\n confirmBody:\n \"主题、颜色、文字大小、对比度和语言将在此设备上恢复为默认值,表格和面板会像第一次打开时那样显示。如果您的账户设置了语言、文字大小或对比度,此设备会重新沿用这些设置。您的账户和其他设备保持不变。\",\n confirmAction: \"重置\",\n done: \"此设备的设置已恢复为默认值。\",\n keywords: \"重置 默认 设备 恢复 外观 表格 布局\",\n },\n rowActions: {\n actions: \"操作\",\n actionsFor: (name) => `${name} 的操作`,\n confirmTitle: (action, name) => (name ? `${action}“${name}”?` : `${action}?`),\n confirmBody: \"此操作无法撤销。\",\n },\n appShellMore: {\n more: \"更多\",\n moreTitle: \"更多页面\",\n overview: \"概览\",\n },\n // 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words.\n mailTestCard: {\n title: \"测试邮件\",\n description: \"通过本安装发送所有邮件所用的传输方式,向您自己的地址发送一封邮件。\",\n transport: (backend) => `传输方式:${backend}`,\n action: \"给我发送测试邮件\",\n sent: (address) => `已发送至 ${address}。请查看收件箱。`,\n console: \"控制台传输只记录邮件,未发送任何邮件。\",\n failed: \"无法发送。服务器日志中有服务商的回复。\",\n rateLimited,\n keywords: \"测试邮件 邮件 电子邮件 传输 smtp resend 控制台 发送 投递\",\n },\n adminArea: {\n title: \"管理\",\n waiting: (count) => `${n(count)} 项待处理`,\n waitingLabel: (label, count) => `${label},${n(count)} 项待处理`,\n forbiddenTitle: \"仅限管理员\",\n forbiddenBody: (appName) => `管理员在这里管理 ${appName}。您的账户无法打开此页面。`,\n forbiddenHome: \"前往首页\",\n forbiddenReviewer: \"审校翻译\",\n sections: {\n overview: { title: \"概览\", help: \"一眼看清待处理的事项。\" },\n users: { title: \"用户\", help: \"谁拥有账户,以及每个人可以做什么。\" },\n invitations: { title: \"邀请\", help: \"通过电子邮件以对方的语言邀请他人;可重新发送或撤销尚未处理的邀请。\" },\n billing: { title: \"账单\", help: \"套餐、付款和发票。\" },\n activity: { title: \"活动\", help: \"管理员的操作记录,最新的在前。\" },\n },\n tiles: {\n feedbackWaiting: \"待分类\",\n deletionRequests: \"删除请求\",\n invitationsPending: \"待接受的邀请\",\n users: \"用户\",\n usersNew: (count) => `近 7 天新增 ${n(count)} 人`,\n awaitingVerdict: \"待确认\",\n awaitingVerdictHint: \"已答复,等待您或报告人确认已解决\",\n releasedForWork: \"待处理\",\n releasedForWorkHint: \"已就绪、已要求返工或进行中\",\n },\n overviewError: \"无法加载概览。\",\n retry: \"重试\",\n tools: \"工具\",\n },\n // 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts; \"套餐\" as\n // `billing`.\n topBarParts: {\n tours: {\n menu: \"导览\",\n newDot: \"有新导览\",\n thisPage: \"本页\",\n newTours: \"新导览\",\n allTours: \"全部导览…\",\n badgeNew: \"新\",\n completed: \"已完成\",\n badgeUpdated: \"已更新\",\n updatedDot: \"有更新的导览\",\n newAndUpdated: \"新增和更新\",\n },\n sync: {\n blocked: (count) => `${n(count)} 项修改无法从此设备发送`,\n offline: \"离线——修改已保存在此设备上,重新连接后会同步\",\n refused: \"服务器拒绝了上一次同步\",\n syncing: \"正在同步…\",\n pending: (count) => `${n(count)} 项修改等待同步`,\n syncedAt: (time) => `已于 ${time} 同步`,\n idle: \"已是最新\",\n syncHint: \"点按立即同步\",\n offlineHint: \"离线时无可同步内容\",\n withHint: (state, hint) => `${state}——${hint}`,\n scoped: (scope, state) => `${scope}:${state}`,\n offlineShort: \"离线\",\n syncingShort: \"正在同步…\",\n waitingShort: (count) => `${n(count)} 项等待中`,\n refusedShort: \"未同步\",\n offlineUnsaved: \"离线——重新连接前无法保存修改\",\n saving: \"正在保存…\",\n },\n dev: {\n roleHeading: \"开发 · 角色\",\n switchPlan: \"切换套餐\",\n plan: (value) => `套餐:${value}`,\n planHeading: \"开发 · 套餐\",\n backTo: (role) => `返回 ${role}`,\n billingOff: \"本地已关闭计费:切换套餐不会改变任何内容\",\n },\n },\n // 0.45.0 — docs/local-first-harmonization.md §1.6 (`@eifi1/ui-kit/offline`): keksdose's\n // reviewed words (nav.logout_queued_*, pwa.*) where it has the language.\n signOutPending: {\n title: \"部分修改尚未保存到服务器\",\n lost: (count) => `${n(count)} 项修改仍在等待同步。退出登录会清除此设备上的副本,而这是唯一的副本。`,\n kept: (count) => `${n(count)} 项修改仍在等待同步。它们会为您保留在此设备上,并在您下次在此登录时同步。`,\n syncNow: \"立即同步\",\n signOutAnyway: \"仍然退出登录\",\n discardWaiting: \"放弃等待中的修改\",\n cancel: \"取消\",\n },\n pwaUpdate: {\n updateAvailable: \"有新版本可用。\",\n reload: \"重新加载\",\n },\n sharedComputer: {\n label: \"这是一台共用电脑\",\n hint: \"此设备上不会保留您的数据副本。页面将只能在联网时打开。\",\n },\n };\n}\n\nexport const UI_KIT_LABELS_ZH: UiKitLabels = uiKitLabelsZh();\n"],"mappings":"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","names":[]}