@eifi1/ui-kit 0.10.0 → 0.12.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 (382) hide show
  1. package/README.md +66 -37
  2. package/dist/chart.d.ts +3 -1
  3. package/dist/chart.js +2 -0
  4. package/dist/chart.js.map +1 -1
  5. package/dist/components/account-settings-labels.d.ts +105 -0
  6. package/dist/components/account-settings-labels.js +81 -0
  7. package/dist/components/account-settings-labels.js.map +1 -0
  8. package/dist/components/account-settings.d.ts +36 -52
  9. package/dist/components/account-settings.js +44 -8
  10. package/dist/components/account-settings.js.map +1 -1
  11. package/dist/components/alert-banner.d.ts +26 -1
  12. package/dist/components/alert-banner.js +10 -7
  13. package/dist/components/alert-banner.js.map +1 -1
  14. package/dist/components/amount-input.d.ts +26 -4
  15. package/dist/components/amount-input.js +5 -2
  16. package/dist/components/amount-input.js.map +1 -1
  17. package/dist/components/authed-image.d.ts +68 -0
  18. package/dist/components/authed-image.js +117 -0
  19. package/dist/components/authed-image.js.map +1 -0
  20. package/dist/components/breadcrumbs.d.ts +2 -1
  21. package/dist/components/breadcrumbs.js +5 -2
  22. package/dist/components/breadcrumbs.js.map +1 -1
  23. package/dist/components/bulk-action-bar.d.ts +51 -5
  24. package/dist/components/bulk-action-bar.js +88 -41
  25. package/dist/components/bulk-action-bar.js.map +1 -1
  26. package/dist/components/button-group.d.ts +107 -3
  27. package/dist/components/button-group.js +60 -5
  28. package/dist/components/button-group.js.map +1 -1
  29. package/dist/components/calculator.d.ts +17 -4
  30. package/dist/components/calendar-heatmap.d.ts +162 -0
  31. package/dist/components/calendar-heatmap.js +336 -0
  32. package/dist/components/calendar-heatmap.js.map +1 -0
  33. package/dist/components/chip.d.ts +2 -1
  34. package/dist/components/chip.js +6 -3
  35. package/dist/components/chip.js.map +1 -1
  36. package/dist/components/choice-card.d.ts +66 -2
  37. package/dist/components/choice-card.js +108 -1
  38. package/dist/components/choice-card.js.map +1 -1
  39. package/dist/components/combobox-core.js +2 -0
  40. package/dist/components/combobox-core.js.map +1 -1
  41. package/dist/components/combobox.d.ts +2 -2
  42. package/dist/components/combobox.js +31 -9
  43. package/dist/components/combobox.js.map +1 -1
  44. package/dist/components/copy-button.d.ts +52 -70
  45. package/dist/components/copy-button.js +1 -1
  46. package/dist/components/copy-button.js.map +1 -1
  47. package/dist/components/data-table-cells.d.ts +63 -0
  48. package/dist/components/data-table-cells.js +64 -0
  49. package/dist/components/data-table-cells.js.map +1 -0
  50. package/dist/components/data-table-filter-popover.d.ts +1 -1
  51. package/dist/components/data-table-filters.d.ts +1 -1
  52. package/dist/components/data-table-filters.js +31 -1
  53. package/dist/components/data-table-filters.js.map +1 -1
  54. package/dist/components/data-table-labels.d.ts +13 -0
  55. package/dist/components/data-table-labels.js +8 -1
  56. package/dist/components/data-table-labels.js.map +1 -1
  57. package/dist/components/data-table.d.ts +1 -1
  58. package/dist/components/data-table.js +104 -12
  59. package/dist/components/data-table.js.map +1 -1
  60. package/dist/components/date-picker.d.ts +3 -1
  61. package/dist/components/date-picker.js +15 -2
  62. package/dist/components/date-picker.js.map +1 -1
  63. package/dist/components/description-list.d.ts +23 -3
  64. package/dist/components/description-list.js +23 -3
  65. package/dist/components/description-list.js.map +1 -1
  66. package/dist/components/dialog-frame.d.ts +1 -0
  67. package/dist/components/entity-combobox.d.ts +1 -1
  68. package/dist/components/entity-combobox.js +18 -3
  69. package/dist/components/entity-combobox.js.map +1 -1
  70. package/dist/components/error-boundary.d.ts +92 -0
  71. package/dist/components/error-boundary.js +111 -0
  72. package/dist/components/error-boundary.js.map +1 -0
  73. package/dist/components/field.d.ts +69 -0
  74. package/dist/components/field.js +75 -0
  75. package/dist/components/field.js.map +1 -0
  76. package/dist/components/file-button.d.ts +51 -208
  77. package/dist/components/file-dropzone.d.ts +50 -2
  78. package/dist/components/floating-panel.d.ts +156 -4
  79. package/dist/components/floating-panel.js +193 -29
  80. package/dist/components/floating-panel.js.map +1 -1
  81. package/dist/components/form-actions.d.ts +53 -0
  82. package/dist/components/form-actions.js +98 -0
  83. package/dist/components/form-actions.js.map +1 -0
  84. package/dist/components/image-grid.d.ts +67 -0
  85. package/dist/components/image-grid.js +112 -0
  86. package/dist/components/image-grid.js.map +1 -0
  87. package/dist/components/lightbox.d.ts +104 -0
  88. package/dist/components/lightbox.js +229 -0
  89. package/dist/components/lightbox.js.map +1 -0
  90. package/dist/components/line-items.d.ts +114 -0
  91. package/dist/components/line-items.js +238 -0
  92. package/dist/components/line-items.js.map +1 -0
  93. package/dist/components/list.d.ts +37 -3
  94. package/dist/components/list.js +39 -14
  95. package/dist/components/list.js.map +1 -1
  96. package/dist/components/loading-state.d.ts +24 -0
  97. package/dist/components/loading-state.js +32 -0
  98. package/dist/components/loading-state.js.map +1 -0
  99. package/dist/components/menu-item.d.ts +13 -2
  100. package/dist/components/menu-item.js +11 -2
  101. package/dist/components/menu-item.js.map +1 -1
  102. package/dist/components/mini-calendar.d.ts +82 -5
  103. package/dist/components/mini-calendar.js +212 -64
  104. package/dist/components/mini-calendar.js.map +1 -1
  105. package/dist/components/modal.d.ts +20 -1
  106. package/dist/components/modal.js +26 -2
  107. package/dist/components/modal.js.map +1 -1
  108. package/dist/components/month-picker.d.ts +21 -1
  109. package/dist/components/month-picker.js +139 -26
  110. package/dist/components/month-picker.js.map +1 -1
  111. package/dist/components/multi-entity-combobox.d.ts +1 -1
  112. package/dist/components/multi-entity-combobox.js +19 -3
  113. package/dist/components/multi-entity-combobox.js.map +1 -1
  114. package/dist/components/nav-pills.d.ts +67 -0
  115. package/dist/components/nav-pills.js +69 -0
  116. package/dist/components/nav-pills.js.map +1 -0
  117. package/dist/components/number-field.d.ts +26 -5
  118. package/dist/components/number-field.js +5 -7
  119. package/dist/components/number-field.js.map +1 -1
  120. package/dist/components/number-input.d.ts +27 -5
  121. package/dist/components/number-input.js +7 -1
  122. package/dist/components/number-input.js.map +1 -1
  123. package/dist/components/numpad-sheet.d.ts +17 -4
  124. package/dist/components/passkeys-setting.d.ts +67 -0
  125. package/dist/components/passkeys-setting.js +214 -0
  126. package/dist/components/passkeys-setting.js.map +1 -0
  127. package/dist/components/picker-sheet.js +2 -1
  128. package/dist/components/picker-sheet.js.map +1 -1
  129. package/dist/components/pie-chart-labels.d.ts +20 -0
  130. package/dist/components/pie-chart-labels.js +12 -0
  131. package/dist/components/pie-chart-labels.js.map +1 -0
  132. package/dist/components/pie-chart.d.ts +101 -0
  133. package/dist/components/pie-chart.js +283 -0
  134. package/dist/components/pie-chart.js.map +1 -0
  135. package/dist/components/progress-bar.d.ts +73 -3
  136. package/dist/components/progress-bar.js +110 -8
  137. package/dist/components/progress-bar.js.map +1 -1
  138. package/dist/components/qr-code.d.ts +34 -0
  139. package/dist/components/qr-code.js +57 -0
  140. package/dist/components/qr-code.js.map +1 -0
  141. package/dist/components/search-field.d.ts +15 -3
  142. package/dist/components/search-field.js +5 -1
  143. package/dist/components/search-field.js.map +1 -1
  144. package/dist/components/series-chart.d.ts +16 -0
  145. package/dist/components/series-chart.js +4 -1
  146. package/dist/components/series-chart.js.map +1 -1
  147. package/dist/components/settings-fields.d.ts +50 -1
  148. package/dist/components/signed-amount.d.ts +121 -0
  149. package/dist/components/signed-amount.js +152 -0
  150. package/dist/components/signed-amount.js.map +1 -0
  151. package/dist/components/skeleton.d.ts +10 -3
  152. package/dist/components/skeleton.js +12 -2
  153. package/dist/components/skeleton.js.map +1 -1
  154. package/dist/components/stat-tile.d.ts +2 -1
  155. package/dist/components/stat-tile.js +5 -2
  156. package/dist/components/stat-tile.js.map +1 -1
  157. package/dist/components/status-dot.d.ts +6 -2
  158. package/dist/components/status-dot.js +6 -1
  159. package/dist/components/status-dot.js.map +1 -1
  160. package/dist/components/table.d.ts +77 -11
  161. package/dist/components/table.js +85 -17
  162. package/dist/components/table.js.map +1 -1
  163. package/dist/components/text-link.d.ts +176 -0
  164. package/dist/components/text-link.js +109 -0
  165. package/dist/components/text-link.js.map +1 -0
  166. package/dist/components/text.d.ts +8 -1
  167. package/dist/components/text.js +1 -0
  168. package/dist/components/text.js.map +1 -1
  169. package/dist/components/time-input.d.ts +50 -1
  170. package/dist/components/toggle-group.d.ts +28 -0
  171. package/dist/components/toggle-group.js +58 -9
  172. package/dist/components/toggle-group.js.map +1 -1
  173. package/dist/components/toggle-legend.d.ts +36 -3
  174. package/dist/components/toggle-legend.js +49 -0
  175. package/dist/components/toggle-legend.js.map +1 -1
  176. package/dist/components/tooltip.d.ts +11 -3
  177. package/dist/components/tooltip.js +2 -0
  178. package/dist/components/tooltip.js.map +1 -1
  179. package/dist/components/ui.d.ts +52 -729
  180. package/dist/components/ui.js +296 -27
  181. package/dist/components/ui.js.map +1 -1
  182. package/dist/components/use-table-state.d.ts +3 -52
  183. package/dist/components/use-table-state.js +128 -30
  184. package/dist/components/use-table-state.js.map +1 -1
  185. package/dist/components/user-avatar.d.ts +25 -3
  186. package/dist/components/user-avatar.js +32 -3
  187. package/dist/components/user-avatar.js.map +1 -1
  188. package/dist/{data-table-filters-Dh9uF_S-.d.ts → data-table-Drun8Fk9.d.ts} +305 -61
  189. package/dist/data-table.d.ts +2 -1
  190. package/dist/data-table.js +5 -1
  191. package/dist/data-table.js.map +1 -1
  192. package/dist/feedback/feedback-dialog.d.ts +26 -3
  193. package/dist/feedback/feedback-dialog.js +16 -2
  194. package/dist/feedback/feedback-dialog.js.map +1 -1
  195. package/dist/feedback/feedback-thread.d.ts +133 -0
  196. package/dist/feedback/feedback-thread.js +237 -0
  197. package/dist/feedback/feedback-thread.js.map +1 -0
  198. package/dist/feedback.d.ts +2 -1
  199. package/dist/feedback.js +1 -0
  200. package/dist/feedback.js.map +1 -1
  201. package/dist/hooks/use-authed-src.d.ts +71 -0
  202. package/dist/hooks/use-authed-src.js +63 -0
  203. package/dist/hooks/use-authed-src.js.map +1 -0
  204. package/dist/hooks/use-file-drop.d.ts +50 -2
  205. package/dist/hooks/use-hotkey.d.ts +59 -0
  206. package/dist/hooks/use-hotkey.js +105 -0
  207. package/dist/hooks/use-hotkey.js.map +1 -0
  208. package/dist/hooks/use-search-param-state.d.ts +83 -0
  209. package/dist/hooks/use-search-param-state.js +94 -0
  210. package/dist/hooks/use-search-param-state.js.map +1 -0
  211. package/dist/i18n/defaults.d.ts +17 -4
  212. package/dist/i18n/defaults.js +33 -1
  213. package/dist/i18n/defaults.js.map +1 -1
  214. package/dist/i18n/kit-labels.d.ts +47 -310
  215. package/dist/i18n/kit-labels.js +20 -5
  216. package/dist/i18n/kit-labels.js.map +1 -1
  217. package/dist/i18n/locales/de-CH-informal.d.ts +17 -4
  218. package/dist/i18n/locales/de-CH.d.ts +17 -4
  219. package/dist/i18n/locales/de-informal.d.ts +17 -4
  220. package/dist/i18n/locales/de.d.ts +17 -4
  221. package/dist/i18n/locales/de.js +165 -4
  222. package/dist/i18n/locales/de.js.map +1 -1
  223. package/dist/i18n/locales/es.d.ts +17 -4
  224. package/dist/i18n/locales/es.js +162 -4
  225. package/dist/i18n/locales/es.js.map +1 -1
  226. package/dist/i18n/locales/fr.d.ts +17 -4
  227. package/dist/i18n/locales/fr.js +162 -4
  228. package/dist/i18n/locales/fr.js.map +1 -1
  229. package/dist/i18n/locales/hu.d.ts +17 -4
  230. package/dist/i18n/locales/hu.js +162 -4
  231. package/dist/i18n/locales/hu.js.map +1 -1
  232. package/dist/i18n/locales/it.d.ts +17 -4
  233. package/dist/i18n/locales/it.js +162 -4
  234. package/dist/i18n/locales/it.js.map +1 -1
  235. package/dist/i18n/locales/zh.d.ts +17 -4
  236. package/dist/i18n/locales/zh.js +162 -4
  237. package/dist/i18n/locales/zh.js.map +1 -1
  238. package/dist/index.d.ts +45 -21
  239. package/dist/index.js +43 -1
  240. package/dist/index.js.map +1 -1
  241. package/dist/kit-labels-v3biUF1L.d.ts +1645 -0
  242. package/dist/lib/clipping.d.ts +21 -5
  243. package/dist/lib/clipping.js +3 -0
  244. package/dist/lib/clipping.js.map +1 -1
  245. package/dist/lib/dates.d.ts +17 -1
  246. package/dist/lib/dates.js +19 -0
  247. package/dist/lib/dates.js.map +1 -1
  248. package/dist/lib/format.d.ts +144 -0
  249. package/dist/lib/format.js +149 -0
  250. package/dist/lib/format.js.map +1 -0
  251. package/dist/lib/qr-encode.d.ts +44 -0
  252. package/dist/lib/qr-encode.js +338 -0
  253. package/dist/lib/qr-encode.js.map +1 -0
  254. package/dist/rhf/fields.d.ts +241 -0
  255. package/dist/rhf/fields.js +601 -0
  256. package/dist/rhf/fields.js.map +1 -0
  257. package/dist/rhf/form.d.ts +50 -1
  258. package/dist/rhf/line-items.d.ts +31 -0
  259. package/dist/rhf/line-items.js +59 -0
  260. package/dist/rhf/line-items.js.map +1 -0
  261. package/dist/rhf/use-rhf-wizard-step.d.ts +22 -0
  262. package/dist/rhf/use-rhf-wizard-step.js +38 -0
  263. package/dist/rhf/use-rhf-wizard-step.js.map +1 -0
  264. package/dist/rhf.d.ts +63 -1
  265. package/dist/rhf.js +3 -0
  266. package/dist/rhf.js.map +1 -1
  267. package/dist/shell/app-shell.d.ts +99 -2
  268. package/dist/shell/app-shell.js +58 -3
  269. package/dist/shell/app-shell.js.map +1 -1
  270. package/dist/shell/auth-layout.d.ts +74 -0
  271. package/dist/shell/auth-layout.js +97 -0
  272. package/dist/shell/auth-layout.js.map +1 -0
  273. package/dist/shell/top-bar-brand.d.ts +81 -0
  274. package/dist/shell/top-bar-brand.js +47 -0
  275. package/dist/shell/top-bar-brand.js.map +1 -0
  276. package/dist/shell/topbar-action-menu.d.ts +84 -3
  277. package/dist/shell/topbar-action-menu.js +115 -27
  278. package/dist/shell/topbar-action-menu.js.map +1 -1
  279. package/dist/shell.d.ts +58 -2
  280. package/dist/shell.js +2 -0
  281. package/dist/shell.js.map +1 -1
  282. package/dist/wizard/stepper-nav.d.ts +49 -1
  283. package/dist/wizard/wizard-context.d.ts +30 -1
  284. package/dist/wizard/wizard-context.js +23 -2
  285. package/dist/wizard/wizard-context.js.map +1 -1
  286. package/dist/wizard/wizard-step.d.ts +20 -5
  287. package/dist/wizard/wizard-step.js +16 -3
  288. package/dist/wizard/wizard-step.js.map +1 -1
  289. package/dist/wizard.d.ts +51 -3
  290. package/package.json +1 -1
  291. package/src/chart.ts +4 -0
  292. package/src/components/account-settings-labels.ts +190 -0
  293. package/src/components/account-settings.tsx +110 -63
  294. package/src/components/alert-banner.tsx +36 -7
  295. package/src/components/amount-input.tsx +13 -1
  296. package/src/components/authed-image.tsx +190 -0
  297. package/src/components/breadcrumbs.tsx +8 -2
  298. package/src/components/bulk-action-bar.tsx +163 -57
  299. package/src/components/button-group.tsx +129 -4
  300. package/src/components/calendar-heatmap.tsx +599 -0
  301. package/src/components/chip.tsx +8 -4
  302. package/src/components/choice-card.tsx +208 -1
  303. package/src/components/combobox-core.tsx +5 -0
  304. package/src/components/combobox.tsx +31 -9
  305. package/src/components/copy-button.tsx +3 -2
  306. package/src/components/data-table-cells.tsx +119 -0
  307. package/src/components/data-table-filters.ts +77 -0
  308. package/src/components/data-table-labels.ts +23 -0
  309. package/src/components/data-table.tsx +231 -13
  310. package/src/components/date-picker.tsx +19 -3
  311. package/src/components/description-list.tsx +52 -3
  312. package/src/components/entity-combobox.tsx +18 -3
  313. package/src/components/error-boundary.tsx +216 -0
  314. package/src/components/field.tsx +188 -0
  315. package/src/components/floating-panel.tsx +380 -16
  316. package/src/components/form-actions.tsx +191 -0
  317. package/src/components/image-grid.tsx +181 -0
  318. package/src/components/lightbox.tsx +374 -0
  319. package/src/components/line-items.tsx +385 -0
  320. package/src/components/list.tsx +93 -18
  321. package/src/components/loading-state.tsx +47 -0
  322. package/src/components/menu-item.tsx +29 -3
  323. package/src/components/mini-calendar.tsx +317 -57
  324. package/src/components/modal.tsx +61 -3
  325. package/src/components/month-picker.tsx +181 -26
  326. package/src/components/multi-entity-combobox.tsx +19 -3
  327. package/src/components/nav-pills.tsx +152 -0
  328. package/src/components/number-field.tsx +15 -10
  329. package/src/components/number-input.tsx +16 -1
  330. package/src/components/passkeys-setting.tsx +331 -0
  331. package/src/components/picker-sheet.tsx +7 -1
  332. package/src/components/pie-chart-labels.ts +32 -0
  333. package/src/components/pie-chart.tsx +479 -0
  334. package/src/components/progress-bar.tsx +241 -13
  335. package/src/components/qr-code.tsx +83 -0
  336. package/src/components/search-field.tsx +20 -4
  337. package/src/components/series-chart.tsx +21 -0
  338. package/src/components/signed-amount.tsx +286 -0
  339. package/src/components/skeleton.tsx +21 -3
  340. package/src/components/stat-tile.tsx +8 -2
  341. package/src/components/status-dot.tsx +10 -2
  342. package/src/components/table.tsx +186 -23
  343. package/src/components/text-link.tsx +248 -0
  344. package/src/components/text.tsx +9 -1
  345. package/src/components/toggle-group.tsx +106 -13
  346. package/src/components/toggle-legend.tsx +87 -2
  347. package/src/components/tooltip.tsx +17 -3
  348. package/src/components/ui.tsx +572 -44
  349. package/src/components/use-table-state.ts +265 -33
  350. package/src/components/user-avatar.tsx +57 -3
  351. package/src/data-table.ts +10 -0
  352. package/src/feedback/feedback-dialog.tsx +42 -3
  353. package/src/feedback/feedback-thread.tsx +434 -0
  354. package/src/feedback.ts +1 -0
  355. package/src/hooks/use-authed-src.ts +161 -0
  356. package/src/hooks/use-hotkey.ts +172 -0
  357. package/src/hooks/use-search-param-state.ts +187 -0
  358. package/src/i18n/defaults.ts +32 -0
  359. package/src/i18n/kit-labels.tsx +104 -8
  360. package/src/i18n/locales/de.ts +162 -0
  361. package/src/i18n/locales/es.ts +159 -0
  362. package/src/i18n/locales/fr.ts +162 -0
  363. package/src/i18n/locales/hu.ts +160 -0
  364. package/src/i18n/locales/it.ts +160 -0
  365. package/src/i18n/locales/zh.ts +159 -0
  366. package/src/index.ts +64 -0
  367. package/src/lib/clipping.ts +22 -4
  368. package/src/lib/dates.ts +37 -0
  369. package/src/lib/format.ts +325 -0
  370. package/src/lib/qr-encode.ts +420 -0
  371. package/src/rhf/fields.tsx +1054 -0
  372. package/src/rhf/line-items.tsx +130 -0
  373. package/src/rhf/use-rhf-wizard-step.ts +113 -0
  374. package/src/rhf.ts +8 -0
  375. package/src/shell/app-shell.tsx +147 -2
  376. package/src/shell/auth-layout.tsx +190 -0
  377. package/src/shell/top-bar-brand.tsx +76 -0
  378. package/src/shell/topbar-action-menu.tsx +260 -49
  379. package/src/shell.ts +2 -0
  380. package/src/wizard/wizard-context.tsx +50 -1
  381. package/src/wizard/wizard-step.tsx +43 -6
  382. package/tokens.css +12 -0
