@eifi1/ui-kit 0.41.0 → 0.43.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 (190) hide show
  1. package/README.md +26 -7
  2. package/dist/admin/admin-area-labels.d.ts +59 -0
  3. package/dist/admin/admin-area-labels.js +35 -0
  4. package/dist/admin/admin-area-labels.js.map +1 -0
  5. package/dist/admin/admin-forbidden.d.ts +35 -0
  6. package/dist/admin/admin-forbidden.js +36 -0
  7. package/dist/admin/admin-forbidden.js.map +1 -0
  8. package/dist/admin/admin-overview.d.ts +110 -0
  9. package/dist/admin/admin-overview.js +92 -0
  10. package/dist/admin/admin-overview.js.map +1 -0
  11. package/dist/admin/admin-sections.d.ts +94 -0
  12. package/dist/admin/admin-sections.js +81 -0
  13. package/dist/admin/admin-sections.js.map +1 -0
  14. package/dist/admin/admin-tool-links.d.ts +48 -0
  15. package/dist/admin/admin-tool-links.js +31 -0
  16. package/dist/admin/admin-tool-links.js.map +1 -0
  17. package/dist/billing/billing-banner.d.ts +33 -2
  18. package/dist/billing/billing-banner.js +29 -3
  19. package/dist/billing/billing-banner.js.map +1 -1
  20. package/dist/billing/billing-labels.d.ts +36 -0
  21. package/dist/billing/billing-labels.js +10 -0
  22. package/dist/billing/billing-labels.js.map +1 -1
  23. package/dist/billing/billing-overview.d.ts +33 -0
  24. package/dist/billing/billing-overview.js +6 -0
  25. package/dist/billing/billing-overview.js.map +1 -1
  26. package/dist/billing/billing-standing.d.ts +8 -0
  27. package/dist/billing/billing-standing.js.map +1 -1
  28. package/dist/billing/cancel-request.d.ts +53 -0
  29. package/dist/billing/cancel-request.js +21 -0
  30. package/dist/billing/cancel-request.js.map +1 -0
  31. package/dist/billing/cancel-subscription.d.ts +46 -0
  32. package/dist/billing/cancel-subscription.js +57 -0
  33. package/dist/billing/cancel-subscription.js.map +1 -0
  34. package/dist/billing/plan-card.d.ts +45 -1
  35. package/dist/billing/plan-card.js +53 -2
  36. package/dist/billing/plan-card.js.map +1 -1
  37. package/dist/billing/plan-switch.d.ts +10 -1
  38. package/dist/billing/plan-switch.js +22 -13
  39. package/dist/billing/plan-switch.js.map +1 -1
  40. package/dist/billing/provider-page.d.ts +40 -0
  41. package/dist/billing/provider-page.js +33 -0
  42. package/dist/billing/provider-page.js.map +1 -0
  43. package/dist/billing/subscription-actions.d.ts +68 -4
  44. package/dist/billing/subscription-actions.js +65 -5
  45. package/dist/billing/subscription-actions.js.map +1 -1
  46. package/dist/components/account-chips.d.ts +50 -2
  47. package/dist/components/account-chips.js +33 -0
  48. package/dist/components/account-chips.js.map +1 -1
  49. package/dist/components/empty-state.d.ts +2 -1
  50. package/dist/components/empty-state.js.map +1 -1
  51. package/dist/eslint/index.js +1 -1
  52. package/dist/feedback/feedback-menu.d.ts +7 -4
  53. package/dist/feedback/feedback-menu.js +4 -2
  54. package/dist/feedback/feedback-menu.js.map +1 -1
  55. package/dist/hooks/use-search-param-state.js +4 -1
  56. package/dist/hooks/use-search-param-state.js.map +1 -1
  57. package/dist/i18n/defaults.js +7 -1
  58. package/dist/i18n/defaults.js.map +1 -1
  59. package/dist/i18n/german.js +113 -0
  60. package/dist/i18n/german.js.map +1 -1
  61. package/dist/i18n/kit-labels.d.ts +12 -0
  62. package/dist/i18n/kit-labels.js.map +1 -1
  63. package/dist/i18n/locales/en.js +142 -1
  64. package/dist/i18n/locales/en.js.map +3 -3
  65. package/dist/i18n/locales/es.js +110 -0
  66. package/dist/i18n/locales/es.js.map +1 -1
  67. package/dist/i18n/locales/fr.js +109 -0
  68. package/dist/i18n/locales/fr.js.map +1 -1
  69. package/dist/i18n/locales/hu.js +110 -0
  70. package/dist/i18n/locales/hu.js.map +1 -1
  71. package/dist/i18n/locales/it.js +110 -0
  72. package/dist/i18n/locales/it.js.map +1 -1
  73. package/dist/i18n/locales/zh.js +109 -0
  74. package/dist/i18n/locales/zh.js.map +1 -1
  75. package/dist/i18n/review.js +34 -1
  76. package/dist/i18n/review.js.map +1 -1
  77. package/dist/index.d.ts +24 -2
  78. package/dist/index.js +29 -1
  79. package/dist/index.js.map +1 -1
  80. package/dist/search/global-search.d.ts +3 -0
  81. package/dist/search/global-search.js +3 -1
  82. package/dist/search/global-search.js.map +1 -1
  83. package/dist/settings/settings-catalogue.d.ts +9 -1
  84. package/dist/settings/settings-catalogue.js +1 -1
  85. package/dist/settings/settings-catalogue.js.map +1 -1
  86. package/dist/settings/settings-layout.d.ts +7 -1
  87. package/dist/settings/settings-layout.js +35 -27
  88. package/dist/settings/settings-layout.js.map +1 -1
  89. package/dist/shell/account-menu-language.d.ts +46 -0
  90. package/dist/shell/account-menu-language.js +64 -0
  91. package/dist/shell/account-menu-language.js.map +1 -0
  92. package/dist/shell/admin-menu.d.ts +69 -0
  93. package/dist/shell/admin-menu.js +64 -0
  94. package/dist/shell/admin-menu.js.map +1 -0
  95. package/dist/shell/app-shell.d.ts +10 -0
  96. package/dist/shell/app-shell.js +22 -4
  97. package/dist/shell/app-shell.js.map +1 -1
  98. package/dist/shell/dev-switchers.d.ts +53 -0
  99. package/dist/shell/dev-switchers.js +107 -0
  100. package/dist/shell/dev-switchers.js.map +1 -0
  101. package/dist/shell/sync-status-indicator.d.ts +86 -0
  102. package/dist/shell/sync-status-indicator.js +170 -0
  103. package/dist/shell/sync-status-indicator.js.map +1 -0
  104. package/dist/shell/top-bar-actions.d.ts +49 -0
  105. package/dist/shell/top-bar-actions.js +31 -0
  106. package/dist/shell/top-bar-actions.js.map +1 -0
  107. package/dist/shell/top-bar-parts-labels.d.ts +90 -0
  108. package/dist/shell/top-bar-parts-labels.js +51 -0
  109. package/dist/shell/top-bar-parts-labels.js.map +1 -0
  110. package/dist/shell/topbar-action-menu.d.ts +13 -1
  111. package/dist/shell/topbar-action-menu.js +5 -2
  112. package/dist/shell/topbar-action-menu.js.map +1 -1
  113. package/dist/shell/topbar-controls.d.ts +16 -3
  114. package/dist/shell/topbar-controls.js +5 -1
  115. package/dist/shell/topbar-controls.js.map +1 -1
  116. package/dist/shell/tour-menu.d.ts +67 -0
  117. package/dist/shell/tour-menu.js +87 -0
  118. package/dist/shell/tour-menu.js.map +1 -0
  119. package/dist/shell.d.ts +16 -0
  120. package/dist/shell.js +21 -0
  121. package/dist/shell.js.map +1 -1
  122. package/dist/tour/tour-catalogue-labels.d.ts +44 -0
  123. package/dist/tour/tour-catalogue-labels.js +32 -0
  124. package/dist/tour/tour-catalogue-labels.js.map +1 -0
  125. package/dist/tour/tour-catalogue.d.ts +68 -0
  126. package/dist/tour/tour-catalogue.js +189 -0
  127. package/dist/tour/tour-catalogue.js.map +1 -0
  128. package/dist/tour/tour-info.d.ts +112 -0
  129. package/dist/tour/tour-info.js +36 -0
  130. package/dist/tour/tour-info.js.map +1 -0
  131. package/dist/tour/use-tour-progress.d.ts +61 -0
  132. package/dist/tour/use-tour-progress.js +116 -0
  133. package/dist/tour/use-tour-progress.js.map +1 -0
  134. package/dist/tour/use-tour-url-sync.d.ts +58 -0
  135. package/dist/tour/use-tour-url-sync.js +110 -0
  136. package/dist/tour/use-tour-url-sync.js.map +1 -0
  137. package/dist/tour.d.ts +8 -0
  138. package/dist/tour.js +18 -0
  139. package/dist/tour.js.map +1 -1
  140. package/package.json +1 -1
  141. package/src/admin/admin-area-labels.ts +91 -0
  142. package/src/admin/admin-forbidden.tsx +75 -0
  143. package/src/admin/admin-overview.tsx +217 -0
  144. package/src/admin/admin-sections.tsx +198 -0
  145. package/src/admin/admin-tool-links.tsx +84 -0
  146. package/src/billing/billing-banner.tsx +57 -6
  147. package/src/billing/billing-labels.ts +59 -0
  148. package/src/billing/billing-overview.ts +37 -0
  149. package/src/billing/billing-standing.ts +8 -0
  150. package/src/billing/cancel-request.ts +75 -0
  151. package/src/billing/cancel-subscription.tsx +102 -0
  152. package/src/billing/plan-card.tsx +97 -1
  153. package/src/billing/plan-switch.tsx +16 -0
  154. package/src/billing/provider-page.ts +75 -0
  155. package/src/billing/subscription-actions.tsx +155 -20
  156. package/src/components/account-chips.tsx +89 -2
  157. package/src/components/empty-state.tsx +2 -1
  158. package/src/feedback/feedback-menu.tsx +8 -3
  159. package/src/hooks/use-search-param-state.ts +6 -1
  160. package/src/i18n/defaults.ts +6 -0
  161. package/src/i18n/german.ts +127 -0
  162. package/src/i18n/kit-labels.tsx +12 -0
  163. package/src/i18n/locales/en.ts +32 -0
  164. package/src/i18n/locales/es.ts +121 -0
  165. package/src/i18n/locales/fr.ts +121 -0
  166. package/src/i18n/locales/hu.ts +119 -0
  167. package/src/i18n/locales/it.ts +122 -0
  168. package/src/i18n/locales/zh.ts +114 -0
  169. package/src/i18n/review.ts +33 -0
  170. package/src/index.ts +38 -2
  171. package/src/search/global-search.tsx +5 -0
  172. package/src/settings/settings-catalogue.ts +10 -2
  173. package/src/settings/settings-layout.tsx +58 -34
  174. package/src/shell/account-menu-language.tsx +116 -0
  175. package/src/shell/admin-menu.tsx +146 -0
  176. package/src/shell/app-shell.tsx +44 -3
  177. package/src/shell/dev-switchers.tsx +179 -0
  178. package/src/shell/sync-status-indicator.tsx +301 -0
  179. package/src/shell/top-bar-actions.tsx +79 -0
  180. package/src/shell/top-bar-parts-labels.ts +142 -0
  181. package/src/shell/topbar-action-menu.tsx +15 -2
  182. package/src/shell/topbar-controls.tsx +20 -3
  183. package/src/shell/tour-menu.tsx +179 -0
  184. package/src/shell.ts +27 -0
  185. package/src/tour/tour-catalogue-labels.ts +75 -0
  186. package/src/tour/tour-catalogue.tsx +316 -0
  187. package/src/tour/tour-info.ts +144 -0
  188. package/src/tour/use-tour-progress.ts +198 -0
  189. package/src/tour/use-tour-url-sync.ts +221 -0
  190. package/src/tour.ts +11 -0
