@kern0x1b/penstock-cli 26.10.5 → 26.10.6

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 (194) hide show
  1. package/dist/{chunk-account-C8EHysMH.js → chunk-account-CMvFjqGw.js} +1 -1
  2. package/dist/{chunk-agentFailure-piRAFLGH.js → chunk-agentFailure-BiU8hJ-k.js} +1 -1
  3. package/dist/{chunk-agentLaunch-C5Uo40vv.js → chunk-agentLaunch-CRWlfuXv.js} +1 -1
  4. package/dist/{chunk-agentServe-4O0syoYQ.js → chunk-agentServe-M3jzEiHj.js} +1 -1
  5. package/dist/{chunk-analyze-Brxlb4U1.js → chunk-analyze-CCZJQpbU.js} +1 -1
  6. package/dist/chunk-analyze-D_2dPr5n.js +1 -0
  7. package/dist/chunk-apply-Dmo_XdOA.js +1 -0
  8. package/dist/{chunk-bot-I4kuhjyv.js → chunk-bot-51CfGKVL.js} +3 -3
  9. package/dist/chunk-codeFactSet-BqEOkvBS.js +1 -0
  10. package/dist/{chunk-codeIndex-CzENd6hG.js → chunk-codeIndex-olvCG85q.js} +1 -1
  11. package/dist/{chunk-codeLinks-D-gzUjYv.js → chunk-codeLinks-DW721PAt.js} +1 -1
  12. package/dist/chunk-codeLinks-S_BEJVPa.js +1 -0
  13. package/dist/{chunk-command-BctoT00W.js → chunk-command-B-7DfFou.js} +1 -1
  14. package/dist/chunk-command-CyUljAAc.js +1 -0
  15. package/dist/{chunk-command-Jl1msVwF.js → chunk-command-D7WS1aRl.js} +1 -1
  16. package/dist/chunk-commands-CMEkVxle.js +1 -0
  17. package/dist/{chunk-compose-BV9Jg348.js → chunk-compose-DCAQQndd.js} +1 -1
  18. package/dist/{chunk-connectors-CVfz5pSg.js → chunk-connectors-DG6IqkGl.js} +1 -1
  19. package/dist/{chunk-connectors-eXPldvkc.js → chunk-connectors-UpMjbdpU.js} +1 -1
  20. package/dist/{chunk-context-DPJmldqg.js → chunk-context-B-5CZFAT.js} +1 -1
  21. package/dist/{chunk-convert-B1sgT9kl.js → chunk-convert-B7srqZpZ.js} +1 -1
  22. package/dist/chunk-deploy-CGLF2dB1.js +1 -0
  23. package/dist/{chunk-deploy-DOXu2-8q.js → chunk-deploy-Clj9f2y-.js} +1 -1
  24. package/dist/chunk-diagram-CIy-F5iz.js +1 -0
  25. package/dist/{chunk-diagram-BaVwLa4h.js → chunk-diagram-DYoeuAJx.js} +1 -1
  26. package/dist/{chunk-diagramDefects-7UG_Iwsr.js → chunk-diagramDefects-DlVCfZci.js} +1 -1
  27. package/dist/{chunk-diagrams-6suPQBVQ.js → chunk-diagrams-wnFsPOKv.js} +1 -1
  28. package/dist/{chunk-diff-D1m_eKvv.js → chunk-diff-BJ2sJwcs.js} +1 -1
  29. package/dist/chunk-diff-BelMuQhT.js +1 -0
  30. package/dist/chunk-dispatch-CescmVW-.js +6 -0
  31. package/dist/{chunk-docs-CwY3Ce9M.js → chunk-docs-DzOiA9zg.js} +4 -4
  32. package/dist/{chunk-doctor-m0mnVdDE.js → chunk-doctor-GDNwRCg3.js} +1 -1
  33. package/dist/{chunk-drawing-shRfnrs9.js → chunk-drawing-C2qewK8L.js} +1 -1
  34. package/dist/{chunk-editPreview-BgH1JVOD.js → chunk-editPreview-DGu4slO6.js} +1 -1
  35. package/dist/chunk-export-CDFdw7Eh.js +1 -0
  36. package/dist/{chunk-export-D5kPD4Or.js → chunk-export-DP1Hab-_.js} +1 -1
  37. package/dist/{chunk-facts-DA3Y-k9a.js → chunk-facts-CfA8qH5b.js} +1 -1
  38. package/dist/{chunk-failure-BsimkHy_.js → chunk-failure-BK7fu4Yo.js} +1 -1
  39. package/dist/{chunk-features-BfRg2kR5.js → chunk-features-CiC2Yoej.js} +1 -1
  40. package/dist/chunk-features-Dq1Gvqp3.js +1 -0
  41. package/dist/chunk-folders-BO8qUHUV.js +1 -0
  42. package/dist/{chunk-folders-13vx0i0n.js → chunk-folders-yTMgOqLo.js} +1 -1
  43. package/dist/chunk-formChecks-BOiD8Idv.js +1 -0
  44. package/dist/chunk-help-DKtpVSxI.js +85 -0
  45. package/dist/chunk-importCommand-_CnKIoNk.js +1 -0
  46. package/dist/{chunk-init-AIh_7yE0.js → chunk-init-3zEab7KI.js} +3 -3
  47. package/dist/chunk-license-Cvnp1Aee.js +1 -0
  48. package/dist/{chunk-license-x3oHbKe2.js → chunk-license-DU4P8P8A.js} +1 -1
  49. package/dist/{chunk-lint-C_fAcLIg.js → chunk-lint-Df2davEY.js} +1 -1
  50. package/dist/{chunk-load-BVJUBU5S.js → chunk-load-CRmIvn7e.js} +1 -1
  51. package/dist/chunk-main-BY7JEoe1.js +1 -0
  52. package/dist/chunk-mcp-DKX2xT8d.js +77 -0
  53. package/dist/{chunk-mcpLaunch-C13ViiIP.js → chunk-mcpLaunch-DpDE0hW-.js} +1 -1
  54. package/dist/chunk-migrate-BaNzQNyD.js +2 -0
  55. package/dist/chunk-migrate-DcxIkacG.js +1 -0
  56. package/dist/{chunk-penstockCli-CqiOKC75.js → chunk-penstockCli-B0_wWDGy.js} +1 -1
  57. package/dist/chunk-plural-Di3FH8HP.js +1 -0
  58. package/dist/{chunk-pr-tC3-PSNM.js → chunk-pr-DXs1coaS.js} +1 -1
  59. package/dist/{chunk-project-qT-Fk_Rz.js → chunk-project-BS-4dy5o.js} +1 -1
  60. package/dist/{chunk-report-CDz78nCI.js → chunk-report-CtkTRSGT.js} +1 -1
  61. package/dist/{chunk-review-BqZSohXR.js → chunk-review-WIpFGKkc.js} +1 -1
  62. package/dist/{chunk-rules-DJlL7K_Q.js → chunk-rules-CoJAmvwu.js} +1 -1
  63. package/dist/{chunk-security-5SU-bq3A.js → chunk-security-BKVRwb6V.js} +10 -10
  64. package/dist/{chunk-share-YSewfw3F.js → chunk-share-B3W30sbt.js} +3 -3
  65. package/dist/chunk-src-CxTpK8wk.js +890 -0
  66. package/dist/{chunk-stages-C-nhLoBW.js → chunk-stages-Gm5BZUp5.js} +1 -1
  67. package/dist/chunk-status-X9Ny-Nu8.js +1 -0
  68. package/dist/{chunk-systemError-B-1nL94i.js → chunk-systemError-F6bMRwXU.js} +1 -1
  69. package/dist/chunk-systemError-cGwrYkmo.js +1 -0
  70. package/dist/{chunk-table-CJtiXv0e.js → chunk-table-B2WTbpMl.js} +1 -1
  71. package/dist/chunk-taskTest-B3gfOti1.js +1 -0
  72. package/dist/{chunk-taskTest-4rIxp0rL.js → chunk-taskTest-D-WDCLD5.js} +2 -2
  73. package/dist/{chunk-templates-Bxe3J0qy.js → chunk-templates-BdsiNRJ3.js} +1 -1
  74. package/dist/chunk-testCases-ba8k3BJD.js +4 -0
  75. package/dist/chunk-testCases-gXzkCxF5.js +1 -0
  76. package/dist/chunk-tests-BLBZ1eh2.js +1 -0
  77. package/dist/chunk-tests-DxL0JMtB.js +23 -0
  78. package/dist/chunk-translator-BAjzyPKE.js +22 -0
  79. package/dist/{chunk-trust-u1vZ6Yk0.js → chunk-trust-Ci9pDa27.js} +1 -1
  80. package/dist/{chunk-trust-yKw_pXRj.js → chunk-trust-DlJIoKs8.js} +1 -1
  81. package/dist/{chunk-workerVariables-CCLcoR0U.js → chunk-workerVariables-BnLSud8o.js} +1 -1
  82. package/dist/{chunk-wrapper-AJWl6ru-.js → chunk-wrapper-DqqRt0FZ.js} +1 -1
  83. package/dist/chunk-wrapper-E_u1_-Db.js +1 -0
  84. package/dist/locales/de.json +103 -2
  85. package/dist/locales/es.json +103 -2
  86. package/dist/locales/fr.json +103 -2
  87. package/dist/locales/ja.json +103 -2
  88. package/dist/locales/ko.json +103 -2
  89. package/dist/locales/pt-BR.json +103 -2
  90. package/dist/locales/ru.json +103 -2
  91. package/dist/locales/zh.json +103 -2
  92. package/dist/penstock.js +1 -1
  93. package/dist/web/assets/{AgentSettings-C3Er_rlW.js → AgentSettings-4B4hSxBk.js} +1 -1
  94. package/dist/web/assets/{AgentsDialog-Bo7kikb6.js → AgentsDialog-C32ALLtE.js} +1 -1
  95. package/dist/web/assets/{BpmnCanvas-Dw5zgCN3.js → BpmnCanvas-CZOJiq6t.js} +1 -1
  96. package/dist/web/assets/{BpmnDocument-CuU0biX9.js → BpmnDocument-BNLfXWLG.js} +4 -4
  97. package/dist/web/assets/{ConflictDialog-GxZ-d8SK.js → ConflictDialog-mUJYs1zz.js} +1 -1
  98. package/dist/web/assets/{DiffDocument-Bh3hFmmi.js → DiffDocument-C7csJl3x.js} +1 -1
  99. package/dist/web/assets/{DmnDocument-C8HpJAcE.js → DmnDocument-B2dyX49k.js} +1 -1
  100. package/dist/web/assets/{FormDocument-CH-4KB3x.js → FormDocument-ChSqEPE5.js} +1 -1
  101. package/dist/web/assets/{FormStepView-DraPVoAN.js → FormStepView-j4C0Qovo.js} +1 -1
  102. package/dist/web/assets/{GraphAwareLayoutService-C8J8YHJI.js → GraphAwareLayoutService-DD2iXfXi.js} +1 -1
  103. package/dist/web/assets/{NewFileDialog-j09JqpPj.js → NewFileDialog-eeIqqmXc.js} +1 -1
  104. package/dist/web/assets/{QuickOpen-CeBhsCzA.js → QuickOpen-C0I0FRt2.js} +1 -1
  105. package/dist/web/assets/{ScriptPane-DDikZDv6.js → ScriptPane-BAvcgLWX.js} +2 -2
  106. package/dist/web/assets/{ScriptRunDialog-DdzJ0pvT.js → ScriptRunDialog-DLlMiJiK.js} +1 -1
  107. package/dist/web/assets/{SettingsDialog-JUc5zUR9.js → SettingsDialog-C3ts5aiN.js} +1 -1
  108. package/dist/web/assets/{ShortcutsDialog-DECqWPNE.js → ShortcutsDialog-DVV504pS.js} +1 -1
  109. package/dist/web/assets/{SourceDocument-X8ajUcxM.js → SourceDocument-DRgUPazk.js} +1 -1
  110. package/dist/web/assets/{TextDocument-0z7qojAh.js → TextDocument-Bm0sPjft.js} +1 -1
  111. package/dist/web/assets/{UnreadableFileLayer-D3G59F4u.js → UnreadableFileLayer-DbW33CnE.js} +1 -1
  112. package/dist/web/assets/{UploadDialog-CiahYkTc.js → UploadDialog-BSl3zFNn.js} +1 -1
  113. package/dist/web/assets/{apply-HqvoGwLE.js → apply-B3FkgxjU.js} +1 -1
  114. package/dist/web/assets/{bpmnTheme-cOvp4qFc.js → bpmnTheme-C3HdVV1D.js} +1 -1
  115. package/dist/web/assets/bridgeInstance-BZBhe5hF.js +851 -0
  116. package/dist/web/assets/{commands-nPznxvPp.js → commands-DHPxsavW.js} +1 -1
  117. package/dist/web/assets/de-BH_bnU4H.js +1 -0
  118. package/dist/web/assets/{dialog-CtGB1LHI.js → dialog-LcHsiQKJ.js} +1 -1
  119. package/dist/web/assets/{diff-NgYeO98t.js → diff-bpdDl0KE.js} +1 -1
  120. package/dist/web/assets/{documentBridge-QW0IZ9Bq.js → documentBridge-4fZNBdp4.js} +2 -2
  121. package/dist/web/assets/{documents-KeXEdK1U.js → documents-FOVGbYYF.js} +1 -1
  122. package/dist/web/assets/{duplicate-DNPpPVse.js → duplicate-CdCuOnUl.js} +1 -1
  123. package/dist/web/assets/{engines-DU0BfbYM.js → engines-C884tl-T.js} +1 -1
  124. package/dist/web/assets/es-D7v7zkxC.js +1 -0
  125. package/dist/web/assets/{formChecks-sU20kKkU.js → formChecks-Bvuzw2sb.js} +1 -1
  126. package/dist/web/assets/fr-CuzAJTai.js +1 -0
  127. package/dist/web/assets/frontend-Y1MvD_Uo.js +1 -0
  128. package/dist/web/assets/httpHost-CnF86WJB.js +1 -0
  129. package/dist/web/assets/{index.es-BqVUpGyA.js → index.es-0rLw__5_.js} +1 -1
  130. package/dist/web/assets/{index.es-DqkfrvWI.js → index.es-BP1Cc_0e.js} +1 -1
  131. package/dist/web/assets/{intelligence-Ck_Q9upa.js → intelligence-E2EBYhHr.js} +1 -1
  132. package/dist/web/assets/ja-BgElyPpa.js +1 -0
  133. package/dist/web/assets/{jspdf.es.min-CM3S4IDt.js → jspdf.es.min-BSRrqhq_.js} +3 -3
  134. package/dist/web/assets/ko-j1Oi9MKH.js +1 -0
  135. package/dist/web/assets/{lib-DAKOOgix.js → lib-De3fPoUi.js} +1 -1
  136. package/dist/web/assets/{platform-CkWAyNst.js → platform-CjEV0T5t.js} +1 -1
  137. package/dist/web/assets/{preferences-nBrFGN89.js → preferences-CmXdxfFo.js} +1 -1
  138. package/dist/web/assets/pt-BR-CRWG2th4.js +1 -0
  139. package/dist/web/assets/ru-KJyuYSUL.js +1 -0
  140. package/dist/web/assets/{run-B3YvrVeP.js → run-B9EUa035.js} +1 -1
  141. package/dist/web/assets/{samples-BVuIm-bu.js → samples-03zukOEM.js} +1 -1
  142. package/dist/web/assets/{testCaseRuns-DYKnccnc.js → testCaseRuns-BYhJPipg.js} +1 -1
  143. package/dist/web/assets/translator-OIpY8kTG.js +1 -0
  144. package/dist/web/assets/{ui-3pEQJ50t.js → ui-BLMlfdD3.js} +1 -1
  145. package/dist/web/assets/{useTrace-BAXnn0Bt.js → useTrace-Cr28sh4A.js} +1 -1
  146. package/dist/web/assets/{web-B2zkonPE.js → web-Q9VZNxQi.js} +5 -5
  147. package/dist/web/assets/zh-CukDLcVz.js +1 -0
  148. package/dist/web/index.html +19 -19
  149. package/package.json +1 -1
  150. package/dist/chunk-analyze-CUxuBgNS.js +0 -1
  151. package/dist/chunk-apply-BAMwoXG9.js +0 -1
  152. package/dist/chunk-baseline-DvS2S0am.js +0 -1
  153. package/dist/chunk-codeFactSet-DOOlbIIj.js +0 -1
  154. package/dist/chunk-codeLinks-DLxEBWPi.js +0 -1
  155. package/dist/chunk-command-BR4memGJ.js +0 -1
  156. package/dist/chunk-commands-CeRlfHY-.js +0 -1
  157. package/dist/chunk-deploy-C4KJK-tw.js +0 -1
  158. package/dist/chunk-diagram-CCA1-fT5.js +0 -1
  159. package/dist/chunk-diff-BC8gZX5w.js +0 -1
  160. package/dist/chunk-dispatch-CW2CJI0C.js +0 -6
  161. package/dist/chunk-export-9AWsr5ai.js +0 -1
  162. package/dist/chunk-features-BwnwB6jL.js +0 -1
  163. package/dist/chunk-folders-C1Nes4Ap.js +0 -1
  164. package/dist/chunk-formChecks-acRgARZ3.js +0 -1
  165. package/dist/chunk-help-CFhmAhz8.js +0 -85
  166. package/dist/chunk-importCommand-5SJxu2k4.js +0 -1
  167. package/dist/chunk-license-B_To2110.js +0 -1
  168. package/dist/chunk-main-D3S4Xr__.js +0 -1
  169. package/dist/chunk-mcp-ByMCWlXC.js +0 -76
  170. package/dist/chunk-migrate-CLQ-hrae.js +0 -1
  171. package/dist/chunk-migrate-CVUR1K7f.js +0 -1
  172. package/dist/chunk-plural-Bq_4vgOr.js +0 -1
  173. package/dist/chunk-src-BLyg_6UX.js +0 -879
  174. package/dist/chunk-status-DgeSOz3A.js +0 -1
  175. package/dist/chunk-systemError-2me5k57V.js +0 -1
  176. package/dist/chunk-taskTest-rng12v_b.js +0 -1
  177. package/dist/chunk-testCases-CwQ-Mi7L.js +0 -1
  178. package/dist/chunk-testCases-xculyxH_.js +0 -4
  179. package/dist/chunk-tests-C-kNQNpq.js +0 -1
  180. package/dist/chunk-tests-C3XJ9LMT.js +0 -23
  181. package/dist/chunk-translator-BFUJmSkR.js +0 -21
  182. package/dist/chunk-wrapper-Bxz1Lgp5.js +0 -1
  183. package/dist/web/assets/bridgeInstance-DQk-c8L1.js +0 -850
  184. package/dist/web/assets/de-Dj813wjn.js +0 -1
  185. package/dist/web/assets/es-CyJDEw4H.js +0 -1
  186. package/dist/web/assets/fr-B1lqrd3d.js +0 -1
  187. package/dist/web/assets/frontend-caI7mOAL.js +0 -1
  188. package/dist/web/assets/httpHost-Dqit__mm.js +0 -1
  189. package/dist/web/assets/ja-BUAM_DzQ.js +0 -1
  190. package/dist/web/assets/ko-7l4EjTF9.js +0 -1
  191. package/dist/web/assets/pt-BR-CxxRL7kF.js +0 -1
  192. package/dist/web/assets/ru-C4gbkVXL.js +0 -1
  193. package/dist/web/assets/translator-B2N3PQBL.js +0 -1
  194. package/dist/web/assets/zh-DIYPlVjz.js +0 -1
@@ -0,0 +1 @@
1
+ var e=JSON.parse(`{"name":"Penstock","common":{"loading":"Chargement…","learnMore":"En savoir plus","close":"Fermer","optional":" (facultatif)","add":"Ajouter","back":"Retour","cancel":"Annuler","checkAgain":"Vérifier à nouveau","code":"Code","comments":"Commentaires","copy":"Copier","delete":"Supprimer","done":"Terminé","engine":"Moteur","export":"Exporter","monitor":"Supervision","next":"Suivant","open":"Ouvrir","overview":"Vue d’ensemble","paste":"Coller","problems":"Problèmes","properties":"Propriétés","recheck":"Revérifier","redo":"Rétablir","reload":"Recharger","remove":"Retirer","retry":"Réessayer","save":"Enregistrer","scenarios":"Scénarios","search":"Rechercher","showAll":"Tout afficher","skip":"Ignorer","stop":"Arrêter","undo":"Annuler","variables":"Variables","more":"+{number} de plus","copyCommand":"Copier la commande","commandCopied":"Copié"},"config":{"problem":{"syntaxWhy":"le fichier n’a pas pu être lu comme du YAML - {reason}.","typeOfFile":"le fichier devrait contenir {expected}, mais il contient {found}.","type":"{key} devrait être {expected}, mais c’est {found}.","unknownKey":"Penstock ne lit aucun réglage nommé {key}, il est donc ignoré.","insteadStopped":"Rien n’est lu dans ce fichier tant qu’il n’est pas corrigé.","insteadIde":"Penstock utilise les réglages de l’IDE tant que le fichier n’est pas lu."},"brokenTitle":"Impossible de lire {0}","reason":{"nestedMapping":"une valeur est imbriquée dans une autre valeur de la même ligne","duplicateKey":"le même réglage est écrit deux fois","tabIndentation":"une tabulation est utilisée là où l’indentation demande des espaces","implicitKey":"un réglage est écrit sur la même ligne que celui du dessus","unclosed":"le fichier s’arrête au milieu d’une valeur"},"expect":{"text":"du texte","flag":"true ou false","number":"un nombre","list":"une liste de textes","section":"une section de réglages","freeSection":"une section de réglages","oneOf":"l’un de {values}"},"found":{"text":"du texte","flag":"true ou false","number":"un nombre","list":"une liste","section":"une section","nothing":"rien"},"file":{"readsInstead":"Penstock lit ce fichier à la place des réglages de l’IDE.","overrides":"Un penstock.yaml dans un sous-dossier remplace celui-ci pour les diagrammes en dessous.","templatesFrom":"Dossiers à partir desquels lire les modèles d’éléments Camunda :","secretsStay":"Les mots de passe et les secrets restent dans le coffre de l’IDE, jamais ici."},"local":{"writtenBy":"Écrit par Penstock pour cette machine. Gardez-le hors du suivi de version.","valuesWin":"Les valeurs d’ici priment sur penstock.yaml ; supprimez une clé pour revenir à la réponse du projet.","gitignore":"Penstock, cette machine seulement","wrapperWhichPenstock":"Le Penstock avec lequel ce projet tourne. Le fichier est versionné et tout le monde utilise le même.","wrapperChangeVersion":"Changez la version à la main, ou exécutez : ./penstockw update [version]"}},"palette":{"label":"Palette de commandes","search":"Rechercher une action…","hint":"Flèches pour naviguer, Entrée pour exécuter, Maj+Entrée pour épingler ou détacher de la barre d’outils, Échap pour fermer","actions":"Actions","matches":{"one":"{count} action","other":"{count} actions"},"noMatch":"Aucune action ne correspond à \\"{query}\\"","pin":"Épingler à la barre d’outils","unpin":"Détacher de la barre d’outils"},"export":{"title":"Exporter le diagramme","diagram":"Diagramme","mainDiagram":"Diagramme principal","theme":"Thème","themeLight":"Clair","themeDark":"Sombre","themeDracula":"Dracula","schema":"Style de dessin","schemaDefault":"Standard","schemaSketchy":"Croquis","format":"Format","background":"Utiliser l’arrière-plan","cancel":"Annuler","copy":"Copier","export":"Exporter","exporting":"Exportation...","copyTitle":"Copier l’image avec ces paramètres, au format PNG","previewFailed":"Impossible d’afficher l’aperçu du diagramme","copyFailed":"L’image n’a pas pu être copiée","notLoaded":"Export impossible : l’aperçu du diagramme ne s’est pas chargé","unnamedSubprocess":"Sous-processus non nommé","asFormat":"Exporter en {format}","untitledFile":"diagramme"},"cli":{"noDiagrams":"Aucun fichier .bpmn trouvé dans {paths}.","wrote":"a écrit {file}","nothingWritten":"Rien n’a été écrit.","nothingChanged":"Rien n’a été modifié.","notAGitRepository":"Pas un dépôt git, il n’y a donc rien à comparer.","header":{"status":"STATUT","endpoint":"POINT D'ACCÈS","files":"FICHIERS","file":"FICHIER","details":"DÉTAILS","worker":"WORKER","name":"NOM","id":"ID","version":"VERSION","type":"TYPE","engine":"MOTEUR","property":"PROPRIÉTÉ","value":"VALEUR","action":"ACTION","target":"CIBLE","flow":"FLUX","testCases":"CAS DE TEST","testClass":"CLASSE DE TEST","process":"PROCESSUS","scenarios":"SCÉNARIOS","severity":"GRAVITÉ","content":"CONTENU"},"trust":{"hookRefused":"hook {stage} : non exécuté, car {root} n’est pas un projet approuvé","notTrusted":"le projet n’est pas approuvé, penstock.yaml ne peut donc pas exécuter de commandes shell ici","runTrust":"exécutez penstock trust une fois dans ce projet pour l’autoriser, ou passez --trust-project pour cette exécution seulement","questionNotTrusted":"{root} n’est pas un projet approuvé.","questionPower":"penstock.yaml peut exécuter n’importe quelle commande shell dans ce dossier, avec votre propre compte.","questionAllow":"L’autoriser ici et à partir de maintenant ? [y/N] ","questionInIt":"le penstock.yaml qu’il contient peut exécuter n’importe quelle commande shell dans ce dossier, avec votre propre compte.","questionTrust":"L’approuver sur cette machine ? [y/N] ","once":"autorisé pour cette exécution seulement, par --trust-project","saidNo":"Non, rien de penstock.yaml n’a donc été exécuté.","nowTrusted":"penstock.yaml peut désormais exécuter des commandes shell ici","trustedThere":"penstock.yaml peut exécuter des commandes shell là-bas","nothingToTrust":"il n’y a pas de penstock.yaml, il n’y a donc rien à approuver","nothingToTrustHint":"rien n’a été écrit. Exécutez penstock init pour en écrire un, ou penstock trust dans le dossier du projet","forgetHint":"penstock trust --forget supprime un ancien enregistrement","alreadyTrusted":"il est déjà approuvé","notTrustedYet":"rien n’a été écrit, le projet n’est toujours pas approuvé","noneTrusted":"Aucun projet n’est approuvé sur cette machine.","headerProject":"PROJET APPROUVÉ","headerSince":"DEPUIS","mayNotRun":"penstock.yaml ne peut plus exécuter de commandes shell là-bas","notTrustedBefore":"il n’était pas approuvé"},"templates":{"noWorker":"Aucun job worker trouvé : Penstock lit @JobWorker et @ExternalTaskSubscription dans les fichiers .java, .kt, .kts, .groovy et .scala.","template":"MODÈLE","workerIn":"{value} dans {file}:{line}","workerInHandler":"{value} dans {file}:{line}, gestionnaire {handler}","inputs":"ENTRÉES","action":{"written":"écrit","updated":"mis à jour","unchanged":"inchangé"},"writtenFor":"Modèles d’élément des job workers de ce projet, dans .camunda/element-templates.","nothingToWrite":"Rien à écrire : chaque modèle décrit déjà ce que fait le worker.","summary":"{written} écrits, {updated} mis à jour. Lancez le modeler ou rechargez l’éditeur pour les voir.","noneToCheck":"Aucun modèle d’élément dans {folder} : rien à vérifier.","allMatch":"Chaque modèle d’élément correspond toujours au worker dont il est issu.","drifted":"{templates} ne correspond plus au worker :","asksFor":"demande {name}, que le worker ne lit pas","hasExtra":"contient {name}, que le worker ne lit plus","hasOtherType":"contient {name} avec un autre type","fixHint":"Exécutez penstock templates generate pour les remettre en accord.","usage":"Utilisez templates generate pour écrire les modèles d’élément, ou templates --check pour échouer dès qu’un modèle ne correspond plus à son worker.","count":{"template":{"one":"{count} modèle","other":"{count} modèles"},"elementTemplate":{"one":"{count} modèle d’élément","other":"{count} modèles d’élément"}}},"connectors":{"notInside":"Pas un chemin dans le répertoire des connecteurs : {path}","linkAt":"Le répertoire des connecteurs contient un lien à {path}","holdsALink":"Le répertoire des connecteurs contient un lien","fileInTheWay":"Un fichier est sur le chemin","tooLarge":"Le fichier dépasse 64 MB","contentTooLarge":"Le contenu dépasse 64 MB","directoryInTheWay":"Un répertoire est sur le chemin","nothingToMove":"Rien à déplacer","destinationExists":"La destination existe déjà","notACatalogueUrl":"Pas une URL de catalogue de connecteurs : {url}","githubUnreachable":"GitHub est injoignable","redirect":"GitHub a répondu par une redirection, qui n’est pas suivie","responseTooLarge":"La réponse dépasse 64 MB","interrupted":"Le téléchargement a été interrompu","listOnly":"Seul list peut nommer le répertoire des connecteurs lui-même","renameNeedsTarget":"rename a besoin d’une destination","unknownOperation":"Opération inconnue : {operation}","downloadFailed":"Les modèles de connecteurs n’ont pas pu être téléchargés : {reason}.{when} Exécutez \`penstock connectors --refresh\` pour réessayer maintenant.","unknownReason":"raison inconnue","retriedAfter":" Il est réessayé automatiquement après {when} ;","usingOlder":"Utilisation des modèles téléchargés pour {ref} ; recherche d’une version plus récente impossible : {reason}","resolveUsage":"Usage : penstock connectors resolve <id> [version]","notAVersion":"Pas une version de modèle : {version}","idVersion":"{id} version {version}","noTemplate":"Aucun modèle {which} dans le catalogue pour {ref}","cacheMissing":"Le fichier mis en cache pour {id} est absent ; exécutez \`penstock connectors --refresh\`","summary":"Modèles de connecteurs pour {ref} : {current} à jour, {older} avec des versions plus anciennes"},"update":{"npmFailed":"npm n’a pas pu installer {package}","noCli":"{package} ne contenait pas le CLI Penstock","noWrapper":"Aucun wrapper Penstock ici ni au-dessus. Exécutez : penstock init","noLatest":"Impossible de trouver la dernière version de {package}. Indiquez une version : penstockw update 2.5.0","downloadFailed":"Impossible de télécharger Penstock {version} : {reason}","alreadyPinned":"Penstock {version}, déjà la version épinglée","moved":"Penstock {from} -> {to}","none":"(aucune)","downloaded":"version {version} téléchargée dans {home}","alreadyDownloaded":"{version} était déjà téléchargée","droppedDistribution":"distribution={distribution} supprimée ; elle nommait {version}","commit":"Commitez {scripts} et {properties}."},"license":{"notInteractive":"La connexion demande un terminal pour répondre. Dans un pipeline, définissez plutôt PENSTOCK_LICENSE sur votre clé de licence.","codeOnItsWay":"Un code de connexion est en route vers {email}.","codeQuestion":"Code de l’e-mail : ","emailQuestion":"E-mail avec lequel vous avez acheté Penstock : ","nothingChangedAgain":"Rien n’a été modifié. Exécutez penstock license login pour réessayer.","tooManyMachines":"Votre licence {tier} est utilisée sur {machines} machines, soit son maximum :","since":", depuis {when}","freeWhich":"Libérer laquelle pour cette machine ? (numéro, ou Entrée pour arrêter) ","noneBought":"Aucune licence Penstock n’a été achetée avec {email}.","buyOrSignIn":"Achetez-en une avec penstock license buy, ou connectez-vous avec l’adresse qui a servi à l’achat.","activeHere":"Penstock {tier} est active sur cette machine{again}. L’éditeur de votre IDE l’utilise aussi.","activeHerePlain":"Penstock {tier} est active sur cette machine.","again":" à nouveau","buyUsage":"penstock license buy [pro|team]","alreadyActive":"Penstock {tier} est déjà active sur cette machine.","checkoutOpen":"Le paiement de Penstock {tier} est ouvert dans votre navigateur :","waitingForPayment":"En attente du paiement ; il se termine tout seul une fois passé.","paidEmailQuestion":"E-mail avec lequel vous avez payé : ","paid":"Payé, merci.","paymentFailed":"Le paiement n’est pas passé et rien n’a été débité. Exécutez penstock license buy pour réessayer.","checkoutExpired":"Le paiement a expiré. Exécutez penstock license buy pour en ouvrir un nouveau.","stoppedWaiting":"Attente interrompue. Si vous avez payé, exécutez penstock license login.","released":"La licence a été libérée sur cette machine ; elle peut être utilisée sur une autre.","cleared":"Il n’y avait aucun poste sur cette machine à libérer ; le fichier de licence a été vidé.","nothingToRelease":"Il n’y a aucune licence sur cette machine à libérer, ou le service de licence est injoignable.","trial":"Il n’y a pas encore de clé : cette machine est en période d’essai Pro, {left}, jusqu’au {ends}.","running":"en cours","keyComesWithPurchase":"Une clé vient avec un achat : penstock license buy, ou penstock license login si vous avez déjà acheté Penstock.","enterAKey":"Pour saisir une clé que vous avez, exécutez penstock license activate <key>.","noneOnThisMachine":"Il n’y a aucune licence sur cette machine{trial}. Connectez-vous d’abord : penstock license login","trialEnded":", et la période d’essai Pro a pris fin le {ends}","orBuyOne":"Ou achetez-en une : penstock license buy. Pour saisir une clé que vous avez, exécutez penstock license activate <key>.","teamOnly":"Seule une clé Penstock Team fonctionne dans un pipeline, et la licence achetée avec cette adresse est Pro.","buyTeam":"Achetez Team avec penstock license buy team.","keepKeySecret":"Gardez une clé secrète. Dans un pipeline, définissez-la comme PENSTOCK_LICENSE ; elle n’a pas de machine propre et demande une clé Team pour les fonctions payantes.","activateUsage":"penstock license activate <key>, ou connectez-vous sans clé : penstock license login","buyAndSignIn":"penstock license buy acheter Pro penstock license login déjà acheté","usage":"penstock license [status|key|activate <key>|deactivate]","serviceUnreachable":"Le service de licence est injoignable : {reason}","tierRow":"offre","statusRow":"état"},"drawing":{"unknownPathCommand":"la commande de tracé {command} n’est pas comprise","incomplete":"l’image serait incomplète : {reason}","nothingToDraw":"le diagramme n’a rien à dessiner"},"bot":{"noRepository":"{names} n’est pas défini. Le workflow qui exécute le bot doit tourner dans un dépôt, et GITHUB_REPOSITORY est ce qui le nomme.","noToken":"{names} n’est pas défini. Le jeton du workflow est le jeton par défaut : accordez au job issues: write et pull-requests: write. Un jeton qui vous appartient va dans le secret PENSTOCK_TOKEN.","noEventPath":"{names} n’est pas défini. Le workflow doit passer GITHUB_EVENT_PATH, ou exécuter le bot comme une action.","noGitLabApi":"{names} n’est pas défini. GitLab le définit dans chaque job ; une exécution hors de GitLab ne peut pas répondre à un commentaire.","noGitLabToken":"{names} n’est pas défini. Ajoutez une variable CI/CD PENSTOCK_TOKEN : un jeton d’accès projet avec le rôle Developer et la portée api (Settings, CI/CD, Variables).","noGitLabProject":"{names} n’est pas défini. La charge utile du webhook porte l’id du projet, et chaque job GitLab définit CI_PROJECT_ID.","noBitbucketRepo":"{names} n’est pas défini. Le pipeline doit tourner sur un événement de pull request, qui le définit.","noBitbucketPr":"{names} n’est pas défini. Le pipeline doit tourner sur un événement de pull request, qui le définit.","noBitbucketToken":"{names} n’est pas défini. Ajoutez une variable de dépôt PENSTOCK_TOKEN : un jeton d’accès au dépôt avec l’écriture sur les pull requests (Repository settings, Access tokens, Create token), et autorisez les pipelines à s’en servir.","noBitbucketBranch":"{names} n’est pas défini. L’événement de pull request le définit.","noAzureCollection":"{names} n’est pas défini. Le pipeline doit tourner sur une pull request, qui le définit.","noAzureProject":"{names} n’est pas défini. Le pipeline doit tourner dans un projet, qui le définit.","noAzureRepository":"{names} n’est pas défini. Le pipeline doit tourner sur une pull request, qui le définit.","noAzurePullRequest":"{names} n’est pas défini. Le pipeline doit tourner sur une pull request, qui le définit.","noAzureToken":"{names} n’est pas défini. Définissez SYSTEM_ACCESSTOKEN sur $(System.AccessToken) et laissez la build contribuer aux pull requests (Project settings, Repositories, Security, allow scripts to access the OAuth token), ou définissez un secret PENSTOCK_TOKEN.","noAzureBranch":"{names} n’est pas défini. L’événement de pull request le définit.","notAGitCheckout":"Le bot s’exécute dans un checkout git.","unknownCi":"Cela ne ressemble pas à une exécution CI connue de penstock : GitHub, Gitea, Forgejo, GitLab, Bitbucket ou Azure DevOps.","nothingToAnswer":"Rien à répondre.","nothingDrawn":"Rien n’a été dessiné, il n’y a donc rien à publier.","answeredOn":"répondu sur {platform}","refusedSaved":"a dit non, et l’a enregistré pour l’étape de publication","notForPenstock":"Le commentaire n’était pas destiné à penstock.","couldNotCheckOut":"Impossible de faire un checkout de {ref}.","baseNotFound":"Impossible de trouver la base {base}.","drew":"a dessiné {file}","answerSaved":"réponse enregistrée pour l’étape de publication","unknownStage":"Étape inconnue : {stage}. Utilisez draw ou post.","count":{"element":{"one":"{count} élément","other":"{count} éléments"}},"elementsNotDrawn":"{elements} non dessinés, l’éditeur ne peut pas les dessiner non plus - {ids}","theFork":"le fork {head}","aForkNoLongerExists":"un fork qui n’existe plus","fromAnotherFork":"Cette pull request vient de {head}, pas de {base} ; le bot ne l’a donc pas récupérée et n’a rien exécuté de ce qu’elle contient. Poussez la branche vers {base} et le bot répondra là-bas.","noPictureBecause":"{file} : pas d’image, car {reason}. Une image qui pourrait être fausse n’est pas affichée.","picturesInArtifacts":"Les images se trouvent dans les artefacts de cette build.","sayWhatToCompareWith":"Dites avec quoi comparer : \`/penstock diff <commit, branche ou tag>\`.","couldNotFindRef":"Je n’ai pas trouvé \`{ref}\` dans ce dépôt.","diagramsChangedSince":"## Diagrammes modifiés depuis \`{ref}\`","noDiagramChangedHere":"Aucun diagramme n’a changé ici.","cleanAgainstTheBaseline":"Aucun problème. Le dessin est propre par rapport à la base de référence.","noDiagramToDraw":"Il n’y a rien à dessiner. Nommez-en un : \`/penstock image path/to/process.bpmn\`.","notInThisChange":"\`{file}\` ne fait pas partie de ce changement.","drawnButNotShown":"Dessiné, mais pas affiché ici : {files}. [{open}]({link}).","openThem":"les ouvrir","couldNotDoThat":"Je n’ai pas pu faire cela : {reason}","help":{"intro":"Je lis les diagrammes de ce changement. Demandez-moi dans un commentaire :","report":"- \`/penstock\` - la revue complète : problèmes, changements, images","check":"- \`/penstock check\` - seulement les problèmes","diff":"- \`/penstock diff <commit, branche ou tag>\` - ce qui a changé depuis, les changements étant marqués","image":"- \`/penstock image [chemin.bpmn]\` - une image du diagramme tel qu’il est maintenant"}},"hook":{"exited":"terminé avec {code}"},"hooks":{"skipped":"hooks - ceci n’est pas un dépôt git","keptOther":"il fait déjà autre chose","wrote":"formate et vérifie les diagrammes qu’un commit apporte"},"doctor":{"buildEngine":"le projet utilise les bibliothèques de {build}, mais penstock.yaml indique {engine}","reachable":"joignable ({status})","answered":"a répondu {status}","unreachable":"injoignable - {reason}","noConfig":"aucune trouvée - exécutez : penstock init","noEngine":"non défini - sans lui l’éditeur ne peut pas choisir de palette","noProfiles":"(aucun)","missing":"manquant : {path}","noUrl":"aucune url définie","deployment":"{url} - {state}","variablesNeedPro":"{mode}, nécessite Penstock Pro"},"export":{"unknownFormat":"Format d’export inconnu : {format}. Utilisez svg ou png.","needsBrowser":"Un PNG demande un navigateur pour peindre le SVG, que penstock n’embarque pas. Le SVG ne demande rien.","installBrowser":"Installez-en un une fois, dans le projet ou globalement :","notDrawn":" non dessiné, comme dans l’éditeur : {element}"},"convert":{"targetMissing":"indiquez la cible avec --to operaton","unknownTarget":"--to n'accepte que operaton, le moteur vers lequel les diagrammes Camunda 7 et CIB seven sont convertis ; vous avez donné {target}","unchanged":"déjà dans l'espace de noms Operaton, ou pas un diagramme Camunda 7","wouldChange":"passerait les noms camunda: en operaton: (ajoutez --write pour enregistrer)","changed":"les noms camunda: sont passés en operaton:"},"fmt":{"alreadyFormatted":"déjà formaté","formattedXml":"XML formaté","wouldFormat":"formaterait le XML (passez --write pour enregistrer)","formLeftAlone":"un formulaire est du JSON et fmt ne réécrit que le XML, il reste donc tel quel"},"create":{"shouldBe":"{where} devrait être {what}","anObject":"un objet","aList":"une liste non vide","someText":"un texte non vide","oneOf":"l'un de {list}","entries":"une liste de textes, un par colonne (colonnes : {count})","aName":"un nom de lettres, chiffres, tiret bas, point et tiret, commençant par une lettre ou un tiret bas","unique":"différente des autres clés : {key} est utilisée deux fois","onlyChoices":"donné uniquement pour checklist, radio, select et taglist","trueOrFalse":"true ou false","unknownKey":"{where} n'a pas de champ {key}. Il a {allowed}.","oneOfStepsOperations":"spec accepte steps ou operations, l'un des deux","badExtension":"{file} devrait se terminer par .bpmn, .dmn ou .form","exists":"{file} existe déjà, et create_diagram n'écrase jamais un fichier. Rien n'a été écrit.","noDescriptionForForms":"Un formulaire n'a pas de place pour une description. Rien n'a été écrit."},"diff":{"baseNotFound":"Impossible de trouver la base {base}. Donnez un commit, une branche ou un tag présent dans ce checkout.","noDifference":"Aucun diagramme ne diffère de {base}.","baseIsPath":"{base} est un fichier, pas un commit, une branche ou une étiquette. Pour comparer deux fichiers, donnez-les tous les deux comme fichiers : penstock diff <avant> <après>.","newSince":"{file} - nouveau depuis {base}","picture":"image {file}","noPicture":"pas d’image : {reason}","before":"avant {file}","after":"après {file}","noPictures":"pas d’images : {reason}","added":"ajouté","removed":"supprimé","changed":"modifié","differentKinds":"{before} et {after} ne sont pas du même type de fichier ; ils ne peuvent donc pas être comparés.","onlyMoved":"Seul le dessin a bougé ({elements}).","noDifferenceFound":"Aucune différence.","movedOnCanvas":"et {elements} n’ont bougé que sur le canevas","count":{"element":{"one":"{count} élément","other":"{count} éléments"}}},"report":{"baseNotFound":"Impossible de trouver la base {base}. Donnez à --base un commit, une branche ou un tag présent dans ce checkout.","heading":"## Diagrammes de ce changement","nothingChanged":"Aucun diagramme n’a changé.","removed":"### Supprimé","check":"### Vérification","cleanAgainstTheBaseline":"Rien de nouveau. Le dessin est conforme à la ligne de base.","whatChanged":"### Ce qui a changé","newFile":"nouveau","onlyTheDrawingMoved":"Seul le dessin a bougé.","howItLooks":"### À quoi ça ressemble","thePicturesLink":"Les images, avec ce qui a changé entouré : [ouvrir]({link}).","noPictures":"_Pas d’images cette fois._","outlined":"_Ce qui a changé est entouré : en vert ce qui arrive, en ambre ce qui diffère._"},"share":{"needsDiagram":"share demande un diagramme : penstock share process.bpmn -o process.html","notADiagram":"{file} n’est pas un fichier .bpmn, .dmn ou .form, il n’y a donc rien à partager.","offline":"Un seul fichier, qui s’ouvre hors ligne dans n’importe quel navigateur ; rien de ce qu’il contient n’atteint le réseau."},"import":{"needsFile":"import demande un fichier : penstock import diagram.drawio -o process.bpmn","missing":"{file} n’existe pas.","exists":"{file} existe déjà. Rien n’a été écrit ; utilisez -o pour un autre nom, ou --force pour le remplacer.","routes":"Les routes des connecteurs sont telles qu’elles sont dessinées ; la disposition automatique (Pro) peut les ranger : penstock layout {file} --write"},"docs":{"format":"docs écrit --format html (par défaut), md, docx ou pdf.","pdfFont":"{file} : aucune police contenant ces caractères n’a été trouvée sur cette machine, le PDF les affiche donc comme ? : {characters}","writtenSummary":"{pages} écrites{because}","count":{"step":{"one":"{count} étape","other":"{count} étapes"},"problem":{"one":"{count} problème","other":"{count} problèmes"},"page":{"one":"{count} page","other":"{count} pages"},"process":{"one":"{count} processus","other":"{count} processus"},"decision":{"one":"{count} décision","other":"{count} décisions"},"form":{"one":"{count} formulaire","other":"{count} formulaires"},"field":{"one":"{count} champ","other":"{count} champs"}},"check":"Vérification","step":"Étape","runs":"Exécution","who":"Qui","form":"Formulaire","way":"Chemin","goesTo":"Va vers","when":"Quand","events":"Événements","event":"Événement","trigger":"Déclencheur","data":"Données","variable":"Variable","size":"Taille","allDiagrams":"Tous les diagrammes","diagramsOf":"Diagrammes de {project}","everyPathEnds":"Chaque chemin du processus mène à une fin : pas de cul-de-sac, rien ne s’exécute deux fois et rien n’est inatteignable.","runsToItsEnd":"va jusqu’au bout","noTwoRulesMatch":"Aucune paire de règles ne correspond aux mêmes entrées et chaque entrée a une règle.","everyInputHasOneRule":"chaque entrée a une règle","everyFieldHasItsOwn":"chaque champ a sa propre variable"},"migrate":{"apply":{"unknownWorkers":"Langage de worker inconnu {value} ; utilisez {values}.","refused":"Rien n'a été écrit, car ces fichiers ne peuvent pas être écrits en sécurité :","nothing":"Rien à appliquer : il ne reste aucun fichier Camunda 7 à convertir.","dryRun":"Simulation : rien n'a été écrit. Voici ce que --write changerait.","freePreview":"Aperçu gratuit : les {shown} premiers éléments sur {total}. L'écriture et le diff complet font partie de Penstock Pro.","wouldCreate":"créerait {file}","skipped":"{file} ignoré : il {reason}","summaryWritten":"{rewritten} fichiers réécrits, {created} créés. {converted} éléments convertis, {manual} demandent une personne, {review} à vérifier.","summaryDry":"{rewritten} fichiers seraient réécrits, {created} créés. {converted} éléments convertis, {manual} demandent une personne, {review} à vérifier.","verifyClean":"Vérifié comme Camunda 8 : rien trouvé.","verifyFound":"Vérifié comme Camunda 8 : {errors} erreurs, {warnings} avertissements.","reportWritten":"MIGRATION.md liste ce qu'une personne doit encore faire. Les classes delegate Camunda 7 n'ont pas été touchées.","runWrite":"Lancez la même commande avec --write pour l'appliquer."},"ready":"prêt","converts":"est converti","needsWork":"à corriger","blocked":"bloqué","unknownTarget":"Cible inconnue {target}. Versions Camunda 8 pour lesquelles Penstock convertit : {versions}.","baselineWritten":"a écrit {file} avec {findings}","nothingToMigrate":"Il n’y a rien à migrer : aucun diagramme, aucune décision et aucun formulaire Camunda 7 n’a été trouvé.","toDo":"{count} à faire","toCheck":"{count} à vérifier","convert":"{count} à convertir","headerTodo":"À FAIRE","headerToCheck":"À VÉRIFIER","headerConvert":"À CONVERTIR","andMore":"et {count} de plus","totals":"{files} à migrer vers Camunda {target} : {ready} prêts, {converts} à convertir, {needsWork} avec du travail à faire, {blocked} bloqués.","newAndAccepted":"{fresh} nouveaux, {known} acceptés","nothingNew":"rien de nouveau, {known} acceptés","instancesStay":"Les instances en cours et l’historique restent sur Camunda 7 jusqu’à ce qu’ils se terminent ou soient déplacés avec le Data Migrator. penstock migrate report écrit tout cela dans une page à transmettre.","unreadable":"il n’a pas pu être lu","leftOpen":"{changes}, {open} laissés ouverts","wouldWrite":"écrirait {file} : {reason}","staysOpen":"reste ouvert :","alreadyThere":"{file} est déjà là et n’a pas été écrasé","left":"laissé : {where} : {title}. {action}","nothingToConvert":"Il n’y a rien à convertir : {reason}.","notCamunda7":{"one":"{files} n’est pas Camunda 7","other":"{files} ne sont pas Camunda 7"},"noneFound":"aucun diagramme, aucune décision et aucun formulaire Camunda 7 n’a été trouvé","dryRunFolder":"Les fichiers convertis iraient dans {folder}, avec un penstock.yaml à eux qui indique engine: camunda-8. Passez --out <dir> pour les mettre ailleurs.","configKept":"{file} est déjà là et a été conservé.","configWritten":"a écrit {file} (engine: camunda-8), si bien que les fichiers convertis s’ouvrent et sont vérifiés comme Camunda 8. Définissez deployment.url sur votre cluster Camunda 8.","camunda7Untouched":"Les fichiers Camunda 7 ne sont pas touchés. Chaque type de job ci-dessus demande un job worker avant que quoi que ce soit ne tourne. L’IDE écrit un squelette depuis chaque délégué ; les instances en cours restent sur Camunda 7.","count":{"finding":{"one":"{count} problème","other":"{count} problèmes"},"file":{"one":"{count} fichier","other":"{count} fichiers"},"change":{"one":"{count} modification","other":"{count} modifications"}},"wouldConvert":"convertirait","converted":"converti"},"init":{"licenceHint":"le bot, les rapports et les bases de référence fonctionnent avec Penstock Team : mettez la clé de \`penstock license key\` dans {where}","teamHint":"avec Penstock Team, le pipeline obtient aussi le bot de revue, les annotations SARIF et les bases de référence : \`penstock license buy team\`, puis relancez init","githubWorkflowToken":"le bot répond dans les pull requests avec le jeton du workflow ; rien à enregistrer","githubForks":"une pull request depuis un fork n’est pas répondue : le bot devrait exécuter le fork avec un jeton qui peut écrire dans ce dépôt","updateHint":"le workflow exécute l’action Penstock à un commit fixe, le secret de licence ne peut donc pas atteindre du code qui a changé plus tard ;","updateHow":"pour le mettre à jour, cherchez le commit avec \`gh api repos/kern0x1b/penstock-release/commits/main --jq .sha\` et changez ACTION_REF dans le CLI","secretLicence":"un secret PENSTOCK_LICENSE","giteaWorkflowToken":"le bot répond avec le jeton du workflow, ou avec PENSTOCK_TOKEN quand il est défini","gitlabToken":"ajoutez une variable CI/CD PENSTOCK_TOKEN : un jeton d’accès projet, rôle Developer, portée api","gitlabWebhook":"pour répondre aux commentaires /penstock, ajoutez un webhook avec les événements Comments pointant sur","gitlabTriggerIsSecret":"ce jeton de déclenchement est un secret : quiconque possède l’URL peut lancer des pipelines sur votre projet","gitlabKeepUrl":"gardez l’URL uniquement dans les paramètres du webhook, jamais dans un fichier versionné, un commentaire ou un lien partagé, et renouvelez-la dans Settings, Webhooks si elle apparaît dans un journal de job","maskedLicence":"une variable CI/CD masquée PENSTOCK_LICENSE","bitbucketToken":"ajoutez une variable de dépôt PENSTOCK_TOKEN : un jeton d’accès au dépôt avec l’écriture sur les pull requests","bitbucketTokenHow":"Repository settings, Access tokens, Create token, et autorisez les pipelines à s’en servir","securedLicence":"une variable de dépôt sécurisée PENSTOCK_LICENSE","azureContribute":"laissez le service de build contribuer aux pull requests (Project settings → Repositories → Security)","azureToken":"le pipeline définit déjà SYSTEM_ACCESSTOKEN sur $(System.AccessToken) ; sans le réglage ci-dessus, elle reste vide","azurePolicy":"pour Azure Repos, ajoutez ce pipeline comme stratégie de branche de validation de build","pipelineLicence":"une variable de pipeline secrète PENSTOCK_LICENSE","engine":{"camunda8":"Camunda 8","camunda7":"Camunda 7","operaton":"Operaton","cibSeven":"CIB seven","classic":"Classic BPMN, aucun moteur","flowable":"Flowable","activiti":"Activiti"},"engineQuestion":"Sur quel moteur ce projet fonctionne-t-il ?","numberQuestion":"Numéro [1] : ","gitignore":".gitignore avec {entry}","unknownExample":"Exemple inconnu : {example}. Utilisez {names} ou {last}.","folderNotEmpty":"{folder} n’est pas vide. Un exemple est écrit dans un dossier vide, il n’écrase donc jamais vos fichiers.","exampleReadme":"le README voisin explique comment l’exécuter","unknownEngine":"Moteur inconnu : {engine}. Utilisez {names} ou {last}.","configWhatItIs":"Ce qu’est ce projet. Le fichier est versionné.","engineDoesNotFit":"L’exemple {example} tourne sur {label}, --engine {engine} ne lui convient donc pas. Omettez --engine, ou renoncez à --example.","asTheExampleWroteIt":"tel que l’exemple l’a écrit","alreadyAnswers":"il répond déjà pour ce projet","engineNotUsed":"--engine {engine} n’a pas été utilisé : {file} indique déjà {says}","whatItRunsOn":"ce sur quoi le projet fonctionne","includeFrom":"incluez-le depuis .gitlab-ci.yml","mergeInto":"fusionnez-le dans bitbucket-pipelines.yml","unknownCi":"CI inconnue : {ci}. Utilisez github, gitea, forgejo, gitlab, bitbucket ou azure."},"edit":{"editorRefused":"l’éditeur a refusé : {reason}","operationFailed":"opération {number} : {message}","didNotReadBack":"Le résultat n’a pas pu être relu proprement, il n’a donc pas été écrit.","changedWhileEditing":"Le diagramme a changé pendant la modification, il n’a donc pas été écrasé.","nothingBroken":"ok rien de cassé","breaksTheDrawing":"échec casse le dessin : {problems}","readsLessWell":"note se lit moins bien : {things}","element":"Id de l'élément, tel que show_diagram le liste.","dryRun":"\\nSimulation : {file} n’a pas été modifié.","wouldBreak":"\\n{file} n’a pas été modifié : la modification casserait le dessin. Passez --force pour l’écrire quand même.","mustLookLikePairs":"{where} \\"{entry}\\" doit ressembler à key=value","sayWhatToDo":"dites quoi faire : add, connect, set ou remove, ou passez --ops avec les opérations en JSON","unknownField":"champ « {key} » inconnu ; autorisés : {allowed}","mustBeAString":"\\"{field}\\" doit être une chaîne non vide","mustBeAStringShort":"\\"{key}\\" doit être une chaîne","propertiesMustBeAnObject":"\\"properties\\" doit être un objet","notAnEngineProperty":"\\"{key}\\" n’est pas une propriété {engine} ; autorisés : {allowed}","mustBeABoolean":"\\"{key}\\" doit être vrai ou faux","mustBeAWholeNumber":"\\"{key}\\" doit être un nombre entier","mustMapNamesToStrings":"\\"{key}\\" doit associer des noms à des chaînes","noOperations":"aucune opération fournie","mustBeAnObject":"doit être un objet","elementMustBeOneOf":"\\"element\\" doit être l’un de {elements}","eventMustBeOneOf":"\\"event\\" doit être l’un de {events}","eventOnlyForEvents":"\\"event\\" ne s’applique qu’aux événements","idMustBeValid":"\\"id\\" doit être un id XML valide","opMustBeOneOf":"\\"op\\" doit être add, connect, set, remove ou move","property":{"name":"L’étiquette affichée sur l’élément.","documentation":"Le texte de documentation de l’élément.","condition":"L’expression de condition d’un flux de séquence, par exemple \${approved}.","conditionSimple":"L’expression de condition d’un flux de séquence.","feelCondition":"La condition FEEL d’un flux de séquence, par exemple =approved.","class":"La classe Java qui implémente la tâche.","delegateExpression":"Une expression qui donne un bean de délégué, par exemple \${reserveStock}.","expression":"Une expression que la tâche évalue.","resultVariable":"Où va le résultat de l’expression.","topic":"Fait de la tâche une tâche externe sur ce sujet.","asyncBefore":"Démarre une transaction avant l’élément.","asyncAfter":"Démarre une transaction après l’élément.","assignee":"À qui la tâche utilisateur est affectée.","candidateUsers":"Utilisateurs séparés par des virgules qui peuvent prendre la tâche.","candidateGroups":"Groupes séparés par des virgules qui peuvent prendre la tâche.","formKey":"Le formulaire affiché par la tâche utilisateur.","calledElement":"Le processus qu’une activité d’appel démarre.","inputs":"Paramètres d’entrée : nom vers valeur ou expression.","outputs":"Paramètres de sortie : nom vers valeur ou expression.","jobType":"Le type de job auquel un worker s’abonne.","retries":"Combien de fois un job en échec est réessayé.","formId":"L’id du formulaire lié affiché par la tâche utilisateur.","processId":"Le processus qu’une activité d’appel démarre.","inputMappings":"Mappages d’entrée : variable cible depuis une source FEEL.","outputMappings":"Mappages de sortie : variable cible depuis une source FEEL.","decisionRef":"La décision qu’une tâche de règle métier appelle.","decisionId":"L’id de la décision qu’une tâche de règle métier appelle.","async":"Exécute l'élément comme un job distinct, dans sa propre transaction.","skipExpression":"Une expression qui, si elle est vraie, fait sauter la tâche par le moteur."},"schema":{"title":"Opérations d’édition de Penstock","titleFor":"Opérations d’édition de Penstock pour {engine}","onlyOn":" Uniquement sur {types}.","add":"Ajouter un élément après un élément existant ; il est placé et connecté comme le fait l’éditeur.","after":"L’id de l’élément que suit le nouveau.","event":"Pour les événements : quel type d’événement.","newId":"L’id à lui donner ; par défaut la convention du projet décide.","connect":"Relier deux éléments par un flux de séquence.","set":"Changer les propriétés d’un élément ou d’un flux.","remove":"Supprimer un élément et ses connexions.","move":"Déplacer un élément de dx et dy, en unités du diagramme."},"noSuchElement":"il n’y a pas d’élément « {id} »","set":"définit {keys} sur {id}","isTheRoot":"« {id} » est la racine du diagramme","removed":"supprimé {id}","isAConnection":"« {id} » est une connexion ; ajoutez après un élément","afterEndEvent":"rien ne peut suivre l’événement de fin « {id} »","addAfterAnElementInside":"« {id} » est {type} ; ajoutez après un élément à l’intérieur","added":"ajouté {type} {id} après {after}","idTaken":"l’id « {id} » est déjà pris","noSequenceFlow":"un flux de séquence ne peut pas aller de « {from} » à « {to} »","connect":"connecte {from} -> {to} comme {id}","doesNotApply":"« {key} » ne s’applique pas à {type} « {id} »","needsDiagram":"edit demande un diagramme : penstock edit process.bpmn add service-task --after Task_check","isAFolder":"{from} est un dossier, pas un fichier d’opérations","notJson":"Les opérations de {from} ne sont pas du JSON : {reason}","operationWhere":"opération {number}","count":{"newProblem":{"one":"{count} nouveau problème","other":"{count} nouveaux problèmes"},"thing":{"one":"{count} chose","other":"{count} choses"}},"mustBeANumber":"\\"{field}\\" doit être un nombre","moved":"déplacé {id} de {dx}, {dy}"},"help":{"migrateApply":{"summary":"Réécrit sur place les BPMN, DMN et formulaires Camunda 7 pour Camunda 8, traduit les expressions qu'il peut et liste les autres, écrit un squelette de job worker par type de job et MIGRATION.md, puis vérifie le résultat comme Camunda 8. Sans --write il affiche un diff unifié et n'écrit rien ; il ne supprime jamais un fichier ni ne suit un lien symbolique hors du projet.","licence":"L'écriture fait partie de Penstock Pro, et de Team dans un pipeline. Le diff des 3 premiers éléments et migrate analyze sont gratuits.","exits":{"0":"0 il ne reste rien à convertir, ou les fichiers convertis passent la vérification sans erreur","1":"1 le résultat vérifié a une erreur, un fichier est illisible, ou rien n'a été écrit parce qu'un fichier a changé","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"text, json, sarif ou github","out":"où le rapport, ou les fichiers convertis, sont écrits","dryRun":"dire ce qui serait écrit et n’écrire rien","target":"la version Camunda 8 pour laquelle convertir, 8.8 par défaut","failOn":"ce qui donne le code de sortie 1 : error, ou warning","baseline":"échouer seulement sur les problèmes que la base de référence n’accepte pas déjà","updateBaseline":"écrire les problèmes actuels comme base de référence","verbose":"lister et annoter ce qui ne se reporte que tel quel","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"options":"Options","example":"Exemple","licence":"Licence","exitCodes":"Codes de sortie","option":{"migrateWrite":"avec apply : écrit les changements ; sans lui apply n'affiche que le diff","migrateWorkers":"avec apply : les squelettes de job worker, spring (par défaut), java, node ou python","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"},"init":{"summary":"Écrire un penstock.yaml pour ce projet : le moteur sur lequel il tourne, les règles, les profils et le déploiement. Demandé dans un terminal quand le dossier est vide et que rien ne dit le contraire.","licence":"Gratuit.","exits":{"0":"0 le fichier a été écrit","1":"1 le dossier n’a pas pu être écrit, ou le fichier est déjà là","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"engine":"camunda-8, camunda-7, operaton, cib-seven, flowable, activiti ou classic","example":"camunda-8 ou camunda-7, pour écrire un petit projet exécutable dans un dossier vide","ci":"github, gitea, gitlab, bitbucket ou azure : écrire un pipeline pour le niveau de licence de cette machine","hooks":"installer un hook pre-commit qui formate et vérifie les diagrammes indexés","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"doctor":{"summary":"Vérifier la configuration : quelles couches de configuration sont en vigueur, quels profils, quelles règles, quels modèles d’élément et quel moteur.","licence":"Gratuit.","exits":{"0":"0 la configuration a été lue","1":"1 quelque chose n’a pas pu être lu, et la réponse dit quoi","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"json affiche la configuration telle qu’elle a été résolue, pour qu’un outil la lise","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"check":{"summary":"Tout ce qui ne va pas dans les diagrammes, par sections : le dessin lui-même, les règles bpmnlint et, en Pro, comment les processus, les décisions et les formulaires s’exécutent réellement.","licence":"Gratuit. Avec ces options, cela fait partie de Penstock Pro, et Team dans un pipeline :\\n --only flow analyse de flux, les interblocages et les branches qui s’exécutent deux fois\\n --baseline une base de référence des problèmes déjà acceptés\\n --format sarif|github les problèmes sous forme d’annotations sur les lignes modifiées","exits":{"0":"0 rien n’a été trouvé, ou tout ce qui a été trouvé est dans la base de référence","1":"1 quelque chose a été trouvé sur quoi une personne peut agir","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"only":"quelles parties exécuter : drawing, rules, flow","format":"text, json, sarif ou github ; sarif et github sont pour une revue de code","baseline":"échouer seulement sur les problèmes que la base de référence n’accepte pas déjà","updateBaseline":"écrire les problèmes actuels comme base de référence","trustProject":"laisser le penstock.yaml de ce projet exécuter ses hooks pour cette exécution, sans rien écrire","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"migrateAnalyze":{"summary":"Lire les diagrammes Camunda 7 et dire ce qui ne se reporte pas sur Camunda 8, et pourquoi.","licence":"Gratuit. Avec ces options, cela fait partie de Penstock Pro, et Team dans un pipeline :\\n --baseline une base de référence des problèmes déjà acceptés\\n --format sarif|github les problèmes sous forme d’annotations sur les lignes modifiées","exits":{"0":"0 rien ne serait perdu, ou tout ce qui serait perdu est dans la base de référence","1":"1 quelque chose serait perdu","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"text, json, sarif ou github","out":"où le rapport, ou les fichiers convertis, sont écrits","dryRun":"dire ce qui serait écrit et n’écrire rien","target":"la version Camunda 8 pour laquelle convertir, 8.8 par défaut","failOn":"ce qui donne le code de sortie 1 : error, ou warning","baseline":"échouer seulement sur les problèmes que la base de référence n’accepte pas déjà","updateBaseline":"écrire les problèmes actuels comme base de référence","verbose":"lister et annoter ce qui ne se reporte que tel quel","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"migrateConvert":{"summary":"Écrire les fichiers Camunda 8 dans un dossier camunda-8 à côté de celui indiqué, avec un penstock.yaml à eux. Rien d’autre dans le projet n’est touché.","licence":"La conversion fait partie de Penstock Pro, et Team dans un pipeline. La lire avec migrate analyze, et le rapport, sont gratuits.","exits":{"0":"0 les fichiers ont été écrits, ou --dry-run n’a rien trouvé à écrire","1":"1 quelque chose n’a pas pu être converti, et la réponse dit quoi","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"text, json, sarif ou github","out":"où le rapport, ou les fichiers convertis, sont écrits","dryRun":"dire ce qui serait écrit et n’écrire rien","target":"la version Camunda 8 pour laquelle convertir, 8.8 par défaut","failOn":"ce qui donne le code de sortie 1 : error, ou warning","baseline":"échouer seulement sur les problèmes que la base de référence n’accepte pas déjà","updateBaseline":"écrire les problèmes actuels comme base de référence","verbose":"lister et annoter ce qui ne se reporte que tel quel","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"migrateReport":{"summary":"Écrire le rapport de migration à transmettre : ce que chaque diagramme est devenu, et ce qui n’est pas passé.","licence":"Gratuit.","exits":{"0":"0 le rapport a été écrit","1":"1 il n’a pas pu être écrit, et la réponse dit où il a essayé","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"text, json, sarif ou github","out":"où le rapport, ou les fichiers convertis, sont écrits","dryRun":"dire ce qui serait écrit et n’écrire rien","target":"la version Camunda 8 pour laquelle convertir, 8.8 par défaut","failOn":"ce qui donne le code de sortie 1 : error, ou warning","baseline":"échouer seulement sur les problèmes que la base de référence n’accepte pas déjà","updateBaseline":"écrire les problèmes actuels comme base de référence","verbose":"lister et annoter ce qui ne se reporte que tel quel","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"code":{"summary":"Vérifier les diagrammes par rapport au code : types de job, topics, classes et beans sans rien pour les exécuter, et workers dont aucun diagramme ne se sert.","licence":"Les vérifications de diagrammes et de code font partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 chaque worker et chaque référence correspond","1":"1 quelque chose ne correspond pas, et la réponse le nomme","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"comment les problèmes sont rapportés","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"facts":{"summary":"Lit une liste de fichiers sur l’entrée standard, sous la forme {\\"files\\": [{\\"path\\": \\"...\\", \\"text\\": \\"...\\"}]}, et affiche en JSON les contrats de worker qu’ils contiennent, pour que l’éditeur lise les workers Python, Go, C# et Scala qu’il ne sait pas lire lui-même.","licence":"Les liens de code font partie de Penstock Pro, et de Team dans un pipeline.","exits":{"0":"0 les contrats ont été affichés","1":"1 l’entrée n’est pas une liste de fichiers","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"}},"templatesGenerate":{"summary":"Écrire un modèle d’élément pour chaque job worker du projet, dans .camunda/element-templates, pour que la palette Camunda se remplisse toute seule.","licence":"L’écriture de modèles d’élément fait partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 chaque worker a un modèle","1":"1 un worker n’a pas pu être écrit, et la réponse le nomme","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"check":"vérifier au lieu d’écrire : comme templates check, et n’écrit rien","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"templatesCheck":{"summary":"Vérifier que chaque modèle d’élément décrit toujours ce que son job worker demande, et que chaque worker en a un. N’écrit rien.","licence":"Gratuit.","exits":{"0":"0 chaque modèle correspond toujours à son worker","1":"1 un modèle a dérivé, et la réponse dit comment","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"check":"ce que templates generate prend pour faire cela au lieu d’écrire","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"scenariosList":{"summary":"Lister chaque chemin distinct dans chaque processus, avec les conditions qu’il prend. C’est un plan de test.","licence":"Les scénarios de processus font partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 les scénarios ont été listés","1":"1 un processus n’a pas pu être lu, et la réponse le nomme","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"comment les scénarios sont listés ; md est une page qu’une personne lit","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"scenariosRun":{"summary":"Exécuter les fichiers de cas de test Camunda des diagrammes contre le moteur qu’ils nomment, étape par étape, avec les mocks que le fichier demande.","licence":"L’exécution d’un processus contre un moteur fait partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 l’exécution s’est terminée sans cas en échec","1":"1 un cas a échoué, ou le moteur est injoignable","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi","130":"130 Ctrl-C deux fois : le cas est annulé, sa version supprimée, et l’exécution s’arrête"},"options":{"timeout":"combien de temps une étape peut prendre, 30 par défaut","junitXml":"où un rapport JUnit XML est écrit","junit":"écrire une classe Camunda Process Test qui les exécute à la place","teamcity":"rapporter sous forme de messages de service TeamCity, comme l’IDE les lit","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"testCases":{"summary":"La commande derrière scenarios run et scenarios generate : exécute les fichiers de cas de test Camunda des diagrammes contre le moteur qu'ils désignent, étape par étape, avec les mocks que demande le fichier. --generate écrit ces fichiers à partir des chemins de chaque processus, à la place.","licence":"L’exécution d’un processus contre un moteur et l’écriture de ses fichiers de cas de test font partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 l’exécution s’est terminée sans cas en échec","1":"1 un cas a échoué, ou le moteur est injoignable","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi","130":"130 Ctrl-C deux fois : le cas est annulé, sa version supprimée, et l’exécution s’arrête"},"options":{"generate":"écrit les fichiers de cas de test à partir des chemins de chaque processus, au lieu de les exécuter","junit":"écrire une classe Camunda Process Test qui les exécute à la place","junitXml":"où un rapport JUnit XML est écrit","timeout":"combien de temps une étape peut prendre, 30 par défaut","teamcity":"rapporter sous forme de messages de service TeamCity, comme l’IDE les lit"}},"scenariosGenerate":{"summary":"Écrire les fichiers de cas de test Camunda à partir des chemins dans chaque processus, que scenarios run rejoue ensuite contre un moteur.","licence":"L’écriture de fichiers de cas de test fait partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 l’exécution s’est terminée sans cas en échec","1":"1 un cas a échoué, ou le moteur est injoignable","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi","130":"130 Ctrl-C deux fois : le cas est annulé, sa version supprimée, et l’exécution s’arrête"},"options":{"timeout":"combien de temps une étape peut prendre, 30 par défaut","junitXml":"où un rapport JUnit XML est écrit","teamcity":"rapporter sous forme de messages de service TeamCity, comme l’IDE les lit","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"junit":{"summary":"Écrire un test JUnit pour chaque chemin dans chaque processus, avec les variables qui l’y mènent, pour Camunda Process Test ou camunda-bpm-assert.","licence":"Les tests de processus font partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 les tests ont été écrits","1":"1 un test n’a pas pu être écrit, et la réponse nomme le processus","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"out":"où les tests sont écrits","package":"le package dans lequel les tests sont écrits","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"layout":{"summary":"Disposer les diagrammes en un flux lisible de gauche à droite, quels qu’ils aient été dessinés.","licence":"La disposition automatique fait partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 les diagrammes ne se chevauchent pas et rien ne traverse une forme","1":"1 un diagramme n’a pas pu être disposé, et la réponse dit lequel","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"write":"enregistrer ce qui a été disposé ; sans cette option la réponse est le plan et le fichier n’est pas touché","trustProject":"laisser le penstock.yaml de ce projet exécuter ses hooks pour cette exécution, sans rien écrire","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"convert":{"summary":"Fait passer un diagramme Camunda 7 ou CIB seven dans l’espace de noms Operaton, pour qu’un projet Operaton le lise. Sans --write, la réponse est la liste et les fichiers restent intacts.","licence":"Gratuit.","exits":{"0":"0 chaque diagramme est dans l’espace de noms Operaton, ou y a été mis","1":"1 un fichier n’a pas pu être lu, et la réponse le nomme","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"to":"le moteur vers lequel les diagrammes sont convertis ; operaton est le seul","write":"enregistre les diagrammes convertis ; sans lui, rien n’est écrit"}},"fmt":{"summary":"Réécrire le XML comme l’éditeur l’enregistre, pour qu’un diff d’un diagramme reste lisible.","licence":"Gratuit.","exits":{"0":"0 chaque fichier est déjà formaté, ou l’a été","1":"1 un fichier n’a pas pu être analysé, et la réponse le nomme","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"write":"enregistrer le résultat ; sans cette option la réponse est le diff et le fichier n’est pas touché","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"diff":{"summary":"Ce qui a changé entre deux versions d’un processus : deux fichiers, ou ce que l’arbre de travail a changé depuis un commit, une branche ou un tag.","licence":"Gratuit. Les images avec --images font partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 rien n’a changé","1":"1 quelque chose a changé, et la réponse le liste","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"images":"rendre avant et après, avec les changements en couleur","out":"où les images sont écrites","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"export":{"summary":"Rendre les diagrammes en images, un fichier par diagramme.","licence":"Gratuit.","exits":{"0":"0 chaque diagramme a été écrit","1":"1 un diagramme n’a pas pu être rendu, et la réponse le nomme","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"svg ou png ; le format demandé pour l’export","out":"où les images sont écrites","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"share":{"summary":"Un seul fichier HTML à envoyer : une visionneuse en lecture seule avec zoom, déplacement et la documentation de chaque élément. Il s’ouvre hors ligne, sans rien d’autre sur la page.","licence":"Gratuit.","exits":{"0":"0 le fichier a été écrit","1":"1 il n’a pas pu être écrit, et la réponse dit où il a essayé","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"out":"le fichier à écrire ; -o revient au même","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"import":{"summary":"Transformer un diagramme draw.io, Visio, Signavio ou Bizagi en BPMN 2.0, et lister ce qui n’a pas pu être converti.","licence":"Gratuit.","exits":{"0":"0 le diagramme a été écrit","1":"1 quelque chose n’a pas pu être converti, et la réponse dit quoi","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"out":"le fichier à écrire ; -o revient au même","force":"remplacer un fichier déjà là","format":"json rapporte ce qui n’a pas pu être converti dans un document qu’un outil peut lire","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"docs":{"summary":"Écrire la documentation de chaque processus, fichier de décision et formulaire : une page chacun, avec l’image, les étapes, les décisions, les événements et les données.","licence":"La documentation des processus fait partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 les pages ont été écrites","1":"1 une page n’a pas pu être écrite, et la réponse la nomme","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"html, md, docx ou pdf","out":"où les pages sont écrites","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"report":{"summary":"Un seul commentaire markdown pour une pull request : la vérification, le diff et une image de chaque diagramme modifié.","licence":"Les rapports de pull request font partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 le rapport a été écrit","1":"1 il n’a pas pu être écrit, et la réponse dit où il a essayé","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"base":"ce avec quoi le rapport compare, origin/main par défaut","out":"où le markdown est écrit","imagesDir":"où les images sont écrites","imageBase":"d’où les images seront servies, pour un commentaire qui les affiche","imagesLink":"où les trouver à la place, quand elles ne peuvent pas être affichées dans le commentaire","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"bot":{"summary":"Répondre dans une pull ou merge request, depuis l’exécution CI qui la contient. penstock init --ci configure le pipeline.","licence":"Le bot de revue fait partie de Penstock Pro, et Team dans un pipeline, et Team dans un pipeline.","exits":{"0":"0 la réponse a été publiée, ou les images ont été dessinées","1":"1 ce n’a pas été possible, et la réponse dit pourquoi","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"stage":"dessiner les images maintenant et publier plus tard, quand elles sont téléversées entre-temps","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"deploy":{"summary":"Déployer les processus, décisions et formulaires sur le moteur que la configuration nomme.","licence":"Gratuit.","exits":{"0":"0 le moteur a pris le déploiement","1":"1 il ne l’a pas pris, et la réponse dit ce qu’il a dit","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"dryRun":"dire ce qui serait envoyé, et n’envoyer rien","wait":"confirmer avec le moteur que les définitions sont actives","trustProject":"laisser le penstock.yaml de ce projet exécuter ses hooks pour cette exécution, sans rien écrire","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"show":{"summary":"Lister les éléments, les flux et les propriétés d’un diagramme, pour qu’une personne ou un outil les lise.","licence":"Gratuit.","exits":{"0":"0 le diagramme a été lu","1":"1 ce n’est pas un diagramme, ou il n’est pas là, et la réponse dit lequel","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"format":"json est le même document qu’un outil lit","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"edit":{"summary":"Ajouter, connecter, définir ou supprimer dans un diagramme comme le ferait l’éditeur, et refuser une modification qui le casserait.","licence":"La modification depuis la ligne de commande fait partie de Penstock Pro, et Team dans un pipeline. Lire le contrat avec --schema est gratuit.","exits":{"0":"0 le diagramme a été modifié, ou --dry-run n’a rien trouvé à modifier","1":"1 la modification casserait le diagramme, ou il n’a pas pu être lu, et rien n’a été écrit","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"ops":"les opérations en JSON sur une ligne","opsFile":"les opérations en JSON dans un fichier, ou - pour les lire sur l’entrée standard","schema":"afficher le contrat que suivent les opérations, sans rien modifier","after":"ajouter après cet élément, comme l’éditeur place un élément nouveau","event":"le type d’événement à ajouter","name":"le nom de l’élément ajouté, connecté ou défini","id":"l’id de l’élément à définir ou supprimer","condition":"la condition d’un flux de séquence qui est connecté","set":"un attribut à définir, plusieurs fois","input":"un mapping d’entrée, plusieurs fois","output":"un mapping de sortie, plusieurs fois","dryRun":"dire ce qui changerait et n’écrire rien","force":"écrire même si la modification casserait le diagramme","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"licenseStatus":{"summary":"Quelle licence a cette machine, et pourquoi celle-là.","licence":"Gratuit.","exits":{"0":"0 la réponse a été lue","1":"1 le service de licence est injoignable, et la machine reste ce qu’elle était","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"licenseKey":{"summary":"La clé pour PENSTOCK_LICENSE dans un pipeline, retrouvée par l’e-mail qui a servi à l’achat, parce que la machine ne la garde plus.","licence":"Gratuit.","exits":{"0":"0 la clé a été trouvée","1":"1 il n’y a aucune clé Team achetée avec cette adresse, ou aucun terminal pour demander","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"licenseBuy":{"summary":"Acheter Penstock. Le paiement s’ouvre dans un navigateur et la licence arrive sur cette machine toute seule une fois passé.","licence":"Gratuit.","exits":{"0":"0 la licence est sur cette machine","1":"1 le paiement n’est pas passé, ou rien n’a été débité","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"licenseLogin":{"summary":"Se connecter avec l’e-mail qui a servi à acheter Penstock. Il n’y a aucune clé à copier.","licence":"Gratuit.","exits":{"0":"0 la licence est sur cette machine","1":"1 il n’y a aucune licence achetée avec cette adresse","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"licenseActivate":{"summary":"Utiliser une clé que vous avez déjà.","licence":"Gratuit.","exits":{"0":"0 la licence est sur cette machine","1":"1 la clé n’a pas été acceptée, et la réponse dit pourquoi","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"licenseLogout":{"summary":"Libérer la licence de cette machine pour qu’une autre puisse s’en servir. Même chose que license deactivate.","licence":"Gratuit.","exits":{"0":"0 la licence a été libérée, ou il n’y avait aucun poste à libérer","1":"1 le service de licence est injoignable","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"trust":{"summary":"Laisser le penstock.yaml de ce projet exécuter des commandes shell ici. Un hook de check, layout ou deploy le demande d’abord, et un projet sans penstock.yaml n’est pas approuvé du tout.","licence":"Gratuit.","exits":{"0":"0 le projet est approuvé, oublié, ou la liste a été affichée","1":"1 il n’y a pas de penstock.yaml à approuver là-bas, ou le chemin n’existe pas","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"list":"afficher ce qui est approuvé sur cette machine","forget":"reprendre un projet","yes":"ne pas demander, ce qu’un pipeline veut","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"mcp":{"summary":"Servir des diagrammes BPMN à un agent IA via MCP. Lire un diagramme et le vérifier est gratuit ; l’analyse de flux, les scénarios, les liens vers le code et la modification demandent une licence.","licence":"list_diagrams, show_diagram et check_diagram sont gratuits. Les autres font partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 le serveur s’est arrêté, ou l’entrée client a été affichée","1":"1 un outil a demandé quelque chose que cette machine n’a pas","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"config":"afficher l’entrée client à coller dans l’agent, et s’arrêter","project":"le projet sur lequel chaque outil travaille sans que l'agent le nomme ; rien en dehors n'est lu"}},"connectors":{"summary":"Lister les modèles de connecteurs de Camunda, ou où ils sont mis en cache sur cette machine. Téléchargés depuis GitHub au plus une fois par jour.","licence":"Gratuit.","exits":{"0":"0 la liste a été affichée","1":"1 la liste des versions n’a pas pu être téléchargée, et la réponse dit quand il réessaiera","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"refresh":"chercher maintenant sur GitHub une version plus récente","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"connectorsResolve":{"summary":"Afficher un modèle de connecteur, résolu vers la version demandée ou vers la plus récente du cache.","licence":"Gratuit.","exits":{"0":"0 le modèle a été affiché","1":"1 il n’y a aucun modèle avec cet id, et la réponse dit ce qu’il y a","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"refresh":"chercher d’abord sur GitHub une version plus récente","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"update":{"summary":"Déplacer le wrapper du projet vers une version, la dernière par défaut.","licence":"Gratuit.","exits":{"0":"0 le wrapper a été déplacé","1":"1 il ne l’a pas pu, et la réponse dit quelle étape a refusé","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi"},"options":{"distribution":"d’où venir chercher Penstock : une tarball ou une spécification de registre","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE"}},"web":{"summary":"Sert l'éditeur dans un navigateur, sur cette machine uniquement. Avec un dossier, il ouvre ce projet ; sans dossier, il démarre sur une page d'accueil où l'on choisit le projet dans le navigateur. Une clé dans le lien tient à l'écart les autres pages et les autres utilisateurs, et rien n'est envoyé nulle part.","licence":"Gratuit. Ce qui demande Pro dans un IDE le demande aussi ici.","options":{"port":"le port d'écoute, 8765 par défaut ; le suivant libre est utilisé s'il est occupé","host":"l'adresse d'écoute, 127.0.0.1 par défaut ; toute autre rend le dossier accessible depuis le réseau","noOpen":"affiche le lien et n'ouvre pas de navigateur"},"exits":{"0":"0 le serveur a été arrêté avec Ctrl-C","1":"1 le dossier n'existe pas, le port ou l'adresse sont inutilisables, ou aucun port n'était libre","2":"2 la CLI elle-même a échoué, pas la commande ; le message dit quoi"}},"agentServe":{"summary":"Sert le chat IA d'un projet aux IDE et éditeurs qui l'affichent : ses conversations, leur historique et l'agent qui les anime, en HTTP sur 127.0.0.1 uniquement. Toutes les fenêtres du projet partagent ce serveur. Il affiche une ligne de JSON avec le port et une clé, exige la clé comme jeton Bearer à chaque requête, et s'arrête quelques secondes après qu'aucune fenêtre ne lui est rattachée et qu'aucun tour n'est en cours.","licence":"Le démarrage est gratuit. Envoyer un message demande Pro sur une machine de développement, et Team dans un pipeline.","options":{"project":"le dossier du projet auquel appartiennent les conversations","detach":"démarrer le serveur dans sa propre session, afficher sa ligne dès qu’il répond, puis rendre la main ; un IDE le démarre ainsi pour qu’un signal envoyé à son terminal n’arrête pas le serveur pour toutes les fenêtres"},"exits":{"0":"0 arrêté par un signal, ou parti quelques secondes après qu'aucune fenêtre ne lui était rattachée, sans tour en cours ; un second serveur pour un projet qui en a déjà un attend que son entrée standard se ferme","1":"1 aucun projet n'a été indiqué, le dossier n'existe pas, ou le serveur n'a pas pu écouter","2":"2 la CLI elle-même a échoué, pas la commande ; le message dit quoi"}},"agent":{"summary":"Lance dans ce terminal la ligne de commande propre d'un agent IA, avec le serveur MCP de penstock déjà configuré pour cette seule exécution. Rien n'est écrit dans la configuration de l'agent ni dans le projet. Ce qui suit -- est transmis tel quel à l'agent. Sans nom, la commande liste les agents et ceux qui sont installés. Un agent ajouté dans les réglages est lancé avec sa propre commande et ses propres arguments.","licence":"Gratuit. Les outils reçus par l'agent gardent leur propre licence : voir penstock mcp --help.","options":{"project":"le projet sur lequel travaillent les outils penstock et le dossier où l'agent démarre ; le projet actuel par défaut"},"exits":{"0":"0 l'agent s'est terminé normalement, ou la liste a été affichée","1":"1 l'agent n'est pas installé, est inconnu ou n'a pas pu démarrer ; tout autre code est celui de l'agent","2":"2 la CLI elle-même a échoué, pas la commande ; le message dit quoi"}},"testTask":{"summary":"Exécuter un élément d'un diagramme sur le moteur que nomme le projet. Le processus est déployé comme build de test, une instance démarre avec les variables, le chemin jusqu'à l'élément est terminé ou simulé, et l'élément est terminé, lève une erreur ou reste en attente. Ses variables, incidents et état sont affichés, puis le build est supprimé.","licence":"L’exécution d’un processus contre un moteur fait partie de Penstock Pro, et Team dans un pipeline.","exits":{"0":"0 l’exécution s’est terminée sans cas en échec","1":"1 un cas a échoué, ou le moteur est injoignable","2":"2 c’est le CLI lui-même qui a échoué, pas la commande ; le message dit quoi","130":"130 Ctrl-C deux fois : le cas est annulé, sa version supprimée, et l’exécution s’arrête"},"options":{"element":"l'élément à tester","variables":"variables avec lesquelles l'instance démarre, par-dessus celles dont le chemin a besoin","variablesFile":"les mêmes variables, lues dans un fichier JSON","complete":"terminer l'élément avec ces variables ; par défaut, sans variables","error":"faire lever cette erreur BPMN à l'élément au lieu de le terminer","hold":"laisser l'élément en attente pour voir ce qu'il a reçu","id":"quel processus, quand le fichier en contient plusieurs","timeout":"combien de temps une étape peut prendre, 30 par défaut"}}},"usage":{"init":"écrire un penstock.yaml pour ce projet ; --engine camunda-8|camunda-7|operaton|cib-seven|flowable|activiti|classic dit sur quoi il tourne\\n(demandé dans un terminal quand le dossier est vide) ; --ci et --hooks ajoutent le reste ;\\n--example camunda-8|camunda-7|operaton|cib-seven|flowable|activiti écrit un petit projet exécutable dans un dossier vide","doctor":"vérifier la configuration : couches de configuration, profils, règles, modèles, moteur ; --format json affiche la configuration","check":"tout ce qui ne va pas dans les diagrammes, par sections : le dessin, les règles bpmnlint et,\\nen Pro, comment les processus, décisions et formulaires s’exécutent ; --only drawing,rules,flow pour une partie","migrate":"Camunda 7 vers Camunda 8 : ce qui ne passe pas, les fichiers convertis, un rapport à transmettre ;\\nconvert demande Pro, et Team dans un pipeline : il écrit les fichiers Camunda 8 dans camunda-8 à côté du dossier, avec un\\npenstock.yaml propre, et ne touche à rien d’autre ; --target 8.5..8.9, --dry-run, --out <dir> pour un autre dossier\\napply réécrit les fichiers Camunda 7 sur place, d'abord en diff puis avec --write dans Pro ; --workers spring|java|node|python","code":"vérifier les diagrammes par rapport au code : types de job, topics, classes et beans sans rien pour les exécuter, workers dont aucun diagramme ne se sert","facts":"les contrats de worker des fichiers lus sur l’entrée standard, en JSON, pour Python, Go, C# et Scala","templatesGenerate":"écrire un modèle d’élément pour chaque job worker du projet, dans .camunda/element-templates ;\\n--check n’écrit rien et sort en 1 quand les variables d’un modèle ne correspondent plus au worker","scenariosList":"lister chaque chemin distinct dans chaque processus, avec les conditions qu’il prend : un plan de test ; --format md|json","scenariosRun":"exécuter les fichiers de cas de test Camunda des diagrammes contre leur moteur, étape par étape, avec des mocks ;\\n--junit écrit une classe Camunda Process Test qui les exécute","scenariosGenerate":"écrire les fichiers de cas de test à partir des chemins dans chaque processus","testCases":"la commande derrière scenarios run et scenarios generate ; --generate écrit les fichiers de cas de test au lieu de les exécuter","junit":"écrire un test JUnit pour chaque chemin dans chaque processus ; --out <dir>, --package <name>","layout":"disposer les diagrammes ; --write pour enregistrer","fmt":"réécrire le XML comme l’éditeur l’enregistre, pour que les diffs restent lisibles","convert":"écrit les diagrammes Camunda 7 ou CIB seven dans l’espace de noms Operaton","diffTwoFiles":"ce qui a changé entre deux versions d’un processus","diffWorkingTree":"ce que l’arbre de travail a changé depuis un commit, une branche ou un tag, HEAD~1 par défaut ; --images pour le voir","export":"rendre les diagrammes en images ; --format svg|png, --out <dir>","share":"un seul fichier HTML à envoyer : une visionneuse en lecture seule avec zoom, déplacement et la documentation de chaque élément, s’ouvre hors ligne ; -o <file.html>","import":"transformer un diagramme draw.io, Visio, Signavio ou Bizagi en BPMN 2.0, et lister ce qui n’a pas pu être converti ; -o <file.bpmn>, --force","docs":"écrire la documentation de chaque processus, fichier de décision et formulaire ; --format html|md|docx|pdf, --out <dir>","report":"un seul commentaire markdown pour une pull request : vérification, diff et images","bot":"répondre dans une pull ou merge request, depuis l’exécution CI qui la contient ; init --ci le configure","deploy":"déployer les processus, décisions et formulaires sur le moteur que la configuration nomme ; --dry-run, --wait","show":"lister les éléments, les flux et les propriétés d’un diagramme ; --format json pour les outils","edit":"ajouter, connecter, définir ou supprimer, comme le ferait l’éditeur ; --ops pour du JSON sur une ligne,\\n--ops-file pour du JSON dans un fichier ou - pour le lire sur l’entrée standard, --schema pour le contrat","license":"quelle licence a cette machine, ou - avec l’e-mail d’achat - la clé pour PENSTOCK_LICENSE dans un pipeline","trust":"laisser le penstock.yaml de ce projet exécuter des commandes shell ici : nécessaire avant qu’un hook de check, layout ou deploy ne tourne ;\\n--list affiche ce qui est approuvé, --forget en retire un, --yes ne demande pas","licenseBuy":"acheter Penstock ; la licence arrive sur cette machine toute seule","licenseLogin":"se connecter avec l’e-mail qui a servi à acheter Penstock ; aucune clé à copier","licenseActivate":"utiliser une clé que vous avez déjà","licenseLogout":"libérer la licence de cette machine pour qu’une autre puisse s’en servir (même chose que license deactivate)","mcp":"servir des diagrammes BPMN à un agent IA via MCP : lire et vérifier est gratuit ;\\nl’analyse de flux, les scénarios, les liens vers le code et la modification demandent Pro, et Team dans un pipeline ;\\n--config affiche l’entrée client","connectors":"lister les modèles de connecteurs de Camunda, ou en afficher un ; téléchargés depuis GitHub au plus une fois par jour","update":"déplacer le wrapper du projet vers une version, la dernière par défaut","profile":"utiliser ce profil, comme le ferait PENSTOCK_PROFILE","lang":"répondre dans cette langue, en, ru, de, zh, ja, ko, es, pt-BR ou fr ;\\nsinon LANG, puis LC_MESSAGES, puis LC_ALL décident, et l’anglais fait la réponse","refresh":"avec connectors : chercher maintenant sur GitHub une version plus récente","format":"comment check, scenarios list, show et docs se présentent","only":"quelles parties de check exécuter : drawing, rules, flow","baseline":"échouer seulement sur les problèmes que la base de référence n’accepte pas déjà","updateBaseline":"écrire les problèmes actuels comme base de référence","write":"laisser layout ou fmt enregistrer son résultat","force":"laisser import remplacer un fichier déjà là","dryRun":"laisser deploy dire ce qu’il enverrait, et n’envoyer rien","wait":"laisser deploy confirmer avec le moteur que les définitions sont actives","ci":"quel pipeline init doit écrire","out":"où export met les images, ou où report écrit son markdown ; -o revient au même, et pour share le fichier","base":"ce avec quoi report compare ; origin/main par défaut","imageBase":"d’où les images seront servies, pour un commentaire qui les affiche","imagesLink":"où les trouver à la place, quand elles ne peuvent pas être affichées dans le commentaire","images":"laisser diff rendre avant et après, avec les changements en couleur","imagesDir":"où report met ses images","distribution":"pour update : d’où venir chercher Penstock, une tarball ou une spécification de registre","stage":"pour bot : dessiner maintenant et publier plus tard, quand les images sont téléversées entre-temps","target":"pour migrate : la version Camunda 8 pour laquelle convertir, 8.8 par défaut","failOn":"pour migrate : ce qui donne le code de sortie 1, error par défaut","verbose":"pour migrate : lister et annoter ce qui ne se reporte que tel quel","hooks":"installer un hook pre-commit qui formate et vérifie les diagrammes indexés","trustProject":"laisser le penstock.yaml de ce projet exécuter ses hooks pour cette exécution, sans rien écrire","teamcity":"laisser scenarios run rapporter sous forme de messages de service TeamCity, comme l’IDE les lit","junitXml":"où scenarios run écrit un rapport JUnit XML","timeout":"combien de temps scenarios run attend pour une étape, 30 par défaut","optionsHeading":"Options","pathsNote":"Les chemins par défaut sont le répertoire de travail, et la configuration est lue à partir de là vers le haut, donc\\npeu importe le dossier depuis lequel vous le lancez.","helpNote":"Chaque commande et sous-commande a son aide, avec ses options, un exemple, le niveau requis et\\nla signification de ses codes de sortie : penstock <command> --help, comme penstock check --help ou\\npenstock scenarios run --help.","guideNote":"Le guide : {url}","web":"sert l'éditeur dans un navigateur, pour le dossier donné ou pour un dossier choisi sur sa page d'accueil ; --port, --host et --no-open indiquent où et si un navigateur s'ouvre","port":"le port sur lequel penstock web écoute, 8765 par défaut ; le suivant libre est utilisé s'il est occupé","host":"l'adresse sur laquelle penstock web écoute, 127.0.0.1 par défaut ; toute autre rend le dossier accessible depuis le réseau","noOpen":"penstock web : affiche le lien et n'ouvre pas de navigateur","agentServe":"sert le chat IA d’un projet à un IDE en HTTP sur cette machine ; --project indique lequel","agentLaunch":"lance ici la ligne de commande propre d'un agent avec le serveur MCP de penstock prêt pour cette exécution ; sans nom, liste les agents","testTask":"exécuter une tâche d'un diagramme sur un moteur : le chemin qui précède est terminé ou simulé, puis variables, incidents et état sont rapportés"},"renamed":"penstock {old} s’appelle maintenant {now} ; l’ancien nom disparaîtra à la prochaine version.","flagRenamed":"{old} s’appelle maintenant {now} ; l’ancien drapeau disparaîtra à la prochaine version.","scenariosUsage":"Utilisez scenarios list, scenarios run ou scenarios generate.","mcpConfigHint":"Collez ceci dans la configuration de votre client MCP ou, dans Claude Code, exécutez une fois la ligne de commande installée (npm install -g @kern0x1b/penstock-cli) : claude mcp add penstock -- penstock mcp. VS Code n’a besoin ni de l’un ni de l’autre : l’extension Penstock enregistre le serveur. Le serveur trouve le projet à partir des fichiers dont l’agent parle.","mcp":{"partOf":"{description} Fait partie de Penstock Pro, et de Team dans une chaîne : {gives}.","nothing":"rien","takesNot":"{tool} attend {list}, pas {extra}","rootsNotSaid":"Le client n’a pas indiqué quels dossiers sont ouverts, donc aucun fichier ne peut être placé dedans. Ouvrez un dossier dans le client et réessayez.","truncated":"Le résultat a été coupé à {shown} caractères sur {total}. Demandez moins : un processus, ou un diagramme plus petit.","needs":"{tool} a besoin de {list}","mustBeTrueOrFalse":"{tool} : {name} doit valoir true ou false","noDirectory":"il n’y a pas de répertoire {target}","notADirectory":"{target} n’est pas un répertoire","projectMustBeAbsolute":"« project » doit être un chemin absolu vers un dossier de projet","projectNotGiven":"« project » doit être fourni comme chemin absolu vers un dossier de projet","fileMustBeAbsolute":"« file » doit être un chemin absolu vers un diagramme","noFile":"il n’y a pas de fichier {file}","noElement":"{file} n'a pas d'élément {id}. Il contient {ids}.","notABpmnDiagram":"{file} n’est pas un diagramme BPMN","outsideRoots":"{target} est en dehors des racines de l’espace de travail","notAPenstockProject":"{target} n’est pas un projet Penstock","notADiagram":"{file} n’est pas un fichier BPMN, DMN ou de formulaire","badRevision":"{ref} n’est pas une révision git utilisable ici","noCommittedVersion":"{file} n’a pas de version validée à {ref}, il n’y a donc rien à comparer","wouldReflow":"réorganiserait la mise en page (dryRun, rien n’est écrit)","imageTooLarge":"Le dessin fait {size} caractères, trop pour être renvoyé ici. Passez out, un dossier, pour l’y écrire à la place.","pngReturned":"{file} dessiné en image PNG.","onlyOneOf":"{tool} accepte {first} ou {second}, pas les deux","mustBeOneOf":"{tool} : {name} doit être l’une de ces valeurs : {list}","mustBePositive":"{tool} : {name} doit être un nombre entier supérieur à zéro","outMustBeAbsolute":"\\"out\\" doit être un chemin absolu vers un dossier","instructions":"Des outils pour les diagrammes BPMN, les décisions DMN et les formulaires Camunda de plusieurs projets. Passez des chemins absolus vers des fichiers ou des dossiers de projet. Lisez un diagramme avec show_diagram avant de le modifier avec edit_diagram.","unknownTool":"outil inconnu : {name}","unknownPrompt":"prompt inconnu : {name}","methodNotFound":"méthode introuvable : {method}","parseError":"erreur d’analyse","notARequest":"ce n’est pas une requête JSON-RPC : un objet de requête par ligne, pas de tableaux","tool":{"migrateApply":"Applique la migration de Camunda 7 vers Camunda 8 à un projet : réécrit BPMN, DMN et formulaires sur place, traduit les expressions qu'il peut et liste les autres, écrit un squelette de job worker par type de job et MIGRATION.md, puis vérifie le résultat comme Camunda 8. Par défaut c'est une simulation qui renvoie le diff et n'écrit rien ; passez write true pour écrire. Il ne supprime jamais un fichier ni ne suit un lien symbolique hors du projet.","listDiagrams":"Liste les diagrammes BPMN d’un projet et renvoie des chemins absolus.","showDiagram":"Décrit un diagramme : chaque élément et chaque flux avec son id, son type, son nom, ses connexions et les propriétés du moteur. Lisez-le avant de modifier ; les opérations se réfèrent à ces id.","elementContext":"Décrit ce qui entoure un élément d'un diagramme, tel que les suggestions de l'éditeur le voient : les variables qui lui parviennent et l'élément qui écrit chacune, ce que l'élément lit et écrit lui-même, ses types de job, ainsi que les types de job, processus et décisions que le projet utilise déjà. Lisez-le avant de nommer une variable, un type de job ou un mapping, afin de réutiliser un nom existant plutôt que d'en inventer un. Il est calculé à partir des seuls diagrammes, pas du code qui est derrière.","checkDiagram":"Signale ce qui ne va pas dans un diagramme, comme le fait la vérification de l’éditeur : le dessin, les règles bpmnlint du projet et, avec une licence, le déroulement du processus.","analyzeFlow":"Trouve ce qui ne va pas dans le déroulement d’un diagramme : blocages, branches qui s’exécutent deux fois, éléments qui ne peuvent jamais s’exécuter et boucles sans sortie, chacun avec le chemin des id d’éléments qui y mène. Exécutez-le après edit_diagram.","listScenarios":"Liste chaque chemin distinct dans un diagramme : les décisions prises, leurs conditions, les étapes exécutées et la fin. Utilisez-le pour écrire des tests ou expliquer le processus.","checkCodeLinks":"Vérifie chaque diagramme du projet face au code : types de job, sujets de tâche externe, classes et beans sans rien pour les exécuter, processus appelés qu’aucun diagramme ne définit et workers qu’aucun diagramme n’utilise, avec fichier et ligne.","listDiagramsMore":"Chaque entrée donne le fichier et son genre (process, decision ou form) : les fichiers de décision DMN et les formulaires Camunda sont listés aussi.","showDiagramMore":"Pour un fichier DMN, il donne chaque décision avec sa politique de résultat, ses entrées, ses sorties, ses règles et les décisions, données d’entrée et connaissances qu’elle requiert ; pour un formulaire Camunda, ses composants avec type, clé et libellé.","elementContextMore":"Pour un fichier DMN, l’élément est l’id d’une décision, et la réponse est sa table, les décisions qui en ont besoin et les éléments de processus qui l’appellent ; pour un formulaire, c’est la clé ou l’id d’un composant, avec les éléments de processus qui ouvrent le formulaire.","checkDiagramMore":"Un fichier DMN ou un formulaire est vérifié aussi : un fichier DMN illisible et les vérifications du formulaire (clés en double ou absentes, options répétées) sont gratuits ; les trous et chevauchements entre les règles d’une table de décision demandent une licence.","searchElements":"Trouve où un nom est utilisé dans le projet : éléments, processus, messages, décisions et leurs sorties, variables avec les éléments qui les écrivent et les lisent, et champs de formulaire. Il compare l’id ou le nom sans tenir compte de la casse, les correspondances exactes d’abord. À utiliser avant d’inventer un nom, et pour voir ce qu’un renommage toucherait.","diffDiagrams":"Indique ce qui a changé entre deux diagrammes du même type (BPMN, DMN ou formulaire), ou entre un fichier et sa version validée (HEAD, sauf si ref en désigne une autre) : les éléments ajoutés, supprimés et modifiés, et les identifiants des éléments qui ont seulement bougé sur le canevas (ou, dans un formulaire, qui ont été réordonnés ou déplacés vers un autre groupe). Une table de décision se compare par identifiant de règle, un formulaire par identifiant de composant.","exportImage":"Dessine un diagramme BPMN en SVG (renvoyé en texte) ou en PNG (renvoyé en image ; demande puppeteer installé). Passez out, un dossier, pour y écrire le fichier au lieu de le renvoyer.","layoutDiagram":"Lance la mise en page automatique de l’éditeur sur un diagramme et réécrit le résultat en une seule étape atomique. Les éléments et les flux restent les mêmes ; seules leurs positions changent. Utilisez dryRun pour voir quels éléments bougeraient sans rien écrire.","runScenarios":"Exécute les cas de test enregistrés du projet contre un moteur Camunda local marqué pour les tests, et renvoie ceux qui ont réussi, échoué ou été ignorés. Donnez un diagramme comme file, ou un dossier de projet. Chaque exécution déploie sa propre copie des diagrammes sur le moteur, la retire ensuite et garde la trace sous .penstock/runs.","editDiagram":"Modifie un diagramme avec le modelage de l’éditeur : les nouveaux éléments sont placés et connectés comme le fait l’éditeur, et les id suivent les conventions du projet. Les opérations s’appliquent toutes ensemble ou pas du tout. Une modification qui casserait le dessin (formes superposées, un flux qui traverse une forme, un flux détaché) est refusée ; les croisements et les cas voisins sont signalés mais autorisés. Utilisez dryRun pour voir le résultat sans écrire.","migrateAnalyze":"Analyse ce qu'exigerait le passage de diagrammes, décisions et formulaires Camunda 7 vers Camunda 8, comme penstock migrate : pour chaque fichier son état et ses constats (règle, gravité, emplacement, action, conversion automatique, à vérifier ou manuelle), puis l'effort et les points bloquants. Donnez un fichier ou un dossier de projet. Rien n'est écrit.","createDiagram":"Crée un nouveau diagramme BPMN, une décision DMN ou un formulaire Camunda à un chemin qui n'existe pas encore, en une seule étape atomique ; un fichier existant n'est jamais écrasé. L'extension (.bpmn, .dmn, .form) indique le type. Sans spec, le fichier est vide. Avec spec, il est construit à partir d'une description de son contenu et vérifié avant d'être écrit : un fichier qui échoue à la vérification avec une erreur est refusé. BPMN : spec a steps (éléments en ligne après l'événement de début, chacun avec element, name et, en option, event, id et properties) ou operations (comme dans edit_diagram). DMN : spec a hitPolicy, inputs (label, expression, typeRef), outputs (name, label, typeRef) et rules (when et then, un texte par entrée et par sortie). Formulaire : spec a fields (type, key, label, options, required).","testTask":"Exécuter un élément d'un diagramme sur le moteur Camunda local que le projet marque pour les tests : le processus est déployé comme build de test, une instance démarre avec les variables, le chemin jusqu'à l'élément est terminé ou simulé, puis l'élément est terminé, lève une erreur BPMN ou reste en attente. Renvoie l'état de l'élément, ce qu'il a reçu et envoyé, les variables, les incidents et l'état de l'instance, puis supprime le build."},"prompt":{"reviewDiagram":{"description":"Relire un diagramme : lancer les vérifications, lire son déroulement et signaler ce qu’il faut corriger, le plus grave d’abord.","text":"Relisez le diagramme {file}. Lisez-le avec show_diagram, lancez check_diagram et, pour un diagramme BPMN, analyze_flow aussi. Listez ensuite ce qui ne va pas, le plus grave d’abord, chaque point avec les id des éléments concernés et la modification que vous proposez. Ne modifiez rien avant mon accord."},"explainProcess":{"description":"Expliquer un processus en langage simple à quelqu’un qui ne l’a pas vu.","text":"Expliquez le processus {file} en langage simple à quelqu’un qui ne l’a pas vu. Lisez-le avec show_diagram et list_scenarios, nommez le chemin principal et chaque décision avec ce qui la fait aller d’un côté ou de l’autre, et dites où il peut se terminer. Utilisez les noms du diagramme et ne donnez les id des éléments que si je les demande."}},"param":{"workers":"Langage des squelettes de job worker : spring (par défaut), java, node ou python.","write":"Écrire les changements. Par défaut false : une simulation qui renvoie le diff et n'écrit rien.","file":"Chemin absolu vers le diagramme BPMN.","project":"Chemin absolu vers le dossier du projet. S’il est omis, les racines de l’espace de travail fournies par le client sont utilisées.","anyFile":"Chemin absolu vers un fichier BPMN, DMN ou de formulaire Camunda.","query":"Texte à chercher dans les id et les noms.","kinds":"Chercher seulement ces genres. Sans valeur, tous.","limit":"Nombre maximal de résultats renvoyés. 50 par défaut.","other":"Chemin absolu vers le second diagramme BPMN. Sans valeur, le diagramme est comparé à sa version validée.","ref":"Révision git à comparer quand other est omis. HEAD par défaut.","format":"svg (par défaut) ou png.","out":"Chemin absolu vers un dossier où écrire l’image. Sans valeur, l’image est renvoyée.","timeout":"Secondes qu’une étape d’un cas de test peut prendre avant d’échouer.","dryRun":"Dire ce qui changerait sans écrire le fichier.","element":"Id de l'élément à tester.","variables":"Variables avec lesquelles l'instance démarre. Elles l'emportent sur les valeurs dont le chemin a besoin.","complete":"Variables avec lesquelles terminer l'élément. C'est le comportement par défaut, sans variables.","error":"Code d'erreur BPMN que l'élément lève au lieu de se terminer.","target":"Version de Camunda 8 visée par l'analyse. 8.8 par défaut.","verbose":"Inclure les constats qui notent seulement ce qui est repris tel quel.","newFile":"Chemin absolu du fichier à créer, se terminant par .bpmn, .dmn ou .form. Il ne doit pas exister.","diagramName":"Nom du processus, de la décision ou du formulaire. Par défaut, le nom du fichier.","diagramDescription":"À quoi sert le processus ou la décision, enregistré comme sa documentation. Indisponible pour les formulaires.","spec":"Le contenu à construire, comme le décrit la description de l'outil.","hold":"Laisser l'élément en attente pour voir ce qu'il a reçu.","process":"Id du processus, quand le fichier en contient plusieurs."},"mustBeText":"{tool} : {name} doit être un texte non vide","mustBeObject":"{tool} : {name} doit être un objet"},"checkUnknownSection":"check n’a pas de section {section}. Elle a {sections}.","badFailOn":"--fail-on devrait être error ou warning, pas {value}.","badTimeout":"Le délai doit être un nombre de secondes.","badFormat":"--format devrait être {values}, pas {value}.","preHookStopped":"L’étape {stage} a été arrêtée par son hook pre.","postHookStopped":"L’étape {stage} a été arrêtée par son hook post.","unknownCommand":"Commande inconnue : {command}","stopping":"Arrêt : le cas de test en cours est annulé et sa version supprimée. Appuyez de nouveau sur Ctrl-C pour sortir maintenant.","show":{"needsDiagram":"show demande un diagramme : penstock show process.bpmn"},"facts":{"badInput":"facts lit sur l'entrée standard une liste JSON de fichiers, chacun avec son chemin et son texte"},"web":{"serving":"{folder} est servi","pressCtrlC":"Appuyez sur Ctrl+C pour arrêter.","stopping":"Arrêt en cours.","notAFolder":"{folder} n'est pas un dossier.","badPort":"Le port devrait être un nombre de 0 à 65535, pas « {value} ».","badHost":"L'adresse devrait être une adresse IP ou un nom d'hôte, pas « {value} ».","noFreePort":"Aucun port de {from} à {to} n'est libre.","cannotListen":"Penstock ne peut pas écouter : {reason}","portTaken":"Le port {port} est occupé, Penstock utilise donc le {used}.","exposed":"Avertissement : --host {host} rend cette machine accessible depuis d'autres machines. Toute personne disposant du lien ci-dessous peut lire et modifier les diagrammes du projet ouvert et voir les noms de dossiers de cette machine.","noPageWarning":"La page de l'éditeur ne fait pas partie de ce build, seule l'API répond donc. Compilez la webview ou définissez PENSTOCK_WEB_ROOT sur une page compilée.","noPage":"La page de l'éditeur ne fait pas partie de cette installation.","browserFailed":"Penstock ne peut pas ouvrir de navigateur. Ouvrez vous-même le lien ci-dessus.","reason":{"internal":"Le serveur ne peut pas faire cela.","noSuchFile":"Ce fichier n'existe pas.","noAccess":"Le serveur n'est pas autorisé à faire cela.","isAFolder":"C'est un dossier, pas un fichier.","diskFull":"Le disque est plein.","exists":"Cela existe déjà.","badPath":"{path} devrait être un chemin à l'intérieur du dossier.","outside":"{path} est en dehors du dossier servi par Penstock.","notEditable":"Penstock n'écrit que des diagrammes, des décisions, des formulaires, des cas de test, penstock.yaml et des modèles d'élément, et {path} n'en est aucun.","tooLarge":"La requête devrait faire moins de {limit} Mo.","fileTooLarge":"Le fichier devrait faire moins de {limit} Mo.","notAnObject":"La requête devrait être un objet JSON.","missingField":"La requête devrait avoir un champ {field}.","wrongField":"La requête a un champ {field} incorrect.","notJson":"Le corps de la requête devrait être du JSON, envoyé en application/json.","wrongHost":"Penstock ne répond pas sur cette adresse.","wrongOrigin":"Cette requête vient d'une autre page, et Penstock ne répond qu'à la sienne.","noToken":"Ouvrez le lien affiché par penstock web : il contient la clé dont ce serveur a besoin.","methodNotAllowed":"Cette opération n'accepte pas cette méthode.","noSuchOperation":"Cette opération n'existe pas.","tooLong":"L'adresse de la requête est trop longue.","tookTooLong":"La requête a pris trop de temps.","notTheProject":"{path} n'est pas le dossier servi par Penstock.","badFileList":"La requête devrait lister entre 1 et 500 fichiers.","listedTwice":"{path} figure deux fois.","alreadyExists":"{path} existe déjà.","badTraceName":"L'exécution et le nom de la trace devraient être des lettres minuscules, des chiffres et des tirets.","unknownFeature":"{feature} n'est pas une fonction que Penstock connaît.","tooMany":"La requête a trop d'entrées.","badProfile":"Un nom de profil devrait comporter des lettres, des chiffres, des espaces, des points, des tirets ou des tirets bas, jusqu'à 80 caractères.","notAnAddress":"Le champ {field} devrait être une adresse http ou https.","badEnginePath":"Le moteur n'est interrogé que sur des chemins de sa propre API, avec GET, POST, PUT, PATCH ou DELETE.","tooManyHooks":"Trop de hooks de déploiement sont en cours d'exécution.","noSuchRun":"Cette exécution de hook n'existe pas.","notWebAddress":"{url} n'est pas une adresse web.","connectorRefused":"Le catalogue de connecteurs l'a refusé : {detail}","engineAnswerTooLarge":"La réponse du moteur devrait faire moins de {limit} Mo.","projectGone":"Le dossier de ce projet n'existe plus.","noProject":"Aucun projet n'est ouvert. Ouvrez-en un d'abord.","projectChanged":"Le serveur sert maintenant un autre projet. Rechargez la page pour le suivre.","switchBusy":"Un déploiement est en cours. Attendez qu'il se termine avant d'ouvrir un autre projet.","badFolder":"{folder} devrait être le chemin d’un dossier.","notAbsolute":"{folder} devrait être un chemin absolu, comme /home/me/projet ou C:\\\\Projets\\\\app.","noSuchFolder":"{folder} n'existe pas.","notAFolder":"{folder} est un fichier, pas un dossier.","folderNotReadable":"Penstock n'a pas le droit de lire {folder}.","nameEmpty":"Le nom ne devrait pas être vide.","nameCharacters":"Le nom ne devrait contenir ni / \\\\ : * ? \\" < > | ni caractères de contrôle.","nameDots":"Le nom ne devrait pas commencer ou finir par une espace, ni finir par un point.","nameReserved":"{name} est un nom réservé par Windows.","nameLong":"Le nom devrait faire 255 octets au plus.","notTheRoot":"Le dossier du projet lui-même ne peut pas être modifié ici.","isALink":"{path} est un lien symbolique, et Penstock ne modifie pas les liens.","changedOnDisk":"{path} a changé sur le disque depuis la dernière lecture par la page.","kindChange":"{path} devrait garder son type de fichier.","moveIntoItself":"Un dossier ne peut pas être déplacé dans lui-même.","tooDeep":"Le dossier est imbriqué trop profondément.","folderHoldsOthers":"{path} contient des fichiers que Penstock ne modifie pas, il n’est donc pas supprimé.","archiveTooLarge":"Le projet compte plus de {files} fichiers ou plus de {size} Go, ce qui est trop pour un seul téléchargement.","busy":"Le fichier est utilisé par un autre programme.","readOnly":"Le disque est en lecture seule.","otherDisk":"Penstock ne déplace pas de fichiers entre des disques.","noLanguageServer":"Il n'existe aucun serveur de langage nommé {server}.","languageServerMissing":"La commande {command} du serveur de langage n'est pas installée sur cette machine.","languageServerUnsafe":"Le serveur de langage {command} est un fichier de commandes Windows qui ne peut pas être démarré en toute sécurité avec ces arguments.","tooManyLanguageServers":"Il ne devrait pas y avoir plus de {limit} serveurs de langage en même temps.","staleToolWindow":"La fenêtre d'outils a changé depuis sa lecture. Recharge l'arbre et réessaie.","noSuchAction":"Cette action n'est pas dans la fenêtre d'outils. Recharge l'arbre et réessaie."},"unsupported":{"script":"Les fichiers de script s'ouvrent dans un éditeur d'IDE, que l'éditeur du navigateur n'a pas.","diff":"Une comparaison de gestion de versions est affichée par un IDE.","clipboard":"Le presse-papiers appartient au navigateur.","chooser":"Les fichiers se choisissent dans la page, pas dans une boîte de dialogue système.","navigation":"Ouvrir du code demande un IDE. Utilisez Penstock dans un IDE JetBrains ou dans VS Code pour y accéder.","view":"Les fenêtres d'outils appartiennent à un IDE.","reveal":"La page ouvre elle-même les diagrammes.","tests":"Lancer des tests depuis le code demande un IDE. Exécutez penstock scenarios run en ligne de commande.","rename":"Renommer des noms liés dans le code demande un IDE.","confirm":"Les confirmations sont demandées dans la page elle-même.","migration":"L'aperçu de la conversion n'existe pas dans l'éditeur du navigateur. Exécutez penstock migrate en ligne de commande.","document":"L'éditeur du navigateur enregistre par les opérations sur les fichiers et garde son propre historique d'annulation."},"page":{"expired":{"title":"Ce lien n'ouvre pas Penstock","text":"Sa clé est absente ou n'est plus valide. Penstock a peut-être été redémarré depuis la création du lien.","hint":"Utilisez le lien affiché par penstock web dans le terminal, ou relancez penstock web."},"missing":{"title":"Cette page n'existe pas","text":"Penstock n'a aucune page à cette adresse.","hint":"Revenez à l'éditeur avec le lien affiché par penstock web."},"open":"Ouvrir l'éditeur"},"servingWelcome":"Aucun projet n'est encore ouvert. Choisissez-en un dans le navigateur.","toolWindow":{"unsupported":{"outside":"Ce fichier est en dehors du projet servi par Penstock.","tests":"Lancer des tests depuis le code nécessite un IDE. Lance les scénarios dans l'onglet Scénarios du diagramme, ou exécute penstock scenarios run en ligne de commande.","migration":"La conversion vers Camunda 8 n'est pas encore dans l'éditeur du navigateur. Exécute penstock migrate analyze, convert ou report en ligne de commande.","templates":"Écrire des workers et des modèles d'éléments depuis la fenêtre d'outils n'est pas encore dans l'éditeur du navigateur. Exécute penstock templates generate en ligne de commande."},"script":{"missing":"Ce script ne figure plus dans le diagramme."}}},"webHost":{"reason":{"notLicensed":"Renommer des noms liés demande une licence Pro.","changedSince":"{file} a changé après la préparation du renommage. Rien n’a été écrit.","licence":"La clé n’a pas été acceptée : {detail}","licenceService":"Le service de licences est injoignable : {detail}","keyShape":"La clé de licence semble incomplète. Collez-la telle qu’elle figure dans l’e-mail d’achat.","nothingToRelease":"Aucune licence activée à rendre sur cette machine."}},"agentServe":{"needsProject":"Indiquez le projet concerné par les conversations : penstock agent serve --project <dir>."},"agentLaunch":{"heading":"Agents que penstock agent <nom> peut lancer :","how":"Lancez-en un avec : penstock agent <nom> [-- <arguments pour l'agent>]","installed":"installé","missing":"non installé - {install}","notFound":"sa commande n'est pas sur cette machine","unknown":"Il n'existe aucun agent nommé {agent}. Choisissez parmi : {list}.","notInstalled":"{name} n'est pas installé sur cette machine. Installez-le avec : {install}","commandMissing":"La commande de {name}, {command}, n'est pas sur cette machine.","noMcp":"Penstock n'a pas pu déterminer d'ici comment lancer son propre serveur MCP ; l'agent n'a donc pas été lancé.","customNote":"{name} est un agent que vous avez ajouté ; il reçoit le serveur MCP de penstock en JSON dans la variable d'environnement PENSTOCK_MCP_CONFIG.","cannotPrepare":"L'agent n'a pas été lancé car ses réglages pour cette exécution n'ont pas pu être écrits : {reason}","cannotStart":"{name} n'a pas pu être lancé : {reason}","unsafeArguments":"{name} est un fichier de commandes Windows, et ses arguments ne peuvent pas lui être transmis en toute sécurité, il n'a donc pas été lancé.","extraWords":"Ce qui est destiné à l'agent doit suivre -- , par exemple : penstock agent {agent} -- <arguments>."},"start":{"npmMissing":"Penstock a besoin de Node.js avec npm pour exécuter sa ligne de commande.","unpublished":"npm n’a pas de ligne de commande Penstock pour cette version, la commande n’a donc pas pu démarrer.","installFailed":"La ligne de commande Penstock n’a pas pu être installée. Vérifiez votre connexion réseau ou le registre npm, puis réessayez.","notStarted":"La ligne de commande Penstock n’a pas pu démarrer.","details":"Détails","progress":"Démarrage de la ligne de commande Penstock"},"test":{"unknown":"Indiquez quoi tester : penstock test task <file.bpmn> --element <id>.","notAnObject":"ce doit être un objet comme {\\"order\\": \\"A-1\\"}"}},"actions":{"undo":{"title":"Annuler","tooltip":"Annuler"},"redo":{"title":"Rétablir","tooltip":"Rétablir"},"auto-layout":{"title":"Disposition automatique","tooltip":"Réorganiser le diagramme","keywords":"organiser, aligner, ranger, de gauche à droite"},"diagram-check":{"title":"Vérifier","tooltip":"Vérifier les problèmes du diagramme","keywords":"lint, valider, erreurs, avertissements, conventions"},"token-simulation":{"title":"Simuler","tooltip":"Faire passer des jetons dans le processus","keywords":"jetons, lire, parcourir, simulation"},"coverage":{"title":"Couverture","tooltip":"Montrer ce que les tests du processus atteignent","keywords":"tests, atteint, chemins"},"live":{"title":"Supervision","tooltip":"Ce que le moteur fait de ce diagramme maintenant : instances en attente à chaque étape et incidents","keywords":"instances, incidents, en direct, en cours"},"runs":{"title":"Scénarios","tooltip":"Exécuter les scénarios de ce diagramme sur un moteur local et voir chaque étape","keywords":"cas de test, junit, trace"},"migration":{"title":"Migrer vers Camunda 8","tooltip":"Ce qui n’est pas repris dans Camunda 8, et sa conversion","keywords":"migration, convertir, mise à niveau"},"convert-operaton":{"title":"Convertir vers Operaton","tooltip":"Passer un diagramme Camunda 7 ou CIB seven à l’espace de noms operaton:","keywords":"convertir, espace de noms, Operaton, CIB seven, cibseven, Camunda 7"},"deploy":{"title":"Déployer","tooltipTo":"Déployer sur {url}","tooltipEngine":"Déployer sur le moteur","noEngine":"Ajoutez un moteur dans penstock.yaml pour déployer","keywords":"publier, téléverser, version"},"open-tasklist":{"title":"Ouvrir dans Tasklist","tooltip":"Ouvrir Tasklist dans le navigateur","keywords":"tasklist, tâches, tâches utilisateur, travail"},"toggle-sidebar":{"title":"Barre latérale","tooltip":"Barre latérale","keywords":"inspecteur, propriétés, panneau latéral"},"focus-canvas":{"title":"Concentrer sur le canevas","tooltip":"Masquer les barres latérales et n'afficher que le canevas ; appuyer à nouveau pour les réafficher","keywords":"concentrer, canevas, masquer, barres latérales, plein écran, concentration"},"fit-diagram":{"title":"Ajuster le diagramme","tooltip":"Afficher tout le diagramme dans le canevas","keywords":"zoom, réinitialiser, entier, centrer"},"zoom-in":{"title":"Zoom avant","keywords":"agrandir, plus près"},"zoom-out":{"title":"Zoom arrière","keywords":"réduire, plus loin"},"transaction-boundaries":{"title":"Limites de transaction","tooltip":"Montrer où le moteur valide une transaction : états d’attente et continuations asynchrones","keywords":"commit, attente, asynchrone, continuation"},"minimap":{"title":"Minicarte","keywords":"aperçu, navigateur, carte"},"trace-paths":{"title":"Tracer les chemins","tooltipOn":"Montrer chaque chemin qui passe par l’élément sélectionné et atténuer le reste du diagramme","tooltipOff":"Sélectionnez une tâche, une passerelle ou un événement pour tracer les chemins qui passent par lui","keywords":"accessibilité, avant, après, surligner, ce qui mène ici"},"sketchy":{"title":"Dessin à main levée","keywords":"croquis, brut, style, rendu"},"show-comment-badges":{"title":"Afficher les pastilles de commentaires","tooltip":"Dessiner le nombre de commentaires ouverts sur chaque élément qui en a","keywords":"commentaires, notes, pastille, nombre"},"export":{"title":"Exporter…","tooltip":"Enregistrer le diagramme en SVG, PNG ou PDF, ou le copier comme image","keywords":"image, dessin, copier comme image"},"marketplace":{"title":"Modèles…","keywords":"connecteurs, modèles d’éléments, catalogue"},"import":{"title":"Importer un diagramme…","tooltip":"Transformer un diagramme draw.io, Visio, Signavio ou Bizagi en BPMN","keywords":"convertir, charger"},"share":{"title":"Partager en HTML…","tooltip":"Un fichier qui s’ouvre hors ligne dans n’importe quel navigateur","keywords":"envoyer, publier, hors ligne, navigateur"},"copy":{"title":"Copier","keywords":"dupliquer"},"paste":{"title":"Coller"},"tour":{"title":"Revoir la visite guidée","keywords":"bienvenue, introduction, guide, premier lancement"},"keyboard-shortcuts":{"title":"Raccourcis clavier","tooltip":"Tous les raccourcis de cet éditeur","keywords":"touches, raccourcis, combinaisons, aide, antisèche"},"open-documentation":{"title":"Documentation","tooltip":"Ouvrir le guide dans le navigateur","keywords":"documentation, guide, aide, manuel, apprendre, site web"},"undo-long":{"title":"Annuler","tooltip":"Annuler la dernière opération"},"redo-long":{"title":"Rétablir","tooltip":"Rétablir la dernière opération"},"dmn-check":{"title":"Vérifier","tooltip":"Vérifier les décisions","keywords":"lint, valider, erreurs, avertissements, décisions"},"export-table-workbook":{"title":"Exporter la table de décision en classeur…","tooltip":"Enregistrer les entrées, les sorties et chaque règle dans un classeur Excel","keywords":"xlsx, excel, tableur, règles, enregistrer"},"export-table-csv":{"title":"Exporter la table de décision en CSV…","tooltip":"Enregistrer les entrées, les sorties et chaque règle en valeurs séparées par des virgules","keywords":"csv, virgule, tableur, règles, enregistrer"},"import-table":{"title":"Importer une table de décision…","tooltip":"Remplacer les règles de la table sélectionnée par celles d’un classeur ou d’un CSV","keywords":"xlsx, csv, excel, règles, lire"},"import-table-new":{"title":"Ajouter des règles depuis un tableur…","tooltip":"Remplir la table de décision ouverte avec les règles d’un classeur ou d’un CSV","keywords":"xlsx, csv, excel, nouvelle table, règles"},"dmn-trace-paths":{"title":"Tracer les chemins","tooltipOn":"Montrer chaque décision et entrée dont la décision sélectionnée a besoin, et tout ce qui en dépend","tooltipOff":"Sélectionnez une décision dans le diagramme d’exigences pour tracer ce dont elle a besoin","keywords":"exigences, a besoin de, dépend de, surligner"},"preview":{"title":"Aperçu","tooltip":"Essayer le formulaire avec des données d’exemple","keywords":"essayer, données d’exemple, rendu, tester le formulaire"},"form-check":{"title":"Vérifier","tooltipUnreadable":"Ce formulaire n’a pas pu être lu, il n’y a donc rien à vérifier","tooltip":"Vérifier le formulaire","keywords":"lint, valider, erreurs, avertissements, formulaire"},"section":{"checkRun":"Vérifier et exécuter","layoutConvert":"Disposition et conversion","deployShare":"Déployer et partager","view":"Affichage","file":"Fichier","edit":"Édition","help":"Aide","recent":"Récents"},"editor-theme":{"title":"Thème de l'éditeur","tooltip":"Suivre l'IDE, ou utiliser Clair, Sombre ou Dracula","keywords":"thème, clair, sombre, dracula, couleurs, apparence, suivre l'ide"},"start-instance":{"title":"Démarrer l'instance…","tooltip":"Démarrer une instance de processus sur le moteur connecté","keywords":"démarrer, lancer, instance, processus, déclencher"},"debug-process":{"title":"Déboguer le processus","tooltip":"Exécuter une copie de ce processus sur un moteur local et s’arrêter aux points d’arrêt pour lire et modifier ses variables","keywords":"point d’arrêt, pas, pause, débogueur, variables, arrêt"},"toggle-breakpoint":{"title":"Basculer le point d’arrêt","tooltip":"Arrêter le débogueur avant l’étape sélectionnée","keywords":"point d’arrêt, arrêter ici, pause, débogueur"},"compare-with-head":{"title":"Comparer avec le dernier commit","tooltip":"Montre ce qui a changé depuis le dernier commit","keywords":"diff, git, changements, commit, comparer, versions, historique"},"show-licence":{"title":"Licence Penstock","tooltip":"Voir l’offre, saisir une clé de licence ou en acheter une","keywords":"licence, pro, team, essai, activer, clé, acheter, offre"},"timeline":{"title":"Frise chronologique","tooltip":"Parcourir les étapes d’une exécution : une instance choisie dans Supervision ou une exécution de scénario","keywords":"historique, trace, tête de lecture, relecture, étapes, gantt, machine à remonter le temps"},"show-code-badges":{"title":"Afficher les repères de code","tooltip":"Dessine sur chaque tâche un repère indiquant si son code a été trouvé dans le projet","keywords":"code, worker, delegate, bean, repère, manquant"},"chat":{"title":"Chat IA","tooltip":"Chat IA","keywords":"IA, agent, assistant, demander, discussion, conversation"},"test-task":{"title":"Tester la tâche…","tooltip":"Exécuter l'élément sélectionné sur un moteur local : le chemin qui précède est terminé ou simulé, et le résultat s'affiche dans Scénarios","keywords":"tester, test, tâche, élément, simuler, exécuter, chemin"}},"autoLayout":{"autoLayout":"Disposition automatique","laidOut":{"one":"{count} élément disposé","other":"{count} éléments disposés"}},"canvas":{"debugTests":"Déboguer les tests","findUsagesInCode":"Rechercher les usages dans le code","goTo":"Aller à {label}","goToImplementation":"Aller à l’implémentation","runTests":"Exécuter les tests","unableToReadTheFile":"Impossible de relire le fichier"},"code":{"findUsages":"Rechercher les usages","followingAStepToThe":"Suivre une étape jusqu’au code qui l’exécute, ses tests et ses usages fait partie de Penstock Pro. Une classe ou un bean Camunda 7 est suivi dans Free.","goToCode":"Aller au code","noCodeFoundForThis":"Aucun code trouvé pour cette étape.","nothingInTheProjectRuns":"Rien dans le projet ne l’exécute, ne le teste ni ne l’utilise. Une tâche de service est reliée par son type de job, sa classe ou son bean.","selectATaskToSee":"Sélectionnez une tâche pour voir son code.","theProjectHasNotBeen":"Le projet n’a pas encore été lu.","theWorkersClassesBeansAnd":"Les workers, les classes, les beans et les tests d’une étape apparaissent ici dès que vous la sélectionnez sur le diagramme.","section":{"implementations":"Exécuté dans","tests":"Tests","usages":"Utilisé dans"},"warn":{"missingImplementation":"Rien dans le code n’exécute cette étape.","neverThrown":"Rien dans le code ne lève l’erreur que cette étape intercepte.","unsetTypo":"{name} est lu, mais seul {closest} est défini.","unset":"{name} est lu, et rien ne le définit.","unfetchedClosest":"Le worker récupère {closest}, pas {name}, donc {name} vaut null.","unfetched":"Le worker ne récupère pas {name}, donc il vaut null.","unread":"Le worker définit {name}, et aucune étape après celle-ci ne le lit.","lateRead":"Le worker lit {name}, et aucune étape avant celle-ci ne le définit.","nearCase":"Le {name} de cette étape diffère par la casse du {near} dans le code.","near":"Le code a {near}, à une lettre du {name} que cette étape utilise.","implicit":"Le type de job de cette étape est le nom de méthode {method}, qu’un renommage change.","mappingOrder":"Le mapping lit {path} comme null : {target} est défini par une ligne antérieure.","lostUpdate":"Chaque instance en parallèle écrit {name} par-dessus les autres : l’étape n’a pas d’élément de sortie."},"kind":{"JOB_TYPE":"le type de job","TOPIC":"le topic","CLASS":"la classe java","BEAN":"le bean","MESSAGE":"le nom du message","ERROR":"le code d’erreur"},"fact":{"places":{"one":"{count} endroit","other":"{count} endroits"},"here":{"one":"{count} ici","other":"{count} ici"},"withIncident":{"one":"{count} avec un incident","other":"{count} avec un incident"},"reachedBy":"atteint par {tests} des {total} tests","notFetched":"non récupéré par le worker","near":"le code a « {near} »","neverSet":"jamais défini dans le projet","reached":"atteint","thrownBy":"Levée par","runsIn":"Exécuté dans","nothingInCode":"rien dans le code","tests":"Tests","inCode":"Dans le code","sets":"Définit","reads":"Lit","notFetchedClosest":"non récupéré, « {closest} » l’est","unread":"écrit, lu par aucune étape après","lateRead":"lu, défini par aucune étape avant","nearCase":"seul « {near} » diffère par la casse dans le code","implicit":"pris du nom de méthode {method}","mappingOrder":"lit null, {target} est défini par une ligne antérieure","lostUpdate":"écrit par chaque instance, pas d’élément de sortie","neverSetClosest":"jamais défini, « {closest} » l’est","noTestReaches":"aucun test ne l’atteint","coverage":"Couverture","theEngine":"le moteur","on":"Sur {where}","testsReach":{"one":"{count} test l’atteint","other":"{count} tests l’atteignent"}},"finding":{"unfetchedWhere":"le code le lit, il vaut donc null à l’exécution","missingImplementation":"Rien dans le code n’exécute {name}","missingImplementationWhere":"aucun worker, délégué ou bean ne l’implémente","neverThrown":"Rien dans le code ne lève l’erreur que {name} intercepte","neverThrownWhere":"aucun BpmnError ni commande d’erreur n’utilise son code","typo":"{name} est lu, mais seul {closest} est défini","unfetched":"Le worker ne récupère pas {name}","unfetchedClosestWhere":"il récupère {closest} à la place, donc {name} vaut null à l’exécution","unread":"Rien ne lit {name} après cette étape","unreadWhere":"le worker le définit, et aucune étape ultérieure ne le lit","lateRead":"Rien ne définit {name} avant que cette étape le lise","lateReadWhere":"le worker le lit, et aucune étape avant ne le définit","nearCase":"{name} diffère par la casse de {near}, que le code a","near":"Le code a {near}, à une lettre du {name} que cette étape utilise","nearWhere":"{kind}, un nom qui ne correspond pas laisse l’étape sans implémentation","implicit":"Le type de job de cette étape est le nom de méthode {method}","implicitWhere":"@JobWorker sans type prend le nom de la méthode, le renommer casse donc le diagramme","mappingOrder":"{path} est lu comme null, {target} est défini par une ligne de mapping antérieure","mappingOrderWhere":"le moteur évalue chaque source avant d’écrire une quelconque cible","lostUpdate":"Chaque instance écrit {name} par-dessus les autres","lostUpdateWhere":"une étape multi-instance parallèle sans élément de sortie ne garde que le dernier résultat","templateDrift":"Le modèle d’élément {name} ne décrit plus ce que le worker lit : {drift}","variableField":"La variable {variable} n'a pas de champ {field}. Son type {type} a {fields}","variableFieldNone":"La variable {variable} n'a pas de champ {field}. Son type {type} n'a aucun champ que le moteur lit","variableFieldWhere":"Lue ici, définie par {from}","variableFieldWhereUnknown":"Lue ici","variableUnknown":"La variable {name} est lue, mais ni le diagramme ni le code ne la définissent","variableUnknownWhere":"Aucune étape amont ne la définit, et ce n'est pas une entrée déclarée"},"runTests":"Exécuter les tests","debugTests":"Déboguer les tests","saidBy":{"elementsInFiles":"{count} éléments dans {files} diagrammes","tasksInFiles":"{count} tâches dans {files} diagrammes","elementsInOneFile":"{count} éléments dans {file}","one":"{label} dans {file}","tasksInOneFile":"{count} tâches dans {file}"},"wording":{"caughtBy":"Interceptée par","decidedBy":"Décidée par","namedBy":"Nommée par","readBy":"Lue par","setBy":"Définie par","startedBy":"Démarrée par","usedBy":"Utilisée par"},"showAllCount":{"one":"Tout afficher ({count})","other":"Tout afficher ({count})"},"lens":{"covers":"couvre {percent}% de {label}","starts":"démarre {label}"}},"comments":{"aCommentBelongsToAn":"Un commentaire appartient à un élément du processus, pas à ce que le canevas dessine autour.","addAComment":"Ajouter un commentaire","addComment":"Ajouter un commentaire","everyElementThatStillHas":"Chaque élément qui a encore un commentaire se trouve dans la liste derrière la flèche de retour.","everyOpenCommentInThe":"Chaque commentaire ouvert du diagramme apparaît ici.","hideResolved":"Masquer les résolus","noCommentsYet":"Aucun commentaire pour l’instant.","noOpenComments":"Aucun commentaire ouvert.","sayWhatThisElementIs":"Dites à quoi sert cet élément, ou ce qu’il manque encore","selectAnElementAndAdd":"Sélectionnez un élément et ajoutez-lui un commentaire.","showOnTheDiagram":"Afficher {label} sur le diagramme","showResolved":"Afficher les résolus ({resolved})","thisElementCannotTakeComments":"Cet élément ne peut pas prendre de commentaires.","thisElementIsNoLonger":"Cet élément n’est plus dans le diagramme.","waitingForADiagram":"En attente d’un diagramme.","openCount":{"one":"{count} ouvert","other":"{count} ouverts"},"openCommentCount":{"one":"{count} commentaire ouvert","other":"{count} commentaires ouverts"},"resolvedCount":{"one":"{count} résolu","other":"{count} résolus"},"openAndResolved":"{open} ouverts, {resolved} résolus","openTheComments":"{title} - ouvrir les commentaires","commentsOf":"{comments} de {element}","anonymous":"Anonyme","resolvedState":"Résolu","comment":"Commentaire","edit":"Modifier","save":"Enregistrer","cancel":"Annuler","reopen":"Rouvrir","resolve":"Résoudre","delete":"Supprimer","signedBy":"Signé par {name}","writeTheFirstOneBelow":"Écrivez-en un ci-dessous pour ouvrir une discussion sur cet élément."},"coverage":{"closeCoverage":"Fermer la couverture","showTheWayThisTest":"Montrer le chemin que prend ce test","testCoverage":"Couverture des tests","coverage":"Couverture","tests":"Tests","allTests":"Tous les tests","notReached":"Non atteint","coveredOf":"{covered} sur {total}","noTestReportCoversThis":"Aucun rapport de test ne couvre encore ce diagramme. Exécutez ses tests de processus avec Camunda Process Test, ou sur Camunda 7 avec l’extension de couverture des tests de processus, et ce qu’ils atteignent s’affiche ici.","testCount":{"one":"{count} test","other":"{count} tests"}},"debug":{"pausedHere":"Suspendu ici","instanceOf":"instance {id}"},"deploy":{"clientId":"Identifiant client","clientSecret":"Secret client","confirm":"Déployer {what} sur {where} ?","deployHook":"Hook de déploiement","deployToCancelled":"Déploiement vers {target} annulé","deployingTo":"Déploiement de {fileName} vers {target}…","editConnection":"Modifier la connexion…","editConnection2":"Modifier la connexion","engineAddress":"Adresse du moteur","engineConnection":"Connexion au moteur","enterTheClientId":"Saisissez l’identifiant client","enterTheClientSecret":"Saisissez le secret client","enterThePasswordToSign":"Saisissez le mot de passe de connexion","enterTheUserNameTo":"Saisissez le nom d’utilisateur de connexion","files":{"one":"{count} fichier","other":"{count} fichiers"},"keptInPenstockLocalYaml":"Conservé dans penstock.local.yaml, qui reste sur cette machine.","keptInTheIdeS":"Conservé dans le coffre de l’IDE.","notNeeded":"Non requis","notReady":"{name} n’a pas été déployé : {target} n’a encore ni adresse ni mot de passe, renseignez-les sous Connexion dans l’éditeur","notSetYet":"Pas encore défini","nothingInToDeploy":"Rien à déployer dans {fileName}","nothingToDeploy":"Rien à déployer","profile":"Profil","profileInForce":"le profil en vigueur","readingTheDiagram":"Lecture du diagramme…","runningTheDeployHook":"Exécution du hook de déploiement…","saveAndDeploy":"Enregistrer et déployer","savedInTheIdeS":"Enregistré dans le coffre de l’IDE. Saisissez du texte pour le remplacer.","setUpConnection":"Configurer la connexion…","signIn":"Se connecter","signInHint":"{message}. Renseignez la connexion sous Connexion dans l’éditeur","succeededOn":"{message} sur {target}","title":"Déployer","tokenAddress":"Adresse du jeton","unableToDeploy":"Déploiement impossible : {reason}","unableToSaveTheConnection":"Impossible d’enregistrer la connexion : {failure}","userAndPassword":"Utilisateur et mot de passe","whatWillBeSent":"Ce qui sera envoyé","deploy":"Déployer","problemLine":"ligne {line}","andNMore":"et {number} de plus","definitionIsLive":"active {key} v{version}","notConfirmedInTime":"non confirmée en {seconds} s : {key}","preDeployHookFailed":"Impossible d’exécuter le hook preDeploy, rien n’a été envoyé","refusedNothingDeployed":{"one":"Le moteur a refusé {count} fichier et n’a rien déployé :","other":"Le moteur a refusé {count} fichiers et n’a rien déployé :"},"answeredStatus":"Le moteur a répondu {status} : {reason}","deployedFiles":"{files} déployés","deployedAs":"{files} déployés comme {definitions}","definitionsNotShownInTime":"Le moteur a pris le déploiement mais n’a pas montré ses définitions à temps","oauthClient":"Client OAuth","user":"Utilisateur","password":"Mot de passe","audience":"Audience","nameTenantAndTheRest":"Le nom, le tenant et le reste se règlent dans penstock.yaml.","addressScheme":"L’adresse du moteur devrait commencer par http:// ou https://","tokenAddressScheme":"L’adresse du jeton devrait commencer par http:// ou https://","hookCancelled":"hook {stage} : annulé"},"diagramCheck":{"convert":"Convertir…","fix":"Corriger","noProblemsFound":"Aucun problème trouvé.","nothingToReportAcrossElements":"Rien à signaler sur {checked} éléments et connexions. La vérification est relancée à chaque modification.","showTheDiagramConvertedFor":"Afficher le diagramme converti pour Camunda {target} et choisir ce qui doit être écrit","theCheckStartsOnIts":"La vérification démarre seule dès que le diagramme est lu, et est relancée à chaque modification.","howItRuns":"Comment il s’exécute","drawing":"Dessin","engine":"Moteur","code":"Code","rules":"Règles","why":"Pourquoi","error":"Erreur","warning":"Avertissement","templates":"Modèles d'élément"},"dmn":{"addRules":"Ajouter des règles","addRulesFrom":"Ajouter des règles depuis {source}","cell":"Cellule","change":"Modifier","checkTheDecisionsToSee":"Vérifiez les décisions pour afficher les problèmes ici.","hitPolicy":"Politique de correspondance {hitPolicy}","import":"Importer {source}","intoTheOpenDecisionTable":"Dans la table de décision ouverte : ","intoTheSelectedTable":"Dans la table sélectionnée : ","openADecisionTableEnter":"Ouvrez une table de décision, saisissez les valeurs que ses entrées demandent et voyez quelles règles correspondent et ce que la décision renvoie.","openTheRequirementsDiagram":"Ouvrir le diagramme d’exigences","openTheRequirementsDiagramTo":"Ouvrez le diagramme d’exigences pour changer le nom de la décision, ses entrées et la façon dont ses règles y aboutissent.","requirements":"Exigences","rule":"Règle","selectADecisionTableTo":"Sélectionnez une table de décision pour l’essayer.","thePropertiesOfADecision":"Les propriétés d’une décision se modifient dans le diagramme d’exigences.","thisShouldBeADate":"Ceci devrait être une date, au format YYYY-MM-DD.","thisShouldBeANumber":"Ceci devrait être un nombre.","thisShouldBeTrueOr":"Ceci devrait être vrai ou faux.","view":{"boxedExpression":"Expression encapsulée","decisionTable":"Table de décision","drd":"Diagramme d’exigences","literalExpression":"Expression littérale"},"viewTooltip":"{kind} : {label}","count":{"rule":{"one":"{count} règle","other":"{count} règles"}},"readErrorAtLine":"{reason} (ligne {line})","namedLikeAWorkbook":"{file} a le nom d’un classeur sans en être un.","noHeaderRow":"Le fichier n’a pas de ligne d’en-tête nommant les entrées et les sorties.","theFileIsEmpty":"Le fichier est vide.","workbookNotOpened":"Le classeur n’a pas pu être ouvert. Il est peut-être endommagé ou protégé par un mot de passe.","workbookHasNoSheet":"Le classeur n’a pas de feuille à lire.","headerNeeds":"L’en-tête nomme {header} ; la table attend {wanted}","rowCannotBeRead":"La ligne {line} ne peut pas être lue : « {cell} » n’est ni une comparaison, ni un intervalle, ni une valeur","pasteColumnsLeftOut":{"one":"{count} colonne collée n’a pas de place dans la table et n’a pas été reprise.","other":"{count} colonnes collées n’ont pas de place dans la table et n’ont pas été reprises."},"duplicateId":"L’identifiant {id} est utilisé par plusieurs éléments, Penstock ne peut donc pas les distinguer","nothingChanges":"rien ne change","aNewTableWith":"une nouvelle table avec {rules}","ruleChanges":{"one":"{count} règle modifiée","other":"{count} règles modifiées"},"rulesAreAdded":{"one":"{count} règle est ajoutée","other":"{count} règles sont ajoutées"},"rulesAreRemoved":{"one":"{count} règle est supprimée","other":"{count} règles sont supprimées"},"notADocument":"Le fichier n’est pas un document DMN","notValid":"Le fichier n’est pas un DMN valide : {reason}","saveAsCsv":"Enregistrer la table de décision en CSV","saveAsWorkbook":"Enregistrer la table de décision comme classeur","csvIsOneCellPerColumn":"Valeurs séparées par des virgules, une cellule par colonne","workbookHasInputsAndOutputsFirst":"Un classeur Excel dont la première ligne contient les entrées et les sorties","createFromSpreadsheet":"Créer une table de décision à partir d’un tableur","importIntoTheTable":"Importer un tableur dans la table de décision","spreadsheetNamesTheInputs":"Un classeur Excel ou un CSV dont la première ligne nomme les entrées et les sorties","notReadAsASpreadsheet":"Le fichier n’a pas pu être lu comme un tableur.","importAction":"Importer","theTableAlreadySays":"La table dit déjà cela, il n’y a donc rien à importer. Annulez, ou changez de fichier et réessayez.","oneUndoTakesTheImport":"Une seule annulation reprend tout l’import.","sheetName":"Table de décision"},"dmnMode":{"decisionCheck":"Vérification des décisions","gotIt":"J’ai compris","noDecisionTableIsOpen":"Aucune table de décision n’est ouverte, il n’y a donc nulle part où mettre les règles. Ouvrez une table de décision depuis le diagramme d’exigences et importez de nouveau le fichier.","noDecisionTableIsOpen2":"Aucune table de décision n’est ouverte, il n’y avait donc nulle part où écrire les règles. Ouvrez une table de décision depuis le diagramme d’exigences et importez de nouveau le fichier.","noRulesOverlapAndEvery":"Aucune règle ne se chevauche et chaque entrée a une règle.","theDecisionTableWasSaved":"La table de décision a été enregistrée dans {saved}.","theRulesWereAddedTo":"Les règles ont été ajoutées à la table de décision ouverte. Annuler les reprend.","theRulesWereReplacedUndo":"Les règles ont été remplacées. Annuler les reprend."},"editor":{"checkTitle":"Vérification du diagramme","configFailed":"Impossible de charger la configuration du projet.","convert":"Convertir","convertText":"Cela convertira toutes les propriétés et tous les attributs camunda: en operaton:. Voulez-vous continuer ?","convertTitle":"Conversion de l’espace de noms","copiedImage":"Copié comme image","copyImageFailed":"L’image n’a pas pu être copiée","deleteFailed":"Impossible de supprimer les éléments","exportFailed":"Export impossible : {message}","exportOpenFailed":"Impossible d’ouvrir la boîte de dialogue d’export","exported":"Diagramme exporté en {format}","importFailed":"Le diagramme n’a pas pu être importé : {message}","layoutFailed":"Impossible de réorganiser le diagramme","noLayout":{"laidOut":"Ce fichier n'avait pas de mise en page. Penstock l'a mise en page ; le fichier reste inchangé jusqu'à l'enregistrement.","placed":"Ce fichier n'avait pas de mise en page : Penstock a placé les éléments dans une grille simple. La mise en page automatique (Pro) les arrange correctement."},"layoutBadShape":"Impossible de réorganiser le diagramme : {element} a une forme qui ne peut pas être dessinée ({problem}). Corrigez ses dimensions dans le fichier et réessayez.","layoutBadWaypoint":"un point de passage est en ({x}, {y})","layoutTooSlow":"Impossible de mettre en page le diagramme en {seconds} secondes. Il est trop grand ou trop enchevêtré pour la mise en page automatique. Le diagramme n'a pas été modifié.","layoutAnElement":"un élément","loadFailed":"Impossible de charger le diagramme : {message}","loading":"Chargement...","namespaceMessage":"Ceci est un projet Operaton, mais le diagramme utilise l’espace de noms Camunda 7.","namespaceTitle":"Espace de noms du moteur incorrect","noMatch":"Rien dans ce projet ne correspond à {reference}","noTest":"Aucun test de ce projet n’utilise {name}","noUsage":"Aucun code de ce projet n’utilise {name}","noWorker":"Aucun code de ce projet n’implémente {name}","reloadFailed":"Le fichier a changé et n’a pas pu être lu comme du BPMN","saveFailed":"Impossible d’enregistrer les modifications","saveRefused":"Impossible d’enregistrer les modifications : {reason}","stopSimulation":"Arrêtez la simulation des jetons avant de modifier le diagramme","traceFailed":"La trace de cette exécution n’a pas pu être lue","unknownError":"Erreur inconnue","pasteEmpty":"Le presse-papiers est vide. Copiez d'abord un élément du diagramme.","pasteNotDiagram":"Le presse-papiers contient du texte, et non des éléments de diagramme : il n'y a rien à coller.","pasteOtherDiagram":"Le presse-papiers contient des éléments d'un autre type de diagramme : il n'y a rien à coller ici.","pasteUnreadable":"Penstock ne peut pas lire le presse-papiers dans ce navigateur. Collez sur le diagramme avec le clavier."},"editorShell":{"close":"Fermer {title}","collapsePalette":"Replier la palette","openPalette":"Ouvrir la palette","showAllMore":"Tout afficher ({more} de plus)","useCheckInTheToolbar":"Utilisez Vérifier dans la barre d’outils pour rechercher les problèmes."},"engineQuestion":{"itDecidesThePaletteAnd":"Il détermine la palette et les propriétés, et figure dans penstock.yaml. Le diagramme s’ouvre dès que vous l’avez choisi.","theEngineCouldNotBe":"Le moteur n’a pas pu être enregistré : {error}","whichEngineRunsThisDiagram":"Quel moteur exécute ce diagramme ?"},"files":{"connectorsFailed":"Le répertoire des connecteurs n’a pas pu être utilisé (HTTP {status})","exportAs":"Exporter en {format}","saveTitle":"Enregistrer le fichier {extension}"},"form":{"checkTheFormToSee":"Vérifiez le formulaire pour afficher les problèmes ici.","everyFieldWritesItsOwn":"Chaque champ écrit sa propre variable, et chaque option signifie autre chose.","nothingToPreviewYet":"Rien à prévisualiser pour l’instant.","thePreviewFillsInAs":"L’aperçu se remplit dès que le formulaire est lu.","theReasonIsOnThe":"La raison est sur le canevas. Corrigez le fichier et Penstock le relit.","thisFormCouldNotBe":"Ce formulaire n’a pas pu être lu, il n’y a donc rien à vérifier."},"formMode":{"formCheck":"Vérification du formulaire"},"formPreview":{"inputDataOfTheForm":"Données d’entrée du formulaire au format JSON","sample":"Exemple {key}","sampleData":"Données d’exemple","theInputHasToBe":"L’entrée doit être un objet JSON.","theInputIsNotValid":"L’entrée n’est pas un JSON valide : {failure}","inputData":"Données d’entrée","outputData":"Données de sortie","fieldsNeedAttention":{"one":"{count} champ demande votre attention","other":"{count} champs demandent votre attention"}},"importDiagram":{"aDrawIoVisioSignavio":"Un diagramme draw.io, Visio, Signavio ou Bizagi","diagramImported":"Diagramme importé","importDiagram":"Importer un diagramme","saveTheImportedDiagram":"Enregistrer le diagramme importé","theBpmn20File":"Le fichier BPMN 2.0 à créer","thisFileCouldNotBe":"Ce fichier n’a pas pu être importé","why":{"assumed":"Celles-ci ont été lues d’après leur apparence. Vérifiez qu’elles sont bien ce que vous vouliez.","lost":"BPMN 2.0 n’a pas de place pour elles, elles ne sont donc pas dans le nouveau diagramme.","unmapped":"Celles-ci n’ont pas de sens BPMN et ne sont pas dans le nouveau diagramme."},"savedAs":"Enregistré sous {path}","everythingInTheFileWas":"Tout ce que contenait le fichier a été repris.","connectorsKeepTheRoute":"Les connecteurs gardent la route avec laquelle ils ont été dessinés. La disposition automatique peut ranger le résultat."},"lint":{"nothingToShowOnThe":"Rien à afficher sur le diagramme","showWhereTheyAreOn":"Montrer où ils se trouvent sur le diagramme"},"live":{"userTasks":"Tâches utilisateur","noUserTasksWaiting":"Aucune tâche utilisateur n'attend sur cette instance.","unableToLoadTasks":"Impossible de charger les tâches utilisateur depuis le moteur.","unableToCompleteTask":"Impossible de terminer la tâche utilisateur.","unableToConnect":"Impossible de se connecter au moteur.","completing":"Finalisation…","taskCompleted":"Tâche terminée.","askTheEngineAgain":"Redemander au moteur","askingTheEngine":"Demande au moteur…","history":"Historique","noFinishedInstances":"Aucune instance terminée trouvée.","noFinishedInstancesHint":"Les instances terminées ou annulées apparaîtront ici.","askingHistory":"Demande des instances terminées au moteur…","compareWithWhatTheEngine":"Comparer avec ce que le moteur a vu","isNotDeployed":"{processId} n’est pas déployé.","itIsNotOnYet":"Il n’est pas encore sur {where}. Déployez le diagramme pour voir ses instances.","noEngineConnected":"Aucun moteur connecté.","noInstanceIsRunning":"Aucune instance en cours.","nothingIsWaitingOrHas":"Rien n’est en attente et il n’y a aucun incident sur {where}.","openTheCodeThatRuns":"Ouvrir le code qui exécute cette tâche","openInTasklist":"Ouvrir dans Tasklist","readTheVariables":"Lire les variables","readingWhichInstancesOfThis":"Lecture des instances de ce diagramme qui sont en cours et de ce qu’elles attendent.","refresh":"Actualiser","setUpADeploymentProfile":"Configurez un profil de déploiement avec une adresse, et un mot de passe s’il en faut un, pour voir les instances en attente sur chaque tâche et leurs incidents.","showOnTheDiagram":"Afficher {selected} sur le diagramme","theEngineCouldNotBe":"Le moteur n’a pas pu être lu.","use":"Utiliser","useThisInstanceForAn":"Utiliser cette instance pour une expression","waitingHere":"{waiting} en attente ici","instance":"Instance","tryOnInstance":"Essayer sur l’instance","variables":"Variables","neverSetInProduction":"Jamais définie en production","unusedInTheModel":"Inutilisée dans le modèle","incidents":"Incidents","waiting":"En attente","credentialsMayNotAllow":"Le moteur a refusé la question ({status}) : les identifiants du profil ne permettent peut-être pas de lire les instances de processus","answeredStatus":"Le moteur a répondu {status}","answeredNotJson":"Le moteur a répondu avec quelque chose qui n’est pas du JSON","localEngine":"{engine} local","theEngine":"le moteur","processVersion":"version {version} du processus","namedProcessVersion":"{process} version {version}","incidentsOn":{"one":"{count} incidents · {what}","other":"{count} incidents · {what}"},"incidentsBadge":{"one":"{count} avec un incident","other":"{count} avec un incident"},"askingWhichInstancesRun":"Demande à {where} quelles instances de {process} sont en cours.","noInstanceRunning":"Aucune instance de {process} n’est en cours sur {where}.","secretNotResolved":"{value} - un secret, le moteur ne l’a donc pas résolu","selectATaskToTryOn":"Sélectionnez une tâche, une passerelle ou un flux pour essayer ses conditions et ses mappings sur {instance}.","trying":"Essai de","try":"Essayer","reading":"Lecture de","select":"Sélectionner {name}","sevenCannotEvaluateHere":"Camunda 7 n’a aucun moyen d’évaluer une expression. Il faut Camunda 8.9 ou plus récent, vous n’avez donc que les variables de l’instance.","theModelAndTheEngineAgree":"Le modèle et le moteur sont d’accord sur tous les noms de variables.","theEngineHasSeenThese":"Le moteur a vu celles-ci, et rien dans le diagramme ne les nomme.","asking":"Demande à","thisNeedsCamunda":"Il faut Camunda {version}.","instancesHere":{"one":"{count} instance","other":"{count} instances"},"urlAt":"{url} à {when}","startInstance":"Démarrer l'instance","startInstanceEllipsis":"Démarrer l'instance…","startInstanceTooltip":"Démarrer une instance de processus sur le moteur connecté","startingInstance":"Démarrage…","processDefinition":"ID de processus","variablesJson":"Variables (JSON)","variablesHelp":"Objet JSON contenant les variables à transmettre à l'instance","variablesInvalidJson":"Les variables doivent être un JSON valide","variablesMustBeObject":"Les variables doivent être un objet JSON","instanceStarted":"Instance {id} démarrée","unableToStartInstance":"Impossible de démarrer l'instance","retry":"Réessayer","retrying":"Nouvelle tentative","retryIncident":"Réessayer cet incident","unableToRetryIncident":"Impossible de réessayer l'incident : {reason}","cancelInstance":"Annuler l'instance","cancelling":"Annulation","cancelInstanceTitle":"Annuler l'instance","cancelInstanceConfirm":"Annuler l'instance de processus {instance} ?","unableToCancelInstance":"Impossible d'annuler l'instance : {reason}","sendMessage":"Envoyer un message","broadcastSignal":"Diffuser un signal","messageName":"Nom du message","signalName":"Nom du signal","correlationKey":"Clé de corrélation","sending":"Envoi","broadcasting":"Diffusion","send":"Envoyer","broadcast":"Diffuser","unableToSendMessage":"Impossible d'envoyer le message : {reason}","unableToBroadcastSignal":"Impossible de diffuser le signal : {reason}"},"main":{"fileChangedOnDisk":"Fichier modifié sur le disque","keepEditing":"Continuer l’édition","theDiagramWasChangedOutside":"Le diagramme a été modifié hors de l’éditeur. Recharger applique ces modifications et perd ce que vous n’avez pas enregistré ; les conserver signifie que votre prochain enregistrement les remplacera."},"marketplace":{"anyElement":"N’importe quel élément","backToTheTemplates":"Retour aux modèles","category":"Catégorie","checkForUpdates":"Rechercher des mises à jour","checkingForANewerRelease":"Recherche d’une version plus récente…","connectorTemplates":"Modèles de connecteurs","default":"Par défaut :","deprecated":"Obsolète","downloadingTheConnectorTemplatesFrom":"Téléchargement des modèles de connecteurs depuis GitHub…","elementType":"Type d’élément","isNotInTheProject":"{id}{version} n’est ni dans le projet ni dans les modèles de connecteurs téléchargés","loadingTemplateDetails":"Chargement des détails du modèle…","needsANewerCamundaEngine":"Nécessite un moteur Camunda plus récent que celui visé par ce diagramme","noTemplateFitsThisDiagram":"Aucun modèle ne correspond au moteur de ce diagramme","noTemplateMatchesTheFilters":"Aucun modèle ne correspond aux filtres","otherProperties":"Autres propriétés","saveElementTemplate":"Enregistrer le modèle d’élément : {name}","searchTemplatesByNameDescription":"Rechercher des modèles par nom, description ou mot-clé","selectLocationToSaveThe":"Sélectionner l’emplacement d’enregistrement du modèle d’élément","templateInstalled":"Modèle « {name} » installé","templateNotDownloaded":"Modèle non téléchargé","download":"Télécharger","templateSavedPenstockFindsTemplates":"Modèle « {name} » enregistré. Penstock trouve les modèles dans un dossier .camunda/element-templates au-dessus du diagramme ; référencez ce fichier dans elementTemplates de penstock.yaml pour l’utiliser ici.","theConnectorTemplatesCouldNot":"Les modèles de connecteurs n’ont pas pu être chargés","thisDiagramTargetsCamunda":"Ce diagramme vise Camunda {engineVersion}","type":{"Boolean":"Case à cocher","Dropdown":"Liste déroulante","Hidden":"Masqué","Number":"Nombre","String":"Texte","Text":"Texte multiligne"},"unableToInstallTheTemplate":"Installation du modèle impossible : {failure}","viewDocumentation":"Voir la documentation","overview":"Vue d’ensemble","appliesTo":"S’applique à","engine":"Moteur","properties":"Propriétés","configurationProperties":"Propriétés de configuration","details":"Détails","all":"Tous","installedOnly":"Installés seulement","clearFilters":"Effacer les filtres","today":"aujourd’hui","todayAt":"aujourd’hui à {time}","tomorrowAt":"demain à {time}","yesterday":"hier","daysAgo":{"one":"il y a {count} jour","other":"il y a {count} jours"},"notAmongConnectors":"{ids} ne fait pas partie des modèles de connecteurs publiés par Camunda","thisDiagramTargets":" - ce diagramme vise {version}","camundaConnectors":"Connecteurs Camunda {ref}","checked":", vérifié {when}","couldNotCheckForANewerRelease":"Impossible de rechercher une version plus récente : {error}","couldNotDownloadConnectors":"Les modèles de connecteurs n’ont pas pu être téléchargés depuis GitHub : {error}","triedAgainAfter":" Ils sont réessayés après {when}.","templateCount":{"one":"{count} modèle","other":"{count} modèles"},"forCamunda":" pour Camunda {version}","unnamed":"Sans nom","feelIs":"FEEL : {feel}","options":"Options :","install":"Installer","installed":"Installé","installing":"Installation…","configurable":"{number} configurable","showForNewerEngines":"Afficher {number} pour les moteurs plus récents"},"migration":{"apply":{"afterDependencies":"Les squelettes de worker demandent la bibliothèque cliente Camunda 8 ({dependency}) dans le build ; ils ne compilent ni ne s'exécutent tant qu'elle n'est pas ajoutée.","reason":{"changed":"a changé depuis sa lecture","symlink":"est un lien symbolique","outside":"est en dehors du projet","appeared":"est apparu après l'établissement du plan","vanished":"a disparu"},"refused":"Rien n'a été écrit : {files}","configChange":"penstock.yaml indique maintenant engine: camunda-8, les fichiers sont donc vérifiés comme Camunda 8","alreadyThere":"Le fichier existe déjà et a été laissé tel quel","outsideProject":"Le nom de ce fichier pointe hors du projet, il n'a donc pas été écrit","workerReason":"Squelette de job worker pour le type de job {jobType}","reportReason":"Le rapport de migration : ce qui a changé et ce qui demande une personne","title":"Migration de Camunda 7 vers Camunda 8","intro":"Écrit par penstock migrate apply pour Camunda {target}. Les fichiers Camunda 7 ont été réécrits sur place et rien n'a été supprimé.","summaryHeading":"Résumé","summaryFiles":"{rewritten} fichiers réécrits, {created} fichiers créés","summaryElements":"{converted} éléments convertis, {manual} demandent une personne, {review} à vérifier","filesHeading":"Fichiers réécrits","colFile":"Fichier","colChanged":"Convertis","colPerson":"Demande une personne","colCheck":"À vérifier","changesHeading":"Ce qui a été changé","personHeading":"Ce qui demande une personne","personNone":"Rien ne demande une personne.","kindManual":"à faire","kindReview":"à vérifier","refusedHeading":"Expressions et scripts non traduits","refusedNone":"Toutes les expressions et tous les scripts ont été traduits.","workersHeading":"Job workers","workersNone":"Aucun job worker n'est nécessaire.","workersIntro":"Chaque type de job ci-dessous demande un job worker Camunda 8 en marche. Les squelettes reprennent les variables que l'ancien delegate lisait et écrivait, quand le code les montrait.","colJobType":"Type de job","colWorkerFile":"Fichier du worker","colReads":"Lit","colWrites":"Écrit","colUsedBy":"Utilisé par","noSkeleton":"aucun squelette écrit","createdHeading":"Fichiers créés ou conservés","unreadableHeading":"Fichiers illisibles","checkHeading":"Vérification avec le profil Camunda 8","checkNotRun":"La vérification n'a pas été lancée.","checkClean":"penstock check n'a rien trouvé.","checkFound":"penstock check a trouvé {errors} erreurs et {warnings} avertissements :","afterHeading":"Ensuite","afterDelegates":"Les classes delegate et handler de Camunda 7 n'ont pas été touchées. Supprimez-les une fois les workers en marche.","afterInstances":"Les instances en cours et l'historique restent sur Camunda 7 jusqu'à leur fin ou leur déplacement avec le Data Migrator."},"convertUnchanged":"Converti sans changement","needsWork":"À corriger","reviewAfterConverting":"Vérifier après la conversion","saveTheDiagramFirstOnly":"Enregistrez d’abord le diagramme : seul un diagramme contenu dans un fichier peut être converti.","theDiagramCouldNotBe":"Le diagramme n’a pas pu être lu.","change":{"async":"La continuation asynchrone est supprimée","jobWorkerTask":"Devient une tâche de job worker avec le type de job {jobType}","retries":"Le cycle de reprises devient {retries} reprises","fieldHeaders":"Les injections de champs {fields} deviennent des en-têtes de tâche","conditionFeel":"La condition est écrite comme une expression FEEL","conditionRewritten":"La condition est réécrite comme une expression FEEL","collection":"La collection {collection} devient la collection d’entrée","loopCount":"Le nombre d’itérations {cardinality} devient une collection d’entrée","completionCondition":"La condition de fin est réécrite comme une expression FEEL","messageName":"Le nom de message {name} est écrit comme une expression FEEL","timer":"La minuterie est réécrite comme une expression FEEL","errorVariable":"Le {source} est stocké dans la variable {variable} par un mapping de sortie","feelScript":"Le script devient une expression de script FEEL","userTask":"Devient une tâche utilisateur Camunda","assignment":"L’affectation devient une définition d’affectation","formRef":"Le formulaire {form} est lié comme formulaire Camunda","externalForm":"La form key {formKey} est conservée comme référence à un formulaire externe","generatedForm":"Les champs du formulaire sont écrits comme le formulaire Camunda {form}","calledDecision":"Appelle la décision {decision} et garde son résultat dans {result}","calledProcess":"Appelle le processus {process}","listener":"Le listener {name} de l’événement {event} devient un job worker de type {jobType}","platform":"Marqué comme diagramme Camunda {target}","dmnVersion":"Les décisions sont déplacées en DMN 1.3","expressionRewritten":"L’expression est réécrite comme une expression FEEL","dmnHistoryTimeToLive":"Le history time to live est supprimé, Camunda 8 ne s’en sert pas","dmnPlatform":"Marqué comme fichier de décision Camunda {target}","formPlatform":"Marqué comme formulaire Camunda {target}","versionTag":"L’étiquette de version {tag} est conservée comme étiquette de version de Camunda 8","ioMapping":{"one":"{count} paramètre d’entrée ou de sortie devient un mapping d’entrée et de sortie","other":"{count} paramètres d’entrée ou de sortie deviennent un mapping d’entrée et de sortie"},"asyncBefore":"poursuite asynchrone","removed":"supprimé","camunda7Implementation":"implémentation Camunda 7","userTaskBefore":"tâche utilisateur"},"extraFile":{"form":"le formulaire de {where}"},"failure":{"notBpmn":"Le fichier n’est pas un diagramme BPMN que Penstock peut lire.","notDmn":"Le fichier n’est pas un diagramme DMN que Penstock peut lire.","notForm":"Le fichier n’est pas un formulaire que Penstock peut lire."},"detail":{"scriptExpression":"le script {format} a été lu comme une seule expression, et {format} traite le texte, les nombres et null autrement que FEEL","complexGateway":"Camunda 8 n’a pas de passerelle complexe.","complexGatewayAction":"Modélisez la jointure avec une passerelle inclusive ou parallèle et des conditions.","transaction":"Camunda 8 n’a ni transactions ni événements d’annulation.","transactionAction":"Modélisez-la avec un sous-processus, un événement de limite d’erreur et une compensation.","mappingValue":"La valeur est de type {type}, que le convertisseur ne lit pas.","noMapping":"Camunda 8 n’a pas de mappings {kind} sur {element}.","standardLoop":"Camunda 8 n’a pas de boucles standard.","standardLoopAction":"Modélisez la boucle avec une passerelle et un flux de séquence de retour, ou comme une activité multi-instance.","cancelEvent":"Camunda 8 n’a ni transactions ni événements d’annulation.","cancelEventAction":"Modélisez-la avec un événement d’erreur et une compensation.","errorCode":"Les codes d’erreur de Camunda 8 sont fixes ou donnés par le worker qui les lève","decisionBound":"La décision {name}","callBound":"L’appel de {name}","noTarget":"Une liaison de variable n’a pas de cible.","decisionNamed":"La décision {name}","inputNamed":"L’entrée {name}","ruleCondition":"Une condition de la règle {rule}","ruleOutput":"Une sortie de la règle {rule}","listenersOldTarget":"Camunda 8 a les listeners d’exécution depuis 8.6 ; ceci convertit pour {target}.","listenersNoSequenceFlow":"Camunda 8 n’a pas de listeners sur les flux de séquence.","listenersNoOn":"Camunda 8 n’a pas de listeners d’exécution sur {element}.","listenersEndOnly":"Camunda 8 n’exécute que les listeners de fin sur {element}.","listenersFields":"Des champs injectés lui sont fournis, que les listeners de Camunda 8 n’ont pas.","listenersExpression":"C’est une expression ou un script, et un listener de Camunda 8 est un job pour un worker.","taskListenersOldTarget":"Camunda 8 a les listeners de tâche depuis 8.8 ; ceci convertit pour {target}.","taskListenersNoEvent":"Camunda 8 n’a pas d’événement {event} pour les listeners de tâche."},"juel":{"emptyBecame":"\\"empty\\" est devenu un test de null, de texte vide, de liste vide et de map vide, les quatre cas que Java EL tient pour vides","stringOpen":"une chaîne n’y est pas fermée","character":"il utilise « {what} », qui n’a pas d’équivalent FEEL","trailing":"il continue après une expression complète à « {what} »","expected":"« {what} » était attendu là où se trouve « {found} »","propertyName":"un nom de propriété manque après « . »","tooComplex":"elle est trop longue ou trop imbriquée pour être convertie","wordAsValue":"« {what} » se tient là où une valeur était attendue","endsEarly":"il se termine trop tôt","tokenAsValue":"« {what} » se tient là où une valeur était attendue","contextObject":"il lit « {what} », qui n’existe que dans le moteur Camunda 7","dollarInName":"le nom « {what} » contient « $ », impossible dans un nom FEEL","reservedWord":"« {what} » est un mot réservé en FEEL","localVariable":"une variable locale est lue par son nom ; dans Camunda 8 le nom se résout à travers les portées, vérifiez donc qu’aucune variable extérieure ne le masque","businessKey":"il lit la business key, que Camunda 8 n’a pas ; transportez-la comme variable de processus","engineId":"il lit un engine id, qu’une expression FEEL ne peut pas voir dans Camunda 8","executionCall":"il appelle execution.{what}(), qui s’exécute dans le moteur Camunda 7","takesOne":"{what}() prend un argument ici","takesNone":"{what}() ne prend aucun argument ici","equalsTakesOne":"equals() prend un argument ici","size":"{target}.size() est devenu count(), qui marche quand la variable est une liste ; pour une map, lisez plutôt ses entrées","javaCall":"il appelle la méthode Java {what}(), et FEEL ne peut pas appeler Java","exponent":"il écrit un nombre avec un exposant, que FEEL ne lit pas","enginePath":"il lit {target}.{what}, qui n’existe que dans le moteur Camunda 7","indexShifted":"un index de liste décalé d’un cran : FEEL compte les éléments d’une liste à partir de 1, Java à partir de 0","computedIndex":"il lit un élément par un index calculé, et FEEL compte les éléments d’une liste à partir de 1 là où Java compte à partir de 0","juelFunction":"il appelle {what}(), une fonction que Camunda 7 fournit et pas FEEL","namespacedFunction":"il appelle la fonction {prefix}:{what}(), que Camunda 8 ne fournit pas","empty":"il utilise \\"empty\\" sur autre chose qu'une variable, une propriété ou un élément, et FEEL ne peut pas le tester sans le nommer d'abord","textPlus":"il concatène du texte avec « + », ce que Java EL n’autorise pas et que FEEL traite comme un collage de chaînes","expressionOpen":"une expression n’y est pas fermée par « } »","joinedStrings":"du texte avec des expressions dedans est devenu des chaînes collées ; en FEEL une valeur null rend tout le texte null, là où Camunda 7 écrivait une chaîne vide"},"worker":{"becomes":{"taskListener":"un job de listener de tâche de type {jobType}, sur l’événement {event} (Camunda 8.8 ou plus tard)","executionListener":"un job de listener d’exécution de type {jobType}, sur l’événement {event} (Camunda 8.6 ou plus tard)","topic":"un job worker de type {jobType} ; le gestionnaire de tâche externe devient un job worker Camunda 8","expression":"un job worker de type {jobType} qui fait l’appel que faisait l’expression","class":"un job worker de type {jobType}"},"note":{"businessKey":"Il lit la business key. Camunda 8 n’en a pas : transportez la valeur comme variable de processus.","engineServices":"Il utilise {services}, qu’un worker de Camunda 8 n’a pas : utilisez plutôt le client Camunda, ou un message.","readsAllVariables":"Il lit toutes les variables. Un worker de Camunda 8 récupère toutes les variables sauf s’il nomme celles dont il a besoin."}},"report":{"theProject":"le projet","heading":"Migration de Camunda 7 vers Camunda 8 : {name}","onDate":" le {date}","automatic":"{count} autres se convertissent sans changement.","needsWork":"À corriger","reviewAfter":"Vérifier après la conversion","notInProject":"pas dans ce projet","nothingToMigrate":"Ce projet n’a ni diagrammes, ni décisions, ni formulaires Camunda 7 : il n’y a rien à migrer.","scope":"Périmètre","columnStatus":"Statut","columnFiles":"Fichiers","columnMeaning":"Sens","costs":"Ce que coûte le déplacement","blockers":"Blocages","blockersHint":"Camunda 8 n’a pas de forme pour ceux-ci. Remodelez-les avant de convertir.","blockerWhere":"dans {where} ({path}). {action}","files":"Fichiers","columnFile":"Fichier","columnNeedsWork":"À corriger","columnReview":"Vérifier","columnConverts":"Se convertit","finding":"{where} : {title}. {action}","code":"Code","codeHint":"Ce que devient chaque délégué Java, gestionnaire de tâche externe et listener. Penstock écrit un squelette de job worker à côté du code et jamais par-dessus.","columnValue":"Classe, bean ou topic","columnWhere":"Où","columnBecomes":"Devient","columnNotes":"Notes","apis":"API Camunda 7 dans le code Java","apisHint":"La réécriture du code lui-même se fait mieux dans le build, où un relecteur voit le diff : utilisez les recettes OpenRewrite du guide de migration Camunda.","dataMigration":"Instances en cours et historique","findingWhere":"{where} : {title}.","status":{"ready":"Prêt","converts":"Se convertit","needsWork":"À corriger","blocked":"Bloqué"},"meaning":{"ready":"rien à faire","converts":"Penstock le convertit ; le reste est une vérification","needsWork":"une personne doit en faire une partie","blocked":"utilise quelque chose dont Camunda 8 n’a pas la forme"},"effort":{"workers":"Job workers à écrire","expressions":"Expressions à réécrire","scripts":"Scripts à remplacer","listeners":"Listeners à déplacer","forms":"Formulaires à refaire ou à lier","calledProcesses":"Processus appelés à vérifier","decisions":"Décisions appelées"},"target":"Cible : Camunda {target}. Écrit par Penstock{on}.","targetDated":"Cible : Camunda {target}. Écrit par Penstock{on}.","dataMigrator":"Data Migrator de Camunda : {link}","fileCount":{"one":"{count} fichier","other":"{count} fichiers"},"apiImports":"{api} : {imports} importations dans {files}"},"rules":{"java-class":{"title":"La classe Java {className} devient le type de job {jobType}","detail":"Camunda 8 n’exécute pas de Java dans le moteur. Une tâche de service crée un job, et un job worker de votre application le récupère.","action":"Écrivez un job worker pour {jobType} ; Penstock en génère un à partir de la classe."},"delegate-expression":{"title":"Le délégué {delegate} devient le type de job {jobType}","detail":"Camunda 8 ne peut pas résoudre un bean Spring. La tâche crée un job, et un job worker le récupère.","action":"Écrivez un job worker pour {jobType} ; Penstock en génère un à partir du bean."},"delegate-expression-dynamic":{"title":"Le délégué est choisi par l’expression {expression}","detail":"Le bean est décidé pendant que le processus tourne, et un type de job Camunda 8 est fixe ou une expression FEEL sur des variables.","action":"Donnez à la tâche un type de job, ou une expression FEEL qui en choisit un dans une variable."},"expression":{"title":"L’expression {expression} devient le type de job {jobType}","detail":"Camunda 8 ne peut pas appeler une méthode de bean depuis le diagramme. L’appel part dans un job worker.","action":"Écrivez un job worker pour {jobType} qui fait l’appel que faisait {expression}.","withResult":{"action":"Écrivez un job worker pour {jobType} qui fait l’appel que faisait {expression} et termine le job avec la variable {result}."}},"expression-unknown":{"title":"L’expression {expression} exécute du code dans le moteur","detail":"Camunda 8 n’évalue que FEEL dans le diagramme, cette expression n’a donc pas d’équivalent.","action":"Déplacez ce qu’elle fait dans un job worker, ou dans un mapping de sortie FEEL si elle ne fait que calculer une valeur."},"external-task":{"title":"Le topic de tâche externe {topic} devient le type de job {jobType}","detail":"Tâches externes et jobs sont la même idée. Le worker change de client : le client de tâche externe Camunda 7 devient un job worker Camunda 8.","action":"Déplacez le gestionnaire de {topic} dans un job worker ; Penstock en génère un à partir du gestionnaire."},"external-task-priority":{"title":"La priorité de la tâche externe est abandonnée","detail":"Les jobs d’un même type sont distribués dans l’ordre où ils sont créés.","action":"Rien à faire, sauf si l’ordre comptait ; donnez alors au travail urgent son propre type de job."},"connector":{"title":"Le connecteur Camunda 7 {connector} n’a pas d’équivalent Camunda 8","detail":"Les connecteurs Camunda 7 (http-connector, soap-http-connector) ne font pas partie de Camunda 8. Camunda 8 a ses propres connecteurs, configurés par des modèles d’élément.","action":"Appliquez le modèle de connecteur REST ou SOAP de Camunda 8 à la tâche, ou écrivez un job worker."},"field-injection":{"title":"Les champs injectés {fields} deviennent des en-têtes de tâche","detail":"Camunda 8 n’a pas d’injection de champs. Les valeurs fixes voyagent avec le job sous forme d’en-têtes personnalisés, que le worker lit.","action":"Lisez-les dans le worker depuis les en-têtes personnalisés du job."},"field-injection-expression":{"title":"Le champ injecté {field} est une expression","detail":"Un en-tête de tâche est un texte fixe ; il ne peut pas être évalué pendant que le processus tourne.","action":"Passez la valeur comme mapping d’entrée avec une expression FEEL, et lisez-la dans le worker comme variable."},"async":{"title":"La continuation asynchrone est abandonnée","detail":"Camunda 8 n’a pas de transactions couvrant plusieurs étapes : chaque job et chaque attente est son unité, donc asyncBefore et asyncAfter n’y veulent rien dire.","action":"Rien à faire."},"retries":{"title":"Le cycle de reprises {cycle} devient {retries} reprises","detail":"Camunda 8 compte les reprises sur la tâche ; le temps d’attente entre elles est décidé par le worker quand il met le job en échec.","action":"Définissez le back-off dans la commande fail du worker si l’intervalle comptait."},"retries-dropped":{"title":"Le cycle de reprises {cycle} est abandonné","detail":"Seules les tâches qui créent un job portent des reprises dans Camunda 8.","action":"Rien à faire, sauf si cet élément reposait sur les reprises ; vérifiez alors comment il échoue sur Camunda 8."},"job-priority":{"title":"La priorité de job {priority} est conservée","detail":"Camunda 8 a les priorités de job depuis 8.8.","action":"Rien à faire."},"job-priority-dropped":{"title":"La priorité de job {priority} est abandonnée","detail":"La version de Camunda 8 pour laquelle ceci convertit n’a pas de priorités de job.","action":"Rien à faire, sauf si l’ordre comptait ; donnez alors au travail urgent son propre type de job."},"input-output":{"title":"Le mapping d’entrée et de sortie devient un mapping FEEL","detail":"Camunda 8 mappe les variables avec des expressions FEEL ; chaque paramètre Camunda 7 en devient une.","action":"Rien à faire."},"input-output-manual":{"title":"Le mapping de {name} ne peut pas être converti","detail":"{reason}","action":"Écrivez le mapping comme une expression FEEL."},"input-output-script":{"title":"Le mapping de {name} exécute un script {format}","detail":"Camunda 8 mappe les variables avec FEEL seulement.","action":"Écrivez le mapping comme une expression FEEL, ou calculez la valeur dans un job worker."},"condition":{"title":"La condition {expression} devient {feel}","detail":"Les conditions de Camunda 8 sont des expressions FEEL.","action":"Rien à faire."},"expression-review":{"title":"{expression} est devenu {feel}","detail":"{reason}","action":"Vérifiez que l’expression FEEL veut dire la même chose avec les valeurs que ce processus voit."},"expression-manual":{"title":"L’expression {expression} ne peut pas être convertie","detail":"Le convertisseur s’est arrêté parce que {reason}.","action":"Écrivez-la comme une expression FEEL."},"script-condition":{"title":"La condition est un script {format}","detail":"Les conditions de Camunda 8 sont des expressions FEEL seulement.","action":"Écrivez la condition en FEEL."},"script-task":{"title":"Le script {format} ne peut pas s’exécuter dans Camunda 8","detail":"Camunda 8 exécute une tâche script comme une expression FEEL ou comme un job. Les scripts Groovy, JavaScript et Python n’ont aucun moteur où s’exécuter.","action":"Réécrivez le script comme une expression FEEL, ou transformez la tâche en job worker qui exécute le code."},"script-task-feel":{"title":"Le script FEEL devient une expression FEEL","detail":"Camunda 8 exécute une tâche script FEEL dans le moteur, avec son résultat dans {variable}.","action":"Rien à faire.","noResult":{"title":"Le résultat du script FEEL va dans {variable}","detail":"Camunda 8 a besoin d’une variable de résultat pour une tâche script FEEL, et la tâche Camunda 7 n’en avait pas.","action":"Renommez {variable} si quelque chose doit lire le résultat."}},"script-resource":{"title":"Le script est lu depuis {resource}","detail":"Camunda 8 ne charge pas de scripts depuis des ressources.","action":"Réécrivez le script comme une expression FEEL, ou transformez la tâche en job worker."},"execution-listener":{"title":"Le listener d’exécution {name} de l’événement {event} devient le type de job {jobType}","detail":"Les listeners d’exécution de Camunda 8 sont aussi des jobs : le processus attend qu’un worker les termine.","action":"Écrivez un job worker pour {jobType} ; il s’exécute avant que l’élément continue, gardez-le donc rapide."},"execution-listener-unsupported":{"title":"Le listener {name} de l’événement {event} n’a pas d’équivalent Camunda 8","detail":"{reason}","action":"Déplacez ce que fait le listener dans une tâche à part ou dans le worker qui la précède."},"task-listener":{"title":"Le listener de tâche {name} de l’événement {event} devient le type de job {jobType}","detail":"Les listeners de tâche de Camunda 8 sont des jobs que la tâche utilisateur attend, et ils peuvent corriger ou refuser ce qui se passe.","action":"Écrivez un job worker pour {jobType}."},"task-listener-unsupported":{"title":"Le listener de tâche {name} de l’événement {event} n’a pas d’équivalent Camunda 8","detail":"{reason}","action":"Déplacez ce que fait le listener dans un job worker autour de la tâche, ou dans l’application qui traite la tâche."},"user-task":{"title":"La tâche utilisateur devient une tâche utilisateur Camunda","detail":"Camunda 8 gère la tâche dans le moteur, avec son assigné, ses candidats, ses dates et sa priorité.","action":"Rien à faire dans le diagramme ; l’application de liste de tâches devient Tasklist ou l’API des tâches utilisateur de Camunda 8."},"user-task-expression":{"title":"Le {name} {expression} est devenu {feel}","detail":"{reason}","action":"Vérifiez la valeur sur Camunda 8."},"user-task-priority-range":{"title":"La priorité {priority} est en dehors de 0 à 100","detail":"Les priorités des tâches utilisateur de Camunda 8 vont de 0 à 100.","action":"Remettez la priorité à l’échelle."},"user-task-priority-dropped":{"title":"La priorité {priority} est abandonnée","detail":"La version de Camunda 8 pour laquelle ceci convertit n’a pas de priorité de tâche utilisateur.","action":"Rien à faire, sauf si la liste de tâches triait dessus."},"form-embedded":{"title":"Le formulaire intégré {formKey} n’a pas d’équivalent Camunda 8","detail":"Camunda 8 Tasklist n’affiche que les Camunda Forms ; les formulaires HTML et leur JavaScript ne se reportent pas.","action":"Refaites le formulaire comme un Camunda Form et liez-le, ou gardez votre propre application de liste de tâches et passez la clé comme référence externe.","here":{"title":"La form key {formKey} n’a pas d’équivalent Camunda 8 ici"}},"form-generated":{"title":"Le formulaire généré devient le Camunda Form {form}","detail":"Penstock écrit un Camunda Form avec un champ par champ de formulaire, et le lie. La validation et les propriétés qu’avaient les champs de formulaire sont conservées là où les Camunda Forms les ont.","action":"Ouvrez {form} et vérifiez qu’il ressemble à l’ancien et valide comme lui."},"form-generated-partly":{"title":"Une partie du formulaire généré ne s’est pas reportée : {lost}","detail":"Les Camunda Forms n’ont pas d’équivalent pour cela.","action":"Refaites cette partie dans l’éditeur de formulaires."},"form-camunda":{"title":"Le Camunda Form {form} est lié par son id","detail":"Camunda 8 lie un formulaire par son id et le déploie avec le diagramme.","action":"Déployez le formulaire avec le diagramme."},"form-camunda-unknown":{"title":"Le Camunda Form {form} est introuvable dans le projet","detail":"Camunda 8 lie un formulaire par l’id qu’il contient, et Penstock n’a pas pu lire cet id. Le nom de fichier a servi à la place.","action":"Vérifiez que le form id du diagramme correspond à l’id dans le formulaire."},"form-binding-version":{"title":"Le formulaire est lié à la version {version}","detail":"Camunda 8 lie un formulaire par latest, par deployment ou par version tag, pas par numéro de version.","action":"Liez-le par deployment, ou donnez au formulaire un version tag."},"form-external":{"title":"La form key {formKey} devient une référence externe","detail":"Camunda 8 transmet une référence externe à la liste de tâches, comme Camunda 7 transmettait la form key.","action":"Vérifiez que votre application de liste de tâches lit la référence externe."},"assignment-review":{"title":"Le {name} {expression} est une liste dans Camunda 7","detail":"Camunda 8 veut les candidats sous forme de liste FEEL ou de texte séparé par des virgules.","action":"Vérifiez que l’expression donne une liste ou un texte séparé par des virgules."},"initiator":{"title":"Le lanceur n’est conservé dans {variable} que dans Camunda 7","detail":"Camunda 8 n’enregistre pas dans une variable qui a démarré une instance.","action":"Définissez {variable} comme variable au démarrage du processus."},"multi-instance":{"title":"La boucle multi-instance sur {collection} devient une collection d’entrée","detail":"Camunda 8 boucle sur une collection d’entrée, chaque élément allant dans l’élément d’entrée.","action":"Rien à faire."},"multi-instance-cardinality":{"title":"La cardinalité de boucle {cardinality} devient une collection de nombres","detail":"Camunda 8 n’a pas de cardinalité de boucle : il boucle sur une collection. Le convertisseur boucle sur les nombres de 1 à {cardinality}.","action":"Vérifiez que la boucle s’exécute aussi souvent qu’avant."},"multi-instance-missing":{"title":"La boucle multi-instance n’a ni collection ni cardinalité","detail":"Camunda 8 a besoin d’une collection d’entrée pour boucler.","action":"Donnez à la boucle une collection d’entrée."},"call-activity":{"title":"L’appel de {process} se reporte","detail":"Camunda 8 appelle le processus par son id ; les variables passées en entrée et en sortie deviennent des mappings.","action":"Rien à faire."},"call-activity-business-key":{"title":"La business key est passée à {process}","detail":"Camunda 8 n’a pas de business key.","action":"Passez la valeur comme variable, et corrélez les messages dessus."},"call-activity-local":{"title":"Seules des variables locales étaient passées à {process} ou en venant d’elle","detail":"Camunda 8 transmet les variables que nomment ses mappings ; il n’a pas de mode local uniquement.","action":"Vérifiez que les mappings passent exactement ce dont le processus appelé a besoin."},"call-activity-mapping-class":{"title":"Les variables de {process} sont mappées par du code Java","detail":"Camunda 8 mappe les variables avec FEEL seulement.","action":"Écrivez le mapping comme des mappings d’entrée et de sortie FEEL."},"binding-version":{"title":"{what} est lié à la version {version}","detail":"Camunda 8 lie par latest, par deployment ou par version tag, pas par numéro de version.","action":"Liez-le par deployment, ou donnez à la cible un version tag et liez par celui-là."},"binding-dropped":{"title":"La liaison {binding} de {target} est abandonnée","detail":"La version de Camunda 8 pour laquelle ceci convertit prend toujours la dernière version.","action":"Convertissez pour 8.6 ou plus tard pour garder la liaison."},"tenant":{"title":"Le tenant {tenant} est figé dans le diagramme","detail":"Camunda 8 décide le tenant à partir du déploiement, pas du diagramme.","action":"Déployez plutôt le diagramme vers le tenant."},"cmmn":{"title":"Le cas {case} est appelé","detail":"Camunda 8 n’a pas de CMMN.","action":"Modélisez le cas comme un processus, un sous-processus ad hoc ou un ensemble de tâches utilisateur."},"decision":{"title":"La décision {decision} est appelée, son résultat dans {result}","detail":"Camunda 8 évalue la décision dans le moteur et stocke tout le résultat dans une variable.","action":"Rien à faire."},"decision-result":{"title":"Le résultat de la décision a été mappé comme {mapping}","detail":"Camunda 8 stocke le résultat tel que la décision le donne : une valeur pour une sortie d’une règle, un contexte pour plusieurs sorties, une liste pour plusieurs règles. Le mapping Camunda 7 {mapping} peut avoir une autre forme.","action":"Vérifiez que ce qui lit {result} attend la forme de Camunda 8."},"decision-result-variable":{"title":"Le résultat de la décision va dans {result}","detail":"Camunda 8 a besoin d’une variable de résultat, et la tâche Camunda 7 n’en avait pas.","action":"Renommez {result} si autre chose doit lire le résultat."},"message-catch":{"title":"Le message {message} a besoin d’une clé de corrélation","detail":"Camunda 8 corrèle un message à une instance en attente par une clé que l’instance calcule à partir de ses variables. Camunda 7 corrélait par l’API, avec la business key ou des variables.","action":"Ajoutez une clé de corrélation au message : une expression FEEL sur une variable que l’expéditeur connaît aussi, comme =orderId."},"message-name-expression":{"title":"Le nom de message {name} devient {feel}","detail":"Les noms de message de Camunda 8 peuvent être des expressions FEEL.","action":"Rien à faire."},"message-throw":{"title":"Le message est envoyé par {implementation}, qui devient le type de job {jobType}","detail":"Camunda 8 envoie un message depuis un événement d’émission via un job worker, comme une tâche d’envoi.","action":"Écrivez un job worker pour {jobType} qui publie le message."},"message-throw-empty":{"title":"L’événement d’émission de message n’a pas d’implémentation","detail":"Camunda 8 a besoin d’un type de job sur un événement d’émission de message ; c’est un worker qui envoie le message.","action":"Donnez à l’événement un type de job et écrivez le worker qui publie le message."},"signal-variables":{"title":"Variables passées avec le signal {signal}","detail":"Camunda 8 diffuse un signal avec les variables que lui donnent ses mappings d’entrée.","action":"Vérifiez que le signal porte les variables que lisent ses intercepteurs."},"timer":{"title":"La minuterie {timer} se reporte","detail":"Camunda 8 lit les mêmes dates, durées et cycles ISO 8601.","action":"Rien à faire."},"timer-cron":{"title":"Le cycle de minuterie {cycle} est une expression cron","detail":"Camunda 8 lit les expressions cron au format Spring ; Camunda 7 les lisait au format Quartz, qui autorise des champs que Spring n’a pas.","action":"Vérifiez que l’expression cron est valide en cron Spring."},"error-code-variable":{"title":"Le code d’erreur intercepté va dans {variable} par un mapping de sortie","detail":"Camunda 8 donne l’erreur interceptée aux mappings de sortie sous le nom errorCode et errorMessage.","action":"Rien à faire."},"error-message":{"title":"Le message d’erreur {message} est abandonné","detail":"Dans Camunda 8, c’est le worker qui lève l’erreur qui donne son message.","action":"Donnez le message dans le worker quand il lève l’erreur."},"external-error":{"title":"La tâche externe décide des erreurs par l’expression {expression}","detail":"Camunda 8 n’a pas de définitions d’événement d’erreur sur une tâche ; c’est le job worker qui lève l’erreur.","action":"Levez l’erreur BPMN depuis le job worker quand la condition est vraie."},"escalation-code-variable":{"title":"Le code d’escalade était conservé dans {variable}","detail":"Camunda 8 ne stocke pas un code d’escalade intercepté dans une variable.","action":"Passez la valeur comme variable quand l’escalade est émise."},"unsupported-element":{"title":"Camunda 8 ne peut pas exécuter {what}","detail":"{reason}","action":"{action}"},"element-since":{"title":"{what} demande Camunda {version} ou plus tard","detail":"La version de Camunda 8 pour laquelle ceci convertit, {target}, ne peut pas l’exécuter.","action":"Convertissez pour Camunda {version} ou plus tard, ou remodelez-le."},"conditional-event":{"title":"L’événement conditionnel attend {variables}","detail":"Camunda 8 évalue une condition quand les variables qu’il nomme changent, comme Camunda 7 le faisait quand variableName était défini.","action":"Vérifiez que ce sont les variables attendues qui déclenchent la condition."},"properties":{"title":"Les extension properties se reportent","detail":"Camunda 8 les garde comme propriétés zeebe, que les outils lisent de la même façon.","action":"Rien à faire."},"version-tag":{"title":"L’étiquette de version {tag} se reporte","detail":"Camunda 8 conserve les étiquettes de version depuis 8.6.","action":"Rien à faire.","dropped":{"title":"L’étiquette de version {tag} est abandonnée","detail":"Camunda 8 conserve les étiquettes de version depuis 8.6."}},"history-time-to-live":{"title":"Le history time to live {ttl} est abandonné","detail":"Camunda 8 garde l’historique dans son stockage secondaire, nettoyé par les réglages de rétention du cluster, pas du diagramme.","action":"Définissez la rétention dans la configuration du cluster si elle comptait."},"starter-groups":{"title":"Qui peut démarrer le processus ({groups}) est abandonné","detail":"Camunda 8 décide qui peut démarrer un processus par les autorisations, pas par le diagramme.","action":"Accordez le droit de démarrage à {groups} dans l’identité de Camunda 8."},"startable-in-tasklist":{"title":"Le fait que Tasklist puisse démarrer le processus est abandonné","detail":"Camunda 8 Tasklist propose tous les processus qu’un utilisateur peut démarrer.","action":"Rien à faire."},"template":{"title":"Le modèle d’élément {template} est un modèle Camunda 7","detail":"Le modèle ne s’applique plus ; les propriétés converties restent.","action":"Appliquez la version Camunda 8 du modèle, s’il y en a une."},"unknown-attribute":{"title":"Le réglage Camunda 7 {attribute} est laissé tel quel","detail":"Penstock ne sait pas ce que Camunda 8 devrait en faire, il reste donc dans le diagramme, où Camunda 8 l’ignore.","action":"Vérifiez que rien n’en dépendait, puis supprimez-le."},"dmn-version":{"title":"Les décisions sont en DMN {version}","detail":"Camunda 8 lit le DMN 1.3. Penstock et l’éditeur DMN déplacent un fichier plus ancien en 1.3.","action":"Ouvrez le fichier dans l’éditeur DMN et enregistrez-le, puis convertissez-le.","converted":{"detail":"Camunda 8 lit le DMN 1.3, le fichier est donc écrit en DMN 1.3.","action":"Rien à faire."}},"dmn-expression-language":{"title":"{what} est écrit en {language}","detail":"Camunda 8 n’évalue le DMN qu’en FEEL.","action":"Écrivez-le en FEEL."},"dmn-juel":{"title":"{what} devient l’expression FEEL {feel}","detail":"Camunda 8 n’évalue le DMN qu’en FEEL.","action":"Rien à faire."},"dmn-input-variable":{"title":"L’entrée {input} nomme sa valeur {variable}","detail":"Camunda 8 désigne la valeur d’entrée dans une règle par ?, pas par un nom.","action":"Remplacez {variable} par ? dans les règles de cette entrée, puis supprimez le nom."},"dmn-history-time-to-live":{"title":"Le history time to live de {decision} est abandonné","detail":"Camunda 8 garde l’historique dans son stockage secondaire, nettoyé par les réglages de rétention du cluster.","action":"Rien à faire."},"dmn-carries-over":{"title":"Les décisions se reportent","detail":"Camunda 8 évalue le DMN 1.3 en FEEL, et ces décisions n’utilisent rien d’autre.","action":"Rien à faire."},"form-platform":{"title":"Le formulaire se reporte","detail":"Les Camunda Forms ont le même format des deux côtés ; seule la plateforme nommée change.","action":"Rien à faire."},"platform":{"title":"Le diagramme nomme Camunda {target} comme plateforme","detail":"Camunda Modeler et Penstock lisent la plateforme dans le fichier.","action":"Rien à faire."},"data-migration":{"title":"Les instances en cours et l’historique restent sur Camunda 7","detail":"Convertir un diagramme ne déplace pas ses instances. Les instances peuvent se terminer sur Camunda 7, ou être déplacées avec le Data Migrator de Camunda, qui a besoin que les id d’élément restent les mêmes ; le convertisseur les garde.","action":"Décidez s’il faut vider Camunda 7 ou lancer le Data Migrator."}},"dmn":{"savedAsNotice":"{name} est un fichier DMN {from}. Il a été converti en DMN 1.3 et sera enregistré en DMN 1.3 quand vous le modifierez."},"form":{"keptOut":"{name} sur {id}","lostType":"type {type} de {id}"},"tally":{"toDo":{"one":"{count} à faire","other":"{count} à faire"},"toCheck":{"one":"{count} à vérifier","other":"{count} à vérifier"},"converts":{"one":"{count} se convertit sans changement","other":"{count} se convertissent sans changement"}}},"notifications":{"closeNotification":"Fermer la notification"},"platform":{"theConversionPreviewStayedUnanswered":"L’aperçu de conversion est resté sans réponse pendant {seconds} secondes ; Penstock a cessé de demander et n’a rien converti.","theConversionPreviewWasGiven":"L’aperçu de conversion a été abandonné avant que l’utilisateur réponde ; Penstock n’a rien converti.","theHostConnectionIsClosed":"La connexion à l’hôte est fermée","theIdeAnswered":"L’IDE a répondu {status}","theRequestWasCancelled":"La requête a été annulée"},"problems":{"waiting":"En attente d’un diagramme à vérifier.","tally":{"one":"{count} problème","other":"{count} problèmes"}},"project":{"applied":"Migration appliquée : {rewritten} fichiers réécrits, {created} créés, {manual} demandent une personne. MIGRATION.md contient la liste.","applyChanged":"{file} a changé depuis sa lecture","applyDecline":"Annuler","applyAccept":"Appliquer","applyText":"Cela réécrit {rewritten} fichiers sur place et crée {created} fichiers, dont les squelettes de job worker et MIGRATION.md. {converted} éléments sont convertis et {manual} demandent ensuite une personne. Rien n'est supprimé. Faites un commit d'abord pour pouvoir annuler le changement.","applyTitle":"Appliquer la migration pour Camunda {target}","applyNothingToWrite":"Rien à appliquer : les fichiers Camunda 7 d'ici sont déjà convertis.","chooseCamunda7Camunda8":"Choisissez Camunda 7, Camunda 8, Operaton ou CIB seven comme moteur dans penstock.yaml pour déployer","filesReplaced":{"one":"{count} fichier remplacé.","other":"{count} fichiers remplacés."},"isBesideTheDelegateMove":"{fileName} se trouve à côté du délégué ; déplacez dans le délégué ce que fait {value}.","isNotACamunda7":"{name} n’est pas un fichier Camunda 7 : il n’y a rien à convertir.","noJobWorkerWasFound":"Aucun job worker n’a été trouvé pour {asked}.","notRunTheEngineWas":"Non exécuté : le moteur n’a pas été confirmé pour les tests","nothingWasWritten":"Rien n’a été écrit : {failure}","penstockWillDeployATest":"Penstock déploiera une version de test sur {url}, démarrera des instances et répondra aux jobs qu’il simule. ","runScenariosOnThisEngine":"Exécuter les scénarios sur ce moteur ?","startFromAnExample":"Partir d’un exemple","templateUpdated":"Le modèle d’élément de {value} a été mis à jour depuis {where} dans {path}.","templateWritten":"Le modèle d’élément de {value} a été écrit depuis {where} vers {path}.","theBuildAndItsInstances":"La version et ses instances sont supprimées après chaque exécution. Marquez le profil avec deployment.forTests: true pour ne plus être sollicité.","theElementTemplateForAlready":"Le modèle d’élément de {value} indique déjà ce que fait {where}.","theElementTemplateIsNot":"Le modèle d’élément {id} n’est plus dans ce projet.","theExampleIsInIts":"L’exemple {example} se trouve dans {root}. Son README.md explique comment l’exécuter.","theExampleWasNotWritten":"L’exemple n’a pas été écrit : {failure}","theJobWorkerWasNot":"Le job worker n’a pas été écrit : {failure}","theMigrationReportIsIn":"Le rapport de migration se trouve dans .penstock/migration : report.md, et report.html à transmettre.","theWorkerSkeletonWasNot":"Le squelette du worker n’a pas été écrit : {failure}","thereIsNothingToMigrate":"Il n’y a rien à migrer : aucun diagramme, aucune décision et aucun formulaire Camunda 7 n’a été trouvé.","thingsStayOpen":{"one":"{count} élément reste ouvert, marqué sur son élément ; le fichier Camunda 7 est inchangé.","other":"{count} éléments restent ouverts, chacun marqué sur son élément ; le fichier Camunda 7 est inchangé."},"wasConvertedForCamundaInto":"{name} a été converti pour Camunda {target} dans {folder}.","wasWrittenForInMove":"{fileName} a été écrit pour {name} dans {inside}. Déplacez dans le délégué ce qu’il devrait faire.","writeTheOrderExampleInto":"Écrire l’exemple de commande {example} dans {root} ? Il ajoute un processus, une décision, un formulaire, des workers, des cas de test et un README, et n’écrase jamais un fichier.","couldNotBeRead":"{name} n’a pas pu être lu : {reason}","notADiagramDecisionOrForm":"ce n’est ni un diagramme, ni une décision, ni un formulaire","alreadyThere":{"one":"{files} est déjà là ; choisissez de le remplacer ou un autre dossier","other":"{files} sont déjà là ; choisissez de les remplacer ou un autre dossier"},"theCursorIn":"le curseur dans {file}","theJobType":"le type de job {value}","engine":{"CAMUNDA_8":"Plateforme moderne d’automatisation de processus dans le cloud","OPERATON":"Plateforme d’automatisation BPMN pilotée par la communauté","CIB_SEVEN":"Fork de Camunda 7 par la communauté","CAMUNDA_7":"Plateforme éprouvée d’automatisation de workflow et de décision","CLASSIC_BPMN":"Modélisation BPMN 2.0 standard, sans extension propre à un moteur"},"scriptType":{"noScriptTypeSelected":"Aucun type de script sélectionné","groovyScriptingLanguage":"Langage de script Groovy","javaScriptScriptingLanguage":"Langage de script JavaScript","Groovy":"Groovy","JavaScript":"JavaScript"},"noScriptType":"<vide>"},"properties":{"calledElement":"Élément appelé","dataObject":"Objet de données","editInNewTab":"Modifier dans un nouvel onglet","exampleOutputWritten":"Sortie d’exemple écrite","idOfTheProcessTo":"Identifiant du processus à appeler","isACollection":"Est une collection","leaveEmptyForTheEngine":"Laisser vide pour la valeur par défaut du moteur","loopCondition":"Condition de boucle","loopMaximum":"Maximum de boucle","loopMaximumWholeNumber":"Le maximum de boucle devrait être un nombre entier","testBefore":"Tester avant","tryOnInstance":"Essayer sur une instance","writeExampleOutput":"Écrire la sortie d’exemple","writeThisAsTheExample":"Écrire ceci comme sortie d’exemple, là où Camunda Modeler la lit","readingWhatReachesThisStep":"Ce qui atteint cette étape","nothingReachesThisStep":"Rien n’atteint cette étape, il n’y a donc aucune sortie d’exemple à écrire.","anyValue":"n’importe quelle valeur","pickAnInstanceToRunThis":"Choisissez une instance dans l’onglet Supervision pour l’exécuter sur ses variables.","projectVariable":"Utilisée dans le projet","sevenCannotEvaluate":"Camunda 7 ne peut pas évaluer une expression. Il faut Camunda 8.9 ou plus récent.","showScriptTab":"Afficher l'onglet","scriptInTab":"Ce script est ouvert dans un onglet"},"runs":{"adHocRun":"Exécution ad hoc {time}","addAScenarioWithChosen":"Ajouter un scénario avec des entrées choisies","addScenario":"Ajouter un scénario","addTheVariablesTheScenario":"Ajoutez les variables avec lesquelles le scénario démarre.","addWhichAGatewayCondition":"Ajouter {name}, lu par une condition de passerelle","backTo":"Retour à {value}","buyOrSignIn":"Acheter ou Se connecter","changed":"Modifié","checkAtTheEnd":"Vérifier à la fin","choice":{"job":{"ask":"Me demander","complete":"Terminer","error":"Lever une erreur","fail":"Échouer, puis terminer","real":"Worker réel"},"timer":{"fire":"Déclencher maintenant","real":"Attendre"}},"chooseAProcess":"Choisir un processus","chooseTheValuesThatTake":"Choisissez les valeurs qui prennent le chemin que vous voulez. Les passerelles lisent {names}.","conditionOf":"Condition de {name}","create":"Créer","createScenarios":"Créer des scénarios","createThisScenario":"Créer ce scénario","decisionRule":"Règle de décision","enterANameForThe":"Saisissez un nom pour le scénario","enterTheErrorCodeShould":"Saisissez le code d’erreur que {name} doit lever","enterTheKeyOrId":"Saisissez la clé ou l’identifiant d’une instance de processus","errorCode":"Code d’erreur","fillTheForm":"Remplir le formulaire","answerTimer":"Répondre au minuteur","mockWorker":"Mocker le worker","fireTimer":"Déclencher le minuteur","advanceTimeBy":"Avancer le temps de","timerFired":"Le minuteur est configuré pour se déclencher","timerDurationProblem":"Écrivez le temps sous forme de durée ISO 8601, par exemple PT2H ou P1D","removeTimerAnswer":"Ne pas déclencher","workerOutcome":"Résultat","completeJob":"Terminer la tâche","throwBpmnError":"Déclencher une erreur BPMN","failJob":"Échouer la tâche","workerVariables":"Variables (JSON)","errorMessage":"Message d'erreur","saveMock":"Enregistrer le mock","removeMock":"Supprimer le mock","invalidJson":"Les variables devraient être un objet JSON, par exemple {\\"amount\\": 150}","generate":"Générer","in":"Dans","include":"Inclure {name}","kind":{"call":"Appel","decision":"Décision","delegate":"Délégué","end":"Fin","error":"Erreur","eventGateway":"Attente","gateway":"Passerelle","join":"Jointure","message":"Message","parallel":"Division","signal":"Signal","start":"Début","subprocess":"Sous-processus","task":"Tâche","timer":"Minuterie","user":"Tâche utilisateur","worker":"Worker"},"leaveItEmptyToName":"Laissez vide pour nommer le scénario d’après son chemin.","mocked":"Simulé","name":"Nom","nameOfTheScenario":"Nom du scénario","nextStep":"Étape suivante","noDecisionTableWithId":"Aucune table de décision avec l’identifiant {id} n’est dans ce projet","noFormWithTheId":"Aucun formulaire avec l’identifiant {id} n’est dans ce projet","noScenarioFile":"Aucun fichier de scénario","noScenariosAdded":"Aucun scénario ajouté.","notTakenByThisScenario":"Non emprunté par ce scénario","openRun":"Ouvrir l’exécution","out":"Sortie","penstockCannotCheckThisExpression":"Penstock ne peut pas vérifier cette expression ici","penstockFailed":"Échec de Penstock : {message}","previousStep":"Étape précédente","process":"Processus","processInstance":"Instance de processus","removeVariable":"Retirer {name}","resizeTheRunsPanel":"Redimensionner le panneau des exécutions","reviewScenarios":"Examiner les scénarios","run":"Exécuter","runOutput":"Sortie d’exécution","runWithInput":"Exécuter avec des entrées","runningNeedsAnEngineSet":"L’exécution demande un moteur. Configurez le profil de déploiement en vigueur.","saveAsScenario":"Enregistrer comme scénario","scenariosIn":"Scénarios dans {file}","scenariosNeedAnEngine":"Les scénarios demandent un moteur.","scenariosRunACamunda7":"Les scénarios exécutent un processus Camunda 7 ou Camunda 8 sur un moteur et suivent chaque étape. Ce diagramme n’a aucun moteur défini.","scenariosToCreate":"Scénarios à créer","source":{"decision":"de l’évaluation de la décision","diff":"modifié entre deux lectures ; le moteur n’indique pas quelle étape l’a écrit","history":"de l’historique du moteur","mock":"envoyé ou reçu par le mock"},"startVariables":"Variables de départ","startsAt":"Débute à","state":{"completed":"terminée","active":"en attente","failed":"en échec","terminated":"arrêtée"},"step":"Étape","stepBadge":"Étape {number} : {name}","steps":"Étapes","theDiagramHasNoExecutable":"Le diagramme n’a aucun processus exécutable à démarrer","theKeyOfACamunda":"La clé d’une instance Camunda 8 ou l’identifiant d’une instance Camunda 7. Lit l’instance sur le moteur du profil en vigueur et affiche son chemin et ses étapes. Rien n’est modifié sur le moteur.","thePlainStartEvent":"L’événement de début simple","theRunDiffersFrom":{"one":"L’exécution diffère de {against} à 1 endroit.","other":"L’exécution diffère de {against} à {count} endroits."},"theRunMatches":"L’exécution correspond à {against}.","theRunWaits":"L’exécution attend","theScenarioAnsweredThisStep":"Le scénario a répondu à cette étape ; aucun code réel n’a été exécuté","theScenarioAsItIs":"Le scénario tel qu’il est écrit","theScenarioStartsTheProcess":"Le scénario démarre le processus avec les mêmes variables, répond aux étapes comme vous l’avez fait et vérifie le chemin qu’a pris l’exécution.","theScenarioStartsTheProcessInto":"Le scénario démarre le processus avec les mêmes variables, répond aux étapes comme vous l’avez fait et vérifie le chemin qu’a pris l’exécution. Il est écrit dans {file}.","theStartVariablesShouldBe":"Les variables de départ doivent être un objet JSON, par exemple {\\"amount\\": 150}","theVariable":"la variable","theVariablesSendsShouldBe":"Les variables envoyées par {name} doivent être un objet JSON","theWayThisScenarioTakes":"Le chemin que prend ce scénario","theseValuesTake":"Ces valeurs prennent : {scenario}","timesToFail":"Nombre d’échecs","toFillIn":"À remplir","unableToSaveTheScenario":"Impossible d’enregistrer le scénario","unableToWrite":"Impossible d’écrire {name} : {error}","theScenarioFile":"le fichier de scénarios","unreadable":"Le diagramme ne peut pas être lu pour l’instant, ses scénarios ne peuvent donc pas être planifiés.","userTasksAndMessagesAsk":"Les tâches utilisateur et les messages vous interrogent quand l’exécution les atteint. Une étape simulée est marquée Simulé : aucun code réel n’y a été exécuté.","valueOf":"Valeur de {name}","variableName":"Nom de la variable","variablesAreAJsonObject":"Les variables sont un objet JSON, par exemple {\\"approved\\": true}","variablesSends":"Variables envoyées par {name}","view":"Affichage","whatDoes":"Ce que fait {name}","withErrorCode":"avec le code d’erreur","writeThisScenarioToThe":"Écrire ce scénario dans le fichier lorsque vous appuyez sur Créer des scénarios","conditionsOnTheWayOut":"Conditions en sortie","goToTheWorker":"Aller au worker","showTheDecisionRule":"Afficher la règle de décision","openTheDecision":"Ouvrir la décision","goToTheForm":"Aller au formulaire","received":"Reçu","variablesToSend":"Variables à envoyer","correlate":"Corréler","throwError":"Lever une erreur","stop":"Arrêter","runAll":"Tout exécuter","close":"Fermer","log":"Journal","penstockOnlyCamundaProcessTestWould":"Penstock seulement : Camunda Process Test l’exécuterait autrement","alreadyInTheFileKeptAs":"Déjà dans le fichier : conservé tel quel","added":"Ajouté","text":"Texte","saveChanges":"Enregistrer les modifications","generateThemFromTheDiagram":"Les générer depuis le diagramme","openScenario":"Ouvrir le scénario","scenarios":"Scénarios","addAValue":"Ajouter une valeur","saveAsScenarioMore":"Enregistrer comme scénario…","theJob":"le job {job}","theUserTask":"la tâche utilisateur","theMessage":"le message {message}","theSignal":"le signal {signal}","waitingAtFor":"En attente à {where} de {what}","aScenarioIsOpen":"Un scénario est ouvert dans la barre latérale","noConditionAlwaysTaken":"pas de condition : cette branche est toujours prise lorsqu’on y arrive","chooseVariablesSoThat":"choisissez des variables pour que {text}","trueOrFalseForTheValues":"{result} pour les valeurs de ce scénario{used}","true":"vrai","false":"faux","shouldFailAWholeNumberOfTimes":"{name} doit échouer un nombre entier de fois, au moins une","toCreate":"{ticked} sur {items} à créer","cannotBePlanned":{"one":", {count} ne peut pas être planifié","other":", {count} ne peuvent pas être planifiés"},"moreWaysThanShown":{"one":"Plus de {count} chemins mènent à travers ce processus : les scénarios ci-dessous atteignent ensemble chaque flux.","other":"Plus de {count} chemins mènent à travers ce processus : les scénarios ci-dessous atteignent ensemble chaque flux."},"scenariosAdded":{"one":"{count} scénario ajouté","other":"{count} scénarios ajoutés"},"toFillInCount":{"one":"{count} à remplir","other":"{count} à remplir"},"alreadyThereAndKept":{"one":"{count} déjà là et conservé","other":"{count} déjà là et conservés"},"leftAsItIs":"{file} : le fichier est laissé tel quel : {problems}","scenariosSaved":{"one":"{count} scénario enregistré","other":"{count} scénarios enregistrés"},"nameTaken":"{name} a déjà un scénario nommé « {scenario} » : choisissez un autre nom","errorNeedsItsCode":"Une erreur BPMN a besoin de son code d’erreur","complete":"Terminer","broadcast":"Diffuser","runWithInputMore":"Exécuter avec des entrées…","openRunMore":"Ouvrir l’exécution…","runAllIsOff":"Tout exécuter est désactivé : {reason}","noEngineToRunOn":"il n’y a aucun moteur sur lequel s’exécuter.","noScenariosToRunYet":"Il n’y a pas encore de scénarios à exécuter. Générez-les dans l’onglet Scénarios de la barre latérale.","theTraceIsKeptIn":"La trace est conservée dans {path}","openARunMore":"Ouvrir une exécution…","theFile":"le fichier","notOnThisScenariosPath":"Cet élément n’est pas sur le chemin de ce scénario.","planningTheScenarios":"Planification des scénarios…","noWayThroughAProcess":"Aucun processus exécutable ici n’a de chemin qui le traverse et qui parte d’un événement de début simple.","hideTheConditions":"Masquer les conditions","fixTheConditions":"Mauvais chemin ? Corrigez les conditions","readOnlyEditingIsPro":"Lecture seule : modifier un scénario fait partie de Penstock Pro.","aChangeIsMadeInThe":"Une modification est faite dans le diagramme, elle peut y être annulée, et chaque scénario est replanifié.","defaultFlowNoCondition":"flux par défaut, sans condition","decisionTableNotInProject":"La table de décision {id} n’est pas dans ce projet, ses règles ne peuvent donc pas être affichées.","formNotInProject":"Le formulaire {id} n’est pas dans ce projet, ses champs ne peuvent donc pas être affichés.","openTheDecisionIn":"Ouvrir la décision dans {file}","itsFile":"son fichier","problemCount":{"one":"1 problème","other":"{count} problèmes"},"startedByAnEvent":" (démarré par un événement)","notice":{"added":{"one":"{count} scénario ajouté","other":"{count} scénarios ajoutés"},"toFillIn":"{count} à remplir","kept":"{count} déjà présents et conservés","leftAsIs":"{file} : le fichier est laissé tel quel : {problems}","saved":{"one":"{count} scénario enregistré","other":"{count} scénarios enregistrés"},"duplicated":"Dupliqué sous le nom {name}","deleted":"{name} supprimé","renamedTo":"Renommé en {name}"},"stateColumn":"État","noScenariosHint":"Un scénario exécute le processus avec l’entrée de votre choix et vérifie le chemin suivi.","scenarioActions":"Actions du scénario","rename":"Renommer","duplicate":"Dupliquer","deleteScenario":"Supprimer le scénario","deleteScenarioTitle":"Supprimer le scénario {name} ?","deleteScenarioText":"{name} est retiré de {file}. Cette action est irréversible."},"share":{"couldNotShareThisDiagram":"Impossible de partager ce diagramme : {failure}","oneFileThatOpensOffline":"Un fichier qui s’ouvre hors ligne dans n’importe quel navigateur","savedItOpensOfflineIn":"{target} enregistré. Il s’ouvre hors ligne dans n’importe quel navigateur.","shareAsHtml":"Partager en HTML","zoomIn":"Zoom avant","zoomOut":"Zoom arrière","fitToScreen":"Ajuster à l’écran","madeWith":"Réalisé avec Penstock","elementDocumentation":"Documentation de l’élément","clickAnElement":"Cliquez sur un élément pour voir sa documentation. La molette zoome, le glissement déplace.","noDocumentation":"Pas de documentation.","couldNotBeDrawn":"Le diagramme n’a pas pu être dessiné, il n’y a donc rien à partager."},"shortcuts":{"group":{"Canvas":"Canevas","Edit":"Édition","Modeling":"Modélisation","Penstock":"Penstock"},"noMatch":"Aucun raccourci ne correspond.","noMatchHint":"Effacez la recherche pour revoir tous les raccourcis.","row":{"canvas-find":"Rechercher dans le diagramme","canvas-fit":"Ajuster le diagramme","canvas-moveSelection":"Déplacer la sélection","canvas-pan":"Déplacer le canevas","canvas-selectAll":"Sélectionner tous les éléments","canvas-zoomIn":"Zoom avant","canvas-zoomOut":"Zoom arrière","edit-copy":"Copier","edit-cut":"Couper","edit-duplicate":"Dupliquer","edit-paste":"Coller","edit-redo":"Rétablir","edit-remove":"Supprimer la sélection","edit-undo":"Annuler","model-connect":"Connecter","model-direct-edit":"Modifier un libellé","model-hand":"Outil main","model-lasso":"Sélection au lasso","model-replace":"Remplacer un élément","model-space-tool":"Outil d’espace","penstock-palette":"Rechercher une action"},"search":"Rechercher actions et touches","title":"Raccourcis clavier"},"sidebar":{"backTo":"Retour à {title}","clickOrPressF2To":"{title} - cliquer ou appuyer sur F2 pour renommer","collapseTheSidebar":"Réduire la barre latérale","collapsedLabel":"{title}, réduite","openTheSidebar":"Ouvrir la barre latérale","pressF2OrEnterTo":"{title}. {label} : appuyer sur F2 ou Entrée pour renommer","resizeTheSidebar":"Redimensionner la barre latérale","sidebar":"Barre latérale","tab":{"code":"Code","comments":"Commentaires","monitor":"Supervision","preview":"Aperçu","problems":"Problèmes","properties":"Propriétés","scenarios":"Scénarios","try":"Essayer","debug":"Débogage","chat":"Discussion"},"findingCount":{"one":"{count} problème","other":"{count} problèmes"},"moreThan99Findings":{"one":"plus de 99 problème","other":"plus de 99 problèmes"},"status":{"working":"L'agent travaille","waiting":"En attente de vous"},"moreTabs":"Autres onglets"},"startup":{"retryingReloadsTheEditorAnd":"Réessayer recharge l’éditeur et relit le projet.","theEditorCouldNotStart":"L’éditeur n’a pas pu démarrer"},"toolbar":{"moreActions":"Plus d’actions","moreActionsHint":"Plus d’actions ({shortcut})","moreWaysTo":"Plus de moyens de {title}"},"nudges":{"price":"{monthly} par mois ou {yearly} par an","trialEnded":{"text":"Votre essai de Pro est terminé. Penstock Free continue, sans limite de durée, et rien n'est perdu : vos diagrammes et vos fichiers sont intacts. Verrouillé jusqu'au passage à Pro : {features} et les autres outils Pro. Pro coûte {price}.","start":"Commencer avec Pro","later":"Me le rappeler plus tard"},"lastDay":{"text":"Dernier jour de votre essai de Pro. Demain, les outils Pro se verrouillent ; vos diagrammes et tout ce que Free offre continuent de fonctionner, sans limite de durée. Pro coûte {price}.","start":"Commencer avec Pro"},"day23":{"text":{"one":"Votre essai de Pro se termine dans {count} jour. Ensuite, Penstock reste gratuit, sans limite de durée ; seuls les outils Pro se verrouillent, comme {features}.","other":"Votre essai de Pro se termine dans {count} jours. Ensuite, Penstock reste gratuit, sans limite de durée ; seuls les outils Pro se verrouillent, comme {features}."},"action":"Voir les offres Pro"},"freeNotice":{"text":"Penstock est gratuit, sans limite de durée. Les éditeurs, Check, Deploy, Monitor, le partage et l'import, et l'analyse de Camunda 7 vers 8 restent gratuits, de même que la comparaison visuelle des diagrammes dans le contrôle de version. Pro ajoute des outils nouveaux : {features} et les autres outils Pro. {trial}","trialRunning":"Votre essai de Pro de {days} jours est en cours.","trialEnded":"Votre essai de Pro est terminé ; Free continue.","action":"Voir ce qu'est Pro"}},"tour":{"check":{"body":"La vérification s’exécute pendant que vous dessinez. Vérifier ouvre ce qu’elle a trouvé : les premiers problèmes sont dans une carte en bas à droite, et la liste complète est dans l’onglet Problèmes.","title":"Vérifier"},"deploy":{"body":"Déployer envoie le diagramme à votre moteur. {profiles}","title":"Déployer"},"done":"Terminé","label":"Visite de l’éditeur","more":{"body":"Chaque action est dans Plus, et {shortcut} ouvre la même liste. Saisissez du texte pour en trouver une ; l’épingle pose une action sur la barre d’outils. La visite peut être affichée de nouveau ici.","title":"Plus"},"next":"Suivant","palette":{"body":"Prenez une forme ici et déposez-la sur le canevas, ou sélectionnez une forme et utilisez le menu qui apparaît à côté.","title":"Palette"},"profileChoice":"La flèche à côté choisit un autre profil, ou ouvre la connexion.","properties":{"body":"Sélectionnez une forme et ses propriétés s’ouvrent ici : nom, implémentation, entrées et sorties. La barre latérale a sept autres onglets à côté, et le dernier bouton de la barre d’outils les masque tous.","title":"Panneau de propriétés"},"singleProfile":"Il ouvre la connexion quand le moteur n’en a pas encore.","skip":"Ignorer","step":"Étape {index} sur {total}","tool-window":{"body":"La fenêtre d’outil Penstock se trouve sur la bande latérale de l’IDE. Elle liste les processus, les workers, les modèles d’éléments, les messages, les décisions et les formulaires de tout le projet.","title":"Fenêtre d’outil"}},"tracePaths":{"closeTrace":"Fermer le tracé","followMessageFlows":"Suivre les flux de messages","tracePaths":"Tracer les chemins","tracingBeforeAfter":"Traçage de {label} - {before} avant, {after} après"},"transactionBoundaries":{"transactionBoundaryTheEngineCommits":"Limite de transaction : le moteur valide ici"},"try":{"aggregated":", {aggregation} des correspondances","aggregation":{"COUNT":"Nombre","MAX":"Maximum","MEAN":"Moyenne","MEDIAN":"Médiane","MIN":"Minimum","MODE":"Le plus fréquent","SUM":"Somme"},"policy":{"ANY":"N’importe laquelle : plusieurs règles peuvent correspondre si elles donnent le même résultat","COLLECT":"Collecter : chaque règle correspondante contribue","FIRST":"Première : la première règle correspondante l’emporte","OUTPUT ORDER":"Ordre de sortie : toutes les règles correspondantes, par priorité de sortie","PRIORITY":"Priorité : la règle correspondante dont la priorité de sortie est la plus haute l’emporte","RULE ORDER":"Ordre des règles : toutes les règles correspondantes, dans l’ordre des règles","UNIQUE":"Unique : une seule règle peut correspondre"},"shouldBe":"{name} doit être {wanted}","aValueOf":"un {type}","value":"valeur","aNamePenstockCanRead":"un nom que Penstock peut lire","penstockCannotEvaluateHere":"{why} ; Penstock ne peut pas évaluer cette cellule ici : {cells}","needsAValueFor":"a besoin d’une valeur pour {names}","tableNeeds":"{table} {skipped}","tableNeedsAValueFor":"{table} a besoin d’une valeur pour {names}","cannotEvaluateTheseCells":"Penstock ne peut pas évaluer cette cellule ici : {cells}","noRuleWasCompared":"{table} : {names}, aucune règle n’a donc été comparée"},"unreadable":{"note":{"decision":"Le fichier n’a pas été modifié. Corrigez le XML dans l’onglet Texte et la décision s’ouvrira de nouveau.","diagram":"Le fichier n’a pas été modifié. Corrigez le XML dans l’onglet Texte et le diagramme s’ouvrira de nouveau.","form":"Le fichier n’a pas été modifié. Corrigez le JSON dans l’onglet Texte et le formulaire s’ouvrira de nouveau."},"open":{"decision":"Ouvrir le XML","diagram":"Ouvrir le XML","form":"Ouvrir le fichier"},"title":{"decision":"Cette décision ne peut pas être ouverte","diagram":"Ce diagramme ne peut pas être ouvert","form":"Ce formulaire ne peut pas être ouvert"},"atLine":"{reason} à la ligne {line}.","reason":{"unclosedTag":"balise non fermée","closingTagMismatch":"balise de fermeture non correspondante","closeTag":"balise de fermeture","missingStartTag":"balise ouvrante manquante","missingOpenTag":"balise ouvrante manquante","unexpectedEndOfFile":"fin de fichier inattendue","unclosedCdata":"section CDATA non fermée","unclosedComment":"commentaire non fermé","unclosedQuestion":"instruction de traitement non fermée","illegalFirstCharNodeName":"premier caractère illegal dans le nom du nœud","illegalValueOfXmlnsXml":"valeur non valide de xmlns:xml","invalidNodeName":"nom de nœud non valide","missingNamespaceOn":"espace de noms manquant sur <{element}>","unparsableContent":"contenu illisible <{element}> détecté","notYetDrawn":"l’élément {element} référencé par {reference}#{property} n’est pas encore dessiné","unparsableContentHinted":"contenu illisible <{element}> ; le fichier de diagramme BPMN 2.0 est peut-être invalide","noDiagramToDisplay":"le fichier n’a pas d’échange de diagramme, il n’y a rien à dessiner","empty":"le fichier est vide"}},"tooltip":{"inputOutputParameters":"Paramètres d’entrée/sortie","script":"Script","subprocess":"Sous-processus","serviceTask":"Tâche de service","assignment":"Affectation","properties":"Propriétés","inTheProject":"Dans le projet","in":"ENTRÉE : {number}","out":"SORTIE : {number}","inOf":"ENTRÉE ({number})","outOf":"SORTIE ({number})","elements":"Éléments :","id":"ID :","notSet":"<non défini>","implementation":"Implémentation","class":"Classe","delegate":"Délégué","assignee":"Assigné","groups":"Groupes","users":"Utilisateurs","itemsCount":"[{number} éléments]"},"dialog":{"exampleHint":"p. ex. {example}"},"toolWindow":{"action":{"applyMigration":"Appliquer la migration sur place…","buyOrSignIn":"Acheter ou Se connecter…","checkWorkersOn":"Vérifier les workers sur {where}","checkWorkersOnEngines":"Vérifier les workers sur les moteurs","convertAll":"Tout convertir…","convertToCamunda8":"Convertir vers Camunda 8…","copyId":"Copier l’ID","createElementTemplate":"Créer un modèle d’élément…","createExample":"Créer l’exemple","createJobWorker":"Créer un job worker…","createNodeWorker":"Créer un worker Node…","createPythonWorker":"Créer un worker Python…","debugTests":"Déboguer les tests","deploy":"Déployer","findUsages":"Rechercher les usages dans le code","goToImplementation":"Aller à l’implémentation","groupByFiles":"Grouper par fichiers","jobWorkerSkeleton":"Squelette de job worker…","migrationReport":"Rapport de migration","nodeWorkerSkeleton":"Squelette de worker Node…","pythonWorkerSkeleton":"Squelette de worker Python…","runAllProcessTests":"Exécuter tous les tests de processus","runTests":"Exécuter les tests","showFolders":"Afficher les dossiers"},"codeLinks":{"detail":"ce qui exécute chaque étape, ses tests et la couverture : Penstock Pro","tooltip":"Penstock Pro relie les diagrammes au code qui les exécute : workers, usages, variables et codes d’erreur des deux côtés, tests lancés depuis le diagramme et couverture dessus"},"count":{"files":{"one":"{count} fichier","other":"{count} fichiers"},"tasks":{"one":"{count} tâche","other":"{count} tâches"},"templates":{"one":"{count} modèle","other":"{count} modèles"},"tests":{"one":"{count} test","other":"{count} tests"},"scripts":{"one":"{count} script","other":"{count} scripts"}},"debug":{"activeAt":"Actif : {name}","pausedAt":"Suspendu à {name}"},"detail":{"calledBy":"appelé par {name}","calls":"appelle {name}","catches":"intercepte","catchesName":"intercepte {name}","caught":"interceptée {number}","caughtThrown":"interceptée {caught} · levée {thrown}","checkedAt":"vérifiée à {where}","converts":"se convertit","decision":"décision {id}","defaultProfile":"par défaut","filesBlocked":"{number} bloqués","filesNeedingWork":"{number} à corriger","form":"formulaire {id}","implementation":"implémentation","inCode":"{number} dans le code","inForce":"en vigueur","instance":"instance {instance}","lastDeploy":"dernier : {when}","listener":"listener {event}","neverSet":"jamais définie dans le projet","neverThrown":"jamais levée","noAddress":"aucune adresse","noImplementation":"aucune implémentation","notCaught":"non interceptée","notInProject":"pas dans le projet","notInThisProject":"pas dans ce projet","nothingHandlesIt":"Rien dans le code de ce projet ne s’en occupe","onWhere":"Sur {where}, {text}","outOfStep":"{number} décalés","percentCovered":"{percent} % couvert","readBy":"lue par {number}","reads":"lit","readsInCode":"lue dans le code","setAs":"définir comme « {name} » ?","setBy":"définie par {number}","sets":"définit","setsInCode":"définie dans le code","test":"test","testGroup":"Tests","theEngine":"le moteur","thrown":"levée {number}","throws":"lève","throwsName":"lève {name}","toCheck":"{number} à vérifier","toCheckOne":"à vérifier","toDo":"{number} à faire","toDoOne":"à faire"},"examples":{"camunda7Detail":"un délégué Java et un worker de tâche externe","camunda7Label":"Processus de commande Camunda 7","camunda8Detail":"un worker Spring Boot et un worker Node","camunda8Label":"Processus de commande Camunda 8","cibSevenDetail":"un délégué Java et un worker de tâche externe, sur CIB seven","cibSevenLabel":"Processus de commande CIB seven","detail":"un petit projet qui tourne, dans ce dossier","operatonDetail":"un délégué Java et un worker de tâche externe, sur Operaton","operatonLabel":"Processus de commande Operaton","flowableLabel":"Processus de commande Flowable","flowableDetail":"un moteur Spring Boot avec un délégué Java et une tâche utilisateur, sur Flowable","activitiLabel":"Processus de commande Activiti","activitiDetail":"un moteur Spring Boot avec un délégué Java et une tâche utilisateur, sur Activiti"},"kind":{"bean":"bean","javaClass":"classe","jobType":"type de job","topic":"topic"},"migrationStatus":{"blocked":"bloqué","converts":"se convertit","needsWork":"à corriger","ready":"prêt"},"section":{"code":"Code","debug":"Débogage","decisions":"Décisions","deployment":"Déploiement","errors":"Erreurs","examples":"Partir d’un exemple","files":"Fichiers","forms":"Formulaires","messages":"Messages","migration":"Migrer vers Camunda 8","processes":"Processus","templates":"Modèles d’élément","tests":"Tests","variables":"Variables","workers":"Workers","scripts":"Scripts"},"title":{"implementationsOf":"Implémentations de {name}","theProcessTests":"les tests de processus"},"tooltip":{"becomes":"Devient {what}.","errorNeverThrown":"Un événement d’erreur l’intercepte et rien ne la lève","errorUncaught":"Le code la lève et aucun événement d’erreur ne l’intercepte","migration":"Ce qui ne se reporte pas de Camunda 7 vers Camunda {target}, fichier par fichier, et ce que devient le code Java","templatesOutOfStep":"Certains modèles ne décrivent plus ce que fait le worker dont ils sont issus","variableTypo":"Rien ne définit « {name} », et « {typo} » est défini : une faute dans l’un des deux ?"},"unsupported":{"script":"Les scripts s'ouvrent dans un onglet de l'IDE. Ici, modifiez le script dans le panneau des propriétés de l'élément."},"script":{"missing":"Ce script ne figure plus dans le diagramme."}},"scenarios":{"aGateway":"une passerelle","addedScenario":"Scénario ajouté","barText":{"stepOf":"Étape {at} sur {total}","steps":"{count} étapes"},"cannotFollow":"Penstock ne peut pas suivre le processus « {process} » : il n’a pas d’événement de début pour commencer.","checksUnreachedElements":"Ce scénario vérifie des éléments qu’aucun chemin du diagramme actuel n’atteint.","chooseAProcess":"Ce diagramme a plusieurs processus exécutables ({processes}) : choisissez-en un.","coverage":{"capped":"Le diagramme a plus de chemins que ce que {cap} scénarios peuvent contenir : ces scénarios ensemble atteignent chaque flux et chaque fin.","doesNotFollow":"Penstock ne suit pas les étapes à l’intérieur de « {name} » : {why}","endEvents":"{unreached} événements de fin sur {total}","flows":"{unreached} flux sur {total}","noScenarioReaches":"Aucun scénario n’atteint {parts} (en pointillés sur le diagramme)"},"difference":{"againstSteps":"les étapes du plan","againstStepsAndVariables":"les étapes du plan et les variables vérifiées à la fin","branch":"attend {expected}, a pris {took}","notSet":"non définie","plannedButNotRun":"planifié, mais n’a pas tourné","ranButNotPlanned":"a tourné, mais le scénario ne l’avait pas planifié","value":"{name} : attend {expected}, a obtenu {got}"},"dmn":{"cannotReadInput":"Penstock ne peut pas lire l’entrée {inputs}","chooseVariablesFor":"choisissez des variables pour {names}","hitPolicy":{"outputOrder":"Ordre de sortie","priority":"Priorité"},"hitPolicyAny":"Politique de correspondance N’importe laquelle, mais les règles {rules} correspondent avec des résultats différents","hitPolicyNeedsValues":"La politique de correspondance {policy} a besoin de valeurs de sortie pour trier","hitPolicyUnique":"Politique de correspondance Unique, mais les règles {first} et {last} correspondent toutes les deux : le moteur lève une erreur","inputFits":"{input} {value} convient à {cell}","noRuleMatches":"aucune règle ne correspond à ces valeurs","raisesAnError":"le moteur lève une erreur, il ne renvoie donc rien","returnsOutputs":"il renvoie {outputs}","ruleMatches":"La règle {rule} correspond","rulesMatch":"Les règles {rules} correspondent","tableBecause":"{table} : {because}","textAsNumber":"{name} est le texte {value}, mais les règles le comparent comme un nombre","unnamedInput":"entrée {number}","unnamedOutput":"sortie {number}","why":"{which} ; {returns}","whyWithReasons":"{which} : {reasons} ; {returns}"},"doesNotReachAnEnd":"Avec ces valeurs, le processus n’atteint aucune fin.","duplicateDecision":"La décision « {id} » est dans {used} et {other} : Penstock utilise {used}","event":{"message":"{name} (message {message})","signal":"{name} (signal {signal})","timer":"{name} (minuterie {timer})"},"gatewayHint":{"cannotCheck":"Penstock ne peut pas vérifier {text} ici","chooseVariables":"choisissez des variables pour que {text}","default":"le cas par défaut : pris quand aucune autre condition n’est vraie","isFalse":"{text} est faux{used}","isTrue":"{text} est vrai{used}","noCondition":"n’a pas de condition, il est donc toujours pris","undecided":"{text} ne peut pas être décidé : {notes} ; Camunda 8 peut s’arrêter sur un incident ici"},"gatewayNeedsCondition":"Chaque flux sortant d’une passerelle exclusive a besoin d’une condition dans Camunda 8, sauf le flux par défaut. Donnez-lui une condition, ou faites-en d’abord le flux par défaut dans le panneau de propriétés.","issue":{"doesNotFollowInside":"Penstock ne suit pas les étapes à l’intérieur de {label} : {why}","nothingCompletesTheStep":"Le scénario n’a aucune instruction qui termine cette étape","nothingMakesTheEventHappen":"Le scénario n’a aucune instruction qui fasse arriver cet événement","overlap":"{first} et {last} sont vraies toutes les deux{values} : le moteur prend la première du fichier, {taken}, {never}","stuckAtGateway":"Aucune condition n’est vraie et il n’y a pas de cas par défaut : le moteur lève un incident ici","timerNeverFires":"Le scénario ne laisse pas cette minuterie se déclencher","valuesDoNotTake":"{hints} : ces valeurs ne prennent pas {names}","valuesTakeMore":"{hints} : ces valeurs prennent aussi {names}"},"listSeparator":{"many":" ou ","two":" ou "},"namesNoProcess":"Ce scénario ne nomme aucun processus, et ce diagramme a plusieurs processus exécutables ({processes}).","needsAnEngine":"L’exécution des scénarios demande un moteur. Configurez le profil de déploiement en vigueur avec une adresse, comme pour Déployer, et un moteur local ou marqué deployment.forTests: true.","noConditionAtGateway":"Aucune condition n’est vraie à {where} et il n’y a pas de flux par défaut : le moteur y lève un incident.","noExecutableProcess":"Ce diagramme n’a aucun processus exécutable.","notFollowed":{"adhoc":"un sous-processus ad hoc exécute ses étapes dans n’importe quel ordre","callActivity":"une activité d’appel exécute un autre processus"},"note":{"noOrder":"Penstock ne compare pas les valeurs {kind} avec < ni >","noTextOrder":"Penstock ne compare pas le texte avec < ni >","notBoolean":"{name} vaut {value}, pas vrai ou faux","otherKind":"{name} vaut {value}, pas {other}"},"processNotExecutable":"Ce scénario démarre le processus « {process} », qui n’est pas exécutable dans ce diagramme.","processNotInDiagram":"Ce scénario démarre le processus « {process} », qui n’est pas dans ce diagramme.","quoted":"« {name} »","slot":{"carriesNothing":"Ne porte aucune variable.","completesWithNothing":"Se termine sans variable. Ajoutez celles que le formulaire enverrait.","expectedAtTheEnd":"Variables qui doivent être définies à la fin","itReturns":"Il renvoie","messageCarries":"Le message porte","noVariablesAdd":"Aucune variable. Ajoutez celles dont les passerelles ci-dessous ont besoin.","nothingChecked":"Rien n’est vérifié sur les variables. Ajoutez celles qui comptent.","returnsNothingAdd":"Ne renvoie rien. Ajoutez les variables qu’il devrait définir.","signalCarries":"Le signal porte","startVariables":"Variables de départ","theyCompleteWith":"Elles le terminent avec","workerReturns":"Le worker renvoie"},"step":{"callsTheProcess":"Exécute le processus {process} (le scénario vérifie cette étape, pas ce qu’il y a dedans)","code":"code","comesFirst":" ; dans ce scénario {target} vient en premier","correlationKey":" (clé de corrélation {key})","evaluatesTheDecision":"Évalue la décision {decision}","failsWithError":"échoue avec l’erreur {code}","gatewaySendsOn":"La passerelle envoie le processus vers","labelCatchesIt":" et {label} l’intercepte","labelSendsOn":"{label} envoie le processus vers","messageArrives":"Le message « {message} » arrive{key}","messageCaught":"Le message « {message} » arrive pendant que la tâche attend, et {label} l’intercepte{key}","neverTakenMany":"donc {names} ne sont jamais pris","neverTakenOne":"donc {name} n’est jamais pris","noBranch":"aucune branche","noConditionNoDefault":"Aucune condition n’est vraie et il n’y a pas de flux par défaut","passesThrough":"Passe par {label}","personCompletes":"Une personne termine {label}{with}","processEndsAt":"Le processus se termine à {label}","repeatsPerItem":" (une fois ici ; il se répète pour chaque élément)","returns":"renvoie {values}","returnsNothing":"ne renvoie rien","runs":"Exécute {label}","runsAndCompletes":"{label} exécute {which} et se termine","runsStepsFollow":"Exécute {label} : ses étapes suivent{repeats}","signalIsBroadcast":"Le signal « {signal} » est diffusé{caught}","splitsInto":"Se divise en {number} branches qui s’exécutent côte à côte","startsWithVariables":"Démarre à {label} avec ces variables","startsWithoutVariables":"Démarre à {label} sans variable","subProcessEndsAt":"Le sous-processus se termine à {label}","subProcessStartsAt":"Le sous-processus démarre à {label}","takesBecause":"Prend {names} : {because}","takesButValues":"Prend {names} pour ce scénario, mais ces valeurs prendraient {other}","taskFailsWithError":"La tâche échoue avec l’erreur {code} et {label} l’intercepte","timerFires":"{label} se déclenche{when} - le scénario le laisse se déclencher tout de suite","waitsForBranches":"Attend {number} branches entrantes, puis continue","waitsForFirst":"Attend celle qui arrive en premier : {targets}","with":" avec {values}","workerOf":"Le worker de {label} ({kind} {type}) {what}"},"takesAnotherWay":"Les valeurs de ce scénario prennent un autre chemin dans le processus que les éléments qu’il vérifie.","targetNeedsSignIn":"Le moteur à {url} demande une connexion. Enregistrez le mot de passe dans Déployer > Connexion..., puis relancez.","theElement":"le {type}","theType":"le {type}","thisKindOfSubProcess":"ce type de sous-processus","value":{"text":"texte {value}"},"valueKind":{"boolean":"vrai ou faux","null":"null","number":"un nombre","other":"un {kind}","text":"texte"},"workerKind":{"jobType":"type de job","topic":"topic"}},"testCases":{"count":{"instances":{"one":"1 instance {state}","other":"{count} instances {state}"},"testBuilds":{"one":"1 version de test","other":"{count} versions de test"}},"elementIdMismatch":"{label} est l’élément {actual}, {expected} attendu","engines":{"activityNotRunning":"l’instance d’activité {element} n’est pas en cours","answered":"{method} {path} a répondu {status}{reason}","deployed":"déployé","errorThrownByTheTestCase":"{code} levée par le cas de test","reason":" : {reason}","refusedTheBuild":"Le moteur a refusé la version de test ({status}) : {reason}"},"failingOnPurpose":"en échec comme le demande le cas de test ({tried} sur {total})","forOtherEngines":"ce cas de test est pour {engines}","leftovers":{"kept":"Impossible de supprimer {builds} laissés par une exécution interrompue ; la prochaine exécution réessaie","removed":"{builds} laissés par une exécution interrompue supprimés"},"listSeparator":" et ","log":{"broadcast":"Signal {signal} diffusé","completed":"{label} terminé","correlated":"Message {message} corrélé","couldNotCancel":"Impossible d’annuler l’instance : {reason}","couldNotReadTheTrace":"Impossible de lire la trace : {reason}","couldNotRemoveTheBuild":"Impossible de supprimer la version de test : {reason}","deployedTheBuild":"Version de test déployée","failedOnPurpose":"{label} : en échec volontairement, {tried} sur {total}","mockCompleted":"{label} : le mock a terminé le job","mockThrew":"{label} : le mock a levé {code}","noElementWithJobType":"Aucun élément du diagramme n’a le type de job {jobType}, son mock ne répond donc à rien","startedInstance":"Instance {instance} démarrée"},"mismatch":{"activeExactly":"active : {active}, exactement {expected} attendu","completedInOrder":"terminée dans l’ordre {order}, {expected} attendu","hasNotCompleted":"n’est pas terminée","hasNotFailed":"{label} n’a pas échoué{where}","incidentExpected":"un incident ouvert était attendu, il n’y en a pas","incidentUnexpected":"aucun incident ouvert n’était attendu, il y en a un à {elements}","instanceCount":"{label} en a {count}, {expected} attendu{where}","instanceState":"l’instance devait être {expected}, elle est {actual}{where}","isActive":"est active","isNotActive":"n’est pas active","notWaitingForAUser":"{label} n’attend pas d’utilisateur{where}","userTaskNotCompleted":"{label} n’est pas terminée{where}","variableNotSet":"la variable {name} n’est pas définie","variableValue":"{name} vaut {actual}, {expected} attendu","wasNotCanceled":"{label} n’a pas été annulée{where}","wasNotReached":"{label} n’a pas été atteinte{where}","wasNotTerminated":"n’a pas été terminée","wasReached":"a été atteinte"},"needsCreateProcessInstance":"un cas de test commence par CREATE_PROCESS_INSTANCE, après ses mocks","noElementNamed":"aucun élément nommé {name} dans le diagramme","notActiveSoNoVariables":"{label} n’est pas active, ses variables ne peuvent donc pas être définies","notInDiagram":{"one":"le cas de test attend {ids}, qui n’est pas dans ce diagramme","other":"le cas de test attend {ids}, qui ne sont pas dans ce diagramme"},"nothing":"rien","numberedCaseName":"{name} ({seen})","one":"un","penstockFailed":"Échec de Penstock : {reason}","problem":{"behaviourNeedsErrorCode":"le comportement de {element} a besoin de errorCode","behaviourNeedsThen":"le comportement de {element} a besoin de then : complete, error, fire ou hold","behavioursNotAnObject":"x-penstock.behaviours n’est pas un objet","blockNotAnObject":"x-penstock n’est pas un objet","caseHasNoInstructions":"le cas de test « {name} » n’a pas d’instructions","caseHasNoName":"le cas de test {number} n’a pas de nom","enginesList":"x-penstock.engines est une liste de {engines}","fileLeftAsItIs":"le fichier est laissé tel quel : {problems}","fileNotValidJson":"le fichier n’est pas du JSON valide, il est donc laissé tel quel : corrigez-le d’abord","hasNoInstructions":"il n’a pas d’instructions","hasNoName":"il n’a pas de nom","inCase":"cas de test « {name} » : {problem}","instructionNeeds":"l’instruction {number} ({type}) a besoin de {property}","instructionNotAllowed":"l’instruction {number} ({type}) a {property}, que le schéma de cas de test Camunda n’autorise pas","noTestCasesList":"il n’y a pas de liste testCases","notAnObject":"ce n’est pas un objet","notJson":"pas du JSON : {reason}","shapelessInstruction":"l’instruction {number} n’est pas un objet avec un type"},"safety":{"refusal":"Penstock ne répond aux jobs que sur un moteur prévu pour les tests, et {where} n’en est pas marqué un. Marquez le profil avec deployment.forTests: true dans penstock.yaml, ou exécutez contre un moteur local.","thisEngine":"ce moteur"},"scenarioName":{"boundaryFires":"{boundary} se déclenche","way":"{decision} : {way}"},"startsOnAnEvent":"Ce processus démarre sur {kind}, dont Penstock ne peut pas encore partir pour un scénario.","suites":{"cannotBeRead":"{suite} ne peut pas être lu","cannotRun":"ne peut pas s’exécuter","noDiagram":"aucun diagramme n’appartient à {suite}","noEngineToRunOn":"{diagram} n’a aucun moteur sur lequel s’exécuter : définissez deployment.url dans penstock.yaml","traceOf":"trace de {name} : {where}","unlicensed":"Exécutions de tests de processus : fait partie de Penstock Pro","unnamedCase":"cas de test {number}"},"toFillIn":"À remplir : {unresolved}","trace":{"couldNotRead":"Impossible de lire {path} : le moteur a répondu {status}{reason}","reason":" : {reason}"},"unknownName":"?","unresolved":{"chooseVariables":"choisissez des variables pour que {condition} soit vraie","chooseVariablesWithout":"choisissez des variables pour que {condition} ne soit pas vraie","noConditionForTheWay":"« {decision} » n’a pas de condition pour « {way} » : donnez des conditions à ses flux, sinon ce test ne peut pas choisir le chemin","runsOncePerItem":"{name} s’exécute une fois par élément : répétez son COMPLETE_JOB pour chacun"},"unrunnable":{"exampleData":"{type} ne peut pas encore utiliser de données d’exemple","foreignProcess":"{type} regarde le processus {foreign}, et Penstock ne suit que l’instance de {root}","notYet":"{type} n’est pas encore ce que Penstock peut exécuter","oneInstancePerTestCase":"Penstock exécute une instance par cas de test","runtimeInstructions":"{type} ne peut pas encore exécuter d’instructions d’exécution","shapelessInstruction":"l’instruction {number} n’est pas un objet avec un type","unknown":"{type} n’est pas ce que Penstock peut exécuter","userTaskFields":"ASSERT_USER_TASK ne peut pas encore vérifier {fields}"},"waiting":{"engineDidNotRun":"le moteur n’a pas exécuté {label} en {seconds}","instanceNotShown":"le moteur n’a pas montré l’instance en {seconds}","jobNotHandedOut":"le moteur n’a pas distribué le job de {label} en {seconds}","messageFoundNothing":"le message {message} n’a rien trouvé qui l’attend en {seconds}","noJobAt":"aucun job à {where} en {seconds}","noUserTaskAt":"aucune tâche utilisateur {where} en {seconds}","noWorkerTook":"aucun worker n’a pris {type} en {seconds}","timerDidNotFire":"la minuterie {label} ne s’est pas déclenchée en {seconds}"},"whereAt":" à {elements}","kind":{"error":"un événement d’erreur","escalation":"un événement d’escalade","conditional":"un événement conditionnel"},"edit":{"nameEmpty":"Le nom ne devrait pas être vide.","nameTaken":"Un scénario nommé {name} existe déjà dans ce fichier, le nom devrait donc être différent.","notFound":"Aucun scénario nommé {name} n'est dans ce fichier.","copyName":"{name} copie","copyNumbered":"{name} copie {number}"},"taskTest":{"noProcess":"Le diagramme n'a aucun processus exécutable.","notFound":"Il n'y a aucun élément d'id {element} dans le diagramme.","noWay":"Aucun chemin du processus ne mène à {element}.","cannotThrow":"{element} est une tâche utilisateur et ne peut pas lever d'erreur ; terminez-la ou laissez-la en attente.","name":"Test de tâche : {element}"}},"features":{"ai-chat":{"title":"Chat IA","gives":"laisse un agent qui parle le Agent Client Protocol lire et vérifier vos diagrammes et proposer des modifications que vous relisez sur le canevas"},"alreadyBought":"si vous l’avez déjà achetée","auto-layout":{"title":"Disposition automatique","gives":"transforme un diagramme embrouillé en un flux lisible de gauche à droite"},"baseline":{"title":"Bases de référence de vérification","gives":"ne fait échouer une build que sur les problèmes nouveaux"},"bot":{"title":"Le bot de revue","gives":"répond à /penstock dans les pull et merge requests avec des images"},"buyIt":"achetez-la ; la licence arrive sur cette machine toute seule","changes-pictures":{"title":"Images des changements","gives":"dessine ce qui a changé, en couleur, à côté de ce que c’était"},"ci-annotations":{"title":"Problèmes dans la revue de code","gives":"montre les problèmes de la vérification sous forme de SARIF ou d’annotations sur les lignes modifiées"},"code-links":{"title":"Vérifications des diagrammes et du code","gives":"trouve les tâches dont le type de job, le topic, la classe ou le bean n’a rien dans le code pour l’exécuter, et les workers dont aucun diagramme ne se sert"},"docs":{"title":"Documentation des processus","gives":"écrit une page pour chaque processus avec son image, ses étapes, ses décisions, ses événements et ses données"},"edit":{"title":"Modification depuis la ligne de commande","gives":"change un diagramme comme le ferait l’éditeur, et refuse une modification qui le casse"},"education":"Pro gratuit pour les étudiants, les enseignants et les mainteneurs de logiciels libres : demandez sur {url}","element-templates":{"title":"Modèles d’élément","gives":"écrit un modèle d’élément pour chaque job worker du projet, pour que la palette Camunda se remplisse toute seule"},"flow-analysis":{"title":"Analyse de flux","gives":"trouve les interblocages, les branches qui s’exécutent deux fois et les étapes qui ne peuvent jamais s’exécuter, avec le chemin qui y mène"},"giveThePipelineAKey":"Donnez à ce pipeline une clé {tier} dans le secret PENSTOCK_LICENSE.","inAPipeline":" dans un pipeline","migration":{"title":"Conversion de Camunda 7 vers Camunda 8","gives":"convertit un diagramme pour Camunda 8, marque sur l’élément ce qu’il n’a pas pu convertir, et écrit des job workers à partir du code de vos délégués"},"partOf":"{title}{where} : fait partie de Penstock {tier}. {gives}.","paths":{"title":"Scénarios de processus","gives":"liste chaque chemin distinct dans un processus avec les conditions qu’il prend, prêt à servir de plan de test"},"pr-report":{"title":"Rapports de pull request","gives":"écrit un seul commentaire avec la vérification, le diff et les images de chaque diagramme modifié"},"test-case-generation":{"title":"Fichiers de cas de test","gives":"écrit les fichiers de cas de test pour chaque chemin dans chaque processus, que scenarios run rejoue ensuite contre un moteur"},"test-runs":{"title":"Exécutions de tests de processus","gives":"exécute un processus étape par étape contre un moteur local, avec des mocks, et montre ce que chaque étape a reçu et modifié"},"tests":{"title":"Tests de processus","gives":"écrit un test JUnit pour chaque chemin dans un processus, avec les variables qui l’y mènent, pour Camunda Process Test ou camunda-bpm-assert"},"theKeyHolds":"PENSTOCK_LICENSE contient une licence {have} ; il faut {need}.","trialHasEnded":"Votre période d’essai de {days} jours est terminée.","variable-checks":{"title":"Vérifications des variables","gives":"vérifie les champs et les noms des variables qu'une étape lit, par rapport au code qui les définit"}},"license":{"activeOnThisMachine":"active sur cette machine","ago":{"days":"il y a {count} jours","months":"il y a {count} mois","today":"aujourd’hui","yesterday":"hier"},"checkoutNotHttps":"le paiement n’est pas en https, il n’est donc pas ouvert : {protocol}","checkoutNotOpened":"le paiement n’a pas pu être ouvert","checkoutNotOpenedStatus":"le paiement n’a pas pu être ouvert ({status})","clockSetBack":"l’horloge du système est en dessous d’une heure que cette machine a déjà vue ; remettez-la juste","codeWrongOrExpired":"Ce code est faux ou a expiré. Demandez-en un nouveau.","couldNotBeReachedForATrial":"le service de licence est injoignable pour démarrer la période d’essai Pro","couldNotBeReachedForTheKey":"le service de licence est injoignable pour vérifier PENSTOCK_LICENSE","count":{"days":{"one":"{count} jour","other":"{count} jours"},"moreDays":{"one":"{count} jour de plus","other":"{count} jours de plus"}},"fromTheEnvironmentKey":"depuis PENSTOCK_LICENSE","needsOneOnlineCheck":"cette licence a besoin d’une vérification en ligne pour être renouvelée","noCheckoutYet":"il n’y a pas encore de paiement pour {tier}","noLicenceInCi":"aucune licence ; définissez PENSTOCK_LICENSE pour ce pipeline","noStableMachineId":"cette machine n’a pas d’identifiant de système d’exploitation, elle ne peut donc pas démarrer la période d’essai Pro ; activez plutôt une licence","notAValidKey":"PENSTOCK_LICENSE n’est pas une clé Penstock valide","notAnEmailAddress":"Cela ne ressemble pas à une adresse e-mail.","notRenewed":"la licence n’a pas été renouvelée depuis {days} jours ; connectez-vous une fois pour la garder","offlineForAWhile":"hors ligne ; fonctionne {days} avant qu’il faille se signaler","reason":{"cannotBeRead":"la licence ne peut pas être lue","datedInTheFuture":"la licence est datée dans le futur ; vérifiez l’horloge","notSigned":"la licence n’est pas signée par Penstock","otherMachine":"cette licence appartient à une autre machine"},"refusedToStartATrial":"le service de licence a refusé de démarrer une période d’essai","seatsFullHint":" Connectez-vous avec \`penstock license login\` pour voir les machines qui l’utilisent et en libérer une.","serviceAnswered":"le service de licence a répondu {status}","theLicenceWasRefused":"La licence a été refusée.","trialDaysLeft":"Période d’essai Pro, {days} restants","trialHasEnded":"la période d’essai Pro est terminée","unusable":"Le service de licence a répondu avec une licence inutilisable : {reason}."},"output":{"accepted":"{count} acceptés","alreadyThereAndKept":", {count} déjà là et conservés","authHint":{"basic":"Vérifiez deployment.auth.username dans penstock.local.yaml et PENSTOCK_PASSWORD.","oauth":"Vérifiez deployment.auth.clientId et deployment.auth.tokenUrl dans penstock.local.yaml et PENSTOCK_CLIENT_SECRET.","setIt":"Définissez deployment.auth dans penstock.local.yaml : type basic avec un nom d’utilisateur et PENSTOCK_PASSWORD, ou type oauth avec PENSTOCK_CLIENT_SECRET ; PENSTOCK_TOKEN envoie un jeton bearer tel quel."},"boundaryFires":"{decision} : {boundary} se déclenche","classNeedsDependency":"La classe a besoin de cette dépendance de test{where} :","complete":"terminer","confirmInTerminal":"Exécuter les cas de test sur {url} ? Ils y déploient une version de test, démarrent des instances et répondent aux jobs qu’ils simulent. [y/N] ","couldNotRememberBuilds":"Penstock n’a pas pu se souvenir de ses versions de test dans {file} :","count":{"class":{"one":"{count} classe","other":"{count} classes"},"diagram":{"one":"{count} diagramme","other":"{count} diagrammes"},"file":{"one":"{count} fichier","other":"{count} fichiers"},"finding":{"one":"{count} problème","other":"{count} problèmes"},"lostConnection":{"one":"{count} connexion perdue","other":"{count} connexions perdues"},"reference":{"one":"{count} référence","other":"{count} références"},"scenario":{"one":"{count} scénario","other":"{count} scénarios"},"sourceFile":{"one":"{count} fichier source","other":"{count} fichiers source"},"test":{"one":"{count} test","other":"{count} tests"},"way":{"one":"{count} chemin","other":"{count} chemins"},"worker":{"one":"{count} worker","other":"{count} workers"}},"decisionWay":"{decision} : {way}","end":"fin","everyRuleHasAPage":"Chaque règle a une page qui dit pourquoi elle compte et comment la corriger : {url}","everyTaskHasCode":"Chaque tâche que les diagrammes confient au code a quelque chose dans le code pour l’exécuter.","firesOn":"{boundary} se déclenche sur {decision}","fixedSinceTheBaseline":"{count} corrigés depuis la base de référence","flowAnalysisLeftOut":"L’analyse de flux a été laissée de côté : elle fait partie de Penstock Pro, et Team dans un pipeline. penstock license buy","fromDiagramsToCode":"{sources}, {diagrams}, {references} des diagrammes vers le code","inFile":" dans {file}","kind":{"decision":"décision","form":"formulaire","notBpmn":"fichier qui n’est pas du BPMN"},"layoutAlwaysReflows":"La disposition automatique réorganise toujours, une différence ici est donc attendue ; passez --write pour la prendre.","newCount":"{count} nouveaux","newFindings":"{count} nouveaux","noBpmnFiles":"Aucun fichier .bpmn trouvé.","noChange":"aucun changement","noExecutableProcessWithAWay":"aucun processus exécutable avec un chemin qui part d’un événement de début simple","noLostConnections":"aucune connexion perdue","noProcessWithAPath":"Aucun processus avec un chemin vers une fin n’a été trouvé.","noSteps":"aucune étape","noSuchPath":"Il n’y a pas de chemin {target}","isAFolder":"{file} est un dossier, pas un fichier.","folderTooLarge":"Ce dossier est trop volumineux pour être un projet ; donnez le dossier des diagrammes","noTestCaseFile":"il n’y a pas de fichier de cas de test ; penstock scenarios generate écrit {file}","noTestCaseFiles":"Aucun fichier de cas de test trouvé. penstock scenarios generate les écrit à partir des chemins dans chaque processus.","noTestCaseFilesFirst":"Aucun fichier de cas de test trouvé. penstock scenarios generate les écrit d’abord.","notABpmnDiagram":"{file} est {kind}, pas un diagramme BPMN, il n’y a donc rien à afficher.","notConfirmedForTests":"Non exécuté : le moteur n’a pas été confirmé pour les tests","notMarkedForTests":"{url} n’est pas marqué deployment.forTests : lancez dans un terminal pour le confirmer une fois, ou marquez le profil avec deployment.forTests: true","notValid":"{file} n’est pas valide en tant que {what} : {reason}","notValidFile":"Ce fichier n’est pas valide en tant que {what} : {reason}","nothingNew":"rien de nouveau","nothingToDeploy":"Rien à déployer : aucun fichier n’a de deployment.url.","penstockOnlyCases":" cas de test qui demandent Penstock et s’y exécutent autrement ({count}) : {names}","penstockBehaviourHints":"les étapes portent des indications de comportement Penstock que Camunda Process Test ne lit pas","whyItMatters":"Pourquoi c’est important. {why}","howToFixIt":"Comment le corriger. {fix}","see":"Voir {docs}","pipelineCannotConfirm":"{url} n’est pas marqué deployment.forTests, et un pipeline ne peut pas le confirmer : marquez le profil avec deployment.forTests: true","ready":"prêt","reflowedLayout":"disposition réorganisée","rulesCouldNotRun":"Les règles n’ont pas pu s’exécuter : {reason}","unresolvedReference":"{id} pointe vers {value} par {property}, et le fichier ne contient aucun élément avec cet id.","runUpdateBaseline":"Exécutez check --update-baseline pour enregistrer ce qui est corrigé.","stopped":"Arrêté : {totals}","tasksPointAtNothing":"Tâches qui pointent vers un code qui n’est pas là : {count}.","testsNeedDependencies":"Les tests ont besoin de ces dépendances de test{where} :","testsSummary":"{tests} dans {classes}, un par chemin dans chaque processus.","theConnectionFromTo":"la connexion de {from} à {to}","theFileIsEmpty":"Ce fichier est vide","theKind":"le {kind}","toFillIn":"{count} à remplir","toFillInPrefix":"À remplir","totals":"Au total {files} : {passed} réussis, {failed} en échec, {skipped} ignorés","unresolvedWorker":"note {workers} avec un type écrit comme une expression qui n’a pas pu être lu, à partir de {where}","when":" quand {condition}","wouldReflowLayout":"réorganiserait la disposition (passez --write pour enregistrer)","wroteFindings":"a écrit {file} avec {findings}","wroteTestEngine":"a écrit {file} un moteur de test en mémoire qui résout les beans délégués simulés","wroteTheBridge":"a écrit {file} exécute {files} sous Camunda Process Test","classNotInProject":"la classe {value} n’est pas dans le projet","listenerName":"listener {value}","runsSteps":"- [ ] exécute {steps}","wroteScenarios":"a écrit {file} {scenarios}{toFillIn}","andToFillIn":{"one":", {count} à remplir","other":", {count} à remplir"},"couldNotBePlanned":", {ways} n’ont pas pu être planifiés : {problem}","status":{"ok":"ok","pass":"réussi","fail":"échec","note":"remarque","skip":"ignoré","same":"identique","change":"changement","wrote":"écrit","sent":"envoyé","updated":"mis à jour","added":"ajouté","removed":"supprimé","changed":"modifié","kept":"conservé","wouldChange":"changerait","wouldRewrite":"réécrirait","wouldSend":"enverrait","error":"erreur","warning":"avertissement","info":"info"},"noDeploymentUrl":"pas de deployment.url dans sa configuration","authNote":{"passwordNotRead":"deployment.auth.password n’est pas lu : le mot de passe vient de PENSTOCK_PASSWORD ou du coffre-fort de l’IDE, jamais d’un fichier"},"authProblem":{"basicWithoutUsername":"deployment.auth.type vaut basic, mais deployment.auth.username n’est pas défini","basicWithoutPassword":"deployment.auth.type vaut basic, mais il n’y a pas de mot de passe : définissez PENSTOCK_PASSWORD (l’IDE le conserve dans son coffre-fort)","oauthWithoutKeys":"deployment.auth.type vaut oauth, mais il faut deployment.auth.tokenUrl, deployment.auth.clientId et PENSTOCK_CLIENT_SECRET","oauthFailed":"le point de jeton a répondu {status} : {body}","oauthNeedsKeys":"oauth a besoin de deployment.auth.tokenUrl, deployment.auth.clientId et PENSTOCK_CLIENT_SECRET","oauthNoToken":"la réponse du point de jeton ne contient pas access_token","oauthUnreachable":"le point de jeton à {url} n'a pas répondu : {reason}"},"unreadableBpmn":"ce fichier n’est pas du XML BPMN valide","noWorkerForJobType":"aucun worker ne traite le type de job {value}","noWorkerForTopic":"aucun worker de tâches externes ne s’abonne au sujet {value}","noBeanNamed":"aucun bean Spring ne s’appelle {value}","callsNoProjectProcess":"appelle le processus {value}, qu’aucun diagramme du projet ne définit","callsNoProjectDecision":"appelle la décision {value}, qu’aucun fichier .dmn du projet ne définit","showsNoProjectForm":"affiche le formulaire {value}, qu’aucun fichier .form du projet ne définit","showsNoEmbeddedForm":"affiche le formulaire intégré {value}, que le diagramme ne contient pas","jobTypeNoDiagramUses":"aucun diagramme n’utilise le worker du type de job {value}","topicNoDiagramUses":"aucun diagramme n’utilise l’abonnement au sujet {value}","noJUnitBridge":"{engine} n’a pas encore de pont JUnit : pointez un profil vers l’engine-rest de votre application et lancez penstock scenarios run","casesFolder":"Camunda Process Test lit les cas de test dans src/test/resources/test-cases ; déplacez le fichier à cet endroit","couldNotBePainted":"le diagramme n’a pas pu être dessiné","credentialsRefused":"Les identifiants n’ont pas été acceptés. {hint}","noGeneratedTests":"Les projets {engine} n'ont pas encore de tests générés ; Penstock écrit des tests pour Camunda 7, Operaton, CIB seven et Camunda 8","noDeployFor":"Le déploiement vers {engine} n'est pas pris en charge ; déployez avec les outils du moteur","taskTest":{"unreadable":"Impossible de lire {file}.","needsDiagram":"Indiquez le diagramme à tester : penstock test task <file.bpmn> --element <id>.","needsElement":"Indiquez l'élément à tester avec --element <id>.","element":"{element} : {state}","notReached":"{element} n'a jamais été atteint.","instance":"Instance de processus : {state}","received":"Reçu :","sent":"Envoyé :","variables":"Variables à la fin :","noIncidents":"Aucun incident.","incidents":"Incidents :","trace":"Trace : {file}","badVariables":"{flag} n'est pas un objet JSON : {reason}","oneMode":"Utilisez un seul des indicateurs --complete, --error et --hold.","state":{"COMPLETED":"terminé","ACTIVE":"en attente","TERMINATED":"interrompu","FAILED":"en échec"}}},"templates":{"drift":{"differentType":"contient {name} avec un autre type","noLongerRead":"demande {name}, que le worker ne lit plus","notRead":"contient {name}, que le worker ne lit plus"},"workerDescription":"Le worker de jobs {worker} dans {where}.","workerSets":" Définit {names}.","workerInPackage":"{class} dans {package}","writtenByPenstock":"Écrit par Penstock à partir du code.","rejected":{"line":"Le modèle {name} ({id}) n'est pas chargé : {reason}","notAnObject":"il devrait être un objet JSON","schemaMissing":"il devrait avoir un attribut $schema qui nomme le schéma des modèles d'élément Camunda 8","schemaOther":"son attribut $schema devrait nommer le schéma des modèles d'élément Camunda 8","elementType":"son elementType devrait être un objet dont value nomme l'élément BPMN, par exemple bpmn:ServiceTask","appliesTo":"son appliesTo devrait être une liste de types d'élément BPMN, par exemple bpmn:Task","unexplained":"le modeleur Camunda ne l'accepte pas et n'en donne pas la raison","anonymous":"Un modèle n'est pas chargé : {reason}"}},"connectors":{"archiveDamaged":"L’archive de la version est endommagée ou incomplète","archiveHasNoTemplates":"L’archive de la version ne contient aucun modèle d’élément","archiveTooLarge":"L’archive de la version dépasse 512 MB une fois décompressée","couldNotBeDownloaded":"Les modèles de connecteurs n’ont pas pu être téléchargés","githubAnswered":"GitHub a répondu HTTP {status}","githubRefused":"GitHub a refusé la requête (HTTP {status}), sans doute sa limite de débit ; réessayez plus tard","responseTooLarge":"La réponse dépasse 64 MB"},"evaluate":{"camunda7Cannot":"Camunda 7 n’a aucun moyen d’évaluer une expression. Il faut Camunda 8.9 ou plus récent.","expressionNotEvaluated":"L’expression n’a pas pu être évaluée","instancesNotReadable":"Les instances de {process} n’ont pas pu être lues","needs810":"Camunda 8.10 ou plus récent","needs89":"Camunda 8.9 ou plus récent","processDefinitionNotReadable":"La définition de processus {process} n’a pas pu être lue","variableNamesNotReadable":"Les noms de variables que le moteur a vus n’ont pas pu être lus","variableNotReadable":"La variable {name} n’a pas pu être lue","variablesNotReadable":"Les variables de {instance} n’ont pas pu être lues","credentialsMayNotAllow":"les identifiants du profil ne l’autorisent peut-être pas","engineAnswered":"{what} : le moteur a répondu {status}","needsThatVersion":"{what} nécessite Camunda {version} ou une version plus récente."},"findings":{"because":" : {reason}","notValid":"Le fichier n’est pas valide en tant que {what}{reason}","nothingInIt":"Le fichier ne contient rien, il n’y a donc aucun diagramme à ouvrir.","soItCannotBeOpened":", il ne peut donc être ni ouvert ni vérifié.","theFileCannotBeRead":"Le fichier ne peut pas être lu","theFileIsEmpty":"Le fichier est vide"},"sections":{"hitPolicy":{"any":"N’importe laquelle : plusieurs règles peuvent correspondre si elles donnent le même résultat","collect":"Collecter : chaque règle correspondante contribue","first":"Première : la première règle correspondante l’emporte","outputOrder":"Ordre de sortie : toutes les règles correspondantes, par priorité de sortie","priority":"Priorité : la règle correspondante dont la priorité de sortie est la plus haute l’emporte","ruleOrder":"Ordre des règles : toutes les règles correspondantes, dans l’ordre des règles","unique":"Unique : une seule règle peut correspondre"},"hitPolicyText":"Politique de correspondance {policy}{aggregation}.","resultsCombinedBy":", résultats combinés par {how}","whenInput":"Quand {input}","thenOutput":"Alors {output}","inputOf":"entrée {number}","outputOf":"sortie {number}","optionsFrom":"depuis {source}","fieldTable":"Champs","field":"Champ","kind":"Type","writes":"Écrit","required":"Obligatoire","options":"Options","hiddenWhen":"Masqué quand","yes":"oui","notes":"Notes","result":"Résultat","expression":"Expression","logic":"Logique","noLogic":"aucune","decision":"Décision","needs":"Nécessite","formKind":{"textfield":"champ de texte","textarea":"zone de texte","datetime":"date et heure","taglist":"liste de tags","filepicker":"sélecteur de fichiers"},"form":"Formulaire"},"xml":{"emptyOrNotClosed":"Ce n’est pas du XML bien formé : le document est vide ou non fermé","notWellFormed":"Ce n’est pas du XML bien formé : {reason}"},"import":{"failure":{"nothingToImport":"Il n’y a rien dans ce fichier {format} qui ait un sens BPMN, il n’y a donc rien à importer.","bizagiPackage":"Les fichiers .bpm de Bizagi sont un paquet au format propre de Bizagi Modeler, que Penstock ne peut pas lire. Dans Bizagi Modeler, exportez le processus en BPMN 2.0 (un fichier .bpmn) et importez-le à la place.","visioBinary":"{name} est au vieux format binaire Visio (.vsd), que Penstock ne peut pas lire. Dans Visio, utilisez File > Save As et choisissez Visio Drawing (.vsdx), puis importez ce fichier.","xpdl":"Ceci est du XPDL, qui ne porte pas le diagramme sous une forme que Penstock puisse lire. Dans l’outil dont il vient, exportez le processus en BPMN 2.0 (.bpmn) et importez ce fichier.","unknownFormat":"{name} n’est pas un diagramme que Penstock peut importer. Il lit les fichiers draw.io, Visio, Signavio et Bizagi.","notBpmnXml":"Ce XML n’est pas du BPMN 2.0.","noPositions":"Ce fichier BPMN n’a pas de position de diagramme (pas de BPMNDiagram), il n’y a donc rien à dessiner. Ouvrez-le dans un modeleur qui le dispose, ou dessinez-le dans Penstock.","entryTooLarge":"{name} est trop volumineux pour être importé.","archiveTooLarge":"L’archive est trop volumineuse pour être importée.","notZip":"Le fichier n’est pas une archive ZIP lisible.","pageTooLarge":"Cette page draw.io est trop volumineuse pour être importée.","pageEmpty":"Cette page draw.io n’a pas de contenu.","compressedPage":"La page draw.io compressée n’a pas pu être lue. Dans draw.io, utilisez File > Properties > Compressed off, ou File > Export as > XML, et importez ce fichier.","pageNoCells":"Cette page draw.io n’a pas de cellules.","noPages":"Ce fichier draw.io n’a pas de pages.","notVisio":"Cette archive n’est pas un dessin Visio : elle n’a pas de visio/document.xml. Seuls les fichiers .vsdx sont lus.","noVisioPages":"Ce dessin Visio n’a pas de pages.","noShapes":"Ce dessin Visio n’a pas de formes."},"note":{"packageImported":"Le fichier BPMN {name} contenu dans le paquet a été importé.","vendorData":"Les données {vendor} ne se sont pas reportées, BPMN 2.0 n’a pas de place pour elles ({total}) : {list}.","unknownEvent":"Le symbole d’événement « {symbol} » n’a pas de type d’événement BPMN, l’événement n’a donc aucun déclencheur.","diamond":"{shape} est un losange, il est donc devenu une passerelle exclusive.","freeText":"{shape} est du texte libre, il est donc devenu une annotation de texte.","noteShape":"{shape} est une note, elle est donc devenue une annotation de texte.","rectangle":"{shape} est un rectangle simple, il est donc devenu une tâche.","anUnlabelledShape":"Une forme sans libellé","unmappedLabelled":"« {label} » ({shape}) n’a pas de sens BPMN, il n’a donc pas été importé.","unlabelledShape":{"one":"Une forme {shape} sans libellé n’a pas de sens BPMN, elle n’a donc pas été importée.","other":"{count} formes {shape} sans libellé n’ont pas de sens BPMN, elles n’ont donc pas été importées."},"untitled":"sans titre","aStartEvent":"un événement de début","anEndEvent":"un événement de fin","anIntermediateEvent":"un événement intermédiaire","circle":"{shape} est un cercle, il est donc devenu {kind}.","anUnlabelledCircle":"Un cercle sans libellé","aShape":"une forme","unlabelledMaster":"Un {shape} sans libellé n’a pas de sens BPMN, il n’a donc pas été importé.","shape":"forme","laneAsPool":"Le couloir {node} n’était dans aucun pool, il est donc devenu un pool.","boundaryEvent":"L’événement de limite {node} n’était sur aucune activité, il est donc devenu un événement intermédiaire de capture.","flowNotAttached":"{flow} n’est rattaché à aucune des deux formes, il a donc été laissé de côté.","flowOnLane":"{flow} est rattaché à un couloir, ce qu’un flux BPMN ne peut pas être, il a donc été laissé de côté.","dataAssociation":"Un connecteur entre un élément de données et {node} est devenu une association simple, parce que cet élément ne peut ni lire ni écrire de données.","flowToPool":"{flow} se termine sur un pool, il est donc devenu un flux de message.","flowAcrossPools":"{flow} va de {from} à {to} dans un autre pool, il est donc devenu un flux de message.","messageInsidePool":"{flow} est un flux de message à l’intérieur d’un seul pool, ce que BPMN n’autorise pas, il est donc devenu une association.","flowAcrossSubProcess":"{flow} franchit la bordure d’un sous-processus, ce qu’un flux de séquence ne peut pas faire, il est donc devenu une association.","multipleEvent":"{node} est un événement {kind} ; BPMN a besoin de savoir lesquels le déclenchent, c’est donc un événement simple.","dataObjects":{"one":"{count} objet de données est devenu une référence d’objet de données, c’est ainsi que l’éditeur les dessine.","other":"{count} objets de données sont devenus des références d’objets de données, c’est ainsi que l’éditeur les dessine."},"otherPage":{"one":"La page « {page} » ({shapes} forme) n’a pas été importée, seule la première page qui a du contenu l’est.","other":"La page « {page} » ({shapes} formes) n’a pas été importée, seule la première page qui a du contenu l’est."},"otherVisioPage":{"one":"La page « {page} » ({shapes} forme) n’a pas été importée, seule la première page qui a des formes l’est.","other":"La page « {page} » ({shapes} formes) n’a pas été importée, seule la première page qui a des formes l’est."},"customData":{"one":"Les données personnalisées de {count} forme ne se sont pas reportées : {keys}.","other":"Les données personnalisées de {count} formes ne se sont pas reportées : {keys}."},"genericConnectors":{"one":"{count} connecteur non pris dans le pochoir BPMN a été lu comme des flux de séquence.","other":"{count} connecteurs non pris dans le pochoir BPMN ont été lus comme des flux de séquence."},"rotated":{"one":"{count} forme est pivotée ; la rotation ne s’est pas reportée.","other":"{count} formes sont pivotées ; la rotation ne s’est pas reportée."},"outsidePools":{"one":"{count} élément en dehors de tout pool est allé dans le pool le plus proche : {names}.","other":"{count} éléments en dehors de tout pool sont allés dans le pool le plus proche : {names}."},"unnamed":"{kind} sans nom"},"summary":"Importé depuis {format} : {counts}.","noteSection":"{title} ({count}) :","noteHeading":"{count} {title}","importedName":"importé","noteTitle":{"unmapped":"Non importé","assumed":"Deviné","lost":"Non reporté"},"count":{"element":{"one":"{count} élément","other":"{count} éléments"},"flow":{"one":"{count} flux","other":"{count} flux"},"pool":{"one":"{count} pool","other":"{count} pools"},"lane":{"one":"{count} couloir","other":"{count} couloirs"}},"cellOf":"cellule {number}","addedAs":"ajouté comme {cell}","theRule":"la règle","removed":"supprimé","unnamedConnector":"un connecteur sans nom","parallelMultiple":"multiple parallèle"},"rules":{"families":{"bpmnlint":{"title":"Règles de modélisation","about":"Les règles bpmnlint qui s’exécutent sur chaque diagramme BPMN, dans l’éditeur et dans \`penstock check\`. Celles qui s’exécutent, et avec quelle rigueur, se règle dans \`.bpmnlintrc\`."},"compat":{"title":"Compatibilité du moteur","about":"Ce que le moteur pour lequel le diagramme est écrit ne peut pas exécuter : un type de job manquant, un élément ou une expression que la version choisie ne supporte pas. Elles s’exécutent sur les diagrammes Camunda 7 et Camunda 8, dans l’éditeur et dans \`penstock check\`, contre la version du \`modeler:executionPlatformVersion\` du fichier, ou la plus récente en son absence. Operaton et CIB seven sont vérifiés comme Camunda 7. Un problème s’appelle \`compat/<rule>\` ici et dans \`penstock check\` ; une règle se désactive dans \`.bpmnlintrc\` sous \`camunda-compat/<rule>\` ou, pareil, \`compat/<rule>\`."},"drawing":{"title":"Dessin","about":"Ce qui ne va pas dans la façon dont un diagramme est dessiné, trouvé par la carte de vérification dans l’éditeur et par la première section de \`penstock check\`. Les erreurs cassent l’image ; les autres la rendent plus difficile à lire."},"flow":{"title":"Flux du processus","about":"Ce que peut faire le câblage d’un processus quand il s’exécute. Fait partie de Penstock Pro, et Team dans un pipeline."},"table":{"title":"Tables de décision","about":"Ce qu’une table de décision DMN fait des entrées qu’on peut lui donner. Fait partie de Penstock Pro, et Team dans un pipeline."},"form":{"title":"Formulaires","about":"Ce qu’un Camunda Form fait de ce que l’utilisateur saisit. Fait partie de Penstock Pro, et Team dans un pipeline."},"code":{"title":"Diagrammes et code","about":"Où un diagramme et le code qui l’exécute ne sont pas d’accord : une étape que rien n’implémente, un worker dont aucun diagramme ne se sert, une variable lue sous un autre nom que celui sous lequel elle est définie."},"convention":{"title":"Conventions de modélisation","about":"Les conventions que l’éditeur applique pendant la modélisation, pour qu’une équipe n’ait pas à s’en souvenir. Elles se règlent sous \`conventions\` dans \`penstock.yaml\`."},"engine":{"title":"Flowable et Activiti","about":"Ce qu'un moteur Flowable ou Activiti ignore ou ne peut pas exécuter : une extension d'un autre moteur, un attribut que le moteur ne connaît pas, un élément qu'il ne prend pas en charge. Ces règles s'appliquent aux diagrammes des profils Flowable et Activiti, dans l'éditeur et dans \`penstock check\`. Un constat s'appelle \`engine/<règle>\`."}},"bpmnlint/ad-hoc-sub-process":{"title":"Sous-processus ad hoc avec un événement de début ou de fin","why":"Un sous-processus ad hoc n’a ni début ni fin définis : ses activités s’exécutent quand quelqu’un le choisit, un événement marquant l’un ou l’autre n’a donc pas de sens.","fix":"Supprimez les événements de début et de fin à l’intérieur du sous-processus ad hoc."},"bpmnlint/conditional-event":{"title":"Événement conditionnel sans condition","why":"Un événement conditionnel sans condition ne peut jamais se déclencher.","fix":"Donnez à l’événement une expression de condition."},"bpmnlint/conditional-flows":{"title":"Flux conditionnel sans condition","why":"Un flux qui part d’une tâche ou d’un événement marqué comme conditionnel mais qui n’a pas de condition se déclenche toujours ou jamais ; le moteur ne peut pas savoir.","fix":"Donnez une condition au flux, ou faites-en un flux ordinaire."},"bpmnlint/end-event-required":{"title":"Processus ou sous-processus sans événement de fin","why":"Sans événement de fin, le lecteur ne voit pas où le processus se termine, et certains moteurs refusent de l’exécuter.","fix":"Ajoutez un événement de fin à la fin de chaque chemin."},"bpmnlint/event-based-gateway":{"title":"Passerelle événementielle mal utilisée","why":"Une passerelle événementielle attend le premier de plusieurs événements, elle a donc besoin d’au moins deux sorties dont aucune ne peut être conditionnelle.","fix":"Donnez à la passerelle deux flux sortants ou plus vers des événements, et supprimez leurs conditions."},"bpmnlint/event-sub-process-typed-start-event":{"title":"Début de sous-processus événementiel sans événement","why":"Un sous-processus événementiel démarre quand son événement arrive, un événement de début vide ne dit donc rien de ce moment.","fix":"Donnez un type à l’événement de début : message, minuterie, erreur, signal ou autre."},"bpmnlint/fake-join":{"title":"Plusieurs flux entrent dans une tâche qui ne les joint pas","why":"Seule une passerelle joint des flux ; plusieurs flux vers une tâche démarrent la tâche une fois par jeton, ce que le dessin laisse rarement croire.","fix":"Joignez les flux avec une passerelle du même genre avant la tâche."},"bpmnlint/global":{"title":"Élément global sans nom, inutilisé ou non unique","why":"Un message, un signal ou une erreur sans nom, jamais utilisés ou nommés deux fois ne peuvent pas être distingués d’un autre.","fix":"Nommez l’élément, utilisez-le, ou supprimez-le."},"bpmnlint/label-required":{"title":"Élément sans libellé","why":"Une tâche, un événement ou une passerelle sans libellé ne dit rien au lecteur de ce qui s’y passe.","fix":"Donnez un nom à l’élément."},"bpmnlint/link-event":{"title":"Événement de lien sans nom ou sans son correspondant","why":"Un événement d’émission de lien saute vers l’événement de capture de lien du même nom dans la même portée, il faut donc ce nom pour les deux.","fix":"Nommez les événements de lien et faites correspondre chaque émission à une capture."},"bpmnlint/no-bpmndi":{"title":"Élément sans place sur le diagramme","why":"Un élément qui est dans le processus mais pas sur le canevas ne peut être ni vu, ni sélectionné, ni corrigé dans l’éditeur.","fix":"Ajoutez l’élément au diagramme, ou supprimez-le du fichier."},"bpmnlint/no-complex-gateway":{"title":"Passerelle complexe","why":"Une passerelle complexe porte une logique écrite nulle part où un lecteur pourrait la voir, et peu de moteurs la supportent.","fix":"Remplacez-la par des passerelles exclusives, inclusives ou parallèles."},"bpmnlint/no-disconnected":{"title":"Élément sans flux entrant ni sortant","why":"Un élément vers lequel ou depuis lequel rien ne mène est soit oublié, soit mort.","fix":"Reliez l’élément au flux, ou supprimez-le."},"bpmnlint/no-duplicate-sequence-flows":{"title":"Deux flux identiques entre les mêmes éléments","why":"Deux flux de la même source vers la même cible font deux fois la même chose, ou ne disent rien que le premier ne disait pas.","fix":"Supprimez le flux en double."},"bpmnlint/no-gateway-join-fork":{"title":"Passerelle qui joint et divise","why":"Une passerelle qui joint des flux puis les divise à nouveau dans une seule forme se lit comme l’une des deux, et l’autre est manquée.","fix":"Séparez-la en une passerelle qui joint et une qui divise."},"bpmnlint/no-implicit-end":{"title":"Chemin qui se termine sans événement de fin","why":"Un chemin qui s’arrête tout simplement laisse le lecteur deviner si c’était voulu.","fix":"Ajoutez un événement de fin après le dernier élément du chemin."},"bpmnlint/no-implicit-split":{"title":"Tâche qui divise le flux sans passerelle","why":"Plusieurs flux sortant d’une tâche les démarrent tous en même temps, ou aucun, selon des conditions que personne ne voit.","fix":"Ajoutez une passerelle après la tâche et divisez là."},"bpmnlint/no-implicit-start":{"title":"Chemin qui commence sans événement de début","why":"Un élément sans flux entrant démarre tout seul, ce qui se confond facilement avec une connexion oubliée.","fix":"Ajoutez un événement de début avant l’élément, ou reliez-le au chemin auquel il appartient."},"bpmnlint/no-inclusive-gateway":{"title":"Passerelle inclusive","why":"Une passerelle inclusive peut prendre un nombre quelconque de sorties, ce qui est difficile à lire et facile à rater.","fix":"Utilisez des passerelles exclusives ou parallèles, ou gardez-la et vérifiez les conditions avec soin."},"bpmnlint/no-overlapping-elements":{"title":"Élément qui en recouvre un autre ou qui quitte son parent","why":"Des éléments dessinés les uns sur les autres se cachent.","fix":"Éloignez les éléments, ou redéposez le diagramme."},"bpmnlint/single-blank-start-event":{"title":"Plusieurs événements de début vides","why":"Deux événements de début vides veulent dire deux façons de démarrer le même processus, sans moyen de les distinguer.","fix":"Gardez un seul événement de début vide ; donnez un type aux autres, ou séparez le processus."},"bpmnlint/single-event-definition":{"title":"Événement avec plusieurs définitions d’événement","why":"Un événement avec plusieurs définitions est un événement multiple, que peu de moteurs supportent et que peu de lecteurs attendent.","fix":"Gardez une seule définition d’événement, ou utilisez un événement pour chacune."},"bpmnlint/standard-size":{"title":"Élément qui n’est pas à sa taille standard","why":"Les éléments à la taille standard donnent au diagramme un aspect régulier.","fix":"Redimensionnez l’élément à la taille standard de son type."},"bpmnlint/start-event-required":{"title":"Processus ou sous-processus sans événement de début","why":"Sans événement de début, il n’y a aucun moyen de démarrer le processus.","fix":"Ajoutez un événement de début."},"bpmnlint/sub-process-blank-start-event":{"title":"Événement de début de sous-processus avec un type","why":"Un sous-processus démarre quand le flux y arrive, son événement de début n’a donc aucun événement à attendre.","fix":"Rendez l’événement de début vide."},"bpmnlint/superfluous-gateway":{"title":"Passerelle avec une entrée et une sortie","why":"Une passerelle avec un flux entrant et un flux sortant ne fait rien d’autre que gêner.","fix":"Supprimez la passerelle et reliez ses voisins."},"bpmnlint/superfluous-label":{"title":"Libellé sur un flux qui n’en a pas besoin","why":"Seuls les flux sortant d’une décision, les flux conditionnels et le flux par défaut disent quelque chose par un libellé ; sur tout autre, il répète l’image.","fix":"Supprimez le libellé."},"bpmnlint/superfluous-termination":{"title":"Événement de fin terminate qui ne termine rien","why":"Un événement de fin terminate en dehors d’un chemin parallèle se termine comme un événement de fin ordinaire, et suggère quelque chose de plus.","fix":"Utilisez un événement de fin ordinaire."},"compat/ad-hoc-sub-process":{"title":"Sous-processus ad hoc sans activité","why":"Un sous-processus ad hoc vide n’a rien à faire exécuter par le moteur, l’instance ne peut donc jamais le terminer.","fix":"Ajoutez au moins une activité au sous-processus ad hoc, ou supprimez-le."},"compat/agent-fromai-contract":{"title":"Clé fromAi() qui n’est pas un nom simple sous toolCall","why":"L’agent remplit un paramètre d’outil par fromAi(toolCall.name) ; une clé écrite autrement n’est pas trouvée, le paramètre reste donc vide.","fix":"Écrivez la clé sous la forme toolCall.name : un seul nom, avec des points, et sans guillemets, crochets ni calcul."},"compat/agent-tool-documentation":{"title":"Outil d’un agent IA sans documentation","why":"L’agent choisit ses outils d’après leur documentation, un outil sans documentation est donc difficile à choisir et facile à mal utiliser.","fix":"Décrivez ce que fait l’outil dans sa documentation."},"compat/agent-tool-output-key":{"title":"Outil d’un agent IA qui ne lui renvoie rien","why":"L’agent ne voit que ce qu’un outil met dans toolCallResult ; sans cela, ou avec une autre orthographe ou un second écrivain, la réponse est perdue.","fix":"Mappez le résultat sur toolCallResult, écrit exactement comme cela, une seule fois."},"compat/before-all-execution-listener":{"title":"Listener beforeAll hors d’un élément multi-instance","why":"Un listener d’exécution beforeAll s’exécute avant que les instances d’un élément multi-instance soient créées, il n’a donc rien à précéder sur tout autre élément.","fix":"Déplacez le listener sur un élément multi-instance, ou donnez-lui un autre type d’événement."},"compat/element-type":{"title":"Élément que la version du moteur ne peut pas exécuter","why":"Chaque version de Camunda supporte un ensemble fixe d’éléments, et un élément qu’elle ne connaît pas est ignoré ou refusé au déploiement du processus.","fix":"Remplacez l’élément par un que la version supporte, ou montez la version de plateforme du diagramme."},"compat/cancel-execution-listener":{"title":"Listener cancel sur un élément qui ne peut pas être annulé","why":"Un listener d’exécution cancel s’exécute quand un élément est terminé, ce que seuls certains éléments peuvent être ; sur les autres il ne se déclenche jamais.","fix":"Utilisez le listener sur un élément qui le supporte, ou donnez-lui un autre type d’événement."},"compat/called-element":{"title":"Activité d’appel sans processus à appeler","why":"Une activité d’appel qui ne nomme aucun id de processus, ou une expression d’un autre type, échoue quand l’instance y arrive.","fix":"Définissez l’id du processus appelé, statique ou en expression FEEL."},"compat/collapsed-subprocess":{"title":"Sous-processus replié","why":"Cette version de Camunda 8 ne peut pas exécuter un sous-processus dessiné replié sur son propre diagramme, faute de plan où le lire.","fix":"Dépliez le sous-processus, ou montez la version de plateforme du diagramme."},"compat/connector-properties":{"title":"Connecteur avec une propriété que cette version n’a pas","why":"Une propriété de connecteur que la version du moteur ne supporte pas encore est ignorée, le connecteur se comporte donc autrement que prévu.","fix":"Supprimez la propriété, ou montez la version de plateforme du diagramme."},"compat/duplicate-execution-listener-headers":{"title":"Deux en-têtes d’un listener avec la même clé","why":"Un listener qui lit un en-tête par sa clé obtient l’une des deux valeurs, et laquelle n’est pas défini.","fix":"Donnez à chaque en-tête du listener sa propre clé."},"compat/duplicate-execution-listeners":{"title":"Deux listeners d’exécution identiques","why":"Deux listeners avec le même type d’événement et le même type de job exécutent deux fois le même job.","fix":"Supprimez le listener en double."},"compat/duplicate-task-headers":{"title":"Deux en-têtes de tâche avec la même clé","why":"Un worker qui lit un en-tête par sa clé obtient l’une des deux valeurs, et laquelle n’est pas défini.","fix":"Donnez à chaque en-tête de tâche sa propre clé."},"compat/error-reference":{"title":"Événement d’erreur sans erreur ni code d’erreur","why":"Un événement d’erreur qui ne renvoie à aucune erreur, ou à une erreur sans code, n’intercepte ni ne lève rien que le moteur puisse faire correspondre.","fix":"Choisissez une erreur pour l’événement et donnez un code à l’erreur."},"compat/escalation-boundary-event-attached-to-ref":{"title":"Événement de limite d’escalade sur le mauvais élément","why":"Les escalades sont émises dans un sous-processus ou une activité d’appel, un événement de limite sur tout autre élément n’en intercepte donc jamais.","fix":"Rattachez l’événement de limite d’escalade à un sous-processus ou à une activité d’appel."},"compat/escalation-reference":{"title":"Événement d’escalade sans escalade ni code","why":"Un événement d’escalade qui ne renvoie à aucune escalade, ou à une escalade sans code, n’intercepte ni ne lève rien que le moteur puisse faire correspondre.","fix":"Choisissez une escalade pour l’événement et donnez-lui un code d’escalade."},"compat/event-based-gateway-target":{"title":"Tâche de réception après une passerelle événementielle","why":"Le moteur n’accepte pas une tâche de réception comme cible d’une passerelle événementielle, le processus est donc refusé au déploiement.","fix":"Utilisez un événement intermédiaire de capture de message à la place de la tâche de réception."},"compat/executable-process":{"title":"Aucun processus exécutable","why":"Camunda 8 ne déploie que les processus marqués exécutables, un fichier où aucun ne l’est n’a donc rien à exécuter.","fix":"Marquez le processus, ou l’un des pools, comme exécutable."},"compat/execution-listener":{"title":"Listener d’exécution sans type d’événement ni type de job","why":"Un listener a besoin de savoir quand il s’exécute et quel worker s’en occupe ; sans l’un des deux, le moteur le refuse.","fix":"Définissez le type d’événement et le type de job du listener."},"compat/feel-compatibility":{"title":"Fonction FEEL que la version du moteur n’a pas","why":"Une fonction intégrée plus récente que le moteur fait échouer l’expression à l’exécution avec un incident.","fix":"Utilisez une fonction que la version a, ou montez la version de plateforme du diagramme."},"compat/feel":{"title":"Expression FEEL qui n’est pas valide","why":"Une expression que le moteur ne peut pas analyser échoue dès que le processus y arrive, et arrête l’instance avec un incident.","fix":"Corrigez l’expression nommée dans le problème ; l’éditeur du champ montre où elle se trompe."},"compat/history-time-to-live":{"title":"Processus sans history time to live","why":"Sans durée de vie, le moteur garde l’historique de chaque instance terminée indéfiniment, sauf si elle est réglée pour tout le moteur, et la base grossit.","fix":"Définissez le history time to live du processus, par exemple P30D, ou définissez-le une fois pour le moteur."},"compat/implementation":{"title":"Tâche ou événement qui n’a rien à exécuter","why":"Une tâche de service, une tâche de règle métier, une tâche script, une tâche d’envoi ou un événement de message qui ne nomme ni type de job, ni décision, ni script, ni message ne fait rien quand on y arrive.","fix":"Définissez ce que l’élément exécute : un type de job, une décision appelée, un script ou un nom de message."},"compat/inclusive-gateway":{"title":"Passerelle inclusive avec plus d’une entrée","why":"Camunda 8 avant 8.6 n’accepte une passerelle inclusive que comme division, celle qui joint aussi est donc refusée.","fix":"Utilisez une passerelle pour diviser et une autre pour joindre, ou montez la version de plateforme du diagramme."},"compat/link-event":{"title":"Événements de lien qui ne se correspondent pas","why":"Un événement d’émission de lien saute vers l’événement de capture du même nom dans la même portée ; un nom utilisé deux fois, ou par aucun événement de capture, ne mène nulle part.","fix":"Donnez à chaque événement de capture de lien un nom unique et faites utiliser à chaque émission l’un d’eux."},"compat/loop-characteristics":{"title":"Multi-instance sans ce qu’il lui faut","why":"Un élément multi-instance sans collection d’entrée, ou avec une collection de sortie mais sans élément de sortie, n’a rien à parcourir ni à rassembler.","fix":"Définissez la collection d’entrée, et l’élément de sortie quand il y a une collection de sortie."},"compat/io-mapping":{"title":"Mapping d’entrée ou de sortie incomplet","why":"Un mapping a besoin de sa source et de sa cible ; le moteur refuse celui qui n’a pas l’un des deux.","fix":"Remplissez la source et la cible de chaque mapping d’entrée et de sortie."},"compat/message-reference":{"title":"Événement de message sans message ni son nom","why":"Un événement de message qui ne renvoie à aucun message, ou à un message sans nom, ne peut jamais être corrélé avec quoi que ce soit.","fix":"Choisissez un message pour l’événement et donnez un nom au message."},"compat/no-binding-type":{"title":"Type de liaison que cette version n’a pas","why":"Un processus, une décision ou un formulaire appelé lié à autre chose que la dernière version demande Camunda 8.6 ou plus récent ; sur une version plus ancienne la liaison est ignorée.","fix":"Liez à la dernière version, ou montez la version de plateforme du diagramme."},"compat/no-business-id":{"title":"Business id que cette version n’a pas","why":"Un business id sur une activité d’appel demande Camunda 8.10 ou plus récent ; sur une version plus ancienne il est ignoré.","fix":"Supprimez le business id, ou montez la version de plateforme du diagramme."},"compat/no-before-all-execution-listener":{"title":"Listener beforeAll que cette version n’a pas","why":"Le type d’événement beforeAll d’un listener d’exécution demande Camunda 8.10 ou plus récent.","fix":"Utilisez un autre type d’événement, ou montez la version de plateforme du diagramme."},"compat/no-candidate-users":{"title":"Utilisateurs candidats que cette version n’a pas","why":"Des utilisateurs candidats sur une tâche utilisateur demandent Camunda 8.2 ou plus récent ; sur une version plus ancienne ils sont ignorés.","fix":"Supprimez les utilisateurs candidats, ou montez la version de plateforme du diagramme."},"compat/no-cancel-execution-listener":{"title":"Listener cancel que cette version n’a pas","why":"Le type d’événement cancel d’un listener d’exécution demande Camunda 8.10 ou plus récent.","fix":"Utilisez un autre type d’événement, ou montez la version de plateforme du diagramme."},"compat/no-execution-listener-headers":{"title":"En-têtes de listener que cette version n’a pas","why":"Les en-têtes de tâche sur un listener d’exécution ne sont pas supportés par cette version de Camunda 8 et sont ignorés.","fix":"Supprimez les en-têtes, ou montez la version de plateforme du diagramme."},"compat/no-execution-listeners":{"title":"Listeners d’exécution que cette version n’a pas","why":"Les listeners d’exécution demandent Camunda 8.6 ou plus récent ; sur une version plus ancienne ils sont ignorés.","fix":"Supprimez les listeners, ou montez la version de plateforme du diagramme."},"compat/no-expression":{"title":"Expression que cette version ne supporte pas","why":"Une expression FEEL dans une propriété que la version du moteur ne lit que comme une valeur fixe est prise comme du texte, sans être évaluée.","fix":"Écrivez une valeur statique, ou montez la version de plateforme du diagramme."},"compat/no-interrupting-event-subprocess":{"title":"Sous-processus événementiel interruptif dans un sous-processus ad hoc","why":"Un sous-processus événementiel dans un sous-processus ad hoc ne peut pas l’interrompre, un événement de début interruptif y est donc refusé.","fix":"Rendez l’événement de début du sous-processus événementiel non interruptif."},"compat/no-job-priority-definition":{"title":"Priorité de job que cette version n’a pas","why":"Une priorité de job demande Camunda 8.10 ou plus récent ; sur une version plus ancienne elle est ignorée.","fix":"Supprimez la priorité de job, ou montez la version de plateforme du diagramme."},"compat/no-loop":{"title":"Boucle qui n’attend jamais","why":"Un cycle fait uniquement de tâches et de passerelles qui s’exécutent en même temps n’attend jamais rien, l’instance y tourne sans jamais s’arrêter.","fix":"Mettez un élément qui attend dans la boucle, comme une tâche utilisateur ou une minuterie, ou donnez-lui une condition de passerelle qui la fasse sortir."},"compat/no-multiple-none-start-events":{"title":"Plusieurs événements de début vides","why":"Camunda 8 n’accepte qu’un seul événement de début vide dans un processus, un deuxième fait donc échouer le déploiement.","fix":"Gardez un seul événement de début vide et donnez aux autres un type d’événement, ou séparez le processus."},"compat/no-priority-definition":{"title":"Priorité que cette version n’a pas","why":"Une priorité sur une tâche utilisateur demande Camunda 8.6 ou plus récent ; sur une version plus ancienne elle est ignorée.","fix":"Supprimez la priorité, ou montez la version de plateforme du diagramme."},"compat/no-propagate-all-parent-variables":{"title":"Propagation de toutes les variables parentes que cette version n’a pas","why":"Désactiver la propagation des variables parentes d’une activité d’appel demande Camunda 8.2 ou plus récent.","fix":"Laissez la propagation active, ou montez la version de plateforme du diagramme."},"compat/no-signal-event-sub-process":{"title":"Sous-processus événementiel de signal que cette version n’a pas","why":"Un événement de début de signal dans un sous-processus événementiel demande une version de Camunda 8 plus récente que celle que le diagramme déclare.","fix":"Utilisez un autre type d’événement de début, ou montez la version de plateforme du diagramme."},"compat/no-task-schedule":{"title":"Échéancier de tâche que cette version n’a pas","why":"Une date d’échéance ou de relance sur une tâche utilisateur demande Camunda 8.2 ou plus récent ; sur une version plus ancienne elle est ignorée.","fix":"Supprimez les dates, ou montez la version de plateforme du diagramme."},"compat/no-task-listeners":{"title":"Listeners de tâche que cette version n’a pas","why":"Les listeners de tâche sur une tâche utilisateur demandent Camunda 8.8 ou plus récent ; sur une version plus ancienne ils sont ignorés.","fix":"Supprimez les listeners de tâche, ou montez la version de plateforme du diagramme."},"compat/no-template":{"title":"Modèle d’élément que cette version n’a pas","why":"Les modèles d’élément demandent Camunda 8.0 ou plus récent ; sur une version plus ancienne les propriétés qu’ils définissent sont ignorées.","fix":"Supprimez le modèle, ou montez la version de plateforme du diagramme."},"compat/no-version-tag":{"title":"Étiquette de version que cette version n’a pas","why":"Une étiquette de version demande Camunda 8.6 ou plus récent ; sur une version plus ancienne elle est ignorée.","fix":"Supprimez l’étiquette de version, ou montez la version de plateforme du diagramme."},"compat/no-zeebe-properties":{"title":"Propriétés zeebe que cette version n’a pas","why":"Les propriétés zeebe: personnalisées demandent Camunda 8.1 ou plus récent ; sur une version plus ancienne elles sont abandonnées au déploiement du processus.","fix":"Supprimez les propriétés, ou montez la version de plateforme du diagramme."},"compat/no-zeebe-user-task":{"title":"Tâche utilisateur Camunda que cette version n’a pas","why":"Une tâche utilisateur implémentée par Camunda lui-même demande Camunda 8.5 ou plus récent.","fix":"Utilisez une tâche utilisateur de job worker, ou montez la version de plateforme du diagramme."},"compat/priority-definition":{"title":"Priorité de tâche utilisateur qui n’est pas valide","why":"La priorité d’une tâche utilisateur doit être un nombre entier de 0 à 100, ou une expression ; tout le reste est refusé.","fix":"Écrivez la priorité comme un nombre de 0 à 100, ou comme une expression."},"compat/zeebe-user-task":{"title":"Tâche utilisateur de job worker","why":"Une tâche utilisateur exécutée par un job worker est la façon dépréciée ; la tâche utilisateur Camunda est celle qui est supportée à partir de cette version.","fix":"Passez la tâche utilisateur à l’implémentation de tâche utilisateur Camunda."},"compat/secrets":{"title":"Secret écrit dans une forme que le moteur ne lit plus","why":"Un secret référencé par {{secrets.NAME}} ou dans l’ancienne syntaxe de connecteur est déprécié et abandonné dans une version ultérieure.","fix":"Écrivez le secret comme une expression FEEL, camunda.secrets.NAME."},"compat/sequence-flow-condition":{"title":"Condition sur un flux qui ne peut pas en avoir","why":"Seuls les flux qui sortent d’une passerelle exclusive ou inclusive sont conditionnels ; sur tout autre flux la condition est refusée.","fix":"Supprimez la condition, ou dessinez une passerelle devant le flux."},"compat/signal-reference":{"title":"Événement de signal sans signal ni son nom","why":"Un événement de signal qui ne renvoie à aucun signal, ou à un signal sans nom, ne peut jamais être émis ni intercepté.","fix":"Choisissez un signal pour l’événement et donnez un nom au signal."},"compat/start-event-form":{"title":"Formulaire d’événement de début que cette version ne peut pas afficher","why":"Avant Camunda 8.3 un événement de début n’a pas de formulaire, et à partir de 8.3 le formulaire demande un form id ou un formulaire lié qui existe.","fix":"Définissez le form id ou la form key de l’événement de début, ou montez la version de plateforme du diagramme."},"compat/start-event-form-embedded":{"title":"Formulaire intégré sur un événement de début","why":"Les formulaires intégrés sur un événement de début sont dépréciés dans cette version et cessent de fonctionner dans une version ultérieure.","fix":"Déplacez le formulaire dans un fichier .form et liez-le depuis l’événement de début."},"compat/subscription":{"title":"Message sans clé de corrélation","why":"Un message qu’un processus attend a besoin d’une clé de corrélation, sinon le moteur ne sait pas à quelle instance il est destiné.","fix":"Définissez la clé de corrélation de l’abonnement au message, en général une expression FEEL."},"compat/task-listener":{"title":"Listener de tâche sans type d’événement ni type de job","why":"Un listener de tâche a besoin de savoir quand il s’exécute et quel worker s’en occupe ; sans l’un des deux, le moteur le refuse.","fix":"Définissez le type d’événement et le type de job du listener."},"compat/task-schedule":{"title":"Échéancier de tâche qui n’est pas une date","why":"La date d’échéance et la date de relance d’une tâche utilisateur doivent être une date ISO 8601, ou une expression qui en donne une.","fix":"Écrivez la date en ISO 8601, ou utilisez une expression."},"compat/timer":{"title":"Minuterie qui n’est pas valide","why":"Une minuterie avec une date, une durée ou un cycle que le moteur ne peut pas lire échoue au déploiement du processus ou quand on y arrive.","fix":"Écrivez la minuterie comme une date, une durée ou un cycle ISO 8601, ou comme une expression."},"compat/timer-past-date":{"title":"Minuteur de démarrage dans le passé","why":"Un événement de début à minuteur dont la date, ou le début du cycle, est déjà passée se déclenche juste après le déploiement, et le cycle se poursuit à partir du moment du déploiement.","fix":"Utilisez une date future ou une expression cron pour suivre un calendrier fixe."},"compat/unresolvable-secret-reference":{"title":"Secret utilisé d’une façon que le moteur ne peut pas résoudre","why":"Un secret ne peut être lu que comme expression ; écrit comme une chaîne simple, dans une liste ou dans une branche d’un if, il n’est jamais remplacé.","fix":"Utilisez =camunda.secrets.NAME directement comme valeur de la propriété."},"compat/user-task-definition":{"title":"Tâche utilisateur sans formulaire","why":"Une tâche utilisateur sans formulaire s’ouvre dans Tasklist sans rien à lire ni à remplir pour la personne.","fix":"Liez un formulaire à la tâche utilisateur, ou acceptez une tâche sans formulaire."},"compat/user-task-form":{"title":"Formulaire de tâche utilisateur non renseigné","why":"Un formulaire sur une tâche utilisateur demande le form id, ou le formulaire lié, dans la forme qu’attend la liaison choisie ; sans lui la tâche s’ouvre sans formulaire.","fix":"Définissez le form id, ou la form key, comme le dit sa liaison."},"compat/variable-name":{"title":"Nom de variable qui n’est pas valide","why":"Un nom qui commence par un chiffre ou qui contient un espace ou un tiret ne peut pas être utilisé dans une expression FEEL, il ne pourra donc jamais être relu.","fix":"Utilisez un nom de lettres, de chiffres et de tirets bas qui ne commence pas par un chiffre."},"compat/version-tag":{"title":"Étiquette de version vide","why":"Une étiquette de version définie sans valeur, ou une liaison à une étiquette de version sans valeur, ne donne rien à chercher au moteur.","fix":"Donnez une valeur à l’étiquette de version, ou choisissez une autre liaison."},"compat/wait-for-completion":{"title":"Compensation qui n’attend pas","why":"Un événement d’émission de compensation qui n’attend pas la fin n’est pas supporté par Camunda 8, qui attend toujours.","fix":"Activez l’attente de fin sur l’événement de compensation."},"drawing/dangling-connection":{"title":"Connexion sans ses deux extrémités","why":"Une connexion qui part ou arrive sur rien est dessinée mais ne relie rien : l’image et le processus ne sont pas d’accord.","fix":"Reliez les deux extrémités de la connexion à une forme, ou supprimez-la."},"drawing/lost-connection":{"title":"Connexion dans le fichier mais pas sur le canevas","why":"Le fichier décrit une connexion que l’éditeur n’a pas dessinée, elle est donc invisible et ne peut pas être sélectionnée.","fix":"Reliez de nouveau les deux éléments sur le canevas ; la connexion orpheline est abandonnée à l’enregistrement du fichier."},"drawing/containment":{"title":"Élément en dehors du conteneur auquel il appartient","why":"Un élément qui appartient à un pool, un couloir ou un sous-processus mais qui est dessiné au-delà de son bord se lit comme appartenant à autre chose.","fix":"Repositionnez l’élément à l’intérieur de son conteneur, ou agrandissez le conteneur."},"drawing/overlap":{"title":"Formes posées les unes sur les autres","why":"Des formes dessinées les unes sur les autres se cachent, et celle du dessous ne peut pas être sélectionnée.","fix":"Déplacez l’une des formes, ou redéposez le diagramme."},"drawing/edge-through-node":{"title":"Connexion qui traverse une forme","why":"Une connexion dessinée à travers une forme qu’elle ne touche pas a l’air de s’y connecter.","fix":"Déplacez un coude de la connexion, ou la forme, pour que la ligne passe à côté."},"drawing/edge-through-boundary":{"title":"Connexion qui traverse un événement de limite","why":"Une connexion dessinée à travers un événement de limite où elle ne commence ni ne finit a l’air de quitter la tâche par cet événement.","fix":"Déplacez l’événement de limite le long du bord de sa tâche, à l’écart de l’endroit où la connexion la rencontre."},"drawing/crossing":{"title":"Connexions qui se croisent","why":"Chaque croisement est un endroit où l’œil peut suivre la mauvaise ligne.","fix":"Déplacez une forme pour que moins de connexions se croisent, ou redéposez le diagramme."},"drawing/detached-edge":{"title":"Connexion qui n’atteint pas la forme à laquelle elle se relie","why":"Une connexion qui s’arrête avant sa forme a l’air inachevée et ne bouge pas avec elle.","fix":"Faites glisser l’extrémité libre de la connexion sur la forme."},"drawing/boundary-off-host":{"title":"Événement de limite détaché de son hôte","why":"Un événement de limite qui n’est pas sur le bord de la tâche à laquelle il est rattaché a l’air d’être un événement isolé.","fix":"Repositionnez l’événement de limite sur le bord de sa tâche."},"drawing/label-adrift":{"title":"Libellé loin de ce qu’il nomme","why":"Un libellé loin de son élément se lit comme le libellé de ce qui est plus près.","fix":"Faites glisser le libellé à côté de son élément."},"drawing/diagonal-edge":{"title":"Connexion qui n’est pas dessinée à angles droits","why":"Un diagramme BPMN se lit en lignes horizontales et verticales ; une ligne penchée ressort comme une erreur.","fix":"Redressez le segment, ou redéposez le diagramme."},"drawing/label-overlap":{"title":"Libellés qui se recouvrent","why":"Des libellés qui se recouvrent ne peuvent pas être lus.","fix":"Écartez l’un des libellés."},"drawing/merged-edge":{"title":"Connexions qui longent la même ligne","why":"Deux connexions dessinées l’une sur l’autre se lisent comme une seule, et le lecteur en perd une.","fix":"Déplacez l’une des connexions de quelques pixels sur le côté, ou redéposez le diagramme."},"drawing/note-adrift":{"title":"Annotation loin de ce qu’elle décrit","why":"Une annotation loin de son élément est difficile à lui rattacher.","fix":"Faites glisser l’annotation à côté de l’élément qu’elle décrit."},"drawing/semantic-drift":{"title":"Le diagramme veut dire autre chose","why":"Une disposition doit déplacer des choses et ne rien changer d’autre ; un élément dont le parent, la source ou la cible diffère est un autre processus.","fix":"Annulez la modification et signalez-la : aucune disposition ne devrait jamais faire cela."},"drawing/backtrack":{"title":"Connexion qui revient sur elle-même","why":"Une ligne qui dépasse puis revient sur elle-même se lit comme une seule ligne et cache son propre coude.","fix":"Supprimez le coude en trop de la connexion."},"drawing/edge-through-label":{"title":"Connexion qui traverse un libellé","why":"Une ligne à travers un libellé rend les deux plus difficiles à lire.","fix":"Écartez le libellé de la ligne."},"drawing/edge-along-shape":{"title":"Connexion qui longe le bord d’une forme","why":"Une ligne posée sur le bord d’une forme à laquelle elle n’appartient pas a l’air d’en faire partie.","fix":"Éloignez le tronçon de la connexion de quelques pixels de la forme."},"drawing/detour":{"title":"Connexion qui fait un grand détour","why":"Une connexion plus de deux fois plus longue que la distance qu’elle couvre fait chercher sa fin au lecteur.","fix":"Rapprochez les formes, ou donnez à la connexion un chemin plus court."},"drawing/jog":{"title":"Connexion qui s’écarte sans raison","why":"Un petit décrochement entre deux tronçons parallèles, sans rien sur le passage, a l’air d’un tremblement de main.","fix":"Supprimez les deux coudes du décrochement."},"flow/deadlock":{"title":"Le processus peut se bloquer","why":"Un jeton peut atteindre un endroit où rien ne peut le faire avancer, l’instance ne se termine donc jamais et reste dans le moteur indéfiniment.","fix":"Suivez le chemin montré dans le problème et donnez à la jointure bloquée un moyen de continuer, par exemple en ne joignant que ce qui a été divisé."},"flow/no-synchronization":{"title":"Une partie du processus peut s’exécuter deux fois","why":"Deux chemins qui atteignent la même étape sans passerelle de jointure la démarrent une fois par chemin, l’étape s’exécute donc deux fois.","fix":"Joignez les chemins avec une passerelle du même genre avant l’étape."},"flow/dead-element":{"title":"Un élément ne peut jamais s’exécuter","why":"Aucun chemin depuis le début n’atteint l’élément, ce qu’il fait est donc du poids mort dans le diagramme.","fix":"Reliez-le à un chemin qui peut l’atteindre, ou supprimez-le."},"flow/never-finishes":{"title":"Le processus ne se termine peut-être jamais","why":"Une boucle sans issue garde son instance vivante jusqu’à ce que quelqu’un l’annule.","fix":"Donnez à la boucle une sortie : une condition qui la termine, ou un flux qui la quitte."},"flow/too-complex":{"title":"Seule une partie du processus a été analysée","why":"Le processus a trop d’états pour tous les vérifier, ce que dit la vérification n’est donc vrai que de la partie qu’elle a atteinte.","fix":"Découpez le processus en sous-processus ou en activités d’appel pour que chacun puisse être vérifié en entier."},"flow/no-way-out":{"title":"Une décision n’a pas de sortie pour certaines valeurs","why":"Quand aucune condition d’une passerelle n’est vraie et qu’il n’y a pas de flux par défaut, l’instance s’y arrête avec un incident.","fix":"Ajoutez un flux par défaut, ou une condition pour les valeurs nommées dans le problème."},"flow/overlap":{"title":"Deux sorties d’une décision peuvent être vraies en même temps","why":"Quand deux conditions d’une passerelle exclusive peuvent être vraies, le moteur prend celle qu’il vérifie en premier, et laquelle dépend de l’ordre dans le fichier.","fix":"Rendez les conditions exclusives, ou transformez l’une d’elles en flux par défaut."},"flow/no-default":{"title":"Une décision peut n’avoir aucune sortie","why":"Une passerelle avec des conditions et sans flux par défaut arrête l’instance avec un incident quand aucune n’est vraie.","fix":"Marquez un flux sortant comme flux par défaut."},"flow/lookalike":{"title":"Deux variables ressemblent à une seule","why":"Deux noms de variables qui diffèrent d’une lettre ou de sa casse sont presque toujours un même nom écrit deux fois, et l’un des deux ne contient jamais la valeur de l’autre.","fix":"Utilisez une seule orthographe partout, ou rendez les noms nettement différents."},"table/rule-overlap":{"title":"Deux règles correspondent à la même entrée","why":"Quand la politique de correspondance attend une seule correspondance, deux règles qui correspondent à la même entrée font échouer la décision ou la rendent dépendante de leur ordre.","fix":"Rétressissez l’une des deux règles pour qu’elles ne correspondent plus à la même entrée, ou changez la politique de correspondance."},"table/rule-gap":{"title":"Aucune règle ne correspond à certaines entrées","why":"Une entrée qu’aucune règle ne correspond donne à la décision aucun résultat, et le processus qui l’a demandée s’arrête.","fix":"Ajoutez une règle pour l’entrée nommée dans le problème, ou une règle fourre-tout à la fin."},"table/table-unread":{"title":"Une table de décision n’a pas pu être vérifiée","why":"Une table dont la vérification ne peut pas lire une expression en est écartée, ses problèmes ne sont donc pas trouvés.","fix":"Simplifiez l’expression dans la cellule nommée dans le problème, ou acceptez que cette table ne soit pas vérifiée."},"form/key-clash":{"title":"Deux champs écrivent la même variable","why":"Tasklist et l’éditeur de formulaires refusent d’ouvrir un formulaire où deux champs, ou un champ et un groupe, utilisent la même clé.","fix":"Donnez à chaque champ sa propre clé."},"form/no-key":{"title":"Un champ n’écrit aucune variable","why":"Un champ sans clé est affiché à l’utilisateur, mais ce qu’il saisit n’est pas transmis au processus.","fix":"Donnez au champ une clé, le nom de la variable de processus qu’il doit remplir."},"form/repeated-option":{"title":"Une liste d’options répète une valeur","why":"Deux choix avec la même valeur envoient la même chose, alors que l’utilisateur peut les distinguer.","fix":"Donnez à chaque option sa propre valeur."},"form/no-label":{"title":"Un champ n’a pas de libellé","why":"Un champ sans libellé laisse l’utilisateur deviner à quoi il sert.","fix":"Donnez un libellé au champ."},"code/missing-implementation":{"title":"Rien dans le code n’exécute une étape","why":"Une tâche de service, une tâche d’envoi ou un listener qui nomme un type de job, un topic, une classe ou un bean que rien n’implémente attend un worker qui n’existe pas.","fix":"Écrivez le worker, le délégué ou le bean, ou corrigez le nom dans le diagramme."},"code/never-thrown":{"title":"Rien dans le code ne lève l’erreur qu’une étape intercepte","why":"Un événement de limite d’erreur ou un événement d’erreur intercepte un code qu’aucun BpmnError ni commande d’erreur du projet ne lève, il ne se déclenche donc jamais.","fix":"Levez le code d’erreur depuis le worker, ou corrigez le code sur l’événement."},"code/variable-typo":{"title":"Une variable est lue, mais seule une variable voisine est définie","why":"La lecture d’un nom jamais écrit, alors qu’un nom à une lettre près l’est, est presque toujours une faute de frappe, et la lecture ne donne rien.","fix":"Utilisez l’orthographe qui est définie."},"code/worker-fetch":{"title":"Un worker lit une variable qu’il ne récupère pas","why":"Un worker Camunda 8 ne reçoit que les variables qu’il demande, un nom que son code lit mais que sa liste de récupération oublie vaut donc null à l’exécution, et un nom qu’une liste de récupération porte sous une autre orthographe aussi.","fix":"Ajoutez la variable aux fetchVariables du worker, ou utilisez le nom qu’il récupère."},"code/writer-unread":{"title":"Un worker définit une variable qu’aucune étape après ne lit","why":"Une variable que le worker écrit et que rien en aval ne lit est écrite pour rien ; souvent le nom n’est pas celui que l’étape suivante cherche.","fix":"Lisez-la dans une étape ultérieure, ou retirez-la du worker."},"code/lost-update":{"title":"Chaque instance parallèle écrit la même collection de résultats","why":"Une étape multi-instance parallèle qui définit une collection de sortie sans élément de sortie fait écrire la même collection par chaque instance, il ne reste donc que la dernière à se terminer.","fix":"Définissez un élément de sortie, ou rassemblez les résultats dans une instance après la jointure."},"code/late-read":{"title":"Un worker lit une variable qu’aucune étape avant ne définit","why":"Le worker ne reçoit que les variables que le processus a définies avant lui, un nom qu’il lit et que rien n’a défini avant vaut donc null à l’exécution.","fix":"Définissez la variable dans une étape antérieure, ou retirez-la du worker."},"code/near-name":{"title":"Un type de job, topic, bean, message ou code d’erreur est à une lettre près du code","why":"Un nom qui ne correspond pas à celui du code laisse l’étape sans rien qui l’exécute, et un nom qui ne diffère que par la casse est le même piège avec une erreur plus discrète.","fix":"Utilisez le nom que le code a, ou renommez le worker avec celui que le diagramme utilise."},"code/mapping-order":{"title":"Une ligne de mapping lit une valeur qu’une ligne antérieure devait définir","why":"Le moteur évalue la source de chaque ligne de mapping avant d’écrire une quelconque cible, une ligne ultérieure qui lit ce qu’une ligne antérieure définit obtient donc null - camunda#11789.","fix":"Déplacez la valeur dans la ligne antérieure, ou calculez les deux à partir de la même source."},"code/implicit-job-type":{"title":"Un job worker prend son type de job du nom de sa méthode","why":"Un @JobWorker sans type répond au nom de sa méthode, renommer la méthode change donc le contrat avec le diagramme sans que rien ne le dise.","fix":"Nommez le type dans l’annotation, pour que la méthode puisse être renommée librement."},"code/no-worker":{"title":"Aucun worker ne prend en charge un type de job","why":"Une tâche de service Camunda 8 crée un job qui attend un worker de son type ; sans worker, l’instance attend indéfiniment.","fix":"Écrivez un worker pour le type de job, ou corrigez le type de job dans le diagramme."},"code/no-topic-worker":{"title":"Aucun worker de tâche externe n’est abonné à un topic","why":"Une tâche externe Camunda 7 attend un client abonné à son topic ; sans client, l’instance attend indéfiniment.","fix":"Abonnez un worker au topic, ou corrigez le topic dans le diagramme."},"code/class-missing":{"title":"Une classe nommée dans le diagramme n’est pas dans le projet","why":"Une classe de délégué ou de listener que le moteur ne peut pas charger fait échouer l’instance à cette étape.","fix":"Ajoutez la classe, ou corrigez le nom de classe dans le diagramme."},"code/bean-missing":{"title":"Aucun bean Spring n’a le nom qu’utilise un diagramme","why":"Une expression de délégué qui nomme un bean inexistant fait échouer l’instance à cette étape.","fix":"Nommez le bean que le diagramme utilise, ou corrigez l’expression."},"code/unknown-process":{"title":"Une activité d’appel appelle un processus qu’aucun diagramme ne définit","why":"Un appel à un processus qui n’est pas déployé fait échouer l’instance à l’appel.","fix":"Ajoutez le processus appelé au projet, ou corrigez l’id de l’appel."},"code/unknown-decision":{"title":"Une tâche de règle métier appelle une décision qu’aucun fichier ne définit","why":"Un appel à une décision qui n’est pas déployée fait échouer l’instance à la tâche.","fix":"Ajoutez la décision au projet, ou corrigez son id dans la tâche."},"code/unknown-form":{"title":"Une tâche utilisateur affiche un formulaire qu’aucun fichier ne définit","why":"Une tâche utilisateur qui renvoie à un formulaire non déployé s’ouvre sans formulaire.","fix":"Ajoutez le fichier .form, ou corrigez le form id dans la tâche."},"code/unknown-embedded-form":{"title":"Une tâche utilisateur affiche un formulaire intégré que le diagramme ne contient pas","why":"Une tâche utilisateur qui renvoie à un formulaire intégré absent du diagramme s’ouvre sans formulaire.","fix":"Ajoutez le formulaire au diagramme, ou corrigez la référence."},"code/unused-worker":{"title":"Un worker pour un type de job qu’aucun diagramme n’utilise","why":"Un worker que rien n’appelle est du code à garder pour rien, et masque le fait qu’un diagramme a perdu son étape.","fix":"Supprimez le worker, ou ajoutez l’étape qui utilise son type de job."},"code/unused-subscription":{"title":"Un abonnement à un topic qu’aucun diagramme n’utilise","why":"Un abonnement que rien ne nourrit est du code à garder pour rien, et masque le fait qu’un diagramme a perdu son étape.","fix":"Supprimez l’abonnement, ou ajoutez l’étape qui utilise son topic."},"code/variable-field":{"title":"Une étape lit un champ que la variable n'a pas","why":"Un champ que le type d'une variable n'a pas vaut null à l'exécution, et un nom de champ mal orthographié en est la cause habituelle. Seule une variable dont le type est connu du code qui la définit est vérifiée ; un champ d'un type que le projet ne déclare pas n'est jamais signalé.","fix":"Utiliser un champ que le type possède, ou corriger le nom ; un champ ajouté plus tard par le code est nommé dans sa classe."},"code/variable-unknown":{"title":"Une étape lit une variable que personne ne définit","why":"Un nom qu'aucune étape du diagramme ni du code ne définit, et que le processus n'est pas déclaré démarrer avec sous variables.inputs, vaut null sauf si quelque chose d'extérieur démarre le processus avec lui.","fix":"Définir la variable dans une étape antérieure, la déclarer sous variables.inputs dans penstock.yaml, ou corriger le nom."},"convention/id-from-name":{"title":"Les id suivent les noms","why":"Des id qui se lisent comme des noms rendent les diffs, les journaux, les cas de test et le code des workers lisibles, et restent justes quand une étape est renommée.","fix":"Définissez \`conventions.ids.fromName: true\` dans \`penstock.yaml\` ; \`conventions.ids.pattern\` donne sa forme à l’id, \`{Type}_{Name}\` par défaut."},"convention/defaults":{"title":"Valeurs par défaut des nouveaux éléments","why":"Les attributs dont chaque tâche de service ou entrée de données d’un projet a besoin, définis une fois, ne sont jamais oubliés sur l’un d’eux.","fix":"Définissez-les sous \`conventions.defaults\` dans \`penstock.yaml\`, par type BPMN comme \`bpmn:ServiceTask\`."},"compat":{"badBoundaryHost":"L’élément « {subject} » est attaché à ce qui ne peut pas porter cet événement de limite","callsNoDecision":"L’élément « {subject} » n’appelle aucune décision et n’a pas de type de job","callsNoProcess":"L’élément « {subject} » n’appelle aucun processus","cannotUseExpression":"L’élément « {subject} » ne peut pas utiliser d’expression dans la propriété {property}","conditionNotAllowedHere":"L’élément « {subject} » a une condition, mais seuls les flux sortant d’une passerelle exclusive ou inclusive peuvent en avoir une","deprecatedSecret":"L’élément « {subject} » écrit un secret dans une forme dépréciée","duplicateLinkName":"Deux événements de capture de lien utilisent le même nom","element":"élément","elementNeedsVersion":"{elements} demandent Camunda {allowed} ou plus récent{targets}","expressionNeeds":"L’élément « {subject} » utilise une expression dans la propriété {property}, ce qui {needs}","fallback":"{subject} : {message}","formWithNoId":"L’élément « {subject} » a un formulaire sans form id","hasNoForm":"L’élément « {subject} » n’a pas de formulaire","hasNoJobType":"L’élément « {subject} » n’a pas de type de job","hasNoScript":"L’élément « {subject} » n’a ni script ni type de job","here":"ici","historyTimeToLiveMissing":"Le temps de vie de l’historique est absent","invalidAgentSetting":"L’élément « {subject} » a un réglage d’agent IA qui n’est pas valide","invalidFeelExpression":"L’élément « {subject} » a une expression FEEL qui n’est pas valide","isCollapsed":"L’élément « {subject} » est replié, et cette version de Camunda a besoin qu’il soit déplié","isJobWorkerUserTask":"L’élément « {subject} » est une tâche utilisateur de job worker, alors que la tâche utilisateur Camunda est le genre supporté","joinOr":"{list} ou {last}","loopThatNeverWaits":"L’élément « {subject} » fait partie d’une boucle qui n’attend jamais","messageWithoutCorrelationKey":"L’élément « {subject} » attend un message qui n’a pas de clé de corrélation","missingExtension":"L’élément « {subject} » n’a pas les réglages de l’extension {required}","missingInputCollection":"L’élément « {subject} » est multi-instance, mais sa collection d’entrée est absente","missingProperty":"L’élément « {subject} » n’a pas ces propriétés : {list}","moreThanOneBlankStart":"Il y a plus d’un événement de début vide, et Camunda n’en autorise qu’un par processus","moreThanOneElement":"Il y a plus d’un {kind} dans la même portée, et il n’en est permis qu’un","needs":"nécessite Camunda {allowed} ou plus récent{targets}","needsConditionOrDefault":"Le flux « {subject} » a besoin d’une condition, ou doit être le flux par défaut de sa passerelle","needsPropertyBefore":"L’élément « {subject} » a besoin de {list} sur les versions antérieures à Camunda {allowed}{targets}","noActivityInside":"L’élément « {subject} » n’a aucune activité à l’intérieur","notExecutable":"L’élément « {subject} » n’est pas marqué comme exécutable","receiveTaskAfterGateway":"Une tâche de réception ne peut pas suivre une passerelle événementielle dans Camunda 8 ; utilisez un événement de capture de message","targets":" - ce diagramme vise {version}","theKind":"{kind}","thisElement":"Cet élément","unreadableVariableName":"L’élément « {subject} » utilise un nom de variable que le moteur ne peut pas lire","unresolvableSecret":"L’élément « {subject} » renvoie à un secret d’une façon que le moteur ne peut pas résoudre","unsupportedFeelFunction":"L’élément « {subject} » utilise une fonction FEEL que Camunda {version} n’a pas","usesProperty":{"a":"L’élément « {subject} » utilise la propriété {property}, ce qui {needs}","an":"L’élément « {subject} » utilise la propriété {property}, ce qui {needs}"},"usesExtension":{"a":"L’élément « {subject} » utilise l’extension {extension}, ce qui {needs}","an":"L’élément « {subject} » utilise l’extension {extension}, ce qui {needs}"},"propertyValueNeeds":{"a":"L’élément « {subject} » a une valeur pour la propriété {property} qui {needs}","an":"L’élément « {subject} » a une valeur pour la propriété {property} qui {needs}"},"propertyValueNotAllowed":{"a":"L’élément « {subject} » a une valeur pour la propriété {property} qui n’est pas autorisée ici","an":"L’élément « {subject} » a une valeur pour la propriété {property} qui n’est pas autorisée ici"},"deprecatedProperty":{"a":"L’élément « {subject} » utilise la propriété {property}, qui est dépréciée","an":"L’élément « {subject} » utilise la propriété {property}, qui est dépréciée"},"cannotHaveProperty":{"a":"L’élément « {subject} » ne peut pas avoir la propriété {property}","an":"L’élément « {subject} » ne peut pas avoir la propriété {property}"},"cannotHaveExtension":{"a":"L’élément « {subject} » ne peut pas avoir l’extension {extension}","an":"L’élément « {subject} » ne peut pas avoir l’extension {extension}"},"refersToNoMessage":"L’élément « {subject} » ne renvoie à aucun message","refersToNoError":"L’élément « {subject} » ne renvoie à aucune erreur","refersToNoSignal":"L’élément « {subject} » ne renvoie à aucun signal","refersToNoEscalation":"L’élément « {subject} » ne renvoie à aucune escalade","word":{"adHoc":"ad-hoc","agentDefinition":"définition de l’agent","assignmentDefinition":"définition de l’affectation","bindingType":"type de liaison","body":"corps","businessId":"Business ID","calledDecision":"décision appelée","calledElement":"élément appelé","cancelRemainingInstances":"annuler les instances restantes","candidateUsers":"utilisateurs candidats","completionCondition":"condition de fin","conditionExpression":"expression de condition","consumeUnmatchedEvents":"consommer les événements non appariés","correlationKey":"clé de corrélation","decisionId":"ID de décision","deduplicationModeManualFlag":"indicateur de mode manuel de déduplication","dueDate":"date d’échéance","errorCode":"code d’erreur","errorRef":"référence d’erreur","escalationCode":"code d’escalade","escalationRef":"référence d’escalade","eventType":"type d’événement","executionListeners":"listeners d’exécution","expression":"expression","externalReference":"référence externe","followUpDate":"date de relance","formDefinition":"définition de formulaire","formId":"identifiant de formulaire","formKey":"form key","headers":"en-têtes","historyTimeToLive":"durée de vie de l'historique","incoming":"entrants","inputCollection":"collection d’entrée","inputElement":"élément d’entrée","ioMapping":"mapping d’entrée et de sortie","isExecutable":"exécutable","isInterrupting":"interrompante","jobPriorityDefinition":"définition de priorité de job","loopCharacteristics":"caractéristiques de boucle","messageRef":"référence de message","messageTtl":"durée de vie du message","modelerTemplate":"modèle Modeler","name":"nom","outputCollection":"collection de sortie","outputElement":"élément de sortie","priority":"priorité","priorityDefinition":"définition de priorité","processId":"ID de processus","propagateAllParentVariables":"propager toutes les variables du processus parent","properties":"propriétés","resultVariable":"variable de résultat","script":"script","signalRef":"référence de signal","source":"source","subscription":"abonnement","target":"cible","taskDefinition":"définition de tâche","taskHeaders":"en-têtes de tâche","taskListeners":"listeners de tâche","taskSchedule":"planification de tâche","timeCycle":"cycle de temps","timeDate":"date et heure","timeDuration":"durée","type":"type","userTask":"tâche utilisateur","userTaskForm":"formulaire de tâche utilisateur","value":"valeur","versionTag":"étiquette de version","waitForCompletion":"attendre la fin"}},"defects":{"boundaryOffHost":"{event} détaché de {host}","containment":"{id} {relation} « {box} »","crossing":"[{aType}|{bType}] {a} ({aFrom}->{aTo}) x {b} ({bFrom}->{bTo})","detour":"[{type}] {id} parcourt {run}px sur {apart}px","edgeAlongShape":"{connection} longe {shape}","edgeOverLabel":"{connection} sur le libellé de {owner}","edgeThroughBoundary":"{connection} passe par {event} sur {host}","edgeThroughNode":"{connection} passe par {shape}","insideForeign":"à l’intérieur d’un","labelFromLine":"libellé de {id} à {gap}px de sa propre ligne","labelFromShape":"libellé de {id} à {gap}px de sa forme","labelOverLabel":"libellé de {owner} sur le libellé de {other}","labelOverShape":"libellé de {owner} sur {shape}","mergedEdge":"[{aType}|{bType}|{axis}] {a} ({aFrom}->{aTo}) avec {b} ({bFrom}->{bTo}) sur {run}px","noteAdrift":"{id} ({from}->{to}) s’étend sur {span}px","outsideIts":"en dehors de","overlap":"{a} <-> {b}","semanticDrift":"{id} était {was}, maintenant {now}","straddles":"à cheval sur","typedWire":"[{type}] {id} ({from}->{to})","wire":"{id} ({from}->{to})"},"drawing":{"listSeparator":", ","noProblemsFound":"Aucun problème trouvé.","readability":"{number} de lisibilité","rulesCouldNotRun":"Les règles bpmnlint n’ont pas pu s’exécuter.","theConnection":"la connexion de {from} à {to}","theElement":"l’élément « {type} »","errors":{"one":"{count} erreur","other":"{count} erreurs"},"warnings":{"one":"{count} avertissement","other":"{count} avertissements"}},"flow":{"above":"au-dessus","anActivity":"une activité","and":" et ","arrive":"arrive","arrives":"arrive","atLeast":"au moins","atMost":"au plus","below":"en dessous","bothConditionsHold":"Quand {shared}, {first} et {second} de {gateway} sont vraies toutes les deux ; le moteur prend celle qu’il vérifie en premier.","comma":", ","exclusive":" (bornes exclues)","hasAnyValue":"{variable} a n’importe quelle valeur","isAnythingBut":"{variable} est autre chose que {values}","isBetween":"{variable} est entre {lo} et {hi}{exclusive}","isBound":"{variable} est {side} {bound}","isSomeOtherValue":"{variable} vaut une autre valeur","isValue":"{variable} vaut {bound}","leftThroughBoundary":" L’exécution a quitté {host} par son événement de limite{event} et n’est jamais revenue.","letterCaseOnly":"seulement la casse","lookalikeNames":"« {first} » et « {second} » sont utilisés dans ce processus et diffèrent de {difference} : l’un des deux est probablement une faute de frappe, et ne contiendrait jamais la valeur de l’autre.","neverRuns":"{node} ne s’exécute jamais : {cause}.","noDefaultFlow":"{gateway} n’a pas de flux par défaut. Si aucune de ses conditions n’est vraie, le processus s’y arrête avec un incident.","noPathReachesIt":"aucun chemin depuis un événement de début ne l’atteint","noPathToAnEnd":"Une fois que le processus atteint {nodes}, aucun chemin ne mène à une fin : il ne peut que tourner en rond.","noWayOut":"{gateway} n’a pas de flux à prendre quand {gaps}, et pas de flux par défaut : le processus s’y arrête avec un incident.","nodeBefore":"le {node} avant « {next} »","nothingLeadsToIt":"rien n’y mène","oneCharacter":"un caractère","orWhen":", ou quand ","sentDownAnotherBranch":" {turn} a envoyé cette exécution sur une autre branche.","theBranchThrough":"la branche qui passe par le {node}","theFlowTo":"le flux vers {target}","theNextStep":"l’étape suivante","theNode":"le {node}","tooManyStates":"Le processus a plus de {states} états atteignables ; les problèmes ne couvrent que la partie qui a été explorée.","twoBranchesAtOnce":"Deux branches qui s’exécutent en même temps atteignent toutes deux {node}, il s’exécute donc deux fois. Joignez-les d’abord avec une passerelle parallèle.","twoTokensAtOnce":"Deux jetons peuvent arriver en même temps à {node}, il s’exécute donc deux fois. Une division parallèle demande en général une jointure parallèle, pas une jointure exclusive.","waitsAndCannotContinue":"{who} attend et ne peut pas continuer.","waitsFor":"{who} attend {missing}, qui n’{arrives} jamais."},"form":{"keyClash":"{fields} {all} écrivent {variable}. Un formulaire de ce genre ne s’ouvre pas : Tasklist et l’éditeur de formulaires le refusent.","keyClashGroup":"{field} écrit {variable}, que {group} utilise aussi pour contenir ses champs. Un formulaire de ce genre ne s’ouvre pas : Tasklist et l’éditeur de formulaires le refusent.","noKey":"{field} n’a pas de clé, ce que l’utilisateur saisit n’est donc pas transmis au processus.","noLabel":"L’élément « {type} » qui écrit {variable} n’a pas de libellé, l’utilisateur voit donc un champ de saisie sans rien qui dise à quoi il sert.","repeatedOption":"{field} propose la valeur {values} plus d’une fois, deux choix que l’utilisateur peut distinguer envient donc la même chose.","unnamedField":"le champ « {type} »{key}{id}"},"lint":{"couldNotRun":"La règle n’a pas pu s’exécuter : {message}","decidesNothing":"L’élément « {what} » a une entrée et une sortie, il ne décide donc de rien","discouragedGateway":"L’élément « {what} » est un genre de passerelle déconseillé","endsWithoutEndEvent":"L’élément « {what} » termine le flux sans événement de fin","hasNoEndEvent":"L’élément « {what} » n’a pas d’événement de fin","hasNoName":"L’élément « {what} » n’a pas de nom","hasNoShape":"L’élément « {what} » n’a pas de forme sur le diagramme","hasNoStartEvent":"L’élément « {what} » n’a pas d’événement de début","itsContainer":"L’élément « {what} » se trouve en dehors de {parent}","itsLane":"son couloir","itsPool":"son pool","itsShape":"la forme à laquelle il appartient","itsSubProcess":"son sous-processus","joinedWithoutGateway":"Plusieurs flux rejoignent l’élément « {what} » sans passerelle","joinsAndSplits":"L’élément « {what} » joint et divise le flux à la fois, ce qui se lit comme deux passerelles","linkEvent":"« {what} » : {message}","lowercaseLink":"lien ","moreThanOneBlankStart":"L’élément « {what} » a plus d’un événement de début vide","needsConditionOrDefault":"Le flux « {what} » a besoin d’une condition ou doit être le flux par défaut","notConnected":"L’élément « {what} » n’est relié à rien","overlapsAnotherShape":"L’élément « {what} » recouvre une autre forme","splitsWithoutGateway":"L’élément « {what} » divise le flux sans passerelle","startsWithoutStartEvent":"L’élément « {what} » démarre le flux sans événement de début","theElement":"{type}","thisElement":"Cet élément","twoIdenticalFlows":"L’élément « {what} » a deux flux identiques","unneededTermination":"L’élément « {what} » termine le processus par une terminaison dont il n’a pas besoin","conditionalEventNoCondition":"L’événement conditionnel n’a pas de condition","eventBasedGatewayNeedsTwo":"Une passerelle événementielle a besoin d’au moins 2 flux sortants","flowOutOfEventBasedGatewayConditional":"Un flux sortant d’une passerelle événementielle ne peut pas être conditionnel","typedStartEventNoDefinition":"L’événement de début typé n’a pas de définition d’événement","eventHasSeveralDefinitions":"L’événement a plusieurs définitions d’événement","startEventMustBeBlank":"L’événement de début du sous-processus doit être vide","sequenceFlowSuperfluousLabel":"Le flux de séquence a une étiquette superflue","startEventInAdHoc":"Un événement de début n’est pas permis dans un sous-processus ad hoc","endEventInAdHoc":"Un événement de fin n’est pas permis dans un sous-processus ad hoc","nonStandardWidth":"L’élément a une largeur non standard ; la largeur attendue est de {width}","nonStandardHeight":"L’élément a une hauteur non standard ; la hauteur attendue est de {height}","nonStandardSize":"L’élément a une taille non standard ; {width}x{height} est attendu"},"table":{"aDecision":"une décision","and":" et ","differentResults":", et donnent des résultats différents","input":"entrée {number}","orWhen":" ; ou quand ","ruleGap":"Dans « {decision} », aucune règle ne correspond quand {cases}, la décision n’y renvoie donc rien.","ruleOverlap":"Dans « {decision} », les règles {first} et {second} correspondent toutes les deux quand {when}{different} ; avec la politique de correspondance {policy}, c’est une erreur à l’exécution.","someOtherValue":"une autre valeur","unread":"« {decision} » utilise dans ses règles des expressions qui dépassent les comparaisons, les intervalles et les listes, ses règles n’ont donc pas été comparées.","whenIs":"« {label} » vaut {value}"},"web":{"detailWithPath":"{detail} Chemin : {path}","flowAnalysisHint":"Interblocages, branches qui s’exécutent deux fois, étapes qui ne s’exécutent jamais. Fait partie de Penstock Pro.","migrateToCamunda8":"Migrer vers Camunda 8","nothingToConvert":"Rien à convertir : ceci n’est pas un diagramme Camunda 7.","path":"Chemin : {path}","readability":"Lisibilité ({number})","rulesCouldNotRun":"Les règles bpmnlint n’ont pas pu s’exécuter : {failure}. Les règles d’un plugin bpmnlint demandent lint.clientBundlePath dans penstock.yaml.","flowAnalysisFound":{"one":"L’analyse de flux a trouvé 1 problème dans la façon dont ce processus s’exécute","other":"L’analyse de flux a trouvé {count} problèmes dans la façon dont ce processus s’exécute"}},"workers":{"aWorkerIsWorking":"un worker travaille sur ses tâches","engineAnswered":"Le moteur a répondu {status}","noJobStatistics":"Le moteur ne rapporte pas de statistiques de jobs, ce qu’il fait depuis Camunda 8.9","noJobs":"aucun job sur les dernières 24 heures","noOpenTasks":"aucune tâche ouverte","nobodyTookThem":"{jobs} sur les dernières 24 heures et aucun worker n’en a pris","refusedTheQuestion":"Le moteur a refusé la question ({status}) : les identifiants du profil ne permettent peut-être pas de lire les jobs","tasksWait":"les tâches attendent et aucun worker n’en a verrouillé une","tookItsJobs":"{workers} a pris ses jobs sur les dernières 24 heures","workerCount":{"one":"{count} worker","other":"{count} workers"},"jobCount":{"one":"{count} job","other":"{count} jobs"}},"theKindOf":"l’élément « {kind} »","engine/foreign-extension":{"title":"Extension d'un autre moteur","why":"Flowable et Activiti ignorent les attributs et éléments des espaces de noms de Camunda, Zeebe, Operaton et de l'autre, si bien que ce qu'ils définissent est perdu sans avertissement à l'exécution.","fix":"Remplacez-la par l'extension du moteur pour lequel le diagramme est écrit, ou supprimez-la."},"engine/unknown-attribute":{"title":"Attribut que le moteur ne connaît pas","why":"Un attribut de l'espace de noms propre au moteur que celui-ci ne lit pas est généralement une faute de frappe et reste sans effet.","fix":"Corrigez le nom de l'attribut ou supprimez-le."},"engine/attribute-not-allowed":{"title":"Attribut sur le mauvais type d'élément","why":"Un attribut du moteur n'est lu que sur les éléments pour lesquels il est défini ; sur tout autre élément, il reste sans effet.","fix":"Déplacez l'attribut sur un élément qui l'accepte, ou supprimez-le."},"engine/unsupported-element":{"title":"Élément que le moteur ne prend pas en charge","why":"Un élément que Flowable ou Activiti ne peut pas exécuter fait échouer le déploiement ou ne s'exécute jamais.","fix":"Remplacez l'élément par un élément pris en charge par le moteur."},"engine/service-task-implementation":{"title":"Tâche de service sans rien à exécuter","why":"Une tâche de service sans classe, expression, expression de délégué ni type ne donne rien à appeler au moteur, le déploiement est donc refusé.","fix":"Définissez sur la tâche de service l'un de class, expression, delegateExpression ou type."},"engine/script-format":{"title":"Tâche de script sans format de script","why":"Le moteur ne devine pas le langage d'un script ; une tâche de script sans scriptFormat ne peut donc pas s'exécuter.","fix":"Définissez le format de script de la tâche, par exemple groovy ou javascript."},"engine/feel-expression":{"title":"Expression FEEL dans un diagramme Flowable ou Activiti","why":"Flowable et Activiti évaluent des expressions JUEL sous la forme \${...} ; une expression qui commence par = est du FEEL, qu'ils ne lisent pas.","fix":"Écrivez l'expression en JUEL, sous la forme \${...}."},"engineCheck":{"foreignExtension":"{subject} utilise {names} de {owner}, que {engine} ne lit pas : ce qui est défini est perdu à l'exécution","unknownAttribute":"{subject} a l'attribut {name}, que {engine} ne connaît pas","attributeNotAllowed":"{subject} a l'attribut {name}, que le moteur ne lit que sur d'autres types d'élément","unsupportedElement":"{subject} est un élément que {engine} ne prend pas en charge","noImplementation":"{subject} n'a rien à exécuter : ni classe, ni expression, ni expression de délégué, ni type","noScriptFormat":"{subject} n'a pas de format de script : le moteur ne peut pas savoir dans quel langage le script est écrit","feelExpression":"{subject} utilise une expression FEEL, que {engine} ne lit pas ; écrivez-la en JUEL sous la forme \${...}"}},"element":{"kind":{"adHocSubProcess":{"one":"sous-processus ad hoc","other":"sous-processus ad hoc"},"association":{"one":"association","other":"associations"},"boundaryEvent":{"one":"événement de limite","other":"événements de limite"},"businessRuleTask":{"one":"tâche de règle métier","other":"tâches de règle métier"},"callActivity":{"one":"activité d’appel","other":"activités d’appel"},"complexGateway":{"one":"passerelle complexe","other":"passerelles complexes"},"dataObject":{"one":"objet de données","other":"objets de données"},"dataObjectReference":{"one":"référence d’objet de données","other":"références d’objets de données"},"dataStore":{"one":"magasin de données","other":"magasins de données"},"dataStoreReference":{"one":"référence de magasin de données","other":"références de magasin de données"},"endEvent":{"one":"événement de fin","other":"événements de fin"},"eventBasedGateway":{"one":"passerelle événementielle","other":"passerelles événementielles"},"exclusiveGateway":{"one":"passerelle exclusive","other":"passerelles exclusives"},"group":{"one":"groupe","other":"groupes"},"inclusiveGateway":{"one":"passerelle inclusive","other":"passerelles inclusives"},"intermediateCatchEvent":{"one":"événement intermédiaire de capture","other":"événements intermédiaires de capture"},"intermediateThrowEvent":{"one":"événement intermédiaire d’émission","other":"événements intermédiaires d’émission"},"lane":{"one":"couloir","other":"couloirs"},"manualTask":{"one":"tâche manuelle","other":"tâches manuelles"},"messageFlow":{"one":"flux de message","other":"flux de message"},"parallelGateway":{"one":"passerelle parallèle","other":"passerelles parallèles"},"participant":{"one":"participant","other":"participants"},"process":{"one":"processus","other":"processus"},"receiveTask":{"one":"tâche de réception","other":"tâches de réception"},"scriptTask":{"one":"tâche script","other":"tâches script"},"sendTask":{"one":"tâche d’envoi","other":"tâches d’envoi"},"sequenceFlow":{"one":"flux de séquence","other":"flux de séquence"},"serviceTask":{"one":"tâche de service","other":"tâches de service"},"startEvent":{"one":"événement de début","other":"événements de début"},"subProcess":{"one":"sous-processus","other":"sous-processus"},"task":{"one":"tâche","other":"tâches"},"textAnnotation":{"one":"annotation de texte","other":"annotations de texte"},"transaction":{"one":"transaction","other":"transactions"},"userTask":{"one":"tâche utilisateur","other":"tâches utilisateur"}}},"targets":{"onForm":"formulaire {form}"},"preview":{"after":"Après","before":"Avant","fileAdded":"Fichier ajouté","fileDeleted":"Fichier supprimé"},"vscode":{"action":{"openAnEditor":"Penstock : ouvrez un éditeur Penstock pour utiliser {title}.","unavailableHere":"Penstock : {title} n’est pas disponible pour ce diagramme."},"codeLinks":{"diagramsUsing":"Les diagrammes qui utilisent {name}:{line}","forTitle":"Code de {title}","nothingUses":"Aucun code de ce projet n’utilise {title}","place":"{title} · ligne {line}","unreadable":"Les liens avec le code n’ont pas pu lire ce projet : {reason}","whereUsed":"Où il est utilisé","didYouMean":"Vouliez-vous dire « {name} » ?","caseSensitive":"Les noms sont sensibles à la casse, les diagrammes utilisent « {name} »","changeTo":"Remplacer par « {name} »","unknown":{"process":"Aucun diagramme du projet n’a de processus « {name} »","element":"Aucun diagramme du projet n’a d’élément « {name} »","message":"Aucun diagramme du projet n’a de message « {name} »","decision":"Aucune décision du projet n’est « {name} »","error":"Aucun événement d’erreur des diagrammes du projet n’intercepte « {name} »","variable":"Aucun diagramme du projet n’utilise de variable « {name} »"},"workerVariable":{"notFetched":"Le worker ne récupère pas « {name} », il vaut donc null à l’exécution","notRead":"Rien dans les diagrammes du projet ne lit « {name} »","notSet":"Rien dans les diagrammes du projet ne définit « {name} »{only}","onlySet":", seul « {name} » est défini","setBefore":"{message} avant cette étape"},"namedWorker":"Les diagrammes utilisent le nom de méthode « {name} » comme type de job, le renommer les casse donc","nameJobType":"Donner le nom « {name} » au type de job","unknownElement":{"noElement":"Aucun élément « {name} » dans {owner}","caseSensitive":"les diagrammes utilisent « {name} », et les noms sont sensibles à la casse"}},"config":{"created":"penstock.yaml créé. Le moteur que vous avez choisi est enregistré dans le projet.","updated":"penstock.yaml mis à jour. Le moteur que vous avez choisi a été ajouté au fichier ; rien d’autre n’y a été touché."},"diff":{"aBranch":"une branche","aBranchDetail":"comparer avec une autre branche","anotherFile":"un autre fichier","anotherFileDetail":"comparer avec un diagramme depuis n’importe où sur cette machine","committedDetail":"la version validée","compareWith":"Comparer {name} avec","compareWithBranch":"Comparer avec la branche","compareWithTitle":"Comparer avec","gone":"Cette comparaison n’est plus ouverte. Comparez le diagramme à nouveau.","openOneFirst":"Ouvrez un diagramme BPMN à comparer, ou choisissez-en un dans l’explorateur."},"document":{"changeRefused":"VS Code n’a pas accepté la modification de {name}","editorNotBuilt":"L’éditeur Penstock n’a pas été construit. Lancez npm run build dans le dossier vscode."},"docs":{"notWebAddress":"L’adresse {url} n’est pas une adresse web, elle n’a donc pas été ouverte"},"file":{"noWorkspace":"Il n’y a aucun dossier d’espace de travail dans lequel écrire"},"git":{"noSuchRef":"{ref} n’a pas {name} : {reason}","notInRepository":"{file} n’est pas dans un dépôt git, il n’y a donc pas de {ref} à comparer"},"hooks":{"noSuchRun":"Cette exécution de hook n’existe pas"},"licence":{"accountHeading":"Penstock {tier} : {detail}.","active":"Penstock {tier} est active sur cette machine. Le CLI s’en sert aussi.","activeAgain":"Penstock {tier} est de nouveau active sur cette machine. Le CLI s’en sert aussi.","activatedAgo":"depuis {when}","alreadyBought":"Je l’ai déjà acheté","askEmail":"E-mail avec lequel vous avez acheté Penstock :","askPaidEmail":"E-mail avec lequel vous avez payé :","buyPro":"Acheter Pro","buyTeam":"Acheter Team","buyTier":"Acheter {tier}","checkoutExpired":"Le paiement a expiré. Ouvrez-en un nouveau pour acheter Penstock.","checkoutFailed":"Le paiement n’est pas passé et rien n’a été débité.","checkoutOpened":"Le paiement de Penstock {tier} est ouvert dans votre navigateur ; il se termine tout seul une fois passé.","checkoutStopped":"Attente du paiement interrompue après une heure. Si vous avez payé, connectez-vous avec cette adresse.","clipboard":"La clé de licence est dans le presse-papiers. Gardez-la secrète ; dans un pipeline, définissez-la comme PENSTOCK_LICENSE.","codeSent":"Un code de connexion est en route vers {email}. Code de l’e-mail :","copyKeyForCi":"Copier la clé pour la CI","entryPlaceholder":"vous@example.com ou PENSTOCK-PRO-...","entryPrompt":"E-mail ou clé de licence. L’adresse qui a servi à acheter Penstock reçoit un code, et la licence se configure toute seule.","neither":"C’est ni une adresse e-mail ni une clé de licence Penstock.","noLicence":"Aucune licence Penstock n’a été achetée avec {email}.","noLicenceWithSignIn":"Aucune licence Penstock n’a été achetée avec {email}.Achetez-en une, ou connectez-vous avec l’adresse qui a servi à l’achat.","notNow":"Pas maintenant","offerText":"{title} fait partie de Penstock {tier}. Cela {gives}.{ended} La licence arrive sur cette machine toute seule une fois le paiement passé.","onlyTeam":"Seule une clé Penstock Team fonctionne dans un pipeline.","paid":"Payé, merci. Encore une étape et Penstock se configure tout seul.","releaseCleared":"Il n’y avait aucun poste sur cette machine à libérer ; le fichier de licence a été vidé.","releaseNone":"Il n’y a aucune licence sur cette machine à libérer, ou le service de licence est injoignable.","releaseThisMachine":"Libérer cette machine","released":"La licence a été libérée sur cette machine ; elle peut être utilisée sur une autre.","seatsFull":"Votre licence {tier} est utilisée sur {count} machines, soit son maximum. Choisissez-en une à libérer pour cette machine :","signIn":"Se connecter","statusFree":"Penstock Free","statusTier":"Penstock {tier}","statusTrial":"Période d’essai Penstock Pro : {days} j","suggestText":"{title} fait partie de Penstock {tier} : cela {gives}.","trialEnded":"Votre période d’essai de {count} jours est terminée.","trialEndedTooltip":"L'essai de Pro s'est terminé le {date}. Penstock Free continue. Cliquez pour voir les offres.","unreachable":"Le service de licence est injoignable : {reason}","widget":"Licence Penstock","feature":{"autoLayout":{"title":"Disposition automatique","gives":"transforme un diagramme embrouillé en un flux lisible de gauche à droite"},"codeLinks":{"title":"Diagrammes reliés au code","gives":"relie les diagrammes au code qui les exécute : le chemin d’une étape vers son worker et retour, les usages, Code Vision, les variables et les codes d’erreur des deux côtés, le renommage d’un côté avec l’autre, les tests lancés depuis le diagramme, et la couverture dessus"},"conventions":{"title":"Conventions de modélisation","gives":"nomme les id et remplit les attributs comme le dit penstock.yaml, pendant la modélisation"},"flowAnalysis":{"title":"Analyse de flux","gives":"trouve les interblocages, les branches qui s’exécutent deux fois et les étapes qui ne peuvent jamais s’exécuter, et montre le chemin qui y mène"},"migration":{"title":"Conversion de Camunda 7 vers Camunda 8","gives":"convertit un diagramme pour Camunda 8 avec un aperçu visuel avant que quoi que ce soit soit écrit, marque sur son élément ce qu’il n’a pas pu convertir, et écrit des job workers à partir du code de vos délégués"},"testRuns":{"title":"Exécutions de tests de processus","gives":"exécute un processus étape par étape contre un moteur local, avec des mocks, et montre ce que chaque étape a reçu et modifié"},"aiChat":{"title":"Chat IA","gives":"laisse un agent qui parle le Agent Client Protocol lire et vérifier vos diagrammes et proposer des modifications que vous relisez sur le canevas"},"variableChecks":{"title":"Vérifications des variables","gives":"vérifie les champs et les noms des variables qu'une étape lit, par rapport au code qui les définit"}},"educationWho":"Pro gratuit pour les étudiants, les enseignants et les mainteneurs de logiciels libres","educationLine":"{who} : demandez sur {url}","applyFreePro":"Demander Pro gratuit","educationApply":"{who} : demandez"},"testRuns":{"cancel":"Annuler","case":"cas de test {number}","confirmText":"Penstock va déployer une compilation de test sur {url}, démarrer des instances et répondre aux jobs qu’il simule. La compilation et ses instances sont retirées après chaque exécution. Marquez le profil avec deployment.forTests: true pour qu’il ne vous repose plus la question.","confirmTitle":"Exécuter les cas de test sur ce moteur ?","controller":"Scénarios Penstock","failed":"Le cas de test a échoué. Regardez la trace.","mocked":" (simulé)","noCases":"il n’y a pas de fichier de cas de test ; penstock test-cases --generate en écrit un à côté du diagramme","noneYet":"Aucun cas de test de Penstock n’a encore été exécuté dans cette fenêtre.","notConfirmed":"Non exécuté : le moteur n’a pas été confirmé pour les tests","output":"Exécutions de tests Penstock","pickTitle":"Ouvrir l’exécution sur le diagramme","run":"Exécuter","skipped":"Le cas de test a été ignoré.","started":"Cas de test Penstock, {when}","step":"{id}: {state}{mocked}","suite":"{diagram}: {name}","trace":"La trace de cette exécution est dans {trace}","traceNotKept":"Penstock n’a pas pu garder la trace d’une exécution : {reason}","unknownDiagram":"Penstock ne sait pas à quel diagramme cette exécution appartient","waiting":"en attente de {kind} à {id}"},"unavailable":{"clipboardPicture":"Mettre une image dans le presse-papiers","converting":"La conversion d’un diagramme Camunda 7","diagramTests":"L’exécution des tests liés à un diagramme","editorPalette":"La palette de l’IDE","linkedRename":"Le renommage de ce à quoi un diagramme est lié","notYet":"{what} n’est pas encore disponible dans VS Code.","projectPageToolWindow":"La fenêtre d’outil que la page du projet envoie"},"migration":{"convertQuestion":"Convertir {name} pour Camunda 8 dans {folder} ? Le fichier d’origine reste tel quel."},"deploy":{"deploymentSection":"la section deployment","tokenAnswered":"Le point de terminaison du jeton a répondu {status}","tokenAnsweredWith":"Le point de terminaison du jeton a répondu {status} ({code})","noPassword":"Aucun mot de passe pour {user} sur {where} : saisissez-le dans Connection","noClientSecret":"Aucun client secret sur {where} : saisissez-le dans Connection","noEngineAddress":"Aucune adresse de moteur pour {where} : renseignez deployment.url"},"host":{"malformed":"La requête est mal formée","noSuchOperation":"L’hôte n’a pas cette opération","notAvailable":"{operation} n’est pas disponible dans cet hôte","unreadable":"Impossible de lire {file} : {reason}","notValidJson":"ce n'est pas du JSON valide","notValidYaml":"ce n'est pas du YAML valide ({code}, ligne {line})"},"tree":{"empty":"Aucun diagramme dans ce projet","unreadable":"L’arborescence du projet n’a pas pu lire ce projet : {reason}","open":"Ouvrir","reload":"Recharger depuis le disque","openConfig":"Ouvrir penstock.yaml","moreActions":"Autres actions…","actionsFor":"Actions pour {name}","noFolder":"Ouvrez un dossier pour voir ses diagrammes, décisions et formulaires Penstock.","openFolder":"Ouvrir un dossier","cli":{"group":"Exécuter Penstock","runTitle":"Penstock : {command}","diffPrompt":"Commit, branche ou tag pour comparer avec :","untrusted":"Exécuter Penstock demande d’approuver d’abord ce projet","exportTitle":"Exporter des images","exportFolder":"Dossier","exportFormat":"Format","exportComment":"Le SVG ne demande rien. Le PNG demande puppeteer installé dans le projet.","command":{"check":"Vérifier","scenarios":"Scénarios","junit":"Tests JUnit","code":"Code","docs":"Documentation","format":"Formatage","change":"Diff depuis…","export":"Exporter…","doctor":"Diagnostic"}}},"mcp":{"nodeMissing":"Le serveur MCP de Penstock a besoin de Node.js avec npm dans le PATH. Installez Node.js, puis rechargez la fenêtre."},"trust":{"accept":"Faire confiance au projet"},"rename":{"kind":{"bean":"nom du bean","class":"classe Java","decision":"id de décision","error":"code d’erreur","form":"form id","jobType":"type de job","message":"nom du message","process":"id de processus","signal":"nom du signal","topic":"topic de tâche externe"},"offerMessage":"Le {kind} « {name} » est encore utilisé dans {summary}. Le renommer en « {newName} » là aussi ?","nothingElse":"Rien d’autre ne nomme « {name} »","notRenamable":"Cette valeur n’est pas un nom qu’un diagramme et son code partagent","action":"Renommer","edit":"Renommer {kind} « {name} » en « {newName} »","empty":"Le nouveau {kind} ne peut pas être vide","scenarioMessage":"Renommer aussi son fichier de scénario, {from}, en {to} ?","scenarioFailed":"{from} n’a pas pu être renommé en {to}, il porte donc encore l’ancien nom.","files":{"one":"{count} fichier","other":"{count} fichiers"},"summary":"{files}, {diagrams} dans les diagrammes et formulaires, {code} dans le code"},"whatsNew":{"title":"Penstock mis à jour vers {version}","action":"Nouveautés"},"about":{"title":"À propos","version":"Version","development":"développement","documentation":"Documentation","licenses":"Licences open source","trusted":"Projets approuvés","trustedNone":"Aucun projet n’est encore approuvé par Penstock.","trustedRemove":"Retirer","trustedFailed":"Penstock n’a pas pu retirer {path} de sa liste de projets approuvés : {reason}"},"chats":{"title":"Discussions","rename":"Renommer la discussion","delete":"Supprimer la discussion","renamePrompt":"Titre de la discussion","deleteConfirm":"Supprimer la discussion « {title} » ?","deleteDetail":"Ses messages sont retirés de ce projet.","deleteAction":"Supprimer","connecting":"démarrage de l'agent","empty":"Aucune discussion pour l'instant. Interrogez l'agent depuis la zone de saisie en bas d'un éditeur, ou commencez-en une ici.","untrusted":"Faites confiance à cet espace de travail pour qu'un agent puisse y travailler.","outside":"{path} est en dehors du projet.","openFirst":"Ouvrez un diagramme, une décision ou un formulaire pour poursuivre cette discussion."}},"script":{"cannotBeRenamed":"Un onglet de script Penstock ne peut pas être renommé","context":{"summary":"Contexte : {names}","title":"Variables à cette étape","showAll":"Tout afficher"},"writers":{"none":"Aucun endroit du processus ne la définit","set":"Définie par {places}"},"typeLabel":"Type : {type}","completion":{"variable":"Variable du processus","builtin":"Fonction intégrée FEEL"},"noSuchScript":"Il n'y a pas de script à cet endroit du diagramme.","conflict":{"message":"Le diagramme a modifié {name} pendant que vous le modifiiez","keepTab":"Garder mon texte","useDiagram":"Utiliser le texte du diagramme"},"run":{"button":"Exécuter","title":"Valeurs pour l'expression","help":"Chaque variable prend une valeur JSON ou une expression FEEL. Une variable laissée vide n'est pas définie.","kindLabel":"Type","kind":{"json":"JSON","expression":"FEEL"},"unavailable":"Seule une expression FEEL s'exécute ici. Les scripts Groovy et JavaScript s'exécutent dans le moteur, dans le cadre du processus."}},"themeChoice":{"title":"Thème de l'éditeur","ide":"Suivre l'IDE","light":"Clair","dark":"Sombre","dracula":"Dracula"},"processDebug":{"problem":{"unreadable":"Le diagramme n’a pas pu être lu, aucune copie de débogage n’a donc été créée.","noProcess":"Le diagramme ne contient aucun processus exécutable à déboguer.","unknownProcess":"Le processus {process} n’est pas dans ce diagramme.","unreachable":"Le moteur est injoignable.","notDeployed":"Le moteur n’a pas signalé la copie de débogage {process} après son déploiement.","incident":"Le moteur a signalé un incident.","timedOut":"Le moteur n’a pas répondu en {seconds} secondes.","unreachableAfter":"Le moteur n’a pas répondu après {attempts} essais : {reason}"},"message":{"stopped":"Débogage arrêté.","finished":"L’instance de processus est terminée.","incident":"L’instance a un incident : {reason}","endedElsewhere":"L’instance s’est terminée en dehors du débogueur."},"cleanup":{"searchFailed":"Impossible de chercher les instances de débogage : {reason}","cancelFailed":"L’instance {instance} est toujours en cours : {reason}","deleteFailed":"La copie de débogage {deployment} est toujours déployée : {reason}"},"breakpointDot":"Point d’arrêt sur {element}. Cliquez pour le retirer.","confirm":{"title":"Déboguer sur ce moteur ?","text":"Penstock déploiera une copie du processus sous le nom {copy} sur {url}, en démarrera une instance et retirera la copie à l’arrêt. La copie exécute les vraies tâches de votre processus : les workers et délégués de ce moteur feront un vrai travail.","accept":"Déboguer"},"invalidValue":"La valeur de {name} doit être un JSON valide","variables":"Variables","variablesHint":"Modifiez une valeur pour la fixer avant que le processus continue. Les valeurs sont du JSON : le texte demande des guillemets.","noVariables":"Cette étape n’a pas encore de variables.","variableName":"Nom","variableValue":"Valeur de {name}","variableValueHint":"Valeur JSON","addVariable":"Ajouter une variable","breakpoints":"Points d’arrêt","noBreakpoints":"Aucun point d’arrêt. Sélectionnez une étape et basculez-en un pour vous y arrêter.","removeBreakpoint":"Retirer le point d’arrêt sur {element}","remove":"Retirer","toggleOnSelection":"Basculer le point d’arrêt sur la sélection","cleanupPending":"Suppression de la copie de débogage…","cleanupDone":"La copie de débogage {copy} a été retirée du moteur.","cleanupFailed":"La copie de débogage n’a pas pu être retirée","leftOnTheEngine":"Resté sur le moteur : {deployment}. Penstock réessaiera à la prochaine ouverture de cet onglet.","tryAgain":"Réessayer","checkingTheEngine":"Recherche d’un moteur pour déboguer.","noEngine":"Aucun moteur pour déboguer.","noEngineHint":"Connectez un moteur sur cette machine, ou un moteur marqué deployment.forTests, pour déboguer une copie de ce processus.","state":{"idle":"Arrêté","deploying":"Déploiement de la copie","running":"En cours","paused":"En pause","finished":"Terminé","failed":"Échec","stopped":"Arrêté"},"starting":"Démarrage…","start":"Démarrer le débogage","startAndStep":"Démarrer pas à pas","continue":"Continuer","step":"Pas","stop":"Arrêter","copyNote":"Le débogage exécute une copie de ce processus. L’original n’est jamais modifié : la copie est déployée sous le nom {copy} et retirée à la fin de la session.","copyIdFallback":"<id du processus>__debug","emptyTitle":"Déboguez ce processus sur votre moteur","emptyHint":"Placez des points d’arrêt sur des étapes, puis démarrez. Le processus s’arrête avant chaque point d’arrêt ; vous pouvez lire et modifier ses variables, continuer ou passer à l’élément suivant.","pausedAtBreakpoint":"En pause sur un point d’arrêt","pausedAtStep":"En pause après un pas","deploying":"Déploiement de la copie et démarrage d’une instance.","waiting":"En attente d’un élément extérieur au débogueur : un worker, un minuteur, un message ou une tâche utilisateur.","runningNote":"En cours. Étapes franchies jusqu’ici : {count}.","process":"Processus","startVariables":"Variables de départ (JSON)","startVariablesHint":"Un objet, par exemple {\\"amount\\": 5}. Laissez {} pour démarrer sans variable."},"web":{"pageTitle":"Penstock","unknownFailure":"Échec inconnu","serverTimeout":"Le serveur n'a pas répondu à temps.","fileNotFound":"Le fichier est introuvable.","noDocumentOpen":"Aucun fichier n'est ouvert.","deletedOnDisk":"{name} a été supprimé sur le disque. Vos modifications sont conservées ici.","changedOnDisk":"{name} a changé sur le disque alors qu'il contient des modifications non enregistrées.","reloadedFromDisk":"{name} a été rechargé depuis le disque.","reloadFailed":"Impossible de recharger {name} : {reason}","saveFailed":"Impossible d'enregistrer {name} : {reason}","tree":{"project":"Projet","newFile":"Nouveau fichier","empty":"Aucun diagramme, aucune décision ni aucun formulaire dans ce projet.","emptyHint":"Créez un fichier pour commencer, ou lancez Penstock dans le dossier du projet.","unsaved":"Modifications non enregistrées","more":"Actions du projet","refresh":"Actualiser","copyFailed":"Impossible de copier dans le presse-papiers."},"tabs":{"label":"Fichiers ouverts","close":"Fermer {name}","unsaved":"{name} contient des modifications non enregistrées","all":"Tous les fichiers ouverts","menu":"Actions pour {name}"},"pane":{"opening":"Ouverture de {name}...","failed":"Impossible d'ouvrir {name}.","loadingEditor":"Chargement de l'éditeur...","editorFailed":"Impossible de charger l'éditeur.","editorFailedHint":"Vérifiez la connexion au serveur et réessayez."},"banner":{"deleted":"{name} a été supprimé sur le disque. Enregistrez pour le réécrire.","changed":"{name} a changé sur le disque. Vos modifications non enregistrées sont toujours ici.","saveFailed":"Impossible d'enregistrer : {reason}","reload":"Recharger depuis le disque","keep":"Garder ma version","closeTab":"Fermer l'onglet","compare":"Comparer"},"connection":{"lost":"La connexion au serveur est perdue. Vos modifications non enregistrées restent dans cette page ; enregistrez à nouveau quand la connexion revient."},"empty":{"title":"Aucun fichier n'est ouvert.","hint":"Choisissez un diagramme, une décision ou un formulaire dans l'arborescence du projet, ou créez-en un."},"newFile":{"title":"Nouveau fichier","type":"Type","kind":{"bpmn":"Diagramme BPMN","dmn":"Décision DMN","form":"Formulaire"},"content":"Contenu","empty":"Vide","example":"Exemple","name":"Nom","nameHint":"L'extension {extension} est ajoutée si elle manque.","folder":"Dossier","folderHint":"Relatif au dossier du projet. Laissez vide pour le dossier du projet.","create":"Créer","nameEmpty":"Saisissez un nom pour le fichier.","nameCharacters":"Le nom ne devrait contenir ni / \\\\ : * ? \\" < > ni |.","folderOutside":"Le dossier devrait rester à l'intérieur du projet.","exists":"Un fichier portant ce nom existe déjà dans ce dossier.","failed":"Impossible de créer le fichier : {reason}"},"unsaved":{"title":"Fermer {name} ?","text":"{name} contient des modifications non enregistrées.","discard":"Abandonner les modifications"},"text":{"label":"Contenu de {name}"},"command":{"actions":"Rechercher une action","closeAll":"Fermer tous les onglets","closeSplit":"Fermer la vue partagée","closeTab":"Fermer l'onglet","jumpToTab":"Aller à l'onglet","newFile":"Nouveau fichier","nextTab":"Onglet suivant","previousTab":"Onglet précédent","quickOpen":"Ouvrir un fichier","reconnect":"Se reconnecter au serveur","save":"Enregistrer","saveAll":"Tout enregistrer","settings":"Réglages","shortcuts":"Raccourcis clavier","splitView":"Partager la vue","resetLayout":"Réinitialiser la disposition des panneaux","toggleSidebar":"Afficher ou masquer la barre latérale","askAgent":"Interroger l'agent","agents":"Agents IA"},"conflict":{"diff":"Différences entre votre version et le fichier sur le disque","help":"Si vous gardez votre version, elle remplacera le fichier au prochain enregistrement.","keepMine":"Garder ma version","legendMine":"Votre version","legendTheirs":"Sur le disque","same":"Votre version et le fichier sur le disque ont les mêmes lignes.","summary":"Lignes uniquement dans votre version : {mine}. Lignes uniquement sur le disque : {theirs}.","takeTheirs":"Charger depuis le disque","title":"{name} a changé sur le disque","tooDifferent":"Les deux versions sont trop différentes pour être comparées ligne par ligne."},"drafts":{"discard":"Abandonner","found":{"one":"Modifications non enregistrées de votre dernière session trouvées dans {count} fichier.","other":"Modifications non enregistrées de votre dernière session trouvées dans {count} fichiers."},"label":"Modifications non enregistrées de la dernière session","restore":"Restaurer les modifications non enregistrées"},"expired":{"hint":"Vos modifications non enregistrées sont conservées dans ce navigateur et reviennent quand vous rouvrez le projet.","retry":"Réessayer","text":"Le lien avec lequel cette page a été ouverte ne fonctionne plus. Penstock a probablement été redémarré. Utilisez le lien affiché par penstock web dans le terminal.","title":"Cette page a perdu son lien avec Penstock"},"main":{"label":"Éditeur"},"menu":{"close":"Fermer","closeAll":"Tout fermer","closeOthers":"Fermer les autres","closeRight":"Fermer à droite","copied":"Copié.","copyFailed":"Impossible de copier dans le presse-papiers.","copyPath":"Copier le chemin","copyRelative":"Copier le chemin relatif","reveal":"Afficher dans l'arborescence du projet","splitRight":"Partager à droite","splitDown":"Diviser vers le bas"},"quick":{"commandsLabel":"Commandes","files":"Fichiers","hint":"Saisissez pour filtrer. Choisissez avec les flèches et ouvrez avec Entrée. Saisissez > pour les commandes.","label":"Ouvrir un fichier","noCommands":"Aucune commande ne correspond.","noFiles":"Ce projet ne contient pas encore de diagrammes, de décisions ni de formulaires.","noMatch":"Aucun fichier ne correspond à \\"{query}\\".","openFile":"{path}, ouvert","opened":"ouvert","placeholder":"Rechercher des fichiers par nom, ou saisir > pour les commandes","recent":"Ouverts récemment","results":"Fichiers","sidePlaceholder":"Choisir un fichier à ouvrir à côté de celui-ci"},"settings":{"appearance":"Apparence","autosave":"Enregistrer automatiquement les modifications","autosaveDelay":"Délai (secondes)","autosaveHelp":"Un fichier est écrit après ce nombre de secondes sans modification. Un fichier modifié sur le disque n'est jamais écrasé.","autosaveRange":"Le délai devrait être un nombre entier de secondes compris entre {min} et {max}.","saving":"Enregistrement","themeSystem":"Suivre le système","title":"Réglages","agents":"Agents IA","agentsHelp":"Activez ou désactivez le chat IA, choisissez comment les conversations s’ouvrent et configurez les agents.","agentsManage":"Gérer les agents IA…","suggestNextBlock":"Suggérer l'élément suivant","suggestNextBlockHelp":"Affiche à côté d'une impasse l'élément qui a le plus de chances de suivre. Tab l'ajoute, Échap le rejette.","suggestions":"Suggérer les noms, les sources et les expressions","suggestionsHelp":"Affiche, en texte discret après le curseur, le nom, la source ou l'expression la plus probable pour un champ du panneau des propriétés. Tab l'ajoute, Échap le rejette, Alt+Maj+E l'explique.","editor":"Éditeur"},"shortcuts":{"editorHint":"Appuyez sur ? dans un éditeur pour voir ses propres raccourcis.","group":{"files":"Fichiers","tabs":"Onglets","window":"Fenêtre"},"open":"Raccourcis clavier","title":"Raccourcis clavier"},"skip":"Aller à l'éditeur","split":{"closePane":"Fermer le volet de {name}","resize":"Redimensionner la vue partagée"},"state":{"conflict":"Modifié sur le disque","deleted":"Supprimé sur le disque","failed":"Impossible d'enregistrer","saved":"Toutes les modifications sont enregistrées","saving":"Enregistrement...","unsaved":"Modifications non enregistrées","unsavedAuto":"Modifications non enregistrées, enregistrement automatique après {seconds} s sans modification"},"status":{"connected":"Connecté","encoding":"Encodage et fins de ligne","engine":"Moteur","expired":"Lien expiré","label":"État","licence":"Licence","offline":"Hors ligne"},"title":{"document":"{name} - {project} - Penstock","project":"{project} - Penstock"},"welcome":{"title":"Ouvrir un projet","text":"Choisissez le dossier qui contient vos diagrammes, décisions et formulaires. Rien ne quitte cette machine.","open":"Ouvrir un projet...","recent":"Projets récents","noRecent":"Aucun projet ouvert pour l'instant.","recentFailed":"Impossible de charger les projets récents.","missing":"{folder} n'existe plus.","notFound":"Dossier introuvable","forget":"Retirer {name} de la liste","hint":"Vous pouvez aussi démarrer Penstock avec un dossier : penstock web <dossier>."},"folders":{"title":"Ouvrir un projet","open":"Ouvrir le projet","willOpen":"Ouvre {folder}","places":"Emplacements","home":"Dossier personnel","computer":"Ordinateur","recent":"Récents","path":"Dossier","location":"Emplacement","list":"Dossiers","showHidden":"Afficher les dossiers cachés","showHiddenCount":"Afficher les dossiers cachés ({count})","hereConfig":"Projet ici : ce dossier contient un penstock.yaml","hereDiagrams":"Projet ici : {count} diagrammes, décisions ou formulaires dans ce dossier","noFolders":"Aucun dossier ici.","truncated":"Affichage des {shown} premiers dossiers sur {total}. Saisissez un chemin pour aller plus loin.","link":"{name} est un lien vers un autre dossier","linkTag":"lien","projectTag":"projet"},"project":{"switcher":"Projets","recent":"Projets récents","openAnother":"Ouvrir un autre projet...","close":"Fermer le projet","gone":"Le dossier de {name} n'existe plus. Vos modifications non enregistrées restent dans cette page.","downloadZip":"Télécharger le projet en .zip","unsavedOpenTitle":"Ouvrir un autre projet ?","unsavedCloseTitle":"Fermer le projet ?","unsavedText":"{count} fichiers ouverts ont des modifications non enregistrées. Les onglets de ce projet sont fermés quand le projet change.","saveAll":"Tout enregistrer","saveAllFailed":"Impossible d'enregistrer tous les fichiers. Rien n'a été fermé.","awayTitle":"Le projet a changé dans un autre onglet","awayText":"Cette page affiche toujours le projet précédent. Rechargez-la pour continuer avec le projet ouvert maintenant."},"entry":{"newFolder":"Nouveau dossier","newFolderTitle":"Nouveau dossier","createFolder":"Créer le dossier","name":"Nom","inside":"Créé dans {folder}.","insideProject":"Créé dans le dossier du projet.","nameEmpty":"Saisissez un nom.","nameCharacters":"Le nom ne doit pas contenir / \\\\ : * ? \\" < > | ni de caractères de contrôle.","nameEnds":"Le nom ne doit pas commencer par un espace ni se terminer par un espace ou un point.","rename":"Renommer","renameLabel":"Nouveau nom","duplicate":"Dupliquer","moveAction":"Déplacer vers...","moveTitle":"Déplacer {name}","moveTo":"Déplacer vers","move":"Déplacer","moveFailed":"Impossible de déplacer {name} : {reason}","projectFolder":"(dossier du projet)","noFolders":"Il n'y a pas d'autre dossier où le déplacer.","delete":"Supprimer","deleteFile":"Supprimer le fichier","deleteFolder":"Supprimer le dossier","deleteFileTitle":"Supprimer {name} ?","deleteFolderTitle":"Supprimer le dossier {name} ?","deleteFileText":"{name} est supprimé du disque. Cette action est irréversible.","deleteFolderText":"Le dossier {name} et les {count} fichiers qu’il contient sont supprimés du disque. Cette action est irréversible.","deleteUnsaved":"{count} d'entre eux sont ouverts avec des modifications non enregistrées, et ces modifications sont perdues.","copyPath":"Copier le chemin","copyRelative":"Copier le chemin relatif","copied":"Chemin copié.","download":"Télécharger","downloadActive":"Télécharger le fichier ouvert","renameTitle":"Renommer {name}"},"upload":{"title":"Ajouter des fichiers au projet","text":"Choisissez où les fichiers sont enregistrés dans le projet. Ils y sont copiés ; les originaux restent où ils sont.","button":"Téléverser un fichier...","drop":"Déposez des fichiers BPMN, DMN ou de formulaire pour les ajouter au projet","extension":"Le nom doit se terminer par .bpmn, .dmn ou .form.","ignored":"Seuls les fichiers .bpmn, .dmn et .form peuvent être ajoutés. Les autres ont été ignorés.","addOne":"Ajouter le fichier","addMany":"Ajouter {count} fichiers","fileN":"Fichier {number}"},"titleBar":{"label":"Titre de la fenêtre"},"dock":{"resize":"Redimensionner les panneaux"},"code":{"noServer":"Coloration syntaxique uniquement. Installez {server} pour obtenir ici la complétion, l'info-bulle et l'accès à la définition.","uses":{"title":"Utilisé dans des diagrammes","open":"Ouvrir {name} dans {diagram}","item":"{type} dans {diagram}","more":"et {count} de plus","kind":{"JOB_TYPE":"Type de job","TOPIC":"Topic","CLASS":"Classe","BEAN":"Bean","MESSAGE":"Message"}},"names":{"code":"dans le code","diagram":"dans un diagramme","both":"dans le code et les diagrammes"}},"toolPanel":{"label":"Modèle du projet Penstock","toolbar":"Actions de Penstock","filter":"Filtrer le modèle","refresh":"Actualiser","open":"Ouvrir","menu":"Actions du nœud Penstock","loading":"Lecture du modèle du projet...","error":"Impossible de lire le modèle du projet.","empty":"Rien à afficher pour l'instant.","emptyHint":"Ouvrez un dossier contenant des fichiers BPMN, DMN ou de formulaire, ou partez d'un exemple.","noMatch":"Rien ne correspond au filtre.","locked":"Les liens vers le code font partie de Pro.","unlock":"Débloquer","truncated":"L'arbre affiche les {count} premiers nœuds. Réduisez-le avec le filtre.","refreshFailed":"Impossible d'actualiser le modèle : {reason}","stale":"Le modèle a changé pendant votre choix. Choisissez de nouveau l'action.","unsupported":"L'éditeur du navigateur ne sait pas encore faire cela.","copied":"Copié dans le presse-papiers."},"sidebar":{"label":"Barre latérale","actions":"Actions","check":"Vérifier","scenarios":"Scénarios","monitor":"Supervision","debug":"Déboguer","layout":"Mise en page auto","unavailable":"Indisponible pour le fichier ouvert.","resize":"Redimensionner la barre latérale","resizeChats":"Redimensionner la liste des discussions","toggle":"Afficher ou masquer la barre latérale","countScenarios":"{passed} scénarios sur {all} réussis","countProblems":{"one":"{count} problème","other":"{count} problèmes"},"countWaiting":{"one":"{count} en attente","other":"{count} en attente"}},"script":{"noDiagram":"Le diagramme de ce script n'est pas ouvert dans l'éditeur."}},"webHost":{"testsNeedTheIde":"Lancer les tests d’un worker demande l’IDE. Lancez-les avec votre outil de build.","source":{"readOnly":"Lecture seule","truncated":"Le fichier est volumineux : seule la première partie est affichée.","label":"Source de {name}"},"compare":{"failed":"Impossible de comparer les deux versions","failedHint":"L’une n’est pas un diagramme que Penstock sait lire.","against":"Comparé à {version}","summary":"{added} ajoutés, {removed} supprimés, {changed} modifiés, {moved} déplacés","identical":"Aucune différence","action":"Comparer au dernier commit","notTracked":"Ce fichier n’est pas encore dans un dépôt git : il n’y a rien à comparer.","head":"le dernier commit","tab":"{name} (modifications)"},"places":{"open":"Ouvrir","hint":"Plusieurs endroits correspondent. Choisissez celui à ouvrir.","none":"{name} n’apparaît dans aucun fichier source de ce projet."},"rename":{"title":"Renommer dans les fichiers liés","intro":"{from} s’appelle maintenant {to}. L’ancien nom est encore écrit dans :","apply":"Renommer","offer":"{from} est encore écrit ailleurs. {summary}","review":"Examiner","done":"{from} a été renommé en {to}. Endroits : {places}, fichiers : {files}.","failed":"Rien n’a été renommé : {reason}","where":{"diagram":"Diagramme","form":"Formulaire","code":"Code"}},"migration":{"title":"Convertir {name} pour Camunda {target}","convert":"Convertir","folder":"Dossier","folderHint":"Les fichiers convertis vont ici, dans le projet.","folderOutside":"Le dossier doit se trouver dans le projet","replace":"Fichiers existants","replaceHint":"Déjà présents : {files}","replaceBox":"Remplacer les fichiers déjà présents","changes":"Ce qui change","noChanges":"Rien ne change dans le fichier lui-même.","open":"Ce qui reste ouvert","nothingOpen":"Rien ne reste ouvert.","byHand":"À la main","summary":"Changements : {changes}, ouverts : {open}, à la main : {manual}"},"licence":{"title":"Licence Penstock","plan":"Offre : {tier}. {detail}","loading":"Lecture de la licence…","trial":"Essai Pro, {days} jours restants.","needed":"Cela demande Penstock Pro. Saisissez une clé ou achetez-en une.","key":"Clé de licence","keyHint":"La clé de votre achat. Elle reste sur cette machine, jamais dans la page.","keyEmpty":"Saisissez d’abord la clé de licence","email":"E-mail","emailHint":"Prérempli sur la page de paiement lors de l’achat.","activate":"Activer","buyPro":"Acheter Pro","buyTeam":"Acheter Team","release":"Libérer cette machine","activated":"Penstock {tier} est actif sur cette machine.","released":"La licence a été libérée de cette machine.","checkoutOpened":"La page de paiement est ouverte dans un nouvel onglet. La clé arrive par e-mail après le paiement.","tier":{"free":"Gratuit","pro":"Pro","team":"Team"}},"clipboard":{"copyTitle":"Copier à la main","copyText":"Le navigateur n’a pas laissé la page copier. Copiez vous-même le texte ci-dessous.","copy":"Copier","pasteTitle":"Coller à la main","pasteText":"Le navigateur n’a pas laissé la page lire le presse-papiers. Collez le texte ci-dessous."}},"desktop":{"name":"Penstock","about":{"description":"Éditeur BPMN, DMN et formulaires pour Camunda"},"menu":{"file":"Fichier","newFile":"Nouveau fichier","newWindow":"Nouvelle fenêtre","openProject":"Ouvrir un projet...","openRecent":"Ouvrir récent","noRecent":"Aucun projet récent","clearRecent":"Effacer les projets récents","closeProject":"Fermer le projet","save":"Enregistrer","closeTab":"Fermer l’onglet","undo":"Annuler","redo":"Rétablir","cut":"Couper","copy":"Copier","paste":"Coller","selectAll":"Sélectionner tous les éléments","closeWindow":"Fermer la fenêtre","revealMac":"Afficher dans le Finder","revealWindows":"Afficher dans l’Explorateur","revealLinux":"Afficher dans le gestionnaire de fichiers","edit":"Édition","view":"Affichage","toggleTree":"Afficher ou masquer l’arborescence du projet","toggleSidebar":"Afficher ou masquer la barre latérale","zoomIn":"Zoom avant","zoomOut":"Zoom arrière","zoomReset":"Taille réelle","window":"Fenêtre","help":"Aide","shortcuts":"Raccourcis clavier","website":"Site web de Penstock","about":"À propos de {name}"},"shell":{"starting":"Ouverture de {project}...","welcome":{"title":"Ouvrir un projet","hint":"Choisissez un dossier contenant des diagrammes BPMN, des décisions DMN et des formulaires.","open":"Ouvrir un projet...","recent":"Projets récents","noRecent":"Les projets que vous ouvrez apparaissent ici."},"failed":{"title":"Impossible de démarrer l’éditeur","hint":"Le moteur de l’éditeur n’a pas démarré pour {project}."},"stopped":{"title":"Le moteur de l’éditeur s’est arrêté","hint":"Vos modifications non enregistrées sont toujours dans la fenêtre. Redémarrez le moteur pour continuer."},"crashed":{"title":"La fenêtre de l’éditeur s’est arrêtée","hint":"Rechargez la fenêtre pour continuer."},"restart":"Redémarrer","reload":"Recharger","another":"Ouvrir un autre projet...","details":"Détails"},"dialog":{"openProject":{"title":"Ouvrir un projet","button":"Ouvrir"},"unsaved":{"title":"Fermer sans enregistrer ?","text":"Cette fenêtre contient des modifications non enregistrées. Elles seront perdues si vous la fermez.","discard":"Abandonner les modifications","cancel":"Annuler"},"quit":{"title":"Quitter sans enregistrer ?","text":"Certaines fenêtres contiennent des modifications non enregistrées. Elles seront perdues si vous quittez."}}},"agent":{"notFound":"La commande de l'agent est introuvable ou n'a pas pu être lancée.","unsafe":"L'agent n'a pas été lancé : un fichier de commandes Windows ne peut pas recevoir ces arguments en toute sécurité.","exited":"L'agent s'est arrêté de façon inattendue.","installFailed":"Le service de l'agent n'a pas pu être installé. Vérifiez votre connexion réseau ou le registre npm, puis réessayez.","npmMissing":"Penstock a besoin de Node.js avec npm pour démarrer le service de l'agent.","unpublished":"npm n'a pas de ligne de commande Penstock pour cette version, le service de l'agent n'a donc pas pu démarrer.","serviceExited":"Le service de l'agent s'est arrêté avant d'être prêt.","serviceNotStarted":"Le service de l'agent n'a pas pu démarrer.","exitCode":"code de sortie {code}","authRequired":"L'agent nécessite une authentification. Connectez-vous ou configurez vos identifiants.","failed":"L'agent a signalé une erreur : {detail}","timeout":"L'agent n'a pas répondu à temps.","write":"Écrire {path}","allow":"Autoriser","reject":"Refuser","writeRejected":"L'écriture de {path} n'a pas été autorisée.","newChat":"Nouvelle conversation","modeName":"Mode","stepOf":"étape {step} sur {total}","waitingForYou":"attend votre réponse","retiring":"L'agent se termine dans une fenêtre plus ancienne ; réessayez dans un instant.","updateNeeded":"Le serveur de l'agent est plus récent que cette fenêtre. Mettez à jour le plugin ou l'extension, puis réessayez.","hubLost":"Le serveur de l'agent s'est arrêté. Réessayez dans un instant.","serverGone":"L'agent s'est arrêté parce que son serveur a été fermé pendant le tour.","stopped":"Le tour a été arrêté.","unanswered":"Personne n'a répondu à la question, le tour a donc été arrêté.","quiet":"L'agent n'a rien dit pendant qu'aucune fenêtre n'était ouverte, donc le tour a été arrêté.","killed":"L'agent ne s'est pas arrêté à temps ; il a été relancé et ce tour a été arrêté.","newSession":"L'agent ne garde pas les messages précédents de cette conversation ; il continue dans une nouvelle session.","contextFile":"Le message concerne le fichier {file}.","contextElements":"Éléments sélectionnés : {elements}.","contextLinks":"Quand tu mentionnes un élément d'un diagramme Penstock, écris-le comme un lien markdown, [Nom](penstock:<fichier>#<id>), avec le chemin du fichier relatif au projet et l'id de l'élément, par exemple [Charge card](penstock:docs/order-process.bpmn#charge_card). Un fichier s'écrit [nom](penstock:<fichier>). Ne mets jamais l'id ni le chemin dans le texte visible. Avant de nommer une variable, un type de job ou un mapping, appelle l'outil element_context du serveur penstock pour l'élément : il liste les variables qui lui parviennent et les noms que le projet utilise déjà ; réutilises-en un plutôt que d'en inventer un.","reason":{"unknownAgent":"Il n'existe aucun agent nommé {agent}.","noSuchChat":"Cette conversation n'existe pas.","noSuchQueued":"Ce message n'est plus dans la file d'attente.","noSuchOption":"L'agent ne propose pas ce réglage.","badOptionValue":"L'agent ne propose pas ce choix pour ce réglage.","optionRefused":"L'agent n'a pas accepté le changement : {reason}","noSignIn":"L'agent ne propose aucune connexion à lancer d'ici.","signInRefused":"L'agent ne s'est pas connecté : {reason}","off":"Le chat IA est désactivé dans les réglages.","staleQuestion":"L'agent n'attend plus cette question.","badOption":"{option} ne fait pas partie des réponses proposées par l'agent.","badText":"Le message ne devrait pas être vide ni dépasser {limit} caractères.","badTitle":"Le titre ne devrait pas être vide ni dépasser {limit} caractères.","queueFull":"La file d'attente ne devrait pas contenir plus de {limit} messages.","notRunning":"L'agent n'est pas en cours d'exécution.","noSuchFile":"Ce fichier n'existe pas.","fileTooLarge":"Le fichier devrait faire moins de {limit} Mo.","isAFolder":"C'est un dossier, pas un fichier.","noClient":"Le client devrait avoir un nom."},"log":{"skipped":"Penstock a ignoré le fichier de conversation {file} : {reason}","notKept":"Penstock n'a pas pu conserver la conversation {id} : {reason}"}},"patch":{"eventNotAllowed":"{type} ne peut pas avoir de définition d’événement {event}","sameElement":"un flux de séquence ne peut pas commencer et finir à \\"{id}\\"","startEventTarget":"rien ne peut mener à l’événement de début \\"{id}\\"","boundaryTarget":"rien ne peut mener à l’événement limite \\"{id}\\"","differentScopes":"\\"{from}\\" et \\"{to}\\" ne sont pas dans le même processus ou sous-processus","eventBasedTarget":"une passerelle basée sur les événements ne mène qu’à un événement récepteur ou à une tâche de réception, pas à \\"{to}\\"","duplicateFlow":"il existe déjà un flux de séquence de \\"{from}\\" vers \\"{to}\\"","notAFlowNode":"\\"{id}\\" est un {type}, où un flux de séquence ne peut ni commencer ni finir","cannotRemoveContainer":"\\"{id}\\" est un {type} ; supprimez-le dans l’éditeur","isAFlow":"\\"{id}\\" est un flux de séquence ; déplacez les éléments qu’il relie","dependsOnFailed":"a besoin de l’opération {number}, qui ne peut pas être appliquée","noDrawing":"le diagramme n’a pas de dessin où placer des éléments"},"ghost":{"chip":{"add":"Ajouter","connect":"Relier","remove":"Supprimer","rename":"Renommer","move":"Déplacer","condition":"Condition","reference":"Référence","worker":"Worker","change":"Modifier"},"item":{"add":"Ajouter {type} « {name} »","connect":"Relier « {from} » à « {to} »","remove":"Supprimer {type} « {name} »","move":"Déplacer {type} « {name} »","rename":"Renommer {type} « {name} » en « {value} »","condition":"Définir la condition de {type} « {name} » sur {value}","setOne":"Définir {key} de {type} « {name} » sur {value}","setMany":"Modifier {keys} de {type} « {name} »"},"check":{"passed":"Contrôles réussis"},"status":{"ok":"Réussi","warning":"Avertissement","error":"Erreur","blocked":"Ne peut pas être appliqué"},"checking":"Vérification des modifications proposées…","proposed":"{count} modifications proposées à examiner","position":"{label} : {position} sur {count}","accepted":"Accepté : {label}. Il en reste {left} à examiner.","rejected":"Refusé : {label}. Il en reste {left} à examiner.","allRejected":"{count} modifications refusées.","allAccepted":"{count} modifications acceptées en une seule étape. Il en reste {left} à examiner.","cannotAccept":"Impossible d’accepter « {label} » : {reason}","alreadyRejected":"une modification dont il dépend a été refusée","nothingToAccept":"Il ne reste rien qui puisse être accepté.","noLongerApplies":"« {label} » ne s’applique plus au diagramme : {reason}","reviewed":"Examen terminé : {accepted} acceptées, {rejected} refusées.","commentSent":"Commentaire envoyé sur « {label} »","region":"Examen des modifications proposées","title":"Modifications proposées","summary":"{pending} sur {total} à examiner","attention":"{count} demandent votre attention","queued":"{count} autres propositions en attente","acceptAll":"Tout accepter","rejectAll":"Tout refuser","accept":"Accepter","reject":"Refuser","next":"Modification suivante (J)","previous":"Modification précédente (K)","showAll":"Afficher toutes les modifications","hideAll":"Masquer la liste","comment":"Commentaire pour l’agent","sendComment":"Envoyer le commentaire","close":"Fermer l’examen","decided":{"accepted":"Accepté","rejected":"Refusé"},"patchFindings":"Sans lien avec une seule modification","empty":"Aucune modification proposée.","emptyHint":"Quand un agent propose des modifications, elles apparaissent sur le canevas en fantômes pour que vous les acceptiez ou les refusiez.","checkpoint":{"heading":"Ce que l’annulation ne couvre pas","kept":"Un point de contrôle du diagramme est conservé avant chaque étape acceptée.","limit":{"comments":"Les commentaires envoyés à l’agent restent envoyés ; l’annulation ne les rappelle pas.","otherFiles":"Seul ce diagramme est couvert : pas les formulaires, tables de décision ni le code que l’agent a modifiés.","deployed":"Un déploiement fait après l’acceptation n’est pas retiré.","memory":"Le point de contrôle vit en mémoire et disparaît à la fermeture ou au rechargement de l’éditeur."}},"collapse":"Replier l’examen","expand":"Déplier l’examen","undone":"De nouveau à examiner : {label}","acceptChange":"Accepter la modification","rejectChange":"Refuser la modification","wholeHint":"L’agent écrit le fichier entier : la modification est donc acceptée ou refusée en bloc.","wholeAccepted":"Modification acceptée.","wholeRejected":"Modification refusée."},"suggestions":{"status":{"offered":"Suggestion : {value}. Tab l’ajoute, Échap le rejette, Alt+Maj+E l’explique.","added":"{value} ajouté.","dismissed":"Suggestion rejetée."},"explain":{"title":"Pourquoi cette suggestion","likelihood":"Probabilité {percent} %","keys":"Tab l’ajoute, Échap la rejette"},"unit":{"ratio":"ratio","percent":"pourcent","basisPoint":"point de base","second":"seconde","millisecond":"milliseconde","minute":"minute","hour":"heure","byte":"octet","kilobyte":"kilooctet","megabyte":"mégaoctet","gigabyte":"gigaoctet","dollar":"dollar","cent":"cent"},"origin":{"fact":"Un fait du code","pool":"Trouvé dans le projet","composed":"Composé à partir des noms du diagramme","transform":"Une expression, vérifiée sur les valeurs d’exemple"},"reason":{"other":"Un indice tiré du diagramme et du projet","kindConvert":"Convertit {from} en {to}, avec un facteur de {factor}.","kindWholeMinorUnits":"Arrondit le résultat à des {to} entiers.","kindIsoDuration":"Écrit la durée comme une longueur ISO-8601.","kindDurationText":"Écrit la durée sous forme de texte ISO-8601.","kindNumberFromText":"Lit le texte comme un nombre.","kindTextFromValue":"Écrit la valeur sous forme de texte.","kindDurationFromText":"Lit le texte comme une durée.","constantInDiagram":"Le diagramme utilise déjà {text}.","constantInProject":"Un autre diagramme du projet utilise {text}.","weightedOverlap":"partage des mots avec le nom","headEqual":"le même mot principal","tailEqual":"le même dernier mot","jaroWinkler":"écrit de façon proche","trigramCosine":"lettres en commun","lengthRatio":"longueur voisine","casingAgrees":"même casse","ownerStripped":"un préfixe d'élément retiré","typeKnown":"un type connu","originContract":"écrit par le code du worker","originScript":"écrit par le script","originDecision":"une sortie d'une décision appelée","originDownstream":"lu par un élément suivant","originScope":"visible ici","originTaskType":"écrit pour le même type de tâche ailleurs","labelAssociation":"ses mots vont avec ceux du libellé"}},"nextBlock":{"chip":"Suivant : {type} · Tab pour ajouter","status":{"suggested":"Suite suggérée : {type}. Tab pour l'ajouter, Échap pour la rejeter.","added":"{type} ajouté.","dismissed":"Suggestion écartée."}},"aiBlocks":{"selectElement":"Sélectionner {type} {name} sur le canevas","openScenario":"Ouvrir le scénario {name} dans l'onglet Scénarios","diffSummary":"{added} ajoutés, {removed} supprimés, {changed} modifiés"},"timeline":{"title":"Frise chronologique","region":"Frise chronologique d’une exécution","play":"Lire","previousStep":"Étape précédente","nextStep":"Étape suivante","toStart":"Au début","toEnd":"À la fin","speed":"Vitesse de lecture {speed}","channel":"Colorer les barres selon","channelStatus":"Statut","channelDuration":"Durée","channelCoverage":"Couverture","source":"Afficher l’exécution de","sourceInstance":"Instance","sourceScenario":"Exécution de scénario","refresh":"Actualiser","close":"Fermer la frise chronologique","zoomIn":"Zoom avant","zoomOut":"Zoom arrière","fit":"Ajuster à la largeur","resize":"Redimensionner la frise chronologique","playhead":"Tête de lecture","step":"Étape {step} sur {total}","stepAt":"Étape {step} sur {total} : {name}","beforeStart":"Avant la première étape","lane":"{name}, passages : {count}","bar":"{name}, passage {visit}, {state}, {duration}","merged":"{count} étapes courtes","folded":"{span} masquées","stateCompleted":"Terminé","stateActive":"Actif","stateFailed":"En échec","stateTerminated":"Interrompu","emptyTitle":"Aucune exécution à afficher.","emptyHint":"Choisissez une instance dans Supervision ou lancez un scénario, et ses étapes apparaîtront ici.","loadingTitle":"Lecture de l’exécution…","loadingHint":"Demande des étapes de cette instance au moteur.","noStepsTitle":"Cette exécution n’a pas encore d’étapes.","noStepsHint":"Le moteur n’a enregistré aucune étape. Actualisez dans un instant.","problem":"Impossible de lire l’exécution : {reason}","detailStarted":"Début","detailEnded":"Fin","detailDuration":"Durée","detailInstance":"Instance d’activité","detailVisit":"Passage","detailIncident":"Incident","detailChanged":"Variables modifiées","detailMocked":"Répondu par le scénario","detailNone":"Sélectionnez une barre pour voir son étape.","coverageSummary":"{covered} éléments atteints sur {total}","unvisited":"Non atteint","runLabel":"Exécution {id}","keysHint":"Gauche et droite avancent d’une étape, avec Maj elles parcourent les passages d’une ligne, avec Maj et Haut ou Bas on change de ligne, Espace lit, Début et Fin vont aux extrémités, Entrée choisit l’élément, plus, moins et zéro règlent le zoom"},"codeBridge":{"ambiguousDetail":"Plus d’un endroit du code répond à {name}.","badgeAmbiguous":"{element} : {count} endroits du code correspondent à {name}","badgeBound":"{element} : code trouvé dans {where}","badgeMissing":"{element} : aucun code trouvé pour {name}","cardLabel":"Code de {element}","createStub":"Créer un squelette de worker","groupTitle":"Code","kindBean":"Bean","kindClass":"Classe","kindDecision":"Décision","kindJobType":"Type de job","kindMessage":"Message","kindProcess":"Processus","kindTopic":"Sujet","missingDetail":"Rien dans le code du projet ne s’appelle {name}.","missingNear":"Le nom le plus proche dans le code est {near}.","moreCount":"et {count} de plus","notReached":"Aucune exécution de tests ne l’a atteint","openCode":"Ouvrir le code","openDecision":"Ouvrir la décision","openPlace":"Ouvrir {where}","openProcess":"Ouvrir le processus","paused":"Le débogueur est en pause ici","reached":"Atteint par une exécution de tests","snippetLoading":"Lecture du code…","snippetUnavailable":"Les premières lignes ne sont pas disponibles ici.","stateAmbiguous":"Plusieurs endroits correspondent","stateBound":"Code trouvé","stateMissing":"Aucun code trouvé","tests":"Tests : {count}"},"assistant":{"showDetails":"Afficher les détails","card":{"close":"Fermer","connecting":"Démarrage de l'agent...","expand":"Ouvrir le chat dans la barre latérale","fold":"Replier le chat","label":"Dernier tour du chat","loading":"Chargement de la conversation...","unfold":"Déplier le chat","suggest":"Agrandir la discussion","suggestLong":"La conversation devient longue.","suggestDocument":"La réponse contient un fichier.","newChat":"Nouvelle discussion"},"change":{"changed":"{name} : {what}","created":"Nouveau fichier {name}","file":"{name} change","flow":"Flux {from} → {to}","lines":"{name} : +{added} -{removed} lignes","moved":"{name} est déplacé"},"chats":{"empty":"Pas encore de chat. Démarrez-en un avec +.","label":"Discussions","menu":"Actions du chat","new":"Nouvelle discussion","title":"Discussions","agents":"Agents IA"},"delete":{"accept":"Supprimer la discussion","action":"Supprimer","text":"« {title} » et ses messages seront supprimés de ce projet.","title":"Supprimer la discussion"},"ended":{"text":"L'agent s'est arrêté sans répondre.","title":"L'agent s'est arrêté"},"form":{"title":"Réglages de l'agent","agent":"Agent","agentNew":"Changer d'agent démarre une nouvelle conversation.","manage":"Gérer les agents…","back":"Retour"},"input":{"noAgent":"Aucun agent","add":"Joindre un fichier ou mentionner un élément","ask":"Demander à l'agent","settingsLabel":"{agent} : {settings}","optionNextTurn":"S’applique à partir du message suivant.","context":"Contexte du message","keyEnter":"Enter","keyShiftEnter":"Shift Enter","keyNewline":"nouvelle ligne","keyQueue":"mettre en file","keySend":"envoyer","label":"Message à l'agent","more":"+{count} de plus","placeholder":"Posez une question ou confiez une tâche à l'agent","queued":"Messages en attente","queuedText":"En attente : {text}","removeChip":"Retirer {name} du message","send":"Envoyer","stop":"Arrêter","unqueue":"Reprendre le message","stateWorking":"L'agent travaille…","stateWaiting":"En attente de votre réponse","showCard":"Afficher la conversation"},"mention":{"elements":"Éléments","files":"Fichiers","label":"Joindre au message","none":"Aucun résultat.","search":"Rechercher des éléments et des fichiers"},"noAgent":{"choose":"Choisir un autre agent","settings":"Paramètres de l'agent","text":"Aucun agent n'est installé sur cette machine. Installez-en un avec :","title":"Aucun agent trouvé"},"question":{"allow":"Autoriser","allowAlways":"Toujours autoriser","clean":"Aucun problème détecté","deny":"Refuser","denyAlways":"Toujours refuser","details":"Afficher les modifications en détail","label":"L'agent demande l'autorisation","showOnCanvas":"Afficher sur le canevas","undo":"Annuler le rétablit","apply":{"one":"Appliquer {count} modification à {file} ?","other":"Appliquer {count} modifications à {file} ?"},"files":{"one":"{count} fichier","other":"{count} fichiers"},"problems":{"one":"{count} problème à examiner","other":"{count} problèmes à examiner"}},"rename":"Renommer","signIn":"Se connecter","signedOut":{"text":"Connectez-vous à l'agent dans sa propre application, puis réessayez.","title":"{agent} n'est pas connecté"},"state":{"connecting":"démarrage","failed":"arrêté sur une erreur","idle":"inactif","waiting":"vous attend","working":"au travail"},"switch":{"label":"Changer de discussion","list":"Discussions de ce projet"},"tryAgain":"Réessayer","unreachable":"Impossible de joindre le service de l'agent","changeLabel":"Modifications de {name}","diffTooLarge":"La modification est trop grande pour être affichée ici.","hideXml":"Masquer le XML","showXml":"Afficher le XML","noVisibleChange":"Le dessin ne change pas, seul le texte du fichier change.","reviewOnCanvas":"La modification est aussi affichée sur le canevas de {name} tant que ce diagramme est ouvert.","thinking":"Réflexion","newChat":"Nouvelle conversation","openFile":"Ouvrir {path}","openAtLine":"Ouvrir {path} à la ligne {line}","truncated":"Le reste de ce message n’est pas affiché.","tool":{"pending":"En attente","running":"En cours","done":"Terminé","failed":"Échec","stopped":"Arrêté","penstock":{"listDiagrams":"Lister les diagrammes","showDiagram":"Afficher le diagramme","editDiagram":"Modifier le diagramme","checkDiagram":"Vérifier le diagramme","analyzeFlow":"Analyser le flux","listScenarios":"Lister les scénarios","checkCodeLinks":"Vérifier les liens de code"}},"loose":{"element":"Non affiché en fantôme (type d’élément non pris en charge) : {ids}","attach":"Non affiché en fantôme (non relié à un élément existant) : {ids}","scope":"Non affiché en fantôme (dans un autre conteneur que l’élément précédent) : {ids}","type":"Non affiché en fantôme (le type d’élément change) : {ids}","reconnect":"Non affiché en fantôme (un flux est reconnecté) : {ids}","resize":"Non affiché en fantôme (la taille d’un élément change) : {ids}","property":"Non affiché en fantôme (une propriété qui ne peut être définie ni effacée ainsi) : {ids}","event":"Non affiché en fantôme (la définition de l’événement change) : {ids}"},"sentence":{"listing":"Liste des diagrammes","listed":{"one":"{count} diagramme listé","other":"{count} diagrammes listés"},"listedPlain":"Diagrammes listés","reading":"Lecture de {file}","read":"{file} lu","checking":"Vérification de {file}","checked":{"one":"{file} vérifié - {count} problème","other":"{file} vérifié - {count} problèmes"},"checkedClean":"{file} vérifié - aucun problème","checkedPlain":"{file} vérifié","analysing":"Analyse du flux de {file}","analysed":{"one":"Flux analysé - {count} problème","other":"Flux analysé - {count} problèmes"},"analysedDeadEnds":{"one":"Flux analysé - {count} impasse","other":"Flux analysé - {count} impasses"},"analysedClean":"Flux analysé - aucun problème","analysedPlain":"Flux de {file} analysé","scenariosListing":"Liste des scénarios de {file}","scenariosListed":{"one":"{count} scénario listé","other":"{count} scénarios listés"},"scenariosRan":{"one":"{count} scénario exécuté - {passed} réussis","other":"{count} scénarios exécutés - {passed} réussis"},"scenariosPlain":"Scénarios de {file} listés","codeChecking":"Vérification des liens de code","codeChecked":{"one":"Liens de code vérifiés - {count} problème","other":"Liens de code vérifiés - {count} problèmes"},"codeClean":"Liens de code vérifiés - aucun problème","codePlain":"Liens de code vérifiés","editing":"Modification de {file}","edited":"{file} modifié","previewing":"Aperçu d'une modification de {file}","previewed":"Aperçu d'une modification de {file} prêt","unfinished":"{step} - impossible à terminer","more":"+{count}"},"work":{"steps":{"one":"{count} étape","other":"{count} étapes"},"label":"Ce que l'agent a fait"},"view":{"label":"Affichage de la modification","picture":"Image","source":"Source","openDiff":"Ouvrir le diff","diffTitle":"Modifications de {name}","sourceLabel":"Source de la modification","folded":{"one":"{count} ligne inchangée","other":"{count} lignes inchangées"},"showSource":"Afficher la source","applied":{"one":"{count} élément modifié","other":"{count} éléments modifiés"},"appliedFile":"{file} modifié"},"picker":{"list":"Agents","missing":"Non installé","manage":"Gérer les agents…","newChat":"Choisir un autre agent démarre un nouveau chat."},"chip":{"noElement":"Aucun élément nommé {id} dans {file}","noFile":"Aucun fichier nommé {file} dans ce projet"},"tab":{"emptyChat":"Cette discussion n'a pas encore de message.","emptyChatHint":"Écrivez ci-dessous pour interroger l'agent sur ce fichier.","label":"Discussion","transcript":"Conversation","empty":"Posez une question à l'agent sur ce projet.","emptyHint":"Les modifications qu'il veut apporter s'affichent ici pour approbation.","unreadable":"Impossible de charger cette discussion.","unreadableHint":"L'agent a peut-être été arrêté. Réessayez dans un instant."},"working":"Travail en cours..."},"agents":{"title":"Agents IA","customDescription":"Votre propre commande : {command}","general":"Général","aiChat":"Chat IA","search":"Rechercher un agent","list":"Agents","on":"Activés","all":"Tous les agents","allShown":"Tous les agents sont activés.","noneOn":"Aucun agent n’est activé. Installez-en un et activez-le.","noMatch":"Aucun agent ne correspond à la recherche.","loading":"Chargement des agents…","failed":{"title":"Les agents ne sont pas disponibles","hint":"Penstock n’a pas pu lire la liste des agents. Vérifiez que l’éditeur est connecté et réessayez."},"state":{"installing":"Installation…","installingPercent":"Installation {percent} %","reading":"Lecture des modèles…","failed":"Installation impossible","update":"Mise à jour disponible","on":"Activé","installed":"Installé"},"version":"Version {version}","license":"Licence","website":"Site web","repository":"Code source","status":"État","via":{"path":"Trouvé dans votre PATH","download":"Installé par Penstock","package":"Préparé par Penstock","custom":"Votre propre commande"},"how":{"binary":"Non installé. Penstock le télécharge pour cet ordinateur et vérifie le téléchargement avec la somme de contrôle du registre.","npx":"Non installé. Il s’exécute via npx, qui le télécharge à la première utilisation.","uvx":"Non installé. Il s’exécute via uvx, qui le télécharge à la première utilisation.","custom":"Votre propre commande"},"cannotInstall":"Non installé. Penstock ne peut pas l’installer sur cet ordinateur.","install":"Installer","tryAgain":"Réessayer","update":"Mettre à jour","turnOn":"Activer","turnOff":"Désactiver","uninstall":"Désinstaller","byHand":"Pour l’installer vous-même, exécutez","models":"Modèles et options","modelsRefresh":"Actualiser les modèles","modelsReading":"Interrogation de l’agent…","modelsEmpty":"Aucun modèle lu pour l’instant.","modelsEmptyHint":"Actualiser les modèles démarre l’agent, lui demande quels modèles il propose, puis le ferme. L’agent doit être connecté.","modelsOwn":"Le choix de l’agent ({value})","modelsRead":"Lu {time}","signInHint":"Connectez-vous avec l’outil de l’agent, par exemple en l’exécutant une fois dans un terminal, puis actualisez à nouveau.","updating":"Mise à jour de la liste…","neverUpdated":"La liste n’a pas encore été mise à jour.","updatedSnapshot":"La liste fournie avec Penstock, {time}","updated":"Liste mise à jour {time}","refresh":"Actualiser la liste","blocked":{"node":"Nécessite Node.js, qui n’est pas présent sur cet ordinateur.","nodeLink":"Obtenir Node.js","uv":"Nécessite uv, qui n’est pas présent sur cet ordinateur.","uvLink":"Obtenir uv","platform":"Il n’existe pas de téléchargement pour cet ordinateur.","checksum":"Le registre ne donne pas de somme de contrôle pour ce téléchargement, donc Penstock ne l’installe pas. Installez-le vous-même et Penstock le trouvera dans le PATH."},"reason":{"tooLarge":"La réponse était plus grande que prévu.","timeout":"Le serveur n’a pas répondu à temps.","offline":"Impossible de joindre le serveur.","http":"Le serveur a répondu par une erreur :","badList":"La réponse n’était pas une liste d’agents.","notKept":"Penstock n’a pas pu conserver la liste sur cet ordinateur :","archiveTooLarge":"Le téléchargement se décompresse en plus que prévu.","badArchive":"Le téléchargement n’est pas une archive valide.","unsafeArchive":"Le téléchargement contient un fichier hors de son dossier, Penstock s’est donc arrêté :","noTar":"Penstock a besoin du programme tar pour décompresser ce téléchargement, et il n’est pas disponible :","cancelled":"Annulé.","noNode":"Node.js n’est pas présent sur cet ordinateur.","npmFailed":"npm n’a pas pu récupérer le paquet :","checksum":"Le téléchargement ne correspond pas à la somme de contrôle du registre, Penstock l’a donc supprimé.","noProgram":"Le téléchargement ne contient pas le programme :","notInstallable":"Penstock n’installe pas cet agent.","busy":"Une installation est encore en cours.","notInstalled":"Installez l’agent avant de l’activer.","noOptions":"L’agent n’a proposé aucun modèle ni option.","noHostPage":"Cet hôte n’a pas de page pour les agents IA.","installFailed":"Impossible d’installer l’agent :","unknown":"Une erreur s’est produite."},"aiChatOff":"Désactivé","aiChatBottom":"En bas de l'éditeur","aiChatSidebar":"Dans la barre latérale","aiChatOffHelp":"Ni saisie, ni discussions, ni processus d'agent : l'agent n'est pas lancé.","aiChatBottomHelp":"La saisie est en bas de l'éditeur, avec la carte de la conversation au-dessus.","aiChatSidebarHelp":"La conversation est dans l'onglet Chat de la barre latérale ; aucune saisie en bas."},"scriptTab":{"title":"{name} - {what}","nameWithId":"{name} ({id})","script":"script","condition":"condition","executionListener":"écouteur {event}","taskListener":"écouteur de tâche {event}","input":"entrée {name}","output":"sortie {name}"},"feel":{"debug":{"action":"Déboguer cette expression","breakpoint":{"otherFile":"Les points d'arrêt ne peuvent être posés que dans l'expression en cours de débogage","pastEnd":"Cette ligne se trouve après la fin de l'expression"},"error":"Erreur : {message}","group":{"after":"Variables après le script","current":"Actuel","evaluated":"Évalué","iteration":"Variables d'itération","variables":"Variables"},"request":{"unsupported":"Le débogueur ne prend pas encore en charge {command}"},"stack":{"name":"Expression"},"title":"Débogage FEEL : {name}","truncated":"La trace s'est arrêtée après {count} étapes, le reste de l'expression n'est pas parcouru pas à pas","type":{"name":"Débogage d'expression FEEL"},"unsupported":"Le débogueur ne prend pas encore en charge cette construction (caractère {at})","launch":{"invalid":"La configuration de débogage a besoin d'une expression, de ses valeurs d'exemple et de sa source"},"notStarted":"Cette expression n'est pas en cours de débogage"},"problem":{"doubleEquals":"FEEL compare avec =, et non ==","spacedName":"Un nom avec des espaces a besoin de guillemets inversés","unclosedBracket":"Ce crochet ou cette parenthèse n'est jamais fermé(e)","missingElse":"Un if a besoin d'un else","endsTooEarly":"L'expression se termine trop tôt","unexpectedToken":"Ceci n'est pas attendu ici","unterminatedString":"Cette chaîne n'est jamais fermée","notFeel":"Ceci n'est pas une expression FEEL"},"fix":{"replace":"Remplacer par {text}"},"run":{"lens":"Exécuter l'expression","channel":"Penstock FEEL","input":"{name} = {value}","result":"Résultat de {source} : {value}","warning":"{text} donne un avertissement : {type}","engineWarning":"Avertissement : {message}","rejected":"Non exécuté : {message}","failed":"Le moteur a échoué : {problem}","noEngine":"Aucun moteur Camunda 8 n'est connecté : l'expression a été exécutée dans l'éditeur (aperçu).","inline":"→ {value}","error":"L'expression n'a pas pu être exécutée : {message}","inlineFailed":"✕ {message}","sample":{"prompt":"Valeur d'exemple pour {name}","rejected":"La valeur de {name} n'est pas du FEEL valide : {problem}","warned":"La valeur de {name} lit un nom qui n'a pas de valeur","invalidJson":"La valeur de {name} n'est ni du JSON ni une expression FEEL"}},"source":{"preview":"aperçu","engine":"moteur"}},"clientFacts":{"sentence":{"notFound":"Les workers Python, Go, C# et Scala ne sont pas lus, car la CLI Penstock est introuvable.","incompatible":"Les workers Python, Go, C# et Scala ne sont pas lus, car la CLI Penstock est trop ancienne pour cet éditeur.","untrusted":"Les workers Python, Go, C# et Scala ne sont pas lus tant que ce projet n'est pas approuvé.","failed":"Les workers Python, Go, C# et Scala ne sont pas lus, car la CLI Penstock a échoué.","timedOut":"Les workers Python, Go, C# et Scala ne sont pas lus, car la CLI Penstock a mis trop de temps à répondre.","tooLarge":"Les workers Python, Go, C# et Scala ne sont pas lus, car le projet contient trop de leurs fichiers."},"hint":{"install":"Installez la CLI Penstock avec npm install -g @kern0x1b/penstock-cli, ou indiquez son chemin dans les paramètres de Penstock.","trust":"Approuvez le projet pour qu'il utilise sa propre CLI.","check":"Vérifiez la CLI Penstock dans le terminal avec penstock facts, puis rouvrez le diagramme.","fewerFiles":"Regroupez le code de ces langages dans moins de fichiers, ou retirez-les du projet."}}}`),t=JSON.parse(`{"Example data":"Données d'exemple"," + shift + ":" + Maj + "," + x + ":" + x + "," or ":" ou ","\\"Expression\\" defines options that are populated from a FEEL expression.":"« Expression » définit des options renseignées par une expression FEEL.","\\"Input data\\" defines options that are populated dynamically, adjusting based on variable data for flexible responses to different conditions or inputs.":"« Données d’entrée » définit des options renseignées dynamiquement, ajustées selon les données des variables pour s’adapter aux différentes conditions ou entrées.","\\"List of items\\" defines a constant, predefined set of form options.":"« Liste d’éléments » définit un ensemble constant et prédéfini d’options de formulaire.","\\"Static\\" defines a constant, predefined set of form options.":"« Statique » définit un ensemble constant et prédéfini d’options de formulaire.","\\"value\\"":"\\"value\\"","\\"value\\", \\"value\\", ...":"\\"value\\", \\"value\\", ...",") to identify the error. ":") pour identifier l’erreur. ",") to match a specific error, or leave empty to catch any error. ":") pour correspondre à une erreur précise, ou laissez vide pour intercepter toute erreur. ","+n+":"+n+","1 hour and 30 minutes":"1 heure et 30 minutes","14 days":"14 jours","15 seconds":"15 secondes","<custom type>":"<type personnalisé>","<empty>":"<vide>","<none>":"<aucun>","<unnamed>":"<sans nom>","A FEEL expression that determines whether the event should trigger. ":"Une expression FEEL qui détermine si l’événement doit se déclencher. ","A comma-separated list of":"Une liste séparée par des virgules de","A cycle defined as ISO 8601 repeating intervals format, or a cron expression.":"Un cycle défini au format d’intervalles répétitifs ISO 8601, ou une expression cron.","A cycle defined as ISO 8601 repeating intervals format.":"Un cycle défini au format d’intervalles répétitifs ISO 8601.","A new version of the template is available: {templateVersion}":"Une nouvelle version du modèle est disponible : {templateVersion}","A number is required.":"Un nombre est requis.","A source is a JSON object containing metadata for a document or an array of documents.":"Une source est un objet JSON contenant des métadonnées pour un document ou un tableau de documents.","A specific point in time defined as ISO 8601 combined date and time representation.":"Un instant précis défini comme une représentation ISO 8601 combinant date et heure.","A time duration defined as ISO 8601 durations format.":"Une durée définie au format de durées ISO 8601.","A version of this template is available that supports your environment: {templateVersion}":"Une version de ce modèle compatible avec votre environnement est disponible : {templateVersion}","About conditional events.":"À propos des événements conditionnels.","Action":"Action","Activate create/remove space tool":"Activer l’outil d’espace de création/suppression","Activate global connect tool":"Activer l’outil de connexion globale","Activate hand tool":"Activer l’outil main","Activate lasso tool":"Activer l’outil lasso","Active elements":"Éléments actifs","Active elements collection":"Collection d’éléments actifs","Activity reference":"Référence d’activité","Ad-hoc sub-process":"Sous-processus ad hoc","Ad-hoc sub-process (collapsed)":"Sous-processus ad hoc (replié)","Ad-hoc sub-process (expanded)":"Sous-processus ad hoc (déplié)","Ad-hoc subprocess documentation":"Documentation du sous-processus ad hoc","Add cell description":"Ajouter une description de cellule","Add custom key-value metadata to this element. Extension properties have no effect on process execution — they can be used to attach configuration visible for other consumers of the BPMN diagram. ":"Ajoutez des métadonnées clé-valeur personnalisées à cet élément. Les extension properties n’ont aucun effet sur l’exécution du processus — elles servent à attacher une configuration visible par les autres consommateurs du diagramme BPMN. ","Add custom logic that reacts to various events in the workflow execution life-cycle. ":"Ajoutez une logique personnalisée qui réagit aux différents événements du cycle de vie d’exécution du workflow. ","Add input":"Ajouter une entrée","Add input column left":"Ajouter une colonne d’entrée à gauche","Add input column right":"Ajouter une colonne d’entrée à droite","Add input mappings to control what is passed to the activity as local variables. ":"Ajoutez des mappings d’entrée pour contrôler ce qui est passé à l’activité comme variables locales. ","Add lane above":"Ajouter un couloir au-dessus","Add lane below":"Ajouter un couloir en dessous","Add new":"Ajouter","Add output":"Ajouter une sortie","Add output column left":"Ajouter une colonne de sortie à gauche","Add output column right":"Ajouter une colonne de sortie à droite","Add output mappings to control which variables are merged back into the process scope. ":"Ajoutez des mappings de sortie pour contrôler quelles variables sont réinjectées dans la portée du processus. ","Add parameter":"Ajouter un paramètre","Add pause point":"Ajouter un point de pause","Add predefined values":"Ajouter des valeurs prédéfinies","Add properties directly to the form schema, useful to configure functionality in custom-built task applications and form renderers.":"Ajoutez des propriétés directement au schéma du formulaire, utile pour configurer des fonctionnalités dans des applications de tâches et des rendus de formulaires faits sur mesure.","Add rule":"Ajouter une règle","Add rule above":"Ajouter une règle au-dessus","Add rule below":"Ajouter une règle en dessous","Add text annotation":"Ajouter une annotation de texte","Add values":"Ajouter des valeurs","Additional details are optional. The expected format is as follows:":"Les détails supplémentaires sont facultatifs. Le format attendu est le suivant :","After":"Après","Align elements":"Aligner les éléments","Align elements ":"Aligner les éléments ","All values selected":"Toutes les valeurs sélectionnées","Allow add/delete items":"Autoriser l’ajout et la suppression d’éléments","Allow same origin":"Même origine","Allow the iframe to access more functionality of your browser, details regarding the various options can be found in the":"Autorisez l’iframe à accéder à davantage de fonctionnalités de votre navigateur ; le détail des options se trouve dans la","Allowed answers":"Réponses autorisées","Allows arbitrary precision values":"Autorise des valeurs de précision arbitraire","Alternative text":"Texte alternatif","And":"Et","Annotation":"Annotation","Annotations":"Annotations","Any":"Toute","Appearance":"Apparence","Append business knowledge model":"Ajouter un modèle de connaissance métier","Append compensation activity":"Ajouter une activité de compensation","Append conditional intermediate catch event":"Ajouter un événement intermédiaire de capture conditionnel","Append decision":"Ajouter une décision","Append element":"Ajouter un élément","Append end event":"Ajouter un événement de fin","Append gateway":"Ajouter une passerelle","Append input data":"Ajouter des données d’entrée","Append intermediate/boundary event":"Ajouter un événement intermédiaire ou de limite","Append knowledge source":"Ajouter une source de connaissance","Append message intermediate catch event":"Ajouter un événement intermédiaire de capture de message","Append receive task":"Ajouter une tâche de réception","Append signal intermediate catch event":"Ajouter un événement intermédiaire de capture de signal","Append task":"Ajouter une tâche","Append timer intermediate catch event":"Ajouter un événement intermédiaire de capture par minuterie","Applied":"Appliqué","Assign to process variable":"Affecter à une variable de processus","Assignee":"Assigné","Assignment":"Affectation","Assignment type":"Type d’affectation","Association":"Association","Asynchronous after":"Asynchrone après","Asynchronous before":"Asynchrone avant","Asynchronous continuations":"Continuations asynchrones","Auto":"Auto","BPMN":"BPMN","Before":"Avant","Between":"Entre","Binding":"Liaison","Binds to a form variable":"Lie à une variable de formulaire","Boolean value":"Valeur booléenne","Bottom":"Bas","Boundary Event":"Événement de limite","Boundary event":"Événement de limite","Build your form":"Construisez votre formulaire","Business ID":"Business ID","Business ID propagation documentation":"Documentation de la propagation du business ID","Business Rule Task":"Tâche de règle métier","Business key":"Business key","Business key expression":"Expression de business key","Business rule task":"Tâche de règle métier","Business rule task documentation":"Documentation de la tâche de règle métier","Button":"Bouton","CMMN":"CMMN","Call Activity":"Activité d’appel","Call activity":"Activité d’appel","Call activity documentation":"Documentation de l’activité d’appel","Called decision":"Décision appelée","Called decision documentation":"Documentation de la décision appelée","Called element":"Élément appelé","Camera access":"Accès à la caméra","Camunda Form":"Camunda Form","Camunda Form (embedded)":"Camunda Form (intégré)","Camunda Form (linked)":"Camunda Form (lié)","Camunda Forms":"Camunda Forms","Camunda user task":"Tâche utilisateur Camunda","Cancel Boundary Event":"Événement de limite d’annulation","Cancel End Event":"Événement de fin d’annulation","Cancel Intermediate Catch Event":"Événement intermédiaire de capture d’annulation","Cancel boundary event":"Événement de limite d’annulation","Cancel end event":"Événement de fin d’annulation","Cancel remaining instances":"Annuler les instances restantes","Candidate groups":"Groupes candidats","Candidate starter":"Lanceur candidat","Candidate starter groups":"Groupes de lanceurs candidats","Candidate starter users":"Utilisateurs lanceurs candidats","Candidate users":"Utilisateurs candidats","Cannot exceed {maxLength} characters.":"Ne peut pas dépasser {maxLength} caractères.","Case ref":"Référence de cas","Center":"Centre","Change":"Modifier","Change cell expression language":"Changer le langage d’expression de la cellule","Change element":"Changer d’élément","Change type":"Changer de type","Checkbox":"Case à cocher","Checkbox group":"Groupe de cases à cocher","Checked":"Vérifié","Choose element template":"Choisir un modèle d’élément","Choose {configuration}":"Choisir {configuration}","Class":"Classe","Clear content":"Vider le contenu","Clear predefined values":"Effacer les valeurs prédéfinies","Click to remove dynamic value with FEEL expression":"Cliquer pour retirer la valeur dynamique avec une expression FEEL","Click to remove sorting":"Cliquez pour retirer le tri","Click to set a dynamic value with FEEL expression":"Cliquer pour définir une valeur dynamique avec une expression FEEL","Click to sort by {value} ascending":"Cliquez pour trier par {value} par ordre croissant","Click to sort by {value} descending":"Cliquez pour trier par {value} par ordre décroissant","Close":"Fermer","Close minimap":"Fermer la minicarte","Code":"Code","Code variable":"Variable de code","Collaboration":"Collaboration","Collapse":"Réduire","Collapsed Ad Hoc Sub Process":"Sous-processus ad hoc replié","Collapsed Sub Process":"Sous-processus replié","Collect":"Collecter","Collect (Count)":"Collecter (nombre)","Collect (Max)":"Collecter (maximum)","Collect (Min)":"Collecter (minimum)","Collect (Sum)":"Collecter (somme)","Collection":"Collection","Collects the values of all matching rules":"Collecte les valeurs de toutes les règles qui correspondent","Collects the values of all matching rules and counts the number of them":"Collecte les valeurs de toutes les règles qui correspondent et en compte le nombre","Collects the values of all matching rules and sums up to a single value":"Collecte les valeurs de toutes les règles qui correspondent et en fait la somme","Collects the values of all matching rules and uses the highest value":"Collecte les valeurs de toutes les règles qui correspondent et retient la plus haute","Collects the values of all matching rules and uses the lowest value":"Collecte les valeurs de toutes les règles qui correspondent et retient la plus basse","Collects the values of all matching rules in decreasing output priority order":"Collecte les valeurs de toutes les règles qui correspondent par priorité de sortie décroissante","Collects the values of all matching rules in rule order":"Collecte les valeurs de toutes les règles qui correspondent dans l’ordre des règles","Column":"Colonne","Column {index}":"Colonne {index}","Columns":"Colonnes","Comparison":"Comparaison","Comparison operator":"Opérateur de comparaison","Compensate Boundary Event":"Événement de limite de compensation","Compensate End Event":"Événement de fin de compensation","Compensate Intermediate Catch Event":"Événement intermédiaire de capture de compensation","Compensate Intermediate Throw Event":"Événement intermédiaire d’émission de compensation","Compensate Start Event":"Événement de début de compensation","Compensation":"Compensation","Compensation boundary event":"Événement de limite de compensation","Compensation end event":"Événement de fin de compensation","Compensation intermediate throw event":"Événement intermédiaire d’émission de compensation","Compensation start event":"Événement de début de compensation","Completion":"Terminaison","Completion condition":"Condition de fin","Complex Gateway":"Passerelle complexe","Complex gateway":"Passerelle complexe","Components":"Composants","Compute on":"Calculer sur","Condition":"Condition","Condition Expression":"Expression de condition","Condition expression":"Expression de condition","Condition under which the field is deactivated":"Condition de désactivation du champ","Condition under which the field is hidden":"Condition de masquage du champ","Conditional Boundary Event":"Événement de limite conditionnel","Conditional Boundary Event (Non Interrupting)":"Événement de limite conditionnel (non interruptif)","Conditional Flow":"Flux conditionnel","Conditional Intermediate Catch Event":"Événement intermédiaire de capture conditionnel","Conditional Intermediate Catch Event (Non Interrupting)":"Événement intermédiaire de capture conditionnel (non interruptif)","Conditional Start Event":"Événement de début conditionnel","Conditional Start Event (Non Interrupting)":"Événement de début conditionnel (non interruptif)","Conditional boundary event":"Événement de limite conditionnel","Conditional boundary event (non-interrupting)":"Événement de limite conditionnel (non interruptif)","Conditional event documentation":"Documentation des événements conditionnels","Conditional flow":"Flux conditionnel","Conditional intermediate catch event":"Événement intermédiaire de capture conditionnel","Conditional start event":"Événement de début conditionnel","Conditional start event (non-interrupting)":"Événement de début conditionnel (non interruptif)","Conditions documentation":"Documentation des conditions","Config":"Configuration","Configuration":"Configuration","Configuration not found":"Configuration introuvable","Configurations":"Configurations","Configure the message that the task waits for. ":"Configurez le message que la tâche attend. ","Configure the message that this event waits for. ":"Configurez le message que cet événement attend. ","Configure the message that will start this process instance. ":"Configurez le message qui démarrera cette instance de processus. ","Configure the message that will trigger this boundary event. ":"Configurez le message qui déclenchera cet événement de limite. ","Connect to other element":"Connecter à un autre élément","Connect using association":"Connecter par une association","Connect using data input association":"Connecter par une association de données d’entrée","Connector":"Connecteur","Connector ID":"ID du connecteur","Connector inputs":"Entrées du connecteur","Connector outputs":"Sorties du connecteur","Constraints":"Contraintes","Containers":"Conteneurs","Content":"Contenu","Control the business ID set on a child process. If left empty, no business ID will be set. ":"Contrôle le business ID défini sur un processus enfant. Si le champ est vide, aucun business ID n’est défini. ","Control which variables from the called process are merged back into the parent scope. By default, all child variables are propagated; use output mappings to selectively return specific variables. ":"Contrôle quelles variables du processus appelé sont réinjectées dans la portée parente. Par défaut, toutes les variables enfants sont propagées ; utilisez des mappings de sortie pour ne renvoyer que certaines variables. ","Copy input column":"Copier la colonne d’entrée","Copy output column":"Copier la colonne de sortie","Copy rule":"Copier la règle","Could not load configurations":"Impossible de charger les configurations","Create":"Créer","Create data object reference":"Créer une référence d’objet de données","Create data store reference":"Créer une référence de magasin de données","Create decision":"Créer une décision","Create decision service":"Créer un service de décision","Create element":"Créer un élément","Create end event":"Créer un événement de fin","Create expanded sub-process":"Créer un sous-processus déplié","Create gateway":"Créer une passerelle","Create group":"Créer un groupe","Create input data":"Créer des données d’entrée","Create intermediate/boundary event":"Créer un événement intermédiaire ou de limite","Create knowledge model":"Créer un modèle de connaissance","Create knowledge source":"Créer une source de connaissance","Create new ...":"Créer ...","Create new list item":"Créer un nouvel élément de liste","Create pool/participant":"Créer un pool/participant","Create start event":"Créer un événement de début","Create task":"Créer une tâche","Create {label} element":"Créer un élément {label}","Created in":"Créé dans","Custom":"Personnalisé","Custom error message":"Message d’erreur personnalisé","Custom form key":"Form key personnalisée","Custom properties":"Propriétés personnalisées","Custom regular expression":"Expression régulière personnalisée","Custom type":"Type personnalisé","Custom values":"Valeurs personnalisées","Cut input column":"Couper la colonne d’entrée","Cut output column":"Couper la colonne de sortie","Cut rule":"Couper la règle","Cycle":"Cycle","DMN":"DMN","DMN decision":"Décision DMN","Data Input":"Donnée d’entrée","Data Input Association":"Association de données d’entrée","Data Object Reference":"Référence d’objet de données","Data Output":"Donnée de sortie","Data Output Association":"Association de données de sortie","Data Store Reference":"Référence de magasin de données","Data object must be placed within a pool/participant.":"Un objet de données doit se trouver dans un pool ou un participant.","Data object reference":"Référence d’objet de données","Data source":"Source de données","Data store reference":"Référence de magasin de données","Date":"Date","Date and time":"Date et heure","Date and time must both be entered.":"La date et l’heure doivent toutes deux être saisies.","Date and time value":"Valeur de date et d’heure","Date label":"Libellé de date","Date time":"Date et heure","Date value":"Valeur de date","Deactivate if":"Désactiver si","Decimal digits":"Chiffres décimaux","Decision ID":"ID de décision","Decision name":"Nom de la décision","Decision name: ":"Nom de la décision : ","Decision reference":"Référence de décision","Decision table":"Table de décision","Decrement":"Décrémenter","Default Flow":"Flux par défaut","Default flow":"Flux par défaut","Default number of items":"Nombre d’éléments par défaut","Default value":"Valeur par défaut","Define a boolean condition expression that determines when this sequence flow is taken. ":"Définissez une expression de condition booléenne qui détermine quand ce flux de séquence est pris. ","Define a collection of elements which will be activated when the ad-hoc subprocess is reached. ":"Définissez une collection d’éléments qui seront activés lorsque le sous-processus ad hoc sera atteint. ","Define an expression to calculate the value of this field":"Définissez une expression pour calculer la valeur de ce champ","Define an expression to populate the options from.":"Définissez l’expression qui remplit les options.","Define an input collection expression that defines the collection to iterate over (e.g. ":"Définissez une expression de collection d’entrée qui définit la collection à parcourir (p. ex. ","Define how to collect the outputs of the ad-hoc subprocess. The output collection variable stores the list of results; the output element expression defines what each element contributes. ":"Définissez comment rassembler les sorties du sous-processus ad hoc. La variable de collection de sortie stocke la liste des résultats ; l’expression de l’élément de sortie définit ce que chaque élément apporte. ","Define static metadata passed to job workers alongside each job. Headers are not evaluated by the engine — use them for fixed worker configuration (e.g. ":"Définissez des métadonnées statiques passées aux job workers avec chaque job. Les en-têtes ne sont pas évalués par le moteur — utilisez-les pour une configuration fixe du worker (p. ex. ","Define the FEEL expression to evaluate and the variable to store the result in. ":"Définissez l’expression FEEL à évaluer et la variable dans laquelle stocker le résultat. ","Define the ID of the process to call (e.g. ":"Définissez l’ID du processus à appeler (p. ex. ","Define the assignment, schedule, and priority of the user task. Assignee, candidate groups, and candidate users can be combined. Use due date and follow-up date to express deadlines and urgency. ":"Définissez l’affectation, l’échéancier et la priorité de la tâche utilisateur. L’assigné, les groupes candidats et les utilisateurs candidats peuvent être combinés. Utilisez la date d’échéance et la date de relance pour exprimer les délais et l’urgence. ","Define the completion behavior of an ad-hoc subprocess. If no completion condition is set, it will be completed after all active elements have been completed. ":"Définissez le comportement de fin d’un sous-processus ad hoc. Si aucune condition de fin n’est définie, il se termine une fois tous les éléments actifs terminés. ","Define the decision to evaluate and how to map back the evaluation result. ":"Définissez la décision à évaluer et la façon de remapper le résultat de l’évaluation. ","Define the error to catch. Specify an error code (e.g. ":"Définissez l’erreur à intercepter. Spécifiez un code d’erreur (p. ex. ","Define the error to throw. Specify an error code (e.g. ":"Définissez l’erreur à lever. Spécifiez un code d’erreur (p. ex. ","Define the name of the variable that will contain the error code.":"Définissez le nom de la variable qui contiendra le code d’erreur.","Define the name of the variable that will contain the error message.":"Définissez le nom de la variable qui contiendra le message d’erreur.","Define the name of the variable that will contain the escalation code.":"Définissez le nom de la variable qui contiendra le code d’escalade.","Define which input property to populate the values from":"Définissez la propriété d’entrée depuis laquelle remplir les valeurs","Definition ID":"ID de la définition","Definition name":"Nom de la définition","Delegate Class":"Classe déléguée","Delegate Expression":"Expression de délégué","Delegate Variable Mapping":"Mapping de variable de délégué","Delegate expression":"Expression de délégué","Delete":"Supprimer","Delete item":"Supprimer l’élément","Deployment binding":"Liaison de déploiement","Deprecated":"Obsolète","Description":"Description","Descriptive text for screen reader accessibility.":"Texte descriptif pour les lecteurs d’écran.","Disable collapse":"Désactiver la réduction","Disable this field when it should not be interactive for end-users. Its data will not be submitted. This setting takes precedence over read-only.":"Désactivez ce champ lorsqu’il ne doit pas être interactif pour les utilisateurs finaux. Ses données ne sont pas envoyées. Ce réglage prime sur la lecture seule.","Disabled":"Désactivé","Disallow past dates":"Interdire les dates passées","Distribute elements horizontally":"Répartir les éléments horizontalement","Distribute elements vertically":"Répartir les éléments verticalement","Divide into three lanes":"Diviser en trois couloirs","Divide into two lanes":"Diviser en deux couloirs","Document preview":"Aperçu du document","Document reference":"Référence de document","Document reference is not defined.":"La référence de document n’est pas définie.","Documentation":"Documentation","Documentation: Timer events":"Documentation : événements de minuterie","Documentation: Variable events":"Documentation : événements de variable","Download {fileName}":"Télécharger {fileName}","Drag and drop components here to start designing.":"Glissez-déposez des composants ici pour commencer la conception.","Drag and drop components here.":"Glissez-déposez des composants ici.","Due date":"Date d’échéance","Duration":"Durée","Duration value":"Valeur de durée","Dynamic list":"Liste dynamique","Dynamic options":"Options dynamiques","Each entry must include a document ID, name, and MIME type.":"Chaque entrée doit contenir un ID de document, un nom et un type MIME.","Edit":"Modifier","Edit boolean":"Modifier le booléen","Edit date":"Modifier la date","Edit date and time":"Modifier la date et l’heure","Edit duration":"Modifier la durée","Edit end date":"Modifier la date de fin","Edit end date and time":"Modifier la date et l’heure de fin","Edit end time":"Modifier l’heure de fin","Edit formal parameters":"Modifier les paramètres formels","Edit function kind":"Modifier le type de fonction","Edit input":"Modifier l’entrée","Edit number":"Modifier le nombre","Edit output":"Modifier la sortie","Edit start date":"Modifier la date de début","Edit start date and time":"Modifier la date et l’heure de début","Edit start time":"Modifier l’heure de début","Edit string":"Modifier la chaîne","Edit time":"Modifier l’heure","Editing not supported for set expression language":"Modification non prise en charge pour le langage d’expressions set","Element documentation":"Documentation de l’élément","Element name":"Nom de l’élément","Element variable":"Variable de l’élément","Email":"E-mail","Embedded or External Task Forms":"Formulaires de tâche intégrés ou externes","Empty":"Vide","Empty pool/participant":"Pool/participant vide","End Event":"Événement de fin","End date":"Date de fin","End date and time":"Date et heure de fin","End event":"Événement de fin","End time":"Heure de fin","End value":"Valeur de fin","Enter a HTTPS URL to a source or populate it dynamically via a template or an expression (e.g., to pass a value from the variable).":"Saisissez une URL HTTPS vers une source, ou remplissez-la dynamiquement via un modèle ou une expression (p. ex. pour passer une valeur de la variable).","Enter a form input variable that contains the data for the table or define an expression to populate the data dynamically.":"Saisissez une variable d’entrée de formulaire qui contient les données de la table, ou définissez une expression pour remplir les données dynamiquement.","Enter expression":"Saisir l’expression","Equals":"Égal à","Error":"Erreur","Error Boundary Event":"Événement de limite d’erreur","Error End Event":"Événement de fin d’erreur","Error Intermediate Catch Event":"Événement intermédiaire de capture d’erreur","Error Start Event":"Événement de début d’erreur","Error boundary event":"Événement de limite d’erreur","Error end event":"Événement de fin d’erreur","Error event documentation":"Documentation de l’événement d’erreur","Error start event":"Événement de début d’erreur","Errors":"Erreurs","Escalation":"Escalade","Escalation Boundary Event":"Événement de limite d’escalade","Escalation Boundary Event (Non Interrupting)":"Événement de limite d’escalade (non interruptif)","Escalation End Event":"Événement de fin d’escalade","Escalation Intermediate Catch Event":"Événement intermédiaire de capture d’escalade","Escalation Intermediate Catch Event (Non Interrupting)":"Événement intermédiaire de capture d’escalade (non interruptif)","Escalation Intermediate Throw Event":"Événement intermédiaire d’émission d’escalade","Escalation Start Event":"Événement de début d’escalade","Escalation Start Event (Non Interrupting)":"Événement de début d’escalade (non interruptif)","Escalation boundary event":"Événement de limite d’escalade","Escalation boundary event (non-interrupting)":"Événement de limite d’escalade (non interruptif)","Escalation end event":"Événement de fin d’escalade","Escalation intermediate throw event":"Événement intermédiaire d’émission d’escalade","Escalation start event":"Événement de début d’escalade","Escalation start event (non-interrupting)":"Événement de début d’escalade (non interruptif)","Evaluate a business rule, for example a DMN decision. To add a custom implementation, use a job worker. ":"Évaluez une règle métier, par exemple une décision DMN. Pour ajouter une implémentation personnalisée, utilisez un job worker. ","Event Based Gateway":"Passerelle événementielle","Event Sub Process":"Sous-processus événementiel","Event based instantiating Gateway":"Passerelle événementielle instantanée","Event sub-process":"Sous-processus événementiel","Event type":"Type d’événement","Event-based gateway":"Passerelle événementielle","Exactly":"Exactement","Exclude":"Exclure","Exclusive":"Exclusif","Exclusive Gateway":"Passerelle exclusive","Exclusive gateway":"Passerelle exclusive","Executable":"Exécutable","Execute this task for each element of a given collection. ":"Exécutez cette tâche pour chaque élément d’une collection donnée. ","Execution listeners":"Listeners d’exécution","Execution listeners documentation":"Documentation des listeners d’exécution","Expand all ({value})":"Tout déplier ({value})","Expanded Ad Hoc Sub Process":"Sous-processus ad hoc déplié","Expanded Sub Process":"Sous-processus déplié","Expanded pool/participant":"Pool/participant déplié","Expression":"Expression","Expression language":"Langage d’expression","Expression language:":"Langage d’expression :","Expression language: {expressionLanguageLabel}":"Langage d’expression : {expressionLanguageLabel}","Expression or static value (link/data URI)":"Expression ou valeur statique (lien/data URI)","Extension properties":"Extension properties","External":"Externe","External content couldn't be loaded.":"Le contenu externe n’a pas pu être chargé.","External form reference":"Référence de formulaire externe","External resource":"Ressource externe","External task":"Tâche externe","Fast":"rapide","FEEL expression":"Expression FEEL","FEEL expression is mandatory":"L’expression FEEL est obligatoire","Field cannot exceed {maxLength} characters.":"Le champ ne peut pas dépasser {maxLength} caractères.","Field description":"Description du champ","Field injection":"Injection de champ","Field injections":"Injections de champ","Field is required.":"Le champ est obligatoire.","Field must be a valid email.":"Le champ doit être un e-mail valide.","Field must be a valid international phone number. (e.g. +4930664040900)":"Le champ doit être un numéro de téléphone international valide. (p. ex. +4930664040900)","Field must be at least {minLength} characters.":"Le champ doit comporter au moins {minLength} caractères.","Field must have maximum length of {value}.":"Le champ doit avoir une longueur maximale de {value}.","Field must have maximum value of {value}.":"Le champ doit avoir une valeur maximale de {value}.","Field must have minimum length of {value}.":"Le champ doit avoir une longueur minimale de {value}.","Field must have minimum value of {value}.":"Le champ doit avoir une valeur minimale de {value}.","Field must match pattern {value}.":"Le champ doit correspondre au motif {value}.","File picker":"Sélecteur de fichier","Finished":"Terminée","First":"Première","Focus process instance {id}":"Afficher l’instance de processus {id}","Focus process instance {scopeId}":"Afficher l’instance de processus {scopeId}","Follow up date":"Date de relance","For security reasons the URL must start with \\"https\\".":"Pour des raisons de sécurité, l’URL doit commencer par « https ».","Form":"Formulaire","Form ID":"Form ID","Form JSON configuration":"Configuration JSON du formulaire","Form fields":"Champs du formulaire","Form key":"Form key","Form reference":"Référence de formulaire","Form submission":"Envoi du formulaire","Format":"Format","Forms":"Formulaires","Forms submission":"Envoi de formulaires","Found unsupported elements":"Éléments non pris en charge détectés","Function kind: {kind}":"Type de fonction : {kind}","Gateway":"Passerelle","General":"Général","Generated Task Forms":"Formulaires de tâche générés","Geolocation":"Géolocalisation","Global error reference":"Référence d’erreur globale","Global escalation reference":"Référence d’escalade globale","Global message reference":"Référence de message globale","Global signal reference":"Référence de signal globale","Greater":"Supérieur à","Greater or equals":"Supérieur ou égal à","Group":"Groupe","HELLO {you}":"BONJOUR {you}","HTML view":"Vue HTML","Header items":"Éléments d’en-tête","Headers":"En-têtes","Headers source":"Source des en-têtes","Height":"Hauteur","Height of the container in pixels.":"Hauteur du conteneur en pixels.","Hide if":"Masquer si","History cleanup":"Nettoyage de l’historique","Hit policy":"Politique de correspondance","Hit policy:":"Politique de correspondance","How to configure a timer":"Comment configurer une minuterie","Html view is empty":"La vue HTML est vide","Html view is populated by an expression":"La vue HTML est remplie par une expression","Html view is templated":"La vue HTML est un modèle","ID":"ID","ID must be a valid QName.":"L’ID doit être un QName valide.","ID must be unique.":"L’ID doit être unique.","ID must not be empty.":"L’ID ne doit pas être vide.","ID must not contain prefix.":"L’ID ne doit pas contenir de préfixe.","ID must not contain spaces.":"L’ID ne doit pas contenir d’espaces.","Identifier computed from the process context that is used to correlate an incoming message (e.g. ":"Identifiant calculé à partir du contexte du processus, utilisé pour corréler un message entrant (p. ex. ","If turned on, all variables from the child process instance will be propagated to the parent process instance.":"Si cette option est activée, toutes les variables de l’instance de processus enfant sont propagées vers l’instance de processus parent.","If turned on, all variables from the parent process instance will be propagated to the child process instance.":"Si cette option est activée, toutes les variables de l’instance de processus parent sont propagées vers l’instance de processus enfant.","Image source":"Source de l’image","Image view":"Vue d’image","Implement a script task using an inline FEEL expression. To add a custom implementation, use a job worker. ":"Implémentez une tâche script avec une expression FEEL intégrée. Pour ajouter une implémentation personnalisée, utilisez un job worker. ","Implement a user task managed by Camunda. To add a custom implementation, use a job worker. ":"Implémentez une tâche utilisateur gérée par Camunda. Pour ajouter une implémentation personnalisée, utilisez un job worker. ","Implement the ad-hoc subprocess as a job worker instead of activating inner elements. The job type determines which worker handles the subprocess execution. ":"Implémentez le sous-processus ad hoc comme un job worker au lieu d’activer les éléments internes. Le type de job détermine quel worker prend en charge l’exécution du sous-processus. ","Implementation":"Implémentation","Implementation type":"Type d’implémentation","In mapping propagation":"Propagation des mappings d’entrée","In mappings":"Dans les mappings","Include":"Inclure","Inclusive Gateway":"Passerelle inclusive","Inclusive gateway":"Passerelle inclusive","Incompatible":"Incompatible","Incompatible configuration type":"Type de configuration incompatible","Increment":"Incrémenter","Inherit from parent":"Hériter du parent","Initiator":"Initiateur","Inline script":"Script intégré","Input":"Entrée","Input collection":"Collection d’entrée","Input element":"Élément d’entrée","Input expression":"Expression d’entrée","Input expression: ":"Expression d’entrée : ","Input label":"Libellé d’entrée","Input label: ":"Libellé d’entrée : ","Input mapping":"Mapping d’entrée","Input mappings documentation":"Documentation des mappings d’entrée","Input propagation":"Propagation en entrée","Input type":"Type d’entrée","Input values":"Valeurs d’entrée","Input values key":"Clé des valeurs d’entrée","Inputs":"Entrées","Intermediate Event":"Événement intermédiaire","Intermediate Throw Event":"Événement intermédiaire d’émission","Intermediate throw event":"Événement intermédiaire d’émission","Issues for child elements":"Problèmes des éléments enfants","JSON contains errors":"Le JSON contient des erreurs","Java":"Java","Java class":"Classe Java","Job execution":"Exécution du job","Job priority":"Priorité de job","Job priority documentation":"Documentation de la priorité de job","Job type":"Type de job","Job worker":"Job worker","Key":"Clé","Kind":"Type","Label":"Libellé","Lane":"Couloir","Latest binding":"Liaison à la dernière version","Layout":"Disposition","Learn how to define conditions.":"Apprendre à définir des conditions.","Learn more":"En savoir plus","Learn more in our":"En savoir plus dans notre","Learn more.":"En savoir plus.","Less":"Inférieur à","Less or equals":"Inférieur ou égal à","Link":"Lien","Link Boundary Event":"Événement de limite de lien","Link End Event":"Événement de fin de lien","Link Intermediate Catch Event":"Événement intermédiaire de capture de lien","Link Intermediate Throw Event":"Événement intermédiaire d’émission de lien","Link a form created with the Camunda Forms editor. Submitting this form will start a new process instance. ":"Liez un formulaire créé avec l’éditeur Camunda Forms. Envoyer ce formulaire démarrera une nouvelle instance de processus. ","Link a form created with the Camunda Forms editor. To associate a custom form, application, or URL to the user task, specify an external reference. ":"Liez un formulaire créé avec l’éditeur Camunda Forms. Pour associer un formulaire, une application ou une URL personnalisés à la tâche utilisateur, spécifiez une référence externe. ","Link intermediate catch event":"Événement intermédiaire de capture de lien","Link intermediate throw event":"Événement intermédiaire d’émission de lien","Link or embed a form created with the Camunda Forms editor. To associate a custom form, application, or URL to the user task, specify a form key. ":"Liez ou intégrez un formulaire créé avec l’éditeur Camunda Forms. Pour associer un formulaire, une application ou une URL personnalisés à la tâche utilisateur, spécifiez une form key. ","Link referring to a hosted image, or use a data URI directly to embed image data into the form.":"Lien vers une image hébergée, ou utilisez directement une data URI pour intégrer les données de l’image dans le formulaire.","List":"Liste","List contains {numOfItems} item":"La liste contient {numOfItems} élément","List contains {numOfItems} items":"La liste contient {numOfItems} éléments","List of items":"Liste d’éléments","List values":"Valeurs de la liste","Listener ID":"ID du listener","Listener type":"Type de listener","Literal Expression":"Expression littérale","Literal expression":"Expression littérale","Literal expression editor":"Éditeur d’expressions littérales","Loading...":"Chargement...","Local":"Local","Local variable assignment":"Affectation de variable locale","Local variable name":"Nom de la variable locale","Loop":"Boucle","Loop cardinality":"Cardinalité de boucle","MDN iFrame documentation.":"Documentation MDN iFrame.","Make this field read-only when it cannot be edited by the end-user, but its content is important for them to see. Its data will still be submitted.":"Passez ce champ en lecture seule lorsqu’il ne peut pas être modifié par l’utilisateur final mais que son contenu est important à afficher. Ses données sont tout de même envoyées.","Manual Task":"Tâche manuelle","Manual task":"Tâche manuelle","Map":"Associer","Map decision result":"Associer le résultat de la décision","Map entries":"Entrées associées","Match none":"Aucune correspondance","Match one":"Au moins une correspondance","Max height of preview container":"Hauteur maximale du conteneur d’aperçu","Max validation value is not a valid number.":"La valeur maximale de validation n’est pas un nombre valide.","Maximum":"Maximum","Maximum length":"Longueur maximale","Maximum {value} columns are allowed":"{value} colonnes au maximum sont autorisées","Maximum {value} fields per row are allowed":"{value} champs au maximum sont autorisés par ligne","Message":"Message","Message Boundary Event":"Événement de limite de message","Message Boundary Event (Non Interrupting)":"Événement de limite de message (non interruptif)","Message End Event":"Événement de fin de message","Message Flow":"Flux de message","Message Intermediate Catch Event":"Événement intermédiaire de capture de message","Message Intermediate Catch Event (Non Interrupting)":"Événement intermédiaire de capture de message (non interruptif)","Message Intermediate Throw Event":"Événement intermédiaire d’émission de message","Message Start Event":"Événement de début de message","Message Start Event (Non Interrupting)":"Événement de début de message (non interruptif)","Message boundary event":"Événement de limite de message","Message boundary event (non-interrupting)":"Événement de limite de message (non interruptif)","Message boundary event documentation":"Documentation de l’événement de limite de message","Message catch event documentation":"Documentation de l’événement de capture de message","Message end event":"Événement de fin de message","Message intermediate catch event":"Événement intermédiaire de capture de message","Message intermediate throw event":"Événement intermédiaire d’émission de message","Message start event":"Événement de début de message","Message start event (non-interrupting)":"Événement de début de message (non interruptif)","Message start event documentation":"Documentation de l’événement de début de message","Message throw event documentation":"Documentation de l’événement d’émission de message","Message variable":"Variable de message","Microphone access":"Accès au microphone","Min validation value is not a valid number.":"La valeur minimale de validation n’est pas un nombre valide.","Minimum":"Minimum","Minimum length":"Longueur minimale","Minimum {value} columns are allowed":"{value} colonnes au minimum sont autorisées","More actions":"Plus d’actions","Move Input":"Déplacer l’entrée","Move Output":"Déplacer la sortie","Move rule":"Déplacer la règle","Multi instance documentation":"Documentation multi-instance","Multi-instance":"Multi-instance","Multiple Boundary Event":"Événement de limite multiple","Multiple Boundary Event (Non Interrupting)":"Événement de limite multiple (non interruptif)","Multiple End Event":"Événement de fin multiple","Multiple Intermediate Catch Event":"Événement intermédiaire de capture multiple","Multiple Intermediate Catch Event (Non Interrupting)":"Événement intermédiaire de capture multiple (non interruptif)","Multiple Intermediate Throw Event":"Événement intermédiaire d’émission multiple","Multiple Start Event":"Événement de début multiple","Multiple Start Event (Non Interrupting)":"Événement de début multiple (non interruptif)","Multiple elements are selected. Select a single element to edit its properties.":"Plusieurs éléments sont sélectionnés. Sélectionnez un seul élément pour modifier ses propriétés.","Must be a valid QName.":"Doit être un QName valide.","Must be a variable or a dot separated path.":"Doit être une variable ou un chemin séparé par des points.","Must be a variable or a dot-separated path.":"Doit être une variable ou un chemin séparé par des points.","Must be at least {minLength} characters.":"Doit comporter au moins {minLength} caractères.","Must be empty, a variable or a dot-separated path.":"Doit être vide, une variable ou un chemin séparé par des points.","Must be unique.":"Doit être unique.","Must match pattern {pattern}.":"Doit correspondre au motif {pattern}.","Must not be a prohibited path.":"Ne doit pas être un chemin interdit.","Must not be empty":"Ne doit pas être vide","Must not be empty.":"Ne doit pas être vide.","Must not cause two binding paths to collide":"Ne doit pas faire entrer deux chemins de liaison en collision","Must not conflict with other key/path assignments.":"Ne doit pas être en conflit avec d’autres affectations clé/chemin.","Must not contain numerical path segments.":"Ne doit pas contenir de segments de chemin numériques.","Must not contain prefix.":"Ne doit pas contenir de préfixe.","Must not contain spaces.":"Ne doit pas contenir d’espaces.","Name":"Nom","New value exceeds the maximum of {value} columns per row":"La nouvelle valeur dépasse le maximum de {value} colonnes par ligne","Next page":"Page suivante","No Entries":"Aucune entrée","No cluster connected":"Aucun cluster connecté","No compatible configurations are available in the connected cluster":"Aucune configuration compatible n’est disponible dans le cluster connecté","No compatible version of this template was found for your environment. Unlink to access the template’s data.":"Aucune version compatible de ce modèle n’a été trouvée pour votre environnement. Déliez-le pour accéder aux données du modèle.","No components found.":"Aucun composant trouvé.","No content to show.":"Aucun contenu à afficher.","No files selected":"Aucun fichier sélectionné","No overlap is possible and all rules are disjoint. Only a single rule can be matched":"Aucun chevauchement n’est possible et toutes les règles sont disjointes. Une seule règle peut correspondre","No results":"Aucun résultat","No values":"Aucune valeur","Normal":"normale","Not all external sources can be displayed in the iFrame. Read more about it in the":"Toutes les sources externes ne peuvent pas être affichées dans l’iFrame. En savoir plus dans la","Not checked":"Non vérifié","Not found":"Introuvable","Not found on cluster":"Introuvable sur le cluster","Not supported":"Non pris en charge","Nothing to show.":"Rien à afficher.","Number":"Nombre","Number of days before this resource is being cleaned up. If specified, takes precedence over the engine configuration.":"Nombre de jours avant que cette ressource soit nettoyée. Si elle est indiquée, elle prime sur la configuration du moteur.","Number of non-collapsing items":"Nombre d’éléments non réductibles","Number of rows per page":"Nombre de lignes par page","Off":"Non","On":"Oui","Open decision table":"Ouvrir la table de décision","Open documentation":"Ouvrir la documentation","Open in fullscreen":"Ouvrir en plein écran","Open literal expression":"Ouvrir l’expression littérale","Open minimap":"Ouvrir la minicarte","Open modal windows":"Ouvrir des fenêtres modales","Open pop-up editor":"Ouvrir l’éditeur contextuel","Open popups":"Ouvrir des fenêtres contextuelles","Open {element}":"Ouvrir {element}","Opened in editor":"Ouvert dans l’éditeur","Options expression":"Expression d’options","Options source":"Source des options","Otherwise, only variables defined via input mappings will be propagated.":"Sinon, seules les variables définies par les mappings d’entrée sont propagées.","Otherwise, only variables defined via output mappings will be propagated.":"Sinon, seules les variables définies par les mappings de sortie sont propagées.","Out mapping propagation":"Propagation des mappings de sortie","Out mappings":"Mappings de sortie","Output":"Sortie","Output as string":"Sortie sous forme de chaîne","Output collection":"Collection de sortie","Output element":"Élément de sortie","Output label":"Libellé de sortie","Output label: ":"Libellé de sortie : ","Output mapping":"Mapping de sortie","Output mappings documentation":"Documentation des mappings de sortie","Output name":"Nom de la sortie","Output name: ":"Nom de la sortie : ","Output order":"Ordre des sorties","Output propagation":"Propagation en sortie","Output type":"Type de sortie","Output values":"Valeurs de sortie","Outputs":"Sorties","Pagination":"Pagination","Parallel Boundary Event (Non Interrupting)":"Événement de limite parallèle (non interruptif)","Parallel Event based instantiating Gateway":"Passerelle événementielle instantanée parallèle","Parallel Gateway":"Passerelle parallèle","Parallel Intermediate Catch Event (Non Interrupting)":"Événement intermédiaire de capture parallèle (non interruptif)","Parallel Multiple Boundary Event":"Événement de limite multiple parallèle","Parallel Multiple Intermediate Catch Event":"Événement intermédiaire de capture multiple parallèle","Parallel Multiple Start Event":"Événement de début multiple parallèle","Parallel Multiple Start Event (Non Interrupting)":"Événement de début multiple parallèle (non interruptif)","Parallel gateway":"Passerelle parallèle","Parallel multi-instance":"Multi-instance parallèle","Parameter won\\\\'t be available in process scope.":"Le paramètre ne sera pas disponible dans la portée du processus.","Parameter won\\\\'t be created as local variable.":"Le paramètre ne sera pas créé comme variable locale.","Participant":"Participant","Participant ID":"ID du participant","Participant Name":"Nom du participant","Participant multiplicity":"Multiplicité du participant","Paste input column left":"Coller la colonne d’entrée à gauche","Paste input column right":"Coller la colonne d’entrée à droite","Paste output column left":"Coller la colonne de sortie à gauche","Paste output column right":"Coller la colonne de sortie à droite","Paste rule above":"Coller la règle au-dessus","Paste rule below":"Coller la règle en dessous","Path":"Chemin","Pause Simulation":"Simulation en pause","Phone":"Téléphone","Play Simulation":"Simulation en cours","Play/Pause Simulation":"Lancer ou mettre en pause la simulation","Please make sure that the URL is safe as it might impose security risks.":"Assurez-vous que l’URL est sûre, car elle peut présenter des risques de sécurité.","Please select a valid value, the two nearest valid values are {previousValue} and {nextValue}.":"Veuillez sélectionner une valeur valide ; les deux valeurs valides les plus proches sont {previousValue} et {nextValue}.","Preconfigured elements":"Éléments préconfigurés","Predefined values":"Valeurs prédéfinies","Prefix":"Préfixe","Presentation":"Présentation","Previous page":"Page précédente","Priority":"Priorité","Process":"Processus","Process canceled":"Processus annulé","Process finished":"Processus terminé","Process ID":"ID de processus","Process documentation":"Documentation du processus","Process name":"Nom du processus","Process started":"Processus démarré","Process variable assignment":"Affectation de variable de processus","Process variable name":"Nom de la variable de processus","Process variable name must not be empty.":"Le nom de la variable de processus ne doit pas être vide.","Process variable name must not contain spaces.":"Le nom de la variable de processus ne doit pas contenir d’espaces.","Process variables":"Variables de processus","Propagate all child process variables":"Propage toutes les variables du processus enfant","Propagate all parent process variables":"Propage toutes les variables du processus parent","Propagate all variables":"Propage toutes les variables","Properties":"Propriétés","Question":"Question","Radio group":"Groupe de boutons radio","Range":"Intervalle","Range end operator":"Opérateur de fin d’intervalle","Range end value":"Valeur de fin d’intervalle","Range start operator":"Opérateur de début d’intervalle","Range start value":"Valeur de début d’intervalle","React to user task lifecycle events by executing a job worker. ":"Réagissez aux événements du cycle de vie d’une tâche utilisateur en exécutant un job worker. ","Read only":"Lecture seule","Receive Task":"Tâche de réception","Receive task":"Tâche de réception","Receive task message documentation":"Documentation du message de la tâche de réception","Refers to the process variable name":"Renvoie au nom de la variable de processus","Refreshing configurations...":"Actualisation des configurations...","Remove":"Retirer","Remove cell description":"Supprimer la description de la cellule","Remove form field":"Retirer le champ du formulaire","Remove input column":"Supprimer la colonne d’entrée","Remove list item {index}":"Supprimer l'élément de liste {index}","Remove output column":"Supprimer la colonne de sortie","Remove parameter":"Retirer le paramètre","Remove pause point":"Retirer le point de pause","Remove rule":"Supprimer la règle","Remove tag":"Retirer l’étiquette","Remove {label}":"Retirer {label}","Repeatable":"Répétable","Required":"Obligatoire","Reset":"Réinitialiser","Reset Simulation":"Réinitialiser la simulation","Resize":"Redimensionner","Resource":"Ressource","Result variable":"Variable de résultat","Retries":"Reprises","Retry time cycle":"Cycle de reprise","Routes the children of this component into a form variable, may be left empty to route at the root level.":"Achemine les enfants de ce composant vers une variable de formulaire ; peut rester vide pour acheminer au niveau racine.","Routes the children of this component into a form variable.":"Achemine les enfants de ce composant vers une variable de formulaire.","Rule order":"Ordre des règles","Rules may overlap. The first matching rule will be chosen":"Les règles peuvent se chevaucher. La première règle qui correspond est retenue","Rules may overlap. The one with the highest priority will be chosen":"Les règles peuvent se chevaucher. La règle de plus haute priorité est retenue","Rules may overlap. Their output have to match":"Les règles peuvent se chevaucher. Leurs sorties doivent être identiques","Scientific notation is disallowed in FEEL.":"La notation scientifique n’est pas autorisée en FEEL.","Scope":"Portée","Script":"Script","Script Task":"Tâche script","Script execution":"Exécution de scripts","Script task":"Tâche script","Script task documentation":"Documentation de la tâche script","Script type":"Type de script","Search":"Rechercher","Search components":"Rechercher des composants","Search in diagram":"Rechercher dans le diagramme","Searchable":"Recherchable","Section contains a warning":"La section contient un avertissement","Section contains an error":"La section contient une erreur","Section contains edits":"La section contient des modifications","Security attributes":"Attributs de sécurité","Select":"Sélectionner","Select an element to edit its properties.":"Sélectionnez un élément pour modifier ses propriétés.","Selection":"Sélection","Send Task":"Tâche d’envoi","Send task":"Tâche d’envoi","Send task documentation":"Documentation de la tâche d’envoi","Separator":"Séparateur","Sequence Flow":"Flux de séquence","Sequence flow":"Flux de séquence","Sequential multi-instance":"Multi-instance séquentielle","Serialization":"Sérialisation","Service Task":"Tâche de service","Service task":"Tâche de service","Service task documentation":"Documentation de la tâche de service","Set animation speed = {speed}":"Vitesse d’animation : {speed}","Set Sequence Flow":"Choisir le flux de séquence","Set color":"Définir la couleur","Set date":"Définir la date","Set date and time":"Définir la date et l’heure","Set duration":"Définir la durée","Set time":"Définir l’heure","Set value":"Définir la valeur","Should be a valid number.":"Doit être un nombre valide.","Should be an integer.":"Doit être un entier.","Should be at least {value}.":"Doit être au moins {value}.","Should be at most {value}.":"Doit être au plus {value}.","Should be greater than or equal to zero.":"Doit être supérieur ou égal à zéro.","Should be greater than zero.":"Doit être supérieur à zéro.","Should not contain more than {value} decimal digits.":"Ne doit pas comporter plus de {value} chiffres décimaux.","Show outline":"Afficher le contour","Signal":"Signal","Signal Boundary Event":"Événement de limite de signal","Signal Boundary Event (Non Interrupting)":"Événement de limite de signal (non interruptif)","Signal End Event":"Événement de fin de signal","Signal Intermediate Catch Event":"Événement intermédiaire de capture de signal","Signal Intermediate Catch Event (Non Interrupting)":"Événement intermédiaire de capture de signal (non interruptif)","Signal Intermediate Throw Event":"Événement intermédiaire d’émission de signal","Signal Start Event":"Événement de début de signal","Signal Start Event (Non Interrupting)":"Événement de début de signal (non interruptif)","Signal boundary event":"Événement de limite de signal","Signal boundary event (non-interrupting)":"Événement de limite de signal (non interruptif)","Signal end event":"Événement de fin de signal","Signal intermediate catch event":"Événement intermédiaire de capture de signal","Signal intermediate throw event":"Événement intermédiaire d’émission de signal","Signal start event":"Événement de début de signal","Signal start event (non-interrupting)":"Événement de début de signal (non interruptif)","Simulation Log":"Journal de simulation","Skip to search":"Aller à la recherche","Slow":"lente","Source":"Source","Source expression":"Expression de source","Spacer":"Espaceur","Specifies the default priority for all jobs created by a process. Must be an integer. If no value is provided, the default value is 0. ":"Indique la priorité par défaut de tous les jobs créés par un processus. Doit être un entier. Sans valeur fournie, la valeur par défaut est 0. ","Specifies the priority of a job. Must be an integer. If no value is provided, the default value is 0. ":"Indique la priorité d’un job. Doit être un entier. Sans valeur fournie, la valeur par défaut est 0. ","Specifies the priority of a user task. Must be an integer between 0 and 100. If no value is provided, the default value is 50. ":"Indique la priorité d’une tâche utilisateur. Doit être un entier entre 0 et 100. Sans valeur fournie, la valeur par défaut est 50. ","Specify an expression to populate column items":"Spécifiez une expression pour remplir les éléments de colonne","Specify more than one group as a comma separated list.":"Spécifiez plusieurs groupes sous forme de liste séparée par des virgules.","Specify more than one user as a comma separated list.":"Spécifiez plusieurs utilisateurs sous forme de liste séparée par des virgules.","Specify more than one variable change event as a comma separated list. Variable change events are:":"Spécifiez plusieurs événements de changement de variable sous forme de liste séparée par des virgules. Les événements de changement de variable sont :","Specify the condition that triggers this event. ":"Spécifiez la condition qui déclenche cet événement. ","Specify the source from which to populate the table":"Spécifiez la source depuis laquelle remplir la table","Specify which job workers handle the event work. ":"Spécifiez quels job workers prennent en charge le travail de l’événement. ","Specify which job workers handle the task work to evaluate business rules. ":"Spécifiez quels job workers prennent en charge le travail de la tâche pour évaluer des règles métier. ","Specify which job workers handle the task work to execute a script. ":"Spécifiez quels job workers prennent en charge le travail de la tâche pour exécuter un script. ","Specify which job workers handle the task work to execute a service (e.g. ":"Spécifiez quels job workers prennent en charge le travail de la tâche pour exécuter un service (p. ex. ","Specify which job workers handle the task work to send a message (e.g. ":"Spécifiez quels job workers prennent en charge le travail de la tâche pour envoyer un message (p. ex. ","Start Event":"Événement de début","Start date":"Date de début","Start date and time":"Date et heure de début","Start event":"Événement de début","Start event form documentation":"Documentation du formulaire d’événement de début","Start initiator":"Initiateur de départ","Start time":"Heure de début","Start typing \\"\${}\\" to create an expression.":"Commencez à saisir « \${} » pour créer une expression.","Start value":"Valeur de début","Startable":"Démarrable","Static options":"Options statiques","Storage access by user":"Accès au stockage par l’utilisateur","String":"Chaîne","String or expression":"Chaîne ou expression","String value":"Valeur de chaîne","Strings must be in double quotes":"Les chaînes doivent être entre guillemets doubles","Sub-process":"Sous-processus","Sub-process (collapsed)":"Sous-processus (replié)","Sub-process (expanded)":"Sous-processus (déplié)","Submit":"Envoyer","SubProcess canceled":"Sous-processus annulé","SubProcess finished":"Sous-processus terminé","SubProcess started":"Sous-processus démarré","Subscription correlation key":"Clé de corrélation de l’abonnement","Subscription correlation key documentation":"Documentation de la clé de corrélation de l’abonnement","Subtype":"Sous-type","Suffix":"Suffixe","Supported file formats":"Formats de fichier pris en charge","Supports HTML, styling, and templating. Styles are automatically scoped to the HTML component.":"Prend en charge HTML, les styles et les modèles. Les styles sont automatiquement limités au composant HTML.","Supports markdown and templating.":"Prend en charge markdown et les modèles.","Table":"Tableau","Tag list":"Liste d’étiquettes","Target":"Cible","Target value":"Valeur cible","Task":"Tâche","Task definition":"Définition de tâche","Task headers documentation":"Documentation des en-têtes de tâche","Task listeners":"Listeners de tâche","Task listeners documentation":"Documentation des listeners de tâche","Tasklist":"Tasklist","Template":"Modèle","Templates":"Modèles","Tenant ID":"ID de tenant","Terminate End Event":"Événement de fin terminate","Terminate end event":"Événement de fin terminate","Test type":"Type de test","Text":"Texte","Text Annotation":"Annotation de texte","Text area":"Zone de texte","Text field":"Champ de texte","Text view":"Vue de texte","Text view is empty":"La vue texte est vide","Text view is populated by an expression":"La vue texte est remplie par une expression","Text view is templated":"La vue texte est un modèle","The built-in phone validation pattern is based on the E.164 standard with no spaces. Ex: +491234567890":"Le motif de validation téléphone intégré est basé sur la norme E.164 sans espaces. Ex : +491234567890","The document data source is required.":"La source de données du document est obligatoire.","The due date as an EL expression (e.g. \${someDate}) or an ISO date (e.g. 2015-06-26T09:54:00).":"La date d’échéance sous forme d’expression EL (p. ex. \${someDate}) ou d’une date ISO (p. ex. 2015-06-26T09:54:00).","The error message to display when the input does not match the regular expression.":"Le message d’erreur à afficher quand la saisie ne correspond pas à l’expression régulière.","The expression may result in an array of simple values or alternatively follow this schema:":"L’expression peut donner un tableau de valeurs simples, ou suivre ce schéma :","The follow up date as an EL expression (e.g. \${someDate}) or an ISO date (e.g. 2015-06-26T09:54:00).":"La date de relance sous forme d’expression EL (p. ex. \${someDate}) ou d’une date ISO (p. ex. 2015-06-26T09:54:00).","The input property may be an array of simple values or alternatively follow this schema:":"La propriété d’entrée peut être un tableau de valeurs simples, ou suivre ce schéma :","The number of times the engine tries executing this activity if a worker signals a failure. The default is three.":"Le nombre de fois où le moteur tente d’exécuter cette activité si un worker signale un échec. La valeur par défaut est trois.","The template applied was not found. Therefore, its properties cannot be shown. Unlink to access the data.":"Le modèle appliqué est introuvable. Ses propriétés ne peuvent donc pas être affichées. Déliez-le pour accéder aux données.","Then":"Alors","These options can incur security risks, especially if used in combination with dynamic links. Ensure that you are aware of them, that you trust the source url and only enable what your use case requires.":"Ces options peuvent présenter des risques de sécurité, surtout en combinaison avec des liens dynamiques. Assurez-vous de les connaître, de faire confiance à l’url source et de n’activer que ce dont votre cas d’usage a besoin.","This maps to the decision definition key.":"Cela correspond à la clé de la définition de décision.","This maps to the process definition key.":"Cela correspond à la clé de la définition de processus.","This template is deprecated.":"Ce modèle est obsolète.","Throw expression":"Expression d’émission","Time":"Heure","Time format":"Format de l’heure","Time interval":"Intervalle de temps","Time label":"Libellé de l’heure","Time to live":"Durée de vie","Time value":"Valeur d’heure","Timer":"Minuterie","Timer Boundary Event":"Événement de limite par minuterie","Timer Boundary Event (Non Interrupting)":"Événement de limite par minuterie (non interruptif)","Timer Intermediate Catch Event":"Événement intermédiaire de capture par minuterie","Timer Intermediate Catch Event (Non Interrupting)":"Événement intermédiaire de capture par minuterie (non interruptif)","Timer Start Event":"Événement de début par minuterie","Timer Start Event (Non Interrupting)":"Événement de début par minuterie (non interruptif)","Timer boundary event":"Événement de limite par minuterie","Timer boundary event (non-interrupting)":"Événement de limite par minuterie (non interruptif)","Timer documentation":"Documentation de la minuterie","Timer intermediate catch event":"Événement intermédiaire de capture par minuterie","Timer start event":"Événement de début par minuterie","Timer start event (non-interrupting)":"Événement de début par minuterie (non interruptif)","To collect the output define the output collection and the output element expressions. ":"Pour rassembler la sortie, définissez les expressions de la collection de sortie et de l’élément de sortie. ","Toggle Simulation Log":"Afficher ou masquer le journal de simulation","Toggle linting overlays":"Afficher ou masquer les calques de lint","Toggle list item":"Basculer l’élément de liste","Toggle non-interrupting":"Basculer non interruptif","Toggle section":"Basculer la section","Token Simulation":"Simulation de jetons","Top":"Haut","Top level navigation":"Navigation de niveau supérieur","Topic":"Topic","Transaction":"Transaction","Trigger Event":"Déclencher l’événement","Type":"Type","URL":"URL","UTC plus 2 hours zone offset":"Décalage de fuseau UTC plus 2 heures","UTC time":"Heure UTC","Unable to download document":"Téléchargement du document impossible","Unique":"Unique","Unlink":"Délier","Unparsable FEEL expression.":"Expression FEEL illisible.","Unset":"Non défini","Update":"Mettre à jour","Update available":"Mise à jour disponible","Upgrade":"Mettre à niveau","Upload multiple files":"Téléverser plusieurs fichiers","Use 24h":"Utiliser 24 h","Use a unique \\"key\\" to link the form element and the related input/output data. When dealing with nested data, break it down in the user task\\\\":"Utilisez une \\"clé\\" unique pour relier l’élément de formulaire et les données d’entrée/sortie associées. Avec des données imbriquées, décomposez-les dans le mapping d’entrée de la tâche utilisateur\\\\","Use a unique \\"key\\" to link the form element and the related input/output data. When dealing with nested data, break it down in the user task\\\\'s input mapping before using it.":"Utilisez une « clé » unique pour relier l’élément de formulaire et les données d’entrée/sortie associées. Avec des données imbriquées, décomposez-les dans le mapping d’entrée de la tâche utilisateur avant de les utiliser.","Use now":"Utiliser maintenant","Use the preview window to test your form.":"Utilisez la fenêtre d’aperçu pour tester votre formulaire.","Use today":"Utiliser aujourd’hui","User Task":"Tâche utilisateur","User assignment":"Affectation utilisateur","User task":"Tâche utilisateur","User task documentation":"Documentation de la tâche utilisateur","User task form documentation":"Documentation du formulaire de tâche utilisateur","User task priority documentation":"Documentation de la priorité de tâche utilisateur","Uses the most recent deployed resource with the given version tag.":"Utilise la ressource déployée la plus récente portant l’étiquette de version indiquée.","Uses the most recent deployed resource.":"Utilise la ressource déployée la plus récente.","Uses the resource found in the same deployment.":"Utilise la ressource trouvée dans le même déploiement.","Validation":"Validation","Validation pattern":"Motif de validation","Value":"Valeur","Value changes":"Changements de valeur","Value is expected to be an integer.":"La valeur doit être un entier.","Value is expected to have at most 1 decimal digit.":"La valeur doit comporter au plus 1 chiffre décimal.","Value is expected to have at most {value} decimal digits.":"La valeur doit comporter au plus {value} chiffres décimaux.","Value is not a number.":"La valeur n’est pas un nombre.","Values":"Valeurs","Variable":"Variable","Variable assignment value":"Valeur d’affectation de variable","Variable events":"Événements de variable","Variable events that trigger the condition evaluation. If none selected, all variable events will trigger the condition evaluation. ":"Événements de variable qui déclenchent l’évaluation de la condition. Si aucun n’est sélectionné, tous les événements de variable déclencheront l’évaluation. ","Variable name":"Nom de la variable","Variable name:":"Nom de la variable :","Variable type":"Type de variable","Variable type:":"Type de variable :","Version":"Version","Version tag":"Étiquette de version","Version tag binding":"Liaison par étiquette de version","Version tag by which the called decision will be referenced.":"Étiquette de version par laquelle la décision appelée sera référencée.","Version tag by which the called process will be referenced.":"Étiquette de version par laquelle le processus appelé sera référencé.","Version tag by which the linked form will be referenced.":"Étiquette de version par laquelle le formulaire lié sera référencé.","Version tag by which this decision can be referenced.":"Étiquette de version par laquelle cette décision peut être référencée.","Version tag by which this form can be referenced.":"Étiquette de version par laquelle ce formulaire peut être référencé.","Version tag by which this process can be referenced.":"Étiquette de version par laquelle ce processus peut être référencé.","Version {version} · Requires version {minimumVersion}+":"Version {version} · Nécessite la version {minimumVersion}+","Vertical alignment":"Alignement vertical","View DRD":"Afficher le DRD","Wait for completion":"Attendre la fin","When":"Quand","When using Camunda Tasklist UI, additional document reference attributes are automatically handled. Modifying the document reference may affect the document preview functionality.":"Avec l’interface Camunda Tasklist, les attributs supplémentaires de la référence de document sont gérés automatiquement. Modifier la référence de document peut nuire à l’aperçu du document.","Where the child variables of this component are pathed to.":"Où sont acheminées les variables enfants de ce composant.","X-FRAME-OPTIONS documentation":"Documentation X-FRAME-OPTIONS","Yes":"Oui","assignment":"assignment","binding path '{value}' is already claimed":"le chemin de liaison « {value} » est déjà utilisé","boolean":"boolean","collectEntries (List<Object>)":"collectEntries (List<Object>)","complete":"complete","create":"create","date":"date","delete":"delete","deployment":"deployment","documentation":"documentation","e.g. { example } ":"p. ex. { example } ","e.g. { sample }":"p. ex. { sample }","end":"end","enum":"enum","every 10 seconds, up to 5 times":"toutes les 10 secondes, jusqu’à 5 fois","every day, infinitely":"tous les jours, indéfiniment","every hour on the hour from 9-5 p.m. UTC Monday-Friday":"toutes les heures, de 9 h à 17 h UTC, du lundi au vendredi","file type specifiers":"spécificateurs de type de fichier","flow elements must be children of pools/participants":"les éléments de flux doivent se trouver dans des pools ou des participants","latest":"latest","long":"long","name":"nom","resultList (List<Map<String, Object>>)":"resultList (List<Map<String, Object>>)","singleEntry (TypedValue)":"singleEntry (TypedValue)","singleResult (Map<String, Object>)":"singleResult (Map<String, Object>)","start":"start","string":"string","take":"take","timeout":"timeout","update":"update","version":"version","version tag":"version tag","versionTag":"versionTag","{eventType}: {type}":"{eventType} : {type}","{label} cannot exceed {maxLength} characters.":"{label} ne peut pas dépasser {maxLength} caractères.","{label} must be at least {minLength} characters.":"{label} doit comporter au moins {minLength} caractères.","{label} must match pattern {pattern}.":"{label} doit correspondre au motif {pattern}.","{label} must not be empty.":"{label} ne doit pas être vide.","{label} {message}":"{label} {message}","{name} canceled":"{name} annulé","{name} finished":"{name} terminé","{name} started":"{name} démarré","{page} of {total}":"{page} sur {total}","{value} files selected":"{value} fichiers sélectionnés"}`),n={app:e,libs:t};export{e as app,n as default,t as libs};