@eifi1/ui-kit 0.29.0 → 0.31.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 (307) hide show
  1. package/README.md +65 -6
  2. package/dist/account/account-parts.d.ts +21 -0
  3. package/dist/account/account-parts.js +40 -0
  4. package/dist/account/account-parts.js.map +1 -0
  5. package/dist/account/data-export-setting.d.ts +73 -0
  6. package/dist/account/data-export-setting.js +114 -0
  7. package/dist/account/data-export-setting.js.map +1 -0
  8. package/dist/account/delete-account-setting.d.ts +95 -0
  9. package/dist/account/delete-account-setting.js +200 -0
  10. package/dist/account/delete-account-setting.js.map +1 -0
  11. package/dist/account/email-change-setting.d.ts +136 -0
  12. package/dist/account/email-change-setting.js +278 -0
  13. package/dist/account/email-change-setting.js.map +1 -0
  14. package/dist/account/sessions-setting.d.ts +110 -0
  15. package/dist/account/sessions-setting.js +147 -0
  16. package/dist/account/sessions-setting.js.map +1 -0
  17. package/dist/admin/admin-action-confirm.d.ts +95 -0
  18. package/dist/admin/admin-action-confirm.js +276 -0
  19. package/dist/admin/admin-action-confirm.js.map +1 -0
  20. package/dist/admin/admin-action-log.d.ts +105 -0
  21. package/dist/admin/admin-action-log.js +153 -0
  22. package/dist/admin/admin-action-log.js.map +1 -0
  23. package/dist/admin/admin-parts.d.ts +40 -0
  24. package/dist/admin/admin-parts.js +45 -0
  25. package/dist/admin/admin-parts.js.map +1 -0
  26. package/dist/admin/invitations-panel.d.ts +95 -0
  27. package/dist/admin/invitations-panel.js +290 -0
  28. package/dist/admin/invitations-panel.js.map +1 -0
  29. package/dist/admin/reviewer-scope-editor.d.ts +95 -0
  30. package/dist/admin/reviewer-scope-editor.js +134 -0
  31. package/dist/admin/reviewer-scope-editor.js.map +1 -0
  32. package/dist/admin/role-select.d.ts +95 -0
  33. package/dist/admin/role-select.js +128 -0
  34. package/dist/admin/role-select.js.map +1 -0
  35. package/dist/admin/transfer-ownership-dialog.d.ts +95 -0
  36. package/dist/admin/transfer-ownership-dialog.js +83 -0
  37. package/dist/admin/transfer-ownership-dialog.js.map +1 -0
  38. package/dist/admin/user-roster.d.ts +95 -0
  39. package/dist/admin/user-roster.js +285 -0
  40. package/dist/admin/user-roster.js.map +1 -0
  41. package/dist/auth/auth-errors.d.ts +103 -6
  42. package/dist/auth/auth-errors.js +68 -2
  43. package/dist/auth/auth-errors.js.map +1 -1
  44. package/dist/auth/forgot-password-form.d.ts +10 -3
  45. package/dist/auth/forgot-password-form.js +6 -3
  46. package/dist/auth/forgot-password-form.js.map +1 -1
  47. package/dist/auth/register-form.d.ts +21 -12
  48. package/dist/auth/register-form.js +6 -4
  49. package/dist/auth/register-form.js.map +1 -1
  50. package/dist/auth/reset-password-form.d.ts +10 -3
  51. package/dist/auth/reset-password-form.js +6 -3
  52. package/dist/auth/reset-password-form.js.map +1 -1
  53. package/dist/auth/sign-in-form.d.ts +75 -9
  54. package/dist/auth/sign-in-form.js +105 -15
  55. package/dist/auth/sign-in-form.js.map +1 -1
  56. package/dist/auth/verify-email.d.ts +7 -2
  57. package/dist/auth/verify-email.js +44 -8
  58. package/dist/auth/verify-email.js.map +1 -1
  59. package/dist/chart.d.ts +20 -11
  60. package/dist/components/account-chips.d.ts +47 -7
  61. package/dist/components/account-chips.js +19 -3
  62. package/dist/components/account-chips.js.map +1 -1
  63. package/dist/components/account-settings-labels.d.ts +24 -1
  64. package/dist/components/account-settings-labels.js +6 -2
  65. package/dist/components/account-settings-labels.js.map +1 -1
  66. package/dist/components/account-settings.d.ts +69 -8
  67. package/dist/components/account-settings.js +133 -25
  68. package/dist/components/account-settings.js.map +1 -1
  69. package/dist/components/amount-input.d.ts +21 -12
  70. package/dist/components/button-group.d.ts +21 -12
  71. package/dist/components/calculator.d.ts +21 -12
  72. package/dist/components/confirm-dialog.d.ts +21 -12
  73. package/dist/components/copy-button.d.ts +18 -9
  74. package/dist/components/danger-confirm.d.ts +21 -12
  75. package/dist/components/data-table.js +8 -1
  76. package/dist/components/data-table.js.map +1 -1
  77. package/dist/components/date-picker.js +9 -4
  78. package/dist/components/date-picker.js.map +1 -1
  79. package/dist/components/facing-pair.d.ts +21 -12
  80. package/dist/components/file-button.d.ts +21 -12
  81. package/dist/components/file-dropzone.d.ts +21 -12
  82. package/dist/components/form-actions.d.ts +21 -12
  83. package/dist/components/iban-input.d.ts +21 -12
  84. package/dist/components/language-select.d.ts +21 -12
  85. package/dist/components/legal-page.d.ts +21 -12
  86. package/dist/components/legal.d.ts +21 -12
  87. package/dist/components/money-field.d.ts +21 -12
  88. package/dist/components/number-field.d.ts +21 -12
  89. package/dist/components/number-input.d.ts +21 -12
  90. package/dist/components/numpad-sheet.d.ts +21 -12
  91. package/dist/components/passkeys-setting.js +2 -1
  92. package/dist/components/passkeys-setting.js.map +1 -1
  93. package/dist/components/phone-input.d.ts +21 -12
  94. package/dist/components/series-chart.d.ts +21 -12
  95. package/dist/components/settings-fields.d.ts +55 -13
  96. package/dist/components/settings-fields.js +20 -1
  97. package/dist/components/settings-fields.js.map +1 -1
  98. package/dist/components/share-card.d.ts +20 -11
  99. package/dist/components/text-link.d.ts +21 -12
  100. package/dist/components/time-input.d.ts +21 -12
  101. package/dist/components/ui.d.ts +17 -8
  102. package/dist/{register-form-V1OeNlMr.d.ts → delete-account-setting-DCFS5Vof.d.ts} +6612 -5612
  103. package/dist/demo/demo-banner.d.ts +51 -0
  104. package/dist/demo/demo-banner.js +97 -0
  105. package/dist/demo/demo-banner.js.map +1 -0
  106. package/dist/demo/demo-countdown.d.ts +58 -0
  107. package/dist/demo/demo-countdown.js +79 -0
  108. package/dist/demo/demo-countdown.js.map +1 -0
  109. package/dist/demo/demo-ended.d.ts +45 -0
  110. package/dist/demo/demo-ended.js +42 -0
  111. package/dist/demo/demo-ended.js.map +1 -0
  112. package/dist/demo/demo-labels.d.ts +53 -0
  113. package/dist/demo/demo-labels.js +29 -0
  114. package/dist/demo/demo-labels.js.map +1 -0
  115. package/dist/demo/demo-session.d.ts +30 -0
  116. package/dist/demo/demo-session.js +8 -0
  117. package/dist/demo/demo-session.js.map +1 -0
  118. package/dist/demo/demo-start.d.ts +54 -0
  119. package/dist/demo/demo-start.js +68 -0
  120. package/dist/demo/demo-start.js.map +1 -0
  121. package/dist/feedback/feedback-attachment.d.ts +21 -12
  122. package/dist/feedback/feedback-context.d.ts +21 -12
  123. package/dist/feedback/feedback-crash.d.ts +21 -12
  124. package/dist/feedback/feedback-dialog.d.ts +21 -12
  125. package/dist/feedback/feedback-inbox.d.ts +21 -12
  126. package/dist/feedback/feedback-inbox.js +12 -2
  127. package/dist/feedback/feedback-inbox.js.map +1 -1
  128. package/dist/feedback/feedback-labels.d.ts +21 -12
  129. package/dist/feedback/feedback-labels.js +1 -0
  130. package/dist/feedback/feedback-labels.js.map +1 -1
  131. package/dist/feedback/feedback-menu.d.ts +21 -12
  132. package/dist/feedback/feedback-record.d.ts +21 -12
  133. package/dist/feedback/feedback-record.js +2 -0
  134. package/dist/feedback/feedback-record.js.map +1 -1
  135. package/dist/feedback/feedback-row-detail.d.ts +21 -12
  136. package/dist/feedback/feedback-row-detail.js +7 -0
  137. package/dist/feedback/feedback-row-detail.js.map +1 -1
  138. package/dist/feedback/feedback-status-undo.d.ts +21 -12
  139. package/dist/feedback/feedback-submit.d.ts +21 -12
  140. package/dist/feedback/feedback-swipe.d.ts +22 -13
  141. package/dist/feedback/feedback-swipe.js.map +1 -1
  142. package/dist/feedback/feedback-table.d.ts +18 -9
  143. package/dist/feedback/feedback-thread.d.ts +21 -12
  144. package/dist/feedback.d.ts +21 -12
  145. package/dist/hooks/use-anchored-panel.d.ts +6 -2
  146. package/dist/hooks/use-anchored-panel.js +2 -1
  147. package/dist/hooks/use-anchored-panel.js.map +1 -1
  148. package/dist/hooks/use-file-drop.d.ts +21 -12
  149. package/dist/i18n/defaults.d.ts +21 -12
  150. package/dist/i18n/defaults.js +28 -0
  151. package/dist/i18n/defaults.js.map +1 -1
  152. package/dist/i18n/german.d.ts +21 -12
  153. package/dist/i18n/german.js +298 -12
  154. package/dist/i18n/german.js.map +1 -1
  155. package/dist/i18n/kit-labels.d.ts +14 -5
  156. package/dist/i18n/kit-labels.js.map +1 -1
  157. package/dist/i18n/languages.d.ts +15 -6
  158. package/dist/i18n/locales/de-CH.d.ts +21 -12
  159. package/dist/i18n/locales/en.d.ts +21 -12
  160. package/dist/i18n/locales/es.d.ts +21 -12
  161. package/dist/i18n/locales/es.js +287 -10
  162. package/dist/i18n/locales/es.js.map +1 -1
  163. package/dist/i18n/locales/fr.d.ts +21 -12
  164. package/dist/i18n/locales/fr.js +290 -7
  165. package/dist/i18n/locales/fr.js.map +1 -1
  166. package/dist/i18n/locales/hu.d.ts +21 -12
  167. package/dist/i18n/locales/hu.js +288 -12
  168. package/dist/i18n/locales/hu.js.map +1 -1
  169. package/dist/i18n/locales/it.d.ts +21 -12
  170. package/dist/i18n/locales/it.js +289 -7
  171. package/dist/i18n/locales/it.js.map +1 -1
  172. package/dist/i18n/locales/zh.d.ts +21 -12
  173. package/dist/i18n/locales/zh.js +279 -7
  174. package/dist/i18n/locales/zh.js.map +1 -1
  175. package/dist/i18n/review.d.ts +21 -12
  176. package/dist/i18n/review.js +50 -1
  177. package/dist/i18n/review.js.map +1 -1
  178. package/dist/index.d.ts +31 -4
  179. package/dist/index.js +148 -0
  180. package/dist/index.js.map +1 -1
  181. package/dist/landing/access.d.ts +48 -0
  182. package/dist/landing/access.js +38 -0
  183. package/dist/landing/access.js.map +1 -0
  184. package/dist/landing/landing-actions.d.ts +138 -0
  185. package/dist/landing/landing-actions.js +39 -0
  186. package/dist/landing/landing-actions.js.map +1 -0
  187. package/dist/landing/landing-labels.d.ts +43 -0
  188. package/dist/landing/landing-labels.js +23 -0
  189. package/dist/landing/landing-labels.js.map +1 -0
  190. package/dist/landing/landing-sections.d.ts +218 -0
  191. package/dist/landing/landing-sections.js +167 -0
  192. package/dist/landing/landing-sections.js.map +1 -0
  193. package/dist/landing/page-seo.d.ts +99 -0
  194. package/dist/landing/page-seo.js +121 -0
  195. package/dist/landing/page-seo.js.map +1 -0
  196. package/dist/landing/public-header.d.ts +148 -0
  197. package/dist/landing/public-header.js +49 -0
  198. package/dist/landing/public-header.js.map +1 -0
  199. package/dist/landing/routing.d.ts +218 -0
  200. package/dist/landing/routing.js +81 -0
  201. package/dist/landing/routing.js.map +1 -0
  202. package/dist/rhf/fields.d.ts +21 -12
  203. package/dist/rhf/form.d.ts +21 -12
  204. package/dist/rhf.d.ts +21 -12
  205. package/dist/settings/settings-catalogue.d.ts +84 -0
  206. package/dist/settings/settings-catalogue.js +47 -0
  207. package/dist/settings/settings-catalogue.js.map +1 -0
  208. package/dist/settings/settings-context.d.ts +31 -0
  209. package/dist/settings/settings-context.js +11 -0
  210. package/dist/settings/settings-context.js.map +1 -0
  211. package/dist/settings/settings-heading.d.ts +50 -0
  212. package/dist/settings/settings-heading.js +27 -0
  213. package/dist/settings/settings-heading.js.map +1 -0
  214. package/dist/settings/settings-labels.d.ts +41 -0
  215. package/dist/settings/settings-labels.js +38 -0
  216. package/dist/settings/settings-labels.js.map +1 -0
  217. package/dist/settings/settings-layout.d.ts +77 -0
  218. package/dist/settings/settings-layout.js +242 -0
  219. package/dist/settings/settings-layout.js.map +1 -0
  220. package/dist/settings/settings-section.d.ts +133 -0
  221. package/dist/settings/settings-section.js +63 -0
  222. package/dist/settings/settings-section.js.map +1 -0
  223. package/dist/settings/use-account-language.d.ts +83 -0
  224. package/dist/settings/use-account-language.js +62 -0
  225. package/dist/settings/use-account-language.js.map +1 -0
  226. package/dist/settings/use-settings-focus.d.ts +34 -0
  227. package/dist/settings/use-settings-focus.js +77 -0
  228. package/dist/settings/use-settings-focus.js.map +1 -0
  229. package/dist/settings/use-settings-route.d.ts +118 -0
  230. package/dist/settings/use-settings-route.js +120 -0
  231. package/dist/settings/use-settings-route.js.map +1 -0
  232. package/dist/shell/app-shell.d.ts +27 -12
  233. package/dist/shell/app-shell.js +3 -2
  234. package/dist/shell/app-shell.js.map +1 -1
  235. package/dist/shell/top-bar-brand.d.ts +21 -12
  236. package/dist/shell.d.ts +25 -6
  237. package/dist/shell.js +56 -0
  238. package/dist/shell.js.map +1 -1
  239. package/dist/wizard/stepper-nav.d.ts +21 -12
  240. package/dist/wizard.d.ts +21 -12
  241. package/package.json +2 -1
  242. package/src/account/account-parts.ts +67 -0
  243. package/src/account/data-export-setting.tsx +219 -0
  244. package/src/account/delete-account-setting.tsx +363 -0
  245. package/src/account/email-change-setting.tsx +454 -0
  246. package/src/account/sessions-setting.tsx +284 -0
  247. package/src/admin/admin-action-confirm.tsx +495 -0
  248. package/src/admin/admin-action-log.tsx +297 -0
  249. package/src/admin/admin-parts.ts +82 -0
  250. package/src/admin/invitations-panel.tsx +523 -0
  251. package/src/admin/reviewer-scope-editor.tsx +234 -0
  252. package/src/admin/role-select.tsx +286 -0
  253. package/src/admin/transfer-ownership-dialog.tsx +172 -0
  254. package/src/admin/user-roster.tsx +573 -0
  255. package/src/auth/auth-errors.ts +196 -8
  256. package/src/auth/forgot-password-form.tsx +21 -5
  257. package/src/auth/register-form.tsx +24 -6
  258. package/src/auth/reset-password-form.tsx +19 -5
  259. package/src/auth/sign-in-form.tsx +241 -38
  260. package/src/auth/verify-email.tsx +59 -8
  261. package/src/components/account-chips.tsx +64 -7
  262. package/src/components/account-settings-labels.ts +28 -1
  263. package/src/components/account-settings.tsx +231 -34
  264. package/src/components/data-table.tsx +8 -0
  265. package/src/components/date-picker.tsx +9 -4
  266. package/src/components/passkeys-setting.tsx +2 -1
  267. package/src/components/settings-fields.tsx +50 -1
  268. package/src/demo/demo-banner.tsx +159 -0
  269. package/src/demo/demo-countdown.ts +141 -0
  270. package/src/demo/demo-ended.tsx +89 -0
  271. package/src/demo/demo-labels.ts +78 -0
  272. package/src/demo/demo-session.ts +32 -0
  273. package/src/demo/demo-start.tsx +150 -0
  274. package/src/feedback/feedback-inbox.tsx +21 -8
  275. package/src/feedback/feedback-labels.ts +2 -1
  276. package/src/feedback/feedback-record.ts +10 -7
  277. package/src/feedback/feedback-row-detail.tsx +28 -4
  278. package/src/feedback/feedback-swipe.tsx +1 -1
  279. package/src/hooks/use-anchored-panel.ts +14 -3
  280. package/src/i18n/defaults.ts +28 -0
  281. package/src/i18n/german.ts +327 -5
  282. package/src/i18n/kit-labels.tsx +42 -0
  283. package/src/i18n/locales/es.ts +313 -3
  284. package/src/i18n/locales/fr.ts +316 -0
  285. package/src/i18n/locales/hu.ts +308 -5
  286. package/src/i18n/locales/it.ts +313 -0
  287. package/src/i18n/locales/zh.ts +286 -0
  288. package/src/i18n/review.ts +49 -0
  289. package/src/index.ts +184 -0
  290. package/src/landing/access.ts +97 -0
  291. package/src/landing/landing-actions.tsx +92 -0
  292. package/src/landing/landing-labels.ts +59 -0
  293. package/src/landing/landing-sections.tsx +337 -0
  294. package/src/landing/page-seo.ts +251 -0
  295. package/src/landing/public-header.tsx +120 -0
  296. package/src/landing/routing.tsx +209 -0
  297. package/src/settings/settings-catalogue.ts +132 -0
  298. package/src/settings/settings-context.ts +33 -0
  299. package/src/settings/settings-heading.tsx +65 -0
  300. package/src/settings/settings-labels.ts +75 -0
  301. package/src/settings/settings-layout.tsx +379 -0
  302. package/src/settings/settings-section.tsx +108 -0
  303. package/src/settings/use-account-language.ts +146 -0
  304. package/src/settings/use-settings-focus.ts +120 -0
  305. package/src/settings/use-settings-route.ts +258 -0
  306. package/src/shell/app-shell.tsx +10 -2
  307. package/src/shell.ts +45 -0
