@eifi1/ui-kit 0.11.0 → 0.13.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 (397) hide show
  1. package/README.md +59 -34
  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/amount-input.d.ts +40 -4
  12. package/dist/components/amount-input.js +50 -12
  13. package/dist/components/amount-input.js.map +1 -1
  14. package/dist/components/authed-image.d.ts +68 -0
  15. package/dist/components/authed-image.js +117 -0
  16. package/dist/components/authed-image.js.map +1 -0
  17. package/dist/components/breadcrumbs.d.ts +2 -1
  18. package/dist/components/breadcrumbs.js +5 -2
  19. package/dist/components/breadcrumbs.js.map +1 -1
  20. package/dist/components/bulk-action-bar.d.ts +10 -2
  21. package/dist/components/bulk-action-bar.js.map +1 -1
  22. package/dist/components/button-group.d.ts +51 -2
  23. package/dist/components/button-group.js +5 -1
  24. package/dist/components/button-group.js.map +1 -1
  25. package/dist/components/calculator.d.ts +15 -4
  26. package/dist/components/calendar-heatmap.d.ts +41 -3
  27. package/dist/components/calendar-heatmap.js +48 -7
  28. package/dist/components/calendar-heatmap.js.map +1 -1
  29. package/dist/components/chart.js +14 -8
  30. package/dist/components/chart.js.map +1 -1
  31. package/dist/components/chip.d.ts +2 -1
  32. package/dist/components/chip.js +26 -18
  33. package/dist/components/chip.js.map +1 -1
  34. package/dist/components/choice-card.d.ts +35 -3
  35. package/dist/components/choice-card.js +83 -25
  36. package/dist/components/choice-card.js.map +1 -1
  37. package/dist/components/combobox-core.d.ts +3 -1
  38. package/dist/components/combobox-core.js +18 -5
  39. package/dist/components/combobox-core.js.map +1 -1
  40. package/dist/components/combobox.d.ts +2 -2
  41. package/dist/components/combobox.js +31 -9
  42. package/dist/components/combobox.js.map +1 -1
  43. package/dist/components/copy-button.d.ts +51 -70
  44. package/dist/components/copy-button.js +1 -1
  45. package/dist/components/copy-button.js.map +1 -1
  46. package/dist/components/data-table-cells.d.ts +63 -0
  47. package/dist/components/data-table-cells.js +64 -0
  48. package/dist/components/data-table-cells.js.map +1 -0
  49. package/dist/components/data-table-filter-popover.d.ts +1 -1
  50. package/dist/components/data-table-filter-popover.js +8 -1
  51. package/dist/components/data-table-filter-popover.js.map +1 -1
  52. package/dist/components/data-table-filters.d.ts +1 -1
  53. package/dist/components/data-table-filters.js +31 -1
  54. package/dist/components/data-table-filters.js.map +1 -1
  55. package/dist/components/data-table-labels.d.ts +13 -0
  56. package/dist/components/data-table-labels.js +8 -1
  57. package/dist/components/data-table-labels.js.map +1 -1
  58. package/dist/components/data-table.d.ts +1 -1
  59. package/dist/components/data-table.js +125 -27
  60. package/dist/components/data-table.js.map +1 -1
  61. package/dist/components/date-picker.d.ts +3 -1
  62. package/dist/components/date-picker.js +15 -2
  63. package/dist/components/date-picker.js.map +1 -1
  64. package/dist/components/description-list.d.ts +23 -3
  65. package/dist/components/description-list.js +23 -3
  66. package/dist/components/description-list.js.map +1 -1
  67. package/dist/components/dialog-frame.d.ts +1 -0
  68. package/dist/components/entity-combobox.d.ts +1 -1
  69. package/dist/components/entity-combobox.js +40 -20
  70. package/dist/components/entity-combobox.js.map +1 -1
  71. package/dist/components/error-boundary.d.ts +281 -0
  72. package/dist/components/error-boundary.js +302 -0
  73. package/dist/components/error-boundary.js.map +1 -0
  74. package/dist/components/field-sync.js +90 -83
  75. package/dist/components/field-sync.js.map +1 -1
  76. package/dist/components/field.d.ts +30 -4
  77. package/dist/components/field.js +40 -17
  78. package/dist/components/field.js.map +1 -1
  79. package/dist/components/file-button.d.ts +50 -208
  80. package/dist/components/file-dropzone.d.ts +49 -2
  81. package/dist/components/floating-panel.d.ts +13 -4
  82. package/dist/components/floating-panel.js +7 -3
  83. package/dist/components/floating-panel.js.map +1 -1
  84. package/dist/components/form-actions.d.ts +53 -0
  85. package/dist/components/form-actions.js +98 -0
  86. package/dist/components/form-actions.js.map +1 -0
  87. package/dist/components/full-bleed-dialog.js +4 -0
  88. package/dist/components/full-bleed-dialog.js.map +1 -1
  89. package/dist/components/hover-menu.js +64 -56
  90. package/dist/components/hover-menu.js.map +1 -1
  91. package/dist/components/image-grid.d.ts +67 -0
  92. package/dist/components/image-grid.js +112 -0
  93. package/dist/components/image-grid.js.map +1 -0
  94. package/dist/components/lightbox.d.ts +104 -0
  95. package/dist/components/lightbox.js +229 -0
  96. package/dist/components/lightbox.js.map +1 -0
  97. package/dist/components/line-items.d.ts +114 -0
  98. package/dist/components/line-items.js +238 -0
  99. package/dist/components/line-items.js.map +1 -0
  100. package/dist/components/list.d.ts +37 -4
  101. package/dist/components/list.js +35 -14
  102. package/dist/components/list.js.map +1 -1
  103. package/dist/components/loading-state.d.ts +24 -0
  104. package/dist/components/loading-state.js +32 -0
  105. package/dist/components/loading-state.js.map +1 -0
  106. package/dist/components/menu-item.d.ts +2 -1
  107. package/dist/components/menu-item.js +5 -1
  108. package/dist/components/menu-item.js.map +1 -1
  109. package/dist/components/mini-calendar.d.ts +13 -1
  110. package/dist/components/mini-calendar.js +46 -2
  111. package/dist/components/mini-calendar.js.map +1 -1
  112. package/dist/components/modal.d.ts +20 -1
  113. package/dist/components/modal.js +26 -2
  114. package/dist/components/modal.js.map +1 -1
  115. package/dist/components/month-picker.d.ts +21 -1
  116. package/dist/components/month-picker.js +139 -26
  117. package/dist/components/month-picker.js.map +1 -1
  118. package/dist/components/multi-entity-combobox.d.ts +1 -1
  119. package/dist/components/multi-entity-combobox.js +42 -20
  120. package/dist/components/multi-entity-combobox.js.map +1 -1
  121. package/dist/components/nav-pills.d.ts +2 -1
  122. package/dist/components/nav-pills.js +5 -1
  123. package/dist/components/nav-pills.js.map +1 -1
  124. package/dist/components/number-field.d.ts +24 -5
  125. package/dist/components/number-field.js +5 -7
  126. package/dist/components/number-field.js.map +1 -1
  127. package/dist/components/number-input.d.ts +25 -5
  128. package/dist/components/number-input.js +7 -1
  129. package/dist/components/number-input.js.map +1 -1
  130. package/dist/components/numpad-sheet.d.ts +20 -5
  131. package/dist/components/numpad-sheet.js +3 -2
  132. package/dist/components/numpad-sheet.js.map +1 -1
  133. package/dist/components/page-header.d.ts +35 -6
  134. package/dist/components/page-header.js +7 -1
  135. package/dist/components/page-header.js.map +1 -1
  136. package/dist/components/passkeys-setting.d.ts +67 -0
  137. package/dist/components/passkeys-setting.js +214 -0
  138. package/dist/components/passkeys-setting.js.map +1 -0
  139. package/dist/components/picker-sheet.js +5 -1
  140. package/dist/components/picker-sheet.js.map +1 -1
  141. package/dist/components/pie-chart-labels.d.ts +20 -0
  142. package/dist/components/pie-chart-labels.js +12 -0
  143. package/dist/components/pie-chart-labels.js.map +1 -0
  144. package/dist/components/pie-chart.d.ts +101 -0
  145. package/dist/components/pie-chart.js +283 -0
  146. package/dist/components/pie-chart.js.map +1 -0
  147. package/dist/components/popover.js +3 -0
  148. package/dist/components/popover.js.map +1 -1
  149. package/dist/components/progress-bar.d.ts +44 -3
  150. package/dist/components/progress-bar.js +58 -22
  151. package/dist/components/progress-bar.js.map +1 -1
  152. package/dist/components/qr-code.d.ts +34 -0
  153. package/dist/components/qr-code.js +57 -0
  154. package/dist/components/qr-code.js.map +1 -0
  155. package/dist/components/search-field.d.ts +15 -3
  156. package/dist/components/search-field.js +5 -1
  157. package/dist/components/search-field.js.map +1 -1
  158. package/dist/components/settings-fields.d.ts +49 -1
  159. package/dist/components/signed-amount.d.ts +122 -0
  160. package/dist/components/signed-amount.js +152 -0
  161. package/dist/components/signed-amount.js.map +1 -0
  162. package/dist/components/skeleton.d.ts +10 -3
  163. package/dist/components/skeleton.js +12 -2
  164. package/dist/components/skeleton.js.map +1 -1
  165. package/dist/components/stat-tile.d.ts +2 -1
  166. package/dist/components/stat-tile.js +6 -3
  167. package/dist/components/stat-tile.js.map +1 -1
  168. package/dist/components/swipeable-row.js +4 -3
  169. package/dist/components/swipeable-row.js.map +1 -1
  170. package/dist/components/table.d.ts +39 -5
  171. package/dist/components/table.js +45 -11
  172. package/dist/components/table.js.map +1 -1
  173. package/dist/components/text-link.d.ts +238 -0
  174. package/dist/components/text-link.js +144 -0
  175. package/dist/components/text-link.js.map +1 -0
  176. package/dist/components/text.d.ts +26 -2
  177. package/dist/components/text.js +16 -2
  178. package/dist/components/text.js.map +1 -1
  179. package/dist/components/time-input.d.ts +49 -1
  180. package/dist/components/toggle-group.d.ts +35 -0
  181. package/dist/components/toggle-group.js +43 -14
  182. package/dist/components/toggle-group.js.map +1 -1
  183. package/dist/components/toggle-legend.d.ts +53 -3
  184. package/dist/components/toggle-legend.js +54 -1
  185. package/dist/components/toggle-legend.js.map +1 -1
  186. package/dist/components/tooltip.d.ts +51 -1
  187. package/dist/components/tooltip.js +59 -35
  188. package/dist/components/tooltip.js.map +1 -1
  189. package/dist/components/ui.d.ts +51 -779
  190. package/dist/components/ui.js +364 -34
  191. package/dist/components/ui.js.map +1 -1
  192. package/dist/components/use-table-state.d.ts +3 -52
  193. package/dist/components/use-table-state.js +128 -30
  194. package/dist/components/use-table-state.js.map +1 -1
  195. package/dist/{data-table-filters-Dh9uF_S-.d.ts → data-table-Drun8Fk9.d.ts} +305 -61
  196. package/dist/data-table.d.ts +2 -1
  197. package/dist/data-table.js +5 -1
  198. package/dist/data-table.js.map +1 -1
  199. package/dist/feedback/feedback-attachment.js +4 -6
  200. package/dist/feedback/feedback-attachment.js.map +1 -1
  201. package/dist/feedback/feedback-dialog.d.ts +26 -3
  202. package/dist/feedback/feedback-dialog.js +21 -5
  203. package/dist/feedback/feedback-dialog.js.map +1 -1
  204. package/dist/feedback/feedback-inbox.js +86 -75
  205. package/dist/feedback/feedback-inbox.js.map +1 -1
  206. package/dist/feedback/feedback-thread.d.ts +173 -0
  207. package/dist/feedback/feedback-thread.js +264 -0
  208. package/dist/feedback/feedback-thread.js.map +1 -0
  209. package/dist/feedback.d.ts +2 -1
  210. package/dist/feedback.js +1 -0
  211. package/dist/feedback.js.map +1 -1
  212. package/dist/hooks/use-authed-src.d.ts +71 -0
  213. package/dist/hooks/use-authed-src.js +63 -0
  214. package/dist/hooks/use-authed-src.js.map +1 -0
  215. package/dist/hooks/use-file-drop.d.ts +49 -2
  216. package/dist/hooks/use-hotkey.d.ts +59 -0
  217. package/dist/hooks/use-hotkey.js +105 -0
  218. package/dist/hooks/use-hotkey.js.map +1 -0
  219. package/dist/hooks/use-search-param-state.d.ts +83 -0
  220. package/dist/hooks/use-search-param-state.js +94 -0
  221. package/dist/hooks/use-search-param-state.js.map +1 -0
  222. package/dist/i18n/defaults.d.ts +15 -4
  223. package/dist/i18n/defaults.js +31 -1
  224. package/dist/i18n/defaults.js.map +1 -1
  225. package/dist/i18n/kit-labels.d.ts +46 -312
  226. package/dist/i18n/kit-labels.js +20 -5
  227. package/dist/i18n/kit-labels.js.map +1 -1
  228. package/dist/i18n/locales/de-CH-informal.d.ts +15 -4
  229. package/dist/i18n/locales/de-CH.d.ts +15 -4
  230. package/dist/i18n/locales/de-informal.d.ts +15 -4
  231. package/dist/i18n/locales/de.d.ts +15 -4
  232. package/dist/i18n/locales/de.js +164 -3
  233. package/dist/i18n/locales/de.js.map +1 -1
  234. package/dist/i18n/locales/es.d.ts +15 -4
  235. package/dist/i18n/locales/es.js +161 -3
  236. package/dist/i18n/locales/es.js.map +1 -1
  237. package/dist/i18n/locales/fr.d.ts +15 -4
  238. package/dist/i18n/locales/fr.js +161 -3
  239. package/dist/i18n/locales/fr.js.map +1 -1
  240. package/dist/i18n/locales/hu.d.ts +15 -4
  241. package/dist/i18n/locales/hu.js +161 -3
  242. package/dist/i18n/locales/hu.js.map +1 -1
  243. package/dist/i18n/locales/it.d.ts +15 -4
  244. package/dist/i18n/locales/it.js +161 -3
  245. package/dist/i18n/locales/it.js.map +1 -1
  246. package/dist/i18n/locales/zh.d.ts +15 -4
  247. package/dist/i18n/locales/zh.js +161 -3
  248. package/dist/i18n/locales/zh.js.map +1 -1
  249. package/dist/index.d.ts +39 -19
  250. package/dist/index.js +40 -1
  251. package/dist/index.js.map +1 -1
  252. package/dist/kit-labels-Mz8zZHIF.d.ts +1744 -0
  253. package/dist/lib/format.d.ts +162 -0
  254. package/dist/lib/format.js +151 -0
  255. package/dist/lib/format.js.map +1 -0
  256. package/dist/lib/qr-encode.d.ts +44 -0
  257. package/dist/lib/qr-encode.js +338 -0
  258. package/dist/lib/qr-encode.js.map +1 -0
  259. package/dist/rhf/fields.d.ts +283 -0
  260. package/dist/rhf/fields.js +631 -0
  261. package/dist/rhf/fields.js.map +1 -0
  262. package/dist/rhf/form.d.ts +49 -1
  263. package/dist/rhf/line-items.d.ts +31 -0
  264. package/dist/rhf/line-items.js +59 -0
  265. package/dist/rhf/line-items.js.map +1 -0
  266. package/dist/rhf.d.ts +61 -1
  267. package/dist/rhf.js +2 -0
  268. package/dist/rhf.js.map +1 -1
  269. package/dist/search/command-palette.js +20 -14
  270. package/dist/search/command-palette.js.map +1 -1
  271. package/dist/shell/app-shell.d.ts +99 -2
  272. package/dist/shell/app-shell.js +120 -57
  273. package/dist/shell/app-shell.js.map +1 -1
  274. package/dist/shell/auth-layout.d.ts +74 -0
  275. package/dist/shell/auth-layout.js +97 -0
  276. package/dist/shell/auth-layout.js.map +1 -0
  277. package/dist/shell/top-bar-brand.d.ts +81 -0
  278. package/dist/shell/top-bar-brand.js +47 -0
  279. package/dist/shell/top-bar-brand.js.map +1 -0
  280. package/dist/shell/topbar-action-menu.d.ts +21 -4
  281. package/dist/shell/topbar-action-menu.js +18 -2
  282. package/dist/shell/topbar-action-menu.js.map +1 -1
  283. package/dist/shell.d.ts +56 -1
  284. package/dist/shell.js +2 -0
  285. package/dist/shell.js.map +1 -1
  286. package/dist/tour/tour.js +10 -4
  287. package/dist/tour/tour.js.map +1 -1
  288. package/dist/wizard/stepper-nav.d.ts +48 -1
  289. package/dist/wizard/use-wizard.js +4 -2
  290. package/dist/wizard/use-wizard.js.map +1 -1
  291. package/dist/wizard/wizard-context.d.ts +24 -1
  292. package/dist/wizard/wizard-context.js +19 -2
  293. package/dist/wizard/wizard-context.js.map +1 -1
  294. package/dist/wizard/wizard-step.d.ts +30 -5
  295. package/dist/wizard/wizard-step.js +34 -3
  296. package/dist/wizard/wizard-step.js.map +1 -1
  297. package/dist/wizard.d.ts +50 -3
  298. package/package.json +6 -6
  299. package/src/chart.ts +4 -0
  300. package/src/components/account-settings-labels.ts +190 -0
  301. package/src/components/account-settings.tsx +110 -63
  302. package/src/components/amount-input.tsx +109 -10
  303. package/src/components/authed-image.tsx +190 -0
  304. package/src/components/breadcrumbs.tsx +8 -2
  305. package/src/components/bulk-action-bar.tsx +16 -3
  306. package/src/components/button-group.tsx +7 -2
  307. package/src/components/calendar-heatmap.tsx +105 -10
  308. package/src/components/chart.tsx +19 -8
  309. package/src/components/chip.tsx +14 -4
  310. package/src/components/choice-card.tsx +136 -25
  311. package/src/components/combobox-core.tsx +33 -9
  312. package/src/components/combobox.tsx +33 -9
  313. package/src/components/copy-button.tsx +3 -2
  314. package/src/components/data-table-cells.tsx +119 -0
  315. package/src/components/data-table-filter-popover.tsx +13 -5
  316. package/src/components/data-table-filters.ts +77 -0
  317. package/src/components/data-table-labels.ts +23 -0
  318. package/src/components/data-table.tsx +230 -13
  319. package/src/components/date-picker.tsx +19 -3
  320. package/src/components/description-list.tsx +52 -3
  321. package/src/components/entity-combobox.tsx +25 -7
  322. package/src/components/error-boundary.tsx +640 -0
  323. package/src/components/field-sync.tsx +48 -40
  324. package/src/components/field.tsx +56 -5
  325. package/src/components/floating-panel.tsx +20 -7
  326. package/src/components/form-actions.tsx +191 -0
  327. package/src/components/full-bleed-dialog.tsx +4 -0
  328. package/src/components/hover-menu.tsx +26 -17
  329. package/src/components/image-grid.tsx +181 -0
  330. package/src/components/lightbox.tsx +374 -0
  331. package/src/components/line-items.tsx +385 -0
  332. package/src/components/list.tsx +82 -19
  333. package/src/components/loading-state.tsx +47 -0
  334. package/src/components/menu-item.tsx +7 -2
  335. package/src/components/mini-calendar.tsx +72 -3
  336. package/src/components/modal.tsx +65 -3
  337. package/src/components/month-picker.tsx +181 -26
  338. package/src/components/multi-entity-combobox.tsx +27 -7
  339. package/src/components/nav-pills.tsx +8 -1
  340. package/src/components/number-field.tsx +15 -10
  341. package/src/components/number-input.tsx +17 -1
  342. package/src/components/numpad-sheet.tsx +6 -1
  343. package/src/components/page-header.tsx +42 -5
  344. package/src/components/passkeys-setting.tsx +331 -0
  345. package/src/components/picker-sheet.tsx +10 -1
  346. package/src/components/pie-chart-labels.ts +32 -0
  347. package/src/components/pie-chart.tsx +479 -0
  348. package/src/components/popover.tsx +3 -0
  349. package/src/components/progress-bar.tsx +129 -19
  350. package/src/components/qr-code.tsx +83 -0
  351. package/src/components/search-field.tsx +20 -4
  352. package/src/components/signed-amount.tsx +295 -0
  353. package/src/components/skeleton.tsx +21 -3
  354. package/src/components/stat-tile.tsx +11 -3
  355. package/src/components/swipeable-row.tsx +7 -7
  356. package/src/components/table.tsx +102 -13
  357. package/src/components/text-link.tsx +356 -0
  358. package/src/components/text.tsx +46 -2
  359. package/src/components/toggle-group.tsx +93 -20
  360. package/src/components/toggle-legend.tsx +108 -2
  361. package/src/components/tooltip.tsx +79 -8
  362. package/src/components/ui.tsx +707 -49
  363. package/src/components/use-table-state.ts +265 -33
  364. package/src/data-table.ts +10 -0
  365. package/src/feedback/feedback-attachment.tsx +10 -7
  366. package/src/feedback/feedback-dialog.tsx +49 -7
  367. package/src/feedback/feedback-inbox.tsx +7 -0
  368. package/src/feedback/feedback-thread.tsx +510 -0
  369. package/src/feedback.ts +1 -0
  370. package/src/hooks/use-authed-src.ts +161 -0
  371. package/src/hooks/use-hotkey.ts +172 -0
  372. package/src/hooks/use-search-param-state.ts +187 -0
  373. package/src/i18n/defaults.ts +30 -0
  374. package/src/i18n/kit-labels.tsx +118 -8
  375. package/src/i18n/locales/de.ts +161 -0
  376. package/src/i18n/locales/es.ts +158 -0
  377. package/src/i18n/locales/fr.ts +161 -0
  378. package/src/i18n/locales/hu.ts +159 -0
  379. package/src/i18n/locales/it.ts +159 -0
  380. package/src/i18n/locales/zh.ts +158 -0
  381. package/src/index.ts +59 -0
  382. package/src/lib/format.ts +348 -0
  383. package/src/lib/qr-encode.ts +420 -0
  384. package/src/rhf/fields.tsx +1135 -0
  385. package/src/rhf/line-items.tsx +130 -0
  386. package/src/rhf.ts +6 -0
  387. package/src/search/command-palette.tsx +29 -19
  388. package/src/shell/app-shell.tsx +153 -3
  389. package/src/shell/auth-layout.tsx +190 -0
  390. package/src/shell/top-bar-brand.tsx +76 -0
  391. package/src/shell/topbar-action-menu.tsx +32 -4
  392. package/src/shell.ts +2 -0
  393. package/src/tour/tour.tsx +16 -5
  394. package/src/wizard/use-wizard.ts +8 -4
  395. package/src/wizard/wizard-context.tsx +41 -1
  396. package/src/wizard/wizard-step.tsx +75 -6
  397. 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",
