@maudecode/talaria-web 1.21.0 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/_release.json +4 -4
  2. package/dist/api/automation-router.d.ts +14 -14
  3. package/dist/api/chat-router.d.ts +217 -68
  4. package/dist/api/groups-router.d.ts +764 -0
  5. package/dist/api/groups-router.js +79 -0
  6. package/dist/api/groups-router.js.map +1 -0
  7. package/dist/api/raw-routes.js +3 -1
  8. package/dist/api/raw-routes.js.map +1 -1
  9. package/dist/api/sessions-router.d.ts +559 -160
  10. package/dist/api/sessions-router.js +9 -12
  11. package/dist/api/sessions-router.js.map +1 -1
  12. package/dist/api/settings-router.d.ts +911 -1
  13. package/dist/api/settings-router.js +53 -2
  14. package/dist/api/settings-router.js.map +1 -1
  15. package/dist/api/sse-routes.d.ts +1 -1
  16. package/dist/api/sse-routes.js +11 -3
  17. package/dist/api/sse-routes.js.map +1 -1
  18. package/dist/api/tools-raw.js +27 -136
  19. package/dist/api/tools-raw.js.map +1 -1
  20. package/dist/api/tools-router.d.ts +109 -24
  21. package/dist/api/tools-router.js +64 -7
  22. package/dist/api/tools-router.js.map +1 -1
  23. package/dist/app.js +5 -1
  24. package/dist/app.js.map +1 -1
  25. package/dist/auth/gate.js +5 -1
  26. package/dist/auth/gate.js.map +1 -1
  27. package/dist/config/agent-config.d.ts +6 -1
  28. package/dist/config/agent-config.js +75 -3
  29. package/dist/config/agent-config.js.map +1 -1
  30. package/dist/feedback.d.ts +18 -0
  31. package/dist/feedback.js +145 -0
  32. package/dist/feedback.js.map +1 -0
  33. package/dist/fs/stat.d.ts +2 -0
  34. package/dist/fs/stat.js +4 -0
  35. package/dist/fs/stat.js.map +1 -1
  36. package/dist/http/context.d.ts +7 -0
  37. package/dist/http/context.js +0 -6
  38. package/dist/http/context.js.map +1 -1
  39. package/dist/http/pinned.js +19 -8
  40. package/dist/http/pinned.js.map +1 -1
  41. package/dist/providers/catalog.d.ts +9 -1
  42. package/dist/providers/catalog.js +86 -6
  43. package/dist/providers/catalog.js.map +1 -1
  44. package/dist/redact.js +9 -3
  45. package/dist/redact.js.map +1 -1
  46. package/dist/runtime.js +27 -4
  47. package/dist/runtime.js.map +1 -1
  48. package/dist/server.js +1 -0
  49. package/dist/server.js.map +1 -1
  50. package/dist/sessions/anchor.d.ts +3 -2
  51. package/dist/sessions/anchor.js +11 -10
  52. package/dist/sessions/anchor.js.map +1 -1
  53. package/dist/sessions/cli-sessions.js +11 -6
  54. package/dist/sessions/cli-sessions.js.map +1 -1
  55. package/dist/sessions/compress.d.ts +10 -9
  56. package/dist/sessions/compress.js +31 -20
  57. package/dist/sessions/compress.js.map +1 -1
  58. package/dist/sessions/gateway-sessions.d.ts +11 -0
  59. package/dist/sessions/gateway-sessions.js +79 -24
  60. package/dist/sessions/gateway-sessions.js.map +1 -1
  61. package/dist/sessions/gateway-watcher.js +8 -4
  62. package/dist/sessions/gateway-watcher.js.map +1 -1
  63. package/dist/sessions/groups.d.ts +60 -0
  64. package/dist/sessions/groups.js +339 -0
  65. package/dist/sessions/groups.js.map +1 -0
  66. package/dist/sessions/list.d.ts +7 -2
  67. package/dist/sessions/list.js +13 -4
  68. package/dist/sessions/list.js.map +1 -1
  69. package/dist/sessions/merge.d.ts +14 -5
  70. package/dist/sessions/merge.js +42 -13
  71. package/dist/sessions/merge.js.map +1 -1
  72. package/dist/sessions/pending.d.ts +1 -1
  73. package/dist/sessions/pending.js +15 -6
  74. package/dist/sessions/pending.js.map +1 -1
  75. package/dist/sessions/prefix-index.d.ts +1 -14
  76. package/dist/sessions/prefix-index.js +1 -50
  77. package/dist/sessions/prefix-index.js.map +1 -1
  78. package/dist/sessions/reasoning-display.d.ts +2 -0
  79. package/dist/sessions/reasoning-display.js +31 -0
  80. package/dist/sessions/reasoning-display.js.map +1 -0
  81. package/dist/sessions/relay.d.ts +4 -1
  82. package/dist/sessions/relay.js +44 -7
  83. package/dist/sessions/relay.js.map +1 -1
  84. package/dist/sessions/service.d.ts +7 -2
  85. package/dist/sessions/service.js +104 -64
  86. package/dist/sessions/service.js.map +1 -1
  87. package/dist/sessions/session.d.ts +6 -0
  88. package/dist/sessions/session.js +13 -0
  89. package/dist/sessions/session.js.map +1 -1
  90. package/dist/sessions/shares.d.ts +1 -1
  91. package/dist/sessions/shares.js +13 -4
  92. package/dist/sessions/shares.js.map +1 -1
  93. package/dist/sessions/state-db.d.ts +2 -1
  94. package/dist/sessions/state-db.js +7 -3
  95. package/dist/sessions/state-db.js.map +1 -1
  96. package/dist/sessions/storage/json-documents.js +2 -0
  97. package/dist/sessions/storage/json-documents.js.map +1 -1
  98. package/dist/sessions/store.d.ts +1 -0
  99. package/dist/sessions/store.js +10 -3
  100. package/dist/sessions/store.js.map +1 -1
  101. package/dist/sessions/streams.d.ts +2 -0
  102. package/dist/sessions/streams.js +12 -0
  103. package/dist/sessions/streams.js.map +1 -1
  104. package/dist/sessions/todo.js +10 -1
  105. package/dist/sessions/todo.js.map +1 -1
  106. package/dist/sessions/turn.js +33 -9
  107. package/dist/sessions/turn.js.map +1 -1
  108. package/dist/settings.js +2 -1
  109. package/dist/settings.js.map +1 -1
  110. package/dist/spa.js +1 -1
  111. package/dist/spa.js.map +1 -1
  112. package/dist/test/group-fixture.d.ts +66 -0
  113. package/dist/test/group-fixture.js +89 -0
  114. package/dist/test/group-fixture.js.map +1 -0
  115. package/dist/test/harness.d.ts +3 -0
  116. package/dist/test/harness.js +3 -0
  117. package/dist/test/harness.js.map +1 -1
  118. package/dist/tools/connectors.d.ts +9 -1
  119. package/dist/tools/connectors.js +48 -0
  120. package/dist/tools/connectors.js.map +1 -1
  121. package/dist/tools/gateway-restart.d.ts +1 -1
  122. package/dist/tools/skills.d.ts +6 -0
  123. package/dist/tools/skills.js +17 -0
  124. package/dist/tools/skills.js.map +1 -1
  125. package/dist/tools/updates.d.ts +16 -9
  126. package/dist/tools/updates.js +63 -25
  127. package/dist/tools/updates.js.map +1 -1
  128. package/dist/workspace/fs.d.ts +2 -0
  129. package/dist/workspace/fs.js +63 -1
  130. package/dist/workspace/fs.js.map +1 -1
  131. package/dist/workspace/upload.d.ts +1 -1
  132. package/dist/workspace/upload.js +52 -37
  133. package/dist/workspace/upload.js.map +1 -1
  134. package/dist/workspace/workspaces.d.ts +5 -1
  135. package/dist/workspace/workspaces.js +32 -6
  136. package/dist/workspace/workspaces.js.map +1 -1
  137. package/package.json +2 -2
  138. package/sidecar/agent_importer.json +8 -0
  139. package/sidecar/scripts/agent_importer_contract.py +19 -0
  140. package/sidecar/scripts/test.sh +3 -1
  141. package/sidecar/talaria_sidecar/__init__.py +1 -1
  142. package/sidecar/talaria_sidecar/home.py +12 -5
  143. package/sidecar/talaria_sidecar/methods/__init__.py +2 -2
  144. package/sidecar/talaria_sidecar/methods/agent_imports.py +346 -0
  145. package/sidecar/talaria_sidecar/methods/chat.py +141 -58
  146. package/sidecar/talaria_sidecar/methods/commands.py +6 -4
  147. package/sidecar/talaria_sidecar/methods/config.py +8 -3
  148. package/sidecar/talaria_sidecar/methods/connectors.py +138 -4
  149. package/sidecar/talaria_sidecar/methods/dashboard_plugins.py +21 -0
  150. package/sidecar/talaria_sidecar/methods/delegation.py +126 -0
  151. package/sidecar/talaria_sidecar/methods/gateway.py +5 -0
  152. package/sidecar/talaria_sidecar/methods/gateway_sessions.py +35 -6
  153. package/sidecar/talaria_sidecar/methods/groups.py +120 -0
  154. package/sidecar/talaria_sidecar/methods/memory.py +27 -3
  155. package/sidecar/talaria_sidecar/methods/nous_account.py +130 -0
  156. package/sidecar/talaria_sidecar/methods/oauth.py +25 -4
  157. package/sidecar/talaria_sidecar/methods/outbound_drafts.py +1 -19
  158. package/sidecar/talaria_sidecar/methods/plugin_catalog.py +73 -2
  159. package/sidecar/talaria_sidecar/methods/providers.py +51 -1
  160. package/sidecar/talaria_sidecar/methods/skill_revisions.py +177 -0
  161. package/sidecar/talaria_sidecar/methods/skills.py +10 -0
  162. package/sidecar/talaria_sidecar/methods/tts.py +67 -0
  163. package/sidecar/talaria_sidecar/rpc.py +11 -2
  164. package/static/dist/FILES.txt +155 -143
  165. package/static/dist/THIRD_PARTY_LICENSES.md +1 -1
  166. package/static/dist/assets/AppShell-hvysbd9x.js +8 -0
  167. package/static/dist/assets/{Button-nuaikybd.js → Button-dlsibkzq.js} +1 -1
  168. package/static/dist/assets/ChatPage-jikwrwfd.js +2 -0
  169. package/static/dist/assets/Composer-mnke8ss2.js +5 -0
  170. package/static/dist/assets/ConnectTargets-ejplzo4q.js +1 -0
  171. package/static/dist/assets/Dialog-rksfyyq5.js +1 -0
  172. package/static/dist/assets/{ExtensionRoute-l1yjrso4.js → ExtensionRoute-igk5h0rj.js} +1 -1
  173. package/static/dist/assets/HubRoute-eooassx4.js +2 -0
  174. package/static/dist/assets/Markdown-m5pzgvtx.js +2 -0
  175. package/static/dist/assets/{MarkdownRenderer-ccgqrza3.js → MarkdownRenderer-74ysuomr.js} +6 -6
  176. package/static/dist/assets/OAuthSignIn-i4flsuq2.js +1 -0
  177. package/static/dist/assets/QueueCard-msz9wd1m.js +1 -0
  178. package/static/dist/assets/ResourceSwitch-b70zg4xd.js +1 -0
  179. package/static/dist/assets/RightPanel-f5v61m8j.js +1 -0
  180. package/static/dist/assets/Select-f3l897pt.js +1 -0
  181. package/static/dist/assets/SessionListPanel-brnzacw9.js +1 -0
  182. package/static/dist/assets/SettingsLayout-f4akmrt2.js +1 -0
  183. package/static/dist/assets/States-msohx3c0.js +1 -0
  184. package/static/dist/assets/TerminalPanel-bnu5xawo.js +16 -0
  185. package/static/dist/assets/Toaster-d6col3ch.js +1 -0
  186. package/static/dist/assets/_app-lrjgufcy.js +1 -0
  187. package/static/dist/assets/{_app.ext._extensionId-n797jp72.js → _app.ext._extensionId-k3xitxr1.js} +1 -1
  188. package/static/dist/assets/_app.groups-bt4wdwnd.js +1 -0
  189. package/static/dist/assets/{_app.index-ne43mdw2.js → _app.index-n3otiki0.js} +1 -1
  190. package/static/dist/assets/{_app.insights-fqonovb4.js → _app.insights-b0mzlh6m.js} +1 -1
  191. package/static/dist/assets/{_app.kanban-kysliv19.js → _app.kanban-d923g7j5.js} +1 -1
  192. package/static/dist/assets/{_app.logs-febut82r.js → _app.logs-donegue1.js} +1 -1
  193. package/static/dist/assets/{_app.memory-ha86oj1c.js → _app.memory-hdnled08.js} +1 -1
  194. package/static/dist/assets/{_app.profiles-cnu3gxxq.js → _app.profiles-fumot3jk.js} +1 -1
  195. package/static/dist/assets/{_app.session._sessionId-ifzjpcgn.js → _app.session._sessionId-crmdl2ux.js} +1 -1
  196. package/static/dist/assets/{_app.settings-nmakdiaf.js → _app.settings-jui8iesz.js} +1 -1
  197. package/static/dist/assets/_app.settings._section-do84hsqw.js +3 -0
  198. package/static/dist/assets/{_app.skills-f3wad8yo.js → _app.skills-heqcn21m.js} +1 -1
  199. package/static/dist/assets/_app.tasks-jiudtutt.js +1 -0
  200. package/static/dist/assets/{_app.todos-bml1m3r1.js → _app.todos-bl6kk2zq.js} +1 -1
  201. package/static/dist/assets/{_app.workspaces-f3d066lx.js → _app.workspaces-frvh3o7w.js} +1 -1
  202. package/static/dist/assets/_delete-qnxuo87s.js +1 -0
  203. package/static/dist/assets/{abnfDiagram-VCTEODGH-i53jc4yp.js → abnfDiagram-VCTEODGH-dppg3yfx.js} +1 -1
  204. package/static/dist/assets/{architecture-7GRP2DOG-e3bv5m6f.js → architecture-7GRP2DOG-gbajejh3.js} +1 -1
  205. package/static/dist/assets/{architectureDiagram-5GKGNRK7-pakekxu2.js → architectureDiagram-5GKGNRK7-bzrxyais.js} +1 -1
  206. package/static/dist/assets/archive-yhdyz231.js +1 -0
  207. package/static/dist/assets/autoReadClaim-nlyv8tu9.js +1 -0
  208. package/static/dist/assets/{blockDiagram-I7D4REHJ-bc6bo1n6.js → blockDiagram-I7D4REHJ-gmk9koab.js} +1 -1
  209. package/static/dist/assets/{c4Diagram-7LVT6UL2-btvwk2qx.js → c4Diagram-7LVT6UL2-bfqiqqcz.js} +1 -1
  210. package/static/dist/assets/channel-grt3rob4.js +1 -0
  211. package/static/dist/assets/{chunk-4HAMMTFA-dlwab11c.js → chunk-4HAMMTFA-i9s6h4wv.js} +1 -1
  212. package/static/dist/assets/{chunk-75Z2AOVW-dp5gh7i8.js → chunk-75Z2AOVW-gnt6pnso.js} +1 -1
  213. package/static/dist/assets/{chunk-DU6HZSFF-bi06zl1c.js → chunk-DU6HZSFF-gq439wot.js} +3 -3
  214. package/static/dist/assets/{chunk-F27PBJKO-kvv1rnlh.js → chunk-F27PBJKO-wvx90pbt.js} +1 -1
  215. package/static/dist/assets/{chunk-GMAD6QVW-ji0rx9by.js → chunk-GMAD6QVW-mc2gu30k.js} +1 -1
  216. package/static/dist/assets/{chunk-GVQU2GXP-nmz0j82p.js → chunk-GVQU2GXP-f8fxa2ym.js} +1 -1
  217. package/static/dist/assets/{chunk-IMKFNOWR-kmi1qx88.js → chunk-IMKFNOWR-lnsl31hj.js} +1 -1
  218. package/static/dist/assets/{chunk-L3NEJ4N5-xhb7mebj.js → chunk-L3NEJ4N5-kbfdidwu.js} +1 -1
  219. package/static/dist/assets/{chunk-OSK3NFVY-5a9sgscq.js → chunk-OSK3NFVY-dvxsduj6.js} +1 -1
  220. package/static/dist/assets/{chunk-P2QGCYS3-dfezp4vu.js → chunk-P2QGCYS3-ivo3i1wf.js} +1 -1
  221. package/static/dist/assets/{chunk-POPQ4Y6H-gd2vq3c0.js → chunk-POPQ4Y6H-i0gfu0hx.js} +1 -1
  222. package/static/dist/assets/{chunk-PWAF6VOD-wvw2nksf.js → chunk-PWAF6VOD-jb0fdyb0.js} +1 -1
  223. package/static/dist/assets/{chunk-SHT3W25Y-f58q97px.js → chunk-SHT3W25Y-b7ou2xsp.js} +1 -1
  224. package/static/dist/assets/{chunk-SVP7TREG-abgwpyz9.js → chunk-SVP7TREG-e2v7me5v.js} +1 -1
  225. package/static/dist/assets/{chunk-TICWLB2K-h4sbs8ds.js → chunk-TICWLB2K-e5zlai62.js} +1 -1
  226. package/static/dist/assets/classDiagram-ZZMXUADV-nnsp49jr.js +1 -0
  227. package/static/dist/assets/classDiagram-v2-VYDZK3BY-nnsp49jr.js +1 -0
  228. package/static/dist/assets/completionAudio-c5at041z.js +1 -0
  229. package/static/dist/assets/{copy-m9h56qa8.js → copy-jj3oiw13.js} +1 -1
  230. package/static/dist/assets/{cynefin-OW5HDTMX-g081vffs.js → cynefin-OW5HDTMX-n5n1ck70.js} +1 -1
  231. package/static/dist/assets/{cynefinDiagram-5FMLGOSQ-odxvjesk.js → cynefinDiagram-5FMLGOSQ-b33npu4f.js} +1 -1
  232. package/static/dist/assets/{dagre-GXQ25YYZ-cpdwzjs4.js → dagre-GXQ25YYZ-miwvae07.js} +1 -1
  233. package/static/dist/assets/{diagram-S7CK7UJ4-clv5mxvu.js → diagram-S7CK7UJ4-j8fphsp4.js} +1 -1
  234. package/static/dist/assets/{diagram-UQ7AKVKN-m2ia1mbf.js → diagram-UQ7AKVKN-5cixo166.js} +1 -1
  235. package/static/dist/assets/{diagram-VSXAHHWV-ea6zv636.js → diagram-VSXAHHWV-ii3bf92m.js} +1 -1
  236. package/static/dist/assets/{diagram-VX7I27RA-oqlef685.js → diagram-VX7I27RA-b3cfgx81.js} +1 -1
  237. package/static/dist/assets/{diagram-Z3DM3KII-kjubcbwu.js → diagram-Z3DM3KII-bey9lqr8.js} +1 -1
  238. package/static/dist/assets/{dist-carq1azj.js → dist-cb8um5dh.js} +4 -4
  239. package/static/dist/assets/{dist-crc46di9.js → dist-kpg5ccm9.js} +1 -1
  240. package/static/dist/assets/{ebnfDiagram-PWID7BFC-fg0zri3e.js → ebnfDiagram-PWID7BFC-2m4wrnqc.js} +1 -1
  241. package/static/dist/assets/{erDiagram-RLTQ6QDP-eb7pmk3x.js → erDiagram-RLTQ6QDP-kak5te0n.js} +1 -1
  242. package/static/dist/assets/{eventmodeling-NTZA5JFV-gvi1fxhn.js → eventmodeling-NTZA5JFV-ojcc486t.js} +1 -1
  243. package/static/dist/assets/flowDiagram-HODETNUW-kxr9sicu.js +1 -0
  244. package/static/dist/assets/folder-plus-fk6j7tlv.js +1 -0
  245. package/static/dist/assets/{ganttDiagram-EL5Y4UJY-jmisowrc.js → ganttDiagram-EL5Y4UJY-k6nfmhrh.js} +1 -1
  246. package/static/dist/assets/getPseudoElementBounds-mwj3vqni.js +1 -0
  247. package/static/dist/assets/{gitGraph-4MIJSDKK-m7kt3u6e.js → gitGraph-4MIJSDKK-bxq1lbhy.js} +1 -1
  248. package/static/dist/assets/{gitGraphDiagram-WWUBYQGX-nq7vfzh2.js → gitGraphDiagram-WWUBYQGX-ehvoankt.js} +1 -1
  249. package/static/dist/assets/group_discussions-fk5hry4l.js +1 -0
  250. package/static/dist/assets/{highlighted-body-KPVGNVTW-gcu017ay.js → highlighted-body-KPVGNVTW-nr4nfdq7.js} +1 -1
  251. package/static/dist/assets/{host-ipp4e84c.js → host-dhgqiozp.js} +1 -1
  252. package/static/dist/assets/index-hx7z4wdj.js +13 -0
  253. package/static/dist/assets/index-o8ebuc5x.css +2 -0
  254. package/static/dist/assets/{info-A6RAGUB7-idazwfqe.js → info-A6RAGUB7-dtsj0ybw.js} +1 -1
  255. package/static/dist/assets/{infoDiagram-27XIBGKW-bb9jh8gl.js → infoDiagram-27XIBGKW-jena90ao.js} +1 -1
  256. package/static/dist/assets/{ishikawaDiagram-5VMMS53U-nqc132rv.js → ishikawaDiagram-5VMMS53U-kia6bn5u.js} +1 -1
  257. package/static/dist/assets/{journeyDiagram-3NMN7TZE-fpvnhy44.js → journeyDiagram-3NMN7TZE-ipsa6icb.js} +1 -1
  258. package/static/dist/assets/{kanban-definition-UXKFOSKX-ndzqm6fu.js → kanban-definition-UXKFOSKX-moxx59kp.js} +1 -1
  259. package/static/dist/assets/katex-ic33v820.js +257 -0
  260. package/static/dist/assets/katex-qcv7xo0t.css +1 -0
  261. package/static/dist/assets/{lazyRouteComponent-javud235.js → lazyRouteComponent-i74ujrfk.js} +1 -1
  262. package/static/dist/assets/{line-g625e7cj.js → line-lgrkg9no.js} +1 -1
  263. package/static/dist/assets/link-2-fp49mwl2.js +1 -0
  264. package/static/dist/assets/{link-gfdaho08.js → link-es18mse1.js} +2 -2
  265. package/static/dist/assets/{locale-cs-n41hptse.js → locale-cs-brltdkcp.js} +1 -1
  266. package/static/dist/assets/{locale-de-k7ht47ew.js → locale-de-h6e9oq6v.js} +1 -1
  267. package/static/dist/assets/{locale-es-ih078lco.js → locale-es-oklmh80f.js} +1 -1
  268. package/static/dist/assets/{locale-fr-ojabnf41.js → locale-fr-b17ozoi2.js} +1 -1
  269. package/static/dist/assets/{locale-it-kb96jufy.js → locale-it-whe01eef.js} +1 -1
  270. package/static/dist/assets/{locale-ja-jpsp3xs1.js → locale-ja-g1s0rtpc.js} +1 -1
  271. package/static/dist/assets/{locale-pl-dbap4leu.js → locale-pl-d9p3lqcb.js} +1 -1
  272. package/static/dist/assets/{locale-pt-nci7w72x.js → locale-pt-l75on74f.js} +1 -1
  273. package/static/dist/assets/{locale-ru-soghe4cs.js → locale-ru-wl3mbsaw.js} +1 -1
  274. package/static/dist/assets/{locale-tr-ks00mu68.js → locale-tr-cz87itrq.js} +1 -1
  275. package/static/dist/assets/{locale-vi-ij7twfm6.js → locale-vi-elqj1y4k.js} +1 -1
  276. package/static/dist/assets/{locale-zh-Hant-feakwr7a.js → locale-zh-Hant-hf8gqm7d.js} +1 -1
  277. package/static/dist/assets/{locale-zh-ren0vjyv.js → locale-zh-cdckwb0u.js} +1 -1
  278. package/static/dist/assets/login-o6gfl4gy.js +1 -0
  279. package/static/dist/assets/mermaid-HWGCJPDP-n2kbzsao.js +1 -0
  280. package/static/dist/assets/{mermaid-parser.core-plzkuzov.js → mermaid-parser.core-fflovwf2.js} +3 -3
  281. package/static/dist/assets/{mindmap-definition-YA3MSWOX-ojrgs569.js → mindmap-definition-YA3MSWOX-ic8l9whi.js} +1 -1
  282. package/static/dist/assets/onboarding-bxm7gdrr.js +1 -0
  283. package/static/dist/assets/{packet-AYTQ26CC-gyaf9s8h.js → packet-AYTQ26CC-ntci3088.js} +1 -1
  284. package/static/dist/assets/{pegDiagram-XKGWAZYB-bf6xj8mq.js → pegDiagram-XKGWAZYB-e3btz04w.js} +1 -1
  285. package/static/dist/assets/{pie-WAS4IAKB-f5ymzelo.js → pie-WAS4IAKB-o2dc7l36.js} +1 -1
  286. package/static/dist/assets/{pieDiagram-E7YTZNPT-d0qjl3zi.js → pieDiagram-E7YTZNPT-gro55rrw.js} +1 -1
  287. package/static/dist/assets/presence-lq6m12ga.js +1 -0
  288. package/static/dist/assets/prompt_queue_cancelled-cebcuagu.js +1 -0
  289. package/static/dist/assets/{quadrantDiagram-AXDQQJYC-oqy1mras.js → quadrantDiagram-AXDQQJYC-fxulmd7d.js} +1 -1
  290. package/static/dist/assets/queryKeys-cnvn6pea.js +9 -0
  291. package/static/dist/assets/{radar-RG4KPBEZ-b6jcjvda.js → radar-RG4KPBEZ-9pcospra.js} +1 -1
  292. package/static/dist/assets/{railroad-74A4TZTK-e3a6lk5k.js → railroad-74A4TZTK-nzdga12j.js} +1 -1
  293. package/static/dist/assets/{railroad-abnf-HS5TGJTU-ff5hocrx.js → railroad-abnf-HS5TGJTU-ep3ytel0.js} +1 -1
  294. package/static/dist/assets/{railroad-ebnf-LZEXJU2U-exkhyw4n.js → railroad-ebnf-LZEXJU2U-iw7uc1wy.js} +1 -1
  295. package/static/dist/assets/{railroad-peg-WCYAUIDC-jefk9b7c.js → railroad-peg-WCYAUIDC-fo3b3gme.js} +1 -1
  296. package/static/dist/assets/{railroadDiagram-O6MQD6OU-e4amks1i.js → railroadDiagram-O6MQD6OU-lxpxf8f0.js} +1 -1
  297. package/static/dist/assets/{refresh-cw-lfp4u1oh.js → refresh-cw-d14h79x5.js} +1 -1
  298. package/static/dist/assets/rename-ccd52yws.js +1 -0
  299. package/static/dist/assets/{requirementDiagram-BXWQKSXE-c77k1e2y.js → requirementDiagram-BXWQKSXE-lrozucd2.js} +1 -1
  300. package/static/dist/assets/{sankeyDiagram-P5KCCOFB-oa1cc52s.js → sankeyDiagram-P5KCCOFB-iusxy9mq.js} +1 -1
  301. package/static/dist/assets/{sequenceDiagram-WJ2MYXX4-j20gqt22.js → sequenceDiagram-WJ2MYXX4-o987q8ti.js} +1 -1
  302. package/static/dist/assets/{share._token-kmfoflw6.js → share._token-bfw7f9m5.js} +2 -2
  303. package/static/dist/assets/sliders-horizontal-l65hoa3x.js +1 -0
  304. package/static/dist/assets/{stateDiagram-D77RDMKH-co2ghkdp.js → stateDiagram-D77RDMKH-hh23v7y5.js} +1 -1
  305. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-jukr0d8h.js +1 -0
  306. package/static/dist/assets/{swimlanes-42K2YHIH-m30cktqe.js → swimlanes-42K2YHIH-gj2t3rm8.js} +1 -1
  307. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-ik9m9j2m.js +8 -0
  308. package/static/dist/assets/{timeline-definition-24CTP7MA-liuep6fl.js → timeline-definition-24CTP7MA-84s2w2sr.js} +1 -1
  309. package/static/dist/assets/toast-gqqcvxiy.js +56 -0
  310. package/static/dist/assets/{treeView-Q6P3EWNA-np5d2jv2.js → treeView-Q6P3EWNA-cmuj50l7.js} +1 -1
  311. package/static/dist/assets/{treemap-WGGIJYW6-cmpltxh1.js → treemap-WGGIJYW6-dpjlg0xc.js} +1 -1
  312. package/static/dist/assets/tts-jw84jlqy.js +1 -0
  313. package/static/dist/assets/{useForm-f1udzsjf.js → useForm-lxzhiqao.js} +1 -1
  314. package/static/dist/assets/{useParams-ierevvts.js → useParams-dt6gkoq7.js} +1 -1
  315. package/static/dist/assets/{useSearch-i7nr9ypl.js → useSearch-o8t49csk.js} +1 -1
  316. package/static/dist/assets/useTranscript-gx9umcc2.js +1 -0
  317. package/static/dist/assets/{vennDiagram-4TSXK5OY-b2g42qrg.js → vennDiagram-4TSXK5OY-g9g5o8vy.js} +1 -1
  318. package/static/dist/assets/{wardley-WFR3VGLG-lb0eqbff.js → wardley-WFR3VGLG-ij35obrl.js} +1 -1
  319. package/static/dist/assets/{wardleyDiagram-VM6X3IG4-ermwaqha.js → wardleyDiagram-VM6X3IG4-f9my7q7w.js} +1 -1
  320. package/static/dist/assets/{xychartDiagram-S5SC5T6Z-dll0jldk.js → xychartDiagram-S5SC5T6Z-olqx1s1p.js} +1 -1
  321. package/static/dist/index.html +1 -1
  322. package/static/dist/sw.js +1 -1
  323. package/static/dist/assets/AppShell-c5989995.js +0 -8
  324. package/static/dist/assets/ChatPage-bfg4khph.js +0 -6
  325. package/static/dist/assets/ConnectTargets-k5wo9yo8.js +0 -1
  326. package/static/dist/assets/Dialog-o8vo2aws.js +0 -1
  327. package/static/dist/assets/Field-j7o8cfps.js +0 -1
  328. package/static/dist/assets/HubRoute-efnwe4xz.js +0 -2
  329. package/static/dist/assets/Markdown-clqf5m22.js +0 -2
  330. package/static/dist/assets/OAuthSignIn-h7bjaqp6.js +0 -1
  331. package/static/dist/assets/ResourceSwitch-oai2zqaj.js +0 -1
  332. package/static/dist/assets/RightPanel-ho161a45.js +0 -1
  333. package/static/dist/assets/Select-d1g5a8bm.js +0 -1
  334. package/static/dist/assets/SessionListPanel-i7kaokhi.js +0 -1
  335. package/static/dist/assets/SettingsLayout-lnecm87w.js +0 -1
  336. package/static/dist/assets/States-easntmry.js +0 -1
  337. package/static/dist/assets/TerminalPanel-lxhwd4jl.js +0 -16
  338. package/static/dist/assets/Toaster-l4sciy8t.js +0 -1
  339. package/static/dist/assets/_app-mqexqbg8.js +0 -1
  340. package/static/dist/assets/_app.settings._section-djglnjmi.js +0 -3
  341. package/static/dist/assets/_app.tasks-l10py1c0.js +0 -1
  342. package/static/dist/assets/archive-ihqi7z2x.js +0 -1
  343. package/static/dist/assets/channel-jn4f8443.js +0 -1
  344. package/static/dist/assets/classDiagram-ZZMXUADV-dzrw66se.js +0 -1
  345. package/static/dist/assets/classDiagram-v2-VYDZK3BY-dzrw66se.js +0 -1
  346. package/static/dist/assets/completionAudio-ce86msbu.js +0 -1
  347. package/static/dist/assets/flowDiagram-HODETNUW-abekab15.js +0 -1
  348. package/static/dist/assets/folder-plus-ksaons88.js +0 -1
  349. package/static/dist/assets/index-d6vbxlra.js +0 -13
  350. package/static/dist/assets/index-ey6qo0zx.css +0 -2
  351. package/static/dist/assets/katex-cbdd1ohw.css +0 -1
  352. package/static/dist/assets/katex-pbij2oo6.js +0 -257
  353. package/static/dist/assets/login-iv6yq4xf.js +0 -1
  354. package/static/dist/assets/mermaid-HWGCJPDP-cwj5cl6k.js +0 -1
  355. package/static/dist/assets/onboarding-ff4emacu.js +0 -1
  356. package/static/dist/assets/queryKeys-x8fjxhut.js +0 -9
  357. package/static/dist/assets/sliders-horizontal-g5jkzd9k.js +0 -1
  358. package/static/dist/assets/stateDiagram-v2-MP3YSRHH-faw1opgh.js +0 -1
  359. package/static/dist/assets/swimlanesDiagram-VR7AAH4N-hfil433g.js +0 -8
  360. package/static/dist/assets/toast-zmb35u3r.js +0 -56