@@ -570,6 +570,34 @@ function uiKitLabelsZh(numberLocale = "zh-CN") {
570
570
  awaitClickHint: "\u70B9\u51FB\u9AD8\u4EAE\u7684\u5143\u7D20\u4EE5\u7EE7\u7EED",
571
571
  step: (current, total) => `${n(current)} / ${n(total)}`
572
572
  },
573
+ // 0.43.0 — docs/tours-harmonization.md §3, §8: the tours page.
574
+ tourCatalogue: {
575
+ searchLabel: "\u641C\u7D22\u5BFC\u89C8",
576
+ searchPlaceholder: "\u641C\u7D22\u5BFC\u89C8\u2026",
577
+ groupLabel: "\u4E3B\u9898",
578
+ groupAll: (count) => `\u5168\u90E8\u4E3B\u9898\uFF08${n(count)}\uFF09`,
579
+ groupOption: (group, count) => `${group}\uFF08${n(count)}\uFF09`,
580
+ stateLabel: "\u7B5B\u9009\u5BFC\u89C8",
581
+ stateAll: (count) => `\u5168\u90E8\uFF08${n(count)}\uFF09`,
582
+ stateTodo: (count) => `\u5F85\u5B8C\u6210\uFF08${n(count)}\uFF09`,
583
+ stateDone: (count) => `\u5DF2\u5B8C\u6210\uFF08${n(count)}\uFF09`,
584
+ showing: (shown, total) => `\u663E\u793A ${n(shown)} / ${n(total)} \u4E2A\u5BFC\u89C8`,
585
+ noMatches: "\u6CA1\u6709\u5339\u914D\u7684\u5BFC\u89C8",
586
+ noMatchesHint: "\u8BF7\u6362\u4E2A\u5173\u952E\u8BCD\uFF0C\u6216\u6E05\u9664\u7B5B\u9009\u6761\u4EF6\u3002",
587
+ clearFilters: "\u6E05\u9664\u7B5B\u9009",
588
+ badgeNew: "\u65B0",
589
+ badgeUpdated: "\u5DF2\u66F4\u65B0",
590
+ resetOn: (date, reason) => reason ? `\u5DF2\u4E8E ${date} \u91CD\u7F6E\uFF1A${reason}` : `\u5DF2\u4E8E ${date} \u91CD\u7F6E`,
591
+ points: (count) => `+${n(count)} \u5206`,
592
+ steps: (count) => `${n(count)} \u6B65`,
593
+ duration: (minutes) => `\u7EA6 ${n(minutes)} \u5206\u949F`,
594
+ completedOn: (date) => `\u5B8C\u6210\u4E8E ${date}`,
595
+ completed: "\u5DF2\u5B8C\u6210",
596
+ notCompleted: "\u672A\u5B8C\u6210",
597
+ markUndone: "\u6807\u8BB0\u4E3A\u672A\u5B8C\u6210",
598
+ start: "\u5F00\u59CB",
599
+ replay: "\u518D\u6765\u4E00\u6B21"
600
+ },
573
601
  commandPalette: {
574
602
  clear: "\u6E05\u9664\u641C\u7D22",
575
603
  submit: "\u641C\u7D22",
@@ -1570,6 +1598,8 @@ ${o.postalCode} ${o.city}\uFF0C${o.country}
1570
1598
  processing: "\u60A8\u7684\u4ED8\u6B3E\u6B63\u5728\u5904\u7406\u4E2D\u3002\u786E\u8BA4\u540E\u60A8\u7684\u5957\u9910\u5373\u4F1A\u751F\u6548\uFF1B\u6B64\u9875\u9762\u4F1A\u81EA\u52A8\u66F4\u65B0\u3002",
1571
1599
  choosePlan: "\u9009\u62E9\u5957\u9910",
1572
1600
  updatePayment: "\u66F4\u65B0\u4ED8\u6B3E\u65B9\u5F0F",
1601
+ // 0.42 (§16.7 A): for an admin who isn't the buyer.
1602
+ paymentFailedAskBuyer: (buyer) => buyer ? `\u4ED8\u6B3E\u672A\u6210\u529F\u3002${buyer} \u53EF\u4EE5\u66F4\u65B0\u4ED8\u6B3E\u65B9\u5F0F\u3002` : "\u4ED8\u6B3E\u672A\u6210\u529F\u3002\u8D2D\u4E70\u8BE5\u8BA2\u9605\u7684\u7BA1\u7406\u5458\u53EF\u4EE5\u66F4\u65B0\u4ED8\u6B3E\u65B9\u5F0F\u3002",
1573
1603
  checkAgain: "\u518D\u6B21\u68C0\u67E5",
1574
1604
  lockReason: "\u60A8\u7684\u5957\u9910\u5DF2\u7ED3\u675F\u3002\u9009\u62E9\u5957\u9910\u540E\u5373\u53EF\u518D\u6B21\u8FDB\u884C\u4FEE\u6539\u3002",
1575
1605
  // As `characterCount.limitReached` ("已达到字符数上限").
@@ -1600,6 +1630,16 @@ ${o.postalCode} ${o.city}\uFF0C${o.country}
1600
1630
  switchCredited: "\u62B5\u6263\u540E\u7EED\u6263\u6B3E",
1601
1631
  switchNextCharge: (date) => `\u4E0B\u6B21\u6263\u6B3E\u65E5\u671F\uFF1A${date}`,
1602
1632
  switchConfirm: "\u66F4\u6539\u5957\u9910",
1633
+ // 0.42 (§16): the portal for the buyer only, the in-app cancel, the grant warning.
1634
+ buyerHolds: (buyer) => buyer ? `\u4ED8\u6B3E\u65B9\u5F0F\u548C\u53D1\u7968\u7531\u8D2D\u4E70\u8BE5\u8BA2\u9605\u7684 ${buyer} \u7BA1\u7406\u3002` : "\u4ED8\u6B3E\u65B9\u5F0F\u548C\u53D1\u7968\u7531\u8D2D\u4E70\u8BE5\u8BA2\u9605\u7684\u7BA1\u7406\u5458\u7BA1\u7406\u3002",
1635
+ cancelConfirmTitle: "\u53D6\u6D88\u8BA2\u9605",
1636
+ cancelConfirmBody: (date) => `\u60A8\u7684\u8BA2\u9605\u5C06\u4E8E ${date} \u7ED3\u675F\u3002\u5728\u6B64\u4E4B\u524D\uFF0C\u4E00\u5207\u7167\u5E38\u4F7F\u7528\u3002`,
1637
+ cancelConfirmAction: "\u7ACB\u5373\u53D6\u6D88\u8BA2\u9605",
1638
+ keepSubscription: "\u4FDD\u7559\u8BA2\u9605",
1639
+ portalOpensNewTab: (provider, app) => `\u4ED8\u6B3E\u548C\u53D1\u7968\u5C06\u5728\u65B0\u6807\u7B7E\u9875\u4E2D\u4E8E ${provider} \u6253\u5F00\uFF1B${app ? `${app} \u4ECD\u5728\u6B64\u4FDD\u6301\u6253\u5F00` : "\u672C\u9875\u9762\u4ECD\u4FDD\u6301\u6253\u5F00"}\u3002`,
1640
+ grantWarningTitle: "\u60A8\u7684\u514D\u8D39\u4F7F\u7528\u6743\u4ECD\u7136\u6709\u6548",
1641
+ grantWarningBody: "\u60A8\u7684\u514D\u8D39\u4F7F\u7528\u6743\u6CA1\u6709\u7ED3\u675F\u65E5\u671F\u3002\u5728\u6B64\u671F\u95F4\uFF0C\u8D2D\u4E70\u4E0D\u4F1A\u6539\u53D8\u60A8\u7684\u5957\u9910\uFF1A\u60A8\u5C06\u4E3A\u4E00\u4E2A\u4E0D\u751F\u6548\u7684\u5957\u9910\u4ED8\u8D39\u3002",
1642
+ grantWarningAction: "\u4ECD\u7136\u8D2D\u4E70",
1603
1643
  waitingChanges: (count) => `${n(count)} \u9879\u4FEE\u6539\u6B63\u5728\u7B49\u5F85\u5957\u9910`,
1604
1644
  // "放弃", as `wizard.cancelConfirmLabel`.
1605
1645
  discardWaiting: "\u653E\u5F03\u7B49\u5F85\u4E2D\u7684\u4FEE\u6539",
@@ -1663,6 +1703,75 @@ ${o.postalCode} ${o.city}\uFF0C${o.country}
1663
1703
  appShellMore: {
1664
1704
  more: "\u66F4\u591A",
1665
1705
  moreTitle: "\u66F4\u591A\u9875\u9762"
1706
+ },
1707
+ // 0.42.0 — docs/admin-harmonization.md §3.1: the admin area's shared words.
1708
+ adminArea: {
1709
+ title: "\u7BA1\u7406",
1710
+ waiting: (count) => `${n(count)} \u9879\u5F85\u5904\u7406`,
1711
+ forbiddenTitle: "\u4EC5\u9650\u7BA1\u7406\u5458",
1712
+ forbiddenBody: (appName) => `\u7BA1\u7406\u5458\u5728\u8FD9\u91CC\u7BA1\u7406 ${appName}\u3002\u60A8\u7684\u8D26\u6237\u65E0\u6CD5\u6253\u5F00\u6B64\u9875\u9762\u3002`,
1713
+ forbiddenHome: "\u524D\u5F80\u9996\u9875",
1714
+ forbiddenReviewer: "\u5BA1\u6821\u7FFB\u8BD1",
1715
+ sections: {
1716
+ overview: { title: "\u6982\u89C8", help: "\u4E00\u773C\u770B\u6E05\u5F85\u5904\u7406\u7684\u4E8B\u9879\u3002" },
1717
+ users: { title: "\u7528\u6237", help: "\u8C01\u62E5\u6709\u8D26\u6237\uFF0C\u4EE5\u53CA\u6BCF\u4E2A\u4EBA\u53EF\u4EE5\u505A\u4EC0\u4E48\u3002" },
1718
+ invitations: { title: "\u9080\u8BF7", help: "\u901A\u8FC7\u7535\u5B50\u90AE\u4EF6\u4EE5\u5BF9\u65B9\u7684\u8BED\u8A00\u9080\u8BF7\u4ED6\u4EBA\uFF1B\u53EF\u91CD\u65B0\u53D1\u9001\u6216\u64A4\u9500\u5C1A\u672A\u5904\u7406\u7684\u9080\u8BF7\u3002" },
1719
+ billing: { title: "\u8D26\u5355", help: "\u5957\u9910\u3001\u4ED8\u6B3E\u548C\u53D1\u7968\u3002" },
1720
+ activity: { title: "\u6D3B\u52A8", help: "\u7BA1\u7406\u5458\u7684\u64CD\u4F5C\u8BB0\u5F55\uFF0C\u6700\u65B0\u7684\u5728\u524D\u3002" }
1721
+ },
1722
+ tiles: {
1723
+ feedbackWaiting: "\u5F85\u5206\u7C7B",
1724
+ deletionRequests: "\u5220\u9664\u8BF7\u6C42",
1725
+ invitationsPending: "\u5F85\u63A5\u53D7\u7684\u9080\u8BF7",
1726
+ users: "\u7528\u6237",
1727
+ usersNew: (count) => `\u8FD1 7 \u5929\u65B0\u589E ${n(count)} \u4EBA`
1728
+ },
1729
+ overviewError: "\u65E0\u6CD5\u52A0\u8F7D\u6982\u89C8\u3002",
1730
+ retry: "\u91CD\u8BD5",
1731
+ tools: "\u5DE5\u5177"
1732
+ },
1733
+ // 0.42.0 — docs/top-bar-harmonization.md §3.1: the top bar's shared parts; "套餐" as
1734
+ // `billing`.
1735
+ topBarParts: {
1736
+ tours: {
1737
+ menu: "\u5BFC\u89C8",
1738
+ newDot: "\u6709\u65B0\u5BFC\u89C8",
1739
+ thisPage: "\u672C\u9875",
1740
+ newTours: "\u65B0\u5BFC\u89C8",
1741
+ allTours: "\u5168\u90E8\u5BFC\u89C8\u2026",
1742
+ badgeNew: "\u65B0",
1743
+ completed: "\u5DF2\u5B8C\u6210",
1744
+ badgeUpdated: "\u5DF2\u66F4\u65B0",
1745
+ updatedDot: "\u6709\u66F4\u65B0\u7684\u5BFC\u89C8",
1746
+ newAndUpdated: "\u65B0\u589E\u548C\u66F4\u65B0"
1747
+ },
1748
+ sync: {
1749
+ blocked: (count) => `${n(count)} \u9879\u4FEE\u6539\u65E0\u6CD5\u4ECE\u6B64\u8BBE\u5907\u53D1\u9001`,
1750
+ offline: "\u79BB\u7EBF\u2014\u2014\u4FEE\u6539\u5DF2\u4FDD\u5B58\u5728\u6B64\u8BBE\u5907\u4E0A\uFF0C\u91CD\u65B0\u8FDE\u63A5\u540E\u4F1A\u540C\u6B65",
1751
+ refused: "\u670D\u52A1\u5668\u62D2\u7EDD\u4E86\u4E0A\u4E00\u6B21\u540C\u6B65",
1752
+ syncing: "\u6B63\u5728\u540C\u6B65\u2026",
1753
+ pending: (count) => `${n(count)} \u9879\u4FEE\u6539\u7B49\u5F85\u540C\u6B65`,
1754
+ syncedAt: (time) => `\u5DF2\u4E8E ${time} \u540C\u6B65`,
1755
+ idle: "\u5DF2\u662F\u6700\u65B0",
1756
+ syncHint: "\u70B9\u6309\u7ACB\u5373\u540C\u6B65",
1757
+ offlineHint: "\u79BB\u7EBF\u65F6\u65E0\u53EF\u540C\u6B65\u5185\u5BB9",
1758
+ withHint: (state, hint) => `${state}\u2014\u2014${hint}`,
1759
+ scoped: (scope, state) => `${scope}\uFF1A${state}`,
1760
+ offlineShort: "\u79BB\u7EBF",
1761
+ syncingShort: "\u6B63\u5728\u540C\u6B65\u2026",
1762
+ waitingShort: (count) => `${n(count)} \u9879\u7B49\u5F85\u4E2D`,
1763
+ refusedShort: "\u672A\u540C\u6B65",
1764
+ offlineUnsaved: "\u79BB\u7EBF\u2014\u2014\u91CD\u65B0\u8FDE\u63A5\u524D\u65E0\u6CD5\u4FDD\u5B58\u4FEE\u6539",
1765
+ saving: "\u6B63\u5728\u4FDD\u5B58\u2026"
1766
+ },
1767
+ dev: {
1768
+ roleHeading: "\u5F00\u53D1 \xB7 \u89D2\u8272",
1769
+ switchPlan: "\u5207\u6362\u5957\u9910",
1770
+ plan: (value) => `\u5957\u9910\uFF1A${value}`,
1771
+ planHeading: "\u5F00\u53D1 \xB7 \u5957\u9910",
1772
+ backTo: (role) => `\u8FD4\u56DE ${role}`,
1773
+ billingOff: "\u672C\u5730\u5DF2\u5173\u95ED\u8BA1\u8D39\uFF1A\u5207\u6362\u5957\u9910\u4E0D\u4F1A\u6539\u53D8\u4EFB\u4F55\u5185\u5BB9"
1774
+ }
1666
1775
  }
1667
1776
  };
1668
1777
  }