@questpie/admin 3.0.3 → 3.0.5

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 (253) hide show
  1. package/README.md +34 -5
  2. package/dist/client/blocks/block-renderer.d.mts +2 -2
  3. package/dist/client/blocks/block-renderer.mjs +4 -1
  4. package/dist/client/builder/types/action-types.d.mts +31 -3
  5. package/dist/client/builder/types/collection-types.d.mts +140 -0
  6. package/dist/client/builder/types/ui-config.d.mts +16 -2
  7. package/dist/client/builder/types/views.d.mts +57 -0
  8. package/dist/client/builder/types/widget-types.d.mts +5 -0
  9. package/dist/client/components/actions/action-button.mjs +137 -199
  10. package/dist/client/components/actions/action-dialog.mjs +198 -156
  11. package/dist/client/components/actions/confirmation-dialog.mjs +2 -2
  12. package/dist/client/components/actions/header-actions.mjs +52 -53
  13. package/dist/client/components/admin-link.d.mts +2 -2
  14. package/dist/client/components/auth/auth-loading.mjs +41 -18
  15. package/dist/client/components/blocks/block-editor-layout.mjs +2 -2
  16. package/dist/client/components/blocks/block-fields-renderer.mjs +64 -28
  17. package/dist/client/components/blocks/block-insert-button.mjs +4 -4
  18. package/dist/client/components/blocks/block-item.mjs +2 -2
  19. package/dist/client/components/blocks/block-library-sidebar.mjs +91 -63
  20. package/dist/client/components/component-renderer.mjs +1 -1
  21. package/dist/client/components/fields/array-field.mjs +14 -14
  22. package/dist/client/components/fields/asset-preview-field.mjs +1 -1
  23. package/dist/client/components/fields/blocks-field/blocks-field.mjs +84 -104
  24. package/dist/client/components/fields/json-field.mjs +2 -2
  25. package/dist/client/components/fields/object-array-field.mjs +22 -22
  26. package/dist/client/components/fields/object-field.mjs +5 -5
  27. package/dist/client/components/fields/relation/displays/cards-display.mjs +16 -9
  28. package/dist/client/components/fields/relation/displays/chips-display.mjs +15 -12
  29. package/dist/client/components/fields/relation/displays/grid-display.mjs +15 -11
  30. package/dist/client/components/fields/relation/displays/list-display.mjs +33 -20
  31. package/dist/client/components/fields/relation/displays/table-display.mjs +62 -93
  32. package/dist/client/components/fields/relation/relation-items-display.mjs +1 -1
  33. package/dist/client/components/fields/relation-picker.mjs +7 -6
  34. package/dist/client/components/fields/relation-select.mjs +71 -47
  35. package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs +392 -82
  36. package/dist/client/components/fields/rich-text-editor/extensions.mjs +54 -23
  37. package/dist/client/components/fields/rich-text-editor/image-popover.mjs +24 -50
  38. package/dist/client/components/fields/rich-text-editor/image-upload.mjs +66 -0
  39. package/dist/client/components/fields/rich-text-editor/index.d.mts +38 -0
  40. package/dist/client/components/fields/rich-text-editor/index.mjs +637 -376
  41. package/dist/client/components/fields/rich-text-editor/link-utils.mjs +26 -0
  42. package/dist/client/components/fields/rich-text-editor/presets.d.mts +10 -0
  43. package/dist/client/components/fields/rich-text-editor/slash-commands.mjs +27 -6
  44. package/dist/client/components/fields/rich-text-editor/toolbar.mjs +464 -346
  45. package/dist/client/components/fields/rich-text-editor/types.d.mts +77 -0
  46. package/dist/client/components/fields/upload-field.mjs +45 -49
  47. package/dist/client/components/filter-builder/columns-tab.mjs +69 -62
  48. package/dist/client/components/filter-builder/filter-builder-sheet.mjs +473 -308
  49. package/dist/client/components/filter-builder/filters-tab.mjs +109 -82
  50. package/dist/client/components/filter-builder/saved-views-tab.mjs +300 -198
  51. package/dist/client/components/history-sidebar.mjs +850 -340
  52. package/dist/client/components/layout/field-layout-renderer.mjs +6 -5
  53. package/dist/client/components/locale-switcher.mjs +8 -8
  54. package/dist/client/components/media/media-grid.mjs +106 -86
  55. package/dist/client/components/media/media-picker-dialog.mjs +242 -230
  56. package/dist/client/components/preview/live-preview-mode.mjs +1 -1
  57. package/dist/client/components/primitives/asset-preview.mjs +37 -22
  58. package/dist/client/components/primitives/date-input.mjs +212 -249
  59. package/dist/client/components/primitives/dropzone.mjs +192 -159
  60. package/dist/client/components/primitives/field-select-control.mjs +93 -0
  61. package/dist/client/components/primitives/select-multi.mjs +406 -365
  62. package/dist/client/components/primitives/select-single.mjs +391 -323
  63. package/dist/client/components/primitives/time-input.mjs +2 -2
  64. package/dist/client/components/sheets/resource-sheet.mjs +2 -0
  65. package/dist/client/components/ui/accordion.mjs +4 -4
  66. package/dist/client/components/ui/alert.mjs +3 -3
  67. package/dist/client/components/ui/badge.mjs +4 -4
  68. package/dist/client/components/ui/button.mjs +47 -37
  69. package/dist/client/components/ui/card.mjs +2 -2
  70. package/dist/client/components/ui/checkbox.mjs +1 -1
  71. package/dist/client/components/ui/command.mjs +5 -5
  72. package/dist/client/components/ui/dialog.mjs +3 -3
  73. package/dist/client/components/ui/drawer.mjs +1 -1
  74. package/dist/client/components/ui/dropdown-menu.mjs +157 -15
  75. package/dist/client/components/ui/empty-state.mjs +88 -59
  76. package/dist/client/components/ui/field.mjs +2 -2
  77. package/dist/client/components/ui/input-group.mjs +3 -3
  78. package/dist/client/components/ui/input.mjs +1 -1
  79. package/dist/client/components/ui/kbd.mjs +1 -1
  80. package/dist/client/components/ui/label.mjs +1 -1
  81. package/dist/client/components/ui/popover.mjs +19 -11
  82. package/dist/client/components/ui/scroll-fade.mjs +170 -0
  83. package/dist/client/components/ui/search-input.mjs +1 -1
  84. package/dist/client/components/ui/select.mjs +129 -27
  85. package/dist/client/components/ui/sheet.mjs +54 -34
  86. package/dist/client/components/ui/sidebar.mjs +15 -14
  87. package/dist/client/components/ui/skeleton.mjs +28 -12
  88. package/dist/client/components/ui/switch.mjs +2 -2
  89. package/dist/client/components/ui/table.mjs +82 -74
  90. package/dist/client/components/ui/tabs.mjs +26 -31
  91. package/dist/client/components/ui/textarea.mjs +1 -1
  92. package/dist/client/components/ui/tooltip.mjs +1 -1
  93. package/dist/client/components/widgets/chart-widget.mjs +154 -100
  94. package/dist/client/components/widgets/progress-widget.mjs +63 -36
  95. package/dist/client/components/widgets/quick-actions-widget.mjs +207 -115
  96. package/dist/client/components/widgets/recent-items-widget.mjs +147 -103
  97. package/dist/client/components/widgets/stats-widget.mjs +91 -72
  98. package/dist/client/components/widgets/table-widget.mjs +161 -247
  99. package/dist/client/components/widgets/timeline-widget.mjs +119 -78
  100. package/dist/client/components/widgets/value-widget.mjs +286 -157
  101. package/dist/client/components/widgets/widget-empty-state.mjs +88 -0
  102. package/dist/client/components/widgets/widget-skeletons.mjs +53 -20
  103. package/dist/client/contexts/focus-context.d.mts +2 -2
  104. package/dist/client/hooks/use-action.mjs +63 -55
  105. package/dist/client/hooks/use-audit-history.mjs +1 -65
  106. package/dist/client/hooks/use-collection-validation.mjs +36 -23
  107. package/dist/client/hooks/use-collection.mjs +96 -1
  108. package/dist/client/hooks/use-saved-views.mjs +70 -49
  109. package/dist/client/hooks/use-server-actions.mjs +70 -46
  110. package/dist/client/hooks/use-server-validation.mjs +156 -41
  111. package/dist/client/hooks/use-server-widget-data.mjs +1 -1
  112. package/dist/client/hooks/use-setup-status.d.mts +3 -3
  113. package/dist/client/hooks/use-setup-status.mjs +2 -2
  114. package/dist/client/hooks/use-transition-stage.mjs +2 -10
  115. package/dist/client/hooks/use-validation-error-map.mjs +31 -13
  116. package/dist/client/hooks/use-view-state.mjs +238 -174
  117. package/dist/client/i18n/date-locale.mjs +33 -0
  118. package/dist/client/i18n/hooks.mjs +17 -1
  119. package/dist/client/lib/utils.mjs +3 -2
  120. package/dist/client/preview/block-scope-context.d.mts +2 -2
  121. package/dist/client/preview/preview-banner.d.mts +2 -2
  122. package/dist/client/preview/preview-banner.mjs +75 -46
  123. package/dist/client/preview/preview-field.d.mts +4 -4
  124. package/dist/client/preview/preview-field.mjs +2 -2
  125. package/dist/client/runtime/provider.mjs +8 -1
  126. package/dist/client/runtime/translations-provider.mjs +1 -1
  127. package/dist/client/scope/picker.d.mts +2 -2
  128. package/dist/client/scope/provider.d.mts +2 -2
  129. package/dist/client/styles/base.css +1022 -0
  130. package/dist/client/styles/index.css +3 -589
  131. package/dist/client/utils/auto-expand-fields.mjs +4 -2
  132. package/dist/client/utils/keyboard-shortcuts.mjs +26 -0
  133. package/dist/client/utils/use-lazy-component.mjs +80 -0
  134. package/dist/client/views/auth/accept-invite-form.d.mts +2 -2
  135. package/dist/client/views/auth/auth-layout.d.mts +17 -10
  136. package/dist/client/views/auth/auth-layout.mjs +291 -80
  137. package/dist/client/views/auth/forgot-password-form.d.mts +2 -2
  138. package/dist/client/views/auth/forgot-password-form.mjs +2 -2
  139. package/dist/client/views/auth/login-form.d.mts +2 -2
  140. package/dist/client/views/auth/login-form.mjs +1 -1
  141. package/dist/client/views/auth/reset-password-form.d.mts +2 -2
  142. package/dist/client/views/auth/reset-password-form.mjs +2 -2
  143. package/dist/client/views/auth/setup-form.d.mts +2 -2
  144. package/dist/client/views/collection/auto-form-fields.mjs +11 -9
  145. package/dist/client/views/collection/bulk-action-toolbar.mjs +173 -138
  146. package/dist/client/views/collection/cells/complex-cells.mjs +22 -22
  147. package/dist/client/views/collection/cells/primitive-cells.mjs +1 -1
  148. package/dist/client/views/collection/cells/relation-cells.mjs +147 -129
  149. package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +224 -278
  150. package/dist/client/views/collection/cells/shared/relation-chip.mjs +64 -36
  151. package/dist/client/views/collection/cells/upload-cells.mjs +199 -9
  152. package/dist/client/views/collection/columns/build-columns.mjs +29 -9
  153. package/dist/client/views/collection/columns/column-defaults.mjs +2 -2
  154. package/dist/client/views/collection/field-renderer.mjs +50 -89
  155. package/dist/client/views/collection/form-view.mjs +237 -227
  156. package/dist/client/views/collection/table-view.mjs +1167 -234
  157. package/dist/client/views/collection/view-skeletons.mjs +222 -79
  158. package/dist/client/views/common/global-search.mjs +29 -18
  159. package/dist/client/views/dashboard/dashboard-grid.mjs +678 -501
  160. package/dist/client/views/dashboard/dashboard-widget.mjs +6 -3
  161. package/dist/client/views/dashboard/widget-card.mjs +23 -14
  162. package/dist/client/views/globals/global-form-view.mjs +634 -589
  163. package/dist/client/views/layout/admin-layout-provider.mjs +67 -70
  164. package/dist/client/views/layout/admin-layout.d.mts +3 -6
  165. package/dist/client/views/layout/admin-layout.mjs +152 -155
  166. package/dist/client/views/layout/admin-router.mjs +936 -616
  167. package/dist/client/views/layout/admin-sidebar.d.mts +38 -1
  168. package/dist/client/views/layout/admin-sidebar.mjs +762 -592
  169. package/dist/client/views/layout/admin-theme.d.mts +10 -0
  170. package/dist/client/views/layout/admin-theme.mjs +84 -0
  171. package/dist/client/views/layout/admin-view-layout.mjs +161 -0
  172. package/dist/client/views/pages/accept-invite-page.d.mts +2 -2
  173. package/dist/client/views/pages/accept-invite-page.mjs +49 -26
  174. package/dist/client/views/pages/dashboard-page.d.mts +2 -2
  175. package/dist/client/views/pages/forgot-password-page.d.mts +2 -2
  176. package/dist/client/views/pages/forgot-password-page.mjs +2 -19
  177. package/dist/client/views/pages/invite-page.d.mts +2 -2
  178. package/dist/client/views/pages/invite-page.mjs +2 -19
  179. package/dist/client/views/pages/login-page.d.mts +3 -3
  180. package/dist/client/views/pages/login-page.mjs +4 -21
  181. package/dist/client/views/pages/reset-password-page.d.mts +2 -2
  182. package/dist/client/views/pages/reset-password-page.mjs +3 -20
  183. package/dist/client/views/pages/setup-page.d.mts +2 -2
  184. package/dist/client/views/pages/setup-page.mjs +70 -71
  185. package/dist/client.d.mts +6 -2
  186. package/dist/client.mjs +2 -1
  187. package/dist/components/rich-text/rich-text-renderer.d.mts +2 -2
  188. package/dist/index.d.mts +6 -2
  189. package/dist/index.mjs +2 -1
  190. package/dist/server/augmentation/dashboard.d.mts +67 -3
  191. package/dist/server/augmentation/form-layout.d.mts +21 -0
  192. package/dist/server/augmentation/index.d.mts +1 -1
  193. package/dist/server/codegen/admin-client-template.mjs +4 -0
  194. package/dist/server/fields/blocks.d.mts +1 -1
  195. package/dist/server/fields/blocks.mjs +12 -0
  196. package/dist/server/fields/rich-text.d.mts +1 -1
  197. package/dist/server/fields/rich-text.mjs +8 -0
  198. package/dist/server/i18n/index.mjs +29 -7
  199. package/dist/server/i18n/messages/cs.mjs +414 -1
  200. package/dist/server/i18n/messages/de.mjs +412 -1
  201. package/dist/server/i18n/messages/en.mjs +166 -1
  202. package/dist/server/i18n/messages/es.mjs +412 -1
  203. package/dist/server/i18n/messages/fr.mjs +412 -1
  204. package/dist/server/i18n/messages/pl.mjs +416 -1
  205. package/dist/server/i18n/messages/pt.mjs +409 -1
  206. package/dist/server/i18n/messages/sk.mjs +216 -2
  207. package/dist/server/modules/admin/block/introspection.mjs +4 -1
  208. package/dist/server/modules/admin/block/prefetch.mjs +12 -2
  209. package/dist/server/modules/admin/collections/account.d.mts +2 -2
  210. package/dist/server/modules/admin/collections/admin-locks.d.mts +2 -2
  211. package/dist/server/modules/admin/collections/admin-preferences.d.mts +39 -39
  212. package/dist/server/modules/admin/collections/admin-saved-views.d.mts +47 -47
  213. package/dist/server/modules/admin/collections/apikey.d.mts +42 -42
  214. package/dist/server/modules/admin/collections/assets.d.mts +20 -20
  215. package/dist/server/modules/admin/collections/assets.mjs +0 -1
  216. package/dist/server/modules/admin/collections/session.d.mts +42 -42
  217. package/dist/server/modules/admin/collections/user.d.mts +40 -28
  218. package/dist/server/modules/admin/collections/user.mjs +40 -9
  219. package/dist/server/modules/admin/collections/verification.d.mts +36 -36
  220. package/dist/server/modules/admin/dto/admin-config.dto.mjs +2 -0
  221. package/dist/server/modules/admin/factories.mjs +7 -18
  222. package/dist/server/modules/admin/index.d.mts +1 -1
  223. package/dist/server/modules/admin/routes/admin-config.d.mts +2 -2
  224. package/dist/server/modules/admin/routes/admin-config.mjs +34 -16
  225. package/dist/server/modules/admin/routes/execute-action.d.mts +9 -9
  226. package/dist/server/modules/admin/routes/execute-action.mjs +67 -28
  227. package/dist/server/modules/admin/routes/i18n-helpers.mjs +34 -0
  228. package/dist/server/modules/admin/routes/locales.d.mts +2 -2
  229. package/dist/server/modules/admin/routes/preview.mjs +25 -17
  230. package/dist/server/modules/admin/routes/reactive.d.mts +9 -9
  231. package/dist/server/modules/admin/routes/route-helpers.mjs +1 -1
  232. package/dist/server/modules/admin/routes/setup.d.mts +10 -10
  233. package/dist/server/modules/admin/routes/setup.mjs +16 -13
  234. package/dist/server/modules/admin/routes/translations.d.mts +4 -4
  235. package/dist/server/modules/admin/routes/translations.mjs +5 -1
  236. package/dist/server/modules/admin-preferences/collections/admin-preferences.mjs +1 -1
  237. package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +2 -2
  238. package/dist/server/modules/audit/.generated/module.d.mts +1 -1
  239. package/dist/server/modules/audit/.generated/module.mjs +1 -1
  240. package/dist/server/modules/audit/collections/audit-log.d.mts +2 -2
  241. package/dist/server/modules/audit/collections/audit-log.mjs +1 -1
  242. package/dist/server/modules/audit/config/app.mjs +99 -42
  243. package/dist/server/modules/audit/jobs/audit-cleanup.mjs +1 -1
  244. package/dist/server/plugin.mjs +4 -2
  245. package/dist/server/proxy-factories.d.mts +4 -3
  246. package/dist/server/proxy-factories.mjs +34 -8
  247. package/dist/shared/types/saved-views.types.d.mts +2 -0
  248. package/package.json +6 -4
  249. package/dist/client/components/fields/rich-text-editor/link-popover.mjs +0 -85
  250. package/dist/client/components/ui/spinner.mjs +0 -52
  251. package/dist/client/components/ui/toolbar.mjs +0 -136
  252. package/dist/client/contexts/breadcrumb-context.mjs +0 -60
  253. package/dist/client/views/layout/admin-topbar.mjs +0 -236