@@ -21,6 +21,90 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
21
21
  attachmentPaste: "…oder einen Screenshot aus der Zwischenablage einfügen.",
22
22
  attachmentRemove: "Anhang entfernen",
23
23
  },
24
+ feedbackDialog: {
25
+ title: "Feedback senden",
26
+ category: "Kategorie",
27
+ subject: "Betreff",
28
+ body: "Was ist passiert?",
29
+ attachment: "Screenshot",
30
+ submitHint: "Strg/⌘ + Enter zum Senden",
31
+ cancel: "Abbrechen",
32
+ save: "Senden",
33
+ },
34
+ feedbackThread: {
35
+ thread: "Kommentare",
36
+ empty: "Noch keine Kommentare",
37
+ loading: "Kommentare werden geladen…",
38
+ // The reader's own messages. "Ich" rather than "Sie"/"Du": it is the same word in
39
+ // both registers, so the informal catalogue inherits it unchanged.
40
+ you: "Ich",
41
+ staff: "Team",
42
+ attachments: "Anhänge",
43
+ },
44
+ feedbackComposer: {
45
+ field: "Kommentar schreiben",
46
+ placeholder: "Kommentar schreiben…",
47
+ send: "Senden",
48
+ // German keyboards label the key "Strg".
49
+ sendHint: (modifier) => `${modifier === "Ctrl" ? "Strg" : modifier} + Enter zum Senden`,
50
+ },
51
+ accountSettings: {
52
+ profile: {
53
+ title: "Profil",
54
+ email: "E-Mail",
55
+ role: "Rolle",
56
+ memberSince: "Mitglied seit",
57
+ displayName: "Anzeigename",
58
+ save: "Speichern",
59
+ },
60
+ password: {
61
+ title: "Passwort ändern",
62
+ current: "Aktuelles Passwort",
63
+ next: "Neues Passwort",
64
+ confirm: "Neues Passwort bestätigen",
65
+ submit: "Passwort ändern",
66
+ tooShort: "Das neue Passwort ist zu kurz.",
67
+ mismatch: "Die Passwörter stimmen nicht überein.",
68
+ },
69
+ twoFactor: {
70
+ status: "Zwei-Faktor-Authentifizierung",
71
+ enabledText: "Aktiv",
72
+ disabledText: "Inaktiv",
73
+ enable: "Zwei-Faktor-Authentifizierung einrichten",
74
+ scanHint: "Diesen Code mit der Authenticator-App scannen und den angezeigten Code eingeben.",
75
+ codeLabel: "Bestätigungscode",
76
+ verify: "Bestätigen und aktivieren",
77
+ disableSection: "Zwei-Faktor-Authentifizierung deaktivieren",
78
+ password: "Aktuelles Passwort",
79
+ disable: "Deaktivieren",
80
+ qrAlt: "QR-Code für die Authenticator-App",
81
+ secretHint: "Scannen nicht möglich? Stattdessen diesen Schlüssel in der App eingeben:",
82
+ copySecret: "Schlüssel kopieren",
83
+ },
84
+ passkeys: {
85
+ title: "Passkeys",
86
+ description: "Mit Fingerabdruck, Gesichtserkennung oder Geräte-PIN statt Passwort anmelden.",
87
+ empty: "Noch keine Passkeys",
88
+ loading: "Passkeys werden geladen…",
89
+ list: "Registrierte Passkeys",
90
+ nameLabel: "Name (optional)",
91
+ namePlaceholder: "z. B. Laptop, Handy",
92
+ add: "Passkey hinzufügen",
93
+ adding: "Warten auf das Gerät…",
94
+ rename: "Umbenennen",
95
+ renameItem: (name) => `${name} umbenennen`,
96
+ renameField: (name) => `Neuer Name für ${name}`,
97
+ save: "Speichern",
98
+ cancel: "Abbrechen",
99
+ delete: "Löschen",
100
+ deleteItem: (name) => `${name} löschen`,
101
+ deleteConfirm: (name) => `„${name}“ löschen? Eine Anmeldung damit ist dann nicht mehr möglich.`,
102
+ confirmDelete: "Passkey löschen",
103
+ created: (date) => `Hinzugefügt am ${date}`,
104
+ lastUsed: (date) => `Zuletzt verwendet am ${date}`,
105
+ neverUsed: "Noch nie verwendet",
106
+ },
107
+ },
24
108
  measuredGrid: {
25
109
  view: "Tabellenansicht",
26
110
  cellsView: "Zellen",
@@ -54,6 +138,7 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
54
138
  loading: "Wird geladen…",
55
139
  noResults: "Keine Ergebnisse",
56
140
  fieldValue: (field, value) => `${field}: ${value}`,
141
+ opensInNewTab: "öffnet in einem neuen Tab",
57
142
  },
