agent-workbench 0.9.0 → 1.0.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.
- package/README.md +64 -17
- package/dist/server.js +5964 -1608
- package/dist/web/assets/de-B1H_QM2z.js +6 -0
- package/dist/web/assets/es-DWDjzJiM.js +6 -0
- package/dist/web/assets/fr-CtJ1d2yz.js +6 -0
- package/dist/web/assets/{highlight-BsYn5BK8.js → highlight-BEETev5A.js} +1 -1
- package/dist/web/assets/index-BkANL-o7.js +165 -0
- package/dist/web/assets/index-C2SH0hlx.css +32 -0
- package/dist/web/assets/ja-Cos1eWDW.js +6 -0
- package/dist/web/assets/ko-BQ4C0HzE.js +6 -0
- package/dist/web/assets/pt-BR-Cmvs9M-D.js +6 -0
- package/dist/web/assets/ru-5xVwlwKl.js +6 -0
- package/dist/web/assets/zh-CN-B3ZlV59h.js +6 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/de-5zSaN2t-.js +0 -5
- package/dist/web/assets/es-CFiCJcc8.js +0 -5
- package/dist/web/assets/fr-C7R68L38.js +0 -5
- package/dist/web/assets/index-fLdlIaV_.js +0 -163
- package/dist/web/assets/index-vwOssvpV.css +0 -32
- package/dist/web/assets/ja-CsWmKRl-.js +0 -5
- package/dist/web/assets/ko-DakWHUDB.js +0 -5
- package/dist/web/assets/pt-BR-CULiM_-O.js +0 -5
- package/dist/web/assets/ru-D8gI2TvJ.js +0 -5
- package/dist/web/assets/zh-CN-BYr9GmHu.js +0 -5
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const e={"agent.composer.imagesRefused":"Cette CLI n'accepte pas d'images depuis la zone de saisie.","agent.continue.discovering":"La session n'est pas encore dans l'historique : elle y apparaît avec le premier message.","agent.continue.noConversation":"Cet onglet n'a pas encore de conversation à continuer.","agent.continue.noMessages":"Cette conversation n'a pas encore de messages à continuer.","agent.continue.title":"Continuer cette conversation avec une autre CLI","agent.continue.titleCopy":"Continuer cette conversation dans une nouvelle session","agent.continue.titleMain":"Continuer cette conversation dans le dossier principal","agent.continue.titleMoved":"Continuer cette conversation dans le nouveau dossier du projet","agent.dot.idle":"CLI prête, rien en cours","agent.dot.noStatus":"Cette CLI ne publie pas son état","agent.dot.open":"CLI ouverte","agent.dot.statusLineOnly":"Cette CLI ne publie son état qu'avec la status line configurée","agent.dot.statusLinePending":"La status line n'a pas encore publié l'état de cette conversation","agent.handoff.notice":"Suite d'une conversation {{label}} : l'agent repart d'une transcription {{turns}}, et non du contexte qu'il avait. Les résultats des outils sont tronqués et les images ne sont pas transmises.","agent.handoff.prefill.noDelivery":"La suite est dans la zone de saisie. Vous pouvez ajouter des instructions et choisir le modèle avant l’envoi.","agent.handoff.prefill.notReady":"La CLI n'était pas prête à temps : le message est dans la zone de saisie, à vous de l'envoyer.","agent.handoff.prefill.sendFailed":"L'envoi automatique a échoué : le message est dans la zone de saisie, à vous de l'envoyer.","agent.handoff.sending":"Envoi de la continuation…","agent.handoff.tabLabel":"Suite : {{title}}","agent.handoff.tabLabelNoTitle":"Suite","agent.handoff.turns.all_one":"de {{count}} tour","agent.handoff.turns.all_other":"des {{count}} tours","agent.handoff.turns.lastManyOfMore_one":"des {{included}} derniers tours sur plus de {{count}}","agent.handoff.turns.lastManyOfMore_other":"des {{included}} derniers tours sur plus de {{count}}","agent.handoff.turns.lastMany_one":"des {{included}} derniers tours sur {{count}}","agent.handoff.turns.lastMany_other":"des {{included}} derniers tours sur {{count}}","agent.handoff.turns.lastOne":"du dernier tour sur {{total}}","agent.handoff.turns.lastOneOfMore":"du dernier tour sur plus de {{total}}","agent.handoff.turns.single":"de l'unique tour","agent.meter.idle.compacted":"Le contexte a été compacté après la dernière réponse mesurée. La nouvelle taille apparaît avec la prochaine réponse.","agent.meter.idle.noFile":"La session n'a encore mesuré aucune réponse. Le contexte ne part pas de zéro : le prompt système, les outils et le fichier d'instructions du projet en occupent déjà une partie, et le chiffre réel apparaît avec la première réponse.","agent.meter.idle.statusLine":"La status line n'a encore publié aucun token pour cette conversation. Le contexte ne part pas de zéro : le chiffre apparaît quand la CLI exécute la status line, avec le premier message ou à la reprise de la session.","agent.meter.idle.withFile":"La session n'a encore mesuré aucune réponse. Le contexte ne part pas de zéro : le prompt système, les outils et {{file}} en occupent déjà une partie, et le chiffre réel apparaît avec la première réponse.","agent.meter.origin.catalog":"limite issue du catalogue de modèles de la CLI","agent.meter.origin.estimated":"limite déduite des tokens mesurés","agent.meter.setup.disabled":"Cette CLI ne publie ses tokens que via sa status line, et celle de l'application est désactivée. « Configurer » explique comment faire.","agent.meter.setup.missing":"Cette CLI ne publie ses tokens que via sa status line, et celle-ci n'est pas encore configurée. « Configurer » explique comment faire.","agent.meter.setup.otherCommand":"Cette CLI ne publie ses tokens que via sa status line, et vous avez configuré une autre status line. « Configurer » explique comment faire.","agent.meter.setup.unreadable":"Cette CLI ne publie ses tokens que via sa status line, et son settings.json n'a pas pu être lu. « Configurer » explique comment faire.","agent.mode.blocked":"Une confirmation est en attente dans la CLI : changer de mode maintenant l'approuverait. Répondez-y dans l'onglet CLI.","agent.mode.title":"Mode {{mode}} : {{hint}}. Le changer envoie {{key}} à l'onglet CLI","agent.mode.titleBlind":"{{title}}. Sans les données de la status line, l'application ne peut pas savoir si une confirmation est en attente ; changer de mode à ce moment-là l'approuve","agent.note.empty":"La note est vide","agent.note.needsTab":"Ouvrez d'abord un onglet : la conversation s'ouvre dans son projet","agent.note.noReadySignal":"La CLI de cet onglet n'indique pas quand elle est prête : la note ne peut donc pas être envoyée","agent.note.send":"Envoyer la note à l'agent dans une nouvelle conversation ouverte dans {{cwd}}","agent.openBlocked":"Ouverture d'un onglet dans ce projet…","agent.openTool.noLabel":"La CLI a un outil sans résultat : une approbation est peut-être en attente. Répondez-y dans l'onglet CLI.","agent.openTool.withLabel":"{{label}} a un outil sans résultat : une approbation est peut-être en attente. Répondez-y dans l'onglet CLI.","agent.queueReturned.noLabel":"La CLI n'a pas eu le temps de transmettre le message envoyé pendant son travail : l'interruption est arrivée avant. Il est de retour dans la zone de saisie, non envoyé.","agent.queueReturned.withLabel":"{{label}} n'a pas eu le temps de transmettre le message envoyé pendant son travail : l'interruption est arrivée avant. Il est de retour dans la zone de saisie, non envoyé.","agent.serverClosed.noLabel":"Le serveur de la CLI s'est arrêté et cet onglet a perdu sa connexion.","agent.serverClosed.relaunch":"Relancer","agent.serverClosed.relaunching":"Relance en cours…","agent.serverClosed.withLabel":"Le serveur {{label}} s'est arrêté et cet onglet a perdu sa connexion.","agent.session.cliMissing":"{{label}} n'est pas installé.","agent.shortcuts.antigravity.answerPermission":"Répondre à une demande d'autorisation : 1 l'accepte, 4 la refuse","agent.shortcuts.antigravity.cycleMode":"Changer de mode : accept-edits, plan et par défaut (quand le terminal a le focus)","agent.shortcuts.antigravity.help":"Afficher les raccourcis de la CLI","agent.shortcuts.antigravity.interrupt":"Interrompre le tour en cours, ou annuler une demande d'autorisation","agent.shortcuts.claudeCode.cancel":"Annuler","agent.shortcuts.claudeCode.cycleMode":"Changer le mode de permissions (quand le terminal a le focus)","agent.shortcuts.claudeCode.fullOutput":"Afficher la sortie complète","agent.shortcuts.claudeCode.pasteImage":"Coller une image depuis le presse-papiers","agent.shortcuts.claudeCode.pasteText":"Coller du texte depuis le presse-papiers","agent.shortcuts.claudeCode.rewind":"Ouvrir le menu rewind","agent.shortcuts.claudeCode.searchHistory":"Rechercher dans l'historique des commandes","agent.shortcuts.codex.cycleMode":"Basculer entre le mode par défaut et Plan (quand le terminal a le focus)","agent.shortcuts.codex.editPrevious":"Modifier un message précédent","agent.shortcuts.codex.effort":"Baisser / augmenter l'effort","agent.shortcuts.codex.externalEditor":"Modifier le message dans l'éditeur externe","agent.shortcuts.codex.interruptOrExit":"Interrompre, ou quitter s'il n'y a pas de tour en cours","agent.shortcuts.codex.interruptTurn":"Interrompre le tour en cours","agent.shortcuts.codex.mention":"Mentionner un fichier, une skill ou un plugin","agent.shortcuts.codex.note":"Dans Codex, Alt + ← / → changent d'agent, mais ici l'application les utilise pour changer d'onglet.","agent.shortcuts.codex.queue":"Mettre le message en file d'attente pendant que l'agent travaille","agent.shortcuts.codex.searchHistory":"Rechercher dans l'historique des messages","agent.shortcuts.codex.transcript":"Afficher la transcription","agent.shortcuts.commands":"Commandes","agent.shortcuts.composer.newline":"Saut de ligne sans envoyer","agent.shortcuts.composer.pasteText":"Coller du texte","agent.shortcuts.composer.pasteWithImages":"Coller du texte ou une image (elle apparaît en miniature)","agent.shortcuts.composer.send":"Envoyer le message","agent.shortcuts.interruptCli":"Interrompre ce que fait la CLI","agent.shortcuts.leaderThen":"Ctrl + X, puis {{key}}","agent.shortcuts.opencode.clearInput":"Effacer la saisie ; deux fois, quitter","agent.shortcuts.opencode.commandList":"Liste des commandes, avec les variantes du modèle","agent.shortcuts.opencode.cycleAgent":"Changer d'agent, build ou plan (quand le terminal a le focus)","agent.shortcuts.opencode.interrupt":"Interrompre (le premier appui ne fait qu'avertir)","agent.shortcuts.opencode.model":"Choisir un modèle","agent.shortcuts.opencode.newSession":"Nouvelle session : l'onglet reste lié à la session avec laquelle il a été ouvert","agent.shortcuts.opencode.newline":"Saut de ligne","agent.shortcuts.opencode.note":"Dans OpenCode, Ctrl + T change la variante du modèle, mais le navigateur se réserve ce raccourci : la commande est accessible via Ctrl + P.","agent.shortcuts.opencode.paste":"Coller","agent.shortcuts.pi.bash":"Exécuter une commande shell","agent.shortcuts.pi.clearOrExit":"Effacer l'éditeur ; deux fois, quitter","agent.shortcuts.pi.cycleThinking":"Changer le niveau de réflexion (quand le terminal a le focus)","agent.shortcuts.pi.model":"Choisir un modèle","agent.shortcuts.pi.newline":"Saut de ligne","agent.shortcuts.pi.nextModel":"Passer au modèle suivant","agent.shortcuts.pi.toolOutput":"Replier ou déplier la sortie des outils","agent.shortcuts.pi.tree":"Avec l'éditeur vide : ouvrir l'arbre de la session","agent.statusLine.noFragment":"Le dossier de l'application contient des caractères que la console interprète (comme & % ! ou des guillemets) et, avec eux, aucune ligne ne peut être exécutée par la CLI : sous Windows, elle exécute la ligne avec cmd /c et aucun guillemet ne passe. Placer le dossier de configuration dans un chemin sans ces caractères résout le problème.","agent.statusLine.state.active":"Configurée","agent.statusLine.state.disabled":"Désactivée (enabled: false)","agent.statusLine.state.missing":"Non configurée","agent.statusLine.state.otherCommand":"Vous avez une autre status line : coller celle-ci la remplace","agent.statusLine.state.unreadable":"Impossible de lire settings.json","agent.stoppedEarly":"Vous l'avez arrêté avant que l'agent ne commence : le message est de retour dans la zone de saisie pour que vous puissiez le corriger.","agent.thread.discovering":"La session apparaît dans l'historique avec le premier message.","agent.thread.noTranscript":"Cette conversation provient d'une version de la CLI qui ne laissait pas de transcription lisible. Elle peut être reprise depuis la barre latérale, mais il n'y a rien à afficher ici.","agent.waiting.answer":"La CLI attend une réponse de votre part.","agent.waiting.permission":"La CLI attend que vous autorisiez un outil.","agent.waiting.question":"L'agent vous a posé une question : répondez-y dans le fil.","agentMenu.chooseTitle":"Choisir avec quelle CLI ouvrir","agentMenu.openWith":"Ouvrir avec","agentMenu.titleWithAgent":"{{title}} — avec {{label}}","app.banner.revoked":"L'accès de cet appareil a été révoqué, ou l'accès à distance a été désactivé. Pour revenir, associez-le de nouveau depuis l'ordinateur où tourne Agent Workbench.","app.divider.consoleHeight":"Faites glisser pour modifier la hauteur de la console","app.divider.width":"Faites glisser pour modifier la largeur","app.empty.hint":"Choisissez un projet à gauche, ou ouvrez une session de l'historique pour la reprendre.","app.empty.newSession":"Nouvelle session dans {{cwd}}","app.empty.noTabs":"Aucun onglet ouvert.","app.empty.opening":"Ouverture…","app.header.cliVersion":"CLI {{version}}","app.header.remoteAccess":"Accès à distance","app.header.remoteBadge":"À distance","app.header.remoteBadgeTitle":"Cette fenêtre est connectée depuis un appareil associé. La gestion de l'accès à distance, ainsi que tout ce qui ouvre un fichier avec les applications de l'ordinateur où tourne Agent Workbench, n'est disponible que sur cet ordinateur.","app.header.shortcuts":"Afficher les raccourcis clavier","app.markerNotice":"Ce serveur a été lancé depuis une session de CLI. La variable <code>{{variable}}</code> a été retirée de l'environnement des onglets : elle désactive l'enregistrement de l'historique, et sans lui il n'y aurait ni conversation ni jauge de contexte. Le reste de l'environnement n'est pas modifié.","app.panel.name":"Panneau","app.panel.show":"Afficher le panneau de droite (Alt+P)","app.picker.location.confirm":"Choisir ce dossier","app.picker.location.confirmTitle":"Faire pointer le projet vers {{path}}. Vous verrez ce qui change avant que rien ne soit enregistré","app.picker.location.title":"Où se trouve ce projet maintenant ?","app.picker.project.confirm":"Ouvrir ici","app.picker.project.confirmTitle":"Ouvrir un onglet d'agent dans {{path}}","app.picker.project.title":"Nouveau projet","app.picker.vault.confirm":"Utiliser ce dossier","app.picker.vault.confirmTitle":"Déplacer la sauvegarde vers {{path}}. Le dossier actuel reste intact","app.picker.vault.title":"Dossier de la sauvegarde","app.sidebar.name":"Projets","app.sidebar.show":"Afficher la liste des projets","app.status.connecting":"Connexion en cours","app.status.failed":"Pas de connexion","app.status.open":"Connecté","app.status.reconnecting":"Reconnexion en cours","app.status.revoked":"Accès révoqué","archive.allBlocked_one":"Sa seule conversation a un onglet ouvert. Fermez-le d'abord.","archive.allBlocked_other":"Ses {{count}} conversations ont un onglet ouvert. Fermez-les d'abord.","archive.blockedStays_one":"Une autre a un onglet ouvert et ne sera pas archivée.","archive.blockedStays_other":"{{count}} autres ont un onglet ouvert et ne seront pas archivées.","archive.confirm_one":"Archiver {{count}} conversation ?","archive.confirm_other":"Archiver les {{count}} conversations ?","archive.withBlocked":"{{confirm}} {{blocked}}","common.cancel":"Annuler","common.close":"Fermer","common.closeEsc":"Fermer (Esc)","common.copied":"Copié","common.copyCode":"Copier le code","common.dismissNotice":"Fermer l'avis","common.gotIt":"Compris","composer.attach":"Joindre un fichier","composer.attachTitle":"Joindre un fichier : un log, un PDF, un document ou une image","composer.chip.editHint":"Afficher et modifier le texte collé","composer.chip.editorLabel":"Modifier le texte collé #{{number}}","composer.chip.pastedTextEmpty":"#{{number}} · Texte collé · vide, ne sera pas envoyé","composer.chip.pastedText_one":"#{{number}} · Texte collé · {{count}} ligne","composer.chip.pastedText_other":"#{{number}} · Texte collé · {{count}} lignes","composer.chip.remove":"Retirer","composer.codexQueue.failed":"Codex n'a pas confirmé l'ajout. Vérifiez la session avant de réessayer pour éviter les doublons.","composer.codexQueue.label":"Ajouter à la file Codex","composer.codexQueue.notBusy":"La session ne travaille plus. Le texte est revenu dans la zone de saisie.","composer.codexQueue.pending":"Ajout à la file Codex…","composer.codexQueue.queued":"Le texte a été ajouté à la file Codex.","composer.codexQueue.textOnly":"La file native de Codex accepte uniquement du texte, sans image ni fichier.","composer.codexQueue.tooLong":"Le message dépasse la limite de {{max}} caractères de la file Codex.","composer.codexQueue.unavailable":"La file Codex n'est pas disponible pour cette session.","composer.pastedImage":"image collée","composer.placeholder.ended":"La session de cet onglet est terminée.","composer.placeholder.ready":"Saisissez votre message.","composer.placeholder.sleeping":"La CLI de cet onglet n'est pas encore ouverte.","composer.problem.draftTooLong":"Ce message est trop long pour être gardé comme brouillon : si vous fermez Agent Workbench avant de l'envoyer, il sera perdu.","composer.problem.empty":"« {{name}} » est vide.","composer.problem.imageTooBig":"L'image fait {{size}} Mo ; le maximum est de {{max}} Mo.","composer.problem.imageUnreadable":"Impossible de lire l'image du presse-papiers.","composer.problem.tooBig":"« {{name}} » fait {{size}} Mo ; le maximum est de {{max}} Mo.","composer.problem.tooManyFiles_one":"Jusqu'à {{count}} fichier par message.","composer.problem.tooManyFiles_other":"Jusqu'à {{count}} fichiers par message.","composer.problem.tooManyImages_one":"Jusqu'à {{count}} image par message.","composer.problem.tooManyImages_other":"Jusqu'à {{count}} images par message.","composer.problem.unreadable":"Impossible de lire « {{name}} ».","composer.resizeTitle":"Faites glisser pour redimensionner la zone de saisie","composer.send":"Envoyer","composer.sendTitle":"Envoyer (Enter)","composer.stop":"Arrêter","composer.stopTitle":"Interrompre ce que fait la CLI (Esc)","composer.suggestion.key":"Tab","composer.suggestion.keyTitle":"La suggestion de la CLI : Tab l'écrit dans la zone, pour l'envoyer ou la corriger","composer.suggestion.use":"Utiliser la suggestion de la CLI","composer.voice.blocked":"Répondez d’abord à la question ouverte dans la CLI avant de dicter.","composer.voice.dictate":"Dicter par la voix","composer.voice.hold":"Maintenez pour dicter. Maintenir la barre d’espace fonctionne aussi.","composer.voice.kept":"La dictée est restée dans la zone de saisie de la CLI : elle n’a pas pu être déplacée ici.","composer.voice.live":"Démarrer une conversation vocale en direct. Maintenir la barre d’espace fonctionne aussi.","composer.voice.noSpeech":"Aucune parole n’a été détectée.","composer.voice.stop":"Arrêter la saisie vocale","composer.voice.transcribing":"Transcription de la dictée en cours…","console.collapse":"Replier. Les processus continuent de tourner : pour les arrêter, utilisez le × de chaque terminal","console.name":"Console","console.noShell":"Aucune console système n'a été trouvée.","console.openAnother":"Ouvrir un autre {{shell}} dans {{cwd}}","console.openAnyIn":"Ouvrir une console dans {{cwd}}","console.openIn":"Ouvrir {{shell}} dans {{cwd}}","console.tab.close":"Fermer ce terminal et arrêter son processus","console.tab.exited":"Terminé avec le code {{code}}","console.tab.label":"Terminal {{number}}","console.tab.title":"{{shell}} {{number}} dans {{cwd}}","continue.locateFirst":"Localisez d'abord le dossier du projet pour continuer ici","continue.menuLabel":"Continuer avec","controls.effort.high":"Élevé","controls.effort.inUse":"Effort utilisé : {{effort}}. Le changer envoie {{command}} à l'onglet CLI","controls.effort.inUseSaved":"Effort utilisé : {{effort}}. Le changer envoie {{command}} à l'onglet CLI, et la CLI l'enregistre comme valeur par défaut pour les prochains onglets","controls.effort.low":"Faible","controls.effort.max":"Max","controls.effort.medium":"Moyen","controls.effort.minimal":"Minimal","controls.effort.noData":"Effort : aucune donnée. Tous les modèles n'ont pas de niveaux — avec haiku, /effort ne laisse aucune trace","controls.effort.off":"Désactivé","controls.effort.placeholder":"effort — inconnu","controls.effort.provisional":"Effort provisoire : {{effort}}. La session ne l’a pas encore confirmé","controls.effort.xhigh":"Très élevé","controls.model.default":"Par défaut","controls.model.inUse":"Modèle utilisé : {{model}}. Le changer envoie /model à l'onglet CLI","controls.model.inUseSaved":"Modèle utilisé : {{model}}. Le changer envoie /model à l'onglet CLI, et la CLI l'enregistre comme valeur par défaut pour les prochains onglets","controls.model.noData":"Modèle : aucune réponse dans cette session pour l'instant","controls.model.placeholder":"modèle — inconnu","controls.model.provisional":"Modèle provisoire : {{model}}. La session ne l’a pas encore confirmé","controls.model.select":"Sélectionner","controls.permission.askForApproval":"Demander une approbation","controls.permission.askForApprovalHint":"Demande une approbation pour accéder à Internet ou modifier des fichiers hors de l’espace de travail.","controls.permission.automatic":"Approuver pour moi","controls.permission.automaticHint":"Codex examine les demandes et consulte les actions potentiellement dangereuses.","controls.permission.awaiting":"Demande envoyée. Si Codex demande une confirmation, répondez dans son onglet.","controls.permission.custom":"Personnalisé","controls.permission.error.busy":"Attendez la fin du tour de Codex.","controls.permission.error.failed":"Le changement d’autorisation n’a pas pu être envoyé.","controls.permission.error.gone":"L’onglet Codex est fermé.","controls.permission.error.notReady":"La zone de saisie Codex doit être vide et prête.","controls.permission.error.review":"Les autorisations ne peuvent pas être étendues dans un onglet de révision en lecture seule.","controls.permission.error.toolPending":"Un outil Codex est toujours en attente. Vérifiez son onglet.","controls.permission.error.unsupported":"Cette version de Codex ne permet pas de modifier les autorisations depuis l’application.","controls.permission.error.waiting":"Répondez d’abord à la confirmation en attente dans l’onglet Codex.","controls.permission.fullAccess":"Accès complet","controls.permission.fullAccessHint":"Accès complet. Codex peut demander une confirmation dans son onglet.","controls.permission.label":"Autorisations","controls.permission.pending":"Envoi du changement d’autorisation…","controls.permission.readOnly":"Lecture seule","controls.permission.readOnlyHint":"Lecture seule. Les modifications de fichiers nécessitent une approbation.","controls.permission.unconfirmed":"Codex n’a pas encore confirmé le changement. Le dernier état observé est conservé.","controls.permission.unknown":"Non confirmé","controls.permission.unknownHint":"Codex n’a pas encore publié les autorisations effectives de cette conversation.","conversation.answerUnconfirmed":"La CLI n'a pas confirmé cette réponse. Réessayez, ou répondez dans l'onglet CLI.","diff.binary":"Fichier binaire : aucun diff à afficher.","diff.noChanges":"Aucune modification.","diff.truncated":"Le diff a été tronqué en raison de sa taille. Le fichier complet se lit plus facilement hors de ce panneau.","docs.backToList":"Afficher la liste","docs.edit.adopt":"Reporter mes modifications dans la nouvelle version","docs.edit.button":"Modifier","docs.edit.cancel":"Annuler","docs.edit.closeConfirm":"Ce fichier a des modifications non enregistrées. Les abandonner et le fermer ?","docs.edit.conflict":"Le fichier a changé sur le disque pendant que vous le modifiiez. Vos modifications n'ont pas été enregistrées.","docs.edit.discard":"Abandonner","docs.edit.discardAndClose":"Abandonner et fermer","docs.edit.discardConfirm":"Abandonner vos modifications ?","docs.edit.discardMine":"Abandonner mes modifications","docs.edit.editing":"Modification de {{name}}","docs.edit.gone":"Le fichier n'est plus sur le disque, ou sa nouvelle version ne peut pas être modifiée ici. Vos modifications n'ont pas été enregistrées : copiez-les si vous en avez besoin.","docs.edit.keepEditing":"Continuer à modifier","docs.edit.lost":"La connexion a été coupée pendant l'enregistrement. Enregistrez à nouveau pour en être sûr.","docs.edit.noChanges":"Aucune modification","docs.edit.pending":"Vos modifications, pas encore enregistrées. Reportez-les dans le fichier et enregistrez.","docs.edit.pendingDone":"Terminé","docs.edit.save":"Enregistrer","docs.edit.saveTitle":"Enregistrer (Ctrl+S)","docs.edit.saved":"Enregistré","docs.edit.saving":"Enregistrement…","docs.edit.title":"Modifier ce fichier ici","docs.edit.tooLarge":"Trop volumineux pour être modifié ici","docs.edit.unsafe":"Ce n'est pas du texte UTF-8 simple : l'enregistrer d'ici pourrait l'endommager","docs.edit.unsaved":"Modifications non enregistrées","docs.failed":"Impossible de lire le document. Réessayez avec ⟳.","docs.mode.formatted":"Mis en forme","docs.mode.label":"Comment afficher ce Markdown","docs.mode.source":"Source","docs.reload":"Relire le document","docs.reloadFailed":"Impossible de relire : voici la dernière version reçue.","docs.search.placeholder":"Rechercher dans ce document","docs.tab.close":"Fermer ce document","files.allHidden":"tout son contenu est masqué","files.empty":"vide","files.hidden.hide":"Masquer à nouveau ce qu'excluent .gitignore et la liste intégrée","files.hidden.show":"Afficher aussi ce qu'excluent .gitignore et la liste intégrée","files.hiddenCount_one":"{{count}} masqué","files.hiddenCount_other":"{{count}} masqués","files.hiddenTitle":"Masqués : .git, node_modules, dist, bin, obj et tout ce qu'indique .gitignore","files.insertFolderPath":"Mettre le chemin de ce dossier dans votre message","files.insertPath":"Mettre le chemin de « {{name}} » dans votre message","files.loading":"chargement…","files.menu.copyAbsolute":"Copier le chemin absolu","files.menu.copyRelative":"Copier le chemin relatif","files.menu.insertMention":"Insérer comme @chemin","files.menu.openWithSystem":"Ouvrir avec l'application par défaut","files.moreEntries":"il y a plus d'éléments que ceux affichés","files.pathInserted":"Ajouté à votre message","files.preview.binary":"Fichier binaire : pas d'aperçu.","files.preview.insertPath":"Mettre le chemin dans votre message","files.preview.truncated":"Le fichier a été tronqué en raison de sa taille. Ouvrez-le avec l'application par défaut pour le voir en entier.","files.readDirFailed":"Impossible de lire le répertoire.","files.readingDir":"Lecture du répertoire…","files.readingFile":"Lecture du fichier…","files.refresh":"Recharger l'arborescence","files.reveal":"Ouvrir « {{name}} » dans l'explorateur de fichiers du système","files.revealFolder":"Ouvrir ce dossier dans l'explorateur de fichiers du système","files.row.alwaysHidden":"toujours masqué : .git, node_modules, dist, bin, obj","files.row.ignored":"masqué par .gitignore","files.search.clear":"Effacer (Esc)","files.search.more":"il y a plus de résultats que ceux affichés","files.search.moreTitle":"Affinez la recherche pour tous les voir","files.search.none":"Aucun fichier de ce nom.","files.search.placeholder":"Rechercher des fichiers par nom…","files.search.prompt":"Tapez pour rechercher.","files.search.searching":"Recherche…","format.bytes.b":"{{value}} o","format.bytes.gb":"{{value}} Go","format.bytes.kb":"{{value}} Ko","format.bytes.mb":"{{value}} Mo","format.duration.minutes":"{{value}} min","format.duration.minutesSeconds":"{{minutes}} min {{seconds}} s","format.duration.ms":"{{value}} ms","format.duration.seconds":"{{value}} s","format.duration.underSecond":"moins de 1 s","format.timeLeft.daysHours":"{{days}} j {{hours}} h","format.timeLeft.hoursMinutes":"{{hours}} h {{minutes}} min","format.timeLeft.minutes":"{{minutes}} min","format.timeLeft.underMinute":"<1 min","git.aheadBehindTitle":"Commits en avance et en retard sur la branche amont","git.backToChanges":"Modifications","git.clean":"L'arbre de travail est propre.","git.detached":"HEAD détachée","git.detachedAt":"HEAD détachée @ {{head}}","git.group.conflict":"En conflit","git.group.conflictHint":"À résoudre avant de continuer","git.group.staged":"Indexés","git.group.stagedHint":"Déjà ajoutés avec git add","git.group.unstaged":"Non indexés","git.group.unstagedHint":"Modifiés dans l'arbre de travail","git.group.untracked":"Non suivis","git.group.untrackedHint":"Nouveaux fichiers que git ne connaît pas","git.kind.added":"ajouté","git.kind.conflict":"en conflit","git.kind.copied":"copié","git.kind.deleted":"supprimé","git.kind.modified":"modifié","git.kind.renamed":"renommé","git.kind.typeChanged":"type modifié","git.kind.untracked":"non suivi","git.newFolderTitle":"{{path}} — nouveau dossier ; son contenu apparaît dans Fichiers","git.readingDiff":"Lecture du diff…","git.refresh":"Actualiser l'état maintenant","git.stagedTag":"indexé","git.truncated":"Il y a plus de modifications que celles affichées. En général, cela signifie qu'il manque une règle dans <code>.gitignore</code>.","git.unknownState":"L'état du dépôt n'est pas encore connu.","git.updating":"Mise à jour…","git.upstreamTitle":"Branche amont : {{upstream}}","git.waitingTitle":"Attendez l'état actuel du dépôt : ceci est ce qu'il affichait la dernière fois.","git.worktrees.detached":"HEAD détachée","header.locale.auto":"Automatique (navigateur : {{name}})","header.locale.title":"Langue : {{name}}","header.locale.titleAuto":"Langue : {{name}} (automatique, selon le navigateur)","locate.dialog.another":"Choisir un autre dossier…","locate.dialog.inDestination":"Conversations que le nouveau dossier a déjà","locate.dialog.inDestinationHint":"Elles apparaîtront avec celles qui se déplacent, dans un seul projet.","locate.dialog.inSubfolders":"dont dans des sous-dossiers","locate.dialog.keeps":"Rien n'est copié ni supprimé : les conversations restent où elles sont, et seul le dossier du projet change dans cette app.","locate.dialog.moving":"Conversations qui se déplacent","locate.dialog.now":"Maintenant dans","locate.dialog.pending":"dont avec des messages en file d'attente ou programmés","locate.dialog.pendingHint":"Fermer un onglet abandonne ce qu'il avait en file d'attente ou programmé.","locate.dialog.saving":"Enregistrement…","locate.dialog.tabs":"Onglets ouverts dans l'ancien dossier","locate.dialog.tabsHint":"Fermez-les d'abord. Rien n'est redirigé tout seul vers un autre dossier.","locate.dialog.title":"Localiser le projet","locate.dialog.use":"Utiliser ce dossier","locate.dialog.useBlocked":"Fermez d'abord les onglets de l'ancien dossier","locate.dialog.waiting":"Vérification du dossier…","locate.dialog.was":"Était dans","memory.action.appendBlock":"le bloc sera ajouté à la fin","memory.action.appendLines":"des lignes seront ajoutées à la fin","memory.action.copy":"sera copié","memory.action.create":"sera créé","memory.action.replaceBlock":"le bloc sera remplacé","memory.back":"← Mémoire","memory.error.connectionLost":"La connexion a été coupée avant la réponse. Une fois la connexion rétablie, l'état indiquera ce qui a été écrit.","memory.form.copyFromMain":"Copier les notes du worktree principal","memory.form.existingNotes":"Notes existantes","memory.form.files":"Fichiers d'instructions","memory.form.importNative_one":"Importer {{count}} note de la mémoire de Claude Code","memory.form.importNative_other":"Importer {{count}} notes de la mémoire de Claude Code","memory.form.noFiles":"Choisissez au moins un fichier d'instructions","memory.form.planning":"Calcul en cours…","memory.form.preview":"Prévisualiser les modifications","memory.git.alreadyIgnored":"Ce dépôt ignore déjà <code>.agents/memory/</code>. Pour la versionner, il faut retirer cette règle de <code>.gitignore</code> à la main.","memory.git.blocked":"Comme git renvoie une erreur, l'installation n'est possible que sans toucher à .gitignore","memory.git.dontTouch":"Ne pas toucher à <code>.gitignore</code>","memory.git.errorHint":"git a renvoyé une erreur","memory.git.errorWarning":"git a renvoyé une erreur : impossible de savoir si la mémoire est ignorée. Elle peut être installée sans toucher à <code>.gitignore</code>.","memory.git.ignore":"Ignorer la mémoire","memory.git.ignoreHint":"recommandé","memory.git.version":"La versionner","memory.git.versionHint":"pour les dépôts privés","memory.global.copy":"Copier l'extrait","memory.global.intro":"Ce qui s'applique à tous vos projets va dans <code>~/.agents/global.md</code>. L'application ne l'écrit pas : chaque CLI le lit dès que vous ajoutez son extrait.","memory.global.title":"Mémoire globale","memory.index":"Index","memory.intro.what":"La mémoire partagée conserve ce que les agents apprennent sur ce projet — décisions, contraintes, pièges déjà rencontrés — pour la session suivante.","memory.intro.where":"Elle se trouve dans <code>.agents/memory/</code> : une note par fichier et un index, <code>MEMORY.md</code>. Les quatre CLI la lisent grâce à un bloc balisé dans leur fichier d'instructions. Rien n'est écrit tant que vous n'avez pas confirmé les modifications.","memory.list.empty":"Aucune note pour l'instant. Les agents les enregistrent ici quand ils apprennent quelque chose d'utile pour une autre session.","memory.list.notes":"Notes","memory.loading":"Lecture de la mémoire…","memory.native.import_one":"Importer {{count}} note","memory.native.import_other":"Importer {{count}} notes","memory.native.importing":"Importation…","memory.native.pending_one":"La mémoire native de Claude Code contient {{count}} note qui ne figure pas ici.","memory.native.pending_other":"La mémoire native de Claude Code contient {{count}} notes qui ne figurent pas ici.","memory.note.loading":"Lecture de la note…","memory.note.truncated":"La note a été tronquée en raison de sa taille.","memory.plan.back":"Retour","memory.plan.changes":"Modifications","memory.plan.copiedFrom":"Copie de {{path}}","memory.plan.install":"Installer","memory.plan.nothing":"Rien à modifier : le pont est déjà à jour.","memory.plan.update":"Mettre à jour","memory.plan.writing":"Écriture…","memory.problem.brokenBlock":"Ses marqueurs de bloc sont mal formés","memory.problem.brokenBlockWarning":"<code>{{file}}</code> a des marqueurs de bloc de mémoire mal formés : un marqueur sans sa paire, ou le bloc répété. L'application n'y touchera pas tant que vous ne l'aurez pas corrigé à la main.","memory.problem.encoding":"Il n'est pas en UTF-8","memory.problem.encodingWarning":"<code>{{file}}</code> n'est pas en UTF-8 (il semble être en UTF-16, ce qu'écrit <code>></code> dans Windows PowerShell 5.1). Enregistrez-le en UTF-8 : l'application n'y touchera pas d'ici là.","memory.problem.outside":"C'est un lien qui pointe hors du projet","memory.problem.outsideWarning":"<code>{{file}}</code> est un lien qui pointe hors du projet : l'application ne le lit pas et ne l'écrit pas.","memory.reach.adjust":"Ajuster","memory.reach.adjustTitle":"Choisir à nouveau les fichiers d'instructions du pont","memory.reach.doesNotReach":" : n'accède pas à la mémoire, {{via}}","memory.reach.reaches":" : accède à la mémoire via {{via}}","memory.reach.title":"{{label}} : {{via}}","memory.result.imported_one":"{{count}} note importée.","memory.result.imported_other":"{{count}} notes importées.","memory.result.installed_one":"Terminé : {{count}} fichier modifié.","memory.result.installed_other":"Terminé : {{count}} fichiers modifiés.","memory.result.nothingChanged":"Il n'y avait rien à modifier : le pont était déjà à jour.","memory.result.nothingImported":"Il n'y avait aucune nouvelle note à importer.","memory.result.skipped_one":"Fichier non écrasé, car il existait déjà avec un autre contenu : {{files}}.","memory.result.skipped_other":"Fichiers non écrasés, car ils existaient déjà avec un autre contenu : {{files}}.","memory.result.withSkipped":"{{result}} {{skipped}}","memory.update.button":"Mettre à jour le pont","memory.update.missing":"Le bloc manque dans {{files}}.","memory.update.outdatedAndMissing_one":"{{outdated}} a un bloc obsolète ; le bloc manque dans {{missing}}.","memory.update.outdatedAndMissing_other":"{{outdated}} ont un bloc obsolète ; le bloc manque dans {{missing}}.","memory.update.outdated_one":"{{files}} a un bloc obsolète.","memory.update.outdated_other":"{{files}} ont un bloc obsolète.","meter.compact":"Compacter","meter.compactBusy":"Attendez que l'agent ait terminé pour compacter.","meter.compactNoCli":"Ouvrez la CLI pour compacter.","meter.compactTitle":"Envoie {{command}} à la CLI : elle résume la conversation pour libérer du contexte.","meter.configure":"Configurer","meter.label":"Contexte","meter.lastResponseTitle":"Dernière réponse du modèle","meter.modelWithOrigin":"{{model}} — {{origin}}","meter.noTokens":"cette CLI ne publie pas de tokens","meter.noTokensTitle":"Cette CLI ne publie pas le nombre de tokens utilisés par chaque réponse : il n'y a donc rien à mesurer.","meter.output":"sortie {{tokens}}","meter.responses_one":"{{count}} réponse","meter.responses_other":"{{count}} réponses","meter.sessionTitle":"Cumul sur toute la session","meter.sessionTotals_one":"session {{output}} sortie · {{cache}} cache · {{count}} réponse","meter.sessionTotals_other":"session {{output}} sortie · {{cache}} cache · {{count}} réponses","meter.unknownModel":"modèle non reconnu : affichage des tokens, sans la taille de la fenêtre","meter.unknownModelShort":"modèle non reconnu : taille de fenêtre inconnue","meter.unmeasured":"non mesuré","meter.windowPercent":"{{percent}} % de la fenêtre","mode.acceptEdits.hint":"Accepte les modifications de fichiers sans demander","mode.acceptEdits.label":"Accepter les modifs","mode.auto.hint":"La CLI décide seule quels outils utiliser, sans demander","mode.auto.label":"Auto","mode.default.hint":"Demande avant chaque outil non autorisé","mode.default.label":"Manuel","mode.plan.hint":"Analyse et propose un plan, sans rien toucher tant que vous ne l'avez pas approuvé","mode.plan.label":"Plan","narrow.keys.ctrl":"Ctrl+{{letter}}","narrow.keys.ctrlO":"Ctrl+O (dans Claude Code, déplie ce qui est tronqué)","narrow.keys.ctrlT":"Ctrl+T (dans Codex, affiche la transcription)","narrow.keys.ctrlX":"Ctrl+X","narrow.keys.delete":"Suppr","narrow.keys.down":"Flèche vers le bas","narrow.keys.end":"Fin","narrow.keys.enter":"Entrée (valide l'option sélectionnée)","narrow.keys.esc":"Échap","narrow.keys.home":"Début","narrow.keys.interrupt":"Ctrl+C : interrompre","narrow.keys.label":"Touches du terminal","narrow.keys.left":"Flèche vers la gauche","narrow.keys.number":"Touche {{number}} (choisit l'option {{number}} d'un menu)","narrow.keys.pageDown":"Page suivante","narrow.keys.pageUp":"Page précédente","narrow.keys.right":"Flèche vers la droite","narrow.keys.shiftTab":"Maj+Tab (dans Claude Code, change le mode de permissions)","narrow.keys.tab":"Tabulation","narrow.keys.up":"Flèche vers le haut","narrow.menu.chimePage":"Cette page","narrow.menu.chimeSystem":"Système","narrow.menu.cli":"CLI","narrow.menu.connection":"Connexion","narrow.menu.folder":"Dossier","narrow.menu.language":"Langue","narrow.menu.notifications":"Notifications système","narrow.menu.phoneAppDisconnect":"Déconnecter","narrow.menu.phoneAppSettings":"Réglages","narrow.menu.shortcuts":"Raccourcis clavier","narrow.menu.sound":"Son de notification","narrow.menu.theme":"Thème","narrow.more":"Plus","narrow.projects":"Projets","narrow.tabs.close":"Fermer l'onglet","narrow.tabs.new":"Nouvel onglet","narrow.tabs.none":"Aucun onglet ouvert.","narrow.tabs.open":"Onglets","narrow.tabs.rename":"Renommer","narrow.view.chat":"Chat","notes.attach":"Joindre des fichiers","notes.closeConfirm":"Fermer cette note la supprime avec ses pièces jointes.","notes.closeNote":"Fermer la note. Elle est supprimée avec ses pièces jointes","notes.collapse":"Replier. Les notes ne sont pas perdues : c'est le × de chaque onglet qui les ferme","notes.downloadFile":"Télécharger le fichier","notes.empty":"Aucune note. Le <b>+</b> en ouvre une ; elles servent à noter une idée sans quitter ce que vous faites.","notes.expand":"Déplier les notes","notes.fileOnly":"Fichier","notes.fileUnavailable":"Le fichier est indisponible. La note a été conservée.","notes.imageAlt":"image de la note","notes.imageFallbackName":"l'image","notes.imageOnly":"Image","notes.imageTooBig":"« {{name}} » fait {{size}} Mo ; le maximum est de {{max}} Mo.","notes.imageUnavailable":"l'image n'est pas disponible","notes.lightboxClose":"Cliquez pour fermer","notes.loadingFiles":"Chargement des fichiers…","notes.name":"Notes","notes.new":"Nouvelle note","notes.placeholder":"Notez une idée. Vous pouvez coller ou faire glisser des fichiers ici.","notes.readFailed":"Impossible de lire l'image.","notes.removeFile":"Retirer le fichier","notes.removeImage":"Retirer l'image","notes.resize":"Faites glisser pour modifier la hauteur","notes.thumbMissing":"introuvable","notes.toComposer":"Vers la saisie","notes.toComposer.loading":"Chargement des images de la note…","notes.toComposer.needsTab":"Ouvrez d'abord un onglet : la note va dans sa zone de saisie","notes.toComposer.title":"Mettre la note dans la zone de saisie de « {{tab}} », pour la compléter et l'envoyer à cette conversation","notes.tooManyFiles":"Jusqu’à {{max}} fichiers par note.","notes.tooManyImages_one":"Jusqu'à {{count}} image par note.","notes.tooManyImages_other":"Jusqu'à {{count}} images par note.","notes.untitled":"Note","notify.attention":"« {{tab}} » vous attend","notify.done":"« {{tab}} » a terminé","panel.cliUnseen":"La CLI a écrit quelque chose","panel.hide":"Masquer le panneau (Alt+P)","panel.restoreWidth":"Rétablir la largeur de la colonne","panel.tab.cli":"CLI","panel.tab.files":"Fichiers","panel.tab.git":"Modifications","panel.tab.memory":"Mémoire","panel.tab.plans":"Plans","panel.widen":"Élargir la colonne — l'interface de la CLI a besoin de place pour afficher les diffs et les tableaux","picker.create":"Créer","picker.createHere":"Créer un dossier ici","picker.empty":"Il n'y a aucun sous-dossier ici.","picker.goTo":"Aller à {{root}}","picker.loading":"Lecture du disque…","picker.newFolderName":"Nom du dossier","picker.truncated":"Il y a plus de sous-dossiers que la liste ne peut en afficher. Ouvrez-en un pour affiner.","picker.up":"dossier parent","plan.label":"Forfait","plan.noData":"aucune donnée","plan.noDataTitle":"La status line est configurée, mais elle n'a pas encore publié les limites de votre forfait : elles arrivent avec la première réponse de chaque session. La CLI ne les publie que pour les forfaits d'abonnement.","plan.noReset":"sans heure de réinitialisation","plan.observed":"Dernière mise à jour : {{when}}","plan.resetsIn":"réinitialisé dans {{time}} ({{at}})","plan.setup.disabled":"Cette CLI ne publie les limites de votre forfait que via sa status line, et celle de l'application est désactivée. « Configurer » explique comment faire.","plan.setup.missing":"Cette CLI ne publie les limites de votre forfait (la fenêtre de 5 heures et la semaine) que via sa status line, et celle-ci n'est pas encore configurée. « Configurer » explique comment faire.","plan.setup.otherCommand":"Cette CLI ne publie les limites de votre forfait que via sa status line, et vous avez configuré une autre status line. « Configurer » explique comment faire.","plan.setup.unreadable":"Cette CLI ne publie les limites de votre forfait que via sa status line, et son settings.json n'a pas pu être lu. « Configurer » explique comment faire.","plan.used":"{{percent}} utilisé","plan.window.day":"Jour","plan.window.days":"{{value}} j","plan.window.fiveHours":"5 h","plan.window.hours":"{{value}} h","plan.window.month":"Mois","plan.window.quota":"Quota","plan.window.week":"Semaine","plans.empty":"Cette conversation n'a encore écrit aucun document. Les plans du mode plan apparaissent ici, ainsi que les fichiers <code>.md</code> que l'agent enregistre dans le projet ou dans son dossier temporaire.","plans.loading":"Lecture du plan…","plans.missing":"introuvable","plans.missingTitle":"Le fichier n'est plus sur le disque","plans.truncated":"Le plan a été tronqué en raison de sa taille.","remote.address":"Adresse de cet ordinateur","remote.copied":"Copié","remote.copy":"Copier","remote.device.connected":"Connecté en ce moment","remote.device.lastSeen":"Dernière connexion : {{when}}","remote.device.never":"Jamais connecté","remote.device.paired":"Associé : {{when}}","remote.device.rename":"Renommer","remote.device.revoke":"Révoquer","remote.device.revokeConfirm":"Cliquez de nouveau pour révoquer","remote.devices":"Appareils associés","remote.devices.empty":"Aucun pour le moment.","remote.intro":"Utilisez Agent Workbench depuis un autre ordinateur de votre réseau ou depuis votre téléphone. Rien n'est ouvert au réseau : la connexion passe par un tunnel SSH.","remote.onlyOnHost":"Uniquement sur l'ordinateur où tourne Agent Workbench : cela s'ouvre avec les applications de cet ordinateur.","remote.pair.after":"Ensuite, l'autre ordinateur ouvre simplement {{url}}.","remote.pair.cancel":"Annuler","remote.pair.expires":"Elle ne fonctionne qu'une fois et expire dans {{time}}.","remote.pair.needsActive":"Vous pourrez associer un appareil une fois l'accès à distance activé et en fonctionnement.","remote.pair.open":"Une fois le tunnel lancé, ouvrez cette adresse dans le navigateur de l'autre ordinateur :","remote.pair.start":"Associer un appareil","remote.phone.authorize.admin":"1. Autorisez la clé du téléphone : sur cet ordinateur, collez ceci dans PowerShell en tant qu'administrateur.","remote.phone.authorize.powershell":"1. Autorisez la clé du téléphone : sur cet ordinateur, collez ceci dans PowerShell.","remote.phone.authorize.terminal":"1. Autorisez la clé du téléphone : sur cet ordinateur, collez ceci dans un terminal.","remote.phone.authorizeOnce":"La clé n'ouvre que le tunnel vers Agent Workbench : ni terminal ni commandes. Si vous l'avez déjà collée, inutile de recommencer.","remote.phone.hint":"Avec l'app Android ? Elle n'a besoin que de l'étape 1 : elle ouvre le tunnel et s'associe toute seule.","remote.phone.qrLabel":"Code à scanner avec le téléphone","remote.phone.scan":"2. Dans l'application, touchez « Scanner le code » et visez ici :","remote.phone.secret":"Ne partagez pas ce code ni une photo de celui-ci : il contient la clé du téléphone.","remote.phone.start":"Associer un téléphone","remote.phone.title":"Un téléphone","remote.port":"Port","remote.portInvalid":"Un nombre entre {{min}} et {{max}}.","remote.portSave":"Enregistrer","remote.restartHint":"L'activation, ou le changement de port, prend effet au redémarrage d'Agent Workbench. Le redémarrage ferme les CLI ouvertes : les onglets reviennent en veille.","remote.ssh.linux":"Dans un terminal (Ubuntu ou Debian ; sur d’autres distributions, installez leur serveur OpenSSH) :","remote.ssh.macos":"Réglages Système → Général → Partage → activez « Session à distance ».","remote.ssh.windows":"Ouvrez PowerShell en tant qu’administrateur et collez ceci. La première ligne télécharge et installe le serveur : cela prend quelques minutes et affiche « Running » pendant ce temps. Attendez le retour de l’invite avant de continuer.","remote.state.active":"Activé, port {{port}}","remote.state.off":"Désactivé","remote.state.portBusy":"Le port {{port}} est occupé : l'accès à distance ne fonctionne donc pas lors de cette exécution. Fermez l'autre programme (il peut s'agir d'un autre Agent Workbench) et redémarrez, ou choisissez un autre port.","remote.state.restartNeeded":"Activé, mais cela ne prend effet qu'au redémarrage d'Agent Workbench","remote.step.host":"1. Sur cet ordinateur, une fois : activez SSH","remote.step.hostHint":"C'est un réglage du système qui demande les droits d'administrateur, donc l'app ne le fait pas elle-même. Le système de cet ordinateur est ouvert :","remote.step.pair":"3. Associez-le, une fois par appareil","remote.step.tunnel":"2. Sur l'autre ordinateur, à chaque utilisation","remote.step.tunnelHint":"Collez cette commande dans son terminal et laissez-le ouvert. Elle demande le mot de passe de votre utilisateur sur cet ordinateur.","remote.title":"Accès à distance","remote.trouble":"Ça ne se connecte pas ?","remote.trouble.network":"Sous Windows, vérifiez que le réseau Wi‑Fi de cet ordinateur est défini comme Privé.","remote.turnOff":"Désactiver","remote.turnOffHint":"La désactivation prend effet immédiatement : les appareils associés sont déconnectés, et restent associés.","remote.turnOn":"Activer l'accès à distance","remote.userHint":"Si SSH refuse « {{user}} » : avec un compte Microsoft ou professionnel, essayez le nom de votre dossier utilisateur (C:\\Users\\<nom>) et le mot de passe du compte, pas le code PIN.","remote.vpnHint":"Un VPN professionnel qui bloque le réseau local coupe la connexion tant qu'il est actif. L'app n'y peut rien.","rewind.filesHint":"Les modifications faites à la main ou par des commandes de console ne sont pas annulées.","rewind.filesSection":"Fichiers modifiés par l'agent depuis","rewind.intro":"Ce message et tout ce qui a suivi sont annulés. Le message revient dans la zone de saisie pour que vous puissiez le modifier.","rewind.running":"Retour en arrière…","rewind.title":"Revenir avant ce message","rewind.undo":"Défaire","rewind.undoAll":"Annuler la conversation et le code","rewind.undoConversation":"Seulement la conversation","scheduled.close.confirm":"Fermer quand même","scheduled.close.keep":"Ne pas fermer","scheduled.close.title":"Fermer l'onglet","scheduled.close.warning_one":"Cet onglet a un message programmé pour le {{when}}. Si vous le fermez, il ne sera pas envoyé.","scheduled.close.warning_other":"Cet onglet a {{count}} messages programmés ; le premier, pour le {{when}}. Si vous le fermez, aucun ne sera envoyé.","scheduled.composer.empty":"Écrivez le message à programmer","scheduled.composer.label":"Programmer","scheduled.composer.onlyText":"Un message programmé ne contient que du texte : retirez les images et les fichiers","scheduled.composer.title":"Programmer l'envoi","scheduled.menu.day":"Jour","scheduled.menu.inHour":"Dans une heure","scheduled.menu.invalid":"Choisissez un jour et une heure","scheduled.menu.past":"Cette heure est déjà passée","scheduled.menu.schedule":"Programmer","scheduled.menu.time":"Heure","scheduled.menu.title":"Programmer l'envoi","scheduled.menu.tomorrow":"Demain à 9 h","scheduled.menu.tooFar":"On peut programmer jusqu'à {{days}} jours à l'avance","scheduled.state.due":"c'est l'heure : envoi imminent","scheduled.state.failed":"Non envoyé","scheduled.state.paused":"en pause : les messages programmés sont désactivés dans les Réglages ({{when}})","scheduled.state.scheduled":"programmé pour le {{when}}","scheduled.state.sending":"envoi en cours…","scheduled.tab.failed_one":"Un message programmé n'a pas été envoyé","scheduled.tab.failed_other":"{{count}} messages programmés n'ont pas été envoyés","scheduled.tab.next_one":"Message programmé : {{when}}","scheduled.tab.next_other":"{{count}} messages programmés ; le prochain, {{when}}","scheduled.thread.cancel":"Annuler l'envoi","scheduled.thread.cancelTitle":"Le retire de la programmation et remet le texte dans la zone de saisie","scheduled.thread.sendNow":"Envoyer maintenant","scheduled.thread.sendNowTitle":"L'envoie tout de suite. Si l'agent travaille, attend qu'il ait fini","scheduled.when.ahead":"{{when}} (dans {{left}})","scheduled.worktree.cancels_one":"Un de ses onglets a un message programmé : retirer la branche l'annule.","scheduled.worktree.cancels_other":"Ses onglets ont {{count}} messages programmés : retirer la branche les annule.","search.found":"{{hits}} dans {{sessions}}","search.hits_one":"{{count}} résultat","search.hits_other":"{{count}} résultats","search.mode.conversations":"Dans les conversations","search.mode.conversationsTitle":"Recherche dans le texte des conversations enregistrées dans la sauvegarde, sans tenir compte de la casse ni des accents","search.mode.titles":"Dans les titres","search.off":"La sauvegarde est désactivée : la recherche porte sur ce qu'elle a enregistré lorsqu'elle était activée.","search.placeholder.conversations":"Rechercher dans les conversations (Enter)","search.placeholder.titles":"Filtrer les projets et les sessions","search.role.assistant":"Réponse","search.role.title":"Titre","search.role.user":"Demande","search.sessions_one":"{{count}} session","search.sessions_other":"{{count}} sessions","search.status.done":"{{found}}.","search.status.none":"Aucun résultat","search.status.noneIn":"Aucun résultat dans {{sessions}}.","search.status.progressFound_one":"Recherche… {{scanned}} sur {{count}} session, {{found}} pour l'instant.","search.status.progressFound_other":"Recherche… {{scanned}} sur {{count}} sessions, {{found}} pour l'instant.","search.status.progress_one":"Recherche… {{scanned}} sur {{count}} session.","search.status.progress_other":"Recherche… {{scanned}} sur {{count}} sessions.","search.status.searching":"Recherche…","search.status.truncatedResults":"{{found}} : voici les premiers, affinez la recherche pour voir le reste.","search.status.truncatedTime":"{{found}} : la recherche s'est arrêtée au bout de {{seconds}} s, sans examiner {{left}}.","search.tooShort":"Saisissez au moins {{min}} caractères et appuyez sur Enter.","searchHook.connectionLost":"La connexion au serveur a été perdue : relancez la recherche.","server.agentUnknown":"Ce serveur ne sait pas lancer cette CLI.","server.answerFreeTextMulti":"Pour une question à choix multiples, écrivez votre propre réponse dans l'onglet CLI.","server.answerInterrupted":"La réponse n'a pas été envoyée en entier : l'interruption l'a coupée.","server.answerInvalid":"La réponse ne correspond pas à la question.","server.answerMenuChanged":"La question n'est plus telle qu'elle a été lue : répondez dans l'onglet CLI.","server.answerNoFreeText":"Cette question n'accepte pas de réponse libre : choisissez l'une des options.","server.answerNotPending":"Cette question n'attend plus de réponse.","server.answerSendFailed":"Impossible d'envoyer la réponse : répondez dans l'onglet CLI.","server.answersUnsupported":"Cette CLI n'accepte pas de réponses depuis la conversation. Répondez dans l'onglet CLI.","server.archiveOpenTab":"Les sessions ayant un onglet ouvert ne sont pas archivées. Fermez-le d'abord.","server.attachmentEmpty":"« {{name}} » est arrivé vide.","server.attachmentExecutable":"Les exécutables ne peuvent pas être joints : « {{name}} ».","server.attachmentSaveFailed":"Impossible d'enregistrer le fichier joint.","server.attachmentTooLarge":"« {{name}} » fait {{size}} Mo ; le maximum est de {{max}} Mo.","server.badMessage":"Message non reconnu par le protocole.","server.cliFolderClosed":"C'est dans le dossier propre d'une CLI : l'application ne l'ouvre pas.","server.cliMissing":"La commande « {{command}} » est introuvable dans le PATH. Agent Workbench utilise la CLI que vous avez déjà installée : il ne l'inclut pas et ne la télécharge pas. Installez-la depuis {{url}}, puis relancez l'application.","server.cliNotFound":"La CLI n'est pas installée ou est introuvable dans le PATH.","server.cliNotInstalled":"{{label}} est introuvable : la CLI n'est pas installée ou n'est pas dans le PATH.","server.cliOpenFailed":"Impossible d'ouvrir la CLI de l'onglet.","server.continueFailed":"Impossible de préparer la continuation.","server.continueHistoryMissing":"L'historique de cette conversation est introuvable.","server.continueNoFolder":"Cette conversation n'indique pas dans quel dossier elle s'est déroulée.","server.continueNotInHistory":"Cette conversation n'est pas dans l'historique : si elle vient de commencer, réessayez dans quelques secondes.","server.continueReadFailed":"Impossible de lire cette conversation.","server.continueSameCli":"Cette conversation appartient déjà à cette CLI : pour la poursuivre, ouvrez-la depuis la barre latérale.","server.continueTabFailed":"Impossible d'ouvrir l'onglet de la continuation.","server.continueTranscriptFailed":"Impossible d'enregistrer la transcription de la continuation.","server.conversationNotFollowed":"Cette conversation n'est plus suivie.","server.cwdMissing":"Le répertoire n'existe pas : {{cwd}}","server.cwdNotDir":"Ce n'est pas un répertoire : {{cwd}}","server.diffBinaryUntracked":"Fichier binaire non suivi.","server.diffNewEmpty":"Nouveau fichier vide.","server.diffNoStaged":"Aucune modification indexée pour ce fichier.","server.diffNoUnstaged":"Aucune modification non indexée pour ce fichier.","server.diffReadFailed":"Impossible de lire le diff.","server.dirReadFailed":"Impossible de lire le répertoire.","server.dirSearchFailed":"Impossible de rechercher dans le répertoire.","server.fileReadFailed":"Impossible de lire le fichier.","server.fileSaveBlocked":"Impossible d'enregistrer le fichier : il est en lecture seule, ou un autre programme l'a ouvert.","server.fileSaveFailed":"Impossible d'enregistrer le fichier.","server.fileSaveTooLarge":"Trop volumineux pour être enregistré d'ici : la limite est de {{max}}.","server.filesPerMessage":"Vous pouvez joindre jusqu'à {{max}} fichiers par message.","server.forceSendFailed":"Impossible de forcer l'envoi : le message est toujours en attente.","server.forceSendNoCli":"La CLI de cet onglet n'est pas ouverte.","server.forceSendNothing":"Rien n'est en attente : le message est déjà arrivé à l'agent.","server.forceSendUnsupported":"La CLI de cet onglet ne permet pas de forcer l'envoi depuis l'application.","server.forceSendWaiting":"La CLI attend votre réponse : répondez avant de forcer l'envoi.","server.gitCommandFailed":"git {{command}} a échoué.","server.gitMissing":"git est introuvable dans le PATH. Le panneau Modifications a besoin de git ; le reste de l'application fonctionne normalement.","server.gitNotFound":"git est introuvable dans le PATH.","server.gitNotRepo":"Ce dossier ne se trouve pas dans un dépôt git.","server.gitRunFailed":"Impossible d'exécuter git pour lire l'état du dépôt.","server.gitStatusUnknown":"L'état du dépôt n'est pas encore connu.","server.gitUnexpected":"Réponse inattendue de git {{command}}.","server.handoffEmpty":"Cette conversation n'a aucun message à continuer.","server.handoffNoTranscript":"Cette conversation n'a aucun message à continuer : cette CLI n'a pas laissé de transcription lisible.","server.imageEmpty":"L'image est arrivée vide.","server.imageTooLarge":"L'image fait {{size}} Mo ; le maximum est de {{max}} Mo.","server.imageTypeUnsupported":"Type d'image non pris en charge : {{type}}","server.imageUnknownFormat":"Le contenu n'est pas une image dans un format connu.","server.imagesPerMessage":"Vous pouvez joindre jusqu'à {{max}} images par message.","server.imagesUnsupported":"Cette CLI n'accepte pas d'images depuis la zone de saisie.","server.locationDestinationInvalid":"Ce n'est pas un dossier existant : {{path}}","server.locationDestinationProtected":"Ce dossier appartient à une CLI et ne peut pas servir de dossier du projet.","server.locationFolderInvalid":"Le dossier n'est pas valide.","server.locationNoFolder":"Ce projet n'a pas de dossier : ses conversations n'indiquent pas où elles se sont déroulées.","server.locationNotMoved":"Ce projet n'a pas d'emplacement enregistré.","server.locationNothingToMove":"Le dossier de ce projet existe : il n'y a rien à localiser.","server.locationOriginExists":"L'ancien dossier existe de nouveau ({{path}}). On localise un projet quand son dossier a disparu.","server.locationPendingMessages":"{{count}} des onglets ouverts dans l'ancien dossier ont des messages en file d'attente ou programmés. Réglez-les et fermez ces onglets d'abord.","server.locationPreviewGone":"Cet aperçu n'est plus valable. Choisissez de nouveau le dossier.","server.locationProjectGone":"Ce projet n'est plus dans la barre latérale.","server.locationSameFolder":"Le projet pointe déjà vers ce dossier.","server.locationSaveFailed":"L'emplacement n'a pas pu être enregistré : {{detail}}","server.locationTabsOpen":"Onglets ouverts dans l'ancien dossier : {{count}}. Fermez-les d'abord.","server.locationsOtherVersion":"Le fichier des emplacements enregistrés provient d'une autre version de l'app : il n'a pas été modifié.","server.memoryAppeared":"{{file}} est apparu pendant l'installation. Vérifiez à nouveau les modifications.","server.memoryBrokenBlock":"{{file}} a des marqueurs de bloc de mémoire mal formés (un marqueur sans sa paire, ou le bloc répété). Corrigez-le à la main : l'application ne touchera pas à ce fichier d'ici là.","server.memoryChooseFile":"Choisissez au moins un fichier d'instructions.","server.memoryGitFailed":"Impossible d'interroger git ({{detail}}). Sans cela, on ne peut pas savoir si .gitignore doit être modifié.","server.memoryHardLinks":"{{file}} a des liens physiques : l'application ne le modifie pas, car l'écrire casserait le lien. Ajoutez le bloc à la main.","server.memoryLinkOutside":"{{path}} pointe hors du projet (un lien ou une jonction) : l'application n'y écrit pas.","server.memoryNotAFile":"{{label}} existe mais n'est pas un fichier.","server.memoryNotInstalled":"Installez d'abord le pont : le dossier .agents/memory est absent.","server.memoryNotUtf8":"{{file}} n'est pas en UTF-8 (il semble être en UTF-16, ce que produit `>` dans Windows PowerShell 5.1). Enregistrez-le en UTF-8 : l'application n'y touchera pas d'ici là.","server.memoryNoteClaude":"Ajoutez cette ligne à la fin. Claude Code importe le fichier au démarrage.","server.memoryNoteGone":"Cette note n'existe plus.","server.memoryNoteHardLink":"Lien physique. `~/{{path}}` doit exister au préalable, et le fichier de la CLI non : s'il existe, déplacez son contenu dans `global.md` puis supprimez-le. Si votre éditeur enregistre en remplaçant le fichier, le lien se rompt : dans ce cas, copiez le contenu.","server.memoryNoteHardLinkCmd":"Lien physique, dans cmd. `~/{{path}}` doit exister au préalable, et le fichier de la CLI non : s'il existe, déplacez son contenu dans `global.md` puis supprimez-le. Si votre éditeur enregistre en remplaçant le fichier, le lien se rompt : dans ce cas, copiez le contenu.","server.memoryNoteName":"Ce nom n'est pas une note de la mémoire.","server.memoryNoteOpenCode":"Dans l'objet racine. Chemin absolu : OpenCode ne développe pas `~` dans cette clé (non vérifié).","server.memorySameFile":"{{other}} et {{file}} sont le même fichier (un lien). N'en choisissez qu'un.","server.memoryViaEncoding":"{{file}} n'est pas en UTF-8","server.memoryViaFallback":"CLAUDE.md (fichier de repli)","server.memoryViaFile":"{{file}}","server.memoryViaNoBlock":"{{file}} ne contient pas le bloc","server.memoryViaNoBlockEither":"ni AGENTS.md ni CLAUDE.md ne contiennent le bloc","server.memoryViaNoFolder":"le dossier .agents/memory est absent","server.memoryViaNoIndex":".agents/memory/MEMORY.md est absent","server.memoryViaOutside":"{{file}} pointe hors du projet","server.modePendingConfirmation":"Une confirmation est en attente dans la CLI : changer de mode maintenant l'approuverait. Répondez-y dans l'onglet CLI.","server.modeUnreachable":"Ce mode n'est pas accessible depuis le mode actuel. Changez-le avec {{key}} dans l'onglet CLI.","server.modesUnsupported":"Cette CLI n'a pas de modes de permissions à changer d'ici.","server.noteCliDraft":"La note n'a pas été envoyée : {{label}} a dans sa propre zone un texte qui n'a pas pu être mis de côté, et il serait parti avec la note. Vérifiez dans l'onglet CLI.","server.noteCliNotStarted":"La CLI de cet onglet n'a pas réussi à démarrer ; la note n'a pas été envoyée.","server.noteEmpty":"La note est vide.","server.noteExists":"Cette note existe déjà.","server.noteFilesMax":"Jusqu’à {{max}} fichiers par note.","server.noteGone":"La note n'existe plus.","server.noteIdInvalid":"L'identifiant de la note n'est pas valide.","server.noteImageFailed":"Impossible de joindre une image de la note.","server.noteImagesMax":"Jusqu'à {{max}} images par note.","server.noteImagesUnsupported":"Cette CLI n'accepte pas d'images ; la note n'a pas été envoyée.","server.noteInterrupted":"La note n'a pas été envoyée en entier : l'interruption l'a coupée.","server.noteNoAgent":"Cet onglet n'a pas d'agent à qui envoyer la note.","server.noteNoReadySignal":"Cette CLI n'indique pas quand elle est prête ; la note n'a pas été envoyée.","server.noteSaveFailed":"Impossible d'enregistrer la note.","server.noteTooLong":"Une note peut contenir jusqu'à {{max}} caractères.","server.notesMax":"Jusqu'à {{max}} notes ouvertes. Fermez-en une d'abord.","server.openToolSubmit":"{{label}} a un outil sans résultat : une approbation est peut-être en attente. Répondez-y dans l'onglet CLI.","server.operationFailed":"L'opération n'a pas pu aboutir : {{detail}}","server.pasteImageFailed":"Impossible d'enregistrer l'image collée.","server.pathMissing":"Le chemin n'existe pas.","server.pathNotRelative":"Seuls les chemins relatifs au répertoire de l'onglet sont acceptés.","server.pathNullByte":"Le chemin contient un octet nul.","server.pathOpenFailed":"Impossible d'ouvrir le chemin.","server.pathOutside":"Le chemin sort du répertoire de l'onglet.","server.pendingSubmitAnswer":"{{label}} attend une réponse : la touche Enter qui envoie le message y répondrait. Répondez-y dans l'onglet CLI.","server.pendingSubmitPermission":"{{label}} attend que vous autorisiez un outil : la touche Enter qui envoie le message l'approuverait. Répondez-y dans l'onglet CLI.","server.pickerCliFolder":"Ce dossier appartient à la CLI et ne peut pas être ouvert d'ici.","server.pickerClosed":"Ce sélecteur de dossier n'est plus ouvert.","server.pickerCreateFailed":"Impossible de créer le dossier à cet endroit.","server.pickerFolderExists":"Un dossier portant ce nom existe déjà.","server.pickerListFailed":"Impossible de lister ce dossier.","server.pickerNameChars":"Le nom contient des caractères non autorisés.","server.pickerNameInvalid":"Le nom du dossier n'est pas valide.","server.pickerNoProjectsHere":"Impossible de créer un projet ici : c'est le dossier de la CLI.","server.pickerNotListed":"Ce dossier ne figure pas dans la liste actuelle.","server.pickerRootMissing":"Cette racine n'existe pas.","server.pickerTooMany":"Trop de sélecteurs de dossier sont ouverts.","server.planReadFailed":"Impossible de lire le plan.","server.queueEditBusyEditor":"La zone de saisie de la CLI contient du texte : modifiez la file d'attente dans l'onglet CLI.","server.queueEditDelivered":"L'agent venait de le recevoir : il n'est plus en attente.","server.queueEditFailed":"Impossible de le retirer de la file d'attente : il est toujours en attente.","server.queueEditForced":"Vous avez déjà forcé l'envoi : la CLI est en train de le transmettre à l'agent.","server.queueEditNoCli":"La CLI de cet onglet n'est pas ouverte.","server.queueEditNotCleared":"La file d'attente est revenue dans la zone de saisie de la CLI, mais l'application n'a pas pu la vider : vos messages y sont, dans l'onglet CLI.","server.queueEditNotOnScreen":"La CLI n'affiche rien en attente : elle vient peut-être de le transmettre à l'agent.","server.queueEditNothing":"Rien n'est en attente : le message est déjà arrivé à l'agent.","server.queueEditUnsupported":"La CLI de cet onglet ne permet pas de modifier sa file d'attente depuis l'application.","server.queueEditWaiting":"La CLI attend votre réponse : répondez avant de modifier la file d'attente.","server.raw":"{{text}}","server.relaunchCloseFailed":"Impossible de fermer la CLI de l'onglet pour la relancer.","server.remoteDeviceGone":"Cet appareil n'est plus associé.","server.remoteFailed":"La modification de l'accès à distance n'a pas pu être effectuée.","server.remoteHostOnly":"L'accès à distance ne se gère que depuis l'ordinateur où tourne Agent Workbench.","server.remoteNotActive":"L'accès à distance n'est pas encore activé et en fonctionnement. Activez-le et redémarrez Agent Workbench.","server.remoteOpensOnHost":"Cela ouvre une fenêtre sur l'ordinateur où tourne Agent Workbench : ce n'est donc pas disponible depuis un appareil distant.","server.remotePortInvalid":"Le port doit être un nombre compris entre {{min}} et {{max}}.","server.remoteTooManyDevices":"Il y a déjà {{max}} appareils associés. Révoquez-en un d'abord.","server.rewindBusy":"La CLI est en train de travailler : arrêtez-la avant de revenir en arrière.","server.rewindFailed":"Impossible de revenir en arrière d'ici, et rien n'a été annulé. Faites-le dans l'onglet CLI avec Esc Esc.","server.rewindNoCli":"La CLI de cet onglet n'est pas ouverte : ouvrez-la pour revenir en arrière.","server.rewindUnknownMessage":"Ce message ne fait plus partie de la conversation.","server.rewindUnsupported":"La CLI de cet onglet ne permet pas de revenir en arrière depuis l'app.","server.scheduleEmpty":"Il n'y a rien à programmer.","server.scheduleGone":"Ce message programmé n'est plus là : il a été envoyé ou annulé.","server.scheduleNoConversation":"Cet onglet n'a pas encore de conversation : envoyez un premier message avant de programmer.","server.scheduleOff":"Les messages programmés sont désactivés dans les Réglages.","server.schedulePast":"Cette heure est déjà passée : choisissez-en une plus tard.","server.scheduleSaveFailed":"Le message programmé n'a pas pu être enregistré.","server.scheduleSending":"Ce message est déjà en cours d'envoi.","server.scheduleTooFar":"On peut programmer jusqu'à {{days}} jours à l'avance.","server.scheduleTooLong":"Le message est trop long pour être programmé : la limite est de {{max}} caractères.","server.scheduleTooMany":"Il y a déjà {{max}} messages programmés : envoyez-en ou annulez-en un avant.","server.scheduleUnsupported":"{{label}} ne reçoit pas encore de messages programmés.","server.scheduledCliDraft":"Non envoyé : la CLI avait dans sa propre zone un texte qui n'a pas pu être mis de côté.","server.scheduledCliNotReady":"Non envoyé : la CLI n'a pas été prête à le recevoir.","server.scheduledCliOpenFailed":"Non envoyé : la CLI n'a pas pu être ouverte.","server.scheduledElsewhereTimeout":"Non envoyé : la conversation est restée ouverte dans un autre programme.","server.scheduledMissed":"Non envoyé : l'application n'était pas ouverte à cette heure-là.","server.scheduledNoTab":"Non envoyé : aucun onglet n'avait cette conversation.","server.scheduledUncertain":"On ne sait pas s'il est arrivé : l'application s'est fermée pendant l'envoi. Regardez la conversation.","server.scheduledUncertainWrite":"On ne sait pas s'il est arrivé : il a été coupé pendant l'écriture. Regardez la conversation.","server.scheduledUnconfirmed":"On ne sait pas s'il est arrivé : il n'est pas apparu dans la conversation. Regardez l'onglet CLI.","server.scheduledWaitAnswer":"C'est l'heure : attend que vous répondiez à ce que demande la CLI.","server.scheduledWaitBusy":"C'est l'heure : attend que l'agent ait fini.","server.scheduledWaitElsewhere":"C'est l'heure, mais la conversation est ouverte dans un autre programme : attend qu'elle soit fermée.","server.scheduledWaitGrace":"C'est l'heure : attente d'une minute, au cas où un autre Agent Workbench ouvert sur cet ordinateur l'enverrait.","server.scheduledWaitNoTab":"C'est l'heure, mais aucun onglet n'a cette conversation.","server.scheduledWaitOtherInstance":"Un autre Agent Workbench ouvert sur cet ordinateur est en train de l'envoyer.","server.searchFailed":"Impossible de rechercher dans la sauvegarde.","server.settingsFailed":"Impossible d'enregistrer les réglages.","server.settingsHostOnly":"Ces réglages ne se modifient que sur l'ordinateur où tourne Agent Workbench.","server.settingsShellMissing":"Cette console n'est plus installée.","server.shellNotFound":"Aucune console système n'a été trouvée.","server.submitCliDraft":"Non envoyé : {{label}} a dans sa propre zone un texte qui n'a pas pu être mis de côté, et il serait parti avec votre message. Vérifiez dans l'onglet CLI : le message est revenu dans la zone de saisie.","server.submitCliDraftCommand":"Non modifié : {{label}} a dans sa propre zone un texte qui n'a pas pu être mis de côté, et il serait parti avec la commande. Vérifiez dans l'onglet CLI.","server.submitInterrupted":"Le message n'a pas été envoyé en entier : l'interruption l'a coupé.","server.submitStartupDialog":"{{label}} pose une question à l'écran avant de recevoir des messages, par exemple si vous faites confiance à ce dossier. Répondez dans l'onglet CLI et renvoyez : le message est revenu dans la zone de saisie.","server.submitStartupPending":"{{label}} démarre encore. Du contenu peut rester dans l’onglet CLI ; vérifiez-le avant de renvoyer.","server.submitStoppedTool":"Le message n'a pas été envoyé en entier : {{label}} a ouvert un outil pendant la saisie et attend peut-être une approbation. Vérifiez l'onglet CLI.","server.submitStoppedToolNoLabel":"Le message n'a pas été envoyé en entier : la CLI a ouvert un outil pendant la saisie et attend peut-être une approbation. Vérifiez l'onglet CLI.","server.submitStoppedWaiting":"Le message n'a pas été envoyé en entier : {{label}} a commencé à attendre une réponse pendant la saisie. Répondez-y avant d'envoyer un autre message.","server.submitStoppedWaitingNoLabel":"Le message n'a pas été envoyé en entier : la CLI a commencé à attendre une réponse pendant la saisie. Répondez-y avant d'envoyer un autre message.","server.submitUnknownActivity":"Impossible de déterminer l’état de {{label}}. Vérifiez l’onglet CLI avant de renvoyer.","server.tabClosedWhileOpening":"L'onglet s'est fermé pendant son ouverture.","server.tabDirGone":"Le répertoire de l'onglet n'existe plus.","server.tabOpenFailed":"Impossible d'ouvrir l'onglet.","server.terminalAsleep":"La CLI de cet onglet n'est pas ouverte. Ouvrez-la pour écrire à l'agent.","server.terminalGone":"Le terminal n'existe plus.","server.terminalOpenFailed":"Impossible d'ouvrir le terminal.","server.tooManyTabs":"Vous ne pouvez pas ouvrir plus de {{max}} onglets à la fois.","server.vaultBusyMeasuring":"La sauvegarde est occupée à mesurer. Réessayez quand ce sera terminé.","server.vaultBusyMoving":"La sauvegarde est occupée à changer de dossier. Réessayez quand ce sera terminé.","server.vaultBusyWriting":"La sauvegarde est occupée à copier. Réessayez quand ce sera terminé.","server.vaultCannotWrite":"Impossible d'écrire dans ce dossier.","server.vaultCurrentInsideTarget":"La sauvegarde actuelle ne peut pas se retrouver dans le nouveau dossier.","server.vaultDiskFull":"Disque plein : la passe s'est arrêtée ({{detail}})","server.vaultFailed":"L'opération de la sauvegarde n'a pas pu aboutir.","server.vaultIndexNotReady":"L'historique est encore en cours de lecture. Mesurez quand ce sera terminé.","server.vaultMeasureFirst":"Mesurez d'abord l'espace nécessaire.","server.vaultMemoryFailed":"mémoire de {{cwd}} : {{detail}}","server.vaultMoveFailed":"Impossible de déplacer la sauvegarde : {{detail}}","server.vaultMoving":"La sauvegarde est en cours de déplacement vers un autre dossier. Réessayez quand ce sera terminé.","server.vaultNoCopyYet":"Il n'y a pas encore de sauvegarde.","server.vaultNotLoaded":"La sauvegarde n'est pas chargée.","server.vaultProjectGone":"Ce projet n'est plus dans la barre latérale.","server.vaultReasonNewerFormat":"la copie existante est dans un format plus récent","server.vaultReasonOriginMissing":"la source est introuvable","server.vaultReasonUnsafeId":"un identifiant de session qui ne peut pas être copié","server.vaultSessionFailed":"{{agent}}/{{session}}: {{detail}}","server.vaultSessionMissing":"Cette session n'est pas dans la sauvegarde.","server.vaultTargetCliFolder":"Ce dossier appartient à une CLI : la sauvegarde n'y est pas conservée.","server.vaultTargetInsideCurrent":"Le nouveau dossier ne peut pas se trouver dans la sauvegarde actuelle.","server.vaultTargetNotAbsolute":"Le dossier de la sauvegarde doit être un chemin absolu.","server.waitingSubmit":"{{label}} attend une réponse : répondez-y avant d'envoyer un autre message.","server.worktreeBaseAdvanced":"{{base}} a avancé : la branche doit d'abord se mettre à jour. Rien n'a été intégré.","server.worktreeBaseMissing":"La branche {{base}} n'existe pas dans ce dépôt.","server.worktreeBaseNotOpen":"{{base}} n'est ouverte dans aucun dossier : il n'y a nulle part où intégrer.","server.worktreeBranchExists":"La branche {{branch}} existe déjà.","server.worktreeBranchInUse":"La branche {{branch}} est déjà ouverte dans un autre dossier.","server.worktreeBranchInvalid":"{{branch}} n'est pas un nom de branche valide.","server.worktreeBranchMissing":"La branche {{branch}} n'existe plus.","server.worktreeBranchMoved":"La branche {{branch}} a changé depuis que vous avez ouvert ce plan : fermez-le et rouvrez-le pour voir ce qui entrerait. Rien n'a été intégré.","server.worktreeBranchNotIntegrated":"La branche {{branch}} a des commits non intégrés : elle n'a pas été supprimée.","server.worktreeDiffEmpty":"Ce fichier n'a aucune ligne modifiée par rapport à la base.","server.worktreeDiscardFailed":"Impossible de supprimer tous les nouveaux fichiers : {{detail}}. La branche n'a pas été retirée.","server.worktreeFailed":"L'opération sur la branche à part n'a pas abouti.","server.worktreeFileNotInBranch":"Ce fichier ne fait pas partie de ceux que la branche a modifiés.","server.worktreeFolderExists":"Le dossier {{folder}} existe déjà. Choisissez un autre nom de branche.","server.worktreeGitFailed":"git a refusé : {{detail}}","server.worktreeInUse":"Un autre programme a le dossier de la branche ouvert. Fermez-le et réessayez.","server.worktreeLocalChanges":"Fichiers non commités du dossier de la base que la branche touche : {{count}}. git refuserait, donc rien n'a été intégré.","server.worktreeMoveBusy":"L'agent travaille : passez la conversation sur une branche quand il aura fini.","server.worktreeMoveCliCheckFailed":"Impossible de demander à {{cli}} s'il peut passer la conversation dans un autre dossier : {{detail}}. Rien n'a été modifié.","server.worktreeMoveCliFailed":"La branche {{branch}} a été créée, mais {{cli}} n'a pas passé la conversation : {{detail}}. L'onglet reste dans son dossier précédent ; vous pouvez retirer la branche depuis Modifications.","server.worktreeMoveCliUnsupported":"Cette version de {{cli}} ne sait pas passer une conversation dans un autre dossier. Rien n'a été modifié.","server.worktreeMovePending":"Un message attend l'agent : passez la conversation sur une branche quand il en aura fini.","server.worktreeMoveUnavailable":"La conversation de cet onglet ne peut pas passer sur une branche à part.","server.worktreeMoveWaiting":"La CLI attend votre réponse : répondez, puis passez la conversation sur une branche.","server.worktreeNoConflicts":"Il ne reste plus de notes qui ne peuvent pas être combinées toutes seules.","server.worktreeNoReview":"Cette branche n'a pas encore de revue.","server.worktreeNotRepo":"Ce dossier n'est pas dans un dépôt git.","server.worktreeNotesConflict":"Notes modifiées des deux côtés qui ne peuvent pas être combinées : {{count}}. Rien n'a été retiré.","server.worktreeNotesFailed":"Les notes n'ont pas pu revenir au dossier principal, donc rien n'a été retiré : {{detail}}","server.worktreeNothingToCommit":"La branche n'a plus rien de non commité.","server.worktreeNothingToIntegrate":"Rien à intégrer : la branche n'a aucun commit absent de sa base.","server.worktreeNothingToReview":"Rien à relire : la branche n'a ni commit ni modification à elle.","server.worktreeProjectUnknown":"Le dossier du projet n'est plus là.","server.worktreeReviewUnread":"Impossible de lire la réponse du relecteur : s'il vient de finir, réessayez dans quelques secondes.","server.worktreeUncommitted":"Fichiers avec des modifications non commitées : {{count}}. Rien n'a été retiré.","server.worktreeUnknown":"Cette branche à part n'est plus dans la liste de l'application.","server.worktreeUntrackedChanged":"Les nouveaux fichiers ont changé depuis que vous les avez regardés. Rien n'a été retiré.","server.worktreeUpToDate":"La branche est déjà à jour avec {{base}}.","session.untitled":"Session sans titre","settings.cli.disabled":"Désactivée","settings.cli.hint":"Une CLI décochée n'apparaît ni dans le menu ni dans la barre latérale, et son historique n'est pas lu.","settings.cli.install":"Comment l'installer","settings.cli.notInstalled":"Non installée","settings.cli.restart":"Les changements des CLI s'appliquent au redémarrage de l'app.","settings.console.auto":"Automatique","settings.console.autoWith":"Automatique ({{shell}})","settings.console.hint":"S'applique aux consoles ouvertes à partir de maintenant ; celles déjà ouvertes restent telles quelles.","settings.hiddenHint":"Masqué : {{name}}. Vous pouvez l'afficher à nouveau depuis ⚙ Réglages.","settings.hide.console":"Masquer la console (elle revient depuis ⚙ Réglages)","settings.hide.notes":"Masquer les notes (elles reviennent depuis ⚙ Réglages)","settings.hostOnly":"Ces réglages ne se modifient que sur l'ordinateur où tourne Agent Workbench.","settings.language":"Langue","settings.more.open":"{{name}}…","settings.oldServer":"Le serveur est d'une version antérieure : redémarrez-le pour choisir la console et les CLI.","settings.open":"Réglages","settings.panels.cliAlways":"L'onglet CLI est toujours affiché : les autorisations et les questions de l'agent y apparaissent.","settings.panels.consoleConfirmYes":"Masquer et fermer","settings.panels.consoleConfirm_one":"Masquer la console ferme {{count}} terminal ouvert.","settings.panels.consoleConfirm_other":"Masquer la console ferme {{count}} terminaux ouverts.","settings.scheduled.enable":"Programmer l'envoi de messages","settings.scheduled.hint":"Ajoute une horloge à la zone de saisie pour qu'un message parte tout seul, à l'heure choisie, dans la même conversation. Le désactiver n'efface pas ce qui est programmé : c'est mis en pause.","settings.scheduled.needsStatusLine":"Dans {{agent}}, l'horloge apparaît une fois sa status line configurée.","settings.section.appearance":"Apparence","settings.section.clis":"CLI","settings.section.console":"Console","settings.section.more":"Plus","settings.section.panels":"Panneaux","settings.section.scheduled":"Messages programmés","settings.terminalTheme":"Thème du terminal","settings.terminalTheme.dark":"Toujours sombre","settings.terminalTheme.follow":"Suivre le thème de l'app","settings.terminalTheme.hint":"Les CLI choisissent leurs couleurs pour un terminal sombre : sur un terminal clair, certains textes se lisent mal.","settings.title":"Réglages","shortcuts.altNumber":"<strong>Alt + chiffre</strong> n'est pas utilisé non plus, et c'est voulu : sous Windows, Alt avec le pavé numérique sert à saisir les caractères absents du clavier (<kbd>Alt + 164</kbd> = ñ). L'intercepter empêcherait de saisir les caractères accentués. Pour changer d'onglet, il y a <kbd>Alt + ←</kbd> et <kbd>Alt + →</kbd>.","shortcuts.app.closeTab":"Fermer l'onglet actif","shortcuts.app.newTab":"Nouvel onglet dans le répertoire de l'onglet actuel","shortcuts.app.previousTab":"Revenir à l'onglet précédent (hors du terminal : dans le terminal, le raccourci va à la CLI)","shortcuts.app.switchTab":"Onglet précédent / suivant (aussi Alt + PgUp / PgDn)","shortcuts.app.togglePanel":"Afficher ou masquer le panneau de droite","shortcuts.ariaLabel":"Raccourcis clavier","shortcuts.browserReserved":"<strong>Ctrl+T</strong>, <strong>Ctrl+W</strong> et <strong>Ctrl+Tab</strong> ne peuvent pas être utilisés : le navigateur les réserve à ses propres onglets et l'événement n'atteint jamais la page.","shortcuts.cliHint":"C'est la CLI qui les gère. L'application ne les intercepte pas : ils lui parviennent tels quels. Dans le terminal, le saut de ligne reste <kbd>Ctrl + J</kbd> et les images se collent avec <kbd>Alt + V</kbd> ; c'est la zone de saisie qui utilise les touches ci-dessus.","shortcuts.section.app":"Application","shortcuts.section.cli":"CLI, dans le terminal","shortcuts.section.composer":"Dans la zone de saisie","shortcuts.title":"Raccourcis","sidebar.action.archive":"Archiver","sidebar.action.restore":"Restaurer","sidebar.action.undo":"Annuler","sidebar.archived.hide_one":"Masquer {{count}} archivée","sidebar.archived.hide_other":"Masquer {{count}} archivées","sidebar.archived.show_one":"Afficher {{count}} archivée","sidebar.archived.show_other":"Afficher {{count}} archivées","sidebar.archived.toggleTitle":"Les sessions archivées restent sur le disque ; ce bouton ne fait que les afficher ou les masquer","sidebar.empty.noMatch":"Rien ne correspond au filtre.","sidebar.empty.noProjects":"Aucun projet trouvé dans l'historique.","sidebar.hide":"Masquer les projets","sidebar.history.button":"Archiver l'historique…","sidebar.history.buttonTitle":"Masquer d'un coup les sessions d'une CLI antérieures à aujourd'hui. Rien n'est supprimé","sidebar.history.confirm_one":"{{count}} session {{label}} sera masquée ; rien n'est supprimé","sidebar.history.confirm_other":"{{count}} sessions {{label}} seront masquées ; rien n'est supprimé","sidebar.history.count_one":"{{count}} session antérieure à aujourd'hui","sidebar.history.count_other":"{{count}} sessions antérieures à aujourd'hui","sidebar.history.heading":"Archiver tout ce qui précède aujourd'hui","sidebar.history.region":"Archiver l'historique","sidebar.indexing":"Indexation {{scanned}} / {{total}}","sidebar.newProject":"Nouveau projet : choisir ou créer un dossier","sidebar.project.archive":"Archiver le projet","sidebar.project.archiveTitle":"Archiver le projet : masque ses conversations dans la barre latérale. Rien n'est supprimé","sidebar.project.changeLocation":"Changer l'emplacement…","sidebar.project.changeLocationTitle":"Choisir un autre dossier pour ce projet. Ses conversations restent où elles sont","sidebar.project.export":"Exporter en Markdown","sidebar.project.folderGone":"Le dossier n'existe plus sur le disque","sidebar.project.locate":"Localiser le dossier…","sidebar.project.locateTitle":"Indiquer où se trouve ce projet maintenant. Ses conversations sont conservées","sidebar.project.missing":"dossier introuvable","sidebar.project.newSession":"Nouvelle session dans ce projet","sidebar.project.relocated":"Emplacement précédent : {{from}}","sidebar.project.relocationPaused":"Emplacement enregistré en pause : {{from}} existe de nouveau et ses conversations y sont revenues","sidebar.project.removeLocation":"Retirer l'association","sidebar.project.removeLocationTitle":"Ne plus déplacer les conversations de ce projet vers le nouveau dossier. Rien n'est supprimé","sidebar.reindex":"Réindexer l'historique","sidebar.searchMode.label":"Où rechercher","sidebar.searchMode.titlesTitle":"Filtre la liste par nom de projet et titre de session","sidebar.selection.count_one":"{{count}} sélectionnée","sidebar.selection.count_other":"{{count}} sélectionnées","sidebar.session.archive":"Archiver — la retire de la liste, rien n'est supprimé","sidebar.session.blocked":"Elle a un onglet ouvert. Fermez-le d'abord.","sidebar.session.relocatedTitle":`{{title}}
|
|
2
|
+
Elle s'est déroulée dans un dossier qui a changé de place. Continuez-la dans le nouveau dossier avec ↪`,"sidebar.session.restore":"Remettre dans la liste","sidebar.undo.dismissTitle":"Fermer l'avis ; les sessions restent archivées","sidebar.undo.text_one":"{{count}} session archivée ({{what}})","sidebar.undo.text_other":"{{count}} sessions archivées ({{what}})","sidebar.vaultLine.lastError":"Dernière erreur : {{error}}","sidebar.vaultLine.title":"Voir l'état et le dossier de la sauvegarde","sound.notify.blocked":"Le navigateur bloque les notifications de cette page. Autorisez-les dans les paramètres du site, puis cliquez de nouveau.","sound.notify.off":"Notifications système désactivées — cliquez pour les activer","sound.notify.on":"Notifications système activées — cliquez pour les désactiver. Elles ne s'affichent que lorsque cette fenêtre n'est pas visible.","sound.off":"Son de notification coupé — cliquez pour l'activer","sound.on":"Son de notification activé — cliquez pour le couper","sound.volume":"Volume du son de notification","statusLine.agentPrompt":`Configure la status line de {{agent}}. Dans le fichier {{path}}, ajoute la clé statusLine de ce JSON sans toucher aux autres clés ; si le fichier n'existe pas, crée-le avec ce contenu :
|
|
3
|
+
|
|
4
|
+
{{fragment}}
|
|
5
|
+
|
|
6
|
+
Copie la valeur de command telle quelle, sans ajouter ni retirer de guillemets ou de barres obliques. Si le fichier a déjà une statusLine, ne la remplace pas : préviens-moi. N'affiche pas le reste du fichier et n'ouvre pas d'autres fichiers de ce dossier.`,"statusLine.benefit":"Avec la status line configurée, les onglets de cette CLI affichent leur état, la barre « en attente » quand elle demande l'autorisation d'utiliser un outil, la jauge de contexte avec la fenêtre exacte et ce qu'il reste de votre quota. Sans elle, impossible de le savoir : la CLI ne l'écrit dans aucun autre fichier.","statusLine.check":"Vérifier","statusLine.checkHint":"L'application s'en aperçoit aussi d'elle-même en quelques secondes.","statusLine.checking":"Vérification…","statusLine.copied":"Copiée","statusLine.copy":"Copier","statusLine.copyPrompt":"Copier une demande pour votre agent","statusLine.copyPromptTitle":"Copier une demande pour qu'un agent d'IA ajoute la ligne à votre place","statusLine.copyTitle":"Copier la ligne dans le presse-papiers","statusLine.lineSection":"La ligne","statusLine.mergeHint":"Fusionnez-la avec le contenu actuel du fichier ci-dessous, sans le remplacer : s'il contient déjà des accolades, ajoutez seulement la clé <kbd>statusLine</kbd>.","statusLine.planBenefit":"Avec la status line configurée, la barre au-dessus de la conversation indique ce que vous avez utilisé de votre forfait sur la fenêtre de 5 heures et sur la semaine, et quand chacune se réinitialise. La CLI ne l'écrit dans aucun autre fichier, et ne le publie que pour les forfaits d'abonnement.","statusLine.planNoFragment":"Le dossier de l'application contient des caractères que la console interprète entre guillemets ($, ` ou \") et, avec eux, aucune ligne ne peut être exécutée par la CLI. Placer le dossier de configuration dans un chemin sans ces caractères résout le problème.","statusLine.planReplaces":"La CLI n'accepte qu'une seule status line : celle-ci remplace toute autre que vous auriez. Et avec une status line configurée, la CLI n'affiche plus certaines aides en bas de son écran, comme « esc to interrupt ».","statusLine.planScriptHint":"Il n'enregistre que les deux limites et l'identifiant de la session, dans le dossier de l'application, et les affiche sur une ligne courte en bas de la CLI. Il n'enregistre ni le dossier, ni la transcription, ni le coût, ni le modèle, que la CLI lui transmet aussi.","statusLine.promptCopied":"Copiée","statusLine.runsEverywhere":"Une fois la ligne en place, chaque session de la CLI l'exécute, y compris celles que vous ouvrez hors de l'application, et elle nécessite <kbd>node</kbd> dans le PATH.","statusLine.scriptHint":"Il n'enregistre que l'état, le modèle et les tokens de chaque conversation, ainsi que ce qu'il reste de votre quota, dans le dossier de l'application. Il n'enregistre ni votre e-mail, ni votre forfait, ni le coût, que la CLI lui transmet aussi, et il n'affiche rien : la ligne propre à la CLI reste telle quelle.","statusLine.scriptSection":"Ce que fait le script","statusLine.title":"Status line pour {{agent}}","statusLine.whereHint":"L'application ne touche pas à ce fichier : c'est vous qui le modifiez.","statusLine.whereSection":"Où","summary.alsoWorksWith":"Fonctionne aussi avec : {{names}}","summary.newerServer":"Le serveur est d'une version plus récente que cette page (protocole {{server}}, cette page utilise le {{page}}). Rechargez la page avec F5.","summary.outdatedServer":"Le serveur en cours d'exécution est d'une version plus ancienne que cette page (protocole {{server}}, cette page utilise le {{page}}). Redémarrez-le et rechargez la page.","support.dismiss":"Pas maintenant","support.link":"Soutenir","support.notice":"Si Agent Workbench vous est utile, pensez à soutenir le projet.","tabs.aria.opening":"ouverture en cours","tabs.aria.working":"l'agent travaille","tabs.close":"Fermer (Alt+W)","tabs.dot.busy":"L'agent travaille","tabs.dot.exited":"La CLI de cet onglet s'est fermée","tabs.dot.sleeping":"En veille : lisible, sans CLI ouverte","tabs.dot.waiting":"La CLI attend une réponse de votre part","tabs.new":"Nouvel onglet (Alt+T)","tabs.state.alive":"actif","tabs.state.exited":"terminé (code {{code}})","tabs.state.opening":"ouverture…","tabs.state.sleeping":"en veille","terminal.exited":"le processus s'est terminé (code {{code}})","terminal.replayTruncated":"sortie antérieure tronquée","theme.dark":"Thème sombre","theme.light":"Thème clair","theme.system":"Thème du système","theme.title":"{{theme}} — cliquez pour changer","thread.continueCli":"CLI","thread.copyMessage":"Copier le texte de ce message","thread.empty.noMessages":"La session ne contient encore aucun message.","thread.empty.unavailable":"Cet onglet n'a pas de répertoire connu : il n'y a donc aucun fichier de session à suivre.","thread.empty.waiting":"En attente du premier message. Le fichier de session est créé au début de la conversation.","thread.fold.less":"afficher moins","thread.fold.more_one":"afficher {{count}} ligne","thread.fold.more_other":"afficher les {{count}} lignes","thread.goToCli":"Aller à l'onglet CLI","thread.image.alt":"image du message","thread.image.gone":"l'image n'est plus dans le fichier","thread.image.loading":"chargement de l'image…","thread.image.openTitle":"Cliquez pour l'afficher en taille réelle","thread.jumpToEnd":"Aller à la fin","thread.jumpToEndNew_one":"Aller à la fin : {{count}} nouveau message","thread.jumpToEndNew_other":"Aller à la fin : {{count}} nouveaux messages","thread.jumpToOwn":"Aller à votre message précédent","thread.loadEarlier":"Charger les messages précédents","thread.loadingMore":"Chargement…","thread.moveBranch":"Branche","thread.notice.compacted":"Contexte compacté","thread.notice.compactedAuto":"Contexte compacté automatiquement","thread.notice.error":"La CLI a renvoyé une erreur : {{detail}}","thread.notice.errorNoDetail":"La CLI a renvoyé une erreur","thread.notice.interrupted":"Interrompu","thread.openFolder":"Ouvrir {{path}} dans l'explorateur de fichiers du système","thread.openInFiles":"Ouvrir {{path}} dans l'onglet Fichiers","thread.pasted_one":"Texte collé #{{number}} · {{count}} ligne","thread.pasted_other":"Texte collé #{{number}} · {{count}} lignes","thread.question.answerInCli":"Répondez dans l'onglet CLI","thread.question.answered":"Réponse donnée","thread.question.closed":"La CLI s'est fermée avec cette question ouverte","thread.question.multi":"choix multiple","thread.question.noCli":"Impossible de répondre sans la CLI ouverte","thread.question.pickEach":"Choisissez une option pour chaque question · vous pouvez aussi répondre dans l'onglet CLI","thread.question.pickOne":"Choisissez une option · vous pouvez aussi répondre dans l'onglet CLI","thread.question.placeholder":"Écrivez votre réponse","thread.question.send":"Envoyer","thread.question.sendAnswers":"Envoyer les réponses","thread.question.useText":"Utiliser ce texte","thread.question.writeOther":"Écrire une autre réponse…","thread.question.writeOtherHint":"Pour proposer une alternative ou donner plus de contexte","thread.queue.edit":"Modifier","thread.queue.editSentTitle":"Arrête l'agent et ramène votre message dans la zone de saisie pour le corriger. Seulement tant que l'agent n'a pas commencé à répondre","thread.queue.editTitle_one":"Le retire de la file d'attente et le place dans la zone de saisie pour le modifier. ↑ dans la zone vide fait de même","thread.queue.editTitle_other":"Retire ensemble les {{count}} messages en attente et les place dans la zone de saisie : la CLI n'en retire pas un seul. ↑ dans la zone vide fait de même","thread.queue.editing":"Récupération…","thread.queue.forceBlocked":"La CLI attend votre réponse : répondez d'abord","thread.queue.forceSend":"Forcer l'envoi maintenant","thread.queue.forceSendTitle":"L'agent interrompt ce qu'il fait et lit votre message tout de suite. À utiliser quand il part dans la mauvaise direction","thread.queue.forced":"envoyé à l'agent","thread.queue.forcedTitle":"Vous avez forcé l'envoi : la CLI le transmet à l'agent, et il apparaîtra dans la conversation quand la CLI l'aura enregistré","thread.queue.forcing":"Envoi…","thread.queue.images_one":"+{{count}} image","thread.queue.images_other":"+{{count}} images","thread.queue.label":"en attente","thread.queue.labelTitle":"Vous l'avez envoyé pendant que l'agent travaillait : la CLI le lui transmet dès qu'il peut le lire","thread.queue.sent":"envoyé","thread.queue.sentTitle":"La CLI l'a déjà reçu, et l'agent n'a pas encore commencé à répondre","thread.rewind":"Revenir avant ce message","thread.rewindBusy":"Arrêtez d'abord l'agent pour revenir avant ce message","thread.search.next":"Suivant","thread.search.none":"aucun résultat","thread.search.placeholder":"Rechercher dans la conversation","thread.search.previous":"Précédent","thread.status.awaitingReply":"Remis à la CLI · pas encore de réponse · {{elapsed}}","thread.status.delivered":"Remis à la CLI","thread.status.sending":"Envoi à la CLI…","thread.status.subagent":"{{name}} ({{elapsed}})","thread.status.subagentUnnamed":"sans nom","thread.status.subagentsMore_one":"{{count}} autre","thread.status.subagentsMore_other":"{{count}} autres","thread.status.subagents_one":"{{count}} sous-agent travaille encore : {{list}}","thread.status.subagents_other":"{{count}} sous-agents travaillent encore : {{list}}","thread.status.working":"L'agent travaille…","thread.status.workingDelivered":"L'agent travaille · message remis","thread.status.workingFor":"L'agent travaille · {{elapsed}}","thread.status.workingForDelivered":"L'agent travaille · {{elapsed}} · message remis","thread.tool.error":"erreur","thread.tool.imagesNotSent_one":"({{count}} image : non transmise au panneau)","thread.tool.imagesNotSent_other":"({{count}} images : non transmises au panneau)","thread.tool.images_one":"{{count}} image","thread.tool.images_other":"{{count}} images","thread.tool.input":"entrée","thread.tool.noOutput":"(aucune sortie)","thread.tool.orphanResult":"résultat orphelin","thread.tool.result":"résultat","thread.tools.hide":"Masquer la recherche et les boutons","thread.tools.show":"Afficher la recherche et les boutons","thread.truncated":"… (tronqué)","thread.turn.effort":"effort {{effort}}","thread.turn.queued":"envoyé pendant que l'agent travaillait","thread.turn.queuedTitle":"Vous l'avez écrit pendant que l'agent travaillait : il a rejoint le tour déjà en cours","thread.turn.you":"Vous","thread.wake.exited":"La CLI de cet onglet s'est fermée.","thread.wake.exitedWithCode":"La CLI de cet onglet s'est fermée (code de sortie {{code}}).","thread.wake.open":"Ouvrir la CLI","thread.wake.opening":"Ouverture…","thread.wake.sleeping":"Vous lisez cette conversation sans que la CLI soit ouverte. Ouvrez-la pour écrire à l'agent.","threadFont.size.l":"grande","threadFont.size.m":"normale","threadFont.size.s":"petite","threadFont.title":"Taille du texte : {{current}} (clic : {{next}})","time.daysAgo":"il y a {{count}} j","time.hoursAgo":"il y a {{count}} h","time.justNow":"à l'instant","time.minutesAgo":"il y a {{count}} min","tools.run.agent_one":"{{count}} sous-agent","tools.run.agent_other":"{{count}} sous-agents","tools.run.callsTo_one":"{{count}} appel à {{name}}","tools.run.callsTo_other":"{{count}} appels à {{name}}","tools.run.edit_one":"{{count}} modification","tools.run.edit_other":"{{count}} modifications","tools.run.find_one":"{{count}} recherche dans le projet","tools.run.find_other":"{{count}} recherches dans le projet","tools.run.read_one":"{{count}} fichier lu","tools.run.read_other":"{{count}} fichiers lus","tools.run.shell_one":"{{count}} commande de console","tools.run.shell_other":"{{count}} commandes de console","tools.run.todo_one":"{{count}} liste de tâches","tools.run.todo_other":"{{count}} listes de tâches","tools.run.web_one":"{{count}} recherche","tools.run.web_other":"{{count}} recherches","vault.archived":"Les sessions archivées ne sont pas copiées, et archiver une session déjà copiée ne supprime pas sa copie. L'application ne supprime jamais rien dans ce dossier.","vault.busy":"Une opération de la sauvegarde est en cours. Attendez qu'elle se termine.","vault.button.off":"Sauvegarde : désactivée. La configurer","vault.button.on":"Sauvegarde : activée. Voir l'état et le dossier","vault.dialog.activate":"Activer","vault.dialog.activateExistingHint":"Le dossier contient déjà une sauvegarde. Une fois activée, l'app la complète et la tient à jour.","vault.dialog.activateExistingTitle":"Le dossier contient déjà une sauvegarde : l'activation la complète","vault.dialog.activateMeasuredHint":"Copie tout ce qui a été mesuré, puis chaque session qui change, après une minute de calme.","vault.dialog.activateMeasuredTitle":"Copie maintenant ce qui a été mesuré, puis chaque session qui change","vault.dialog.changeDir":"Changer de dossier…","vault.dialog.changeDirTitle":"Choisir un autre dossier. Ce qui a été copié y est recopié ; celui-ci reste intact","vault.dialog.defaultDir":"C'est le dossier par défaut, dans celui de l'application.","vault.dialog.folderSection":"Dossier","vault.dialog.inFolder":"Dans le dossier","vault.dialog.lastError":"Dernière erreur","vault.dialog.lastPass":"dernière passe : {{when}}","vault.dialog.measure":"Mesurer","vault.dialog.measureAgain":"Mesurer à nouveau","vault.dialog.measureTitle":"Lit tout l'historique sans rien écrire, pas même le dossier","vault.dialog.needsMeasure":"Mesurez d'abord l'espace nécessaire : le bouton « {{activate}} » apparaîtra ensuite.","vault.dialog.openFolder":"Ouvrir le dossier","vault.dialog.openFolderTitle":"Ouvrir le dossier dans l'explorateur de fichiers du système","vault.dialog.pendingCalm_one":"{{count}} en attente de sa minute de calme","vault.dialog.pendingCalm_other":"{{count}} en attente de leur minute de calme","vault.dialog.sizeSection":"Espace nécessaire","vault.dialog.table.archived":"Archivées","vault.dialog.table.archivedTitle":"Les sessions archivées ne sont pas copiées","vault.dialog.table.images":"Images","vault.dialog.table.memory_one":"Mémoire de {{count}} projet","vault.dialog.table.memory_other":"Mémoire de {{count}} projets","vault.dialog.table.sessions":"Sessions","vault.dialog.table.size":"Taille","vault.dialog.table.total":"Total","vault.dialog.turnOff":"Désactiver","vault.dialog.turnOffHint":"La désactiver ne supprime rien : ce qui a été copié reste dans le dossier.","vault.dialog.waiting":"En attente de l'état du serveur…","vault.export.done":"Exporté : le dossier a été ouvert","vault.export.exporting":"Export en Markdown…","vault.export.idle":"Exporter les sessions de ce projet en Markdown","vault.indexNotReady":"L'historique est encore en cours de lecture. Mesurez quand ce sera terminé.","vault.line.copying":"copie en cours","vault.line.copyingProgress":"copie {{done}} / {{total}}","vault.line.measuring":"mesure en cours","vault.line.moving":"déplacement vers un autre dossier","vault.line.neverCopied":"pas encore de copie","vault.line.pending_one":"{{count}} en attente","vault.line.pending_other":"{{count}} en attente","vault.mark.copy":"sauvegarde","vault.mark.copyTitle":"L'historique de la CLI ne contient plus cette session. C'est la sauvegarde qui s'ouvre, en Markdown.","vault.mark.partial":"partielle","vault.mark.partialTitle":"Seuls le résumé et les documents ont été récupérés : le contenu de la conversation est chiffré.","vault.measure.summary":"Mesure effectuée {{when}}, en {{duration}}","vault.measure.summaryNoWhen":"Mesure effectuée en {{duration}}","vault.name":"Sauvegarde","vault.note.empty_one":"{{count}} vide","vault.note.empty_other":"{{count}} vides","vault.note.failedWithReasons_one":"{{count}} en échec ({{reasons}})","vault.note.failedWithReasons_other":"{{count}} en échec ({{reasons}})","vault.note.failed_one":"{{count}} en échec","vault.note.failed_other":"{{count}} en échec","vault.note.notCopied":"Sessions non copiées : {{parts}}","vault.note.unsupported_one":"{{count}} sans lecture complète","vault.note.unsupported_other":"{{count}} sans lecture complète","vault.previousDir":"L'ancien dossier est resté intact : {{dir}}","vault.privacy":"La sauvegarde conserve la même chose que l'historique de chaque CLI — messages, entrées et résultats des outils, images — dans un dossier à vous. Si vous la placez dans un dossier synchronisé ou dans un dépôt, tout cela voyage avec elle.","vault.sessions_one":"{{count}} session","vault.sessions_other":"{{count}} sessions","vault.state.measuring":"Mesure en cours…","vault.state.measuringProgress":"Mesure en cours… {{done}} / {{total}}","vault.state.moving":"Déplacement vers un autre dossier…","vault.state.off":"Désactivée","vault.state.on":"Activée","vault.state.writing":"Copie en cours…","vault.state.writingProgress":"Copie en cours… {{done}} / {{total}}","workspace.connectFailed":"Impossible de se connecter au serveur local. Rouvrez l'URL qu'il a affichée au démarrage.","worktree.actions.catchUp":"Se mettre à jour","worktree.actions.catchUpTitle":"Laisse dans la zone de la branche, sans l'envoyer, la demande de récupérer {{base}} avec un rebase que fait son agent","worktree.actions.integrate":"Intégrer dans {{base}}","worktree.actions.integrateTitle":"Avance {{base}} jusqu'au bout de la branche avec git merge --ff-only, sans créer de commit. Le plan s'affiche d'abord","worktree.actions.review":"Demander une revue","worktree.actions.reviewTitle":"Une autre CLI relit la branche dans son dossier, sans la toucher, et répond par un verdict","worktree.actions.sendReview":"Envoyer à la branche","worktree.actions.sendReviewTitle":"Laisse la réponse du relecteur dans la zone de saisie de l'onglet de la branche, sans l'envoyer : vous la lisez et l'envoyez","worktree.actions.showReviewer":"Voir","worktree.actions.showReviewerTitle":"Aller à l'onglet du relecteur","worktree.actions.viewChanges":"Voir les modifications","worktree.actions.viewChangesTitle":"Ce que la branche apporte par rapport à sa base : ses commits et fichiers, en lecture seule","worktree.branch.characters":"Utilisez seulement des lettres sans accent, des chiffres, -, _, . et /.","worktree.branch.dots":"Pas de .., ni de partie qui commence ou finit par un point.","worktree.branch.empty":"Écrivez un nom pour la branche.","worktree.branch.lock":"Aucune partie ne peut finir par .lock.","worktree.branch.reserved":"Ce nom est réservé.","worktree.branch.slashes":"Pas de / au début ni à la fin, et jamais deux de suite.","worktree.branch.startsWithDash":"Il ne peut pas commencer par -.","worktree.branch.tooLong":"Trop long : 100 caractères au maximum.","worktree.changes.commits":"Commits","worktree.changes.empty":"La branche n'apporte aucun commit par rapport à {{base}}.","worktree.changes.files":"Fichiers","worktree.changes.loading":"Lecture de ce que la branche apporte…","worktree.changes.more_one":"et {{count}} de plus","worktree.changes.more_other":"et {{count}} de plus","worktree.changes.title":"{{branch}} par rapport à {{base}}","worktree.changes.uncommitted_one":"La branche a {{count}} fichier non commité : il n'apparaît pas ici, il est dans les Modifications de son onglet.","worktree.changes.uncommitted_other":"La branche a {{count}} fichiers non commités : ils n'apparaissent pas ici, ils sont dans les Modifications de son onglet.","worktree.copy.summary_one":"{{count}} fichier, {{size}}","worktree.copy.summary_other":"{{count}} fichiers, {{size}}","worktree.create.agent":"CLI","worktree.create.baseMissing":"Choisissez la branche de départ.","worktree.create.branch":"Branche","worktree.create.branchExists":"Cette branche existe déjà. Pour l'ouvrir, choisissez « Une branche qui existe déjà ».","worktree.create.branchInUse":"Cette branche est déjà ouverte dans un autre dossier.","worktree.create.branchPlaceholder":"p. ex. fix-login","worktree.create.command":"Commande","worktree.create.copyList":"{{summary}} : {{list}}.","worktree.create.copyNone":"Le dépôt n'ignore aucune instruction ni mémoire : il n'y a rien à copier.","worktree.create.copyNotes":"Copier les instructions et la mémoire que le dépôt ignore.","worktree.create.copySection":"Notes ignorées","worktree.create.creating":"Création…","worktree.create.folder":"Dossier","worktree.create.include":"Ce que demande .worktreeinclude est aussi copié : {{summary}}.","worktree.create.includeOverCap":"Ce que demande .worktreeinclude dépasse la limite ({{summary}}), il n'est donc pas copié.","worktree.create.intro":"La branche a son propre dossier à côté de {{project}} : son agent travaille sans toucher au dossier principal ni aux autres branches. Seulement si vous le voulez : les projets où vous n'en ouvrez pas restent tels quels.","worktree.create.loading":"Lecture du dépôt…","worktree.create.mainChanges_one":"Le dossier principal a {{count}} fichier avec des modifications non commitées : la nouvelle branche part du dernier commit et ne l'emporte pas.","worktree.create.mainChanges_other":"Le dossier principal a {{count}} fichiers avec des modifications non commitées : la nouvelle branche part du dernier commit et ne les emporte pas.","worktree.create.modeExisting":"Une branche qui existe déjà","worktree.create.modeNew":"Nouvelle branche, à partir de","worktree.create.noFreeBranch":"Toutes les autres branches sont déjà ouvertes dans un dossier.","worktree.create.overCap":"{{summary}} : au-delà de la limite, elles ne sont donc pas copiées.","worktree.create.submit":"Créer et ouvrir","worktree.create.title":"Nouvelle session sur une branche à part","worktree.deleteBranch.checkedOut":"La branche {{branch}} est ouverte dans un dossier : retirez-le d'abord.","worktree.deleteBranch.deleting":"Suppression…","worktree.deleteBranch.done":"La branche {{branch}} a été supprimée.","worktree.deleteBranch.intro":"La branche est déjà intégrée dans {{base}} : aucun commit n'est perdu, et ses conversations peuvent toujours être rouvertes depuis la barre latérale.","worktree.deleteBranch.loading":"Examen de la branche…","worktree.deleteBranch.noBase":"{{base}} n'existe plus : impossible de savoir si la branche a des commits non intégrés, donc elle n'est pas supprimée d'ici. Supprimez-la dans le terminal si vous savez que rien n'est perdu.","worktree.deleteBranch.notIntegrated_one":"Elle a {{count}} commit que {{base}} n'a pas : elle n'est pas supprimée d'ici, pour ne pas le perdre. Rouvrez-la depuis la barre latérale et intégrez-la, ou supprimez-la dans le terminal.","worktree.deleteBranch.notIntegrated_other":"Elle a {{count}} commits que {{base}} n'a pas : elle n'est pas supprimée d'ici, pour ne pas les perdre. Rouvrez-la depuis la barre latérale et intégrez-la, ou supprimez-la dans le terminal.","worktree.deleteBranch.submit":"Supprimer","worktree.deleteBranch.title":"Supprimer la branche {{branch}}","worktree.integrate.blockerBehind":"{{base}} a avancé : mettez-vous d'abord à jour.","worktree.integrate.blockerLocal_one":"Le dossier de {{base}} a des modifications non commitées dans {{count}} fichier que la branche touche, et git refuserait : {{list}}. Commitez-le ou annulez-le d'abord là-bas.","worktree.integrate.blockerLocal_other":"Le dossier de {{base}} a des modifications non commitées dans {{count}} fichiers que la branche touche, et git refuserait : {{list}}. Commitez-les ou annulez-les d'abord là-bas.","worktree.integrate.blockerNoBase":"{{base}} n'est ouverte dans aucun dossier.","worktree.integrate.blockerNothing":"Rien à intégrer : la branche n'a aucun commit absent de {{base}}.","worktree.integrate.branchUncommitted_one":"La branche a {{count}} fichier non commité : il n'entre pas.","worktree.integrate.branchUncommitted_other":"La branche a {{count}} fichiers non commités : ils n'entrent pas.","worktree.integrate.command":"Commande","worktree.integrate.doneOthers":"Les autres branches indiqueront que {{base}} a avancé. La branche à part est toujours là : vous pouvez la retirer maintenant.","worktree.integrate.done_one":"C'est fait : {{base}} contient maintenant {{count}} commit de la branche.","worktree.integrate.done_other":"C'est fait : {{base}} contient maintenant les {{count}} commits de la branche.","worktree.integrate.files_one":"{{count}} fichier change : {{list}}","worktree.integrate.files_other":"{{count}} fichiers changent : {{list}}","worktree.integrate.folder":"Où","worktree.integrate.integrating":"Intégration…","worktree.integrate.intro_one":"{{count}} commit entre dans {{base}}, sans nouveau commit : {{base}} avance jusqu'au bout de la branche.","worktree.integrate.intro_other":"{{count}} commits entrent dans {{base}}, sans nouveau commit : {{base}} avance jusqu'au bout de la branche.","worktree.integrate.loading":"Préparation du plan…","worktree.integrate.noReview":"Personne n'a relu cette branche. Cela n'empêche rien : c'est vous qui décidez.","worktree.integrate.notesStay":"Ces notes ont changé des deux côtés et ne peuvent pas être combinées toutes seules : {{list}}. Elles restent dans la branche, et vous choisissez quoi en faire en la retirant.","worktree.integrate.notesStayed":"Celles-ci sont restées dans la branche, car elles ne peuvent pas être combinées toutes seules : {{list}}. Vous choisissez quoi en faire en la retirant.","worktree.integrate.remove":"Retirer la branche à part","worktree.integrate.removeTitle":"Ouvre le plan pour retirer son dossier","worktree.integrate.submit":"Intégrer","worktree.integrate.tabs":"Les fichiers de ces onglets changent : {{list}}.","worktree.integrate.title":"Intégrer {{branch}} dans {{base}}","worktree.integrate.titleLoading":"Intégrer {{branch}}","worktree.move.askChanges":"Demander à l'agent d'emporter les siens","worktree.move.askChangesHint":"Il reste écrit dans sa zone de saisie, sans être envoyé : vous le relisez et l'envoyez vous-même.","worktree.move.changes_one":"Le dossier de cette conversation a {{count}} fichier avec des modifications non commitées. Il ne suit pas tout seul : l'app ne sait pas à quelle conversation il appartient.","worktree.move.changes_other":"Le dossier de cette conversation a {{count}} fichiers avec des modifications non commitées. Ils ne suivent pas tout seuls : l'app ne sait pas à quelle conversation appartient chacun.","worktree.move.intro":"La conversation continue en entier sur une branche qui a son propre dossier à côté de {{project}} : l'agent y travaille sans toucher au dossier principal. Si sa CLI est ouverte, elle se ferme et se rouvre sur la branche.","worktree.move.moving":"Passage…","worktree.move.submit":"Passer sur la branche","worktree.move.title":"Passer cette conversation sur une branche à part","worktree.new":"Nouvelle session sur une branche à part","worktree.notes.back_one":"{{count}} note revient au dossier principal.","worktree.notes.back_other":"{{count}} notes reviennent au dossier principal.","worktree.notes.hide":"masquer","worktree.notes.mergedMark":"combinée","worktree.notes.merged_one":"{{count}} est combinée avec ce qui a changé là-bas.","worktree.notes.merged_other":"{{count}} sont combinées avec ce qui a changé là-bas.","worktree.notes.resolved_one":"L'agent de la branche a déjà combiné {{list}} : elle reste telle quelle dans le dossier principal.","worktree.notes.resolved_other":"L'agent de la branche a déjà combiné {{list}} : elles restent telles quelles dans le dossier principal.","worktree.notes.returned_one":"{{count}} note est revenue au dossier principal.","worktree.notes.returned_other":"{{count}} notes sont revenues au dossier principal.","worktree.notes.show":"voir lesquelles","worktree.remove.askCommit_one":"Demander à l'agent de le commiter","worktree.remove.askCommit_other":"Demander à l'agent de les commiter","worktree.remove.askNotes":"Demander à l'agent de les combiner","worktree.remove.askTitle":"Laisse la demande dans la zone de saisie de l'onglet de la branche, sans l'envoyer","worktree.remove.commands":"Commandes","worktree.remove.conflicts":"Ces notes ont changé des deux côtés et ne peuvent pas être combinées toutes seules : {{list}}. Si vous retirez la branche maintenant, ce que la branche y a changé est perdu.","worktree.remove.deletesBranch":"Elle est déjà intégrée : son dossier et la branche {{branch}} sont supprimés. Ses conversations peuvent toujours être rouvertes depuis la barre latérale.","worktree.remove.deletesUnusedBranch":"Elle n'a aucun commit propre : son dossier et la branche {{branch}} sont supprimés. Ses conversations peuvent toujours être rouvertes depuis la barre latérale.","worktree.remove.discard":"Retirer et perdre ces changements","worktree.remove.discardFiles":"Retirer et perdre ces fichiers","worktree.remove.done":"La branche à part a été retirée.","worktree.remove.doneBranch":"La branche a aussi été supprimée.","worktree.remove.doneDiscardedFiles_one":"{{count}} nouveau fichier a été perdu, comme choisi.","worktree.remove.doneDiscardedFiles_other":"{{count}} nouveaux fichiers ont été perdus, comme choisi.","worktree.remove.doneDiscarded_one":"{{count}} note a été perdue, comme choisi.","worktree.remove.doneDiscarded_other":"{{count}} notes ont été perdues, comme choisi.","worktree.remove.holder":"{{program}} ({{exe}}, PID {{pids}})","worktree.remove.holderExe":"{{exe}} (PID {{pids}})","worktree.remove.inUse":"Un autre programme a le dossier ouvert (un éditeur, un serveur de développement). Fermez-le et réessayez.","worktree.remove.inUseBy_one":"{{list}} a le dossier ouvert. Fermez-le et réessayez.","worktree.remove.inUseBy_other":"{{list}} ont le dossier ouvert. Fermez-les et réessayez.","worktree.remove.keepsBranch":"Elle n'est pas encore intégrée : son dossier est retiré, et la branche {{branch}} reste enregistrée dans Modifications, pour l'intégrer ou la rouvrir.","worktree.remove.keepsExistingBranch":"La branche {{branch}} existait déjà : seul son dossier est retiré, et la branche reste.","worktree.remove.loading":"Vérification du contenu de son dossier…","worktree.remove.removing":"Retrait…","worktree.remove.retry":"Réessayer","worktree.remove.submit":"Retirer","worktree.remove.tabs":"Se ferment : {{list}}.","worktree.remove.title":"Retirer la branche à part {{branch}}","worktree.remove.uncommitted_one":"Elle a {{count}} fichier non commité, et une branche avec du travail non commité n'est pas retirée :","worktree.remove.uncommitted_other":"Elle a {{count}} fichiers non commités, et une branche avec du travail non commité n'est pas retirée :","worktree.remove.untrackedAccepted":"Perdus avec la branche :","worktree.remove.untrackedCopied":"Elle a de nouveaux fichiers non commités, dont quelque chose de copié depuis le dossier principal que cette branche n'ignore pas : cela ne se perd pas d'ici. Demandez à l'agent de le commiter ou de le supprimer :","worktree.remove.untrackedNestedRepo":"Elle a de nouveaux fichiers non commités, et il y a un dépôt git à l'intérieur (il peut avoir des commits qui n'existent nulle part ailleurs) : il ne se perd pas d'ici. S'il ne sert pas, demandez à l'agent de le supprimer :","worktree.remove.untrackedTooMany":"Elle a plus de {{max}} nouveaux fichiers non commités : trop pour les vérifier et les perdre d'ici. S'ils ne servent pas, demandez à l'agent de les supprimer :","worktree.remove.untracked_one":"Elle a {{count}} nouveau fichier non commité ({{size}}). Si c'est du travail, demandez à l'agent de le commiter ; sinon, vous pouvez retirer la branche et le perdre :","worktree.remove.untracked_other":"Elle a {{count}} nouveaux fichiers non commités ({{size}}). Si c'est du travail, demandez à l'agent de les commiter ; sinon, vous pouvez retirer la branche et les perdre :","worktree.review.author":"{{agent}} a travaillé sur la branche : une autre CLI voit ce qu'elle tient pour acquis.","worktree.review.branchBusy":"L'onglet de la branche travaille : la revue peut voir un état à moitié fait.","worktree.review.deliveryPrefill":"La demande reste dans sa zone de saisie : vous l'envoyez avec Entrée.","worktree.review.deliverySent":"La demande part toute seule quand la CLI est prête.","worktree.review.guardCli":"{{agent}} démarre en lecture seule : elle ne peut pas modifier la branche.","worktree.review.guardNone":"{{agent}} peut modifier les fichiers de la branche : la demande lui dit de ne pas le faire.","worktree.review.guardTools":"{{agent}} démarre sans ses outils d'édition, mais son terminal pourrait encore écrire : la demande lui dit de ne pas le faire.","worktree.review.intro":"Une autre CLI relit ce que la branche apporte par rapport à {{base}}, dans son dossier, et termine par un verdict. La tester et l'intégrer restent votre affaire.","worktree.review.loading":"Lecture de la branche…","worktree.review.nothing":"La branche n'a rien à relire par rapport à {{base}}.","worktree.review.prompt":"Ce qu'elle reçoit","worktree.review.quota":"Chaque revue consomme le quota de la CLI qui relit.","worktree.review.requesting":"Ouverture…","worktree.review.reviewer":"Qui relit","worktree.review.sameCli":"{{agent}} relit, dans une nouvelle conversation.","worktree.review.stale":"{{text}} (d'un commit antérieur)","worktree.review.stateChanges":"Revue de {{agent}} : demande des changements","worktree.review.stateNone":"Revue de {{agent}} : sans verdict","worktree.review.statePending":"Revue de {{agent}} : pas encore de réponse","worktree.review.stateReady":"Revue de {{agent}} : prête à intégrer","worktree.review.stateWorking":"Revue de {{agent}} : en cours","worktree.review.submit":"Demander la revue","worktree.review.title":"Demander une revue de {{branch}}","worktree.review.uncommitted_one":"La branche a {{count}} fichier non commité : le relecteur le regarde aussi.","worktree.review.uncommitted_other":"La branche a {{count}} fichiers non commités : le relecteur les regarde aussi.","worktree.rows.ahead_one":"{{count}} commit d'avance","worktree.rows.ahead_other":"{{count}} commits d'avance","worktree.rows.behind_one":"{{base}} a avancé de {{count}} commit","worktree.rows.behind_other":"{{base}} a avancé de {{count}} commits","worktree.rows.changes_one":"{{count}} non commité","worktree.rows.changes_other":"{{count}} non commités","worktree.rows.clean":"aucune modification","worktree.rows.current":"cet onglet","worktree.rows.deleteBranch":"Supprimer la branche","worktree.rows.deleteBranchTitle":"Ouvre le plan de suppression de la branche, avec git branch -d","worktree.rows.heading":"Branches à part","worktree.rows.headingTitle":"Les autres dossiers de ce dépôt, chacun avec sa branche","worktree.rows.integrated":"intégrée","worktree.rows.kept":"dossier retiré","worktree.rows.keptTitle":"L'application a retiré son dossier et la branche est toujours dans le dépôt : ses conversations peuvent être rouvertes depuis la barre latérale","worktree.rows.main":"dossier principal","worktree.rows.mergeClean":"sans conflit","worktree.rows.mergeConflicts_one":"conflit dans {{count}} fichier : {{list}}","worktree.rows.mergeConflicts_other":"conflits dans {{count}} fichiers : {{list}}","worktree.rows.notIntegrated_one":"{{count}} commit non intégré","worktree.rows.notIntegrated_other":"{{count}} commits non intégrés","worktree.rows.open":"Ouvrir","worktree.rows.openTitle":"Aller à son onglet, ou en ouvrir un dans ce dossier","worktree.rows.overlap":"{{branch}} y touche aussi : {{list}}","worktree.rows.remove":"Retirer","worktree.rows.removeTitle":"Retirer son dossier ; la branche reste, sauf si elle est déjà intégrée","worktree.sidebar.branchTitle":"A travaillé sur la branche à part {{branch}}","worktree.sidebar.removed":"retirée","worktree.sidebar.removedTitle":"Cette conversation a travaillé sur une branche à part dont le dossier a été retiré","worktree.sidebar.reopen":"Rouvrir la branche","worktree.sidebar.reopenTitle":"Rouvrir la branche : la ressort dans le même dossier (si elle a été supprimée, la recrée sur le commit où elle s'était arrêtée) et reprend cette conversation","worktree.tab.linkedTitle":"Branche {{branch}}, à part de {{main}}","worktree.tab.mainTitle":"Branche {{branch}}, dans le dossier principal","worktree.tab.review":"revue","worktree.tab.reviewTitle":"Onglet de revue : sa CLI a démarré en lecture seule, si elle le permet"};export{e as default};
|