@@ -142,6 +234,9 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
142
234
  nextYear: "Nächstes Jahr",
143
235
  panel: "Monat wählen",
144
236
  month: (monthYear) => monthYear,
237
+ previousMonth: "Vorheriger Monat",
238
+ nextMonth: "Nächster Monat",
239
+ today: "Heute",
145
240
  },
146
241
  popover: {
147
242
  panel: "Aufklappfenster",
@@ -394,6 +489,13 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
394
489
  legend: "Datenreihen",
395
490
  points: "Diagrammwerte",
396
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
+ },
397
499
  confirmDialog: {
398
500
  confirm: "Bestätigen",
399
501
  cancel: "Abbrechen",
@@ -423,6 +525,65 @@ export function uiKitLabelsDe(numberLocale = "de-DE"): UiKitLabels {
423
525
  undo: "Rückgängig",
424
526
  redo: "Wiederholen",
425
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
+ reload: "Neu laden",
557
+ updateTitle: "Eine neue Version ist verfügbar",
558
+ updateMessage: "Ein Teil der App hat sich seit dem Laden dieser Seite geändert. Zum Aktualisieren die Seite neu laden.",
559
+ offlineTitle: "Keine Internetverbindung",
560
+ offlineMessage: "Diese Seite konnte ohne Verbindung nicht geladen werden. Nach dem Wiederherstellen der Verbindung die Seite neu laden.",
561
+ copyReport: "Fehlerbericht kopieren",
562
+ reported: "Der Fehler wurde automatisch gemeldet.",
563
+ reportedAs: (reference) => `Gemeldet unter ${reference}`,
564
+ },
565
+ authedImage: {
566
+ loading: "Bild wird geladen…",
567
+ loadError: "Bild konnte nicht geladen werden",
568
+ failedImage: (alt) => `${alt}: Bild konnte nicht geladen werden`,
569
+ },
570
+ imageGrid: {
571
+ list: "Bilder",
572
+ item: (index, count) => `Bild ${n(index)} von ${n(count)}`,
573
+ actions: (name) => `Aktionen für ${name}`,
574
+ },
575
+ lightbox: {
576
+ dialog: "Bildansicht",
577
+ close: "Schließen",
578
+ previous: "Vorheriges Bild",
579
+ next: "Nächstes Bild",
580
+ counter: (index, count) => `${n(index)} / ${n(count)}`,
581
+ position: (index, count) => `Bild ${n(index)} von ${n(count)}`,
582
+ download: "Herunterladen",
583
+ zoom: "Zoomen",
584
+ noPreview: "Für diese Datei ist keine Vorschau verfügbar",
585
+ openInNewTab: "In neuem Tab öffnen",
586
+ },
426
587
  };