58
143
  dataTable: {
59
144
  columns: "Spalten",
@@ -106,6 +191,13 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
106
191
  pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,
107
192
  rowCount: (total) => n(total),
108
193
  columnsCount: (visible, total) => `Spalten (${n(visible)}/${n(total)})`,
194
+ empty: "Keine Einträge",
195
+ actions: "Aktionen",
196
+ edit: "Bearbeiten",
197
+ delete: "Löschen",
198
+ booleanTrue: "Ja",
199
+ booleanFalse: "Nein",
200
+ booleanUnset: "Nicht festgelegt",
109
201
  },
110
202
  miniCalendar: {
111
203
  previousMonth: "Vorheriger Monat",
@@ -118,6 +210,14 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
118
210
  rangeSelected: (from, to) =>
119
211
  `Zeitraum ${from} bis ${to} gewählt. Wählen Sie ein Startdatum, um neu zu beginnen.`,
120
212
  },
213
+ calendarHeatmap: {
214
+ grid: "Tageswerte",
215
+ day: (date, value) => `${date}: ${value}`,
216
+ less: "Weniger",
217
+ more: "Mehr",
218
+ truncated: (count) =>
219
+ `Die neuesten Tage werden angezeigt; ${n(count)} ${count === 1 ? "früherer Tag wird" : "frühere Tage werden"} nicht angezeigt.`,
220
+ },
121
221
  datePicker: {
122
222
  apply: "Übernehmen",
123
223
  cancel: "Abbrechen",
@@ -134,6 +234,9 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
134
234
  nextYear: "Nächstes Jahr",
135
235
  panel: "Monat wählen",
136
236
  month: (monthYear) => monthYear,
237
+ previousMonth: "Vorheriger Monat",
238
+ nextMonth: "Nächster Monat",
239
+ today: "Heute",
137
240
  },