@@ -82,6 +82,35 @@ var fr_default = {
82
82
  "collection.new": "Nouveau {{name}}",
83
83
  "collection.duplicateSuccess": "{{name}} dupliqué avec succès",
84
84
  "collection.duplicateError": "Échec de la duplication de {{name}}",
85
+ "action.collectionNotFound": "Collection \"{{collection}}\" introuvable",
86
+ "action.notFound": "Action \"{{action}}\" introuvable sur la collection \"{{collection}}\"",
87
+ "action.executionFailed": "L'exécution de l'action a échoué",
88
+ "action.itemCreated": "Élément créé avec succès",
89
+ "action.itemIdRequired.save": "L'ID de l'élément est requis pour l'action d'enregistrement",
90
+ "action.itemSaved": "Élément enregistré avec succès",
91
+ "action.itemIdRequired.delete": "L'ID de l'élément est requis pour l'action de suppression",
92
+ "action.itemDeleted": "Élément supprimé avec succès",
93
+ "action.itemIdsRequired.bulkDelete": "Les IDs des éléments sont requis pour la suppression groupée",
94
+ "action.itemsDeleted": {
95
+ one: "{{count}} élément supprimé avec succès",
96
+ other: "{{count}} éléments supprimés avec succès"
97
+ },
98
+ "action.itemIdRequired.restore": "L'ID de l'élément est requis pour l'action de restauration",
99
+ "action.restoreUnsupported": "La restauration n'est pas prise en charge pour cette collection",
100
+ "action.itemRestored": "Élément restauré avec succès",
101
+ "action.itemIdsRequired.bulkRestore": "Les IDs des éléments sont requis pour la restauration groupée",
102
+ "action.itemsRestored": {
103
+ one: "{{count}} élément restauré avec succès",
104
+ other: "{{count}} éléments restaurés avec succès"
105
+ },
106
+ "action.itemIdRequired.duplicate": "L'ID de l'élément est requis pour l'action de duplication",
107
+ "action.itemNotFound": "Élément introuvable",
108
+ "action.itemDuplicated": "Élément dupliqué avec succès",
109
+ "action.itemIdRequired.transition": "L'ID de l'élément est requis pour l'action de transition",
110
+ "action.targetStageRequired": "L'étape cible est requise pour l'action de transition",
111
+ "action.workflowUnsupported": "Les transitions de workflow ne sont pas prises en charge pour cette collection",
112
+ "action.unknownBuiltin": "Action intégrée inconnue : {{action}}",
113
+ "action.fieldRequired": "Le champ \"{{field}}\" est obligatoire",
85
114
  "relation.select": "Sélectionner {{name}}",
86
115
  "relation.clear": "Effacer la sélection",
87
116
  "relation.search": "Rechercher {{name}}...",
@@ -166,6 +195,8 @@ var fr_default = {
166
195
  "auth.profile": "Profil",
167
196
  "auth.myAccount": "Mon compte",
168
197
  "auth.logoutFailed": "Échec de la déconnexion. Veuillez réessayer.",
198
+ "auth.setupAlreadyCompleted": "La configuration est déjà terminée - des administrateurs existent dans le système",
199
+ "auth.failedToCreateUserAccount": "Impossible de créer le compte utilisateur",
169
200
  "error.notFound": "Non trouvé",
170
201
  "error.serverError": "Erreur serveur",
171
202
  "error.networkError": "Erreur réseau. Veuillez vérifier votre connexion.",
@@ -208,6 +239,17 @@ var fr_default = {
208
239
  "editor.underline": "Souligné",
209
240
  "editor.strikethrough": "Barré",
210
241
  "editor.heading": "Titre {{level}}",
242
+ "editor.richTextToolbar": "Barre de texte enrichi",
243
+ "editor.blockType": "Type de bloc",
244
+ "editor.selectionBlockType": "Type de bloc sélectionné",
245
+ "editor.paragraph": "Paragraphe",
246
+ "editor.textBlocks": "Blocs de texte",
247
+ "editor.headings": "Titres",
248
+ "editor.blocks": "Blocs",
249
+ "editor.formatting": "Mise en forme",
250
+ "editor.moreFormatting": "Plus de mise en forme",
251
+ "editor.alignment": "Alignement",
252
+ "editor.insert": "Insérer",
211
253
  "editor.link": "Insérer lien",
212
254
  "editor.image": "Insérer image",
213
255
  "editor.list": "Liste",
@@ -241,6 +283,18 @@ var fr_default = {
241
283
  "editor.chooseFile": "Choisir fichier",
242
284
  "editor.uploading": "Téléversement...",
243
285
  "editor.browseLibrary": "Parcourir la bibliothèque",
286
+ "editor.startWriting": "Commencez à écrire...",
287
+ "editor.pasteOrTypeLink": "Collez ou saisissez un lien...",
288
+ "editor.paragraphDescription": "Commencer avec du texte simple",
289
+ "editor.heading1Description": "Grand titre de section",
290
+ "editor.heading2Description": "Titre de section moyen",
291
+ "editor.heading3Description": "Petit titre de section",
292
+ "editor.bulletListDescription": "Créer une liste à puces",
293
+ "editor.orderedListDescription": "Créer une liste numérotée",
294
+ "editor.quoteDescription": "Insérer une citation",
295
+ "editor.codeBlockDescription": "Insérer un extrait de code",
296
+ "editor.dividerDescription": "Insérer une ligne horizontale",
297
+ "editor.tableDescription": "Insérer un tableau 3x3",
244
298
  "toast.success": "Succès",
245
299
  "toast.error": "Erreur",
246
300
  "toast.warning": "Avertissement",
@@ -425,6 +479,18 @@ var fr_default = {
425
479
  "preview.fullscreen": "Plein écran",
426
480
  "preview.close": "Fermer aperçu",
427
481
  "preview.loading": "Chargement de l'aperçu...",
482
+ "preview.pathRequired": "Le chemin est requis",
483
+ "preview.collectionNameRequired": "Le nom de la collection est requis",
484
+ "preview.adminSessionRequired": "Session administrateur requise",
485
+ "preview.invalidTokenFormat": "Format de token invalide",
486
+ "preview.invalidSignature": "Signature invalide",
487
+ "preview.invalidPayload": "Payload invalide",
488
+ "preview.tokenExpired": "Token expiré",
489
+ "preview.invalidPath": "Chemin invalide",
490
+ "preview.collectionNotFound": "Collection \"{{collection}}\" introuvable",
491
+ "preview.noUrlConfigured": "Aucune URL de prévisualisation n'est configurée pour cette collection",
492
+ "preview.disabledForCollection": "La prévisualisation est désactivée pour cette collection",
493
+ "preview.generateUrlFailed": "Impossible de générer l'URL de prévisualisation : {{message}}",
428
494
  "autosave.saving": "Enregistrement...",
429
495
  "autosave.saved": "Enregistré",
430
496
  "autosave.unsavedChanges": "Modifications non enregistrées",
@@ -454,7 +520,352 @@ var fr_default = {
454
520
  "collectionSearch.placeholder": "Rechercher enregistrements...",
455
521
  "collectionSearch.noResults": "Aucun enregistrement correspondant trouvé",
456
522
  "collectionSearch.searching": "Recherche en cours...",
457
- "audit.section.activity": "Activité"
523
+ "audit.section.activity": "Activité",
524
+ "audit.collection.description": "Parcourir tous les changements enregistrés et l'activité des utilisateurs",
525
+ "audit.collection.label": "Journal d'audit",
526
+ "audit.sections.changes": "Changements",
527
+ "audit.sections.event": "Détails de l'événement",
528
+ "audit.sections.user": "Utilisateur",
529
+ "audit.widget.recentActivity.empty": "Aucune activité récente enregistrée.",
530
+ "audit.widget.recentActivity.title": "Activité récente",
531
+ "auth.backToLogin": "Retour à la connexion",
532
+ "auth.checkYourEmail": "Consultez votre e-mail",
533
+ "auth.completeRegistration": "Terminer l'inscription",
534
+ "auth.createAccountDescription": "Créez votre compte pour commencer",
535
+ "auth.enterNewPassword": "Entrez votre nouveau mot de passe ci-dessous.",
536
+ "auth.forgotPasswordDescription": "Entrez votre e-mail pour recevoir un lien de réinitialisation",
537
+ "auth.forgotPasswordFormDescription": "Entrez votre adresse e-mail et nous vous enverrons un lien pour réinitialiser votre mot de passe.",
538
+ "auth.forgotPasswordTitle": "Mot de passe oublié",
539
+ "auth.goToLogin": "Aller à la connexion",
540
+ "auth.invalidInvitation": "Invitation invalide",
541
+ "auth.invalidInvitationDescription": "Ce lien d'invitation n'est plus valide",
542
+ "auth.invalidLink": "Lien invalide",
543
+ "auth.invalidLinkDescription": "Le lien de réinitialisation du mot de passe est invalide ou a expiré.",
544
+ "auth.invalidOrExpiredInvitation": "Invitation invalide ou expirée",
545
+ "auth.invitationExpiredMessage": "L'invitation a peut-être expiré ou a déjà été utilisée. Contactez votre administrateur pour obtenir une nouvelle invitation.",
546
+ "auth.inviteEmailDescription": "Un lien d'invitation sera envoyé à cet e-mail",
547
+ "auth.inviteEmailLabel": "Adresse e-mail",
548
+ "auth.inviteMessage": "Message personnel (facultatif)",
549
+ "auth.inviteMessageDescription": "Ce message sera inclus dans l'e-mail d'invitation",
550
+ "auth.inviteMessagePlaceholder": "Ajoutez un message personnel à l'invitation...",
551
+ "auth.inviteRole": "Rôle",
552
+ "auth.inviteRoleDescription": "Le rôle détermine les autorisations de l'utilisateur",
553
+ "auth.inviteSelectRole": "Sélectionner un rôle",
554
+ "auth.inviteSentSuccess": "Invitation envoyée avec succès",
555
+ "auth.inviteSentTo": "Invitation envoyée à {{email}}",
556
+ "auth.inviteUser": "Inviter un utilisateur",
557
+ "auth.inviteUserDescription": "Envoyer une invitation pour ajouter un nouvel utilisateur",
558
+ "auth.pleaseWait": "Veuillez patienter...",
559
+ "auth.rememberYourPassword": "Vous vous souvenez de votre mot de passe ?",
560
+ "auth.requestNewResetLink": "Veuillez demander un nouveau lien de réinitialisation du mot de passe.",
561
+ "auth.resetLinkSentDescription": "Nous avons envoyé un lien de réinitialisation du mot de passe à votre adresse e-mail. Consultez votre boîte de réception et suivez les instructions.",
562
+ "auth.resetPasswordSuccess": "Mot de passe réinitialisé avec succès",
563
+ "auth.resetPasswordSuccessDescription": "Votre mot de passe a été réinitialisé avec succès. Vous pouvez maintenant vous connecter avec votre nouveau mot de passe.",
564
+ "auth.sendInvitation": "Envoyer l'invitation",
565
+ "auth.sendingInvitation": "Envoi de l'invitation...",
566
+ "auth.signInDescription": "Entrez vos identifiants pour accéder au panneau d'administration",
567
+ "auth.user": "Utilisateur",
568
+ "auth.validatingInvitation": "Validation de l'invitation",
569
+ "blocks.add": "Ajouter un bloc",
570
+ "blocks.addFirst": "Ajoutez votre premier bloc pour commencer",
571
+ "blocks.addTo": "Ajouter à {{parent}}",
572
+ "blocks.emptyTitle": "Aucun bloc",
573
+ "blocks.libraryDescription": "Choisissez un type de bloc à ajouter à votre mise en page.",
574
+ "blocks.noDefinitions": "Aucune définition de bloc enregistrée",
575
+ "blocks.noDefinitionsHint": "Enregistrez des blocs avec .blocks() dans votre configuration d'administration",
576
+ "blocks.noEditableFields": "Ce bloc n'a aucun champ modifiable.",
577
+ "blocks.noSearchResults": "Aucun bloc ne correspond à votre recherche",
578
+ "blocks.searchPlaceholder": "Rechercher des blocs...",
579
+ "blocks.tryDifferentSearch": "Essayez un autre terme de recherche.",
580
+ "blocks.uncategorized": "Autre",
581
+ "blocks.unknownType": "Type de bloc \"{{type}}\" inconnu. Ce type de bloc n'est pas enregistré.",
582
+ "cell.blocks": "Blocs",
583
+ "cell.file": {
584
+ one: "{{count}} fichier",
585
+ other: "{{count}} fichiers"
586
+ },
587
+ "cell.item": {
588
+ one: "{{count}} élément",
589
+ other: "{{count}} éléments"
590
+ },
591
+ "cell.more": "+{{count}} de plus",
592
+ "collection.bulkRestoreError": "Échec de la restauration des éléments",
593
+ "collection.bulkRestorePartial": {
594
+ one: "{{success}} élément restauré, {{failed}} échec",
595
+ other: "{{success}} éléments restaurés, {{failed}} échecs"
596
+ },
597
+ "collection.bulkRestoreSuccess": {
598
+ one: "{{count}} élément restauré avec succès",
599
+ other: "{{count}} éléments restaurés avec succès"
600
+ },
601
+ "collection.orderSaveFailed": "Échec de l'enregistrement de l'ordre",
602
+ "collection.orderSaved": "Ordre enregistré",
603
+ "collection.reorderAddOrderField": "Ajoutez un champ d'ordre numérique avant de réorganiser",
604
+ "collection.reorderClearFilters": "Effacez les filtres pour réorganiser",
605
+ "collection.reorderClearSearch": "Effacez la recherche pour réorganiser",
606
+ "collection.reorderEnableOrderable": "Activez l'ordonnancement avant de réorganiser",
607
+ "collection.reorderEnterMode": "Entrer en mode de réorganisation",
608
+ "collection.reorderExitMode": "Quitter le mode de réorganisation",
609
+ "collection.reorderItems": "Réorganiser les éléments",
610
+ "collection.reorderMode": "Mode de réorganisation",
611
+ "collection.reorderRemoveGrouping": "Supprimez le groupement pour réorganiser",
612
+ "collection.reorderShowOnePage": "Affichez une seule page d'éléments pour réorganiser",
613
+ "collection.reorderSwitchSort": "Passer au tri {{field}} et réorganiser",
614
+ "collection.reorderUnavailable": "Réorganisation indisponible : {{reason}}",
615
+ "collection.restoreError": "Échec de la restauration de l'élément",
616
+ "collection.restoreSuccess": "Élément restauré avec succès",
617
+ "collection.restoring": "Restauration...",
618
+ "collection.sortedByField": "Trié par {{field}} {{direction}}.",
619
+ "collectionSearch.noResultsDescription": "Essayez un autre terme de recherche ou effacez la recherche pour revenir à la liste complète.",
620
+ "common.backToList": "Retour à la liste",
621
+ "common.deleted": "Supprimé",
622
+ "common.done": "Terminé",
623
+ "common.moreActions": "Plus d'actions",
624
+ "common.noValue": "Aucune valeur",
625
+ "confirm.deleteAll": "Tout supprimer",
626
+ "confirm.deleteItemDescription": "Cette action est irréversible. L'élément sera définitivement supprimé.",
627
+ "confirm.deleteItemTitle": "Supprimer l'élément ?",
628
+ "confirm.deleteSelected": "Supprimer la sélection",
629
+ "confirm.deleteSelectedDescription": "Cette action est irréversible. Tous les éléments sélectionnés seront définitivement supprimés.",
630
+ "confirm.deleteSelectedTitle": "Supprimer les éléments sélectionnés ?",
631
+ "confirm.restore": "Restaurer",
632
+ "confirm.restoreDescription": "Cet élément sera de nouveau visible dans les vues de liste normales.",
633
+ "confirm.restoreTitle": "Restaurer l'élément ?",
634
+ "dashboard.noWidgets": "Aucun widget configuré",
635
+ "dashboard.noWidgetsDescription": "Ajoutez des widgets à la configuration de votre tableau de bord pour afficher des données ici.",
636
+ "dashboard.systemStatus": "État du système",
637
+ "dashboard.welcomeDescription": "Sélectionnez une collection dans la barre latérale pour gérer votre contenu.",
638
+ "defaults.assets.sections.dimensions": "Dimensions",
639
+ "defaults.users.tabs.profile": "Profil",
640
+ "defaults.users.tabs.security": "Sécurité",
641
+ "dropzone.invalidType": "\"{{name}}\" n'est pas un type de fichier accepté",
642
+ "dropzone.label": "Déposez des fichiers ici ou cliquez pour parcourir",
643
+ "dropzone.tooLarge": "\"{{name}}\" dépasse la taille maximale de {{maxSize}}",
644
+ "dropzone.typeAudio": "Audio",
645
+ "dropzone.typeImages": "Images",
646
+ "dropzone.typePDF": "PDF",
647
+ "dropzone.typeVideos": "Vidéos",
648
+ "dropzone.uploading": "Téléversement...",
649
+ "error.accessRestricted": "Accès restreint",
650
+ "error.accessRestrictedDescription": "Vous n'avez pas l'autorisation d'accéder à cette page. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur.",
651
+ "error.accessRestrictedResourceDescription": "La ressource {{type}} \"{{name}}\" n'est pas disponible dans le panneau d'administration. Elle peut être masquée ou vous n'avez pas l'autorisation d'y accéder.",
652
+ "error.actionFailed": "Action échouée",
653
+ "error.anErrorOccurred": "Une erreur s'est produite",
654
+ "error.autosaveFailed": "Échec de l'enregistrement automatique",
655
+ "error.backToDashboard": "Retour au tableau de bord",
656
+ "error.componentNotFound": "Composant introuvable",
657
+ "error.failedToCreateAccount": "Échec de la création du compte",
658
+ "error.failedToCreateAdminAccount": "Échec de la création du compte administrateur",
659
+ "error.failedToGeneratePreviewToken": "Échec de la génération du jeton d'aperçu",
660
+ "error.failedToLoad": "Échec du chargement",
661
+ "error.failedToLoadAssets": "Échec du chargement des médias",
662
+ "error.failedToLoadComponent": "Échec du chargement du composant",
663
+ "error.failedToLoadOptions": "Échec du chargement des options",
664
+ "error.failedToLoadSelectedItems": "Échec du chargement des éléments sélectionnés",
665
+ "error.failedToLoadView": "Échec du chargement de {{viewType}}",
666
+ "error.failedToLoadViewFor": "Échec du chargement de {{viewType}} pour {{collection}}",
667
+ "error.failedToResetPassword": "Échec de la réinitialisation du mot de passe",
668
+ "error.failedToSendInvitation": "Échec de l'envoi de l'invitation",
669
+ "error.failedToSendResetEmail": "Échec de l'envoi de l'e-mail de réinitialisation",
670
+ "error.invalidCredentials": "Identifiants invalides",
671
+ "error.maxItemsAllowed": "Maximum {{max}} éléments autorisés",
672
+ "error.missingFieldComponent": "Aucun composant enregistré pour le type de champ : {{type}}",
673
+ "error.multipleUploadCollections": "Plusieurs collections de téléversement sont disponibles ({{collections}}). Indiquez la collection à utiliser.",
674
+ "error.noUploadCollection": "Aucune collection de téléversement n'est configurée.",
675
+ "error.pageNotFound": "Page introuvable",
676
+ "error.pageNotFoundDescription": "La page que vous recherchez n'existe pas.",
677
+ "error.selectAtLeastOne": "Veuillez sélectionner au moins un média",
678
+ "error.serverActionFailed": "Action serveur échouée",
679
+ "error.somethingWentWrong": "Une erreur est survenue",
680
+ "error.tryAgain": "Réessayer",
681
+ "error.unexpectedError": "Une erreur inattendue s'est produite",
682
+ "error.unknownWidget": "Widget inconnu",
683
+ "error.unregisteredViewDescription": "La vue \"{{viewId}}\" n'est pas enregistrée dans le registre des vues d'administration.",
684
+ "error.uploadFailed": "Téléversement échoué",
685
+ "error.widgetError": "Erreur de widget",
686
+ "error.widgetTypeNotRecognized": "Le type de widget \"{{type}}\" n'est pas reconnu.",
687
+ "field.codeEditor": "Éditeur de code",
688
+ "field.dragToReorder": "Faire glisser pour réorganiser",
689
+ "field.editItem": "Modifier l'élément",
690
+ "field.formEditor": "Éditeur de formulaire",
691
+ "field.moveDown": "Déplacer vers le bas",
692
+ "field.moveUp": "Déplacer vers le haut",
693
+ "field.noItems": "Aucun élément",
694
+ "field.removeItem": "Supprimer l'élément",
695
+ "field.section": "Section",
696
+ "form.deletedBanner": "Cet enregistrement a été supprimé le {{date}}. Utilisez l'action Restaurer pour le rendre à nouveau actif.",
697
+ "form.lastUpdated": "Dernière mise à jour",
698
+ "history.after": "Après",
699
+ "history.before": "Avant",
700
+ "history.blocksCount": {
701
+ one: "{{count}} bloc",
702
+ other: "{{count}} blocs"
703
+ },
704
+ "history.changeAdded": "Ajouté",
705
+ "history.changeChanged": "Modifié",
706
+ "history.changeRemoved": "Supprimé",
707
+ "history.changedFields": {
708
+ one: "{{count}} champ modifié",
709
+ other: "{{count}} champs modifiés"
710
+ },
711
+ "history.description": "Changements et activité de cet enregistrement",
712
+ "history.diffAgainstVersion": "Différence avec la version {{number}}",
713
+ "history.empty": "Aucune activité enregistrée",
714
+ "history.hideChanges": "Masquer les changements",
715
+ "history.initialSnapshot": "Instantané initial",
716
+ "history.itemsCount": {
717
+ one: "{{count}} élément",
718
+ other: "{{count}} éléments"
719
+ },
720
+ "history.moreFields": {
721
+ one: "{{count}} de plus",
722
+ other: "{{count}} de plus"
723
+ },
724
+ "history.noFieldChanges": "Aucun changement au niveau des champs dans cet instantané.",
725
+ "history.objectWithKeys": {
726
+ one: "Objet avec {{count}} clé",
727
+ other: "Objet avec {{count}} clés"
728
+ },
729
+ "history.showChanges": {
730
+ one: "Afficher les changements ({{count}})",
731
+ other: "Afficher les changements ({{count}})"
732
+ },
733
+ "history.stage": "Étape",
734
+ "history.systemUser": "Système",
735
+ "history.tabActivity": "Activité",
736
+ "history.tabVersions": "Versions",
737
+ "history.title": "Historique",
738
+ "history.versionDescription": "Parcourez les instantanés de version et inspectez les différences au niveau des champs.",
739
+ "input.selectDate": "Sélectionner une date",
740
+ "input.selectDateRange": "Sélectionner une plage de dates",
741
+ "input.selectDateTime": "Sélectionner une date et une heure",
742
+ "input.selectTime": "Sélectionner une heure",
743
+ "lock.blockedDescription": "Ce document est verrouillé. Vous pouvez le consulter, mais vous ne pouvez pas le modifier tant que le verrou n'a pas expiré.",
744
+ "lock.blockedTitle": "{{name}} est en cours de modification",
745
+ "lock.cannotSave": "Impossible d'enregistrer : le document est verrouillé par un autre utilisateur",
746
+ "lock.openElsewhere": "Ce document est ouvert dans un autre onglet. Les modifications seront synchronisées automatiquement.",
747
+ "media.allFiles": "Tous les fichiers",
748
+ "media.audio": "Audio",
749
+ "media.browseLibrary": "Parcourir la médiathèque",
750
+ "media.documents": "Documents",
751
+ "media.images": "Images",
752
+ "media.noAssets": "Aucun média",
753
+ "media.searchPlaceholder": "Rechercher par nom de fichier...",
754
+ "media.videos": "Vidéos",
755
+ "nav.adminNavigation": "Navigation d'administration",
756
+ "nav.breadcrumb": "Fil d'Ariane",
757
+ "preview.exitPreview": "Quitter l'aperçu",
758
+ "preview.exitTooltip": "Quitter le mode aperçu et effacer le cookie de brouillon",
759
+ "preview.hidePreview": "Masquer l'aperçu",
760
+ "preview.loadingPreview": "Chargement de l'aperçu...",
761
+ "preview.mode": "Mode aperçu",
762
+ "preview.previewError": "Erreur d'aperçu",
763
+ "preview.refreshing": "Actualisation...",
764
+ "preview.showPreview": "Afficher l'aperçu",
765
+ "table.editing": "Modification",
766
+ "table.emptyDescription": "Les enregistrements apparaîtront ici une fois créés.",
767
+ "table.noItemsInCollection": "Aucun élément trouvé dans cette collection",
768
+ "table.pagination": "Pagination",
769
+ "table.show": "Afficher",
770
+ "time.daysAgoShort": {
771
+ one: "il y a {{count}}j",
772
+ other: "il y a {{count}}j"
773
+ },
774
+ "time.hoursAgoShort": {
775
+ one: "il y a {{count}}h",
776
+ other: "il y a {{count}}h"
777
+ },
778
+ "time.justNow": "à l'instant",
779
+ "time.minutesAgoShort": {
780
+ one: "il y a {{count}}m",
781
+ other: "il y a {{count}}m"
782
+ },
783
+ "ui.commandPalette": "Palette de commandes",
784
+ "ui.commandPaletteDescription": "Rechercher une commande à exécuter...",
785
+ "ui.expand": "Développer",
786
+ "ui.expandSidebar": "Développer la barre latérale",
787
+ "ui.processing": "Traitement...",
788
+ "ui.searchPlaceholder": "Rechercher...",
789
+ "ui.skipToMainContent": "Passer au contenu principal",
790
+ "ui.themeDark": "Sombre",
791
+ "ui.themeLight": "Clair",
792
+ "ui.themeSystem": "Système",
793
+ "ui.toggleSidebar": "Basculer la barre latérale",
794
+ "ui.toggleTheme": "Changer de thème",
795
+ "upload.browseLibrary": "Parcourir la bibliothèque",
796
+ "upload.bulkDescription": "Ajoutez plusieurs fichiers à votre médiathèque",
797
+ "upload.bulkError": {
798
+ one: "Échec du téléversement de {{count}} fichier",
799
+ other: "Échec du téléversement de {{count}} fichiers"
800
+ },
801
+ "upload.bulkHint": "Téléversez plusieurs fichiers à la fois",
802
+ "upload.bulkSuccess": {
803
+ one: "{{count}} fichier téléversé avec succès",
804
+ other: "{{count}} fichiers téléversés avec succès"
805
+ },
806
+ "upload.bulkTitle": "Téléverser des fichiers",
807
+ "upload.failedCount": {
808
+ one: "{{count}} échec",
809
+ other: "{{count}} échecs"
810
+ },
811
+ "upload.filesCount": {
812
+ one: "{{count}} fichier",
813
+ other: "{{count}} fichiers"
814
+ },
815
+ "upload.uploadedCount": {
816
+ one: "{{count}} téléversé",
817
+ other: "{{count}} téléversés"
818
+ },
819
+ "upload.waitForComplete": "Veuillez attendre la fin des téléversements",
820
+ "version.createdAt": "Créé",
821
+ "version.empty": "Aucune version trouvée.",
822
+ "version.globalHistoryDescription": "Parcourez les versions globales précédentes et restaurez-en une si nécessaire.",
823
+ "version.history": "Historique des versions",
824
+ "version.historyDescription": "Parcourez les versions précédentes et restaurez-en une si nécessaire.",
825
+ "version.label": "Version {{number}}",
826
+ "version.operationCreate": "Créé",
827
+ "version.operationDelete": "Supprimé",
828
+ "version.operationUnknown": "Modifié",
829
+ "version.operationUpdate": "Mis à jour",
830
+ "version.revert": "Rétablir",
831
+ "version.revertConfirmDescription": "Cela remplacera le contenu actuel par la version {{number}}.",
832
+ "version.revertConfirmTitle": "Rétablir cette version ?",
833
+ "version.revertSuccess": "Version restaurée avec succès",
834
+ "version.user": "Utilisateur",
835
+ "viewOptions.groupBy": "Grouper par",
836
+ "viewOptions.groupByDescription": "Grouper la page actuelle par un champ configuré.",
837
+ "viewOptions.noGrouping": "Aucun groupement",
838
+ "viewOptions.noResultsDescription": "Aucun enregistrement ne correspond aux filtres actifs. Ajustez-les ou effacez-les pour voir plus de résultats.",
839
+ "viewOptions.realtime": "Mises à jour en temps réel",
840
+ "viewOptions.realtimeDescription": "Actualiser automatiquement ce tableau lorsque les données changent.",
841
+ "viewOptions.showDeleted": "Afficher les supprimés",
842
+ "viewOptions.showDeletedDescription": "Inclure les enregistrements supprimés de façon réversible dans cette vue.",
843
+ "viewOptions.sort": "Trier",
844
+ "widget.chart.emptyDescription": "Configurez une source de données pour afficher un graphique.",
845
+ "widget.chart.emptyTitle": "Aucune donnée de graphique",
846
+ "widget.progress.emptyDescription": "Configurez des données de progression pour afficher ce widget.",
847
+ "widget.progress.emptyTitle": "Aucune progression configurée",
848
+ "widget.quickActions.emptyDescription": "Ajoutez des actions rapides à la configuration de votre tableau de bord.",
849
+ "widget.quickActions.emptyTitle": "Aucune action rapide",
850
+ "widget.recentItems.emptyDescription": "Les éléments récents apparaîtront ici une fois créés.",
851
+ "widget.recentItems.emptyTitle": "Aucun élément récent",
852
+ "widget.table.emptyDescription": "Aucun enregistrement ne correspond aux critères actuels.",
853
+ "widget.table.emptyTitle": "Aucune ligne à afficher",
854
+ "widget.timeline.emptyDescription": "Aucun événement à afficher.",
855
+ "widget.timeline.emptyTitle": "Aucune activité pour le moment",
856
+ "widget.value.emptyDescription": "Configurez une source de valeur pour afficher ce widget.",
857
+ "widget.value.emptyTitle": "Aucune valeur configurée",
858
+ "workflow.currentStage": "Étape actuelle",
859
+ "workflow.noTransitions": "Aucune transition disponible depuis cette étape",
860
+ "workflow.scheduleLabel": "Planifier pour plus tard",
861
+ "workflow.scheduledAt": "Date et heure planifiées",
862
+ "workflow.scheduledDescription": "La transition se produira automatiquement à l'heure planifiée.",
863
+ "workflow.scheduledSuccess": "Transition vers \"{{stage}}\" planifiée pour {{date}}",
864
+ "workflow.transition": "Transition",
865
+ "workflow.transitionDescription": "Cela effectuera la transition de \"{{from}}\" vers \"{{to}}\".",
866
+ "workflow.transitionFailed": "Échec de la transition",
867
+ "workflow.transitionSuccess": "Transition vers \"{{stage}}\" effectuée avec succès",
868
+ "workflow.transitionTo": "Transition vers {{stage}}"
458
869
  };
459
870
 
460
871
  //#endregion