427
588
  }
428
589
 
@@ -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,9 @@ 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",
127
219
  },
128
220
  calendarHeatmap: {
129
221
  grid: "Valores diarios",
@@ -387,6 +479,13 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
387
479
  legend: "Series",
388
480
  points: "Valores del gráfico",
389
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
+ },
390
489
  confirmDialog: {
391
490
  confirm: "Confirmar",
392
491
  cancel: "Cancelar",
@@ -416,6 +515,65 @@ export function uiKitLabelsEs(numberLocale = "es-ES"): UiKitLabels {
416
515
  undo: "Deshacer",
417
516
  redo: "Rehacer",
418
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
+ reload: "Recargar",
547
+ updateTitle: "Hay una nueva versión disponible",
548
+ updateMessage: "Una parte de la aplicación ha cambiado desde que se cargó esta página. Recárguela para obtener la nueva versión.",
549
+ offlineTitle: "Sin conexión",
550
+ offlineMessage: "No se pudo cargar esta página sin conexión. Vuelva a conectarse y recargue la página.",
551
+ copyReport: "Copiar informe de error",
552
+ reported: "El error se ha notificado automáticamente.",
553
+ reportedAs: (reference) => `Notificado con la referencia ${reference}`,
554
+ },
555
+ authedImage: {
556
+ loading: "Cargando imagen…",
557
+ loadError: "No se pudo cargar la imagen",
558
+ failedImage: (alt) => `${alt}: no se pudo cargar la imagen`,
559
+ },
560
+ imageGrid: {
561
+ list: "Imágenes",
562
+ item: (index, count) => `Imagen ${n(index)} de ${n(count)}`,
563
+ actions: (name) => `Acciones para ${name}`,
564
+ },
565
+ lightbox: {
566
+ dialog: "Visor de imágenes",
567
+ close: "Cerrar",
568
+ previous: "Imagen anterior",
569
+ next: "Imagen siguiente",
570
+ counter: (index, count) => `${n(index)} / ${n(count)}`,
571
+ position: (index, count) => `Imagen ${n(index)} de ${n(count)}`,
572
+ download: "Descargar",
573
+ zoom: "Ampliar",
574
+ noPreview: "No hay vista previa disponible para este archivo",
575
+ openInNewTab: "Abrir en una pestaña nueva",
576
+ },
419
577
  };