138
241
  popover: {
139
242
  panel: "Aufklappfenster",
@@ -386,12 +489,20 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
386
489
  legend: "Datenreihen",
387
490
  points: "Diagrammwerte",
388
491
  },
492
+ pieChart: {
493
+ slices: "Diagrammsegmente",
494
+ slice: (label, value, percent) => `${label}: ${value} (${percent})`,
495
+ total: "Gesamt",
496
+ empty: "Keine Daten",
497
+ legend: "Kategorien",
498
+ },
389
499
  confirmDialog: {
390
500
  confirm: "Bestätigen",
391
501
  cancel: "Abbrechen",
392
502
  },
393
503
  floatingPanel: {
394
504
  close: "Schließen",
505
+ badge: (count) => `${n(count)} neu`,
395
506
  },
396
507
  copyButton: {
397
508
  copy: "Kopieren",
@@ -414,6 +525,57 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
414
525
  undo: "Rückgängig",
415
526
  redo: "Wiederholen",
416
527
  },
528
+ form: {
529
+ save: "Speichern",
530
+ cancel: "Abbrechen",
531
+ },
532
+ descriptionList: {
533
+ empty: "—",
534
+ },
535
+ lineItems: {
536
+ add: "Zeile hinzufügen",
537
+ remove: (row) => `Zeile ${row} entfernen`,
538
+ confirmRemove: (row) => `Zeile ${row} entfernen? Zum Bestätigen erneut drücken`,
539
+ row: (row) => `Zeile ${row}`,
540
+ cell: (column, row) => `${column}, Zeile ${row}`,
541
+ totals: "Summe",
542
+ },
543
+ progressBar: {
544
+ unlimited: "Unbegrenzt",
545
+ overLimit: (amount) => `${amount} über dem Limit`,
546
+ },
547
+ signedAmount: {
548
+ positive: (amount) => `plus ${amount}`,
549
+ negative: (amount) => `minus ${amount}`,
550
+ },
551
+ errorBoundary: {
552
+ title: "Etwas ist schiefgelaufen",
553
+ message: "Dieser Teil der Seite konnte nicht angezeigt werden. Bitte erneut versuchen oder die Seite neu laden.",
554
+ retry: "Erneut versuchen",
555
+ details: "Fehlerdetails",
556
+ },
557
+ authedImage: {
558
+ loading: "Bild wird geladen…",
559
+ loadError: "Bild konnte nicht geladen werden",
560
+ failedImage: (alt) => `${alt}: Bild konnte nicht geladen werden`,
561
+ },
562
+ imageGrid: {
563
+ list: "Bilder",
564
+ item: (index, count) => `Bild ${n(index)} von ${n(count)}`,
565
+ actions: (name) => `Aktionen für ${name}`,
566
+ },
567
+ lightbox: {
568
+ dialog: "Bildansicht",
569
+ close: "Schließen",
570
+ previous: "Vorheriges Bild",
571
+ next: "Nächstes Bild",
572
+ counter: (index, count) => `${n(index)} / ${n(count)}`,
573
+ position: (index, count) => `Bild ${n(index)} von ${n(count)}`,
574
+ download: "Herunterladen",
575
+ zoom: "Zoomen",
576
+ noPreview: "Für diese Datei ist keine Vorschau verfügbar",
577
+ openInNewTab: "In neuem Tab öffnen",
578
+ },
417
579
  };