@@ -1,4 +1,4 @@
1
- import{t as e}from"./registry-g7w3353u.js";var t=import.meta.url,n={_default:()=>`par défaut`,_import:()=>`Importer`,active_conversation_meta:t=>(e(`fr`,t?.count,{}),t?.count===1||t?.count===`1`?`${t?.title} · ${t?.count} message`:`${t?.title} · ${t?.count} messages`),active_conversation_none:()=>`Aucune conversation active sélectionnée.`,add:()=>`Ajouter`,add_failed:()=>`Échec de l'ajout : `,agent_soul:()=>`Âme de l'agent`,all_uploads_failed:e=>`Les ${e?.n} téléversement(s) ont échoué`,approval_btn_always:()=>`Toujours autoriser`,approval_btn_always_title:()=>`Toujours autoriser ce modèle de commande`,approval_btn_deny:()=>`Refuser`,approval_btn_deny_title:()=>`Refuser — ne pas exécuter cette commande`,approval_btn_once:()=>`Autoriser une fois`,approval_btn_once_title:()=>`Autoriser cette commande (Entrée)`,approval_btn_session:()=>`Autoriser pour la session`,approval_btn_session_title:()=>`Autoriser pour cette session de conversation`,approval_desc_prefix:()=>`Commande dangereuse détectée`,approval_gateway_unsupported:()=>`Les approbations nécessitent une passerelle plus récente. Mettez à niveau la passerelle Hermes connectée pour activer cette fonctionnalité.`,approval_gateway_unsupported_label:()=>`Approbations non prises en charge`,approval_heading:()=>`Approbation requise`,approval_more:()=>`Plus d’options`,approval_pending_count:e=>e?.n===1||e?.n===`1`?`${e?.n} sur ${e?.n} en attente`:`1 sur ${e?.n} en attente`,approval_responding:()=>`Réponse en cours…`,approval_skip_all:()=>`⚡ Ignorer tout cette session`,approval_skip_all_title:()=>`Ignorer toutes les demandes d'approbation pour cette session`,archive_extracted:e=>`${e?.n} fichier(s) extrait(s) de ${e?.c} archive(s)`,auth_ack_save_failed:()=>`Échec de la mise à jour de l'accusé de réception : `,auth_acknowledged_label:()=>`J'ai pris connaissance de ce risque ; afficher un avertissement de navigation moins urgent.`,auth_disabled:()=>`Authentification désactivée — protection par mot de passe supprimée`,auth_disabled_warning_message:()=>`Cette instance est accessible sans authentification.`,auth_status_passkey_only:()=>`Uniquement passkey`,auth_status_password:()=>`Authentification par mot de passe`,auth_status_unauthenticated:()=>`Non authentifié`,auth_warning_badge:()=>`Auth désactivée`,auto_compress_label:()=>`Compression automatique`,available_commands:()=>`Commandes disponibles :`,available_personalities:()=>`Personnalités disponibles :`,background_line_agent_completed:e=>`Agent « ${e?.goal} » terminé`,background_line_agent_failed:e=>`Agent « ${e?.goal} » en échec`,background_line_command_failed:e=>`Commande en arrière-plan ${e?.command} en échec`,background_line_command_failed_exit:e=>`Commande en arrière-plan ${e?.command} en échec (code ${e?.code})`,background_line_command_finished:e=>`Commande en arrière-plan ${e?.command} terminée`,background_review_failed:()=>`Le travail ou la vérification par l’agent parent a échoué.`,background_review_parent:e=>`Vérification par l’agent parent : ${e?.state}`,background_review_reviewed:()=>`L’agent parent a vérifié ce résultat.`,background_review_reviewing:()=>`L’agent parent vérifie ce résultat.`,background_review_unknown:()=>`Le résultat du travail ou de la vérification est inconnu.`,background_review_waiting:()=>`En attente de la vérification de ce résultat par l’agent parent.`,background_update_details:()=>`Afficher le résultat complet en arrière-plan`,bg_agents_failed:e=>`${e?.n} en échec`,bg_agents_progress:e=>`${e?.done} sur ${e?.total} terminés`,bg_card_title:()=>`Travail en arrière-plan`,bg_complete:()=>`Tâche en arrière-plan terminée`,bg_error_multi:e=>`${e?.count} sessions ont rencontré une erreur`,bg_error_single:e=>`"${e?.title}" a rencontré une erreur`,bg_failed:()=>`Échec de la tâche en arrière-plan : `,bg_hide_result:()=>`Masquer le résultat`,bg_kind_background_command:()=>`Tâche en arrière-plan`,bg_kind_process:()=>`Commande`,bg_label:()=>`Résultat en arrière-plan :`,bg_no_answer:()=>`(aucune réponse)`,bg_result_unavailable:()=>`Le résultat n’est plus disponible.`,bg_running:()=>`Exécution en arrière-plan…`,bg_show_result:()=>`Voir le résultat`,bg_status_attention:()=>`Requiert votre attention`,bg_status_cancelled:()=>`Arrêté`,bg_status_completed:()=>`Terminé`,bg_status_failed:()=>`Échec`,bg_status_running:()=>`En cours`,bg_status_unknown:()=>`Statut inconnu`,bg_usage:()=>`Utilisation : /background <message>`,branch_failed:()=>`Échec du fork : `,branch_forked:()=>`Forké dans une nouvelle session`,btw_asking:()=>`Question annexe en cours…`,btw_done:()=>`Question annexe répondue`,btw_failed:()=>`Échec de la question annexe : `,btw_label:()=>`Question annexe — hors historique`,btw_no_answer:()=>`Aucune réponse reçue.`,busy_interrupt_confirm:()=>`Interrompu — envoi d'un nouveau message`,busy_steer_fallback:()=>`Steer indisponible — brouillon restauré`,cancel:()=>`Annuler`,cancel_failed:()=>`Échec de l'annulation.`,cancel_unavailable:()=>`Annulation indisponible.`,cancelling:()=>`Annulation…`,checkpoint_diff_files_changed:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} fichier modifié`:`${t?.n} fichiers modifiés`),checkpoint_diff_no_changes:()=>`Aucune différence trouvée entre ce point de contrôle et l'espace de travail actuel.`,checkpoint_diff_title:()=>`Modifications dans le point de contrôle`,checkpoint_empty:()=>`Aucun point de contrôle trouvé pour cet espace de travail.`,checkpoint_error:()=>`Échec du chargement des points de contrôle`,checkpoint_files:()=>`Fichiers`,checkpoint_kept_user_edits:e=>`Vos modifications ont été conservées : ${e?.files}`,checkpoint_loading:()=>`Chargement des points de contrôle…`,checkpoint_restore:()=>`Restaurer`,checkpoint_restore_confirm_message:e=>`Restaurer les fichiers modifiés par l'agent depuis le point de contrôle « ${e?.ckpt} » ? Les fichiers que vous avez modifiés à la main après sa dernière écriture restent tels quels.`,checkpoint_restore_confirm_title:()=>`Restaurer le point de contrôle ?`,checkpoint_restore_everything:()=>`Tout restaurer`,checkpoint_restored:()=>`Point de contrôle restauré`,checkpoint_skipped_oversize:e=>`Trop volumineux pour être restaurés : ${e?.files}`,checkpoint_title:()=>`Points de contrôle`,checkpoint_view_diff:()=>`Voir les différences`,clarify_composer_placeholder:()=>`Saisissez votre réponse…`,clarify_composer_placeholder_choices:()=>`Choisissez une option ci-dessus ou saisissez votre réponse…`,clarify_heading:()=>`Clarification nécessaire`,clarify_hint:()=>`Choisissez une option ou saisissez votre propre réponse ci-dessous.`,clarify_other:()=>`Autre`,clarify_progress:e=>`Question ${e?.a0} sur ${e?.a1}`,clarify_responding:()=>`Réponse en cours…`,clarify_send:()=>`Envoyer`,clear:()=>`Effacer`,clear_conversation_btn_tooltip:()=>`Effacer tous les messages de cette conversation`,clear_conversation_message:()=>`Effacer tous les messages ? Cette action ne peut pas être annulée.`,clear_conversation_title:()=>`Effacer la conversation`,clear_failed:()=>`Échec de l'effacement : `,close_menu:()=>`Fermer le menu`,cmd_background:()=>`Exécuter une requête en arrière-plan`,cmd_background_usage:()=>`/background <requête> — exécuter en parallèle sans bloquer`,cmd_branch:()=>`Forker cette conversation dans une nouvelle session`,cmd_branch_usage:()=>`/branch [nom] — forker la conversation (avec un nom optionnel)`,cmd_btw:()=>`Poser une question annexe (éphémère)`,cmd_btw_usage:()=>`/btw <question> — poser une question annexe en utilisant le contexte de la session`,cmd_clear:()=>`Effacer les messages de la conversation`,cmd_compact_alias:()=>`Alias hérité pour /compress`,cmd_compress:()=>`Compresser manuellement le contexte de la conversation (utilisation : /compress [sujet principal])`,cmd_goal:()=>`Définir ou inspecter un objectif persistant`,cmd_help:()=>`Afficher les commandes slash disponibles`,cmd_interrupt:()=>`Annuler le tour en cours et envoyer un nouveau message`,cmd_interrupt_confirm:()=>`Interrompu — envoi d'un nouveau message`,cmd_interrupt_no_msg:()=>`Utilisation : /interrupt <message>`,cmd_model:()=>`Changer de modèle (ex. /model gpt-4o)`,cmd_new:()=>`Démarrer une nouvelle session de chat`,cmd_personality:()=>`Changer la personnalité de l'agent`,cmd_queue:()=>`Mettre un message en file d'attente pour le prochain tour`,cmd_queue_confirm:()=>`Message mis en file d'attente`,cmd_queue_no_msg:()=>`Utilisation : /queue <message>`,cmd_queue_not_busy:()=>`Aucune tâche active — envoyez normalement`,cmd_reasoning:()=>`Basculer la visibilité du raisonnement (afficher/masquer), définir le niveau d'effort, ou vérifier l'état actuel`,cmd_retry:()=>`Renvoyer le dernier message`,cmd_skills:()=>`Lister les compétences Hermes disponibles`,cmd_status:()=>`Afficher les informations de la session`,cmd_steer:()=>`Injecter une correction en milieu de tour sans interrompre l'agent`,cmd_steer_fallback:()=>`Steer indisponible — brouillon restauré`,cmd_steer_no_msg:()=>`Utilisation : /steer <message>`,cmd_stop:()=>`Arrêter la réponse en cours`,cmd_terminal:()=>`Ouvrir le terminal de l'espace de travail`,cmd_theme:()=>`Changer d'apparence (thème : system/dark/light, skin : default/ares/mono/graphite/slate/poseidon/sisyphus/charizard/sienna/catppuccin/nous/geist-contrast/zeus/verdigris)`,cmd_title:()=>`Obtenir ou définir le titre de la session`,cmd_undo:()=>`Supprimer le dernier échange`,cmd_usage:()=>`Activer/désactiver l'affichage de l'utilisation des jetons`,cmd_use:()=>`Forcer l'utilisation d'une compétence pour le prochain message`,cmd_voice:()=>`Activer/désactiver la saisie microphone`,cmd_voice_use_mic:()=>`Cliquez sur le bouton microphone dans le compositeur.`,cmd_webui_only_session:()=>`Cette commande n'est pas disponible pour les sessions importées via CLI.`,cmd_workspace:()=>`Changer d'espace de travail par nom`,cmd_yolo:()=>`Basculer le mode YOLO (ignorer les approbations)`,collapse_all:()=>`Tout réduire`,command_label:()=>`Commande`,composer_clarify:()=>`Envoyer la réponse`,composer_clarify_next:()=>`Question suivante`,composer_compression_will_queue:()=>`Saisissez un message — il sera mis en file d'attente et envoyé après la compression`,composer_control_attach:()=>`Joindre`,composer_control_bg_badge:()=>`Badge d'arrière-plan`,composer_control_context:()=>`Contexte`,composer_control_mic:()=>`Micro`,composer_control_mobile_config:()=>`Configuration mobile`,composer_control_model:()=>`Modèle`,composer_control_profile:()=>`Profil`,composer_control_quota_chip:()=>`Jeton de quota`,composer_control_reasoning:()=>`Raisonnement`,composer_control_saved_prompts:()=>`Invites sauvegardées`,composer_control_status:()=>`État`,composer_control_toolsets:()=>`Jeux d'outils`,composer_control_voice_mode:()=>`Mode vocal`,composer_control_workspace:()=>`Espace de travail`,composer_disabled_clarify:()=>`Répondre à la demande de clarification`,composer_disabled_compression:()=>`En attente de la fin de la compression`,composer_disabled_empty:()=>`Saisissez un message à envoyer`,composer_interrupt:()=>`Interrompre et envoyer`,composer_mobile_context:()=>`Contexte`,composer_mobile_model:()=>`Modèle`,composer_mobile_reasoning:()=>`Raisonnement`,composer_mobile_workspace:()=>`Espace de travail`,composer_queue:()=>`Mettre en file d'attente`,composer_send:()=>`Envoyer le message`,composer_steer:()=>`Piloter la réponse en cours`,composer_stop:()=>`Arrêter la génération`,compress_complete_label:()=>`Compression terminée`,compress_failed_label:()=>`Échec de la compression`,compress_running_label:()=>`Compression en cours`,compressing:()=>`Demande de compression du contexte…`,content_required:()=>`Le contenu est requis`,context_block_flush_aria:()=>`Les blocs de contexte seront inclus lors de l'envoi`,context_block_name_default:()=>`Contexte`,context_block_remove:()=>`Supprimer le bloc de contexte`,context_block_rename_aria:()=>`Renommer le bloc de contexte`,context_block_rename_hint:()=>`Cliquez ou appuyez sur Entrée pour renommer`,context_compaction_label:()=>`Compaction du contexte`,conversation_cleared:()=>`Conversation effacée`,copied:()=>`Copié !`,copy:()=>`Copier`,copy_failed:()=>`Échec de la copie`,copy_file_path:()=>`Copier le chemin du fichier`,copy_relative_path:()=>`Copier le chemin relatif`,create:()=>`Créer`,create_failed:()=>`Échec de la création : `,create_job:()=>`Créer une tâche`,created:()=>`Créé `,cron_advanced_label:()=>`Avancé`,cron_all_runs:()=>`Toutes les exécutions`,cron_attention_copy_diagnostics:()=>`Copier les diagnostics`,cron_attention_croniter_hint:()=>`Le package croniter est peut-être manquant dans l'environnement d'exécution de la passerelle. Redémarrez la passerelle avec le support cron, puis reprenez cette tâche.`,cron_attention_desc:()=>`Cette tâche récurrente n'a pas de prochaine exécution. Le planificateur n'a peut-être pas réussi à calculer sa prochaine exécution.`,cron_attention_resume:()=>`Reprendre et recalculer`,cron_attention_run_once:()=>`Exécuter une fois maintenant`,cron_collapse_output:()=>`Réduire la sortie`,cron_collapse_prompt:()=>`Réduire l'invite`,cron_context_from_empty_hint:()=>`Aucune autre tâche planifiée à chaîner pour l'instant.`,cron_context_from_hint:()=>`Injecte la sortie la plus récente de ces tâches comme contexte à chaque exécution (la tâche A collecte, la tâche B traite).`,cron_context_from_label:()=>`Contexte issu de tâches`,cron_continuity_hint:()=>`Chaque exécution voit la sortie précédente de la tâche elle-même, ce qui lui permet de dédupliquer et de reprendre où elle s'était arrêtée.`,cron_continuity_label:()=>`Continuité`,cron_delete_confirm_message:()=>`Cette action ne peut pas être annulée.`,cron_delete_confirm_title:()=>`Supprimer la tâche cron`,cron_deliver_custom:()=>`Cible de livraison personnalisée`,cron_deliver_label:()=>`Délivrer la sortie à`,cron_deliver_local:()=>`Local (enregistrer la sortie uniquement)`,cron_diagnostics_copied:()=>`Diagnostics Cron copiés`,cron_duplicate:()=>`Dupliquer`,cron_duplicated:()=>`Tâche dupliquée (en pause)`,cron_expand_output:()=>`Développer la sortie`,cron_expand_prompt:()=>`Développer l'invite`,cron_hide_runs:()=>`Masquer les exécutions`,cron_job_created:()=>`Tâche créée`,cron_job_deleted:()=>`Tâche supprimée`,cron_job_name_placeholder:()=>`Nom de la tâche`,cron_job_paused:()=>`Tâche mise en pause`,cron_job_resumed:()=>`Tâche reprise`,cron_job_triggered:()=>`Tâche déclenchée`,cron_job_updated:()=>`Tâche mise à jour`,cron_jobs_project:()=>`Tâches Cron`,cron_last:()=>`Dernière`,cron_last_output:()=>`Dernière sortie`,cron_model_hint:()=>`Remplace le modèle par défaut pour cette tâche.`,cron_model_label:()=>`Remplacement du modèle`,cron_model_no_agent_hint:()=>`Les tâches sans agent exécutent le script configuré directement ; le modèle n'est pas utilisé.`,cron_model_use_default:()=>`Par défaut (utiliser le profil/système par défaut)`,cron_monitor_hint:()=>`URL http(s) ou chemin de script facultatif vérifié à chaque tick. Une sortie identique saute l'exécution ; une sortie modifiée réveille l'agent avec un diff.`,cron_monitor_label:()=>`Source du moniteur`,cron_monitor_no_agent_conflict:()=>`Un moniteur ne peut pas être combiné avec une tâche script uniquement.`,cron_monitor_no_agent_hint:()=>`Indisponible sur les tâches script uniquement : un moniteur sert à réveiller ou à supprimer l'agent.`,cron_monitor_placeholder:()=>`https://example.com/status — ou — check-feed.sh`,cron_name_label:()=>`Nom`,cron_name_placeholder:()=>`Facultatif`,cron_next:()=>`Prochaine`,cron_no_agent_hint:()=>`Exécute le script et livre sa sortie standard telle quelle, sans LLM. Nécessite un chemin de script.`,cron_no_agent_label:()=>`Tâche script uniquement`,cron_no_agent_script_required:()=>`Une tâche script uniquement a besoin d'un chemin de script.`,cron_no_jobs:()=>`Aucune tâche planifiée trouvée.`,cron_no_runs_yet:()=>`(pas encore d'exécutions)`,cron_profile_label:()=>`Profil`,cron_profile_server_default:()=>`serveur par défaut`,cron_profile_server_default_hint:()=>`Utilise le profil par défaut du serveur WebUI au moment de l'exécution. Les tâches existantes sans profil conservent ce comportement hérité.`,cron_prompt_label:()=>`Invite`,cron_prompt_placeholder:()=>`Invite`,cron_prompt_required:()=>`L'invite est requise`,cron_reasoning_effort_default:()=>`Par défaut (suivre la configuration)`,cron_reasoning_effort_hint:()=>`Fige cette tâche sur un seul niveau de raisonnement, prioritaire sur les réglages globaux et par modèle au moment de l'exécution.`,cron_reasoning_effort_label:()=>`Effort de raisonnement`,cron_reasoning_effort_no_agent_hint:()=>`Inutilisé sur les tâches script uniquement : il n'y a aucun appel LLM à configurer.`,cron_repeat_hint:()=>`Combien de fois exécuter avant que la tâche s'arrête. Vide conserve la valeur par défaut : une fois pour une tâche ponctuelle, indéfiniment pour une planification récurrente. Défini uniquement à la création.`,cron_repeat_invalid:()=>`Le nombre de répétitions doit être un entier d'au moins 1.`,cron_repeat_label:()=>`Nombre de répétitions`,cron_repeat_placeholder:()=>`Laissez vide pour la valeur par défaut`,cron_resume:()=>`Reprendre`,cron_run_now:()=>`Exécuter maintenant`,cron_schedule_hint:()=>`Utilisez 'every 1h' ou une expression cron pour les tâches récurrentes. Les durées simples comme '30m' s'exécutent une fois.`,cron_schedule_hour_label:()=>`Heure`,cron_schedule_label:()=>`Planification`,cron_schedule_month_day_label:()=>`Jour`,cron_schedule_once_warning:()=>`Les formes de durée comme '30m' s'exécutent une fois et sont supprimées après l'exécution. Utilisez 'every 30m' pour conserver une tâche récurrente.`,cron_schedule_placeholder:()=>`Planification`,cron_schedule_preset_custom:()=>`Personnalisé`,cron_schedule_preset_daily:()=>`Quotidien`,cron_schedule_preset_hourly:()=>`Toutes les heures`,cron_schedule_preset_label:()=>`Préréglage`,cron_schedule_preset_monthly:()=>`Mensuel`,cron_schedule_preset_weekdays:()=>`Jours ouvrés`,cron_schedule_preset_weekly:()=>`Hebdomadaire`,cron_schedule_required:()=>`La planification est requise`,cron_schedule_required_example:()=>`La planification est requise (ex. "0 9 * * *" ou "every 1h")`,cron_schedule_time_hint:()=>`L'heure est celle du serveur; cron s'exécute côté serveur.`,cron_schedule_weekday_label:()=>`Jour de la semaine (0-6, dim-sam)`,cron_script_badge_title:()=>`Tâche script (sans agent)`,cron_script_context_hint:()=>`Facultatif. S'exécute à chaque tick ; sa sortie standard est injectée dans le prompt comme contexte. Les chemins relatifs sont résolus sous ~/.hermes/scripts/.`,cron_script_job_banner:()=>`Exécute un script selon un planning — la sortie standard est délivrée à la cible. Pas d'agent, d'invite ou de compétences.`,cron_script_output:()=>`Sortie du script`,cron_script_path_hint:()=>`Résolu sous ~/.hermes/scripts/ sauf chemin absolu. Modifiez le fichier script sur le serveur pour changer le comportement.`,cron_script_path_label:()=>`Chemin du script`,cron_skills_edit_hint:()=>`La liste des compétences n'est pas modifiable après la création.`,cron_skills_label:()=>`Compétences`,cron_skills_placeholder:()=>`Ajouter des compétences (facultatif)…`,cron_status_active:()=>`actif`,cron_status_error:()=>`erreur`,cron_status_needs_attention:()=>`nécessite une attention`,cron_status_off:()=>`désactivé`,cron_status_paused:()=>`en pause`,cron_status_running:()=>`en cours…`,cron_toast_notifications_disabled:()=>`Désactivé`,cron_toast_notifications_enabled:()=>`Activé`,cron_toast_notifications_hint:()=>`Afficher une notification toast lorsque ce cron se termine. Le badge Tâches et le marqueur de nouvelle exécution se mettent toujours à jour lorsque cette option est désactivée.`,cron_toast_notifications_label:()=>`Notifications de fin`,cron_view_full_output:()=>`Voir la sortie complète`,cron_workdir_label:()=>`Répertoire de travail`,csv_error:()=>`Échec du chargement du fichier CSV`,csv_header_note:()=>`La première ligne est affichée comme en-tête du tableau`,csv_loading:()=>`Chargement du CSV`,csv_no_data:()=>`Le fichier CSV ne contient pas assez de données pour être affiché sous forme de tableau`,csv_too_large:()=>`Fichier CSV trop volumineux pour un rendu en ligne`,ctx_compress_action:()=>`⚠ Compresser maintenant pour libérer le contexte`,ctx_compress_hint:()=>`Compresser le contexte pour libérer de l'espace →`,current_password_incorrect:()=>`Le mot de passe actuel est incorrect.`,current_password_label:()=>`Mot de passe actuel`,current_password_placeholder:()=>`Entrer le mot de passe actuel…`,current_password_required:()=>`Le mot de passe actuel est requis pour modifier ou désactiver l'authentification.`,current_task_list:()=>`Liste de tâches actuelle`,dashboard_loopback_warning:()=>`Le tableau de bord est en boucle locale uniquement sur le serveur. Naviguez depuis le serveur lui-même ou redémarrez-le avec --host 0.0.0.0 (non sécurisé).`,delete_confirm:e=>`Supprimer ${e?.name} ?`,delete_dir_confirm:e=>`Supprimer le dossier "${e?.name}" et tout son contenu ?`,delete_failed:()=>`Échec de la suppression : `,delete_title:()=>`Supprimer`,deleted:()=>`Supprimé `,dialog_confirm_btn:()=>`Confirmer`,dialog_confirm_title:()=>`Confirmer l'action`,dialog_prompt_title:()=>`Entrer une valeur`,dictation_append_desc:()=>`Lorsque activé, le texte dicté est ajouté au texte déjà présent dans le composer (avec un espace si nécessaire). Lorsque désactivé, le texte dicté remplace le contenu du composer.`,dictation_append_label:()=>`Ajouter la dictée au composer`,diff_error:()=>`Impossible de charger le fichier de correctif`,diff_loading:()=>`Chargement des différences`,diff_too_large:()=>`Fichier de correctif trop volumineux pour un affichage en ligne`,disable:()=>`Désactiver`,disable_auth:()=>`Désactiver l'authentification`,disable_auth_confirm_message:()=>`Tout le monde pourra accéder à cette instance.`,disable_auth_confirm_title:()=>`Désactiver la protection par mot de passe`,disable_auth_failed:()=>`Échec de la désactivation de l'authentification : `,disable_auth_typed_confirm:()=>`Tapez DISABLE AUTH pour confirmer`,discard:()=>`Ignorer`,discard_file_edits_message:()=>`Changer d'espace de travail ignorera les modifications de fichiers non enregistrées dans l'aperçu.`,discard_file_edits_title:()=>`Ignorer les modifications du fichier ?`,dismiss:()=>`Ignorer`,done:()=>`Terminé`,double_click_rename:()=>`Double-cliquer pour renommer`,download_folder:()=>`Télécharger le dossier`,download_transcript:()=>`Télécharger en Markdown`,downloading:e=>`Téléchargement de ${e?.name}…`,edit:()=>`Modifier`,edit_failed:()=>`Échec de la modification : `,edit_message:()=>`Modifier le message`,edit_title:()=>`Modifier ce fichier`,editing:()=>`Édition`,empty_dir:()=>`(vide)`,empty_hero_title:()=>`Sur quoi travaillons-nous ?`,empty_hero_title_workspace:e=>`Sur quoi travaillons-nous dans ${e?.a0} ?`,error_prefix:()=>`Erreur : `,excalidraw_download:()=>`Télécharger`,excalidraw_empty:()=>`Diagramme vide`,excalidraw_error:()=>`Échec du chargement du fichier Excalidraw`,excalidraw_invalid:()=>`Format de fichier Excalidraw invalide`,excalidraw_label:()=>`Diagramme`,excalidraw_loading:()=>`Chargement du diagramme`,excalidraw_render_error:()=>`Échec du rendu du diagramme`,excalidraw_simplified:()=>`Aperçu SVG simplifié — pas identique au pixel près au canevas Excalidraw`,excalidraw_too_large:()=>`Fichier Excalidraw trop volumineux pour un rendu en ligne`,expand_all:()=>`Tout développer`,export_session_html_tooltip:()=>`Exporter en page HTML autonome`,export_session_json_tooltip:()=>`Exporter la session complète en JSON`,ext_configure:()=>`Configurer`,ext_configure_failed:()=>`Échec de la configuration de l’extension.`,ext_configure_opening:()=>`Ouverture…`,ext_gallery_after_install:()=>`Après l’installation`,ext_gallery_install_followup:()=>`Extension installée. Consultez la carte pour les prochaines étapes.`,ext_gallery_install_restart_required:()=>`Extension installée. Redémarrage requis pour appliquer.`,ext_gallery_local_app_label:()=>`Application locale`,ext_gallery_local_component_required:()=>`Cette extension comporte un composant local. Après l’installation, démarrez l’application locale ou le sidecar requis.`,ext_gallery_native_host_required:()=>`Hôte natif requis`,ext_gallery_next_step:()=>`Étape suivante`,ext_gallery_open_setup_guide:()=>`Ouvrir le guide de configuration`,ext_gallery_permissions_empty:()=>`Aucune permission supplémentaire déclarée.`,ext_gallery_required_suffix:e=>`${e?.a0} requis`,ext_gallery_sidecar_required:()=>`Sidecar requis`,external_link_grant_expired:()=>`Cette vue externe a expiré. Rouvrez le lien symbolique cible d'évasion pour l'autoriser à nouveau.`,external_link_open_confirm:()=>`Ce lien symbolique pointe en dehors de l'espace de travail. L'ouvrir dans une vue externe en lecture seule pour cette session de navigateur ?`,external_link_read_only:()=>`Cette vue externe est en lecture seule. Les actions de création, renommage, déplacement, suppression, téléversement, révélation et l'éditeur restent désactivés ici.`,external_notes_auto_recall_hint:()=>`Le rappel automatique de session est inchangé ; ce tiroir affiche uniquement les sources configurées et les outils de lecture/recherche disponibles.`,external_notes_configured_hint:()=>`Les noms d'outils sont attendus de cette source configurée ; les schémas en direct apparaîtront lorsque l'environnement d'exécution de l'interface Web les exposera.`,external_notes_empty:()=>`Aucune source de notes ou de connaissances MCP n'est encore visible. Configurez Joplin, Obsidian, Notion, llm-wiki ou un autre serveur de notes pour l'afficher ici.`,external_notes_no_tools:()=>`Aucun outil de lecture/recherche n'est actuellement visible pour cette source.`,external_notes_recent_ai:()=>`Récemment utilisé par l'IA`,external_notes_recent_ai_reason:()=>`Rappel automatique`,external_notes_search_empty:()=>`Recherchez dans une source de notes configurée pour prévisualiser les notes ici.`,external_notes_search_placeholder:()=>`Rechercher des notes…`,external_notes_sources:()=>`Notes tierces`,external_notes_tool_count:t=>(e(`fr`,t?.count,{}),`${t?.count} outils de notes disponibles`),failed_colon:()=>`Échec : `,file_open_failed:()=>`Impossible d'ouvrir le fichier`,filter_conversations:()=>`Filtrer les conversations…`,first_token_time:()=>`Délai jusqu'au premier jeton`,focus_label:()=>`Focalisation`,folder_add_as_space_btn:()=>`Ajouter comme espace`,folder_add_as_space_msg:()=>`Ajouter ce dossier comme nouvel espace dans votre liste ?`,folder_add_as_space_title:()=>`Ajouter comme espace ?`,folder_create_failed:()=>`Échec de la création du dossier : `,folder_created:()=>`Dossier créé `,font_size_default:()=>`Par défaut`,font_size_large:()=>`Grande`,font_size_small:()=>`Petite`,font_size_xlarge:()=>`Très grande`,fork_from_here:()=>`Forker à partir d'ici`,forked_from:()=>`Forké depuis`,gateway_auth_label:()=>`Échec de l'authentification de la passerelle`,gateway_endpoint_unreachable:()=>`Point de terminaison de la passerelle inaccessible`,gateway_last_active:()=>`Dernière activité : `,gateway_load_failed:()=>`Échec du chargement de l'état de la passerelle`,gateway_metadata_stale:()=>`Métadonnées de la passerelle obsolètes`,gateway_not_configured:()=>`Passerelle non configurée`,gateway_not_running:()=>`Passerelle non en cours d'exécution`,gateway_restart:()=>`Redémarrer`,gateway_restart_failed:()=>`Échec du redémarrage de la passerelle`,gateway_restart_success:()=>`Redémarrage de la passerelle terminé.`,gateway_running:()=>`En cours d'exécution`,gateway_running_label:()=>`En cours`,gateway_session_count:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} session`:`${t?.n} sessions`),gateway_start:()=>`Démarrer`,gateway_start_failed:()=>`Échec du démarrage de la passerelle`,gateway_start_success:()=>`Démarrage de la passerelle terminé.`,gateway_status_load_failed:()=>`Échec du chargement de l'état de la passerelle`,gateway_stop:()=>`Arrêter`,gateway_stop_failed:()=>`Échec de l'arrêt de la passerelle`,gateway_stop_success:()=>`Arrêt de la passerelle terminé.`,goal_achieved:e=>`✓ Objectif atteint : ${e?.reason}`,goal_cleared:()=>`Objectif effacé.`,goal_continuing:e=>`↻ Poursuite vers l'objectif (${e?.turns}/${e?.max_turns}) : ${e?.reason}`,goal_continuing_toast:()=>`Poursuite vers l'objectif…`,goal_evaluating_progress:()=>`Évaluation de la progression vers l'objectif…`,goal_no_goal:()=>`Aucun objectif actif.`,goal_paused:e=>`⏸ Objectif mis en pause : ${e?.goal}`,goal_paused_budget_exhausted:e=>`⏸ Objectif en pause — ${e?.turns}/${e?.max_turns} tours utilisés. Utilisez /goal resume pour continuer, ou /goal clear pour arrêter.`,goal_resumed:e=>`▶ Objectif repris : ${e?.goal}`,goal_set:e=>`⊙ Objectif défini (budget de ${e?.turns} tours) : ${e?.goal}`,goal_status_active:e=>`⊙ Objectif (actif, ${e?.turns}/${e?.max_turns} tours) : ${e?.goal}`,goal_status_done:e=>`✓ Objectif atteint (${e?.turns}/${e?.max_turns}) : ${e?.goal}`,goal_status_none:()=>`Aucun objectif actif. Définissez-en un avec /goal <texte>.`,goal_status_paused:e=>`⏸ Objectif (en pause, ${e?.turns}/${e?.max_turns}${e?.reason_suffix}) : ${e?.goal}`,goal_working_toward:()=>`Travail vers l'objectif…`,html_error:()=>`Échec du rendu de l'aperçu HTML`,html_loading:()=>`Chargement de l'aperçu HTML…`,html_open_full:()=>`Ouvrir la page entière`,html_sandbox_label:()=>`Aperçu HTML (bac à sable)`,html_too_large:()=>`HTML trop volumineux pour un aperçu en ligne`,image_load_failed:()=>`Impossible de charger l'image`,image_pasted:()=>`Image collée : `,import_failed:()=>`Échec de l'importation :`,import_invalid_json:()=>`JSON invalide`,import_session_json_tooltip:()=>`Importer une session depuis JSON`,insights_activity_by_day:()=>`Activité par jour`,insights_activity_by_hour:()=>`Activité par heure`,insights_cache_hit:()=>`Taux de succès du cache de prompts`,insights_cost:()=>`Coût estimé`,insights_daily_tokens:()=>`Jetons quotidiens`,insights_footer:e=>`Affichage des données des ${e?.days} derniers jours`,insights_input_tokens:()=>`Entrée`,insights_model_cost:()=>`Coût`,insights_model_health_cost_per_m:()=>`Coût / 1M`,insights_model_health_provider:()=>`Fournisseur`,insights_model_health_replacement:()=>`Guide de remplacement`,insights_model_health_title:()=>`Comparaison de la santé des modèles`,insights_model_name:()=>`Modèle`,insights_model_share:()=>`Part`,insights_model_tokens:()=>`Jetons`,insights_models:()=>`Modèles`,insights_no_usage_data:()=>`Aucune donnée d'utilisation pour l'instant`,insights_output_tokens:()=>`Sortie`,insights_peak_hour:e=>`Pic : ${e?.hour}`,insights_skill_usage_col_patches:()=>`Correctifs`,insights_skill_usage_col_share:()=>`Part d'utilisation`,insights_skill_usage_col_skill:()=>`Compétence`,insights_skill_usage_col_uses:()=>`Utilisations`,insights_skill_usage_col_views:()=>`Vues`,insights_skill_usage_footer:()=>`Comptages depuis ~/.hermes/skills/`,insights_skill_usage_no_data:()=>`Aucune donnée d'utilisation des compétences pour l'instant`,insights_skill_usage_no_data_hint:()=>`Les compétences apparaîtront ici une fois utilisées dans les conversations.`,insights_skill_usage_skills_used:()=>`Compétences utilisées`,insights_skill_usage_sub:()=>`Fréquence d'invocation des outils`,insights_skill_usage_title:()=>`Utilisation des compétences`,insights_skill_usage_total:()=>`Invocations totales`,insights_title:()=>`Analyses d'utilisation`,insights_token_breakdown:()=>`Répartition des jetons`,insights_tokens:()=>`Jetons`,jump_to_question:()=>`vers la réponse`,jump_to_question_label:()=>`Aller au début de cette réponse`,kanban_add_comment:()=>`Ajouter un commentaire`,kanban_add_dependency:()=>`Ajouter une dépendance`,kanban_all_assignees:()=>`Tous les assignés`,kanban_all_tenants:()=>`Tous les locataires`,kanban_archive_board:()=>`Archiver le tableau actuel…`,kanban_archive_board_confirm:e=>`Archiver le tableau "${e?.name}" ? Les tâches restent sur le disque et le tableau peut être restauré depuis kanban/boards/_archived/.`,kanban_assignee:()=>`Assigné à`,kanban_assignee_other_label:()=>`Autre (voies CLI / profils supprimés)`,kanban_assignee_placeholder:()=>`Facultatif — laissez vide pour n'importe quel travailleur`,kanban_assignee_profiles_label:()=>`Profils Hermes`,kanban_assignee_unassigned:()=>`— Non assigné (ne s'exécutera pas automatiquement) —`,kanban_back_to_board:()=>`Retour au tableau`,kanban_block:()=>`Bloquer`,kanban_board:()=>`Tableau`,kanban_board_archived:()=>`Tableau archivé`,kanban_board_color:()=>`Couleur (facultatif)`,kanban_board_default_workdir:()=>`Chemin du workspace par défaut`,kanban_board_default_workdir_placeholder:()=>`Chemin du workspace (facultatif)`,kanban_board_description:()=>`Description (facultatif)`,kanban_board_icon:()=>`Icône (emoji, facultatif)`,kanban_board_name:()=>`Nom`,kanban_board_name_required:()=>`Le nom est requis`,kanban_board_settings:()=>`Paramètres du tableau`,kanban_board_slug:()=>`Slug (minuscules, tirets)`,kanban_board_slug_required:()=>`Le slug est requis`,kanban_bulk_action:()=>`Action groupée`,kanban_card_archive:()=>`archiver`,kanban_card_complete:()=>`terminer`,kanban_children:()=>`Enfants`,kanban_comments_count:e=>`Commentaires (${e?.a0})`,kanban_dependency_placeholder:()=>`ID de la tâche à lier`,kanban_dependency_self:()=>`Une tâche ne peut pas dépendre d'elle-même`,kanban_description_placeholder:()=>`Facultatif — ce qui doit se passer, critères d'acceptation, liens`,kanban_dispatch_auto_blocked:()=>`auto-bloqué`,kanban_dispatch_crashed:()=>`planté`,kanban_dispatch_preview_prefix:()=>`Aperçu :`,kanban_dispatch_promoted:()=>`promu`,kanban_dispatch_reclaimed:()=>`récupéré`,kanban_dispatch_run_prefix:()=>`Réparti :`,kanban_dispatch_skipped_nonspawnable:()=>`ignoré (profil inconnu)`,kanban_dispatch_skipped_unassigned:()=>`ignoré (pas d'assigné)`,kanban_dispatch_spawned:()=>`lancé`,kanban_dispatch_timed_out:()=>`expiré`,kanban_edit_task:()=>`Modifier la tâche`,kanban_empty:()=>`Vide`,kanban_events_count:e=>`Événements (${e?.a0})`,kanban_include_archived:()=>`Inclure les archivés`,kanban_lanes_by_profile:()=>`Colonnes par profil`,kanban_links:()=>`Liens`,kanban_new_board:()=>`Nouveau tableau…`,kanban_new_task:()=>`Nouvelle tâche`,kanban_no_comments:()=>`Aucun commentaire`,kanban_no_data:()=>`Aucune donnée Kanban`,kanban_no_description:()=>`Aucune description`,kanban_no_events:()=>`Aucun événement`,kanban_no_matching_tasks:()=>`Aucune tâche correspondante`,kanban_no_runs:()=>`Aucune exécution`,kanban_nudge_dispatcher:()=>`Aperçu du répartiteur`,kanban_only_mine:()=>`Uniquement les miennes`,kanban_priority:()=>`Priorité`,kanban_priority_hint:()=>`Les nombres plus élevés sont exécutés en premier. Par défaut 0.`,kanban_read_only:()=>`Vue en lecture seule`,kanban_ready_needs_assignee:()=>`Vous avez sélectionné Non assigné + Prêt. Le répartiteur ignorera cette tâche. Soumettez à nouveau pour confirmer, ou choisissez un profil.`,kanban_refresh:()=>`Rafraîchir`,kanban_remove_dependency:()=>`Supprimer la dépendance`,kanban_rename_board:()=>`Paramètres du tableau…`,kanban_run_dispatcher:()=>`Exécuter le répartiteur`,kanban_run_dispatcher_confirm:()=>`Cela réclamera les tâches Prêtes sur ce tableau et générera des sous-processus de travailleurs (un par tâche, jusqu'à 8 par clic). Continuer ?`,kanban_runs_count:e=>`Exécutions (${e?.a0})`,kanban_search_tasks:()=>`Rechercher des tâches`,kanban_stats:()=>`Statistiques`,kanban_status:()=>`Statut`,kanban_status_archived:()=>`Archivé`,kanban_status_blocked:()=>`Bloqué`,kanban_status_done:()=>`Terminé`,kanban_status_original_hint:e=>`Statut actuel : ${e?.a0}. Cette boîte de dialogue ne prend en charge que les modifications Triage/À faire/Prêt.`,kanban_status_ready:()=>`Prêt`,kanban_status_running:()=>`En cours`,kanban_status_todo:()=>`À faire`,kanban_task:()=>`Tâche`,kanban_tenant:()=>`Locataire`,kanban_tenant_placeholder:()=>`Facultatif — slug du projet ou de l'équipe`,kanban_title:()=>`Titre`,kanban_title_required:()=>`Le titre est requis.`,kanban_unassigned:()=>`non assigné`,kanban_unavailable:()=>`Kanban indisponible`,kanban_unblock:()=>`Débloquer`,kanban_view_consolidated:()=>`Vue consolidée`,kanban_view_consolidated_saved:()=>`Vue Kanban : consolidée`,kanban_view_lanes:()=>`Colonnes par profil`,kanban_view_lanes_saved:()=>`Vue Kanban : colonnes par profil`,kanban_view_update_failed:()=>`Échec de la mise à jour de la vue Kanban : `,kanban_visible_tasks:e=>`${e?.a0} tâches visibles`,kanban_work_queue_hint:()=>`Il s'agit de la file d'attente de travail de l'agent Hermes. Créez ou triez une tâche, assignez-la, déplacez-la vers Prêt, puis laissez le répartiteur la réclamer.`,kanban_worker_log:()=>`Journal du travailleur`,kanban_workspace_dir:()=>`Répertoire`,kanban_workspace_kind:()=>`Type d'espace de travail`,kanban_workspace_path:()=>`Chemin de l'espace de travail`,kanban_workspace_path_placeholder:()=>`Chemin vers l'espace de travail`,kanban_workspace_path_required:()=>`Le chemin de l'espace de travail est requis pour les espaces de travail non-brouillon.`,kanban_workspace_scratch:()=>`Brouillon`,linked_files:()=>`Fichiers liés`,live_background:()=>`Traitement des résultats en arrière-plan`,load_older_messages:()=>`↑ Faites défiler vers le haut ou cliquez pour charger les anciens messages`,loading:()=>`Chargement…`,login_btn:()=>`Se connecter`,login_conn_failed:()=>`Échec de la connexion`,login_invalid_pw:()=>`Mot de passe invalide`,login_placeholder:()=>`Mot de passe`,login_subtitle:()=>`Entrez votre mot de passe pour continuer`,login_title:()=>`Connexion`,logs_auto_refresh:()=>`Rafraîchissement automatique (5s)`,logs_copied:()=>`Journaux copiés`,logs_copy_all:()=>`Tout copier`,logs_empty:()=>`Aucune ligne de journal pour l'instant.`,logs_file:()=>`Fichier`,logs_filter_active:()=>`affiché (filtre actif)`,logs_load_failed:()=>`Échec du chargement des journaux`,logs_loading:()=>`Chargement des journaux…`,logs_no_mtime:()=>`pas encore écrit`,logs_severity:()=>`Sévérité`,logs_severity_all:()=>`Tout`,logs_severity_errors:()=>`Erreurs`,logs_severity_warnings:()=>`Avertissements+`,logs_status_idle:()=>`Choisissez un fichier journal pour voir les lignes récentes.`,logs_tail:()=>`Queue`,logs_title:()=>`Journaux`,logs_truncated_hint:()=>`Affichage de la queue d'un gros fichier journal ; les octets plus anciens ont été ignorés pour limiter la mémoire.`,logs_wrap:()=>`Retourner les lignes`,manage_profiles:()=>`Gérer les profils`,markdown_table_filter:()=>`Filtrer le tableau`,markdown_table_sort_column:()=>`Trier la colonne`,marker_context_compaction:()=>`Compaction du contexte`,marker_preserved_task_list:()=>`Liste de tâches conservée`,mcp_add_server:()=>`+ Ajouter un serveur`,mcp_cancel:()=>`Annuler`,mcp_command_required:()=>`La commande est requise pour le transport stdio.`,mcp_delete_confirm_message:e=>`Supprimer le serveur MCP "${e?.a0}" ? Cette action ne peut pas être annulée.`,mcp_delete_confirm_title:()=>`Supprimer le serveur MCP`,mcp_delete_failed:()=>`Échec de la suppression du serveur MCP.`,mcp_deleted:()=>`Serveur MCP supprimé.`,mcp_disable_server:()=>`Désactiver ce serveur MCP`,mcp_disabled_toast:e=>`Serveur MCP "${e?.name}" désactivé.`,mcp_enable_server:()=>`Activer ce serveur MCP`,mcp_enabled_no:()=>`Désactivé`,mcp_enabled_toast:e=>`Serveur MCP "${e?.name}" activé.`,mcp_enabled_yes:()=>`Activé`,mcp_field_args:()=>`Arguments (séparés par des virgules)`,mcp_field_command:()=>`Commande`,mcp_field_name:()=>`Nom du serveur`,mcp_field_timeout:()=>`Délai d'expiration (secondes)`,mcp_health_needs_auth:()=>`Connexion requise`,mcp_health_unhealthy:()=>`Injoignable`,mcp_load_failed:()=>`Échec du chargement des serveurs MCP.`,mcp_name_required:()=>`Le nom du serveur est requis.`,mcp_no_servers:()=>`Aucun serveur MCP configuré.`,mcp_restart_hint:()=>`Les modifications du serveur sont en lecture seule ici pour le moment. Modifiez config.yaml et redémarrez Hermes pour que les changements soient pris en compte.`,mcp_save:()=>`Sauvegarder`,mcp_save_failed:()=>`Échec de l'enregistrement du serveur MCP.`,mcp_saved:()=>`Serveur MCP enregistré.`,mcp_servers_desc:()=>`Afficher les serveurs MCP configurés dans config.yaml.`,mcp_servers_title:()=>`Serveurs MCP`,mcp_status_active:()=>`Actif`,mcp_status_configured:()=>`Configuré`,mcp_status_disabled:()=>`Désactivé`,mcp_status_invalid_config:()=>`Configuration invalide`,mcp_status_unknown:()=>`Inconnu`,mcp_toggle_failed:()=>`Échec de la mise à jour du serveur MCP.`,mcp_toggle_followup:()=>`Les contrôles d'activation/désactivation sont intentionnellement reportés jusqu'à ce que la sémantique de rechargement MCP soit explicite.`,mcp_tool_count:e=>`${e?.a0} outils`,mcp_tools_desc:()=>`Rechercher des outils connus sur les serveurs MCP actifs.`,mcp_tools_inactive_configured_servers:e=>`Configurés mais inactifs dans cette interface Web : ${e?.servers}.`,mcp_tools_load_failed:()=>`Échec du chargement des outils MCP.`,mcp_tools_next_page:()=>`Suivant ›`,mcp_tools_next_page_aria:()=>`Page suivante des outils MCP`,mcp_tools_no_matches:()=>`Aucun outil MCP ne correspond à votre recherche.`,mcp_tools_no_tools:()=>`Aucun outil MCP n'est disponible dans l'inventaire d'exécution actif.`,mcp_tools_page_size_prefix:()=>`Afficher`,mcp_tools_page_size_suffix:()=>`par page`,mcp_tools_pagination_label:()=>`Pagination des outils MCP`,mcp_tools_per_page_aria:()=>`Outils MCP par page`,mcp_tools_previous_page:()=>`‹ Précédent`,mcp_tools_previous_page_aria:()=>`Page précédente des outils MCP`,mcp_tools_runtime_note:()=>`L'inventaire des outils utilise uniquement les données d'exécution MCP actives déjà connues ; l'interface Web ne démarre pas et ne sonde pas les serveurs.`,mcp_tools_schema_empty:()=>`Aucun paramètre de schéma.`,mcp_tools_search_placeholder:()=>`Rechercher des outils par nom, serveur ou description…`,mcp_tools_summary_matching:e=>` correspondant à « ${e?.query} »`,mcp_tools_summary_no_matches:e=>`Aucun outil MCP ne correspond à « ${e?.query} » (${e?.total} outils MCP au total).`,mcp_tools_summary_none:()=>`Aucun outil MCP à afficher.`,mcp_tools_summary_showing:e=>`Affichage de ${e?.start}-${e?.end} sur ${e?.filtered} outils MCP${e?.searchNote}${e?.totalNote}. Page ${e?.page} sur ${e?.pages}.`,mcp_tools_summary_total_note:e=>` (${e?.total} outils MCP au total)`,mcp_tools_title:()=>`Outils MCP`,mcp_transport_label:()=>`Type de transport`,mcp_url_required:()=>`L'URL est requise pour le transport HTTP.`,media_download:()=>`Télécharger`,media_svg_label:()=>`Diagramme`,media_video_label:()=>`Vidéo`,memory_notes_label:()=>`mémoire (notes)`,memory_saved:()=>`Mémoire enregistrée`,mic_denied:()=>`Accès au microphone refusé. Vérifiez les autorisations du navigateur.`,mic_error:()=>`Erreur de saisie vocale : `,mic_insecure_origin:()=>`La saisie vocale nécessite une connexion sécurisée. Ouvrez Hermes en HTTPS ou depuis localhost pour utiliser le microphone.`,mic_network:()=>`Reconnaissance vocale indisponible.`,mic_no_speech:()=>`Aucune parole détectée. Réessayez.`,model_badge_selected:()=>`Sélectionné`,model_custom_label:()=>`ID de modèle personnalisé`,model_custom_placeholder:()=>`ex. openai/gpt-5.4`,model_did_you_mean:e=>` — vouliez-vous dire "${e?.m}" ?`,model_group_configured:()=>`Configuré`,model_not_found_label:()=>`Modèle introuvable`,model_scope_advisory:()=>`S'applique à cette conversation à partir de votre prochain message.`,model_scope_toast:()=>`S'applique à cette conversation à partir de votre prochain message.`,model_search_no_results:()=>`Aucun modèle trouvé`,model_search_placeholder:()=>`Rechercher des modèles…`,model_show_all_models:e=>`Afficher tous les ${e?.a0} modèles`,model_unavailable:()=>` (indisponible)`,model_unavailable_title:()=>`Ce modèle ne figure plus dans votre liste de fournisseurs actuelle`,model_usage:()=>`Utilisation : /model <nom>`,more_actions:()=>`Plus d'actions`,move_failed:()=>`Échec du déplacement : `,moved_to:()=>`Déplacé vers `,my_notes:()=>`Mes notes`,n_messages:t=>(e(`fr`,t?.n,{}),`${t?.n} messages`),name_required:()=>`Le nom est requis`,never:()=>`jamais`,new_conversation:()=>`Nouvelle conversation`,new_file:()=>`Nouveau fichier`,new_file_prompt:()=>`Nom du nouveau fichier (ex. notes.md) :`,new_file_prompt_title:e=>`Nom du nouveau fichier dans ${e?.a0} :`,new_folder:()=>`Nouveau dossier`,new_folder_prompt:()=>`Nom du nouveau dossier :`,new_folder_prompt_title:e=>`Nom du nouveau dossier dans ${e?.a0} :`,new_job:()=>`Nouvelle tâche`,new_profile:()=>`Nouveau profil`,new_session:()=>`Nouvelle session créée`,new_session_creating:()=>`Création d'une nouvelle conversation…`,new_session_workspace_announce:e=>`Nouvelle discussion démarrée dans l’espace de travail : ${e?.a0}.`,new_skill:()=>`Nouvelle compétence`,no_active_session:()=>`Aucune session active`,no_active_task:()=>`Aucune tâche active à arrêter.`,no_model_match:()=>`Aucun modèle correspondant à "`,no_notes_yet:()=>`Pas encore de notes.`,no_personalities:()=>`Aucune personnalité trouvée (ajoutez-les dans config.yaml → agent.personalities)`,no_profile_yet:()=>`Pas encore de profil.`,no_soul_yet:()=>`Pas encore d'âme définie.`,no_workspace:()=>`Aucun espace de travail`,no_workspace_match:()=>`Aucun espace de travail correspondant à "`,notifications_denied:()=>`Les notifications sont bloquées dans ce navigateur. Activez-les dans les paramètres du navigateur.`,notifications_enable_btn:()=>`Activer les notifications`,notifications_enabled_toast:()=>`Notifications activées.`,notifications_permission_status:e=>`Autorisation : ${e?.status}`,notifications_test_btn:()=>`Envoyer un test`,notifications_unsupported:()=>`Les notifications ne sont pas prises en charge dans ce navigateur.`,oauth_codex_error:()=>`Échec de la connexion OAuth`,oauth_codex_expired:()=>`Code expiré, veuillez réessayer`,oauth_codex_polling:()=>`En attente d'autorisation…`,oauth_codex_step1:()=>`Étape 1 : Visitez cette URL et entrez le code`,oauth_codex_step2:()=>`Étape 2 : Entrez ce code sur la page`,oauth_codex_success:()=>`Connexion OAuth Codex réussie !`,oauth_login_codex:()=>`Se connecter avec Codex (ChatGPT)`,offline_autorefresh:()=>`Je rafraîchirai automatiquement cette page lorsqu'Hermes sera à nouveau joignable.`,offline_browser_detail:()=>`Votre navigateur signale que cet appareil est hors ligne.`,offline_check_now:()=>`Vérifier maintenant`,offline_checking:()=>`Vérification…`,offline_network_detail:()=>`Hermes est actuellement inaccessible depuis ce navigateur.`,offline_stream_waiting:()=>`Connexion perdue. En attente de rafraîchissement…`,offline_title:()=>`Connexion perdue`,onboarding_api_key_help_keyless:()=>`La plupart des installations LM Studio / Ollama / vLLM fonctionnent sans clé — laissez ce champ vide si votre serveur ne nécessite pas d'authentification. Utilisez le bouton Tester la connexion pour vérifier.`,onboarding_api_key_help_prefix:()=>`Enregistré comme secret dans votre fichier .env Hermes en utilisant`,onboarding_api_key_label:()=>`Clé API`,onboarding_api_key_label_optional:()=>`Clé API (facultative)`,onboarding_api_key_placeholder:()=>`Laissez vide pour conserver une clé enregistrée existante`,onboarding_api_key_placeholder_optional:()=>`Laissez vide pour les serveurs sans clé`,onboarding_back:()=>`Retour`,onboarding_badge:()=>`PREMIÈRE EXÉCUTION`,onboarding_base_url_help:()=>`Utilisez ceci pour les routeurs compatibles OpenAI, les serveurs auto-hébergés, LiteLLM, Ollama, LM Studio, vLLM ou des points de terminaison similaires.`,onboarding_base_url_label:()=>`URL de base`,onboarding_base_url_placeholder:()=>`https://votre-point-terminaison.example/v1`,onboarding_check_agent:()=>`Agent Hermes`,onboarding_check_agent_missing:()=>`Manquant ou partiellement importable`,onboarding_check_agent_ready:()=>`Détecté et importable`,onboarding_check_password:()=>`Mot de passe`,onboarding_check_password_disabled:()=>`Pas encore activé`,onboarding_check_password_enabled:()=>`Déjà activé`,onboarding_check_provider:()=>`Configuration du fournisseur`,onboarding_check_provider_partial:()=>`Enregistré mais incomplet`,onboarding_check_provider_pending:()=>`Nécessite une vérification`,onboarding_check_provider_ready:()=>`Prêt à discuter`,onboarding_complete:()=>`Configuration terminée`,onboarding_config_file:()=>`Fichier de configuration :`,onboarding_continue:()=>`Continuer`,onboarding_current_provider:()=>`Configuration actuelle :`,onboarding_custom_model_help:()=>`Pour les points de terminaison personnalisés, entrez l'ID de modèle exact attendu par votre serveur.`,onboarding_custom_model_placeholder:()=>`votre-nom-de-modèle`,onboarding_env_file:()=>`Fichier .env :`,onboarding_error_base_url_required:()=>`L'URL de base est requise pour les points de terminaison personnalisés.`,onboarding_error_choose_model:()=>`Choisissez un modèle avant de continuer.`,onboarding_error_choose_workspace:()=>`Choisissez un espace de travail avant de continuer.`,onboarding_error_model_required:()=>`Le modèle est requis.`,onboarding_error_probe_failed:()=>`Impossible de valider l'URL de base configurée.`,onboarding_error_provider_required:()=>`Choisissez un mode de configuration avant de continuer.`,onboarding_error_workspace_required:()=>`L'espace de travail est requis.`,onboarding_finish_help:()=>`Terminer stocke <code>onboarding_completed</code> dans les paramètres et vous amène dans l'application normale.`,onboarding_lead:()=>`Une configuration guidée rapide vérifiera Hermes, enregistrera une configuration de fournisseur réelle, choisira un espace de travail et un modèle, et protégera éventuellement l'application avec un mot de passe.`,onboarding_missing_imports:()=>`Importations manquantes :`,onboarding_model_label:()=>`Modèle par défaut`,onboarding_not_set:()=>`Non défini`,onboarding_notice_custom_base_url_required:()=>`Hermes a déjà une sélection fournisseur/modèle enregistrée, mais le fournisseur personnalisé a encore besoin d’une URL de base. Ajoutez aussi la clé API si ce serveur l’exige.`,onboarding_notice_finish:()=>`Vous pouvez rouvrir les Paramètres plus tard pour modifier tout cela.`,onboarding_notice_password_enabled:()=>`Un mot de passe est déjà configuré. Entrez-en un nouveau uniquement si vous souhaitez le remplacer.`,onboarding_notice_password_recommended:()=>`Facultatif mais recommandé si vous exposez l'interface au-delà de localhost.`,onboarding_notice_provider_api_key_required:()=>`Hermes a déjà une sélection fournisseur/modèle enregistrée, mais la clé API nécessaire au chat manque encore.`,onboarding_notice_provider_auth_required:e=>`Le fournisseur "${e?.a0}" est configuré, mais pas encore authentifié. Exécutez "hermes auth" ou "hermes model" dans un terminal pour terminer la configuration, puis rechargez Web UI.`,onboarding_notice_provider_choice_required:()=>`Hermes est installé, mais vous devez encore choisir un fournisseur et enregistrer des identifiants valides.`,onboarding_notice_setup_already_ready:()=>`Une configuration de fournisseur Hermes fonctionnelle est déjà détectée. Vous pouvez la conserver ou la remplacer ici.`,onboarding_notice_setup_required:()=>`Choisissez un chemin de fournisseur simple ici. Les flux OAuth avancés appartiennent encore à la CLI Hermes pour l'instant.`,onboarding_notice_system_ready:()=>`L'agent Hermes semble accessible depuis l'interface Web.`,onboarding_notice_system_unavailable:()=>`L'agent Hermes n'est pas encore entièrement disponible. Le bootstrap peut l'installer, mais la configuration du fournisseur peut encore nécessiter un terminal.`,onboarding_notice_workspace:()=>`Ces valeurs réutilisent les mêmes API de paramètres que l'application normale.`,onboarding_oauth_provider_not_ready_body:e=>`Cette instance est configurée pour utiliser <strong>${e?.provider}</strong>, qui utilise OAuth plutôt qu'une clé API. Exécutez <code>hermes auth</code> ou <code>hermes model</code> dans un terminal pour vous authentifier, puis rechargez l'interface Web.`,onboarding_oauth_provider_not_ready_title:()=>`Fournisseur OAuth pas encore authentifié`,onboarding_oauth_provider_ready_body:e=>`Cette instance est configurée pour utiliser un fournisseur OAuth (<strong>${e?.provider}</strong>) qui a été configuré via la CLI Hermes. Aucune clé API n'est nécessaire ici — cliquez sur Continuer pour terminer la configuration.`,onboarding_oauth_provider_ready_title:()=>`Fournisseur déjà authentifié`,onboarding_oauth_switch_hint:()=>`Ou choisissez un autre fournisseur ci-dessous pour passer à une configuration par clé API :`,onboarding_open:()=>`Ouvrir Hermes`,onboarding_password_help:()=>`Les mots de passe sont stockés via l'API des paramètres existants et hachés côté serveur.`,onboarding_password_keep_existing:()=>`Conserver le mot de passe actuel`,onboarding_password_label:()=>`Mot de passe (facultatif)`,onboarding_password_placeholder:()=>`Laissez vide pour ignorer`,onboarding_password_remains_disabled:()=>`Restera désactivé`,onboarding_password_skipped:()=>`Ignoré pour l'instant`,onboarding_password_will_enable:()=>`Sera activé`,onboarding_password_will_replace:()=>`Sera remplacé`,onboarding_probe_error_connect_refused:()=>`Connexion refusée — le serveur peut ne pas être en cours d'exécution sur cette adresse. Depuis Docker, essayez l'IP de l'hôte au lieu de localhost.`,onboarding_probe_error_dns:()=>`Impossible de résoudre l'hôte. Vérifiez l'URL ou utilisez l'adresse IP de l'hôte.`,onboarding_probe_error_generic:()=>`Impossible d'atteindre l'URL de base configurée.`,onboarding_probe_error_http_4xx:()=>`Le point de terminaison a renvoyé une erreur client. Vérifiez l'authentification et le chemin de l'URL (se termine généralement par /v1).`,onboarding_probe_error_http_5xx:()=>`Le point de terminaison a renvoyé une erreur serveur. Vérifiez les journaux du serveur LM Studio / Ollama.`,onboarding_probe_error_invalid_url:()=>`L'URL de base doit commencer par http:// ou https://.`,onboarding_probe_error_parse:()=>`Le point de terminaison n'a pas renvoyé de liste de modèles dans le format attendu. Vérifiez que l'URL pointe vers la racine de l'API compatible OpenAI.`,onboarding_probe_error_timeout:()=>`Le point de terminaison n'a pas répondu à temps. Vérifiez que le serveur est en cours d'exécution et que l'URL est correcte.`,onboarding_probe_error_unreachable:()=>`Impossible d'atteindre l'URL de base configurée.`,onboarding_probe_ok:e=>`Connecté. ${e?.n} modèle(s) disponible(s).`,onboarding_probe_probing:()=>`Test de la connexion…`,onboarding_probe_test_button:()=>`Tester la connexion`,onboarding_provider_label:()=>`Mode de configuration`,onboarding_quick_setup_badge:()=>`configuration rapide`,onboarding_skip:()=>`Ignorer la configuration`,onboarding_skipped:()=>`Configuration ignorée — utilisation de la configuration existante.`,onboarding_step_finish_desc:()=>`Vérifier et entrer dans l'application.`,onboarding_step_finish_title:()=>`Terminer`,onboarding_step_password_desc:()=>`Protéger l'interface Web avant de la partager.`,onboarding_step_password_title:()=>`Mot de passe facultatif`,onboarding_step_setup_desc:()=>`Enregistrer la configuration minimale du fournisseur Hermes.`,onboarding_step_setup_title:()=>`Configuration du fournisseur`,onboarding_step_system_desc:()=>`Vérifier l'agent Hermes et la visibilité de la configuration.`,onboarding_step_system_title:()=>`Vérification du système`,onboarding_step_workspace_desc:()=>`Choisir les valeurs par défaut pour les nouvelles sessions et le chat.`,onboarding_step_workspace_title:()=>`Espace de travail + modèle`,onboarding_title:()=>`Bienvenue dans Talaria Web`,onboarding_unknown:()=>`Inconnu`,onboarding_workspace_help:()=>`Choisissez le modèle qu'Hermes doit utiliser pour les nouveaux chats une fois la configuration terminée.`,onboarding_workspace_label:()=>`Espace de travail`,onboarding_workspace_or_path:()=>`Ou entrez un chemin d'espace de travail`,onboarding_workspace_placeholder:()=>`/home/vous/espace-de-travail`,open_in_browser:()=>`Ouvrir dans le navigateur`,open_in_vscode:()=>`Ouvrir dans VS Code`,open_in_vscode_failed:()=>`Échec de l'ouverture dans VS Code : `,outline_empty:()=>`Pas encore de questions.`,outline_loading:()=>`Chargement…`,outline_minimap_label:()=>`Chronologie de la conversation`,outline_minimap_mark:e=>`Question ${e?.a0} : ${e?.a1}`,outline_title:()=>`Plan`,panel_agents_empty:()=>`Aucun agent n’a travaillé dans cette discussion.`,panel_agents_transcript:()=>`Ouvrir la transcription`,panel_agents_transcript_for:e=>`Transcription : ${e?.goal}`,panel_agents_unavailable:()=>`L’agent ne peut pas indiquer son état pour le moment.`,panel_agents_updated:e=>`Mis à jour ${e?.time}`,panel_files_unavailable:()=>`Cette discussion n’a pas d’espace de travail.`,panel_label:()=>`Panneau latéral`,parse_failed_note:()=>`l'analyse a échoué`,password_env_var_locked:()=>`La variable d'environnement HERMES_WEBUI_PASSWORD est actuellement définie et a priorité. Désactivez-la et redémarrez le serveur pour gérer le mot de passe depuis ici.`,password_env_var_locked_placeholder:()=>`Verrouillé : la variable d'environnement HERMES_WEBUI_PASSWORD est définie`,password_placeholder:()=>`Entrer un nouveau mot de passe…`,path_copied:()=>`Chemin du fichier copié dans le presse-papiers`,path_copy_failed:()=>`Échec de la copie du chemin : `,pdf_download:()=>`Télécharger le PDF`,pdf_error:()=>`Échec du rendu de l'aperçu PDF`,pdf_loading:e=>`Chargement du PDF ${e?.a0}…`,pdf_no_pages:()=>`Le PDF n'a pas de pages`,pdf_too_large:()=>`PDF trop volumineux pour un aperçu en ligne`,pdf_truncated:e=>`Affichage des ${e?.a0} premières pages sur ${e?.a1} — téléchargez le document complet`,personal_memory:()=>`Mémoire personnelle`,personalities_load_failed:()=>`Échec du chargement des personnalités`,personality_cleared:()=>`Personnalité effacée`,personality_set:()=>`Personnalité : `,personality_switch_hint:()=>"\n\nUtilisez `/personality <nom>` pour changer, ou `/personality none` pour effacer.",plugins_active_provider:()=>`Actif (fournisseur)`,plugins_disabled:()=>`Désactivé`,plugins_enable_toggle:()=>`Activer`,plugins_enabled:()=>`Activé`,plugins_load_failed:()=>`Échec du chargement des plugins : `,plugins_no_description:()=>`Aucune description fournie.`,plugins_no_hooks:()=>`Aucun hook de cycle de vie enregistré`,plugins_provider_no_hooks:()=>`Plugin fournisseur — aucun hook de visibilité agent`,plugins_registered_hooks:()=>`Hooks enregistrés`,plugins_unnamed:()=>`Plugin sans nom`,preserved_task_list_label:()=>`Liste de tâches préservée`,primary_navigation:()=>`Navigation principale`,process_wakeup_label:()=>`Réveil en arrière-plan`,process_wakeup_matched:()=>`Motif de surveillance détecté`,profile_active:()=>`ACTIF`,profile_api_key_label:()=>`Clé API`,profile_api_key_placeholder:()=>`Clé API (facultatif)`,profile_api_keys_configured:()=>`Clés API configurées`,profile_base_url_label:()=>`URL de base`,profile_base_url_placeholder:()=>`URL de base (facultatif, ex. http://localhost:11434)`,profile_base_url_rule:()=>`L'URL de base doit commencer par http:// ou https://`,profile_clone_label:()=>`Cloner la configuration du profil actif`,profile_created:e=>`Profil créé : ${e?.name}`,profile_default_label:()=>`(par défaut)`,profile_delete_confirm_message:()=>`Toutes les sessions, configurations, compétences et mémoire de ce profil seront définitivement supprimées. Cette action ne peut pas être annulée.`,profile_delete_confirm_title:e=>`Supprimer le profil "${e?.name}" ?`,profile_delete_title:()=>`Supprimer ce profil`,profile_deleted:e=>`Profil supprimé : ${e?.name}`,profile_gateway_running:()=>`Passerelle en cours d'exécution`,profile_gateway_stopped:()=>`Passerelle arrêtée`,profile_model_hint:()=>`Choisissez parmi les fournisseurs et modèles configurés pour ce nouveau profil.`,profile_model_label:()=>`Modèle / fournisseur`,profile_model_use_default:()=>`Utiliser la valeur par défaut du profil actif`,profile_name_label:()=>`Nom`,profile_name_placeholder:()=>`Nom du profil (minuscules, a-z 0-9 tirets)`,profile_name_rule:()=>`Uniquement lettres minuscules, chiffres, tirets et underscores`,profile_no_configuration:()=>`Aucune configuration`,profile_skill_count:t=>(e(`fr`,t?.count,{}),t?.count===1||t?.count===`1`?`${t?.count} compétence`:`${t?.count} compétences`),profile_switch_title:()=>`Basculer vers ce profil`,profile_switched:e=>`Passé au profil : ${e?.name}`,profile_switched_new_conversation:e=>`Passé au profil : ${e?.name} — nouvelle conversation démarrée`,profile_use:()=>`Utiliser`,profiles_empty_sub:()=>`Choisissez un profil d'agent dans la barre latérale pour voir et modifier ses paramètres, ou créez-en un nouveau.`,profiles_empty_title:()=>`Sélectionnez un profil`,profiles_load_failed:()=>`Échec du chargement des profils`,profiles_no_profiles:()=>`Aucun profil trouvé.`,project_name_prompt:()=>`Nom du projet :`,provider_category_easy_start:()=>`Démarrage facile`,provider_category_self_hosted:()=>`Open / auto-hébergé`,provider_category_specialized:()=>`Spécialisé`,provider_cost_chart_title:e=>`Dépenses sur ${e?.n} jours`,provider_cost_monthly_pace:e=>`Rythme mensuel : ${e?.amount}`,provider_cost_no_baseline:()=>`pas de référence`,provider_cost_not_enough_data:()=>`Pas encore assez de données. Le graphique apparaît après 2 relevés quotidiens.`,provider_mismatch_label:()=>`Incompatibilité de fournisseur`,provider_mismatch_warning:e=>`« ${e?.m} » pourrait ne pas fonctionner avec votre fournisseur configuré (${e?.p}). Envoyez quand même, ou exécutez \`hermes model\` dans votre terminal pour changer.`,provider_quota_account_limits_loaded:()=>`Limites de compte chargées.`,provider_quota_active_provider:()=>`Fournisseur actif`,provider_quota_budget_day:e=>`Budget ${e?.percent} / jour`,provider_quota_budget_hour:e=>`Budget ${e?.percent} / heure`,provider_quota_burn:e=>`Consommation ${e?.rate}`,provider_quota_credential_label:e=>`Identifiant ${e?.a0}`,provider_quota_credential_pool:()=>`Pool d'identifiants`,provider_quota_empty_early:e=>`Épuisé ${e?.duration} plus tôt`,provider_quota_forecast_unavailable:()=>`Prévision indisponible`,provider_quota_last_checked:e=>`Dernière vérification ${e?.a0}`,provider_quota_last_checked_after_refresh:()=>`Dernière vérification après rafraîchissement`,provider_quota_lasts_through_reset:()=>`Tient jusqu’à la réinitialisation`,provider_quota_metric_limit:()=>`Limite`,provider_quota_metric_remaining:()=>`Restant`,provider_quota_metric_used:()=>`Utilisé`,provider_quota_on_pace:()=>`Dans le rythme`,provider_quota_over_pace:e=>`${e?.percent} au-dessus du rythme`,provider_quota_pace_unavailable:()=>`Rythme indisponible`,provider_quota_pool_no_windows:()=>`Aucune fenêtre de limite de compte signalée.`,provider_quota_pool_plans:e=>`Plans : ${e?.a0}`,provider_quota_pool_summary_available:e=>`${e?.a0}/${e?.a1} disponibles`,provider_quota_pool_summary_checked:e=>`${e?.a0} vérifiés`,provider_quota_pool_summary_exhausted:e=>`${e?.a0} épuisés`,provider_quota_pool_summary_failed:e=>`${e?.a0} en échec`,provider_quota_refresh_failed:()=>`Échec du rafraîchissement de l'utilisation du fournisseur`,provider_quota_refresh_succeeded:()=>`Utilisation du fournisseur rafraîchie`,provider_quota_refresh_title:()=>`Rafraîchir maintenant les limites d'utilisation du fournisseur`,provider_quota_refresh_usage:()=>`Rafraîchir l'utilisation`,provider_quota_refreshing:()=>`Rafraîchissement…`,provider_quota_remaining:e=>`${e?.percent} restant`,provider_quota_resets:e=>`Réinitialisation ${e?.time}`,provider_quota_resets_meta:e=>`réinitialisation ${e?.a0}`,provider_quota_retry_after:e=>`Réessayer après ${e?.a0}`,provider_quota_session_limit:()=>`Limite de 5 heures`,provider_quota_status_available:()=>`disponible`,provider_quota_status_checked:()=>`vérifié`,provider_quota_status_exhausted:()=>`épuisé`,provider_quota_status_failed:()=>`échec`,provider_quota_status_invalid_key:()=>`clé invalide`,provider_quota_status_no_key:()=>`pas de clé`,provider_quota_status_removed:()=>`supprimé`,provider_quota_status_stale:()=>`obsolète`,provider_quota_status_unavailable:()=>`indisponible`,provider_quota_status_unsupported:()=>`non pris en charge`,provider_quota_title:()=>`Quotas des fournisseurs`,provider_quota_unavailable:()=>`État du quota indisponible`,provider_quota_under_pace:e=>`${e?.percent} en dessous du rythme`,provider_quota_used_meta:e=>`${e?.a0} utilisé`,provider_quota_weekly_limit:()=>`Limite hebdomadaire`,provider_quota_window_fallback:()=>`Fenêtre`,providers_empty:()=>`Aucun fournisseur configurable trouvé.`,providers_enter_key:()=>`Veuillez entrer une clé API`,providers_key_placeholder_new:()=>`sk-…`,providers_key_placeholder_replace:()=>`Entrer une nouvelle clé pour remplacer…`,providers_key_removed:()=>`Clé API supprimée`,providers_key_updated:()=>`Clé API enregistrée`,providers_models_refreshed:()=>`Modèles rafraîchis`,providers_oauth_config_yaml_hint:()=>`Jeton configuré via config.yaml. Pour mettre à jour, modifiez la section des fournisseurs dans votre config.yaml ou exécutez hermes auth.`,providers_oauth_hint:()=>`Authentifié via OAuth. Aucune clé API nécessaire.`,providers_oauth_not_configured_hint:()=>`Non authentifié. Exécutez hermes auth dans le terminal pour configurer ce fournisseur.`,providers_refresh_models:()=>`Rafraîchir les modèles`,providers_refreshing:()=>`Rafraîchissement…`,providers_remove:()=>`Supprimer`,providers_removing:()=>`Suppression…`,providers_save:()=>`Enregistrer`,providers_saving:()=>`Enregistrement…`,providers_section_meta:()=>`Gérer les clés API pour les fournisseurs d'IA. Les modifications prennent effet immédiatement.`,providers_section_title:()=>`Fournisseurs`,providers_status_api_key:()=>`Clé API`,providers_status_configured:()=>`Clé API configurée`,providers_status_model:()=>`Modèle`,providers_status_not_configured:()=>`Aucune clé API`,providers_status_not_configured_label:()=>`Non configuré`,providers_tab_title:()=>`Fournisseurs`,queued_cancel:()=>`Annuler le message en file d'attente`,queued_count:e=>`${e?.n} en file d'attente`,queued_label:()=>`Envoi après la réponse`,raw_view:()=>`Brut`,reconnect_active:()=>`Une réponse est toujours en cours de génération. Recharger quand vous êtes prêt ?`,reconnect_finished:()=>`Une réponse était en cours lors de votre dernier départ. Les messages ont peut-être été mis à jour.`,reference_only_label:()=>`Référence uniquement`,regen_failed:()=>`Échec de la régénération : `,regenerate:()=>`Régénérer la réponse`,remove:()=>`Supprimer`,remove_failed:()=>`Échec de la suppression : `,remove_title:()=>`Supprimer`,rename_failed:()=>`Échec du renommage : `,rename_prompt:()=>`Nouveau nom :`,rename_title:()=>`Renommer`,renamed_to:()=>`Renommé en `,retrieval_context_label:()=>`Contexte indexé`,retrieval_context_preview:()=>`Les messages plus anciens sont stockés et récupérables via les outils de contexte`,retry_failed:()=>`Échec de la nouvelle tentative : `,reveal_failed:()=>`Échec de la révélation : `,reveal_in_finder:()=>`Révéler dans le gestionnaire de fichiers`,runtime_notice_region:()=>`État de la connexion et de l’exécution`,runtime_notice_reload_title:()=>`Recharger les messages ?`,runtime_notice_restart_slow_title:()=>`Le serveur met plus de temps que prévu`,runtime_notice_restarting_title:()=>`Redémarrage…`,runtime_notice_restored_detail:()=>`Hermes est de nouveau joignable. Reconnexion à cette conversation.`,runtime_notice_restored_title:()=>`Connexion rétablie`,save:()=>`Enregistrer`,save_failed:()=>`Échec de l'enregistrement : `,save_skill:()=>`Enregistrer la compétence`,save_title:()=>`Enregistrer les modifications`,saved:()=>`Enregistré`,saved_prompts_delete:()=>`Supprimer l'invite`,saved_prompts_empty:()=>`Aucune invite sauvegardée pour l'instant.`,saved_prompts_empty_input:()=>`Saisissez d'abord une invite à sauvegarder`,saved_prompts_save_current:()=>`Sauvegarder la saisie actuelle comme invite`,saved_prompts_saved:()=>`Invite sauvegardée`,scheduled_jobs:()=>`Tâches planifiées`,search:()=>`Rechercher`,search_skills:()=>`Rechercher des compétences…`,selected_text_refine:()=>`Affiner`,selected_text_refine_instruction:()=>`Instruction d'affinage :`,selected_text_refine_title:()=>`Commencer un brouillon d'affinage modifiable à partir de la sélection`,selected_text_reply:()=>`Répondre avec la sélection`,selected_text_reply_appended:()=>`Texte sélectionné ajouté au compositeur`,selected_text_reply_title:()=>`Ajouter le texte sélectionné du chat comme contexte cité`,session_archive:()=>`Archiver la conversation`,session_archive_desc:()=>`Masquer cette conversation jusqu'à ce que les archives soient affichées`,session_archive_failed:()=>`Échec de l'archivage : `,session_archive_worktree_desc:()=>`Masquer cette conversation ; conserver son worktree sur le disque`,session_archived:()=>`Session archivée`,session_archived_worktree:()=>`Session archivée. Le worktree reste sur le disque.`,session_attention_approval:e=>e?.n===1||e?.n===`1`?`Approbation`:`${e?.n} approbations`,session_attention_approval_title:()=>`En attente d'une décision d'autorisation`,session_attention_clarify:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`Question`:`${t?.n} questions`),session_attention_clarify_title:()=>`En attente de votre réponse`,session_attention_generic_title:()=>`En attente d'une action utilisateur`,session_batch_archive:()=>`Archiver`,session_batch_archive_confirm:e=>`Archiver ${e?.a0} conversation(s) ?`,session_batch_archive_worktree_confirm:e=>`Archiver ${e?.a0} conversation(s) ? ${e?.a1} conversation(s) adossées à un worktree conserveront leurs répertoires worktree sur le disque.`,session_batch_delete:()=>`Supprimer`,session_batch_delete_confirm:e=>`Supprimer ${e?.a0} conversation(s) ?`,session_batch_delete_worktree_confirm:e=>`Supprimer ${e?.a0} conversation(s) ? ${e?.a1} conversation(s) adossées à un worktree laisseront leurs répertoires worktree sur le disque.`,session_batch_move:()=>`Déplacer vers un projet`,session_child_toggle_hint:e=>`${e?.a0} — conversations enfants créées à partir de cette session. Cliquez pour les afficher ou les masquer.`,session_copy_link:()=>`Copier le lien de la conversation`,session_copy_link_desc:()=>`Copier un lien direct vers cette conversation`,session_delete:()=>`Supprimer la conversation`,session_delete_confirm:()=>`Supprimer cette conversation ?`,session_delete_desc:()=>`Supprimer définitivement cette conversation`,session_delete_worktree_confirm:e=>`Supprimer cette conversation ? Le worktree dans ${e?.path} restera sur le disque.`,session_delete_worktree_desc:()=>`Supprimer uniquement la conversation de l'interface Web ; conserver le worktree sur le disque`,session_deleted:()=>`Conversation supprimée`,session_deleted_worktree:()=>`Conversation supprimée. Le worktree reste sur le disque.`,session_deselect_all:()=>`Tout désélectionner`,session_duplicate:()=>`Dupliquer la conversation`,session_duplicate_desc:()=>`Créer une copie avec le même espace de travail et le même modèle`,session_duplicate_failed:()=>`Échec de la duplication : `,session_duplicated:()=>`Session dupliquée`,session_hidden:()=>`Session masquée de la liste`,session_hide_external:()=>`Masquer de la liste`,session_hide_external_desc:()=>`Masquer cette session importée de l'interface Web sans supprimer l'historique source.`,session_imported:()=>`Session importée`,session_jump_end:()=>`Fin`,session_jump_end_label:()=>`Aller à la fin de la session`,session_jump_start:()=>`Début`,session_jump_start_label:()=>`Aller au début de la session`,session_lineage_segment_open:()=>`Ouvrir le segment de la lignée`,session_lineage_segment_untitled:()=>`Segment sans titre`,session_lineage_static_hint:e=>`${e?.a0} — les tours de contexte précédents sont repliés ici.`,session_lineage_toggle_hint:e=>`${e?.a0} — les tours de contexte précédents sont repliés ici. Cliquez pour les afficher ou les masquer.`,session_link_copied:()=>`Lien de la conversation copié dans le presse-papiers`,session_link_copy_failed:()=>`Échec de la copie du lien de la conversation : `,session_meta_children:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} enfant`:`${t?.n} enfants`),session_meta_messages:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} msg`:`${t?.n} msgs`),session_meta_segments:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} tour antérieur`:`${t?.n} tours antérieurs`),session_move_project:()=>`Déplacer vers un projet`,session_move_project_desc_has:()=>`Changer le projet de cette conversation`,session_move_project_desc_none:()=>`Attribuer un projet à cette conversation`,session_new_message:()=>`Nouveau message`,session_new_message_label:()=>`Nouveau message disponible, aller à la fin`,session_no_selection:()=>`Aucune conversation sélectionnée`,session_pin:()=>`Épingler la conversation`,session_pin_desc:()=>`Garder cette conversation en haut`,session_pin_failed:()=>`Échec de l'épingle : `,session_readonly_title_hint:e=>`Session importée en lecture seule — ${e?.a0}`,session_rename:()=>`Renommer la conversation`,session_rename_desc:()=>`Modifier le titre de cette conversation`,session_rename_failed_no_row:()=>`Impossible de démarrer le renommage — ligne introuvable.`,session_restore:()=>`Restaurer la conversation`,session_restore_desc:()=>`Remettre cette conversation dans la liste principale`,session_restored:()=>`Session restaurée`,session_select_all:()=>`Tout sélectionner`,session_select_mode:()=>`Sélectionner`,session_select_mode_desc:()=>`Sélectionner des conversations à gérer par lot`,session_selected_count:e=>`${e?.a0} sélectionné(s)`,session_stop_response:()=>`Arrêter la réponse`,session_stop_response_desc:()=>`Annuler la réponse en cours pour cette conversation`,session_time_bucket_last_week:()=>`La semaine dernière`,session_time_bucket_older:()=>`Plus ancien`,session_time_bucket_this_week:()=>`Cette semaine`,session_time_bucket_today:()=>`Aujourd'hui`,session_time_bucket_yesterday:()=>`Hier`,session_time_days_ago:e=>`${e?.n}j`,session_time_last_week:()=>`1s`,session_time_unknown:()=>`Inconnu`,session_title_regenerate:()=>`Régénérer le titre`,session_title_regenerate_desc:()=>`Demander à Hermes de générer un nouveau titre à partir de la conversation`,session_title_regenerate_failed:()=>`Échec de la régénération du titre : `,session_title_regenerated:e=>`Titre régénéré : ${e?.title}`,session_title_regenerating:()=>`Régénération du titre…`,session_toolsets:()=>`Jeux d'outils de session`,session_toolsets_applied:()=>`Jeux d'outils mis à jour`,session_toolsets_apply:()=>`Appliquer`,session_toolsets_clear:()=>`Utiliser les valeurs par défaut`,session_toolsets_cleared:()=>`Utilisation des valeurs par défaut du profil actif`,session_toolsets_configured_servers:()=>`Serveurs MCP configurés`,session_toolsets_custom:()=>`Remplacement personnalisé`,session_toolsets_desc:()=>`Utiliser les valeurs par défaut du profil actif ou choisir une liste d'outils personnalisée pour cette session`,session_toolsets_failed:()=>`Échec de la mise à jour des jeux d'outils : `,session_toolsets_global:()=>`Valeurs par défaut du profil actif`,session_toolsets_loading_servers:()=>`Chargement des serveurs configurés…`,session_toolsets_no_configured_servers:()=>`Aucun serveur MCP configuré`,session_toolsets_placeholder:()=>`outil1, outil2, …`,session_toolsets_profile_defaults:()=>`Valeurs par défaut du profil actif`,session_toolsets_use_profile_defaults:()=>`Utiliser les valeurs par défaut du profil actif`,session_unpin:()=>`Désépingler la conversation`,session_unpin_desc:()=>`Retirer des épinglés`,session_worktree_remove:()=>`Supprimer le worktree`,session_worktree_remove_ahead_warning:t=>(e(`fr`,t?.ahead,{}),`${t?.ahead} commit(s) non poussé(s) seront perdus.`),session_worktree_remove_confirm:e=>`Supprimer le worktree git du disque ?
1
+ import{t as e}from"./registry-g7w3353u.js";var t=import.meta.url,n={_default:()=>`par défaut`,_import:()=>`Importer`,active_conversation_meta:t=>(e(`fr`,t?.count,{}),t?.count===1||t?.count===`1`?`${t?.title} · ${t?.count} message`:`${t?.title} · ${t?.count} messages`),active_conversation_none:()=>`Aucune conversation active sélectionnée.`,add:()=>`Ajouter`,add_failed:()=>`Échec de l'ajout : `,agent_soul:()=>`Âme de l'agent`,all_uploads_failed:e=>`Les ${e?.n} téléversement(s) ont échoué`,approval_btn_always:()=>`Toujours autoriser`,approval_btn_always_title:()=>`Toujours autoriser ce modèle de commande`,approval_btn_deny:()=>`Refuser`,approval_btn_deny_title:()=>`Refuser — ne pas exécuter cette commande`,approval_btn_once:()=>`Autoriser une fois`,approval_btn_once_title:()=>`Autoriser cette commande (Entrée)`,approval_btn_session:()=>`Autoriser pour la session`,approval_btn_session_title:()=>`Autoriser pour cette session de conversation`,approval_desc_prefix:()=>`Commande dangereuse détectée`,approval_gateway_unsupported:()=>`Les approbations nécessitent une passerelle plus récente. Mettez à niveau la passerelle Hermes connectée pour activer cette fonctionnalité.`,approval_gateway_unsupported_label:()=>`Approbations non prises en charge`,approval_heading:()=>`Approbation requise`,approval_more:()=>`Plus d’options`,approval_pending_count:e=>e?.n===1||e?.n===`1`?`${e?.n} sur ${e?.n} en attente`:`1 sur ${e?.n} en attente`,approval_responding:()=>`Réponse en cours…`,approval_skip_all:()=>`⚡ Ignorer tout cette session`,approval_skip_all_title:()=>`Ignorer toutes les demandes d'approbation pour cette session`,archive_extracted:e=>`${e?.n} fichier(s) extrait(s) de ${e?.c} archive(s)`,auth_ack_save_failed:()=>`Échec de la mise à jour de l'accusé de réception : `,auth_acknowledged_label:()=>`J'ai pris connaissance de ce risque ; afficher un avertissement de navigation moins urgent.`,auth_disabled:()=>`Authentification désactivée — protection par mot de passe supprimée`,auth_disabled_warning_message:()=>`Cette instance est accessible sans authentification.`,auth_status_passkey_only:()=>`Uniquement passkey`,auth_status_password:()=>`Authentification par mot de passe`,auth_status_unauthenticated:()=>`Non authentifié`,auth_warning_badge:()=>`Auth désactivée`,auto_compress_label:()=>`Compression automatique`,available_commands:()=>`Commandes disponibles :`,available_personalities:()=>`Personnalités disponibles :`,background_line_agent_completed:e=>`Agent « ${e?.goal} » terminé`,background_line_agent_failed:e=>`Agent « ${e?.goal} » en échec`,background_line_command_failed:e=>`Commande en arrière-plan ${e?.command} en échec`,background_line_command_failed_exit:e=>`Commande en arrière-plan ${e?.command} en échec (code ${e?.code})`,background_line_command_finished:e=>`Commande en arrière-plan ${e?.command} terminée`,background_review_failed:()=>`Le travail ou la vérification par l’agent parent a échoué.`,background_review_parent:e=>`Vérification par l’agent parent : ${e?.state}`,background_review_reviewed:()=>`L’agent parent a vérifié ce résultat.`,background_review_reviewing:()=>`L’agent parent vérifie ce résultat.`,background_review_unknown:()=>`Le résultat du travail ou de la vérification est inconnu.`,background_review_waiting:()=>`En attente de la vérification de ce résultat par l’agent parent.`,background_update_details:()=>`Afficher le résultat complet en arrière-plan`,bg_agents_failed:e=>`${e?.n} en échec`,bg_agents_progress:e=>`${e?.done} sur ${e?.total} terminés`,bg_card_title:()=>`Travail en arrière-plan`,bg_complete:()=>`Tâche en arrière-plan terminée`,bg_error_multi:e=>`${e?.count} sessions ont rencontré une erreur`,bg_error_single:e=>`"${e?.title}" a rencontré une erreur`,bg_failed:()=>`Échec de la tâche en arrière-plan : `,bg_hide_result:()=>`Masquer le résultat`,bg_kind_background_command:()=>`Tâche en arrière-plan`,bg_kind_process:()=>`Commande`,bg_label:()=>`Résultat en arrière-plan :`,bg_no_answer:()=>`(aucune réponse)`,bg_result_unavailable:()=>`Le résultat n’est plus disponible.`,bg_running:()=>`Exécution en arrière-plan…`,bg_show_result:()=>`Voir le résultat`,bg_status_attention:()=>`Requiert votre attention`,bg_status_cancelled:()=>`Arrêté`,bg_status_completed:()=>`Terminé`,bg_status_failed:()=>`Échec`,bg_status_running:()=>`En cours`,bg_status_unknown:()=>`Statut inconnu`,bg_usage:()=>`Utilisation : /background <message>`,branch_failed:()=>`Échec du fork : `,branch_forked:()=>`Forké dans une nouvelle session`,btw_asking:()=>`Question annexe en cours…`,btw_done:()=>`Question annexe répondue`,btw_failed:()=>`Échec de la question annexe : `,btw_label:()=>`Question annexe — hors historique`,btw_no_answer:()=>`Aucune réponse reçue.`,busy_interrupt_confirm:()=>`Interrompu — envoi d'un nouveau message`,busy_steer_fallback:()=>`Steer indisponible — brouillon restauré`,cancel:()=>`Annuler`,cancel_failed:()=>`Échec de l'annulation.`,cancel_unavailable:()=>`Annulation indisponible.`,cancelling:()=>`Annulation…`,checkpoint_diff_files_changed:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} fichier modifié`:`${t?.n} fichiers modifiés`),checkpoint_diff_no_changes:()=>`Aucune différence trouvée entre ce point de contrôle et l'espace de travail actuel.`,checkpoint_diff_title:()=>`Modifications dans le point de contrôle`,checkpoint_empty:()=>`Aucun point de contrôle trouvé pour cet espace de travail.`,checkpoint_error:()=>`Échec du chargement des points de contrôle`,checkpoint_files:()=>`Fichiers`,checkpoint_kept_user_edits:e=>`Vos modifications ont été conservées : ${e?.files}`,checkpoint_loading:()=>`Chargement des points de contrôle…`,checkpoint_restore:()=>`Restaurer`,checkpoint_restore_confirm_message:e=>`Restaurer les fichiers modifiés par l'agent depuis le point de contrôle « ${e?.ckpt} » ? Les fichiers que vous avez modifiés à la main après sa dernière écriture restent tels quels.`,checkpoint_restore_confirm_title:()=>`Restaurer le point de contrôle ?`,checkpoint_restore_everything:()=>`Tout restaurer`,checkpoint_restored:()=>`Point de contrôle restauré`,checkpoint_skipped_oversize:e=>`Trop volumineux pour être restaurés : ${e?.files}`,checkpoint_title:()=>`Points de contrôle`,checkpoint_view_diff:()=>`Voir les différences`,clarify_composer_placeholder:()=>`Saisissez votre réponse…`,clarify_composer_placeholder_choices:()=>`Choisissez une option ci-dessus ou saisissez votre réponse…`,clarify_heading:()=>`Clarification nécessaire`,clarify_hint:()=>`Choisissez une option ou saisissez votre propre réponse ci-dessous.`,clarify_other:()=>`Autre`,clarify_progress:e=>`Question ${e?.a0} sur ${e?.a1}`,clarify_responding:()=>`Réponse en cours…`,clarify_send:()=>`Envoyer`,clear:()=>`Effacer`,clear_conversation_btn_tooltip:()=>`Effacer tous les messages de cette conversation`,clear_conversation_message:()=>`Effacer tous les messages ? Cette action ne peut pas être annulée.`,clear_conversation_title:()=>`Effacer la conversation`,clear_failed:()=>`Échec de l'effacement : `,close_menu:()=>`Fermer le menu`,cmd_background:()=>`Exécuter une requête en arrière-plan`,cmd_background_usage:()=>`/background <requête> — exécuter en parallèle sans bloquer`,cmd_branch:()=>`Forker cette conversation dans une nouvelle session`,cmd_branch_usage:()=>`/branch [nom] — forker la conversation (avec un nom optionnel)`,cmd_btw:()=>`Poser une question annexe (éphémère)`,cmd_btw_usage:()=>`/btw <question> — poser une question annexe en utilisant le contexte de la session`,cmd_clear:()=>`Effacer les messages de la conversation`,cmd_compact_alias:()=>`Alias hérité pour /compress`,cmd_compress:()=>`Compresser manuellement le contexte de la conversation (utilisation : /compress [sujet principal])`,cmd_goal:()=>`Définir ou inspecter un objectif persistant`,cmd_help:()=>`Afficher les commandes slash disponibles`,cmd_interrupt:()=>`Annuler le tour en cours et envoyer un nouveau message`,cmd_interrupt_confirm:()=>`Interrompu — envoi d'un nouveau message`,cmd_interrupt_no_msg:()=>`Utilisation : /interrupt <message>`,cmd_model:()=>`Changer de modèle (ex. /model gpt-4o)`,cmd_new:()=>`Démarrer une nouvelle session de chat`,cmd_personality:()=>`Changer la personnalité de l'agent`,cmd_queue:()=>`Mettre un message en file d'attente pour le prochain tour`,cmd_queue_confirm:()=>`Message mis en file d'attente`,cmd_queue_no_msg:()=>`Utilisation : /queue <message>`,cmd_queue_not_busy:()=>`Aucune tâche active — envoyez normalement`,cmd_reasoning:()=>`Basculer la visibilité du raisonnement (afficher/masquer), définir le niveau d'effort, ou vérifier l'état actuel`,cmd_retry:()=>`Renvoyer le dernier message`,cmd_skills:()=>`Lister les compétences Hermes disponibles`,cmd_status:()=>`Afficher les informations de la session`,cmd_steer:()=>`Injecter une correction en milieu de tour sans interrompre l'agent`,cmd_steer_fallback:()=>`Steer indisponible — brouillon restauré`,cmd_steer_no_msg:()=>`Utilisation : /steer <message>`,cmd_stop:()=>`Arrêter la réponse en cours`,cmd_terminal:()=>`Ouvrir le terminal de l'espace de travail`,cmd_theme:()=>`Changer d'apparence (thème : system/dark/light, skin : default/ares/mono/graphite/slate/poseidon/sisyphus/charizard/sienna/catppuccin/nous/geist-contrast/zeus/verdigris)`,cmd_title:()=>`Obtenir ou définir le titre de la session`,cmd_undo:()=>`Supprimer le dernier échange`,cmd_usage:()=>`Activer/désactiver l'affichage de l'utilisation des jetons`,cmd_use:()=>`Forcer l'utilisation d'une compétence pour le prochain message`,cmd_voice:()=>`Activer/désactiver la saisie microphone`,cmd_voice_use_mic:()=>`Cliquez sur le bouton microphone dans le compositeur.`,cmd_webui_only_session:()=>`Cette commande n'est pas disponible pour les sessions importées via CLI.`,cmd_workspace:()=>`Changer d'espace de travail par nom`,cmd_yolo:()=>`Basculer le mode YOLO (ignorer les approbations)`,collapse_all:()=>`Tout réduire`,command_label:()=>`Commande`,composer_clarify:()=>`Envoyer la réponse`,composer_clarify_next:()=>`Question suivante`,composer_compression_will_queue:()=>`Saisissez un message — il sera mis en file d'attente et envoyé après la compression`,composer_control_attach:()=>`Joindre`,composer_control_bg_badge:()=>`Badge d'arrière-plan`,composer_control_context:()=>`Contexte`,composer_control_mic:()=>`Micro`,composer_control_mobile_config:()=>`Configuration mobile`,composer_control_model:()=>`Modèle`,composer_control_profile:()=>`Profil`,composer_control_quota_chip:()=>`Jeton de quota`,composer_control_reasoning:()=>`Raisonnement`,composer_control_saved_prompts:()=>`Invites sauvegardées`,composer_control_status:()=>`État`,composer_control_toolsets:()=>`Jeux d'outils`,composer_control_voice_mode:()=>`Mode vocal`,composer_control_workspace:()=>`Espace de travail`,composer_disabled_clarify:()=>`Répondre à la demande de clarification`,composer_disabled_compression:()=>`En attente de la fin de la compression`,composer_disabled_empty:()=>`Saisissez un message à envoyer`,composer_interrupt:()=>`Interrompre et envoyer`,composer_mobile_context:()=>`Contexte`,composer_mobile_model:()=>`Modèle`,composer_mobile_reasoning:()=>`Raisonnement`,composer_mobile_workspace:()=>`Espace de travail`,composer_queue:()=>`Mettre en file d'attente`,composer_send:()=>`Envoyer le message`,composer_steer:()=>`Piloter la réponse en cours`,composer_stop:()=>`Arrêter la génération`,compress_complete_label:()=>`Compression terminée`,compress_failed_label:()=>`Échec de la compression`,compress_running_label:()=>`Compression en cours`,compressing:()=>`Demande de compression du contexte…`,content_required:()=>`Le contenu est requis`,context_block_flush_aria:()=>`Les blocs de contexte seront inclus lors de l'envoi`,context_block_name_default:()=>`Contexte`,context_block_remove:()=>`Supprimer le bloc de contexte`,context_block_rename_aria:()=>`Renommer le bloc de contexte`,context_block_rename_hint:()=>`Cliquez ou appuyez sur Entrée pour renommer`,context_compaction_label:()=>`Compaction du contexte`,conversation_cleared:()=>`Conversation effacée`,copied:()=>`Copié !`,copy:()=>`Copier`,copy_failed:()=>`Échec de la copie`,copy_file_path:()=>`Copier le chemin du fichier`,copy_relative_path:()=>`Copier le chemin relatif`,create:()=>`Créer`,create_failed:()=>`Échec de la création : `,create_job:()=>`Créer une tâche`,created:()=>`Créé `,cron_advanced_label:()=>`Avancé`,cron_all_runs:()=>`Toutes les exécutions`,cron_attention_copy_diagnostics:()=>`Copier les diagnostics`,cron_attention_croniter_hint:()=>`Le package croniter est peut-être manquant dans l'environnement d'exécution de la passerelle. Redémarrez la passerelle avec le support cron, puis reprenez cette tâche.`,cron_attention_desc:()=>`Cette tâche récurrente n'a pas de prochaine exécution. Le planificateur n'a peut-être pas réussi à calculer sa prochaine exécution.`,cron_attention_resume:()=>`Reprendre et recalculer`,cron_attention_run_once:()=>`Exécuter une fois maintenant`,cron_collapse_output:()=>`Réduire la sortie`,cron_collapse_prompt:()=>`Réduire l'invite`,cron_context_from_empty_hint:()=>`Aucune autre tâche planifiée à chaîner pour l'instant.`,cron_context_from_hint:()=>`Injecte la sortie la plus récente de ces tâches comme contexte à chaque exécution (la tâche A collecte, la tâche B traite).`,cron_context_from_label:()=>`Contexte issu de tâches`,cron_continuity_hint:()=>`Chaque exécution voit la sortie précédente de la tâche elle-même, ce qui lui permet de dédupliquer et de reprendre où elle s'était arrêtée.`,cron_continuity_label:()=>`Continuité`,cron_delete_confirm_message:()=>`Cette action ne peut pas être annulée.`,cron_delete_confirm_title:()=>`Supprimer la tâche cron`,cron_deliver_custom:()=>`Cible de livraison personnalisée`,cron_deliver_label:()=>`Délivrer la sortie à`,cron_deliver_local:()=>`Local (enregistrer la sortie uniquement)`,cron_diagnostics_copied:()=>`Diagnostics Cron copiés`,cron_duplicate:()=>`Dupliquer`,cron_duplicated:()=>`Tâche dupliquée (en pause)`,cron_expand_output:()=>`Développer la sortie`,cron_expand_prompt:()=>`Développer l'invite`,cron_hide_runs:()=>`Masquer les exécutions`,cron_job_created:()=>`Tâche créée`,cron_job_deleted:()=>`Tâche supprimée`,cron_job_name_placeholder:()=>`Nom de la tâche`,cron_job_paused:()=>`Tâche mise en pause`,cron_job_resumed:()=>`Tâche reprise`,cron_job_triggered:()=>`Tâche déclenchée`,cron_job_updated:()=>`Tâche mise à jour`,cron_jobs_project:()=>`Tâches Cron`,cron_last:()=>`Dernière`,cron_last_output:()=>`Dernière sortie`,cron_model_hint:()=>`Remplace le modèle par défaut pour cette tâche.`,cron_model_label:()=>`Remplacement du modèle`,cron_model_no_agent_hint:()=>`Les tâches sans agent exécutent le script configuré directement ; le modèle n'est pas utilisé.`,cron_model_use_default:()=>`Par défaut (utiliser le profil/système par défaut)`,cron_monitor_hint:()=>`URL http(s) ou chemin de script facultatif vérifié à chaque tick. Une sortie identique saute l'exécution ; une sortie modifiée réveille l'agent avec un diff.`,cron_monitor_label:()=>`Source du moniteur`,cron_monitor_no_agent_conflict:()=>`Un moniteur ne peut pas être combiné avec une tâche script uniquement.`,cron_monitor_no_agent_hint:()=>`Indisponible sur les tâches script uniquement : un moniteur sert à réveiller ou à supprimer l'agent.`,cron_monitor_placeholder:()=>`https://example.com/status — ou — check-feed.sh`,cron_name_label:()=>`Nom`,cron_name_placeholder:()=>`Facultatif`,cron_next:()=>`Prochaine`,cron_no_agent_hint:()=>`Exécute le script et livre sa sortie standard telle quelle, sans LLM. Nécessite un chemin de script.`,cron_no_agent_label:()=>`Tâche script uniquement`,cron_no_agent_script_required:()=>`Une tâche script uniquement a besoin d'un chemin de script.`,cron_no_jobs:()=>`Aucune tâche planifiée trouvée.`,cron_no_runs_yet:()=>`(pas encore d'exécutions)`,cron_profile_label:()=>`Profil`,cron_profile_server_default:()=>`serveur par défaut`,cron_profile_server_default_hint:()=>`Utilise le profil par défaut du serveur WebUI au moment de l'exécution. Les tâches existantes sans profil conservent ce comportement hérité.`,cron_prompt_label:()=>`Invite`,cron_prompt_placeholder:()=>`Invite`,cron_prompt_required:()=>`L'invite est requise`,cron_reasoning_effort_default:()=>`Par défaut (suivre la configuration)`,cron_reasoning_effort_hint:()=>`Fige cette tâche sur un seul niveau de raisonnement, prioritaire sur les réglages globaux et par modèle au moment de l'exécution.`,cron_reasoning_effort_label:()=>`Effort de raisonnement`,cron_reasoning_effort_no_agent_hint:()=>`Inutilisé sur les tâches script uniquement : il n'y a aucun appel LLM à configurer.`,cron_repeat_hint:()=>`Combien de fois exécuter avant que la tâche s'arrête. Vide conserve la valeur par défaut : une fois pour une tâche ponctuelle, indéfiniment pour une planification récurrente. Défini uniquement à la création.`,cron_repeat_invalid:()=>`Le nombre de répétitions doit être un entier d'au moins 1.`,cron_repeat_label:()=>`Nombre de répétitions`,cron_repeat_placeholder:()=>`Laissez vide pour la valeur par défaut`,cron_resume:()=>`Reprendre`,cron_run_now:()=>`Exécuter maintenant`,cron_schedule_hint:()=>`Utilisez 'every 1h' ou une expression cron pour les tâches récurrentes. Les durées simples comme '30m' s'exécutent une fois.`,cron_schedule_hour_label:()=>`Heure`,cron_schedule_label:()=>`Planification`,cron_schedule_month_day_label:()=>`Jour`,cron_schedule_once_warning:()=>`Les formes de durée comme '30m' s'exécutent une fois et sont supprimées après l'exécution. Utilisez 'every 30m' pour conserver une tâche récurrente.`,cron_schedule_placeholder:()=>`Planification`,cron_schedule_preset_custom:()=>`Personnalisé`,cron_schedule_preset_daily:()=>`Quotidien`,cron_schedule_preset_hourly:()=>`Toutes les heures`,cron_schedule_preset_label:()=>`Préréglage`,cron_schedule_preset_monthly:()=>`Mensuel`,cron_schedule_preset_weekdays:()=>`Jours ouvrés`,cron_schedule_preset_weekly:()=>`Hebdomadaire`,cron_schedule_required:()=>`La planification est requise`,cron_schedule_required_example:()=>`La planification est requise (ex. "0 9 * * *" ou "every 1h")`,cron_schedule_time_hint:()=>`L'heure est celle du serveur; cron s'exécute côté serveur.`,cron_schedule_weekday_label:()=>`Jour de la semaine (0-6, dim-sam)`,cron_script_badge_title:()=>`Tâche script (sans agent)`,cron_script_context_hint:()=>`Facultatif. S'exécute à chaque tick ; sa sortie standard est injectée dans le prompt comme contexte. Les chemins relatifs sont résolus sous ~/.hermes/scripts/.`,cron_script_job_banner:()=>`Exécute un script selon un planning — la sortie standard est délivrée à la cible. Pas d'agent, d'invite ou de compétences.`,cron_script_output:()=>`Sortie du script`,cron_script_path_hint:()=>`Résolu sous ~/.hermes/scripts/ sauf chemin absolu. Modifiez le fichier script sur le serveur pour changer le comportement.`,cron_script_path_label:()=>`Chemin du script`,cron_skills_edit_hint:()=>`La liste des compétences n'est pas modifiable après la création.`,cron_skills_label:()=>`Compétences`,cron_skills_placeholder:()=>`Ajouter des compétences (facultatif)…`,cron_status_active:()=>`actif`,cron_status_error:()=>`erreur`,cron_status_needs_attention:()=>`nécessite une attention`,cron_status_off:()=>`désactivé`,cron_status_paused:()=>`en pause`,cron_status_running:()=>`en cours…`,cron_toast_notifications_disabled:()=>`Désactivé`,cron_toast_notifications_enabled:()=>`Activé`,cron_toast_notifications_hint:()=>`Afficher une notification toast lorsque ce cron se termine. Le badge Tâches et le marqueur de nouvelle exécution se mettent toujours à jour lorsque cette option est désactivée.`,cron_toast_notifications_label:()=>`Notifications de fin`,cron_view_full_output:()=>`Voir la sortie complète`,cron_workdir_label:()=>`Répertoire de travail`,csv_error:()=>`Échec du chargement du fichier CSV`,csv_header_note:()=>`La première ligne est affichée comme en-tête du tableau`,csv_loading:()=>`Chargement du CSV`,csv_no_data:()=>`Le fichier CSV ne contient pas assez de données pour être affiché sous forme de tableau`,csv_too_large:()=>`Fichier CSV trop volumineux pour un rendu en ligne`,ctx_compress_action:()=>`⚠ Compresser maintenant pour libérer le contexte`,ctx_compress_hint:()=>`Compresser le contexte pour libérer de l'espace →`,current_password_incorrect:()=>`Le mot de passe actuel est incorrect.`,current_password_label:()=>`Mot de passe actuel`,current_password_placeholder:()=>`Entrer le mot de passe actuel…`,current_password_required:()=>`Le mot de passe actuel est requis pour modifier ou désactiver l'authentification.`,current_task_list:()=>`Liste de tâches actuelle`,dashboard_loopback_warning:()=>`Le tableau de bord est en boucle locale uniquement sur le serveur. Naviguez depuis le serveur lui-même ou redémarrez-le avec --host 0.0.0.0 (non sécurisé).`,delete_confirm:e=>`Supprimer ${e?.name} ?`,delete_dir_confirm:e=>`Supprimer le dossier "${e?.name}" et tout son contenu ?`,delete_failed:()=>`Échec de la suppression : `,delete_title:()=>`Supprimer`,deleted:()=>`Supprimé `,dialog_confirm_btn:()=>`Confirmer`,dialog_confirm_title:()=>`Confirmer l'action`,dialog_prompt_title:()=>`Entrer une valeur`,dictation_append_desc:()=>`Lorsque activé, le texte dicté est ajouté au texte déjà présent dans le composer (avec un espace si nécessaire). Lorsque désactivé, le texte dicté remplace le contenu du composer.`,dictation_append_label:()=>`Ajouter la dictée au composer`,diff_error:()=>`Impossible de charger le fichier de correctif`,diff_loading:()=>`Chargement des différences`,diff_too_large:()=>`Fichier de correctif trop volumineux pour un affichage en ligne`,disable:()=>`Désactiver`,disable_auth:()=>`Désactiver l'authentification`,disable_auth_confirm_message:()=>`Tout le monde pourra accéder à cette instance.`,disable_auth_confirm_title:()=>`Désactiver la protection par mot de passe`,disable_auth_failed:()=>`Échec de la désactivation de l'authentification : `,disable_auth_typed_confirm:()=>`Tapez DISABLE AUTH pour confirmer`,discard:()=>`Ignorer`,discard_file_edits_message:()=>`Changer d'espace de travail ignorera les modifications de fichiers non enregistrées dans l'aperçu.`,discard_file_edits_title:()=>`Ignorer les modifications du fichier ?`,dismiss:()=>`Ignorer`,done:()=>`Terminé`,double_click_rename:()=>`Double-cliquer pour renommer`,download_folder:()=>`Télécharger le dossier`,download_transcript:()=>`Télécharger en Markdown`,downloading:e=>`Téléchargement de ${e?.name}…`,edit:()=>`Modifier`,edit_failed:()=>`Échec de la modification : `,edit_message:()=>`Modifier le message`,edit_title:()=>`Modifier ce fichier`,editing:()=>`Édition`,empty_dir:()=>`(vide)`,empty_hero_title:()=>`Sur quoi travaillons-nous ?`,empty_hero_title_workspace:e=>`Sur quoi travaillons-nous dans ${e?.a0} ?`,error_prefix:()=>`Erreur : `,excalidraw_download:()=>`Télécharger`,excalidraw_empty:()=>`Diagramme vide`,excalidraw_error:()=>`Échec du chargement du fichier Excalidraw`,excalidraw_invalid:()=>`Format de fichier Excalidraw invalide`,excalidraw_label:()=>`Diagramme`,excalidraw_loading:()=>`Chargement du diagramme`,excalidraw_render_error:()=>`Échec du rendu du diagramme`,excalidraw_simplified:()=>`Aperçu SVG simplifié — pas identique au pixel près au canevas Excalidraw`,excalidraw_too_large:()=>`Fichier Excalidraw trop volumineux pour un rendu en ligne`,expand_all:()=>`Tout développer`,export_session_html_tooltip:()=>`Exporter en page HTML autonome`,export_session_json_tooltip:()=>`Exporter la session complète en JSON`,ext_configure:()=>`Configurer`,ext_configure_failed:()=>`Échec de la configuration de l’extension.`,ext_configure_opening:()=>`Ouverture…`,ext_gallery_after_install:()=>`Après l’installation`,ext_gallery_install_followup:()=>`Extension installée. Consultez la carte pour les prochaines étapes.`,ext_gallery_install_restart_required:()=>`Extension installée. Redémarrage requis pour appliquer.`,ext_gallery_local_app_label:()=>`Application locale`,ext_gallery_local_component_required:()=>`Cette extension comporte un composant local. Après l’installation, démarrez l’application locale ou le sidecar requis.`,ext_gallery_native_host_required:()=>`Hôte natif requis`,ext_gallery_next_step:()=>`Étape suivante`,ext_gallery_open_setup_guide:()=>`Ouvrir le guide de configuration`,ext_gallery_permissions_empty:()=>`Aucune permission supplémentaire déclarée.`,ext_gallery_required_suffix:e=>`${e?.a0} requis`,ext_gallery_sidecar_required:()=>`Sidecar requis`,external_link_grant_expired:()=>`Cette vue externe a expiré. Rouvrez le lien symbolique cible d'évasion pour l'autoriser à nouveau.`,external_link_open_confirm:()=>`Ce lien symbolique pointe en dehors de l'espace de travail. L'ouvrir dans une vue externe en lecture seule pour cette session de navigateur ?`,external_link_read_only:()=>`Cette vue externe est en lecture seule. Les actions de création, renommage, déplacement, suppression, téléversement, révélation et l'éditeur restent désactivés ici.`,external_notes_auto_recall_hint:()=>`Le rappel automatique de session est inchangé ; ce tiroir affiche uniquement les sources configurées et les outils de lecture/recherche disponibles.`,external_notes_configured_hint:()=>`Les noms d'outils sont attendus de cette source configurée ; les schémas en direct apparaîtront lorsque l'environnement d'exécution de l'interface Web les exposera.`,external_notes_empty:()=>`Aucune source de notes ou de connaissances MCP n'est encore visible. Configurez Joplin, Obsidian, Notion, llm-wiki ou un autre serveur de notes pour l'afficher ici.`,external_notes_no_tools:()=>`Aucun outil de lecture/recherche n'est actuellement visible pour cette source.`,external_notes_recent_ai:()=>`Récemment utilisé par l'IA`,external_notes_recent_ai_reason:()=>`Rappel automatique`,external_notes_search_empty:()=>`Recherchez dans une source de notes configurée pour prévisualiser les notes ici.`,external_notes_search_placeholder:()=>`Rechercher des notes…`,external_notes_sources:()=>`Notes tierces`,external_notes_tool_count:t=>(e(`fr`,t?.count,{}),`${t?.count} outils de notes disponibles`),failed_colon:()=>`Échec : `,file_open_failed:()=>`Impossible d'ouvrir le fichier`,filter_conversations:()=>`Filtrer les conversations…`,first_token_time:()=>`Délai jusqu'au premier jeton`,focus_label:()=>`Focalisation`,folder_add_as_space_btn:()=>`Ajouter comme espace`,folder_add_as_space_msg:()=>`Ajouter ce dossier comme nouvel espace dans votre liste ?`,folder_add_as_space_title:()=>`Ajouter comme espace ?`,folder_create_failed:()=>`Échec de la création du dossier : `,folder_created:()=>`Dossier créé `,font_size_default:()=>`Par défaut`,font_size_large:()=>`Grande`,font_size_small:()=>`Petite`,font_size_xlarge:()=>`Très grande`,fork_from_here:()=>`Forker à partir d'ici`,forked_from:()=>`Forké depuis`,gateway_auth_label:()=>`Échec de l'authentification de la passerelle`,gateway_endpoint_unreachable:()=>`Point de terminaison de la passerelle inaccessible`,gateway_last_active:()=>`Dernière activité : `,gateway_load_failed:()=>`Échec du chargement de l'état de la passerelle`,gateway_metadata_stale:()=>`Métadonnées de la passerelle obsolètes`,gateway_not_configured:()=>`Passerelle non configurée`,gateway_not_running:()=>`Passerelle non en cours d'exécution`,gateway_restart:()=>`Redémarrer`,gateway_restart_failed:()=>`Échec du redémarrage de la passerelle`,gateway_restart_success:()=>`Redémarrage de la passerelle terminé.`,gateway_running:()=>`En cours d'exécution`,gateway_running_label:()=>`En cours`,gateway_session_count:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} session`:`${t?.n} sessions`),gateway_start:()=>`Démarrer`,gateway_start_failed:()=>`Échec du démarrage de la passerelle`,gateway_start_success:()=>`Démarrage de la passerelle terminé.`,gateway_status_load_failed:()=>`Échec du chargement de l'état de la passerelle`,gateway_stop:()=>`Arrêter`,gateway_stop_failed:()=>`Échec de l'arrêt de la passerelle`,gateway_stop_success:()=>`Arrêt de la passerelle terminé.`,goal_achieved:e=>`✓ Objectif atteint : ${e?.reason}`,goal_cleared:()=>`Objectif effacé.`,goal_continuing:e=>`↻ Poursuite vers l'objectif (${e?.turns}/${e?.max_turns}) : ${e?.reason}`,goal_continuing_toast:()=>`Poursuite vers l'objectif…`,goal_evaluating_progress:()=>`Évaluation de la progression vers l'objectif…`,goal_no_goal:()=>`Aucun objectif actif.`,goal_paused:e=>`⏸ Objectif mis en pause : ${e?.goal}`,goal_paused_budget_exhausted:e=>`⏸ Objectif en pause — ${e?.turns}/${e?.max_turns} tours utilisés. Utilisez /goal resume pour continuer, ou /goal clear pour arrêter.`,goal_resumed:e=>`▶ Objectif repris : ${e?.goal}`,goal_set:e=>`⊙ Objectif défini (budget de ${e?.turns} tours) : ${e?.goal}`,goal_status_active:e=>`⊙ Objectif (actif, ${e?.turns}/${e?.max_turns} tours) : ${e?.goal}`,goal_status_done:e=>`✓ Objectif atteint (${e?.turns}/${e?.max_turns}) : ${e?.goal}`,goal_status_none:()=>`Aucun objectif actif. Définissez-en un avec /goal <texte>.`,goal_status_paused:e=>`⏸ Objectif (en pause, ${e?.turns}/${e?.max_turns}${e?.reason_suffix}) : ${e?.goal}`,goal_working_toward:()=>`Travail vers l'objectif…`,html_error:()=>`Échec du rendu de l'aperçu HTML`,html_loading:()=>`Chargement de l'aperçu HTML…`,html_open_full:()=>`Ouvrir la page entière`,html_sandbox_label:()=>`Aperçu HTML (bac à sable)`,html_too_large:()=>`HTML trop volumineux pour un aperçu en ligne`,image_load_failed:()=>`Impossible de charger l'image`,image_pasted:()=>`Image collée : `,import_failed:()=>`Échec de l'importation :`,import_invalid_json:()=>`JSON invalide`,import_session_json_tooltip:()=>`Importer une session depuis JSON`,insights_activity_by_day:()=>`Activité par jour`,insights_activity_by_hour:()=>`Activité par heure`,insights_cache_hit:()=>`Taux de succès du cache de prompts`,insights_cost:()=>`Coût estimé`,insights_daily_tokens:()=>`Jetons quotidiens`,insights_footer:e=>`Affichage des données des ${e?.days} derniers jours`,insights_input_tokens:()=>`Entrée`,insights_model_cost:()=>`Coût`,insights_model_health_cost_per_m:()=>`Coût / 1M`,insights_model_health_provider:()=>`Fournisseur`,insights_model_health_replacement:()=>`Guide de remplacement`,insights_model_health_title:()=>`Comparaison de la santé des modèles`,insights_model_name:()=>`Modèle`,insights_model_share:()=>`Part`,insights_model_tokens:()=>`Jetons`,insights_models:()=>`Modèles`,insights_no_usage_data:()=>`Aucune donnée d'utilisation pour l'instant`,insights_output_tokens:()=>`Sortie`,insights_peak_hour:e=>`Pic : ${e?.hour}`,insights_skill_usage_col_patches:()=>`Correctifs`,insights_skill_usage_col_share:()=>`Part d'utilisation`,insights_skill_usage_col_skill:()=>`Compétence`,insights_skill_usage_col_uses:()=>`Utilisations`,insights_skill_usage_col_views:()=>`Vues`,insights_skill_usage_footer:()=>`Comptages depuis ~/.hermes/skills/`,insights_skill_usage_no_data:()=>`Aucune donnée d'utilisation des compétences pour l'instant`,insights_skill_usage_no_data_hint:()=>`Les compétences apparaîtront ici une fois utilisées dans les conversations.`,insights_skill_usage_skills_used:()=>`Compétences utilisées`,insights_skill_usage_sub:()=>`Fréquence d'invocation des outils`,insights_skill_usage_title:()=>`Utilisation des compétences`,insights_skill_usage_total:()=>`Invocations totales`,insights_title:()=>`Analyses d'utilisation`,insights_token_breakdown:()=>`Répartition des jetons`,insights_tokens:()=>`Jetons`,jump_to_question:()=>`vers la réponse`,jump_to_question_label:()=>`Aller au début de cette réponse`,kanban_add_comment:()=>`Ajouter un commentaire`,kanban_add_dependency:()=>`Ajouter une dépendance`,kanban_all_assignees:()=>`Tous les assignés`,kanban_all_tenants:()=>`Tous les locataires`,kanban_archive_board:()=>`Archiver le tableau actuel…`,kanban_archive_board_confirm:e=>`Archiver le tableau "${e?.name}" ? Les tâches restent sur le disque et le tableau peut être restauré depuis kanban/boards/_archived/.`,kanban_assignee:()=>`Assigné à`,kanban_assignee_other_label:()=>`Autre (voies CLI / profils supprimés)`,kanban_assignee_placeholder:()=>`Facultatif — laissez vide pour n'importe quel travailleur`,kanban_assignee_profiles_label:()=>`Profils Hermes`,kanban_assignee_unassigned:()=>`— Non assigné (ne s'exécutera pas automatiquement) —`,kanban_back_to_board:()=>`Retour au tableau`,kanban_block:()=>`Bloquer`,kanban_board:()=>`Tableau`,kanban_board_archived:()=>`Tableau archivé`,kanban_board_color:()=>`Couleur (facultatif)`,kanban_board_default_workdir:()=>`Chemin du workspace par défaut`,kanban_board_default_workdir_placeholder:()=>`Chemin du workspace (facultatif)`,kanban_board_description:()=>`Description (facultatif)`,kanban_board_icon:()=>`Icône (emoji, facultatif)`,kanban_board_name:()=>`Nom`,kanban_board_name_required:()=>`Le nom est requis`,kanban_board_settings:()=>`Paramètres du tableau`,kanban_board_slug:()=>`Slug (minuscules, tirets)`,kanban_board_slug_required:()=>`Le slug est requis`,kanban_bulk_action:()=>`Action groupée`,kanban_card_archive:()=>`archiver`,kanban_card_complete:()=>`terminer`,kanban_children:()=>`Enfants`,kanban_comments_count:e=>`Commentaires (${e?.a0})`,kanban_dependency_placeholder:()=>`ID de la tâche à lier`,kanban_dependency_self:()=>`Une tâche ne peut pas dépendre d'elle-même`,kanban_description_placeholder:()=>`Facultatif — ce qui doit se passer, critères d'acceptation, liens`,kanban_dispatch_auto_blocked:()=>`auto-bloqué`,kanban_dispatch_crashed:()=>`planté`,kanban_dispatch_preview_prefix:()=>`Aperçu :`,kanban_dispatch_promoted:()=>`promu`,kanban_dispatch_reclaimed:()=>`récupéré`,kanban_dispatch_run_prefix:()=>`Réparti :`,kanban_dispatch_skipped_nonspawnable:()=>`ignoré (profil inconnu)`,kanban_dispatch_skipped_unassigned:()=>`ignoré (pas d'assigné)`,kanban_dispatch_spawned:()=>`lancé`,kanban_dispatch_timed_out:()=>`expiré`,kanban_edit_task:()=>`Modifier la tâche`,kanban_empty:()=>`Vide`,kanban_events_count:e=>`Événements (${e?.a0})`,kanban_include_archived:()=>`Inclure les archivés`,kanban_lanes_by_profile:()=>`Colonnes par profil`,kanban_links:()=>`Liens`,kanban_new_board:()=>`Nouveau tableau…`,kanban_new_task:()=>`Nouvelle tâche`,kanban_no_comments:()=>`Aucun commentaire`,kanban_no_data:()=>`Aucune donnée Kanban`,kanban_no_description:()=>`Aucune description`,kanban_no_events:()=>`Aucun événement`,kanban_no_matching_tasks:()=>`Aucune tâche correspondante`,kanban_no_runs:()=>`Aucune exécution`,kanban_nudge_dispatcher:()=>`Aperçu du répartiteur`,kanban_only_mine:()=>`Uniquement les miennes`,kanban_priority:()=>`Priorité`,kanban_priority_hint:()=>`Les nombres plus élevés sont exécutés en premier. Par défaut 0.`,kanban_read_only:()=>`Vue en lecture seule`,kanban_ready_needs_assignee:()=>`Vous avez sélectionné Non assigné + Prêt. Le répartiteur ignorera cette tâche. Soumettez à nouveau pour confirmer, ou choisissez un profil.`,kanban_refresh:()=>`Rafraîchir`,kanban_remove_dependency:()=>`Supprimer la dépendance`,kanban_rename_board:()=>`Paramètres du tableau…`,kanban_run_dispatcher:()=>`Exécuter le répartiteur`,kanban_run_dispatcher_confirm:()=>`Cela réclamera les tâches Prêtes sur ce tableau et générera des sous-processus de travailleurs (un par tâche, jusqu'à 8 par clic). Continuer ?`,kanban_runs_count:e=>`Exécutions (${e?.a0})`,kanban_search_tasks:()=>`Rechercher des tâches`,kanban_stats:()=>`Statistiques`,kanban_status:()=>`Statut`,kanban_status_archived:()=>`Archivé`,kanban_status_blocked:()=>`Bloqué`,kanban_status_done:()=>`Terminé`,kanban_status_original_hint:e=>`Statut actuel : ${e?.a0}. Cette boîte de dialogue ne prend en charge que les modifications Triage/À faire/Prêt.`,kanban_status_ready:()=>`Prêt`,kanban_status_running:()=>`En cours`,kanban_status_todo:()=>`À faire`,kanban_task:()=>`Tâche`,kanban_tenant:()=>`Locataire`,kanban_tenant_placeholder:()=>`Facultatif — slug du projet ou de l'équipe`,kanban_title:()=>`Titre`,kanban_title_required:()=>`Le titre est requis.`,kanban_unassigned:()=>`non assigné`,kanban_unavailable:()=>`Kanban indisponible`,kanban_unblock:()=>`Débloquer`,kanban_view_consolidated:()=>`Vue consolidée`,kanban_view_consolidated_saved:()=>`Vue Kanban : consolidée`,kanban_view_lanes:()=>`Colonnes par profil`,kanban_view_lanes_saved:()=>`Vue Kanban : colonnes par profil`,kanban_view_update_failed:()=>`Échec de la mise à jour de la vue Kanban : `,kanban_visible_tasks:e=>`${e?.a0} tâches visibles`,kanban_work_queue_hint:()=>`Il s'agit de la file d'attente de travail de l'agent Hermes. Créez ou triez une tâche, assignez-la, déplacez-la vers Prêt, puis laissez le répartiteur la réclamer.`,kanban_worker_log:()=>`Journal du travailleur`,kanban_workspace_dir:()=>`Répertoire`,kanban_workspace_kind:()=>`Type d'espace de travail`,kanban_workspace_path:()=>`Chemin de l'espace de travail`,kanban_workspace_path_placeholder:()=>`Chemin vers l'espace de travail`,kanban_workspace_path_required:()=>`Le chemin de l'espace de travail est requis pour les espaces de travail non-brouillon.`,kanban_workspace_scratch:()=>`Brouillon`,linked_files:()=>`Fichiers liés`,live_background:()=>`Traitement des résultats en arrière-plan`,load_older_messages:()=>`↑ Faites défiler vers le haut ou cliquez pour charger les anciens messages`,loading:()=>`Chargement…`,login_btn:()=>`Se connecter`,login_conn_failed:()=>`Échec de la connexion`,login_invalid_pw:()=>`Mot de passe invalide`,login_placeholder:()=>`Mot de passe`,login_subtitle:()=>`Entrez votre mot de passe pour continuer`,login_title:()=>`Connexion`,logs_auto_refresh:()=>`Rafraîchissement automatique (5s)`,logs_copied:()=>`Journaux copiés`,logs_copy_all:()=>`Tout copier`,logs_empty:()=>`Aucune ligne de journal pour l'instant.`,logs_file:()=>`Fichier`,logs_filter_active:()=>`affiché (filtre actif)`,logs_load_failed:()=>`Échec du chargement des journaux`,logs_loading:()=>`Chargement des journaux…`,logs_no_mtime:()=>`pas encore écrit`,logs_severity:()=>`Sévérité`,logs_severity_all:()=>`Tout`,logs_severity_errors:()=>`Erreurs`,logs_severity_warnings:()=>`Avertissements+`,logs_status_idle:()=>`Choisissez un fichier journal pour voir les lignes récentes.`,logs_tail:()=>`Queue`,logs_title:()=>`Journaux`,logs_truncated_hint:()=>`Affichage de la queue d'un gros fichier journal ; les octets plus anciens ont été ignorés pour limiter la mémoire.`,logs_wrap:()=>`Retourner les lignes`,manage_profiles:()=>`Gérer les profils`,markdown_table_filter:()=>`Filtrer le tableau`,markdown_table_sort_column:()=>`Trier la colonne`,marker_context_compaction:()=>`Compaction du contexte`,marker_preserved_task_list:()=>`Liste de tâches conservée`,mcp_add_server:()=>`+ Ajouter un serveur`,mcp_cancel:()=>`Annuler`,mcp_command_required:()=>`La commande est requise pour le transport stdio.`,mcp_delete_confirm_message:e=>`Supprimer le serveur MCP "${e?.a0}" ? Cette action ne peut pas être annulée.`,mcp_delete_confirm_title:()=>`Supprimer le serveur MCP`,mcp_delete_failed:()=>`Échec de la suppression du serveur MCP.`,mcp_deleted:()=>`Serveur MCP supprimé.`,mcp_disable_server:()=>`Désactiver ce serveur MCP`,mcp_disabled_toast:e=>`Serveur MCP "${e?.name}" désactivé.`,mcp_enable_server:()=>`Activer ce serveur MCP`,mcp_enabled_no:()=>`Désactivé`,mcp_enabled_toast:e=>`Serveur MCP "${e?.name}" activé.`,mcp_enabled_yes:()=>`Activé`,mcp_field_args:()=>`Arguments (séparés par des virgules)`,mcp_field_command:()=>`Commande`,mcp_field_name:()=>`Nom du serveur`,mcp_field_timeout:()=>`Délai d'expiration (secondes)`,mcp_health_needs_auth:()=>`Connexion requise`,mcp_health_unhealthy:()=>`Injoignable`,mcp_load_failed:()=>`Échec du chargement des serveurs MCP.`,mcp_name_required:()=>`Le nom du serveur est requis.`,mcp_no_servers:()=>`Aucun serveur MCP configuré.`,mcp_restart_hint:()=>`Les modifications du serveur sont en lecture seule ici pour le moment. Modifiez config.yaml et redémarrez Hermes pour que les changements soient pris en compte.`,mcp_save:()=>`Sauvegarder`,mcp_save_failed:()=>`Échec de l'enregistrement du serveur MCP.`,mcp_saved:()=>`Serveur MCP enregistré.`,mcp_servers_desc:()=>`Afficher les serveurs MCP configurés dans config.yaml.`,mcp_servers_title:()=>`Serveurs MCP`,mcp_status_active:()=>`Actif`,mcp_status_configured:()=>`Configuré`,mcp_status_disabled:()=>`Désactivé`,mcp_status_invalid_config:()=>`Configuration invalide`,mcp_status_unknown:()=>`Inconnu`,mcp_toggle_failed:()=>`Échec de la mise à jour du serveur MCP.`,mcp_toggle_followup:()=>`Les contrôles d'activation/désactivation sont intentionnellement reportés jusqu'à ce que la sémantique de rechargement MCP soit explicite.`,mcp_tool_count:e=>`${e?.a0} outils`,mcp_tools_desc:()=>`Rechercher des outils connus sur les serveurs MCP actifs.`,mcp_tools_inactive_configured_servers:e=>`Configurés mais inactifs dans cette interface Web : ${e?.servers}.`,mcp_tools_load_failed:()=>`Échec du chargement des outils MCP.`,mcp_tools_next_page:()=>`Suivant ›`,mcp_tools_next_page_aria:()=>`Page suivante des outils MCP`,mcp_tools_no_matches:()=>`Aucun outil MCP ne correspond à votre recherche.`,mcp_tools_no_tools:()=>`Aucun outil MCP n'est disponible dans l'inventaire d'exécution actif.`,mcp_tools_page_size_prefix:()=>`Afficher`,mcp_tools_page_size_suffix:()=>`par page`,mcp_tools_pagination_label:()=>`Pagination des outils MCP`,mcp_tools_per_page_aria:()=>`Outils MCP par page`,mcp_tools_previous_page:()=>`‹ Précédent`,mcp_tools_previous_page_aria:()=>`Page précédente des outils MCP`,mcp_tools_runtime_note:()=>`L'inventaire des outils utilise uniquement les données d'exécution MCP actives déjà connues ; l'interface Web ne démarre pas et ne sonde pas les serveurs.`,mcp_tools_schema_empty:()=>`Aucun paramètre de schéma.`,mcp_tools_search_placeholder:()=>`Rechercher des outils par nom, serveur ou description…`,mcp_tools_summary_matching:e=>` correspondant à « ${e?.query} »`,mcp_tools_summary_no_matches:e=>`Aucun outil MCP ne correspond à « ${e?.query} » (${e?.total} outils MCP au total).`,mcp_tools_summary_none:()=>`Aucun outil MCP à afficher.`,mcp_tools_summary_showing:e=>`Affichage de ${e?.start}-${e?.end} sur ${e?.filtered} outils MCP${e?.searchNote}${e?.totalNote}. Page ${e?.page} sur ${e?.pages}.`,mcp_tools_summary_total_note:e=>` (${e?.total} outils MCP au total)`,mcp_tools_title:()=>`Outils MCP`,mcp_transport_label:()=>`Type de transport`,mcp_url_required:()=>`L'URL est requise pour le transport HTTP.`,media_download:()=>`Télécharger`,media_svg_label:()=>`Diagramme`,media_video_label:()=>`Vidéo`,memory_notes_label:()=>`mémoire (notes)`,memory_saved:()=>`Mémoire enregistrée`,mic_denied:()=>`Accès au microphone refusé. Vérifiez les autorisations du navigateur.`,mic_error:()=>`Erreur de saisie vocale : `,mic_insecure_origin:()=>`La saisie vocale nécessite une connexion sécurisée. Ouvrez Hermes en HTTPS ou depuis localhost pour utiliser le microphone.`,mic_network:()=>`Reconnaissance vocale indisponible.`,mic_no_speech:()=>`Aucune parole détectée. Réessayez.`,model_badge_selected:()=>`Sélectionné`,model_custom_label:()=>`ID de modèle personnalisé`,model_custom_placeholder:()=>`ex. openai/gpt-5.4`,model_did_you_mean:e=>` — vouliez-vous dire "${e?.m}" ?`,model_group_configured:()=>`Configuré`,model_not_found_label:()=>`Modèle introuvable`,model_scope_advisory:()=>`S'applique à cette conversation à partir de votre prochain message.`,model_scope_toast:()=>`S'applique à cette conversation à partir de votre prochain message.`,model_search_no_results:()=>`Aucun modèle trouvé`,model_search_placeholder:()=>`Rechercher des modèles…`,model_show_all_models:e=>`Afficher tous les ${e?.a0} modèles`,model_unavailable:()=>` (indisponible)`,model_unavailable_title:()=>`Ce modèle ne figure plus dans votre liste de fournisseurs actuelle`,model_usage:()=>`Utilisation : /model <nom>`,more_actions:()=>`Plus d'actions`,move_failed:()=>`Échec du déplacement : `,moved_to:()=>`Déplacé vers `,my_notes:()=>`Mes notes`,n_messages:t=>(e(`fr`,t?.n,{}),`${t?.n} messages`),name_required:()=>`Le nom est requis`,never:()=>`jamais`,new_conversation:()=>`Nouvelle conversation`,new_file:()=>`Nouveau fichier`,new_file_prompt:()=>`Nom du nouveau fichier (ex. notes.md) :`,new_file_prompt_title:e=>`Nom du nouveau fichier dans ${e?.a0} :`,new_folder:()=>`Nouveau dossier`,new_folder_prompt:()=>`Nom du nouveau dossier :`,new_folder_prompt_title:e=>`Nom du nouveau dossier dans ${e?.a0} :`,new_job:()=>`Nouvelle tâche`,new_profile:()=>`Nouveau profil`,new_session:()=>`Nouvelle session créée`,new_session_creating:()=>`Création d'une nouvelle conversation…`,new_session_workspace_announce:e=>`Nouvelle discussion démarrée dans l’espace de travail : ${e?.a0}.`,new_skill:()=>`Nouvelle compétence`,no_active_session:()=>`Aucune session active`,no_active_task:()=>`Aucune tâche active à arrêter.`,no_model_match:()=>`Aucun modèle correspondant à "`,no_notes_yet:()=>`Pas encore de notes.`,no_personalities:()=>`Aucune personnalité trouvée (ajoutez-les dans config.yaml → agent.personalities)`,no_profile_yet:()=>`Pas encore de profil.`,no_soul_yet:()=>`Pas encore d'âme définie.`,no_workspace:()=>`Aucun espace de travail`,no_workspace_match:()=>`Aucun espace de travail correspondant à "`,notifications_denied:()=>`Les notifications sont bloquées dans ce navigateur. Activez-les dans les paramètres du navigateur.`,notifications_enable_btn:()=>`Activer les notifications`,notifications_enabled_toast:()=>`Notifications activées.`,notifications_permission_status:e=>`Autorisation : ${e?.status}`,notifications_test_btn:()=>`Envoyer un test`,notifications_unsupported:()=>`Les notifications ne sont pas prises en charge dans ce navigateur.`,oauth_codex_error:()=>`Échec de la connexion OAuth`,oauth_codex_expired:()=>`Code expiré, veuillez réessayer`,oauth_codex_polling:()=>`En attente d'autorisation…`,oauth_codex_step1:()=>`Étape 1 : Visitez cette URL et entrez le code`,oauth_codex_step2:()=>`Étape 2 : Entrez ce code sur la page`,oauth_codex_success:()=>`Connexion OAuth Codex réussie !`,oauth_login_codex:()=>`Se connecter avec Codex (ChatGPT)`,offline_autorefresh:()=>`Je rafraîchirai automatiquement cette page lorsqu'Hermes sera à nouveau joignable.`,offline_browser_detail:()=>`Votre navigateur signale que cet appareil est hors ligne.`,offline_check_now:()=>`Vérifier maintenant`,offline_checking:()=>`Vérification…`,offline_network_detail:()=>`Hermes est actuellement inaccessible depuis ce navigateur.`,offline_stream_waiting:()=>`Connexion perdue. En attente de rafraîchissement…`,offline_title:()=>`Connexion perdue`,onboarding_api_key_help_keyless:()=>`La plupart des installations LM Studio / Ollama / vLLM fonctionnent sans clé — laissez ce champ vide si votre serveur ne nécessite pas d'authentification. Utilisez le bouton Tester la connexion pour vérifier.`,onboarding_api_key_help_prefix:()=>`Enregistré comme secret dans votre fichier .env Hermes en utilisant`,onboarding_api_key_label:()=>`Clé API`,onboarding_api_key_label_optional:()=>`Clé API (facultative)`,onboarding_api_key_placeholder:()=>`Laissez vide pour conserver une clé enregistrée existante`,onboarding_api_key_placeholder_optional:()=>`Laissez vide pour les serveurs sans clé`,onboarding_back:()=>`Retour`,onboarding_badge:()=>`PREMIÈRE EXÉCUTION`,onboarding_base_url_help:()=>`Utilisez ceci pour les routeurs compatibles OpenAI, les serveurs auto-hébergés, LiteLLM, Ollama, LM Studio, vLLM ou des points de terminaison similaires.`,onboarding_base_url_label:()=>`URL de base`,onboarding_base_url_placeholder:()=>`https://votre-point-terminaison.example/v1`,onboarding_check_agent:()=>`Agent Hermes`,onboarding_check_agent_missing:()=>`Manquant ou partiellement importable`,onboarding_check_agent_ready:()=>`Détecté et importable`,onboarding_check_password:()=>`Mot de passe`,onboarding_check_password_disabled:()=>`Pas encore activé`,onboarding_check_password_enabled:()=>`Déjà activé`,onboarding_check_provider:()=>`Configuration du fournisseur`,onboarding_check_provider_partial:()=>`Enregistré mais incomplet`,onboarding_check_provider_pending:()=>`Nécessite une vérification`,onboarding_check_provider_ready:()=>`Prêt à discuter`,onboarding_complete:()=>`Configuration terminée`,onboarding_config_file:()=>`Fichier de configuration :`,onboarding_continue:()=>`Continuer`,onboarding_current_provider:()=>`Configuration actuelle :`,onboarding_custom_model_help:()=>`Pour les points de terminaison personnalisés, entrez l'ID de modèle exact attendu par votre serveur.`,onboarding_custom_model_placeholder:()=>`votre-nom-de-modèle`,onboarding_env_file:()=>`Fichier .env :`,onboarding_error_base_url_required:()=>`L'URL de base est requise pour les points de terminaison personnalisés.`,onboarding_error_choose_model:()=>`Choisissez un modèle avant de continuer.`,onboarding_error_choose_workspace:()=>`Choisissez un espace de travail avant de continuer.`,onboarding_error_model_required:()=>`Le modèle est requis.`,onboarding_error_probe_failed:()=>`Impossible de valider l'URL de base configurée.`,onboarding_error_provider_required:()=>`Choisissez un mode de configuration avant de continuer.`,onboarding_error_workspace_required:()=>`L'espace de travail est requis.`,onboarding_finish_help:()=>`Terminer stocke <code>onboarding_completed</code> dans les paramètres et vous amène dans l'application normale.`,onboarding_lead:()=>`Une configuration guidée rapide vérifiera Hermes, enregistrera une configuration de fournisseur réelle, choisira un espace de travail et un modèle, et protégera éventuellement l'application avec un mot de passe.`,onboarding_missing_imports:()=>`Importations manquantes :`,onboarding_model_label:()=>`Modèle par défaut`,onboarding_not_set:()=>`Non défini`,onboarding_notice_custom_base_url_required:()=>`Hermes a déjà une sélection fournisseur/modèle enregistrée, mais le fournisseur personnalisé a encore besoin d’une URL de base. Ajoutez aussi la clé API si ce serveur l’exige.`,onboarding_notice_finish:()=>`Vous pouvez rouvrir les Paramètres plus tard pour modifier tout cela.`,onboarding_notice_password_enabled:()=>`Un mot de passe est déjà configuré. Entrez-en un nouveau uniquement si vous souhaitez le remplacer.`,onboarding_notice_password_recommended:()=>`Facultatif mais recommandé si vous exposez l'interface au-delà de localhost.`,onboarding_notice_provider_api_key_required:()=>`Hermes a déjà une sélection fournisseur/modèle enregistrée, mais la clé API nécessaire au chat manque encore.`,onboarding_notice_provider_auth_required:e=>`Le fournisseur "${e?.a0}" est configuré, mais pas encore authentifié. Exécutez "hermes auth" ou "hermes model" dans un terminal pour terminer la configuration, puis rechargez Web UI.`,onboarding_notice_provider_choice_required:()=>`Hermes est installé, mais vous devez encore choisir un fournisseur et enregistrer des identifiants valides.`,onboarding_notice_setup_already_ready:()=>`Une configuration de fournisseur Hermes fonctionnelle est déjà détectée. Vous pouvez la conserver ou la remplacer ici.`,onboarding_notice_setup_required:()=>`Choisissez un chemin de fournisseur simple ici. Les flux OAuth avancés appartiennent encore à la CLI Hermes pour l'instant.`,onboarding_notice_system_ready:()=>`L'agent Hermes semble accessible depuis l'interface Web.`,onboarding_notice_system_unavailable:()=>`L'agent Hermes n'est pas encore entièrement disponible. Le bootstrap peut l'installer, mais la configuration du fournisseur peut encore nécessiter un terminal.`,onboarding_notice_workspace:()=>`Ces valeurs réutilisent les mêmes API de paramètres que l'application normale.`,onboarding_oauth_provider_not_ready_body:e=>`Cette instance est configurée pour utiliser <strong>${e?.provider}</strong>, qui utilise OAuth plutôt qu'une clé API. Exécutez <code>hermes auth</code> ou <code>hermes model</code> dans un terminal pour vous authentifier, puis rechargez l'interface Web.`,onboarding_oauth_provider_not_ready_title:()=>`Fournisseur OAuth pas encore authentifié`,onboarding_oauth_provider_ready_body:e=>`Cette instance est configurée pour utiliser un fournisseur OAuth (<strong>${e?.provider}</strong>) qui a été configuré via la CLI Hermes. Aucune clé API n'est nécessaire ici — cliquez sur Continuer pour terminer la configuration.`,onboarding_oauth_provider_ready_title:()=>`Fournisseur déjà authentifié`,onboarding_oauth_switch_hint:()=>`Ou choisissez un autre fournisseur ci-dessous pour passer à une configuration par clé API :`,onboarding_open:()=>`Ouvrir Hermes`,onboarding_password_help:()=>`Les mots de passe sont stockés via l'API des paramètres existants et hachés côté serveur.`,onboarding_password_keep_existing:()=>`Conserver le mot de passe actuel`,onboarding_password_label:()=>`Mot de passe (facultatif)`,onboarding_password_placeholder:()=>`Laissez vide pour ignorer`,onboarding_password_remains_disabled:()=>`Restera désactivé`,onboarding_password_skipped:()=>`Ignoré pour l'instant`,onboarding_password_will_enable:()=>`Sera activé`,onboarding_password_will_replace:()=>`Sera remplacé`,onboarding_probe_error_connect_refused:()=>`Connexion refusée — le serveur peut ne pas être en cours d'exécution sur cette adresse. Depuis Docker, essayez l'IP de l'hôte au lieu de localhost.`,onboarding_probe_error_dns:()=>`Impossible de résoudre l'hôte. Vérifiez l'URL ou utilisez l'adresse IP de l'hôte.`,onboarding_probe_error_generic:()=>`Impossible d'atteindre l'URL de base configurée.`,onboarding_probe_error_http_4xx:()=>`Le point de terminaison a renvoyé une erreur client. Vérifiez l'authentification et le chemin de l'URL (se termine généralement par /v1).`,onboarding_probe_error_http_5xx:()=>`Le point de terminaison a renvoyé une erreur serveur. Vérifiez les journaux du serveur LM Studio / Ollama.`,onboarding_probe_error_invalid_url:()=>`L'URL de base doit commencer par http:// ou https://.`,onboarding_probe_error_parse:()=>`Le point de terminaison n'a pas renvoyé de liste de modèles dans le format attendu. Vérifiez que l'URL pointe vers la racine de l'API compatible OpenAI.`,onboarding_probe_error_timeout:()=>`Le point de terminaison n'a pas répondu à temps. Vérifiez que le serveur est en cours d'exécution et que l'URL est correcte.`,onboarding_probe_error_unreachable:()=>`Impossible d'atteindre l'URL de base configurée.`,onboarding_probe_ok:e=>`Connecté. ${e?.n} modèle(s) disponible(s).`,onboarding_probe_probing:()=>`Test de la connexion…`,onboarding_probe_test_button:()=>`Tester la connexion`,onboarding_provider_label:()=>`Mode de configuration`,onboarding_quick_setup_badge:()=>`configuration rapide`,onboarding_skip:()=>`Ignorer la configuration`,onboarding_skipped:()=>`Configuration ignorée — utilisation de la configuration existante.`,onboarding_step_finish_desc:()=>`Vérifier et entrer dans l'application.`,onboarding_step_finish_title:()=>`Terminer`,onboarding_step_password_desc:()=>`Protéger l'interface Web avant de la partager.`,onboarding_step_password_title:()=>`Mot de passe facultatif`,onboarding_step_setup_desc:()=>`Enregistrer la configuration minimale du fournisseur Hermes.`,onboarding_step_setup_title:()=>`Configuration du fournisseur`,onboarding_step_system_desc:()=>`Vérifier l'agent Hermes et la visibilité de la configuration.`,onboarding_step_system_title:()=>`Vérification du système`,onboarding_step_workspace_desc:()=>`Choisir les valeurs par défaut pour les nouvelles sessions et le chat.`,onboarding_step_workspace_title:()=>`Espace de travail + modèle`,onboarding_title:()=>`Bienvenue dans Talaria Web`,onboarding_unknown:()=>`Inconnu`,onboarding_workspace_help:()=>`Choisissez le modèle qu'Hermes doit utiliser pour les nouveaux chats une fois la configuration terminée.`,onboarding_workspace_label:()=>`Espace de travail`,onboarding_workspace_or_path:()=>`Ou entrez un chemin d'espace de travail`,onboarding_workspace_placeholder:()=>`/home/vous/espace-de-travail`,open_in_browser:()=>`Ouvrir dans le navigateur`,open_in_vscode:()=>`Ouvrir dans VS Code`,open_in_vscode_failed:()=>`Échec de l'ouverture dans VS Code : `,outline_empty:()=>`Pas encore de questions.`,outline_loading:()=>`Chargement…`,outline_minimap_label:()=>`Chronologie de la conversation`,outline_minimap_mark:e=>`Question ${e?.a0} : ${e?.a1}`,outline_title:()=>`Plan`,panel_agents_empty:()=>`Aucun agent n’a travaillé dans cette discussion.`,panel_agents_transcript:()=>`Ouvrir la transcription`,panel_agents_transcript_for:e=>`Transcription : ${e?.goal}`,panel_agents_unavailable:()=>`L’agent ne peut pas indiquer son état pour le moment.`,panel_agents_updated:e=>`Mis à jour ${e?.time}`,panel_files_unavailable:()=>`Cette discussion n’a pas d’espace de travail.`,panel_label:()=>`Panneau latéral`,parse_failed_note:()=>`l'analyse a échoué`,password_env_var_locked:()=>`La variable d'environnement HERMES_WEBUI_PASSWORD est actuellement définie et a priorité. Désactivez-la et redémarrez le serveur pour gérer le mot de passe depuis ici.`,password_env_var_locked_placeholder:()=>`Verrouillé : la variable d'environnement HERMES_WEBUI_PASSWORD est définie`,password_placeholder:()=>`Entrer un nouveau mot de passe…`,path_copied:()=>`Chemin du fichier copié dans le presse-papiers`,path_copy_failed:()=>`Échec de la copie du chemin : `,pdf_download:()=>`Télécharger le PDF`,pdf_error:()=>`Échec du rendu de l'aperçu PDF`,pdf_loading:e=>`Chargement du PDF ${e?.a0}…`,pdf_no_pages:()=>`Le PDF n'a pas de pages`,pdf_too_large:()=>`PDF trop volumineux pour un aperçu en ligne`,pdf_truncated:e=>`Affichage des ${e?.a0} premières pages sur ${e?.a1} — téléchargez le document complet`,personal_memory:()=>`Mémoire personnelle`,personalities_load_failed:()=>`Échec du chargement des personnalités`,personality_cleared:()=>`Personnalité effacée`,personality_set:()=>`Personnalité : `,personality_switch_hint:()=>"\n\nUtilisez `/personality <nom>` pour changer, ou `/personality none` pour effacer.",plugins_active_provider:()=>`Actif (fournisseur)`,plugins_disabled:()=>`Désactivé`,plugins_enable_toggle:()=>`Activer`,plugins_enabled:()=>`Activé`,plugins_load_failed:()=>`Échec du chargement des plugins : `,plugins_no_description:()=>`Aucune description fournie.`,plugins_no_hooks:()=>`Aucun hook de cycle de vie enregistré`,plugins_provider_no_hooks:()=>`Plugin fournisseur — aucun hook de visibilité agent`,plugins_registered_hooks:()=>`Hooks enregistrés`,plugins_unnamed:()=>`Plugin sans nom`,preserved_task_list_label:()=>`Liste de tâches préservée`,primary_navigation:()=>`Navigation principale`,process_wakeup_label:()=>`Réveil en arrière-plan`,process_wakeup_matched:()=>`Motif de surveillance détecté`,profile_active:()=>`ACTIF`,profile_api_key_label:()=>`Clé API`,profile_api_key_placeholder:()=>`Clé API (facultatif)`,profile_api_keys_configured:()=>`Clés API configurées`,profile_base_url_label:()=>`URL de base`,profile_base_url_placeholder:()=>`URL de base (facultatif, ex. http://localhost:11434)`,profile_base_url_rule:()=>`L'URL de base doit commencer par http:// ou https://`,profile_clone_label:()=>`Cloner la configuration du profil actif`,profile_created:e=>`Profil créé : ${e?.name}`,profile_default_label:()=>`(par défaut)`,profile_delete_confirm_message:()=>`Toutes les sessions, configurations, compétences et mémoire de ce profil seront définitivement supprimées. Cette action ne peut pas être annulée.`,profile_delete_confirm_title:e=>`Supprimer le profil "${e?.name}" ?`,profile_delete_title:()=>`Supprimer ce profil`,profile_deleted:e=>`Profil supprimé : ${e?.name}`,profile_gateway_running:()=>`Passerelle en cours d'exécution`,profile_gateway_stopped:()=>`Passerelle arrêtée`,profile_model_hint:()=>`Choisissez parmi les fournisseurs et modèles configurés pour ce nouveau profil.`,profile_model_label:()=>`Modèle / fournisseur`,profile_model_use_default:()=>`Utiliser la valeur par défaut du profil actif`,profile_name_label:()=>`Nom`,profile_name_placeholder:()=>`Nom du profil (minuscules, a-z 0-9 tirets)`,profile_name_rule:()=>`Uniquement lettres minuscules, chiffres, tirets et underscores`,profile_no_configuration:()=>`Aucune configuration`,profile_skill_count:t=>(e(`fr`,t?.count,{}),t?.count===1||t?.count===`1`?`${t?.count} compétence`:`${t?.count} compétences`),profile_switch_title:()=>`Basculer vers ce profil`,profile_switched:e=>`Passé au profil : ${e?.name}`,profile_switched_new_conversation:e=>`Passé au profil : ${e?.name} — nouvelle conversation démarrée`,profile_use:()=>`Utiliser`,profiles_empty_sub:()=>`Choisissez un profil d'agent dans la barre latérale pour voir et modifier ses paramètres, ou créez-en un nouveau.`,profiles_empty_title:()=>`Sélectionnez un profil`,profiles_load_failed:()=>`Échec du chargement des profils`,profiles_no_profiles:()=>`Aucun profil trouvé.`,project_name_prompt:()=>`Nom du projet :`,provider_category_easy_start:()=>`Démarrage facile`,provider_category_self_hosted:()=>`Open / auto-hébergé`,provider_category_specialized:()=>`Spécialisé`,provider_cost_chart_title:e=>`Dépenses sur ${e?.n} jours`,provider_cost_monthly_pace:e=>`Rythme mensuel : ${e?.amount}`,provider_cost_no_baseline:()=>`pas de référence`,provider_cost_not_enough_data:()=>`Pas encore assez de données. Le graphique apparaît après 2 relevés quotidiens.`,provider_mismatch_label:()=>`Incompatibilité de fournisseur`,provider_mismatch_warning:e=>`« ${e?.m} » pourrait ne pas fonctionner avec votre fournisseur configuré (${e?.p}). Envoyez quand même, ou exécutez \`hermes model\` dans votre terminal pour changer.`,provider_quota_account_limits_loaded:()=>`Limites de compte chargées.`,provider_quota_active_provider:()=>`Fournisseur actif`,provider_quota_budget_day:e=>`Budget ${e?.percent} / jour`,provider_quota_budget_hour:e=>`Budget ${e?.percent} / heure`,provider_quota_burn:e=>`Consommation ${e?.rate}`,provider_quota_credential_label:e=>`Identifiant ${e?.a0}`,provider_quota_credential_pool:()=>`Pool d'identifiants`,provider_quota_empty_early:e=>`Épuisé ${e?.duration} plus tôt`,provider_quota_forecast_unavailable:()=>`Prévision indisponible`,provider_quota_last_checked:e=>`Dernière vérification ${e?.a0}`,provider_quota_last_checked_after_refresh:()=>`Dernière vérification après rafraîchissement`,provider_quota_lasts_through_reset:()=>`Tient jusqu’à la réinitialisation`,provider_quota_metric_limit:()=>`Limite`,provider_quota_metric_remaining:()=>`Restant`,provider_quota_metric_used:()=>`Utilisé`,provider_quota_on_pace:()=>`Dans le rythme`,provider_quota_over_pace:e=>`${e?.percent} au-dessus du rythme`,provider_quota_pace_unavailable:()=>`Rythme indisponible`,provider_quota_pool_no_windows:()=>`Aucune fenêtre de limite de compte signalée.`,provider_quota_pool_plans:e=>`Plans : ${e?.a0}`,provider_quota_pool_summary_available:e=>`${e?.a0}/${e?.a1} disponibles`,provider_quota_pool_summary_checked:e=>`${e?.a0} vérifiés`,provider_quota_pool_summary_exhausted:e=>`${e?.a0} épuisés`,provider_quota_pool_summary_failed:e=>`${e?.a0} en échec`,provider_quota_refresh_failed:()=>`Échec du rafraîchissement de l'utilisation du fournisseur`,provider_quota_refresh_succeeded:()=>`Utilisation du fournisseur rafraîchie`,provider_quota_refresh_title:()=>`Rafraîchir maintenant les limites d'utilisation du fournisseur`,provider_quota_refresh_usage:()=>`Rafraîchir l'utilisation`,provider_quota_refreshing:()=>`Rafraîchissement…`,provider_quota_remaining:e=>`${e?.percent} restant`,provider_quota_resets:e=>`Réinitialisation ${e?.time}`,provider_quota_resets_meta:e=>`réinitialisation ${e?.a0}`,provider_quota_retry_after:e=>`Réessayer après ${e?.a0}`,provider_quota_session_limit:()=>`Limite de 5 heures`,provider_quota_status_available:()=>`disponible`,provider_quota_status_checked:()=>`vérifié`,provider_quota_status_exhausted:()=>`épuisé`,provider_quota_status_failed:()=>`échec`,provider_quota_status_invalid_key:()=>`clé invalide`,provider_quota_status_no_key:()=>`pas de clé`,provider_quota_status_removed:()=>`supprimé`,provider_quota_status_stale:()=>`obsolète`,provider_quota_status_unavailable:()=>`indisponible`,provider_quota_status_unsupported:()=>`non pris en charge`,provider_quota_title:()=>`Quotas des fournisseurs`,provider_quota_unavailable:()=>`État du quota indisponible`,provider_quota_under_pace:e=>`${e?.percent} en dessous du rythme`,provider_quota_used_meta:e=>`${e?.a0} utilisé`,provider_quota_weekly_limit:()=>`Limite hebdomadaire`,provider_quota_window_fallback:()=>`Fenêtre`,providers_empty:()=>`Aucun fournisseur configurable trouvé.`,providers_enter_key:()=>`Veuillez entrer une clé API`,providers_key_placeholder_new:()=>`sk-…`,providers_key_placeholder_replace:()=>`Entrer une nouvelle clé pour remplacer…`,providers_key_removed:()=>`Clé API supprimée`,providers_key_updated:()=>`Clé API enregistrée`,providers_models_refreshed:()=>`Modèles rafraîchis`,providers_oauth_config_yaml_hint:()=>`Jeton configuré via config.yaml. Pour mettre à jour, modifiez la section des fournisseurs dans votre config.yaml ou exécutez hermes auth.`,providers_oauth_hint:()=>`Authentifié via OAuth. Aucune clé API nécessaire.`,providers_oauth_not_configured_hint:()=>`Non authentifié. Exécutez hermes auth dans le terminal pour configurer ce fournisseur.`,providers_refresh_models:()=>`Rafraîchir les modèles`,providers_refreshing:()=>`Rafraîchissement…`,providers_remove:()=>`Supprimer`,providers_removing:()=>`Suppression…`,providers_save:()=>`Enregistrer`,providers_saving:()=>`Enregistrement…`,providers_section_meta:()=>`Gérer les clés API pour les fournisseurs d'IA. Les modifications prennent effet immédiatement.`,providers_section_title:()=>`Fournisseurs`,providers_status_api_key:()=>`Clé API`,providers_status_configured:()=>`Clé API configurée`,providers_status_model:()=>`Modèle`,providers_status_not_configured:()=>`Aucune clé API`,providers_status_not_configured_label:()=>`Non configuré`,providers_tab_title:()=>`Fournisseurs`,queued_cancel:()=>`Annuler le message en file d'attente`,queued_count:e=>`${e?.n} en file d'attente`,queued_label:()=>`Envoi après la réponse`,raw_view:()=>`Brut`,reconnect_active:()=>`Une réponse est toujours en cours de génération. Recharger quand vous êtes prêt ?`,reconnect_finished:()=>`Une réponse était en cours lors de votre dernier départ. Les messages ont peut-être été mis à jour.`,regen_failed:()=>`Échec de la régénération : `,regenerate:()=>`Régénérer la réponse`,remove:()=>`Supprimer`,remove_failed:()=>`Échec de la suppression : `,remove_title:()=>`Supprimer`,rename_failed:()=>`Échec du renommage : `,rename_prompt:()=>`Nouveau nom :`,rename_title:()=>`Renommer`,renamed_to:()=>`Renommé en `,retrieval_context_label:()=>`Contexte indexé`,retrieval_context_preview:()=>`Les messages plus anciens sont stockés et récupérables via les outils de contexte`,retry_failed:()=>`Échec de la nouvelle tentative : `,reveal_failed:()=>`Échec de la révélation : `,reveal_in_finder:()=>`Révéler dans le gestionnaire de fichiers`,runtime_notice_region:()=>`État de la connexion et de l’exécution`,runtime_notice_reload_title:()=>`Recharger les messages ?`,runtime_notice_restart_slow_title:()=>`Le serveur met plus de temps que prévu`,runtime_notice_restarting_title:()=>`Redémarrage…`,runtime_notice_restored_detail:()=>`Hermes est de nouveau joignable. Reconnexion à cette conversation.`,runtime_notice_restored_title:()=>`Connexion rétablie`,save:()=>`Enregistrer`,save_failed:()=>`Échec de l'enregistrement : `,save_skill:()=>`Enregistrer la compétence`,save_title:()=>`Enregistrer les modifications`,saved:()=>`Enregistré`,saved_prompts_delete:()=>`Supprimer l'invite`,saved_prompts_empty:()=>`Aucune invite sauvegardée pour l'instant.`,saved_prompts_empty_input:()=>`Saisissez d'abord une invite à sauvegarder`,saved_prompts_save_current:()=>`Sauvegarder la saisie actuelle comme invite`,saved_prompts_saved:()=>`Invite sauvegardée`,scheduled_jobs:()=>`Tâches planifiées`,search:()=>`Rechercher`,search_skills:()=>`Rechercher des compétences…`,selected_text_refine:()=>`Affiner`,selected_text_refine_instruction:()=>`Instruction d'affinage :`,selected_text_refine_title:()=>`Commencer un brouillon d'affinage modifiable à partir de la sélection`,selected_text_reply:()=>`Répondre avec la sélection`,selected_text_reply_appended:()=>`Texte sélectionné ajouté au compositeur`,selected_text_reply_title:()=>`Ajouter le texte sélectionné du chat comme contexte cité`,session_archive:()=>`Archiver la conversation`,session_archive_desc:()=>`Masquer cette conversation jusqu'à ce que les archives soient affichées`,session_archive_failed:()=>`Échec de l'archivage : `,session_archive_worktree_desc:()=>`Masquer cette conversation ; conserver son worktree sur le disque`,session_archived:()=>`Session archivée`,session_archived_worktree:()=>`Session archivée. Le worktree reste sur le disque.`,session_attention_approval:e=>e?.n===1||e?.n===`1`?`Approbation`:`${e?.n} approbations`,session_attention_approval_title:()=>`En attente d'une décision d'autorisation`,session_attention_clarify:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`Question`:`${t?.n} questions`),session_attention_clarify_title:()=>`En attente de votre réponse`,session_attention_generic_title:()=>`En attente d'une action utilisateur`,session_batch_archive:()=>`Archiver`,session_batch_archive_confirm:e=>`Archiver ${e?.a0} conversation(s) ?`,session_batch_archive_worktree_confirm:e=>`Archiver ${e?.a0} conversation(s) ? ${e?.a1} conversation(s) adossées à un worktree conserveront leurs répertoires worktree sur le disque.`,session_batch_delete:()=>`Supprimer`,session_batch_delete_confirm:e=>`Supprimer ${e?.a0} conversation(s) ?`,session_batch_delete_worktree_confirm:e=>`Supprimer ${e?.a0} conversation(s) ? ${e?.a1} conversation(s) adossées à un worktree laisseront leurs répertoires worktree sur le disque.`,session_batch_move:()=>`Déplacer vers un projet`,session_child_toggle_hint:e=>`${e?.a0} — conversations enfants créées à partir de cette session. Cliquez pour les afficher ou les masquer.`,session_copy_link:()=>`Copier le lien de la conversation`,session_copy_link_desc:()=>`Copier un lien direct vers cette conversation`,session_delete:()=>`Supprimer la conversation`,session_delete_confirm:()=>`Supprimer cette conversation ?`,session_delete_desc:()=>`Supprimer définitivement cette conversation`,session_delete_worktree_confirm:e=>`Supprimer cette conversation ? Le worktree dans ${e?.path} restera sur le disque.`,session_delete_worktree_desc:()=>`Supprimer uniquement la conversation de l'interface Web ; conserver le worktree sur le disque`,session_deleted:()=>`Conversation supprimée`,session_deleted_worktree:()=>`Conversation supprimée. Le worktree reste sur le disque.`,session_deselect_all:()=>`Tout désélectionner`,session_duplicate:()=>`Dupliquer la conversation`,session_duplicate_desc:()=>`Créer une copie avec le même espace de travail et le même modèle`,session_duplicate_failed:()=>`Échec de la duplication : `,session_duplicated:()=>`Session dupliquée`,session_hidden:()=>`Session masquée de la liste`,session_hide_external:()=>`Masquer de la liste`,session_hide_external_desc:()=>`Masquer cette session importée de l'interface Web sans supprimer l'historique source.`,session_imported:()=>`Session importée`,session_jump_end:()=>`Fin`,session_jump_end_label:()=>`Aller à la fin de la session`,session_jump_start:()=>`Début`,session_jump_start_label:()=>`Aller au début de la session`,session_lineage_segment_open:()=>`Ouvrir le segment de la lignée`,session_lineage_segment_untitled:()=>`Segment sans titre`,session_lineage_static_hint:e=>`${e?.a0} — les tours de contexte précédents sont repliés ici.`,session_lineage_toggle_hint:e=>`${e?.a0} — les tours de contexte précédents sont repliés ici. Cliquez pour les afficher ou les masquer.`,session_link_copied:()=>`Lien de la conversation copié dans le presse-papiers`,session_link_copy_failed:()=>`Échec de la copie du lien de la conversation : `,session_meta_children:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} enfant`:`${t?.n} enfants`),session_meta_messages:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} msg`:`${t?.n} msgs`),session_meta_segments:t=>(e(`fr`,t?.n,{}),t?.n===1||t?.n===`1`?`${t?.n} tour antérieur`:`${t?.n} tours antérieurs`),session_move_project:()=>`Déplacer vers un projet`,session_move_project_desc_has:()=>`Changer le projet de cette conversation`,session_move_project_desc_none:()=>`Attribuer un projet à cette conversation`,session_new_message:()=>`Nouveau message`,session_new_message_label:()=>`Nouveau message disponible, aller à la fin`,session_no_selection:()=>`Aucune conversation sélectionnée`,session_pin:()=>`Épingler la conversation`,session_pin_desc:()=>`Garder cette conversation en haut`,session_pin_failed:()=>`Échec de l'épingle : `,session_readonly_title_hint:e=>`Session importée en lecture seule — ${e?.a0}`,session_rename:()=>`Renommer la conversation`,session_rename_desc:()=>`Modifier le titre de cette conversation`,session_rename_failed_no_row:()=>`Impossible de démarrer le renommage — ligne introuvable.`,session_restore:()=>`Restaurer la conversation`,session_restore_desc:()=>`Remettre cette conversation dans la liste principale`,session_restored:()=>`Session restaurée`,session_select_all:()=>`Tout sélectionner`,session_select_mode:()=>`Sélectionner`,session_select_mode_desc:()=>`Sélectionner des conversations à gérer par lot`,session_selected_count:e=>`${e?.a0} sélectionné(s)`,session_stop_response:()=>`Arrêter la réponse`,session_stop_response_desc:()=>`Annuler la réponse en cours pour cette conversation`,session_time_bucket_last_week:()=>`La semaine dernière`,session_time_bucket_older:()=>`Plus ancien`,session_time_bucket_this_week:()=>`Cette semaine`,session_time_bucket_today:()=>`Aujourd'hui`,session_time_bucket_yesterday:()=>`Hier`,session_time_days_ago:e=>`${e?.n}j`,session_time_last_week:()=>`1s`,session_time_unknown:()=>`Inconnu`,session_title_regenerate:()=>`Régénérer le titre`,session_title_regenerate_desc:()=>`Demander à Hermes de générer un nouveau titre à partir de la conversation`,session_title_regenerate_failed:()=>`Échec de la régénération du titre : `,session_title_regenerated:e=>`Titre régénéré : ${e?.title}`,session_title_regenerating:()=>`Régénération du titre…`,session_toolsets:()=>`Jeux d'outils de session`,session_toolsets_applied:()=>`Jeux d'outils mis à jour`,session_toolsets_apply:()=>`Appliquer`,session_toolsets_clear:()=>`Utiliser les valeurs par défaut`,session_toolsets_cleared:()=>`Utilisation des valeurs par défaut du profil actif`,session_toolsets_configured_servers:()=>`Serveurs MCP configurés`,session_toolsets_custom:()=>`Remplacement personnalisé`,session_toolsets_desc:()=>`Utiliser les valeurs par défaut du profil actif ou choisir une liste d'outils personnalisée pour cette session`,session_toolsets_failed:()=>`Échec de la mise à jour des jeux d'outils : `,session_toolsets_global:()=>`Valeurs par défaut du profil actif`,session_toolsets_loading_servers:()=>`Chargement des serveurs configurés…`,session_toolsets_no_configured_servers:()=>`Aucun serveur MCP configuré`,session_toolsets_placeholder:()=>`outil1, outil2, …`,session_toolsets_profile_defaults:()=>`Valeurs par défaut du profil actif`,session_toolsets_use_profile_defaults:()=>`Utiliser les valeurs par défaut du profil actif`,session_unpin:()=>`Désépingler la conversation`,session_unpin_desc:()=>`Retirer des épinglés`,session_worktree_remove:()=>`Supprimer le worktree`,session_worktree_remove_ahead_warning:t=>(e(`fr`,t?.ahead,{}),`${t?.ahead} commit(s) non poussé(s) seront perdus.`),session_worktree_remove_confirm:e=>`Supprimer le worktree git du disque ?
2
2
 
3
3
  Chemin : ${e?.path}
4
4