@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
@@ -4,6 +4,8 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
4
4
  const num = new Intl.NumberFormat(numberLocale);
5
5
  const n = (value) => num.format(value);
6
6
  const plural = (count, one, many) => count === 1 ? one : many;
7
+ const wait = (seconds) => seconds < 60 ? `${n(Math.ceil(seconds))} s` : `${n(Math.ceil(seconds / 60))} min`;
8
+ const rateLimited = (seconds) => !seconds || seconds <= 0 ? "Demasiados intentos. Espere un momento e int\xE9ntelo de nuevo." : `Demasiados intentos. Int\xE9ntelo de nuevo en ${wait(seconds)}.`;
7
9
  return {
8
10
  feedbackAttachment: {
9
11
  attachmentAdd: "A\xF1adir adjunto",
@@ -46,6 +48,7 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
46
48
  // 0.27.0. "Comentarios" for feedback, as `feedbackDialog`; "corrección" for rework.
47
49
  feedbackStatus: {
48
50
  OPEN: "Abierto",
51
+ READY: "Listo para implementar",
49
52
  IN_PROGRESS: "En curso",
50
53
  IN_EVALUATION: "En evaluaci\xF3n",
51
54
  NEEDS_LIVE_TEST: "Probar en producci\xF3n",
@@ -104,6 +107,7 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
104
107
  phoneActions: "Acciones de comentarios"
105
108
  },
106
109
  feedbackDetail: {
110
+ subject: "Asunto",
107
111
  body: "Descripci\xF3n",
108
112
  edit: "Editar",
109
113
  editDescription: "Editar descripci\xF3n",
@@ -134,7 +138,10 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
134
138
  role: "Rol",
135
139
  memberSince: "Miembro desde",
136
140
  displayName: "Nombre visible",
137
- save: "Guardar"
141
+ save: "Guardar",
142
+ firstName: "Nombre",
143
+ lastName: "Apellidos",
144
+ nameRequired: "Introduzca el nombre y los apellidos."
138
145
  },
139
146
  password: {
140
147
  title: "Cambiar contrase\xF1a",
@@ -158,7 +165,9 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
158
165
  disable: "Desactivar",
159
166
  qrAlt: "C\xF3digo QR para su app de autenticaci\xF3n",
160
167
  secretHint: "\xBFNo puede escanearlo? Introduzca esta clave en la app:",
161
- copySecret: "Copiar clave"
168
+ copySecret: "Copiar clave",
169
+ // 0.31.0: the card's title; the state ("Activada") stands beside it.
170
+ title: "Verificaci\xF3n en dos pasos"
162
171
  },
163
172
  passkeys: {
164
173
  title: "Llaves de acceso",
@@ -667,7 +676,9 @@ function uiKitLabelsEs(numberLocale = "es-ES") {
667
676
  invited: "Invitaci\xF3n enviada",
668
677
  registered: "Registrada",
669
678
  unverified: "Sin verificar",
670
- passwordChange: "Debe cambiar la contrase\xF1a"
679
+ passwordChange: "Debe cambiar la contrase\xF1a",
680
+ deletion: "Eliminaci\xF3n solicitada",
681
+ deletionOn: (date) => `Eliminaci\xF3n el ${date}`
671
682
  },
672
683
  shareCard: {
673
684
  dialogTitle: "Compartir",
@@ -833,14 +844,23 @@ La direcci\xF3n postal completa se facilita, previa solicitud, a los interesados
833
844
  setPasswordSubmit: "Establecer la contrase\xF1a e iniciar sesi\xF3n",
834
845
  setPasswordFailed: "No se pudo establecer la contrase\xF1a.",
835
846
  expired: "Este inicio de sesi\xF3n ha caducado. Inicie sesi\xF3n de nuevo.",
836
- backToSignIn: "Volver a iniciar sesi\xF3n"
847
+ backToSignIn: "Volver a iniciar sesi\xF3n",
848
+ useRecoveryCode: "Usar un c\xF3digo de respaldo",
849
+ useAuthenticatorCode: "Usar su app de autenticaci\xF3n",
850
+ recoveryCode: "C\xF3digo de respaldo",
851
+ recoveryIntro: "Introduzca uno de los c\xF3digos de respaldo que guard\xF3 al activar la verificaci\xF3n en dos pasos.",
852
+ recoveryCodeHint: (length) => `${n(length)} letras y d\xEDgitos. Los guiones y los espacios no importan.`,
853
+ recoveryCodeInvalid: "Este c\xF3digo de respaldo no es v\xE1lido o ya se ha usado.",
854
+ rateLimited,
855
+ // 0.31.0: the same words as `landing.requestAccess`.
856
+ requestAccess: "Solicitar acceso"
837
857
  },
838
858
  register: {
839
859
  firstName: "Nombre",
840
860
  lastName: "Apellidos",
841
861
  email: "Correo electr\xF3nico",
842
862
  emailTagUse: (address) => `Usar ${address}`,
843
- emailTagHint: "Muchos proveedores entregan nombre+etiqueta@\u2026 en el mismo buz\xF3n, as\xED que el correo de esta aplicaci\xF3n es f\xE1cil de filtrar y rastrear. Compruebe que el suyo lo hace antes de confiar en ello: iniciar\xEDa sesi\xF3n con la direcci\xF3n etiquetada.",
863
+ emailTagHint: "Muchos proveedores entregan nombre+etiqueta@\u2026 en el mismo buz\xF3n, as\xED que el correo de esta aplicaci\xF3n es f\xE1cil de filtrar y rastrear. Compruebe que el suyo lo hace antes de confiar en ello: tendr\xEDa que iniciar sesi\xF3n con la direcci\xF3n etiquetada.",
844
864
  invitedEmailHint: "La direcci\xF3n a la que se envi\xF3 su invitaci\xF3n.",
845
865
  invitedTagNote: "La direcci\xF3n etiquetada recibe su propio correo de confirmaci\xF3n.",
846
866
  password: "Contrase\xF1a",
@@ -854,7 +874,8 @@ La direcci\xF3n postal completa se facilita, previa solicitud, a los interesados
854
874
  registrationClosed: "Solo se pueden crear cuentas nuevas por invitaci\xF3n. Pida al operador que env\xEDe una invitaci\xF3n a su direcci\xF3n de correo electr\xF3nico.",
855
875
  invitationInvalid: "Este enlace de invitaci\xF3n no es v\xE1lido.",
856
876
  invitationExpired: "Esta invitaci\xF3n ha caducado. Pida una nueva.",
857
- failed: "No se pudo completar el registro. Int\xE9ntelo de nuevo."
877
+ failed: "No se pudo completar el registro. Int\xE9ntelo de nuevo.",
878
+ rateLimited
858
879
  },
859
880
  completeName: {
860
881
  title: "Complete su nombre",
@@ -871,9 +892,10 @@ La direcci\xF3n postal completa se facilita, previa solicitud, a los interesados
871
892
  email: "Correo electr\xF3nico",
872
893
  submit: "Enviar el enlace",
873
894
  sent: (email) => `Si existe una cuenta para ${email}, el enlace est\xE1 en camino.`,
874
- sentHint: "El enlace es v\xE1lido durante una hora y funciona una sola vez. Mire tambi\xE9n en la carpeta de correo no deseado.",
895
+ sentHint: "El enlace es v\xE1lido durante una hora y funciona una sola vez. Revise tambi\xE9n la carpeta de correo no deseado.",
875
896
  backToSignIn: "Volver a iniciar sesi\xF3n",
876
- error: "La solicitud ha fallado. Int\xE9ntelo de nuevo m\xE1s tarde."
897
+ error: "La solicitud ha fallado. Int\xE9ntelo de nuevo m\xE1s tarde.",
898
+ rateLimited
877
899
  },
878
900
  resetPassword: {
879
901
  title: "Elija una nueva contrase\xF1a",
@@ -890,7 +912,8 @@ La direcci\xF3n postal completa se facilita, previa solicitud, a los interesados
890
912
  requestNew: "Solicitar un enlace nuevo",
891
913
  success: "Su contrase\xF1a se ha cambiado. Ya puede iniciar sesi\xF3n con ella.",
892
914
  sessionsEnded: "Se ha cerrado la sesi\xF3n en los dispositivos conectados; tendr\xE1 que volver a iniciarla en ellos.",
893
- signIn: "Ir a iniciar sesi\xF3n"
915
+ signIn: "Ir a iniciar sesi\xF3n",
916
+ rateLimited
894
917
  },
895
918
  verifyEmail: {
896
919
  title: "Confirme su direcci\xF3n de correo electr\xF3nico",
@@ -912,7 +935,7 @@ La direcci\xF3n postal completa se facilita, previa solicitud, a los interesados
912
935
  },
913
936
  notFound: {
914
937
  title: "P\xE1gina no encontrada",
915
- body: "Esta direcci\xF3n no existe (o ya no existe). Quiz\xE1 sea una errata, o la p\xE1gina se ha movido.",
938
+ body: "Esta direcci\xF3n no existe (o ya no existe). Quiz\xE1 sea una errata o la p\xE1gina se haya movido.",
916
939
  home: "Ir a la p\xE1gina de inicio",
917
940
  app: "Volver a la aplicaci\xF3n"
918
941
  },
@@ -938,6 +961,187 @@ La direcci\xF3n postal completa se facilita, previa solicitud, a los interesados
938
961
  currentMark: "(actual)",
939
962
  switching: "Cambiando de empresa\u2026"
940
963
  },
964
+ // 0.30.0 — docs/user-admin-harmonization.md: Kurvenschmiede's reviewed Spanish for the
965
+ // admin words, transfer, invitations and sessions; written fresh where it had no
966
+ // sentence. "Usted", as the rest of this catalogue.
967
+ emailChange: {
968
+ title: "Direcci\xF3n de correo electr\xF3nico",
969
+ current: "Direcci\xF3n actual",
970
+ newEmail: "Nueva direcci\xF3n de correo electr\xF3nico",
971
+ password: "Contrase\xF1a actual",
972
+ passwordHint: "Inicia sesi\xF3n con su direcci\xF3n, as\xED que cambiarla requiere su contrase\xF1a.",
973
+ emailTagUse: (address) => `Usar ${address}`,
974
+ emailTagHint: "Muchos proveedores entregan nombre+etiqueta@\u2026 en el mismo buz\xF3n, as\xED que el correo de esta aplicaci\xF3n es f\xE1cil de filtrar y rastrear. Compruebe que el suyo lo hace antes de confiar en ello: tendr\xEDa que iniciar sesi\xF3n con la direcci\xF3n etiquetada.",
975
+ submit: "Cambiar la direcci\xF3n de correo electr\xF3nico",
976
+ sameAsCurrent: "Esta ya es su direcci\xF3n.",
977
+ emailTaken: "Ya existe una cuenta con esta direcci\xF3n de correo electr\xF3nico.",
978
+ wrongPassword: "La contrase\xF1a no es correcta.",
979
+ pending: (newEmail) => `Confirme el enlace que hemos enviado a ${newEmail}.`,
980
+ pendingHint: (currentEmail) => `Hasta entonces, seguir\xE1 iniciando sesi\xF3n con ${currentEmail}. Revise tambi\xE9n la carpeta de correo no deseado.`,
981
+ resend: "Enviar el enlace de nuevo",
982
+ resent: "Hemos vuelto a enviar el enlace.",
983
+ cancel: "Cancelar el cambio",
984
+ confirmed: (email) => `Su direcci\xF3n de correo electr\xF3nico es ahora ${email}.`,
985
+ passkeyNote: "Sus llaves de acceso siguen funcionando. Puede que su dispositivo a\xFAn las muestre con su direcci\xF3n anterior.",
986
+ rateLimited,
987
+ failed: "No ha funcionado. Int\xE9ntelo de nuevo."
988
+ },
989
+ sessions: {
990
+ title: "Sesiones",
991
+ description: "\xBFHa iniciado sesi\xF3n en un dispositivo que ya no usa o en el que no conf\xEDa? Cierre sesi\xF3n en todas partes.",
992
+ signOutEverywhere: "Cerrar sesi\xF3n en todas partes\u2026",
993
+ signOutEverywherePrompt: "Esto termina todas las sesiones, tambi\xE9n esta: se cerrar\xE1 la sesi\xF3n en este dispositivo y tendr\xE1 que volver a iniciarla aqu\xED.",
994
+ confirmSignOutEverywhere: "Cerrar sesi\xF3n en todas partes",
995
+ list: "D\xF3nde ha iniciado sesi\xF3n",
996
+ loading: "Cargando sesiones\u2026",
997
+ empty: "No hay sesiones que mostrar.",
998
+ current: "Este dispositivo",
999
+ unknownDevice: "Dispositivo desconocido",
1000
+ // A colon: `when` is either "hace 3 horas" or a date.
1001
+ lastActive: (when) => `\xDAltima actividad: ${when}`,
1002
+ ip: (address) => `IP ${address}`,
1003
+ revoke: "Cerrar sesi\xF3n",
1004
+ // Starts with `revoke`, the button's visible text, for voice control.
1005
+ revokeItem: (device) => `Cerrar sesi\xF3n en ${device}`,
1006
+ failed: "No ha funcionado. Int\xE9ntelo de nuevo."
1007
+ },
1008
+ deleteAccount: {
1009
+ title: "Eliminar la cuenta",
1010
+ afterDays: (days) => `Su cuenta se desactiva de inmediato y se borra definitivamente ${n(days)} ${plural(days, "d\xEDa", "d\xEDas")} despu\xE9s.`,
1011
+ operator: "Su cuenta se desactiva de inmediato, y el operador la borrar\xE1 definitivamente.",
1012
+ arm: "Eliminar la cuenta\u2026",
1013
+ prompt: "Se cerrar\xE1 su sesi\xF3n en todos los dispositivos y ya no podr\xE1 usar su cuenta.",
1014
+ handOver: (count) => count === 1 ? "1 elemento que otros pueden ver pasar\xE1 a un administrador." : `${n(count)} elementos que otros pueden ver pasar\xE1n a un administrador.`,
1015
+ confirm: "Eliminar mi cuenta",
1016
+ done: "Su cuenta est\xE1 desactivada. Se est\xE1 cerrando su sesi\xF3n.",
1017
+ wrongPassword: "La contrase\xF1a no es correcta.",
1018
+ confirmationMismatch: "Esta no es la direcci\xF3n de su cuenta.",
1019
+ lastAdmin: "Su cuenta es la \xFAltima con rol de administrador. Primero haga administrador a otra persona.",
1020
+ lastAdminOf: (companies) => `Su cuenta es la \xFAltima con rol de administrador en ${companies}. Primero haga administrador all\xED a otra persona.`,
1021
+ householdHasMembers: "Su hogar tiene otros miembros, as\xED que la cuenta no se puede eliminar aqu\xED. Escriba al operador.",
1022
+ rateLimited,
1023
+ failed: "No se pudo eliminar su cuenta. Int\xE9ntelo de nuevo."
1024
+ },
1025
+ dataExport: {
1026
+ title: "Exportar sus datos",
1027
+ description: "Descargue una copia de los datos de su cuenta como archivo JSON.",
1028
+ download: "Descargar mis datos",
1029
+ started: "La descarga ha comenzado.",
1030
+ saveAgain: "\xBFNo ha empezado? Guardar el archivo",
1031
+ rateLimited: (seconds) => seconds && seconds > 0 ? `Acaba de exportar sus datos. Int\xE9ntelo de nuevo en ${wait(seconds)}.` : "Acaba de exportar sus datos. Int\xE9ntelo de nuevo dentro de un minuto.",
1032
+ failed: "La exportaci\xF3n ha fallado. Int\xE9ntelo de nuevo."
1033
+ },
1034
+ userRoster: {
1035
+ name: "Nombre",
1036
+ email: "Correo electr\xF3nico",
1037
+ role: "Rol",
1038
+ state: "Estado",
1039
+ // Agreeing with "cuenta" (feminine), like `accountState`.
1040
+ created: "Creada",
1041
+ lastLogin: "\xDAltimo inicio de sesi\xF3n",
1042
+ never: "Nunca",
1043
+ actions: "Acciones",
1044
+ actionsFor: (name) => `Acciones para ${name}`
1045
+ },
1046
+ roleSelect: {
1047
+ label: "Rol",
1048
+ rolesLegend: "Roles",
1049
+ roleOf: (name) => `Rol de ${name}`,
1050
+ lockedLastAdmin: "La \xFAltima cuenta de administrador activa conserva este rol.",
1051
+ lockedSelf: "No puede cambiar su propio rol.",
1052
+ notForLastAdmin: "no para el \xFAltimo administrador",
1053
+ notForSelf: "no para su propia cuenta",
1054
+ unavailable: (role, reason) => `${role} (${reason})`
1055
+ },
1056
+ reviewerScope: {
1057
+ languages: "Idiomas",
1058
+ hint: "Marque los idiomas que revisa esta persona.",
1059
+ none: "Ning\xFAn idioma: al guardar se retira el rol de revisor.",
1060
+ areas: "Limitar a",
1061
+ legalOnly: "Solo las p\xE1ginas legales",
1062
+ legalOnlyHint: "Aviso legal, pol\xEDtica de privacidad y condiciones de uso: para un abogado m\xE1s que para un hablante nativo.",
1063
+ failed: "No se pudo guardar el \xE1mbito de revisi\xF3n. Int\xE9ntelo de nuevo."
1064
+ },
1065
+ adminAction: {
1066
+ confirm: "Confirmar",
1067
+ cancel: "Cancelar",
1068
+ close: "Cerrar",
1069
+ lastAdmin: "Esta es la \xFAltima cuenta de administrador activa. Primero haga administrador a otra persona.",
1070
+ self: "No puede hacer esto con su propia cuenta.",
1071
+ confirmationMismatch: "La direcci\xF3n no coincide con esta cuenta. Compruebe en qu\xE9 cuenta est\xE1.",
1072
+ otherCompanies: "Esta cuenta tambi\xE9n pertenece a otras empresas, as\xED que solo el operador de la plataforma puede hacer esto. En su lugar, puede quitarla de esta empresa.",
1073
+ removeFromCompany: "Quitar de la empresa",
1074
+ failed: "No ha funcionado. Int\xE9ntelo de nuevo."
1075
+ },
1076
+ adminActionLog: {
1077
+ title: "Acciones de administraci\xF3n",
1078
+ empty: "A\xFAn no hay acciones de administraci\xF3n.",
1079
+ loading: "Cargando\u2026",
1080
+ by: (actor) => `por ${actor}`,
1081
+ bySelf: "por la propia persona",
1082
+ automatic: "autom\xE1ticamente",
1083
+ erased: "una cuenta borrada",
1084
+ filteredTo: (target) => `Solo ${target}`,
1085
+ showAll: "Mostrar todas las acciones",
1086
+ filterBy: (target) => `Mostrar solo las acciones sobre ${target}`,
1087
+ // Agreeing with "cuenta" (feminine), like `accountState`.
1088
+ actions: {
1089
+ deactivate: "Desactivada",
1090
+ reactivate: "Reactivada",
1091
+ role: "Rol cambiado",
1092
+ membership_remove: "Quitada de la empresa",
1093
+ password_change_require: "Nueva contrase\xF1a exigida",
1094
+ password_change_withdraw: "Exigencia de contrase\xF1a retirada",
1095
+ mail_verification: "Correo de confirmaci\xF3n enviado",
1096
+ mail_reset: "Correo de restablecimiento de contrase\xF1a enviado",
1097
+ reviewer: "\xC1mbito de revisi\xF3n cambiado",
1098
+ invite: "Invitaci\xF3n enviada",
1099
+ invite_resend: "Invitaci\xF3n reenviada",
1100
+ invite_revoke: "Invitaci\xF3n retirada",
1101
+ transfer: "Trabajo traspasado",
1102
+ deletion_request: "Eliminaci\xF3n solicitada",
1103
+ deletion_cancel: "Eliminaci\xF3n cancelada",
1104
+ erase: "Cuenta borrada"
1105
+ }
1106
+ },
1107
+ transferOwnership: {
1108
+ title: (name) => `Traspasar el trabajo de ${name}`,
1109
+ body: "Todo lo que posee esta cuenta pasa a la cuenta elegida, en un solo paso.",
1110
+ recipient: "Traspasar a",
1111
+ choose: "Elija una cuenta\u2026",
1112
+ chooseFirst: "Elija qui\xE9n recibe el trabajo",
1113
+ confirm: "Traspasar",
1114
+ customer: "cliente",
1115
+ deactivated: "desactivada",
1116
+ self: "la misma cuenta",
1117
+ unavailable: (account, reason) => `${account} (${reason})`,
1118
+ noCandidates: "Ninguna otra cuenta puede recibirlo."
1119
+ },
1120
+ invitations: {
1121
+ email: "Direcci\xF3n de correo electr\xF3nico",
1122
+ invalidEmail: "Introduzca una direcci\xF3n de correo completa.",
1123
+ role: "Rol",
1124
+ scope: "\xC1mbito",
1125
+ scopeNone: "Ninguno",
1126
+ language: "Idioma de la invitaci\xF3n",
1127
+ note: "Nota",
1128
+ invite: "Invitar",
1129
+ listTitle: "Invitaciones",
1130
+ empty: "Todav\xEDa no se ha invitado a nadie.",
1131
+ loading: "Cargando\u2026",
1132
+ // Agreeing with "invitación" (feminine).
1133
+ status: { open: "Pendiente", accepted: "Aceptada", expired: "Caducada", revoked: "Retirada" },
1134
+ sent: (date) => `Enviada el ${date}`,
1135
+ expires: (date) => `V\xE1lida hasta el ${date}`,
1136
+ invitedBy: (name) => `por ${name}`,
1137
+ resend: (email) => `Enviar a ${email} un enlace nuevo`,
1138
+ copyLink: "Copiar enlace de invitaci\xF3n",
1139
+ revoke: (email) => `Retirar la invitaci\xF3n de ${email}`,
1140
+ consoleHint: "Este servidor no env\xEDa correos: se escriben en el registro del servidor. Copie aqu\xED cada enlace de invitaci\xF3n y transm\xEDtalo usted mismo: solo se muestra una vez.",
1141
+ linkReady: (email) => `El enlace de invitaci\xF3n para ${email}, que solo se muestra esta vez:`,
1142
+ notSent: (email) => `${email} est\xE1 invitado, pero no se pudo enviar el correo. Reenv\xEDelo.`,
1143
+ failed: "No ha funcionado. Int\xE9ntelo de nuevo."
1144
+ },
941
1145
  characterCount: {
942
1146
  count: (used, max) => `${n(used)} de ${n(max)} ${plural(max, "car\xE1cter", "caracteres")}`,
943
1147
  remaining: (left) => left === 1 ? "Queda 1 car\xE1cter" : `Quedan ${n(left)} caracteres`,
@@ -1054,6 +1258,79 @@ La direcci\xF3n postal completa se facilita, previa solicitud, a los interesados
1054
1258
  groupCount: (unreviewed, total) => `${n(unreviewed)} sin revisar / ${n(total)}`,
1055
1259
  approveGroup: (count) => `Aprobar los sin revisar (${n(count)})`,
1056
1260
  confirmGroup: (count, group) => count === 1 ? `\xBFAprobar el texto sin revisar de \xAB${group}\xBB?` : `\xBFAprobar los ${n(count)} textos sin revisar de \xAB${group}\xBB, incluidos los que no est\xE1n en pantalla?`
1261
+ },
1262
+ // 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md
1263
+ // §4–§5: the settings shell, the landing page's generic words and the demo. The help
1264
+ // lines name things as `accountSettings`, `sessions` and `dataExport` do. "Usted".
1265
+ // "Ajustes" (es-ES), a countable noun: "Ningún ajuste coincide…".
1266
+ settings: {
1267
+ title: "Ajustes",
1268
+ search: "Buscar en los ajustes",
1269
+ searchPlaceholder: "Buscar en los ajustes\u2026",
1270
+ results: "Ajustes coincidentes",
1271
+ noMatches: (query) => `Ning\xFAn ajuste coincide con \xAB${query}\xBB.`,
1272
+ // As `commandPalette.clear`.
1273
+ clearSearch: "Borrar b\xFAsqueda",
1274
+ back: "Volver a los ajustes",
1275
+ sections: "Secciones de los ajustes",
1276
+ matchCount: (count) => `${n(count)} ${plural(count, "resultado", "resultados")}`,
1277
+ groups: {
1278
+ appearance: {
1279
+ title: "Apariencia",
1280
+ help: "Idioma, tema y aspecto de la aplicaci\xF3n en este dispositivo."
1281
+ },
1282
+ account: {
1283
+ title: "Cuenta",
1284
+ help: "Su perfil y su direcci\xF3n de correo electr\xF3nico."
1285
+ },
1286
+ security: {
1287
+ title: "Seguridad",
1288
+ help: "C\xF3mo inicia sesi\xF3n: contrase\xF1a, verificaci\xF3n en dos pasos, llaves de acceso y sesiones."
1289
+ },
1290
+ notifications: {
1291
+ title: "Notificaciones",
1292
+ help: "Qu\xE9 notificaciones recibe, cu\xE1ndo y en qu\xE9 dispositivos."
1293
+ },
1294
+ data: {
1295
+ title: "Datos",
1296
+ help: "Exporte lo que es suyo o elim\xEDnelo junto con su cuenta."
1297
+ }
1298
+ }
1299
+ },
1300
+ landing: {
1301
+ signIn: "Iniciar sesi\xF3n",
1302
+ requestAccess: "Solicitar acceso",
1303
+ getStarted: "Empezar",
1304
+ tryDemo: "Probar la demo",
1305
+ openApp: "Abrir la aplicaci\xF3n",
1306
+ continueDemo: "Continuar la demo",
1307
+ beta: "Beta",
1308
+ // Plain text: a mail's subject and body lines, never HTML.
1309
+ accessSubject: (app) => app ? `Acceso a ${app}` : "Solicitud de acceso",
1310
+ accessName: "Nombre:",
1311
+ accessCompany: "Empresa:",
1312
+ accessUse: "Uso previsto:"
1313
+ },
1314
+ demo: {
1315
+ starting: "Iniciando la demo\u2026",
1316
+ rateLimited: (minutes) => minutes ? `Demasiadas demos desde esta red. Int\xE9ntelo de nuevo en ${n(minutes)} min.` : "Demasiadas demos desde esta red. Int\xE9ntelo de nuevo m\xE1s tarde.",
1317
+ capacity: "La demo est\xE1 completa en este momento. Int\xE9ntelo de nuevo m\xE1s tarde.",
1318
+ unavailable: "La demo no est\xE1 disponible en este momento.",
1319
+ failed: "No se pudo iniciar la demo. Int\xE9ntelo de nuevo.",
1320
+ // As `legal.backHome`.
1321
+ backToStart: "Volver al inicio",
1322
+ // Hours and minutes together are plural; minutes alone agree with the count.
1323
+ hoursLeft: (hours, minutes) => `Demo \xB7 quedan ${n(hours)} h ${n(minutes)} min`,
1324
+ minutesLeft: (minutes) => `Demo \xB7 ${plural(minutes, "queda", "quedan")} ${n(minutes)} min`,
1325
+ badge: "Demo",
1326
+ readOnly: "Est\xE1 viendo datos de ejemplo. No es posible hacer cambios.",
1327
+ sandbox: "Su propio trabajo se elimina cuando termina la demo.",
1328
+ details: "Detalles de la demo",
1329
+ writeLocked: "No es posible en la demo.",
1330
+ endedTitle: "La demo ha terminado",
1331
+ endedReadOnly: "Los datos de ejemplo se restablecen con regularidad.",
1332
+ endedSandbox: "Los datos de ejemplo se restablecen con regularidad; su propio trabajo en la demo se elimina.",
1333
+ restart: "Iniciar una nueva demo"
1057
1334
  }
1058
1335
  };
1059
1336
  }