418
580
  }
419
581
 
@@ -22,6 +22,87 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
22
22
  attachmentPaste: "…o pega una captura de pantalla desde el portapapeles.",
23
23
  attachmentRemove: "Quitar adjunto",
24
24
  },
25
+ feedbackDialog: {
26
+ title: "Enviar comentarios",
27
+ category: "Categoría",
28
+ subject: "Asunto",
29
+ body: "¿Qué ha pasado?",
30
+ attachment: "Captura de pantalla",
31
+ submitHint: "Ctrl/⌘ + Intro para enviar",
32
+ cancel: "Cancelar",
33
+ save: "Enviar",
34
+ },
35
+ feedbackThread: {
36
+ thread: "Comentarios",
37
+ empty: "Aún no hay comentarios",
38
+ loading: "Cargando comentarios…",
39
+ you: "Tú",
40
+ staff: "Equipo",
41
+ attachments: "Adjuntos",
42
+ },
43
+ feedbackComposer: {
44
+ field: "Escribe un comentario",
45
+ placeholder: "Escribe un comentario…",
46
+ send: "Enviar",
47
+ sendHint: (modifier) => `${modifier} + Intro para enviar`,
48
+ },
49
+ accountSettings: {
50
+ profile: {
51
+ title: "Perfil",
52
+ email: "Correo electrónico",
53
+ role: "Rol",
54
+ memberSince: "Miembro desde",
55
+ displayName: "Nombre visible",
56
+ save: "Guardar",
57
+ },
58
+ password: {
59
+ title: "Cambiar contraseña",
60
+ current: "Contraseña actual",
61
+ next: "Nueva contraseña",
62
+ confirm: "Confirmar nueva contraseña",
63
+ submit: "Cambiar contraseña",
64
+ tooShort: "La nueva contraseña es demasiado corta.",
65
+ mismatch: "Las contraseñas no coinciden.",
66
+ },
67
+ twoFactor: {
68
+ status: "Verificación en dos pasos",
69
+ enabledText: "Activada",
70
+ disabledText: "Desactivada",
71
+ enable: "Configurar la verificación en dos pasos",
72
+ scanHint: "Escanea este código con tu app de autenticación e introduce el código que muestra.",
73
+ codeLabel: "Código de verificación",
74
+ verify: "Verificar y activar",
75
+ disableSection: "Desactivar la verificación en dos pasos",
76
+ password: "Contraseña actual",
77
+ disable: "Desactivar",
78
+ qrAlt: "Código QR para tu app de autenticación",
79
+ secretHint: "¿No puedes escanearlo? Introduce esta clave en la app:",
80
+ copySecret: "Copiar clave",
81
+ },
82
+ passkeys: {
83
+ title: "Llaves de acceso",
84
+ description: "Inicia sesión con tu huella, tu cara o el PIN del dispositivo en lugar de una contraseña.",
85
+ empty: "Aún no hay llaves de acceso",
86
+ loading: "Cargando llaves de acceso…",
87
+ list: "Tus llaves de acceso",
88
+ nameLabel: "Nombre (opcional)",
89
+ namePlaceholder: "p. ej. Portátil, Móvil",
90
+ add: "Añadir llave de acceso",
91
+ adding: "Esperando al dispositivo…",
92
+ rename: "Cambiar nombre",
93
+ renameItem: (name) => `Cambiar nombre de ${name}`,
94
+ renameField: (name) => `Nuevo nombre para ${name}`,
95
+ save: "Guardar",
96
+ cancel: "Cancelar",
97
+ delete: "Eliminar",
98
+ deleteItem: (name) => `Eliminar ${name}`,
99
+ deleteConfirm: (name) => `¿Eliminar «${name}»? Ya no podrás iniciar sesión con ella.`,
100
+ confirmDelete: "Eliminar llave de acceso",
101
+ created: (date) => `Añadida el ${date}`,
102
+ lastUsed: (date) => `Último uso: ${date}`,
103
+ neverUsed: "Nunca usada",
104
+ },
105
+ },
25
106
  measuredGrid: {
26
107
  view: "Vista de tabla",
27
108
  cellsView: "Celdas",
@@ -55,6 +136,7 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
55
136
  loading: "Cargando…",
56
137
  noResults: "Sin resultados",
57
138
  fieldValue: (field, value) => `${field}: ${value}`,
139
+ opensInNewTab: "se abre en una pestaña nueva",
58
140
  },