420
578
  }
421
579
 
@@ -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",
@@ -146,6 +238,9 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
146
238
  nextYear: "Année suivante",
147
239
  panel: "Choisir un mois",
148
240
  month: (monthYear) => monthYear,
241
+ previousMonth: "Mois précédent",
242
+ nextMonth: "Mois suivant",
243
+ today: "Aujourd’hui",
149
244
  },
150
245
  popover: {
151
246
  panel: "Fenêtre contextuelle",
@@ -400,6 +495,13 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
400
495
  legend: "Séries",
401
496
  points: "Valeurs du graphique",
402
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
+ },
403
505
  confirmDialog: {
404
506
  confirm: "Confirmer",
405
507
  cancel: "Annuler",
@@ -429,6 +531,65 @@ export function uiKitLabelsFr(numberLocale = "fr-FR"): UiKitLabels {
429
531
  undo: "Annuler",
430
532
  redo: "Rétablir",
431
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
+ reload: "Recharger",
563
+ updateTitle: "Une nouvelle version est disponible",
564
+ updateMessage: "Une partie de l’application a changé depuis le chargement de cette page. Rechargez-la pour obtenir la nouvelle version.",
565
+ offlineTitle: "Vous êtes hors ligne",
566
+ offlineMessage: "Cette page n’a pas pu être chargée sans connexion. Reconnectez-vous, puis rechargez la page.",
567
+ copyReport: "Copier le rapport d’erreur",
568
+ reported: "L’erreur a été signalée automatiquement.",
569
+ reportedAs: (reference) => `Signalée sous la référence ${reference}`,
570
+ },
571
+ authedImage: {
572
+ loading: "Chargement de l’image…",
573
+ loadError: "Impossible de charger l’image",
574
+ failedImage: (alt) => `${alt} : impossible de charger l’image`,
575
+ },
576
+ imageGrid: {
577
+ list: "Images",
578
+ item: (index, count) => `Image ${n(index)} sur ${n(count)}`,
579
+ actions: (name) => `Actions pour ${name}`,
580
+ },
581
+ lightbox: {
582
+ dialog: "Visionneuse d’images",
583
+ close: "Fermer",
584
+ previous: "Image précédente",
585
+ next: "Image suivante",
586
+ counter: (index, count) => `${n(index)} / ${n(count)}`,
587
+ position: (index, count) => `Image ${n(index)} sur ${n(count)}`,
588
+ download: "Télécharger",
589
+ zoom: "Agrandir",
590
+ noPreview: "Aucun aperçu disponible pour ce fichier",
591
+ openInNewTab: "Ouvrir dans un nouvel onglet",
592
+ },
432
593
  };
433
594
  }
434
595