@@ -14,6 +14,15 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
14
14
  const num = new Intl.NumberFormat(numberLocale);
15
15
  const n = (value: number) => num.format(value);
16
16
  const plural = (count: number, one: string, many: string) => (count === 1 ? one : many);
17
+ // 0.30.0 — a throttled request (HTTP 429), as `englishRateLimited` in
18
+ // src/auth/auth-errors.ts: no wait → "un momento", under a minute → seconds, else
19
+ // minutes rounded up.
20
+ const wait = (seconds: number) =>
21
+ seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`;
22
+ const rateLimited = (seconds?: number) =>
23
+ !seconds || seconds <= 0
24
+ ? "Demasiados intentos. Espere un momento e inténtelo de nuevo."
25
+ : `Demasiados intentos. Inténtelo de nuevo en ${wait(seconds)}.`;
17
26
 
18
27
  return {
19
28
  feedbackAttachment: {
@@ -61,6 +70,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
61
70
  // 0.27.0. "Comentarios" for feedback, as `feedbackDialog`; "corrección" for rework.
62
71
  feedbackStatus: {
63
72
  OPEN: "Abierto",
73
+ READY: "Listo para implementar",
64
74
  IN_PROGRESS: "En curso",
65
75
  IN_EVALUATION: "En evaluación",
66
76
  NEEDS_LIVE_TEST: "Probar en producción",
@@ -122,6 +132,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
122
132
  phoneActions: "Acciones de comentarios",
123
133
  },
124
134
  feedbackDetail: {
135
+ subject: "Asunto",
125
136
  body: "Descripción",
126
137
  edit: "Editar",
127
138
  editDescription: "Editar descripción",
@@ -153,6 +164,9 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
153
164
  memberSince: "Miembro desde",
154
165
  displayName: "Nombre visible",
155
166
  save: "Guardar",
167
+ firstName: "Nombre",
168
+ lastName: "Apellidos",
169
+ nameRequired: "Introduzca el nombre y los apellidos.",
156
170
  },
157
171
  password: {
158
172
  title: "Cambiar contraseña",
@@ -177,6 +191,8 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
177
191
  qrAlt: "Código QR para su app de autenticación",
178
192
  secretHint: "¿No puede escanearlo? Introduzca esta clave en la app:",
179
193
  copySecret: "Copiar clave",
194
+ // 0.31.0: the card's title; the state ("Activada") stands beside it.
195
+ title: "Verificación en dos pasos",
180
196
  },
181
197
  passkeys: {
182
198
  title: "Llaves de acceso",
@@ -699,6 +715,8 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
699
715
  registered: "Registrada",
700
716
  unverified: "Sin verificar",
701
717
  passwordChange: "Debe cambiar la contraseña",
718
+ deletion: "Eliminación solicitada",
719
+ deletionOn: (date) => `Eliminación el ${date}`,
702
720
  },
703
721
  shareCard: {
704
722
  dialogTitle: "Compartir",
@@ -864,6 +882,17 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
864
882
  setPasswordFailed: "No se pudo establecer la contraseña.",
865
883
  expired: "Este inicio de sesión ha caducado. Inicie sesión de nuevo.",
866
884
  backToSignIn: "Volver a iniciar sesión",
885
+ useRecoveryCode: "Usar un código de respaldo",
886
+ useAuthenticatorCode: "Usar su app de autenticación",
887
+ recoveryCode: "Código de respaldo",
888
+ recoveryIntro:
889
+ "Introduzca uno de los códigos de respaldo que guardó al activar la verificación en dos pasos.",
890
+ recoveryCodeHint: (length) =>
891
+ `${n(length)} letras y dígitos. Los guiones y los espacios no importan.`,
892
+ recoveryCodeInvalid: "Este código de respaldo no es válido o ya se ha usado.",
893
+ rateLimited,
894
+ // 0.31.0: the same words as `landing.requestAccess`.
895
+ requestAccess: "Solicitar acceso",
867
896
  },
868
897
  register: {
869
898
  firstName: "Nombre",
@@ -871,7 +900,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
871
900
  email: "Correo electrónico",
872
901
  emailTagUse: (address) => `Usar ${address}`,
873
902
  emailTagHint:
874
- "Muchos proveedores entregan nombre+etiqueta@… en el mismo buzón, así que el correo de esta aplicación es fácil de filtrar y rastrear. Compruebe que el suyo lo hace antes de confiar en ello: iniciaría sesión con la dirección etiquetada.",
903
+ "Muchos proveedores entregan nombre+etiqueta@… en el mismo buzón, así que el correo de esta aplicación es fácil de filtrar y rastrear. Compruebe que el suyo lo hace antes de confiar en ello: tendría que iniciar sesión con la dirección etiquetada.",
875
904
  invitedEmailHint: "La dirección a la que se envió su invitación.",
876
905
  invitedTagNote: "La dirección etiquetada recibe su propio correo de confirmación.",
877
906
  password: "Contraseña",
@@ -887,6 +916,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
887
916
  invitationInvalid: "Este enlace de invitación no es válido.",
888
917
  invitationExpired: "Esta invitación ha caducado. Pida una nueva.",
889
918
  failed: "No se pudo completar el registro. Inténtelo de nuevo.",
919
+ rateLimited,
890
920
  },
891
921
  completeName: {
892
922
  title: "Complete su nombre",
@@ -906,9 +936,10 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
906
936
  submit: "Enviar el enlace",
907
937
  sent: (email) => `Si existe una cuenta para ${email}, el enlace está en camino.`,
908
938
  sentHint:
909
- "El enlace es válido durante una hora y funciona una sola vez. Mire también en la carpeta de correo no deseado.",
939
+ "El enlace es válido durante una hora y funciona una sola vez. Revise también la carpeta de correo no deseado.",
910
940
  backToSignIn: "Volver a iniciar sesión",
911
941
  error: "La solicitud ha fallado. Inténtelo de nuevo más tarde.",
942
+ rateLimited,
912
943
  },
913
944
  resetPassword: {
914
945
  title: "Elija una nueva contraseña",
@@ -927,6 +958,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
927
958
  sessionsEnded:
928
959
  "Se ha cerrado la sesión en los dispositivos conectados; tendrá que volver a iniciarla en ellos.",
929
960
  signIn: "Ir a iniciar sesión",
961
+ rateLimited,
930
962
  },
931
963
  verifyEmail: {
932
964
  title: "Confirme su dirección de correo electrónico",
@@ -948,7 +980,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
948
980
  },
949
981
  notFound: {
950
982
  title: "Página no encontrada",
951
- body: "Esta dirección no existe (o ya no existe). Quizá sea una errata, o la página se ha movido.",
983
+ body: "Esta dirección no existe (o ya no existe). Quizá sea una errata o la página se haya movido.",
952
984
  home: "Ir a la página de inicio",
953
985
  app: "Volver a la aplicación",
954
986
  },
@@ -974,6 +1006,207 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
974
1006
  currentMark: "(actual)",
975
1007
  switching: "Cambiando de empresa…",
976
1008
  },
1009
+ // 0.30.0 — docs/user-admin-harmonization.md: Kurvenschmiede's reviewed Spanish for the
1010
+ // admin words, transfer, invitations and sessions; written fresh where it had no
1011
+ // sentence. "Usted", as the rest of this catalogue.
1012
+ emailChange: {
1013
+ title: "Dirección de correo electrónico",
1014
+ current: "Dirección actual",
1015
+ newEmail: "Nueva dirección de correo electrónico",
1016
+ password: "Contraseña actual",
1017
+ passwordHint: "Inicia sesión con su dirección, así que cambiarla requiere su contraseña.",
1018
+ emailTagUse: (address) => `Usar ${address}`,
1019
+ emailTagHint:
1020
+ "Muchos proveedores entregan nombre+etiqueta@… en el mismo buzón, así que el correo de esta aplicación es fácil de filtrar y rastrear. Compruebe que el suyo lo hace antes de confiar en ello: tendría que iniciar sesión con la dirección etiquetada.",
1021
+ submit: "Cambiar la dirección de correo electrónico",
1022
+ sameAsCurrent: "Esta ya es su dirección.",
1023
+ emailTaken: "Ya existe una cuenta con esta dirección de correo electrónico.",
1024
+ wrongPassword: "La contraseña no es correcta.",
1025
+ pending: (newEmail) => `Confirme el enlace que hemos enviado a ${newEmail}.`,
1026
+ pendingHint: (currentEmail) =>
1027
+ `Hasta entonces, seguirá iniciando sesión con ${currentEmail}. Revise también la carpeta de correo no deseado.`,
1028
+ resend: "Enviar el enlace de nuevo",
1029
+ resent: "Hemos vuelto a enviar el enlace.",
1030
+ cancel: "Cancelar el cambio",
1031
+ confirmed: (email) => `Su dirección de correo electrónico es ahora ${email}.`,
1032
+ passkeyNote:
1033
+ "Sus llaves de acceso siguen funcionando. Puede que su dispositivo aún las muestre con su dirección anterior.",
1034
+ rateLimited,
1035
+ failed: "No ha funcionado. Inténtelo de nuevo.",
1036
+ },
1037
+ sessions: {
1038
+ title: "Sesiones",
1039
+ description:
1040
+ "¿Ha iniciado sesión en un dispositivo que ya no usa o en el que no confía? Cierre sesión en todas partes.",
1041
+ signOutEverywhere: "Cerrar sesión en todas partes…",
1042
+ signOutEverywherePrompt:
1043
+ "Esto termina todas las sesiones, también esta: se cerrará la sesión en este dispositivo y tendrá que volver a iniciarla aquí.",
1044
+ confirmSignOutEverywhere: "Cerrar sesión en todas partes",
1045
+ list: "Dónde ha iniciado sesión",
1046
+ loading: "Cargando sesiones…",
1047
+ empty: "No hay sesiones que mostrar.",
1048
+ current: "Este dispositivo",
1049
+ unknownDevice: "Dispositivo desconocido",
1050
+ // A colon: `when` is either "hace 3 horas" or a date.
1051
+ lastActive: (when) => `Última actividad: ${when}`,
1052
+ ip: (address) => `IP ${address}`,
1053
+ revoke: "Cerrar sesión",
1054
+ // Starts with `revoke`, the button's visible text, for voice control.
1055
+ revokeItem: (device) => `Cerrar sesión en ${device}`,
1056
+ failed: "No ha funcionado. Inténtelo de nuevo.",
1057
+ },
1058
+ deleteAccount: {
1059
+ title: "Eliminar la cuenta",
1060
+ afterDays: (days) =>
1061
+ `Su cuenta se desactiva de inmediato y se borra definitivamente ${n(days)} ${plural(days, "día", "días")} después.`,
1062
+ operator: "Su cuenta se desactiva de inmediato, y el operador la borrará definitivamente.",
1063
+ arm: "Eliminar la cuenta…",
1064
+ prompt: "Se cerrará su sesión en todos los dispositivos y ya no podrá usar su cuenta.",
1065
+ handOver: (count) =>
1066
+ count === 1
1067
+ ? "1 elemento que otros pueden ver pasará a un administrador."
1068
+ : `${n(count)} elementos que otros pueden ver pasarán a un administrador.`,
1069
+ confirm: "Eliminar mi cuenta",
1070
+ done: "Su cuenta está desactivada. Se está cerrando su sesión.",
1071
+ wrongPassword: "La contraseña no es correcta.",
1072
+ confirmationMismatch: "Esta no es la dirección de su cuenta.",
1073
+ lastAdmin:
1074
+ "Su cuenta es la última con rol de administrador. Primero haga administrador a otra persona.",
1075
+ lastAdminOf: (companies) =>
1076
+ `Su cuenta es la última con rol de administrador en ${companies}. Primero haga administrador allí a otra persona.`,
1077
+ householdHasMembers:
1078
+ "Su hogar tiene otros miembros, así que la cuenta no se puede eliminar aquí. Escriba al operador.",
1079
+ rateLimited,
1080
+ failed: "No se pudo eliminar su cuenta. Inténtelo de nuevo.",
1081
+ },
1082
+ dataExport: {
1083
+ title: "Exportar sus datos",
1084
+ description: "Descargue una copia de los datos de su cuenta como archivo JSON.",
1085
+ download: "Descargar mis datos",
1086
+ started: "La descarga ha comenzado.",
1087
+ saveAgain: "¿No ha empezado? Guardar el archivo",
1088
+ rateLimited: (seconds) =>
1089
+ seconds && seconds > 0
1090
+ ? `Acaba de exportar sus datos. Inténtelo de nuevo en ${wait(seconds)}.`
1091
+ : "Acaba de exportar sus datos. Inténtelo de nuevo dentro de un minuto.",
1092
+ failed: "La exportación ha fallado. Inténtelo de nuevo.",
1093
+ },
1094
+ userRoster: {
1095
+ name: "Nombre",
1096
+ email: "Correo electrónico",
1097
+ role: "Rol",
1098
+ state: "Estado",
1099
+ // Agreeing with "cuenta" (feminine), like `accountState`.
1100
+ created: "Creada",
1101
+ lastLogin: "Último inicio de sesión",
1102
+ never: "Nunca",
1103
+ actions: "Acciones",
1104
+ actionsFor: (name) => `Acciones para ${name}`,
1105
+ },
1106
+ roleSelect: {
1107
+ label: "Rol",
1108
+ rolesLegend: "Roles",
1109
+ roleOf: (name) => `Rol de ${name}`,
1110
+ lockedLastAdmin: "La última cuenta de administrador activa conserva este rol.",
1111
+ lockedSelf: "No puede cambiar su propio rol.",
1112
+ notForLastAdmin: "no para el último administrador",
1113
+ notForSelf: "no para su propia cuenta",
1114
+ unavailable: (role, reason) => `${role} (${reason})`,
1115
+ },
1116
+ reviewerScope: {
1117
+ languages: "Idiomas",
1118
+ hint: "Marque los idiomas que revisa esta persona.",
1119
+ none: "Ningún idioma: al guardar se retira el rol de revisor.",
1120
+ areas: "Limitar a",
1121
+ legalOnly: "Solo las páginas legales",
1122
+ legalOnlyHint:
1123
+ "Aviso legal, política de privacidad y condiciones de uso: para un abogado más que para un hablante nativo.",
1124
+ failed: "No se pudo guardar el ámbito de revisión. Inténtelo de nuevo.",
1125
+ },
1126
+ adminAction: {
1127
+ confirm: "Confirmar",
1128
+ cancel: "Cancelar",
1129
+ close: "Cerrar",
1130
+ lastAdmin:
1131
+ "Esta es la última cuenta de administrador activa. Primero haga administrador a otra persona.",
1132
+ self: "No puede hacer esto con su propia cuenta.",
1133
+ confirmationMismatch:
1134
+ "La dirección no coincide con esta cuenta. Compruebe en qué cuenta está.",
1135
+ otherCompanies:
1136
+ "Esta cuenta también pertenece a otras empresas, así que solo el operador de la plataforma puede hacer esto. En su lugar, puede quitarla de esta empresa.",
1137
+ removeFromCompany: "Quitar de la empresa",
1138
+ failed: "No ha funcionado. Inténtelo de nuevo.",
1139
+ },
1140
+ adminActionLog: {
1141
+ title: "Acciones de administración",
1142
+ empty: "Aún no hay acciones de administración.",
1143
+ loading: "Cargando…",
1144
+ by: (actor) => `por ${actor}`,
1145
+ bySelf: "por la propia persona",
1146
+ automatic: "automáticamente",
1147
+ erased: "una cuenta borrada",
1148
+ filteredTo: (target) => `Solo ${target}`,
1149
+ showAll: "Mostrar todas las acciones",
1150
+ filterBy: (target) => `Mostrar solo las acciones sobre ${target}`,
1151
+ // Agreeing with "cuenta" (feminine), like `accountState`.
1152
+ actions: {
1153
+ deactivate: "Desactivada",
1154
+ reactivate: "Reactivada",
1155
+ role: "Rol cambiado",
1156
+ membership_remove: "Quitada de la empresa",
1157
+ password_change_require: "Nueva contraseña exigida",
1158
+ password_change_withdraw: "Exigencia de contraseña retirada",
1159
+ mail_verification: "Correo de confirmación enviado",
1160
+ mail_reset: "Correo de restablecimiento de contraseña enviado",
1161
+ reviewer: "Ámbito de revisión cambiado",
1162
+ invite: "Invitación enviada",
1163
+ invite_resend: "Invitación reenviada",
1164
+ invite_revoke: "Invitación retirada",
1165
+ transfer: "Trabajo traspasado",
1166
+ deletion_request: "Eliminación solicitada",
1167
+ deletion_cancel: "Eliminación cancelada",
1168
+ erase: "Cuenta borrada",
1169
+ },
1170
+ },
1171
+ transferOwnership: {
1172
+ title: (name) => `Traspasar el trabajo de ${name}`,
1173
+ body: "Todo lo que posee esta cuenta pasa a la cuenta elegida, en un solo paso.",
1174
+ recipient: "Traspasar a",
1175
+ choose: "Elija una cuenta…",
1176
+ chooseFirst: "Elija quién recibe el trabajo",
1177
+ confirm: "Traspasar",
1178
+ customer: "cliente",
1179
+ deactivated: "desactivada",
1180
+ self: "la misma cuenta",
1181
+ unavailable: (account, reason) => `${account} (${reason})`,
1182
+ noCandidates: "Ninguna otra cuenta puede recibirlo.",
1183
+ },
1184
+ invitations: {
1185
+ email: "Dirección de correo electrónico",
1186
+ invalidEmail: "Introduzca una dirección de correo completa.",
1187
+ role: "Rol",
1188
+ scope: "Ámbito",
1189
+ scopeNone: "Ninguno",
1190
+ language: "Idioma de la invitación",
1191
+ note: "Nota",
1192
+ invite: "Invitar",
1193
+ listTitle: "Invitaciones",
1194
+ empty: "Todavía no se ha invitado a nadie.",
1195
+ loading: "Cargando…",
1196
+ // Agreeing with "invitación" (feminine).
1197
+ status: { open: "Pendiente", accepted: "Aceptada", expired: "Caducada", revoked: "Retirada" },
1198
+ sent: (date) => `Enviada el ${date}`,
1199
+ expires: (date) => `Válida hasta el ${date}`,
1200
+ invitedBy: (name) => `por ${name}`,
1201
+ resend: (email) => `Enviar a ${email} un enlace nuevo`,
1202
+ copyLink: "Copiar enlace de invitación",
1203
+ revoke: (email) => `Retirar la invitación de ${email}`,
1204
+ consoleHint:
1205
+ "Este servidor no envía correos: se escriben en el registro del servidor. Copie aquí cada enlace de invitación y transmítalo usted mismo: solo se muestra una vez.",
1206
+ linkReady: (email) => `El enlace de invitación para ${email}, que solo se muestra esta vez:`,
1207
+ notSent: (email) => `${email} está invitado, pero no se pudo enviar el correo. Reenvíelo.`,
1208
+ failed: "No ha funcionado. Inténtelo de nuevo.",
1209
+ },
977
1210
  characterCount: {
978
1211
  count: (used, max) => `${n(used)} de ${n(max)} ${plural(max, "carácter", "caracteres")}`,
979
1212
  remaining: (left) =>
@@ -1104,6 +1337,83 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
1104
1337
  ? `¿Aprobar el texto sin revisar de «${group}»?`
1105
1338
  : `¿Aprobar los ${n(count)} textos sin revisar de «${group}», incluidos los que no están en pantalla?`,
1106
1339
  },
1340
+ // 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md
1341
+ // §4–§5: the settings shell, the landing page's generic words and the demo. The help
1342
+ // lines name things as `accountSettings`, `sessions` and `dataExport` do. "Usted".
1343
+ // "Ajustes" (es-ES), a countable noun: "Ningún ajuste coincide…".
1344
+ settings: {
1345
+ title: "Ajustes",
1346
+ search: "Buscar en los ajustes",
1347
+ searchPlaceholder: "Buscar en los ajustes…",
1348
+ results: "Ajustes coincidentes",
1349
+ noMatches: (query) => `Ningún ajuste coincide con «${query}».`,
1350
+ // As `commandPalette.clear`.
1351
+ clearSearch: "Borrar búsqueda",
1352
+ back: "Volver a los ajustes",
1353
+ sections: "Secciones de los ajustes",
1354
+ matchCount: (count) => `${n(count)} ${plural(count, "resultado", "resultados")}`,
1355
+ groups: {
1356
+ appearance: {
1357
+ title: "Apariencia",
1358
+ help: "Idioma, tema y aspecto de la aplicación en este dispositivo.",
1359
+ },
1360
+ account: {
1361
+ title: "Cuenta",
1362
+ help: "Su perfil y su dirección de correo electrónico.",
1363
+ },
1364
+ security: {
1365
+ title: "Seguridad",
1366
+ help: "Cómo inicia sesión: contraseña, verificación en dos pasos, llaves de acceso y sesiones.",
1367
+ },
1368
+ notifications: {
1369
+ title: "Notificaciones",
1370
+ help: "Qué notificaciones recibe, cuándo y en qué dispositivos.",
1371
+ },
1372
+ data: {
1373
+ title: "Datos",
1374
+ help: "Exporte lo que es suyo o elimínelo junto con su cuenta.",
1375
+ },
1376
+ },
1377
+ },
1378
+ landing: {
1379
+ signIn: "Iniciar sesión",
1380
+ requestAccess: "Solicitar acceso",
1381
+ getStarted: "Empezar",
1382
+ tryDemo: "Probar la demo",
1383
+ openApp: "Abrir la aplicación",
1384
+ continueDemo: "Continuar la demo",
1385
+ beta: "Beta",
1386
+ // Plain text: a mail's subject and body lines, never HTML.
1387
+ accessSubject: (app) => (app ? `Acceso a ${app}` : "Solicitud de acceso"),
1388
+ accessName: "Nombre:",
1389
+ accessCompany: "Empresa:",
1390
+ accessUse: "Uso previsto:",
1391
+ },
1392
+ demo: {
1393
+ starting: "Iniciando la demo…",
1394
+ rateLimited: (minutes) =>
1395
+ minutes
1396
+ ? `Demasiadas demos desde esta red. Inténtelo de nuevo en ${n(minutes)} min.`
1397
+ : "Demasiadas demos desde esta red. Inténtelo de nuevo más tarde.",
1398
+ capacity: "La demo está completa en este momento. Inténtelo de nuevo más tarde.",
1399
+ unavailable: "La demo no está disponible en este momento.",
1400
+ failed: "No se pudo iniciar la demo. Inténtelo de nuevo.",
1401
+ // As `legal.backHome`.
1402
+ backToStart: "Volver al inicio",
1403
+ // Hours and minutes together are plural; minutes alone agree with the count.
1404
+ hoursLeft: (hours, minutes) => `Demo · quedan ${n(hours)} h ${n(minutes)} min`,
1405
+ minutesLeft: (minutes) => `Demo · ${plural(minutes, "queda", "quedan")} ${n(minutes)} min`,
1406
+ badge: "Demo",
1407
+ readOnly: "Está viendo datos de ejemplo. No es posible hacer cambios.",
1408
+ sandbox: "Su propio trabajo se elimina cuando termina la demo.",
1409
+ details: "Detalles de la demo",
1410
+ writeLocked: "No es posible en la demo.",
1411
+ endedTitle: "La demo ha terminado",
1412
+ endedReadOnly: "Los datos de ejemplo se restablecen con regularidad.",
1413
+ endedSandbox:
1414
+ "Los datos de ejemplo se restablecen con regularidad; su propio trabajo en la demo se elimina.",
1415
+ restart: "Iniciar una nueva demo",
1416
+ },
1107
1417
  };
1108
1418
  }
1109
1419