59
141
  dataTable: {
60
142
  columns: "Columnas",
@@ -105,6 +187,13 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
105
187
  pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,
106
188
  rowCount: (total) => n(total),
107
189
  columnsCount: (visible, total) => `Columnas (${n(visible)}/${n(total)})`,
190
+ empty: "No hay entradas",
191
+ actions: "Acciones",
192
+ edit: "Editar",
193
+ delete: "Eliminar",
194
+ booleanTrue: "Sí",
195
+ booleanFalse: "No",
196
+ booleanUnset: "Sin definir",
108
197
  },
109
198
  miniCalendar: {
110
199
  previousMonth: "Mes anterior",
@@ -124,6 +213,17 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
124
213
  nextYear: "Año siguiente",
125
214
  panel: "Elegir un mes",
126
215
  month: (monthYear) => monthYear,
216
+ previousMonth: "Mes anterior",
217
+ nextMonth: "Mes siguiente",
218
+ today: "Hoy",
219
+ },
220
+ calendarHeatmap: {
221
+ grid: "Valores diarios",
222
+ day: (date, value) => `${date}: ${value}`,
223
+ less: "Menos",
224
+ more: "Más",
225
+ truncated: (count) =>
226
+ `Se muestran los días más recientes; ${count === 1 ? "no se muestra 1 día anterior" : `no se muestran ${n(count)} días anteriores`}.`,
127
227
  },
