@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 uiKitLabelsIt(numberLocale = "it-IT"): 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. kastlan's reviewed "auth.throttled" is the sentence without one.
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
+ ? "Troppi tentativi. Attenda un momento e riprovi."
25
+ : `Troppi tentativi. Riprovi tra ${wait(seconds)}.`;
17
26
 
18
27
  return {
19
28
  feedbackAttachment: {
@@ -61,6 +70,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
61
70
  // 0.27.0. "Feedback" stays, as `feedbackDialog`; "rielaborazione" for rework.
62
71
  feedbackStatus: {
63
72
  OPEN: "Aperto",
73
+ READY: "Pronto da implementare",
64
74
  IN_PROGRESS: "In corso",
65
75
  IN_EVALUATION: "In valutazione",
66
76
  NEEDS_LIVE_TEST: "Da testare in produzione",
@@ -122,6 +132,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
122
132
  phoneActions: "Azioni sul feedback",
123
133
  },
124
134
  feedbackDetail: {
135
+ subject: "Oggetto",
125
136
  body: "Descrizione",
126
137
  edit: "Modifica",
127
138
  editDescription: "Modifica descrizione",
@@ -154,6 +165,9 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
154
165
  memberSince: "Membro dal",
155
166
  displayName: "Nome visualizzato",
156
167
  save: "Salva",
168
+ firstName: "Nome",
169
+ lastName: "Cognome",
170
+ nameRequired: "Inserisca sia il nome sia il cognome.",
157
171
  },
158
172
  password: {
159
173
  title: "Cambia password",
@@ -179,6 +193,8 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
179
193
  qrAlt: "Codice QR per la Sua app di autenticazione",
180
194
  secretHint: "Non riesce a scansionarlo? Inserisca invece questa chiave nell’app:",
181
195
  copySecret: "Copia chiave",
196
+ // 0.31.0: the card's title; the state ("Attiva") stands beside it.
197
+ title: "Autenticazione a due fattori",
182
198
  },
183
199
  passkeys: {
184
200
  title: "Passkey",
@@ -703,6 +719,8 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
703
719
  registered: "Registrato",
704
720
  unverified: "Non verificato",
705
721
  passwordChange: "Deve cambiare la password",
722
+ deletion: "Eliminazione richiesta",
723
+ deletionOn: (date) => `Eliminazione il ${date}`,
706
724
  },
707
725
  shareCard: {
708
726
  dialogTitle: "Condividi",
@@ -871,6 +889,18 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
871
889
  setPasswordFailed: "Impossibile impostare la password.",
872
890
  expired: "Questo accesso è scaduto. Acceda di nuovo.",
873
891
  backToSignIn: "Torna all’accesso",
892
+ // kastlan's backup-code words ("codice di riserva" — not keksdose's "codice di
893
+ // recupero", which is the key of its end-to-end encryption).
894
+ useRecoveryCode: "Usa un codice di riserva",
895
+ useAuthenticatorCode: "Usa la Sua app di autenticazione",
896
+ recoveryCode: "Codice di riserva",
897
+ recoveryIntro:
898
+ "Inserisca uno dei codici di riserva che ha salvato quando ha attivato l’autenticazione a due fattori.",
899
+ recoveryCodeHint: (length) => `${n(length)} lettere e cifre. Trattini e spazi non contano.`,
900
+ recoveryCodeInvalid: "Questo codice di riserva non è valido o è già stato usato.",
901
+ rateLimited,
902
+ // 0.31.0: the same words as `landing.requestAccess`.
903
+ requestAccess: "Richiedi l’accesso",
874
904
  },
875
905
  register: {
876
906
  firstName: "Nome",
@@ -894,6 +924,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
894
924
  invitationInvalid: "Questo link di invito non è valido.",
895
925
  invitationExpired: "Questo invito è scaduto. Ne chieda uno nuovo.",
896
926
  failed: "Registrazione non riuscita. Riprovi.",
927
+ rateLimited,
897
928
  },
898
929
  completeName: {
899
930
  title: "Completi il Suo nome",
@@ -915,6 +946,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
915
946
  sentHint: "Il link è valido per un’ora e funziona una sola volta. Controlli anche la cartella spam.",
916
947
  backToSignIn: "Torna all’accesso",
917
948
  error: "Richiesta non riuscita. Riprovi più tardi.",
949
+ rateLimited,
918
950
  },
919
951
  resetPassword: {
920
952
  title: "Scelga una nuova password",
@@ -933,6 +965,7 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
933
965
  success: "La Sua password è stata cambiata. Ora può accedere con quella.",
934
966
  sessionsEnded: "I dispositivi connessi sono stati disconnessi: lì dovrà accedere di nuovo.",
935
967
  signIn: "Vai all’accesso",
968
+ rateLimited,
936
969
  },
937
970
  verifyEmail: {
938
971
  title: "Confermi il Suo indirizzo email",
@@ -981,6 +1014,209 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
981
1014
  currentMark: "(attuale)",
982
1015
  switching: "Cambio azienda in corso…",
983
1016
  },
1017
+ // 0.30.0 — docs/user-admin-harmonization.md: keksdose's reviewed Italian for the admin
1018
+ // words (admin.users.*), Kurvenschmiede's for transfer, invitations and sessions,
1019
+ // kastlan's for the company, the throttle and "Esci ovunque"; written fresh where no
1020
+ // app had the sentence. "Lei", and phrased so that no sentence about the reader needs
1021
+ // a gender ("disconnesso/a").
1022
+ emailChange: {
1023
+ title: "Indirizzo email",
1024
+ current: "Indirizzo attuale",
1025
+ newEmail: "Nuovo indirizzo email",
1026
+ password: "Password attuale",
1027
+ passwordHint: "Accede con il Suo indirizzo, quindi per cambiarlo serve la password.",
1028
+ emailTagUse: (address) => `Usa ${address}`,
1029
+ emailTagHint:
1030
+ "Molti provider recapitano nome+tag@… nella stessa casella, così la posta di questa app è filtrabile e riconoscibile. Verifichi che il Suo lo faccia prima di farci affidamento: accederebbe con l’indirizzo con il tag.",
1031
+ submit: "Cambia indirizzo email",
1032
+ sameAsCurrent: "Questo è già il Suo indirizzo.",
1033
+ emailTaken: "Esiste già un account con questo indirizzo email.",
1034
+ wrongPassword: "La password non è corretta.",
1035
+ pending: (newEmail) => `Confermi il link che abbiamo inviato a ${newEmail}.`,
1036
+ pendingHint: (currentEmail) =>
1037
+ `Fino ad allora continua ad accedere con ${currentEmail}. Controlli anche la cartella spam.`,
1038
+ resend: "Invia di nuovo il link",
1039
+ resent: "Abbiamo inviato di nuovo il link.",
1040
+ cancel: "Annulla la modifica",
1041
+ confirmed: (email) => `Il Suo indirizzo email ora è ${email}.`,
1042
+ passkeyNote:
1043
+ "Le Sue passkey continuano a funzionare. Il Suo dispositivo potrebbe ancora mostrarle con il vecchio indirizzo.",
1044
+ rateLimited,
1045
+ failed: "Non ha funzionato. Riprovi.",
1046
+ },
1047
+ sessions: {
1048
+ title: "Sessioni",
1049
+ description:
1050
+ "Ha effettuato l’accesso su un dispositivo che non usa più o di cui non si fida? Esca ovunque.",
1051
+ signOutEverywhere: "Esci ovunque…",
1052
+ signOutEverywherePrompt:
1053
+ "Tutte le sessioni terminano, compresa questa: anche questo dispositivo verrà disconnesso e dovrà accedere di nuovo da qui.",
1054
+ confirmSignOutEverywhere: "Esci ovunque",
1055
+ list: "Dove ha effettuato l’accesso",
1056
+ loading: "Caricamento delle sessioni…",
1057
+ empty: "Nessuna sessione da mostrare.",
1058
+ current: "Questo dispositivo",
1059
+ unknownDevice: "Dispositivo sconosciuto",
1060
+ // A colon: `when` is either "3 ore fa" or a date.
1061
+ lastActive: (when) => `Ultima attività: ${when}`,
1062
+ ip: (address) => `IP ${address}`,
1063
+ revoke: "Disconnetti",
1064
+ // Starts with `revoke`, the button's visible text, for voice control.
1065
+ revokeItem: (device) => `Disconnetti ${device}`,
1066
+ failed: "Non ha funzionato. Riprovi.",
1067
+ },
1068
+ deleteAccount: {
1069
+ title: "Elimina account",
1070
+ afterDays: (days) =>
1071
+ `Il Suo account viene disattivato subito ed eliminato definitivamente ${n(days)} ${plural(days, "giorno", "giorni")} dopo.`,
1072
+ operator: "Il Suo account viene disattivato subito, poi il gestore lo eliminerà definitivamente.",
1073
+ arm: "Elimina account…",
1074
+ prompt: "Tutte le Sue sessioni terminano, su ogni dispositivo, e il Suo account non potrà più essere usato.",
1075
+ handOver: (count) =>
1076
+ count === 1
1077
+ ? "1 elemento visibile ad altri passerà a un amministratore."
1078
+ : `${n(count)} elementi visibili ad altri passeranno a un amministratore.`,
1079
+ confirm: "Elimina il mio account",
1080
+ done: "Il Suo account è disattivato. Disconnessione in corso.",
1081
+ wrongPassword: "La password non è corretta.",
1082
+ confirmationMismatch: "Questo non è l’indirizzo del Suo account.",
1083
+ lastAdmin: "Il Suo è l’ultimo account amministratore. Renda prima amministratore qualcun altro.",
1084
+ lastAdminOf: (companies) =>
1085
+ `Il Suo è l’ultimo account amministratore di ${companies}. Lì renda prima amministratore qualcun altro.`,
1086
+ // keksdose's "famiglia".
1087
+ householdHasMembers:
1088
+ "La Sua famiglia ha altri membri, quindi l’account non può essere eliminato qui. Scriva al gestore.",
1089
+ rateLimited,
1090
+ failed: "Impossibile eliminare il Suo account. Riprovi.",
1091
+ },
1092
+ dataExport: {
1093
+ title: "Esporta i Suoi dati",
1094
+ description: "Scarichi una copia dei dati del Suo account come file JSON.",
1095
+ download: "Scarica i miei dati",
1096
+ started: "Il download è iniziato.",
1097
+ saveAgain: "Non è partito? Salva il file",
1098
+ rateLimited: (seconds) =>
1099
+ seconds && seconds > 0
1100
+ ? `Ha appena esportato i Suoi dati. Riprovi tra ${wait(seconds)}.`
1101
+ : "Ha appena esportato i Suoi dati. Riprovi tra un minuto.",
1102
+ failed: "Esportazione non riuscita. Riprovi.",
1103
+ },
1104
+ userRoster: {
1105
+ name: "Nome",
1106
+ email: "Email",
1107
+ role: "Ruolo",
1108
+ state: "Stato",
1109
+ created: "Creato il",
1110
+ lastLogin: "Ultimo accesso",
1111
+ never: "Mai",
1112
+ actions: "Azioni",
1113
+ actionsFor: (name) => `Azioni per ${name}`,
1114
+ },
1115
+ roleSelect: {
1116
+ label: "Ruolo",
1117
+ rolesLegend: "Ruoli",
1118
+ roleOf: (name) => `Ruolo di ${name}`,
1119
+ lockedLastAdmin: "L’ultimo account amministratore attivo mantiene questo ruolo.",
1120
+ lockedSelf: "Non può cambiare il Suo ruolo.",
1121
+ notForLastAdmin: "non per l’ultimo amministratore",
1122
+ notForSelf: "non per il Suo account",
1123
+ unavailable: (role, reason) => `${role} (${reason})`,
1124
+ },
1125
+ reviewerScope: {
1126
+ languages: "Lingue",
1127
+ hint: "Spunti le lingue che questa persona rivede.",
1128
+ none: "Nessuna lingua: salvando si toglie il ruolo di revisore.",
1129
+ areas: "Limita a",
1130
+ legalOnly: "Solo le pagine legali",
1131
+ legalOnlyHint:
1132
+ "Impressum, informativa sulla privacy e condizioni d’uso: per un giurista più che per un madrelingua.",
1133
+ failed: "Impossibile salvare il ruolo di revisore. Riprovi.",
1134
+ },
1135
+ adminAction: {
1136
+ confirm: "Conferma",
1137
+ cancel: "Annulla",
1138
+ close: "Chiudi",
1139
+ lastAdmin:
1140
+ "Questo è l’ultimo account amministratore attivo. Renda prima amministratore qualcun altro.",
1141
+ self: "Non può farlo sul Suo account.",
1142
+ confirmationMismatch:
1143
+ "L’indirizzo non corrisponde a questo account. Controlli su quale account si trova.",
1144
+ otherCompanies:
1145
+ "Questo account appartiene anche ad altre aziende, quindi solo il gestore della piattaforma può farlo. Può invece rimuoverlo da questa azienda.",
1146
+ removeFromCompany: "Rimuovi dall’azienda",
1147
+ failed: "Non ha funzionato. Riprovi.",
1148
+ },
1149
+ adminActionLog: {
1150
+ title: "Azioni di amministrazione",
1151
+ empty: "Ancora nessuna azione di amministrazione.",
1152
+ loading: "Caricamento…",
1153
+ by: (actor) => `da ${actor}`,
1154
+ bySelf: "dall’utente stesso",
1155
+ automatic: "automaticamente",
1156
+ erased: "un account cancellato",
1157
+ filteredTo: (target) => `Solo ${target}`,
1158
+ showAll: "Mostra tutte le azioni",
1159
+ filterBy: (target) => `Mostra solo le azioni su ${target}`,
1160
+ // Agreeing with "account" (masculine), like `accountState`.
1161
+ actions: {
1162
+ deactivate: "Disattivato",
1163
+ reactivate: "Riattivato",
1164
+ role: "Ruolo cambiato",
1165
+ membership_remove: "Rimosso dall’azienda",
1166
+ password_change_require: "Nuova password richiesta",
1167
+ password_change_withdraw: "Richiesta di nuova password ritirata",
1168
+ mail_verification: "Email di conferma inviata",
1169
+ mail_reset: "Email di reimpostazione password inviata",
1170
+ reviewer: "Ambito di revisione cambiato",
1171
+ invite: "Invitato",
1172
+ invite_resend: "Invito inviato di nuovo",
1173
+ invite_revoke: "Invito ritirato",
1174
+ transfer: "Lavoro passato ad altri",
1175
+ deletion_request: "Eliminazione richiesta",
1176
+ deletion_cancel: "Eliminazione annullata",
1177
+ erase: "Account cancellato",
1178
+ },
1179
+ },
1180
+ transferOwnership: {
1181
+ title: (name) => `Passa il lavoro di ${name}`,
1182
+ body: "Tutto ciò che possiede questo account passa all’account scelto, in un solo passo.",
1183
+ recipient: "Passalo a",
1184
+ choose: "Scelga un account…",
1185
+ chooseFirst: "Scelga chi riceve il lavoro",
1186
+ confirm: "Passa il lavoro",
1187
+ customer: "cliente",
1188
+ deactivated: "disattivato",
1189
+ self: "lo stesso account",
1190
+ unavailable: (account, reason) => `${account} (${reason})`,
1191
+ noCandidates: "Nessun altro account può riceverlo.",
1192
+ },
1193
+ invitations: {
1194
+ email: "Indirizzo email",
1195
+ invalidEmail: "Inserisca un indirizzo email completo.",
1196
+ role: "Ruolo",
1197
+ scope: "Ambito",
1198
+ scopeNone: "Nessuno",
1199
+ language: "Lingua dell’invito",
1200
+ note: "Nota",
1201
+ invite: "Invita",
1202
+ listTitle: "Inviti",
1203
+ empty: "Non è ancora stato invitato nessuno.",
1204
+ loading: "Caricamento…",
1205
+ // Agreeing with "invito" (masculine).
1206
+ status: { open: "Aperto", accepted: "Accettato", expired: "Scaduto", revoked: "Ritirato" },
1207
+ sent: (date) => `Inviato il ${date}`,
1208
+ // kastlan's "Valido fino al".
1209
+ expires: (date) => `Valido fino al ${date}`,
1210
+ invitedBy: (name) => `da ${name}`,
1211
+ resend: (email) => `Invia a ${email} un nuovo link`,
1212
+ copyLink: "Copia link di invito",
1213
+ revoke: (email) => `Ritira l’invito per ${email}`,
1214
+ consoleHint:
1215
+ "Questo server non invia email: vengono scritte nel log del server. Copi qui ogni link di invito e lo inoltri Lei stesso: viene mostrato una sola volta.",
1216
+ linkReady: (email) => `Il link di invito per ${email}, mostrato solo questa volta:`,
1217
+ notSent: (email) => `${email} è invitato, ma non è stato possibile inviare l’email. La reinvii.`,
1218
+ failed: "Non ha funzionato. Riprovi.",
1219
+ },
984
1220
  characterCount: {
985
1221
  count: (used, max) => `${n(used)} di ${n(max)} ${plural(max, "carattere", "caratteri")}`,
986
1222
  remaining: (left) =>
@@ -1112,6 +1348,83 @@ export function uiKitLabelsIt(numberLocale = "it-IT"): UiKitLabels {
1112
1348
  ? `Approvare il testo non rivisto in «${group}»?`
1113
1349
  : `Approvare tutti i ${n(count)} testi non rivisti in «${group}», compresi quelli non visibili sullo schermo?`,
1114
1350
  },
1351
+ // 0.31.0 — docs/settings-harmonization.md §4.3 and docs/landing-demo-harmonization.md
1352
+ // §4–§5: the settings shell, the landing page's generic words and the demo. The help
1353
+ // lines name things as `accountSettings`, `sessions` and `dataExport` do. "Lei", and
1354
+ // no sentence about the reader needs a gender ("avvisato/a").
1355
+ settings: {
1356
+ title: "Impostazioni",
1357
+ search: "Cerca nelle impostazioni",
1358
+ searchPlaceholder: "Cerca nelle impostazioni…",
1359
+ results: "Impostazioni corrispondenti",
1360
+ noMatches: (query) => `Nessuna impostazione corrisponde a «${query}».`,
1361
+ // As `commandPalette.clear`.
1362
+ clearSearch: "Cancella ricerca",
1363
+ back: "Torna alle impostazioni",
1364
+ sections: "Sezioni delle impostazioni",
1365
+ matchCount: (count) => `${n(count)} ${plural(count, "risultato", "risultati")}`,
1366
+ groups: {
1367
+ appearance: {
1368
+ title: "Aspetto",
1369
+ help: "Lingua, tema e aspetto dell’app su questo dispositivo.",
1370
+ },
1371
+ account: {
1372
+ title: "Account",
1373
+ help: "Il Suo profilo e il Suo indirizzo email.",
1374
+ },
1375
+ security: {
1376
+ title: "Sicurezza",
1377
+ help: "Come accede: password, codici 2FA, passkey e sessioni.",
1378
+ },
1379
+ notifications: {
1380
+ title: "Notifiche",
1381
+ help: "Quali notifiche riceve, quando e su quali dispositivi.",
1382
+ },
1383
+ data: {
1384
+ title: "Dati",
1385
+ help: "Esporti i Suoi dati o li elimini insieme al Suo account.",
1386
+ },
1387
+ },
1388
+ },
1389
+ landing: {
1390
+ signIn: "Accedi",
1391
+ requestAccess: "Richiedi l’accesso",
1392
+ getStarted: "Inizia",
1393
+ tryDemo: "Prova la demo",
1394
+ openApp: "Apri l’app",
1395
+ continueDemo: "Continua la demo",
1396
+ beta: "Beta",
1397
+ // Plain text: a mail's subject and body lines, never HTML.
1398
+ accessSubject: (app) => (app ? `Accesso a ${app}` : "Richiesta di accesso"),
1399
+ accessName: "Nome:",
1400
+ accessCompany: "Azienda:",
1401
+ accessUse: "Uso previsto:",
1402
+ },
1403
+ demo: {
1404
+ starting: "Avvio della demo…",
1405
+ rateLimited: (minutes) =>
1406
+ minutes
1407
+ ? `Troppe demo da questa rete. Riprovi tra ${n(minutes)} min.`
1408
+ : "Troppe demo da questa rete. Riprovi più tardi.",
1409
+ capacity: "La demo è al completo in questo momento. Riprovi più tardi.",
1410
+ unavailable: "La demo non è disponibile in questo momento.",
1411
+ failed: "Impossibile avviare la demo. Riprovi.",
1412
+ // As `legal.backHome`.
1413
+ backToStart: "Torna alla pagina iniziale",
1414
+ // "ancora" rather than "mancano", which would have to agree with the count.
1415
+ hoursLeft: (hours, minutes) => `Demo · ancora ${n(hours)} h ${n(minutes)} min`,
1416
+ minutesLeft: (minutes) => `Demo · ancora ${n(minutes)} min`,
1417
+ badge: "Demo",
1418
+ readOnly: "Sta guardando dati di esempio. Non è possibile apportare modifiche.",
1419
+ sandbox: "Quello che crea viene eliminato al termine della demo.",
1420
+ details: "Dettagli della demo",
1421
+ writeLocked: "Non è possibile nella demo.",
1422
+ endedTitle: "La demo è terminata",
1423
+ endedReadOnly: "I dati di esempio vengono reimpostati regolarmente.",
1424
+ endedSandbox:
1425
+ "I dati di esempio vengono reimpostati regolarmente; quello che ha creato nella demo viene eliminato.",
1426
+ restart: "Avvia una nuova demo",
1427
+ },
1115
1428
  };
1116
1429
  }
1117
1430