128
228
  datePicker: {
129
229
  apply: "Aplicar",
@@ -379,12 +479,20 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
379
479
  legend: "Series",
380
480
  points: "Valores del gráfico",
381
481
  },
482
+ pieChart: {
483
+ slices: "Sectores del gráfico",
484
+ slice: (label, value, percent) => `${label}: ${value} (${percent})`,
485
+ total: "Total",
486
+ empty: "Sin datos",
487
+ legend: "Categorías",
488
+ },
382
489
  confirmDialog: {
383
490
  confirm: "Confirmar",
384
491
  cancel: "Cancelar",
385
492
  },
386
493
  floatingPanel: {
387
494
  close: "Cerrar",
495
+ badge: (count) => `${n(count)} ${plural(count, "nuevo", "nuevos")}`,
388
496
  },
389
497
  copyButton: {
390
498
  copy: "Copiar",
@@ -407,6 +515,57 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
407
515
  undo: "Deshacer",
408
516
  redo: "Rehacer",
409
517
  },
518
+ form: {
519
+ save: "Guardar",
520
+ cancel: "Cancelar",
521
+ },
522
+ descriptionList: {
523
+ empty: "—",
524
+ },
525
+ lineItems: {
526
+ add: "Añadir fila",
527
+ remove: (row) => `Eliminar fila ${row}`,
528
+ confirmRemove: (row) => `¿Eliminar fila ${row}? Pulsa de nuevo para confirmar`,
529
+ row: (row) => `Fila ${row}`,
530
+ cell: (column, row) => `${column}, fila ${row}`,
531
+ totals: "Total",
532
+ },
533
+ progressBar: {
534
+ unlimited: "Ilimitado",
535
+ overLimit: (amount) => `${amount} por encima del límite`,
536
+ },
537
+ signedAmount: {
538
+ positive: (amount) => `más ${amount}`,
539
+ negative: (amount) => `menos ${amount}`,
540
+ },
541
+ errorBoundary: {
542
+ title: "Algo salió mal",
543
+ message: "No se pudo mostrar esta parte de la página. Inténtelo de nuevo o recargue la página.",
544
+ retry: "Reintentar",
545
+ details: "Detalles del error",
546
+ },
547
+ authedImage: {
548
+ loading: "Cargando imagen…",
549
+ loadError: "No se pudo cargar la imagen",
550
+ failedImage: (alt) => `${alt}: no se pudo cargar la imagen`,
551
+ },
552
+ imageGrid: {
553
+ list: "Imágenes",
554
+ item: (index, count) => `Imagen ${n(index)} de ${n(count)}`,
555
+ actions: (name) => `Acciones para ${name}`,
556
+ },
557
+ lightbox: {
558
+ dialog: "Visor de imágenes",
559
+ close: "Cerrar",
560
+ previous: "Imagen anterior",
561
+ next: "Imagen siguiente",
562
+ counter: (index, count) => `${n(index)} / ${n(count)}`,
563
+ position: (index, count) => `Imagen ${n(index)} de ${n(count)}`,
564
+ download: "Descargar",
565
+ zoom: "Ampliar",
566
+ noPreview: "No hay vista previa disponible para este archivo",
567
+ openInNewTab: "Abrir en una pestaña nueva",
568
+ },
410
569
  };
411
570
  }
412
571
 
@@ -22,6 +22,90 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
22
22
  attachmentPaste: "…ou collez une capture d’écran depuis le presse-papiers.",
23
23
  attachmentRemove: "Retirer la pièce jointe",
24
24
  },
25
+ feedbackDialog: {
26
+ title: "Envoyer un retour",
27
+ category: "Catégorie",
28
+ subject: "Objet",
29
+ body: "Que s’est-il passé\u202f?",
30
+ attachment: "Capture d’écran",
31
+ submitHint: "Ctrl/⌘ + Entrée pour envoyer",
32
+ cancel: "Annuler",
33
+ save: "Envoyer",
34
+ },
35
+ feedbackThread: {
36
+ thread: "Commentaires",
37
+ empty: "Aucun commentaire pour l’instant",
38
+ loading: "Chargement des commentaires…",
39
+ you: "Vous",
40
+ staff: "Équipe",
41
+ attachments: "Pièces jointes",
42
+ },
43
+ feedbackComposer: {
44
+ field: "Écrire un commentaire",
45
+ placeholder: "Écrire un commentaire…",
46
+ send: "Envoyer",
47
+ sendHint: (modifier) => `${modifier} + Entrée pour envoyer`,
48
+ },
49
+ accountSettings: {
50
+ profile: {
51
+ title: "Profil",
52
+ email: "E-mail",
53
+ role: "Rôle",
54
+ memberSince: "Membre depuis",
55
+ displayName: "Nom affiché",
56
+ save: "Enregistrer",
57
+ },
58
+ password: {
59
+ title: "Changer le mot de passe",
60
+ current: "Mot de passe actuel",
61
+ next: "Nouveau mot de passe",
62
+ confirm: "Confirmer le nouveau mot de passe",
63
+ submit: "Changer le mot de passe",
64
+ tooShort: "Le nouveau mot de passe est trop court.",
65
+ mismatch: "Les mots de passe ne correspondent pas.",
66
+ },
67
+ twoFactor: {
68
+ status: "Authentification à deux facteurs",
69
+ enabledText: "Activée",
70
+ disabledText: "Désactivée",
71
+ enable: "Configurer l’authentification à deux facteurs",
72
+ scanHint:
73
+ "Scannez ce code avec votre application d’authentification, puis saisissez le code affiché.",
74
+ codeLabel: "Code de vérification",
75
+ verify: "Vérifier et activer",
76
+ disableSection: "Désactiver l’authentification à deux facteurs",
77
+ password: "Mot de passe actuel",
78
+ disable: "Désactiver",
79
+ qrAlt: "Code QR pour votre application d’authentification",
80
+ secretHint: "Impossible de le scanner\u202f? Saisissez plutôt cette clé dans l’application\u00a0:",
81
+ copySecret: "Copier la clé",
82
+ },
83
+ passkeys: {
84
+ title: "Clés d’accès",
85
+ description:
86
+ "Connectez-vous avec votre empreinte, votre visage ou le code PIN de l’appareil plutôt qu’avec un mot de passe.",
87
+ empty: "Aucune clé d’accès pour l’instant",
88
+ loading: "Chargement des clés d’accès…",
89
+ list: "Vos clés d’accès",
90
+ nameLabel: "Nom (facultatif)",
91
+ namePlaceholder: "p. ex. Portable, Téléphone",
92
+ add: "Ajouter une clé d’accès",
93
+ adding: "En attente de l’appareil…",
94
+ rename: "Renommer",
95
+ renameItem: (name) => `Renommer ${name}`,
96
+ renameField: (name) => `Nouveau nom pour ${name}`,
97
+ save: "Enregistrer",
98
+ cancel: "Annuler",
99
+ delete: "Supprimer",
100
+ deleteItem: (name) => `Supprimer ${name}`,
101
+ deleteConfirm: (name) =>
102
+ `Supprimer «\u202f${name}\u202f»\u202f? Elle ne permettra plus de se connecter.`,
103
+ confirmDelete: "Supprimer la clé d’accès",
104
+ created: (date) => `Ajoutée le ${date}`,
105
+ lastUsed: (date) => `Dernière utilisation le ${date}`,
106
+ neverUsed: "Jamais utilisée",
107
+ },
108
+ },
25
109
  measuredGrid: {
26
110
  view: "Vue du tableau",
27
111
  cellsView: "Cellules",
@@ -58,6 +142,7 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
58
142
  noResults: "Aucun résultat",
59
143
  // No-break space before the colon, per French typography.
60
144
  fieldValue: (field, value) => `${field}\u00a0: ${value}`,
145
+ opensInNewTab: "s’ouvre dans un nouvel onglet",
61
146
  },
62
147
  dataTable: {
63
148
  columns: "Colonnes",
@@ -108,6 +193,13 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
108
193
  pageRange: (from, to, total) => `${n(from)}–${n(to)} / ${n(total)}`,
109
194
  rowCount: (total) => n(total),
110
195
  columnsCount: (visible, total) => `Colonnes (${n(visible)}/${n(total)})`,
196
+ empty: "Aucune entrée",
197
+ actions: "Actions",
198
+ edit: "Modifier",
199
+ delete: "Supprimer",
200
+ booleanTrue: "Oui",
201
+ booleanFalse: "Non",
202
+ booleanUnset: "Non défini",
111
203
  },
112
204
  miniCalendar: {
113
205
  previousMonth: "Mois précédent",
@@ -122,6 +214,14 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
122
214
  rangeSelected: (from, to) =>
123
215
  `Période du ${from} au ${to} sélectionnée. Choisissez une date de début pour recommencer.`,
124
216
  },
217
+ calendarHeatmap: {
218
+ grid: "Valeurs quotidiennes",
219
+ day: (date, value) => `${date} : ${value}`,
220
+ less: "Moins",
221
+ more: "Plus",
222
+ truncated: (count) =>
223
+ `Affichage des jours les plus récents ; ${n(count)} ${count === 1 ? "jour antérieur n’est pas affiché" : "jours antérieurs ne sont pas affichés"}.`,
224
+ },
125
225
  datePicker: {
126
226
  apply: "Appliquer",
127
227
  cancel: "Annuler",
@@ -138,6 +238,9 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
138
238
  nextYear: "Année suivante",
139
239
  panel: "Choisir un mois",
140
240
  month: (monthYear) => monthYear,
241
+ previousMonth: "Mois précédent",
242
+ nextMonth: "Mois suivant",
243
+ today: "Aujourd’hui",
141
244
  },
142
245
  popover: {
143
246
  panel: "Fenêtre contextuelle",
@@ -392,12 +495,20 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
392
495
  legend: "Séries",
393
496
  points: "Valeurs du graphique",
394
497
  },
498
+ pieChart: {
499
+ slices: "Secteurs du graphique",
500
+ slice: (label, value, percent) => `${label}\u00a0: ${value} (${percent})`,
501
+ total: "Total",
502
+ empty: "Aucune donnée",
503
+ legend: "Catégories",
504
+ },
395
505
  confirmDialog: {
396
506
  confirm: "Confirmer",
397
507
  cancel: "Annuler",
398
508
  },
399
509
  floatingPanel: {
400
510
  close: "Fermer",
511
+ badge: (count) => `${n(count)} ${plural(count, "nouveau", "nouveaux")}`,
401
512
  },
402
513
  copyButton: {
403
514
  copy: "Copier",
@@ -420,6 +531,57 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
420
531
  undo: "Annuler",
421
532
  redo: "Rétablir",
422
533
  },
534
+ form: {
535
+ save: "Enregistrer",
536
+ cancel: "Annuler",
537
+ },
538
+ descriptionList: {
539
+ empty: "—",
540
+ },
541
+ lineItems: {
542
+ add: "Ajouter une ligne",
543
+ remove: (row) => `Supprimer la ligne ${row}`,
544
+ confirmRemove: (row) => `Supprimer la ligne ${row}\u202f? Appuyez de nouveau pour confirmer`,
545
+ row: (row) => `Ligne ${row}`,
546
+ cell: (column, row) => `${column}, ligne ${row}`,
547
+ totals: "Total",
548
+ },
549
+ progressBar: {
550
+ unlimited: "Illimité",
551
+ overLimit: (amount) => `${amount} au-delà de la limite`,
552
+ },
553
+ signedAmount: {
554
+ positive: (amount) => `plus ${amount}`,
555
+ negative: (amount) => `moins ${amount}`,
556
+ },
557
+ errorBoundary: {
558
+ title: "Une erreur s’est produite",
559
+ message: "Cette partie de la page n’a pas pu s’afficher. Réessayez ou rechargez la page.",
560
+ retry: "Réessayer",
561
+ details: "Détails de l’erreur",
562
+ },
563
+ authedImage: {
564
+ loading: "Chargement de l’image…",
565
+ loadError: "Impossible de charger l’image",
566
+ failedImage: (alt) => `${alt} : impossible de charger l’image`,
567
+ },
568
+ imageGrid: {
569
+ list: "Images",
570
+ item: (index, count) => `Image ${n(index)} sur ${n(count)}`,
571
+ actions: (name) => `Actions pour ${name}`,
572
+ },
573
+ lightbox: {
574
+ dialog: "Visionneuse d’images",
575
+ close: "Fermer",
576
+ previous: "Image précédente",
577
+ next: "Image suivante",
578
+ counter: (index, count) => `${n(index)} / ${n(count)}`,
579
+ position: (index, count) => `Image ${n(index)} sur ${n(count)}`,
580
+ download: "Télécharger",
581
+ zoom: "Agrandir",
582
+ noPreview: "Aucun aperçu disponible pour ce fichier",
583
+ openInNewTab: "Ouvrir dans un nouvel onglet",
584
+ },
423
585
  };
424
586
  }
425
587