@openchambery/web 1.18.2-beta.32 → 1.18.2-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/assets/{AssistantView-BhLt99kH.js → AssistantView-CoyhdTbE.js} +1 -1
  2. package/dist/assets/{ChatContainer-BlmxfoFd.js → ChatContainer-qBpI03Vx.js} +37 -37
  3. package/dist/assets/{DiagramView-cv-vQB2f.js → DiagramView-DZ1WiggF.js} +1 -1
  4. package/dist/assets/{MarkdownRendererImpl-ClKjHmC-.js → MarkdownRendererImpl-CS_qAiJw.js} +1 -1
  5. package/dist/assets/{MobileDetailNavigation-CeBAGm8g.js → MobileDetailNavigation-Ceidd7mV.js} +1 -1
  6. package/dist/assets/{MobileShareBridge-CPF_cu0F.js → MobileShareBridge-BSA3qyLh.js} +1 -1
  7. package/dist/assets/MobileSurface-BovXyErC.js +2 -0
  8. package/dist/assets/{MultiRunWindow-S_3yVTw5.js → MultiRunWindow-BkBeFDKZ.js} +1 -1
  9. package/dist/assets/{OnboardingScreen-gMGdBXkS.js → OnboardingScreen-C1kAHsU9.js} +1 -1
  10. package/dist/assets/OverlayScrollbar-iaMCjwrs.js +2 -0
  11. package/dist/assets/{SettingsView-CAKZZQz7.js → SettingsView-JUMjBV3w.js} +11 -12
  12. package/dist/assets/{SettingsWindow-CG98Gozw.js → SettingsWindow-CDYfwAnv.js} +1 -1
  13. package/dist/assets/{TerminalView-BdiPDeDu.js → TerminalView-B4exX3-y.js} +1 -1
  14. package/dist/assets/{ToolOutputDialog-D-6Ezjqs.js → ToolOutputDialog-DSBr6zoi.js} +1 -1
  15. package/dist/assets/{appThemeRegistry-DawdCrT-.js → appThemeRegistry-DsF7lf1y.js} +2 -2
  16. package/dist/assets/capgoAdapter-BSPH5_gX.js +1 -0
  17. package/dist/assets/{clipboard-DD27ttLy.js → clipboard-mzqrY_n2.js} +1 -1
  18. package/dist/assets/{context-menu-DB0-VukO.js → context-menu-D5fJRTnM.js} +1 -1
  19. package/dist/assets/{dialog-M9TJGHb8.js → dialog-DDrJKIhd.js} +1 -1
  20. package/dist/assets/{es-Dw9Q-ozz.js → es-DyE3MYjW.js} +1 -1
  21. package/dist/assets/{fr-ColDJ2rK.js → fr-T-bfFDvO.js} +1 -1
  22. package/dist/assets/{gitApi-DkIj7msF.js → gitApi-jI37Cek-.js} +1 -1
  23. package/dist/assets/{insertionBoundaries-Ci7W_si4.js → insertionBoundaries-C7WpZcjj.js} +1 -1
  24. package/dist/assets/{ja-DK2Z5Adv.js → ja-CZPkddOJ.js} +1 -1
  25. package/dist/assets/{ko-BFhsYNY4.js → ko-MUUqS5Un.js} +1 -1
  26. package/dist/assets/{main-Byam6OLJ.js → main-CmqFzBNr.js} +7 -7
  27. package/dist/assets/{main-JxXeBGUv.js → main-DfymqArl.js} +2 -2
  28. package/dist/assets/{miniChat-MBdDWNL8.js → miniChat-BDrhPk_q.js} +2 -2
  29. package/dist/assets/{mobile-7J0N2edW.js → mobile-DwDESlsO.js} +2 -2
  30. package/dist/assets/{multirun-BDLm-9p_.js → multirun-HPTTgha1.js} +1 -1
  31. package/dist/assets/{pl-9HDNVuJh.js → pl-g4y8Kn6w.js} +1 -1
  32. package/dist/assets/{projectMeta-6Y8eqOct.js → projectMeta-CL0zMdY1.js} +1 -1
  33. package/dist/assets/{pt-BR-BjC1-fOS.js → pt-BR-Boqh_bme.js} +1 -1
  34. package/dist/assets/{radio-VgkIFFc0.js → radio-CxjX1QLI.js} +1 -1
  35. package/dist/assets/{renderElectronMiniChatApp-DtiL6bi8.js → renderElectronMiniChatApp-D59_P4W8.js} +2 -2
  36. package/dist/assets/{renderMobileApp-xWa6AxDE.js → renderMobileApp-BCX14iIt.js} +5 -5
  37. package/dist/assets/{runtimeConfig-BgAUYwpw.js → runtimeConfig-BgB804OO.js} +1 -1
  38. package/dist/assets/{runtimeEndpointReset-CjX8fEqz.js → runtimeEndpointReset-DVdmDWJF.js} +2 -2
  39. package/dist/assets/{sortable-tabs-strip-Z5_rGG_O.js → sortable-tabs-strip-CBs61Gj9.js} +1 -1
  40. package/dist/assets/src-BBD2IyWD.css +2 -0
  41. package/dist/assets/{store-CNhcDSiX.js → store-BLmIK6EO.js} +1 -1
  42. package/dist/assets/{uk-Dz5dc1bK.js → uk-B4CEXe9W.js} +1 -1
  43. package/dist/assets/{useAppFontEffects-D79ls-ks.js → useAppFontEffects-Cq6OnxJa.js} +2 -2
  44. package/dist/assets/{useDesktopWindowControlsLayout-obujEeM2.js → useDesktopWindowControlsLayout-WoSVT54r.js} +1 -1
  45. package/dist/assets/{useEffectiveDirectory-DFAdHJ0-.js → useEffectiveDirectory-nzIU9x_o.js} +1 -1
  46. package/dist/assets/{useMobileNavigationStore-BADiWXJ3.js → useMobileNavigationStore-CjWKn8Qe.js} +4 -4
  47. package/dist/assets/{useSessionAutoCleanup-CulttT9K.js → useSessionAutoCleanup-a3EjB8JJ.js} +1 -1
  48. package/dist/assets/{useWorkerHighlightedLines-Cg5oIMcb.js → useWorkerHighlightedLines-CszvGrwL.js} +1 -1
  49. package/dist/assets/{zh-CN-CK_vXKLC.js → zh-CN-C4wauCqC.js} +1 -1
  50. package/dist/assets/{zh-TW-D1PJ5wPO.js → zh-TW-DtT3aVC7.js} +1 -1
  51. package/dist/index.html +4 -4
  52. package/dist/mini-chat.html +4 -4
  53. package/dist/mobile.html +4 -4
  54. package/package.json +1 -1
  55. package/dist/assets/MobileSurface-RC5BWA3I.js +0 -2
  56. package/dist/assets/OverlayScrollbar-C3WqFk2J.js +0 -2
  57. package/dist/assets/capgoAdapter-LvGrONDp.js +0 -1
  58. package/dist/assets/src-BZ9v9Hhc.css +0 -2
@@ -10,4 +10,4 @@ Utilisez @filename pour inclure le contenu du fichier.`,"settings.commands.page.
10
10
 
11
11
  {log}`,"contextPanel.preview.console.open":`Ouvrir la console d'aperçu`,"contextPanel.preview.console.waiting":`En attente de la console de prévisualisation`,"contextPanel.preview.console.title":`Console de prévisualisation`,"contextPanel.preview.console.attach":`Attacher`,"contextPanel.preview.console.copy":`Copie`,"contextPanel.preview.console.clear":`Effacer`,"contextPanel.preview.console.empty":`Aucun événement de console d’aperçu pour l’instant.`,"contextPanel.preview.console.noFilteredEvents":`Aucun événement ne correspond à ce filtre.`,"contextPanel.preview.console.runtimeError":`Erreur d'exécution`,"contextPanel.preview.console.copied":`Console d'aperçu copiée`,"contextPanel.preview.console.copyFailed":`Échec de la copie de la console d'aperçu`,"contextPanel.preview.console.attached":`Console de prévisualisation attachée au chat`,"contextPanel.preview.console.attachNoSession":`Ouvrir une session de discussion avant de joindre les journaux d'aperçu`,"contextPanel.preview.console.attachAnnotation":`Il s'agit des journaux de la console du navigateur du serveur de développement exécuté pour ce projet.`,"contextPanel.preview.inspect.toggle":`Inspecter l'élément d'aperçu`,"contextPanel.preview.inspect.attached":`Aperçu de l'annotation jointe au chat`,"contextPanel.preview.inspect.attachNoSession":`Ouvrir une session de discussion avant de joindre des annotations d'aperçu`,"contextPanel.preview.inspect.attachAnnotation":`Il s'agit d'un élément DOM sélectionné dans l'aperçu de l'application.`,"contextPanel.preview.inspect.attachAnnotationWithScreenshot":`Il s'agit d'un élément DOM sélectionné dans l'aperçu de l'application. Une capture d'écran de la zone d'aperçu visible avec l'élément sélectionné en surbrillance est jointe.`,"contextPanel.preview.console.filter.all":`Tous`,"contextPanel.preview.console.filter.errors":`Erreurs`,"contextPanel.preview.console.filter.warnings":`Avertissements`,"contextPanel.preview.console.filter.logs":`Journaux`,"terminalView.preview.open":`Aperçu`,"terminalView.preview.openTitle":`Ouvrir le volet d'aperçu`,"sidebarFilesTree.menu.rename":`Rebaptiser`,"sidebarFilesTree.menu.copyPath":`Copier le chemin`,"sidebarFilesTree.menu.save":`Sauvegarder`,"sidebarFilesTree.menu.newFile":`Nouveau fichier`,"sidebarFilesTree.menu.newFolder":`Nouveau dossier`,"sidebarFilesTree.menu.delete":`Supprimer`,"sidebarFilesTree.toast.pathCopied":`Chemin copié`,"sidebarFilesTree.toast.copyFailed":`Échec de la copie`,"sidebarFilesTree.toast.revealFailed":`Impossible de révéler le chemin`,"sidebarFilesTree.toast.filenameRequired":`Le nom du fichier est obligatoire`,"sidebarFilesTree.toast.writeNotSupported":`Écriture non prise en charge`,"sidebarFilesTree.toast.fileCreated":`Fichier créé`,"sidebarFilesTree.toast.operationFailed":`L'opération a échoué`,"sidebarFilesTree.toast.folderNameRequired":`Le nom du dossier est requis`,"sidebarFilesTree.toast.folderCreated":`Dossier créé`,"sidebarFilesTree.toast.nameRequired":`Le nom est requis`,"sidebarFilesTree.toast.renameNotSupported":`Renommer non pris en charge`,"sidebarFilesTree.toast.renamedSuccessfully":`Renommé avec succès`,"sidebarFilesTree.toast.deleteNotSupported":`Suppression non prise en charge`,"sidebarFilesTree.toast.deletedSuccessfully":`Supprimé avec succès`,"sidebarFilesTree.search.placeholder":`Rechercher des fichiers...`,"sidebarFilesTree.search.clearAria":`Effacer la recherche`,"sidebarFilesTree.actions.newFileTitle":`Nouveau fichier`,"sidebarFilesTree.actions.newFolderTitle":`Nouveau dossier`,"sidebarFilesTree.actions.refreshTitle":`Rafraîchir`,"sidebarFilesTree.actions.collapseAllTitle":`Tout réduire`,"sidebarFilesTree.actions.expandAllTitle":`Tout développer`,"sidebarFilesTree.actions.fileMenuTitle":`Menu Fichier`,"sidebarFilesTree.state.searching":`Recherche...`,"sidebarFilesTree.state.loading":`Chargement...`,"sidebarFilesTree.dialog.createFile.title":`Créer un fichier`,"sidebarFilesTree.dialog.createFolder.title":`Créer un dossier`,"sidebarFilesTree.dialog.rename.title":`Rebaptiser`,"sidebarFilesTree.dialog.delete.title":`Supprimer`,"sidebarFilesTree.dialog.createFile.description":`Créer un nouveau fichier dans {path}`,"sidebarFilesTree.dialog.createFolder.description":`Créez un nouveau dossier dans {path}`,"sidebarFilesTree.dialog.rename.description":`Renommer {name}`,"sidebarFilesTree.dialog.delete.description":`Etes-vous sûr de vouloir supprimer {name} ? Cette action ne peut pas être annulée.`,"sidebarFilesTree.dialog.rootFallback":`racine`,"sidebarFilesTree.dialog.rename.placeholder":`Nouveau nom`,"sidebarFilesTree.dialog.namePlaceholder":`Nom`,"sidebarFilesTree.dialog.cancel":`Annuler`,"sidebarFilesTree.dialog.confirm":`Confirmer`,"sidebarFilesTree.dialog.delete.confirm":`Supprimer`,"filesView.dialog.createFile.title":`Créer un fichier`,"filesView.dialog.createFolder.title":`Créer un dossier`,"filesView.dialog.rename.title":`Rebaptiser`,"filesView.dialog.delete.title":`Supprimer`,"filesView.dialog.createFile.description":`Créer un nouveau fichier dans {path}`,"filesView.dialog.createFolder.description":`Créez un nouveau dossier dans {path}`,"filesView.dialog.rename.description":`Renommer {name}`,"filesView.dialog.delete.description":`Etes-vous sûr de vouloir supprimer {name} ? Cette action ne peut pas être annulée.`,"filesView.dialog.rootFallback":`racine`,"filesView.dialog.rename.placeholder":`Nouveau nom`,"filesView.dialog.namePlaceholder":`Nom`,"filesView.dialog.cancel":`Annuler`,"filesView.dialog.confirm":`Confirmer`,"filesView.dialog.delete.confirm":`Supprimer`,"filesView.editor.saving":`Enregistrement...`,"filesView.editor.saved":`Enregistré`,"filesView.editor.autoSaveOn":`Sauvegarde automatique activée`,"filesView.editor.manualSave":`Sauvegarde manuelle`,"filesView.editor.saveNowTitle":`Enregistrer maintenant ({shortcut}) - sauvegarde automatique après 1.5s`,"filesView.editor.saveNowManualTitle":`Enregistrer maintenant ({shortcut})`,"filesView.editor.saveAria":`Enregistrer ({shortcut})`,"filesView.editor.openInDesktopApp":`Ouvrir dans l'application de bureau`,"filesView.editor.refreshApps":`Actualiser les applications`,"filesView.editor.disableLineWrap":`Désactiver le retour à la ligne`,"filesView.editor.enableLineWrap":`Activer le retour à la ligne`,"filesView.editor.findInFile":`Rechercher dans le fichier`,"filesView.editor.goToLine":`Aller à la ligne`,"filesView.editor.switchToEditMode":`Passer en mode édition`,"filesView.editor.switchToPreviewMode":`Passer en mode aperçu`,"filesView.editor.switchToTextView":`Passer à l'affichage texte`,"filesView.editor.switchToTreeView":`Passer à l'arborescence`,"filesView.toast.copyFailed":`Échec de la copie`,"filesView.toast.openInAppFailed":`Échec de l'ouverture dans {app}`,"filesView.toast.savingNotSupported":`Enregistrement non pris en charge`,"filesView.toast.writeFileFailed":`Échec de l'écriture du fichier`,"filesView.toast.saveFailed":`Échec de l'enregistrement`,"filesView.editor.copyFileContents":`Copier le contenu du fichier`,"filesView.editor.copyFilePathTitle":`Copier le chemin du fichier ({path})`,"filesView.editor.saveFile":`Enregistrer le fichier`,"filesView.editor.exitFullscreen":`Quitter le plein écran`,"filesView.editor.fullscreen":`Plein écran`,"filesView.unsaved.title":`Modifications non enregistrées`,"filesView.unsaved.description":`Enregistrer vos modifications avant de continuer ?`,"filesView.unsaved.saveChanges":`Enregistrer les modifications`,"filesView.unsaved.discard":`Jeter`,"filesView.editor.back":`Retour`,"filesView.editor.openFilesAria":`Ouvrir des fichiers`,"filesView.editor.closeFileAria":`Fermer {name}`,"filesView.editor.selectFile":`Sélectionnez un fichier`,"filesView.editor.showControlsAria":`Afficher les contrôles de l'éditeur`,"filesView.editor.controlsTitle":`Contrôles de l'éditeur`,"filesView.editor.pickFileFromTree":`Choisissez un fichier dans l'arborescence.`,"filesView.state.loading":`Chargement...`,"filesView.state.openingFileAtChange":`Ouverture du fichier lors du changement...`,"filesView.tree.search.placeholder":`Rechercher des fichiers...`,"filesView.tree.search.clearAria":`Effacer la recherche`,"filesView.tree.search.searching":`Recherche...`,"filesView.tree.actions.newFileTitle":`Nouveau fichier`,"filesView.tree.actions.newFolderTitle":`Nouveau dossier`,"filesView.tree.actions.refreshTitle":`Rafraîchir`,"filesView.editor.imageAltFallback":`Image`,"filesView.error.jsonViewerUnavailable":`Visionneuse JSON indisponible`,"filesView.error.switchToTextMode":`Passez en mode texte pour afficher le contenu brut.`,"filesView.warning.largeFilePreviewLimited":`Ce fichier est volumineux ({sizeKb}KB). L'aperçu peut être limité.`,"filesView.error.previewUnavailable":`Aperçu indisponible`,"filesView.error.switchToEditMode":`Passez en mode édition pour résoudre le problème.`,"filesView.error.readFileFailed":`Échec de la lecture du fichier`,"filesView.editor.htmlPreviewTitle":`Aperçu HTML`,"contextUsage.aria.label":`Utilisation du contexte`,"contextUsage.mobile.title":`Utilisation du contexte`,"contextUsage.mobile.usedTokens":`Jetons utilisés`,"contextUsage.mobile.contextLimit":`Limite de contexte`,"contextUsage.mobile.outputLimit":`Limite de sortie`,"contextUsage.mobile.usage":`Usage`,"contextUsage.tooltip.usage":`Utilisation : {percent}`,"contextUsage.tooltip.usedOfLimit":`{used} / {limit}`,"contextUsage.tooltip.usedTokens":`Jetons utilisés : {tokens}`,"contextUsage.tooltip.contextLimit":`Limite de contexte : {tokens}`,"contextUsage.tooltip.outputLimit":`Limite de sortie : {tokens}`,"contextSidebar.session.untitled":`Session sans titre`,"contextSidebar.empty.openSession":`Ouvrez une session pour inspecter le contexte.`,"contextSidebar.section.context":`Contexte`,"contextSidebar.section.lastAssistantMessage":`Dernier message de l'assistant`,"contextSidebar.section.rawMessages":`Messages bruts`,"contextSidebar.context.percentUsed":`{percent}% utilisé`,"contextSidebar.breakdown.user":`Utilisateur`,"contextSidebar.breakdown.assistant":`Assistant`,"contextSidebar.breakdown.toolCalls":`Appels d'outils`,"contextSidebar.breakdown.other":`Autre`,"contextSidebar.stats.messages":`Messages`,"contextSidebar.stats.user":`Utilisateur`,"contextSidebar.stats.assistant":`Assistant`,"contextSidebar.stats.cost":`Coût`,"contextSidebar.stats.sessionTps":`TPS de session`,"contextSidebar.tokens.input":`Entrée`,"contextSidebar.tokens.output":`Sortie`,"contextSidebar.tokens.reasoning":`Raisonnement`,"contextSidebar.tokens.cacheRead":`Lecture du cache`,"contextSidebar.tokens.cacheWrite":`Écriture du cache`,"contextSidebar.tokens.cacheHit":`Succès du cache`,"contextSidebar.tokens.tps":`TPS`,"contextSidebar.actions.copyJson":`Copier JSON`,"contextSidebar.actions.copy":`Copie`,"contextSidebar.actions.copied":`Copié`,"planView.file.defaultName":`plan`,"planView.title.default":`Plan`,"planView.error.saveFailed":`Échec de l'enregistrement`,"planView.error.previewUnavailable":`Aperçu indisponible`,"planView.error.switchToEditMode":`Passez en mode édition pour résoudre le problème.`,"planView.error.writeFailed":`Échec de l'écriture`,"planView.error.writePlanFileFailed":`Échec de l'écriture du fichier de plan ({status})`,"planView.actions.improvePlanAria":`Améliorer le plan`,"planView.actions.improve":`Améliorer`,"planView.actions.implementPlanAria":`Plan de mise en œuvre`,"planView.actions.implement":`Mettre en œuvre`,"planView.actions.sendToNewSession":`Envoyer à une nouvelle session`,"planView.actions.sendToNewWorktreeSession":`Envoyer à une nouvelle session Worktree`,"planView.actions.copyPlanContents":`Copier le contenu du plan`,"planView.state.loading":`Chargement...`,"diffView.binary.unavailable":`Le contenu de ce fichier ne peut pas être visualisé.`,"diffView.change.untracked":`Fichier non suivi`,"diffView.change.new":`Nouveau fichier`,"diffView.change.deleted":`Fichier supprimé`,"diffView.change.renamed":`Fichier renommé`,"diffView.change.copied":`Fichier copié`,"diffView.change.modified":`Fichier modifié`,"diffView.selector.selectFile":`Sélectionner un fichier`,"diffView.image.original":`Original`,"diffView.image.modified":`Modifié`,"diffView.image.new":`Nouveau`,"diffView.image.originalAlt":`Original: {path}`,"diffView.image.modifiedAlt":`Modifié : {path}`,"diffView.section.files":`Fichiers`,"diffView.state.selectSessionDirectory":`Sélectionnez un répertoire de session pour afficher les différences`,"diffView.state.loadingRepositoryStatus":`Chargement de l'état du dépôt...`,"diffView.state.notGitRepository":`Pas un dépôt git. Utilisez l'onglet Git pour initialiser ou modifier des répertoires.`,"diffView.state.cleanWorkingTree":`Worktree sans modifications, rien à afficher`,"diffView.state.noLastTurnChanges":`Aucun changement du dernier tour à afficher`,"diffView.state.failedToLoadDiff":`Échec du chargement du différentiel`,"diffView.state.loadingDiff":`Chargement du différentiel...`,"diffView.state.loadingChanges":`Chargement des modifications...`,"diffView.state.largeDiff":`Diff volumineux ({count} lignes modifiées)`,"diffView.state.largeDiffDescription":`Le rendu peut être lent. Vous pouvez tout de même afficher le diff avec le bouton ci-dessous.`,"diffView.summary.changedFilesSingle":`Le fichier {count} a été modifié`,"diffView.summary.changedFilesPlural":`Fichiers {count} modifiés`,"diffView.scope.changed":`Modifiés`,"diffView.scope.staged":`Staged`,"diffView.scope.lastTurn":`Dernier tour`,"diffView.scope.selectorAria":`Sélectionner le mode de changements`,"diffView.actions.retry":`Réessayer`,"diffView.actions.renderAnyway":`Afficher quand même`,"diffView.actions.expandAll":`Tout développer`,"diffView.actions.collapseAll":`Tout réduire`,"diffView.actions.loadFullFiles":`Charger les fichiers complets`,"diffView.actions.disableFullFiles":`Ne plus charger les fichiers complets`,"diffView.actions.disableLineWrap":`Désactiver le retour à la ligne`,"diffView.actions.enableLineWrap":`Activer le retour à la ligne`,"diffView.actions.openFileInEditorAtChange":`Ouvrez ce fichier dans l'éditeur lors du changement`,"diffView.actions.openFileAtFirstChangedLine":`Ouvrez ce fichier à la première ligne modifiée`,"diffView.actions.openFilePreview":`Ouvrir ce fichier`,"diffView.actions.review":`Revoir`,"diffView.actions.reviewAria":`Revoir les changements`,"diffView.reviewDialog.title":`Revoir les changements`,"diffView.reviewDialog.description":`Démarre une session de revue séparée pour les changements actuels.`,"diffView.reviewDialog.generateHandoff":`Générer un handoff`,"diffView.reviewDialog.autoReview":`Lancer la boucle de revue automatique`,"diffView.reviewDialog.info":`Ce flux fonctionne mieux lorsqu’il est lancé depuis la session où les changements ont été implémentés.`,"diffView.reviewDialog.actions.cancel":`Annuler`,"diffView.reviewDialog.actions.start":`Revoir`,"diffView.reviewDialog.actions.starting":`Démarrage...`,"diffView.reviewDialog.toast.noSessionDirectory":`Le dossier de session est indisponible`,"diffView.reviewDialog.toast.startFailed":`Impossible de démarrer le flux de revue`,"chat.history.loadOlder":`Charger les messages précédents`,"chat.history.loadingMore":`Chargement…`,"chat.history.loadOlderFailed":`Impossible de charger les messages précédents. Réessayez.`,"chat.history.loadOlderTimeout":`Le chargement des messages précédents a expiré. Réessayez.`,"chat.history.loadFailedTitle":`Impossible de charger cette conversation`,"chat.history.loadFailedDescription":`La conversation est toujours disponible. Essayez de la charger à nouveau.`,"chat.history.retry":`Réessayer`,"chat.autoReview.title":`La boucle de revue de code est en cours`,"chat.autoReview.status.waitingForReviewer":`En attente du reviewer`,"chat.autoReview.status.waitingForImplementer":`En attente de l’implémenteur`,"chat.autoReview.reviewSessionLabel":`Session de revue`,"chat.autoReview.actions.open":`Ouvrir`,"chat.autoReview.actions.stop":`Arrêter`,"diffView.hunk.label":`Sections`,"diffView.hunk.stage":`Préparer`,"diffView.hunk.unstage":`Retirer`,"diffView.hunk.discard":`Annuler`,"diffView.hunk.stageTitle":`Préparer la section {index}`,"diffView.hunk.unstageTitle":`Retirer la section {index} de la préparation`,"diffView.hunk.discardTitle":`Annuler la section {index}`,"diffView.hunk.unavailable":`Cette section n'est plus disponible. Actualisez le diff et réessayez.`,"diffView.hunk.unsupported":`La préparation de sections individuelles n'est pas prise en charge dans cet environnement.`,"rightSidebar.contextNotesTodo.plan.defaultTitle":`Plan`,"rightSidebar.contextNotesTodo.empty.selectProject":`Sélectionnez un projet pour ajouter des notes et des tâches.`,"rightSidebar.contextNotesTodo.notes.title":`Notes rapides - {project}`,"rightSidebar.contextNotesTodo.notes.placeholder":`Capturez le contexte, les rappels ou les liens`,"rightSidebar.contextNotesTodo.todo.title":`Faire`,"rightSidebar.contextNotesTodo.todo.itemsSingle":`Article {count}`,"rightSidebar.contextNotesTodo.todo.itemsPlural":`Articles {count}`,"rightSidebar.contextNotesTodo.todo.clearCompleted":`Effacer terminé`,"rightSidebar.contextNotesTodo.todo.inputPlaceholder":`Ajouter une tâche`,"rightSidebar.contextNotesTodo.todo.addAria":`Ajouter une tâche`,"rightSidebar.contextNotesTodo.todo.empty":`Aucune tâche pour l'instant. Ajoutez une petite liste de contrôle pour ce projet.`,"rightSidebar.contextNotesTodo.todo.actions.markComplete":`Marque "{text}" terminée`,"rightSidebar.contextNotesTodo.todo.actions.collapse":`Réduire la tâche "{text}"`,"rightSidebar.contextNotesTodo.todo.actions.expand":`Développer la tâche "{text}"`,"rightSidebar.contextNotesTodo.todo.actions.delete":`Supprimer "{text}"`,"rightSidebar.contextNotesTodo.todo.actions.send":`Envoyer "{text}"`,"rightSidebar.contextNotesTodo.todo.actions.reorder":`Récommander "{text}"`,"rightSidebar.contextNotesTodo.todo.resizeAria":`Redimensionner la liste de tâches`,"rightSidebar.contextNotesTodo.todo.sendMenu.currentSession":`Envoyer à la session en cours`,"rightSidebar.contextNotesTodo.todo.sendMenu.newSession":`Envoyer à une nouvelle session`,"rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession":`Envoyer à une nouvelle session Worktree`,"rightSidebar.contextNotesTodo.plans.title":`Forfaits`,"rightSidebar.contextNotesTodo.plans.filesSingle":`Fichier {count}`,"rightSidebar.contextNotesTodo.plans.filesPlural":`Fichiers {count}`,"rightSidebar.contextNotesTodo.plans.importFromFile":`Importer un plan à partir d'un fichier`,"rightSidebar.contextNotesTodo.plans.empty":`Aucun plan enregistré pour l'instant.`,"rightSidebar.contextNotesTodo.plans.deletePlan":`Supprimer le forfait`,"rightSidebar.contextNotesTodo.plans.deletePlanWithTitle":`Supprimer le plan "{title}"`,"rightSidebar.contextNotesTodo.sendDialog.title.newSession":`Envoyer à une nouvelle session`,"rightSidebar.contextNotesTodo.sendDialog.title.newWorktree":`Envoyer vers un nouvel worktree`,"rightSidebar.contextNotesTodo.sendDialog.variant.default":`Défaut`,"rightSidebar.contextNotesTodo.sendDialog.actions.cancel":`Annuler`,"rightSidebar.contextNotesTodo.sendDialog.actions.send":`Envoyer`,"rightSidebar.contextNotesTodo.sendDialog.actions.sending":`Envoi`,"rightSidebar.contextNotesTodo.toast.saveNotesFailed":`Échec de l'enregistrement des notes du projet`,"rightSidebar.contextNotesTodo.toast.loadNotesFailed":`Échec du chargement des notes de projet`,"rightSidebar.contextNotesTodo.toast.noActiveSession":`Aucune session active sélectionnée`,"rightSidebar.contextNotesTodo.toast.sentToCurrentSession":`Todo envoyé à la session en cours`,"rightSidebar.contextNotesTodo.toast.worktreeRequiresGitRepo":`Les actions Worktree ne sont disponibles que pour les dépôts Git`,"rightSidebar.contextNotesTodo.toast.createSessionFailed":`Échec de la création de la session`,"rightSidebar.contextNotesTodo.toast.sentToNewSession":`Todo envoyé à une nouvelle session`,"rightSidebar.contextNotesTodo.toast.sentToNewWorktreeSession":`Todo envoyé à une nouvelle session Worktree`,"rightSidebar.contextNotesTodo.toast.sendTodoFailed":`Échec de l'envoi de la tâche`,"rightSidebar.contextNotesTodo.toast.deletePlanFailed":`Échec de la suppression du plan`,"rightSidebar.contextNotesTodo.toast.planFileEmpty":`Le fichier de plan est vide`,"rightSidebar.contextNotesTodo.toast.importPlanFailed":`Échec de l'importation du plan`,"rightSidebar.contextNotesTodo.toast.planImported":`Forfait importé`,"rightSidebar.contextNotesTodo.toast.readPlanFileFailed":`Échec de la lecture du fichier de plan`,"inlineComment.range.lines":`Lignes {start}-{end}`,"inlineComment.input.placeholder":`Ajouter un commentaire... (Cmd+Entrée pour enregistrer)`,"inlineComment.actions.cancel":`Annuler`,"inlineComment.actions.save":`Sauvegarder`,"inlineComment.actions.comment":`Commentaire`,"inlineComment.actions.showLess":`Afficher moins`,"inlineComment.actions.showMore":`Afficher plus`,"inlineComment.actions.editComment":`Modifier le commentaire`,"inlineComment.actions.deleteComment":`Supprimer le commentaire`,"inlineComment.toast.selectSessionToSave":`Sélectionnez une session pour enregistrer le commentaire`,"header.github.connectedWithLogin":`GitHub : {login}`,"header.github.connected":`GitHub connecté`,"header.github.avatarWithLogin":`Avatar {login}`,"header.github.avatar":`Avatar GitHub`,"header.github.accountsTitle":`Comptes GitHub`,"header.github.accountSource.oauth":`OAuth`,"header.github.accountSource.cli":`CLI`,"header.services.openWithCurrent":`Changer d'instance (actuelle : {current})`,"header.services.open":`Changer d'instance`,"header.services.tooltip.currentInstanceWithShortcuts":`Changer d'instance : {current} ({toggle}\xA0; onglet suivant {nextTab})`,"header.services.tooltip.servicesWithShortcuts":`Changer d'instance ({toggle}\xA0; onglet suivant {nextTab})`,"header.services.title":`Changer d'instance`,"header.services.viewAria":`Changer d'instance`,"header.services.closeAria":`Fermer le sélecteur d'instance`,"header.services.rateLimits":`Limites de taux`,"header.services.refreshRateLimitsAria":`Limites du taux de rafraîchissement`,"header.services.noRateLimits":`Aucune limite de taux disponible.`,"header.services.noRateLimitsReported":`Aucune limite de taux signalée.`,"header.services.used":`Utilisé`,"header.services.remaining":`Restant`,"header.services.modelFamily.other":`Autre`,"header.services.shutdownDev":`Arrêter OpenChamber`,"header.actions.openPlanAria":`Plan ouvert`,"header.actions.toggleChangesPanel":`Panneau des changements`,"header.actions.toggleChangesPanelAria":`Basculer le panneau des changements`,"header.actions.sessionMenu":`Actions de session`,"header.actions.sessionMenuAria":`Ouvrir le menu des actions de session`,"header.actions.sessionMenu.servicesWithInstance":`Changer d'instance ({current})`,"header.actions.sessionMenu.viewUsage":`Voir l'utilisation`,"header.actions.planWithShortcut":`Forfait ({shortcut})`,"header.actions.terminalPanelWithShortcut":`Panneau à bornes ({shortcut})`,"chat.recap.aria":`Récapitulatif de la session`,"chat.recap.label":`Récap :`,"chat.goal.dialog.titleCreate":`Définir un objectif de session`,"chat.goal.dialog.titleManage":`Objectif de session`,"chat.goal.dialog.objectiveLabel":`Objectif`,"chat.goal.dialog.objectivePlaceholder":`Décrivez l'état final que l'agent doit atteindre et vérifier…`,"chat.goal.dialog.budgetLabel":`Budget de tokens`,"chat.goal.status.active":`Actif`,"chat.goal.status.evaluating":`Évaluation…`,"chat.goal.status.paused":`En pause`,"chat.goal.status.blocked":`Bloqué`,"chat.goal.status.budgetLimited":`Budget atteint`,"chat.goal.status.complete":`Terminé`,"chat.goal.usage.tokens":`{used}`,"chat.goal.usage.tokensWithBudget":`{used}/{budget}`,"chat.goal.usage.turns":`{turns} continuations`,"chat.goal.action.pause":`Mettre en pause`,"chat.goal.action.resume":`Reprendre`,"chat.goal.action.markComplete":`Marquer comme terminé`,"chat.goal.action.clear":`Supprimer l'objectif`,"chat.goal.chip.label":`Objectif`,"chat.goal.action.cancel":`Annuler`,"chat.goal.action.save":`Enregistrer l'objectif`,"chat.goal.action.start":`Lancer l'objectif`,"chat.goal.toast.actionFailed":`Échec de la mise à jour de l'objectif`,"chat.goal.toast.distillFallback":`L'objectif dépassait la limite et n'a pas pu être condensé — l'auditeur utilise une version tronquée`,"chat.goal.row.aria":`Objectif de session — ouvrir les détails`,"chat.goal.button.createAria":`Définir un objectif de session`,"chat.goal.button.manageAria":`Gérer l'objectif de session`,"chat.goal.button.armAria":`Démarrer un objectif avec le prochain message`,"chat.goal.counter.aria":`Limite de longueur de l'objectif`,"chat.goal.button.disarmAria":`Objectif armé — touchez pour désarmer`,"chat.goal.button.cancelAria":`Objectif en cours — touchez pour l’annuler`,"chat.goal.cancelDialog.title":`Annuler cet objectif ?`,"chat.goal.cancelDialog.description":`L'agent cessera de travailler automatiquement vers cet objectif.`,"chat.goal.cancelDialog.keep":`Garder l'objectif`,"chat.goal.cancelDialog.confirm":`Annuler l'objectif`,"header.actions.toggleTerminalPanel":`Panneau terminal`,"header.actions.toggleTerminalPanelAria":`Basculer le panneau à bornes`,"terminalView.stream.processExitedMessage":`[Processus terminé{exitCodeSegment}{signalSegment}]`,"terminalView.stream.processExitedWithCode":`avec le code {exitCode}`,"terminalView.stream.processExitedWithSignal":`(signal {signal})`,"terminalView.error.sessionEnded":`Session terminale terminée`,"terminalView.error.connectionFailed":`Échec de la connexion : {message}`,"terminalView.error.startSessionFailed":`Échec du démarrage de la session de terminal`,"terminalView.error.restartFailed":`Échec du redémarrage du terminal`,"terminalView.error.sendInputFailed":`Échec de l'envoi de l'entrée`,"terminalView.empty.noWorkingDirectory":`Aucun répertoire de travail disponible pour le terminal.`,"terminalView.empty.selectSession":`Sélectionnez une session pour ouvrir le terminal.`,"terminalView.empty.noWorkingDirectoryForSession":`Aucun répertoire de travail disponible pour cette session.`,"terminalView.actions.retry":`Réessayer`,"terminalView.actions.hardRestart":`Redémarrage dur`,"terminalView.actions.hardRestartTitle":`Forcer la mise à mort et créer une nouvelle session`,"terminalView.quickKeys.escape":`Échap`,"terminalView.quickKeys.tabAria":`Languette`,"terminalView.quickKeys.controlLabel":`Ctrl`,"terminalView.quickKeys.controlModifierAria":`Modificateur de contrôle`,"terminalView.quickKeys.commandModifierAria":`Modificateur de commande`,"terminalView.quickKeys.arrowUpAria":`Flèche vers le haut`,"terminalView.quickKeys.arrowLeftAria":`Flèche vers la gauche`,"terminalView.quickKeys.arrowDownAria":`Flèche vers le bas`,"terminalView.quickKeys.arrowRightAria":`Flèche vers la droite`,"terminalView.quickKeys.enterAria":`Entrer`,"terminalView.tabs.closeTabTitle":`Fermer l'onglet`,"terminalView.tabs.newTabTitle":`Nouvel onglet`,"terminalView.bottomDock.resizeAria":`Redimensionner le panneau à bornes`,"terminalView.bottomDock.restoreTitle":`Restaurer la hauteur du bornier`,"terminalView.bottomDock.restoreAria":`Restaurer la hauteur du bornier`,"terminalView.bottomDock.expandTitle":`Développer le panneau de connexion`,"terminalView.bottomDock.expandAria":`Développer le panneau de connexion`,"terminalView.bottomDock.closeTitle":`Fermer le panneau à bornes`,"terminalView.bottomDock.closeAria":`Fermer le panneau à bornes`,"terminalView.viewport.inputAria":`Entrée de borne`,"directoryExplorerDialog.title":`Ajouter un répertoire de projet`,"directoryExplorerDialog.description":`Choisissez un dossier à ajouter en tant que projet.`,"directoryExplorerDialog.toggle.showHidden":`Afficher masqué`,"directoryExplorerDialog.pathInput.placeholder":`Entrez le chemin ou sélectionnez dans l'arborescence...`,"directoryExplorerDialog.actions.openingFinder":`Ouverture...`,"directoryExplorerDialog.actions.openInFinder":`Ouvrir dans le Finder`,"directoryExplorerDialog.actions.adding":`Ajout...`,"directoryExplorerDialog.actions.addProject":`Ajouter un projet`,"directoryExplorerDialog.actions.addLocalProject":`Ajouter un projet local`,"directoryExplorerDialog.actions.cloneRepository":`Cloner le dépôt`,"directoryExplorerDialog.actions.cloneAndAdd":`Cloner et ajouter`,"directoryExplorerDialog.actions.cloning":`Clonage...`,"directoryExplorerDialog.actions.createAndAdd":`Créer et ajouter`,"directoryExplorerDialog.actions.alreadyAdded":`Déjà ajouté`,"directoryExplorerDialog.clone.remoteUrlPlaceholder":`URL du dépôt (HTTPS ou SSH)`,"directoryExplorerDialog.browse.directories":`Annuaires`,"directoryExplorerDialog.browse.loading":`Chargement des répertoires...`,"directoryExplorerDialog.browse.empty":`Aucun répertoire correspondant.`,"directoryExplorerDialog.browse.parentDirectory":`Annuaire parent`,"directoryExplorerDialog.browse.addedBadge":`Ajouté`,"directoryExplorerDialog.browse.quickAdd":`Ajouter`,"directoryExplorerDialog.footer.navigate":`Naviguer`,"directoryExplorerDialog.footer.select":`Sélectionner`,"directoryExplorerDialog.footer.add":`Ajouter`,"directoryExplorerDialog.shortcut.enter":`Entrer`,"directoryExplorerDialog.toast.unableToAccessDirectory":`Impossible d'accéder au répertoire`,"directoryExplorerDialog.toast.desktopDeniedAccess":`Le bureau a refusé l'accès au répertoire.`,"directoryExplorerDialog.toast.failedToOpenDirectory":`Échec de l'ouverture du répertoire`,"directoryExplorerDialog.toast.desktopCouldNotGrantAccess":`Desktop n'a pas pu accorder l'accès aux fichiers.`,"directoryExplorerDialog.toast.failedToAddProject":`Échec de l'ajout du projet`,"directoryExplorerDialog.toast.cloneUrlRequired":`Entrez dans un dépôt URL avant le clonage.`,"directoryExplorerDialog.toast.selectValidDirectoryPath":`Veuillez sélectionner un chemin de répertoire valide.`,"directoryExplorerDialog.toast.failedToSelectDirectory":`Échec de la sélection du répertoire`,"directoryExplorerDialog.toast.unknownError":`Une erreur inconnue s'est produite.`,"directoryTree.actions.createNewDirectory":`Créer un nouveau répertoire`,"directoryTree.actions.pinDirectory":`Répertoire des épingles`,"directoryTree.actions.unpinDirectory":`Détacher le répertoire`,"directoryTree.actions.createDirectory":`Créer un répertoire`,"directoryTree.actions.cancel":`Annuler`,"directoryTree.actions.selectWorkingDirectoryAria":`Sélectionnez le répertoire de travail`,"directoryTree.state.locatingHomeDirectory":`Localisation du répertoire personnel...`,"directoryTree.state.loading":`Chargement...`,"directoryTree.state.noDirectoriesFound":`Aucun répertoire trouvé`,"directoryTree.section.pinned":`Épinglé`,"directoryTree.section.browse":`Parcourir`,"aboutDialog.versionLabel":`Version {version}`,"aboutDialog.openChamberVersionLabel":`Version OpenChamber {version}`,"aboutDialog.openCodeVersionLabel":`Version OpenCode {version}`,"aboutDialog.actions.copyDiagnostics":`Copier les diagnostics`,"aboutDialog.actions.preparingDiagnostics":`Préparation du diagnostic...`,"aboutDialog.actions.diagnosticsCopied":`Diagnostic copié`,"aboutDialog.diagnosticsDescription":`Comprend l’état OpenChamber, l’état de santé OpenCode, les répertoires et les projets.`,"aboutDialog.footerNote":`Fabriqué avec amour pour la communauté`,"aboutDialog.toast.copyFailed":`Échec de la copie`,"aboutDialog.toast.diagnosticsNotReady":`Les diagnostics ne sont pas encore prêts. Attendez une seconde et réessayez.`,"aboutDialog.toast.diagnosticsCopied":`Diagnostic copié`,"helpDialog.title":`Raccourcis clavier`,"helpDialog.description":`Utilisez ces raccourcis clavier pour naviguer efficacement dans OpenChamber`,"helpDialog.section.navigationCommands":`Navigation et commandes`,"helpDialog.section.sessionManagement":`Gestion des sessions`,"helpDialog.section.panels":`Panneaux`,"helpDialog.section.interface":`Interface`,"helpDialog.item.openCommandPalette":`Ouvrir la palette de commandes`,"helpDialog.item.showKeyboardShortcuts":`Afficher les raccourcis clavier (cette boîte de dialogue)`,"helpDialog.item.toggleSessionSidebar":`Toggle la barre latérale de la session`,"helpDialog.item.cycleAgent":`Agent de cycle (entrée de chat)`,"helpDialog.item.openModelSelector":`Ouvrir le sélecteur de modèle`,"helpDialog.item.navigateModels":`Naviguer dans les modèles (dans le sélecteur)`,"helpDialog.item.adjustThinkingMode":`Ajuster le mode de réflexion (dans le sélecteur, lorsqu'il est pris en charge)`,"helpDialog.item.cycleThinkingVariant":`Variante de pensée cyclique (raccourci global)`,"helpDialog.item.newWindow":`Nouvelle fenêtre (ordinateur de bureau uniquement)`,"helpDialog.item.createNewSession":`Créer une nouvelle session`,"helpDialog.item.createNewWorktreeDraft":`Créer un nouveau brouillon d'worktree`,"helpDialog.item.previousSession":`Session précédente`,"helpDialog.item.nextSession":`Session suivante`,"helpDialog.item.focusChatInput":`Concentration sur la saisie du chat`,"helpDialog.item.togglePromptNavigator":`Afficher ou masquer le navigateur de prompts`,"helpDialog.item.abortActiveRun":`Abandonner l’exécution active (double pression)`,"helpDialog.item.toggleRightSidebar":`Basculer le panneau de révision`,"helpDialog.item.openRightSidebarGitTab":`Ouvrir l'onglet Git de la barre latérale droite`,"helpDialog.item.openRightSidebarFilesTab":`Ouvrir l'onglet Fichiers de la barre latérale droite`,"helpDialog.item.cycleRightSidebarTab":`Onglet de la barre latérale droite du cycle`,"helpDialog.item.closeContextPanelTab":`Fermer l'onglet du panneau de contexte`,"helpDialog.item.toggleTerminal":`Basculer le terminal`,"helpDialog.item.newTerminalTab":`Nouvel onglet de terminal (quand le terminal est focalisé)`,"helpDialog.item.openNewTerminal":`Ouvrir un nouveau terminal`,"helpDialog.item.previousTerminalTab":`Onglet de terminal précédent (quand le terminal est focalisé)`,"helpDialog.item.nextTerminalTab":`Onglet de terminal suivant (quand le terminal est focalisé)`,"helpDialog.item.toggleBottomPanel":`Basculer le panneau inférieur`,"helpDialog.item.toggleTerminalExpanded":`Terminal à bascule étendu`,"helpDialog.item.togglePlanContextPanel":`Toggle Panneau contextuel du plan`,"helpDialog.item.cycleTheme":`Basculer le thème (clair → sombre → système)`,"helpDialog.item.zoomIn":`Zoom avant`,"helpDialog.item.zoomOut":`Zoom arrière`,"helpDialog.item.zoomReset":`Réinitialiser le zoom`,"helpDialog.item.switchSession":`Changer de session`,"helpDialog.item.toggleServicesMenu":`Basculer le menu des services`,"helpDialog.item.openUsage":`Afficher l'utilisation`,"helpDialog.item.cycleServicesTab":`Onglet Services de vélo`,"helpDialog.item.openSettings":`Ouvrir les paramètres`,"helpDialog.section.leaderChords":`Touche leader (Ctrl+X)`,"helpDialog.item.leaderOpenModel":`Ouvrir le sélecteur de modèle`,"helpDialog.item.leaderOpenAgent":`Ouvrir le sélecteur d’agent`,"helpDialog.item.leaderNewSession":`Créer une nouvelle session`,"helpDialog.item.leaderCompact":`Compacter la session actuelle`,"chat.leaderKey.pendingAria":`Touche leader active. Appuyez sur une touche de suite.`,"chat.leaderKey.action.model":`Modèle`,"chat.leaderKey.action.agent":`Agent`,"chat.leaderKey.action.newSession":`Nouveau`,"chat.leaderKey.action.compact":`Compacter`,"helpDialog.keyCombiner.or":`ou`,"helpDialog.proTips.title":`Conseils de pro :`,"helpDialog.proTips.commandPalette":`Utilisez la palette de commandes ({shortcut}) pour accéder rapidement à toutes les actions`,"helpDialog.proTips.recentSessions":`Les 5 sessions les plus récentes apparaissent dans la palette de commandes`,"helpDialog.proTips.themeCycling":`Le cyclisme thématique mémorise vos préférences au fil des sessions`,"header.actions.rightSidebarWithShortcut":`Barre latérale droite ({shortcut})`,"header.actions.toggleRightSidebarAria":`Basculer la barre latérale droite`,"header.actions.openAppMenu":`Menu de OpenChamber`,"header.actions.openAppMenuAria":`Ouvrir le menu OpenChamber`,"header.actions.openSessionsWithShortcut":`Sessions ouvertes ({shortcut})`,"header.actions.openSessionsAria":`Sessions ouvertes`,"header.actions.closeSessionsAria":`Fermer les sessions`,"header.actions.newSessionAria":`Nouvelle session`,"header.actions.newSessionWithShortcut":`Nouvelle session ({shortcut})`,"header.actions.backAria":`Retour`,"header.navigation.mainAria":`Navigation principale`,"header.sessions.title":`Sessions`,"header.changes.availableAria":`Modifications disponibles`,"session.githubIssuePicker.error.noActiveProject":`Aucun projet actif`,"session.githubIssuePicker.error.runtimeUnavailable":`Exécution GitHub API indisponible`,"session.githubIssuePicker.error.notConnected":`GitHub non connecté`,"session.githubIssuePicker.error.repoNotResolvable":`Repo non résoluble`,"session.githubIssuePicker.error.repoMustBeGithub":`Le dépôt distant origin doit pointer vers une URL GitHub`,"session.githubIssuePicker.error.issueNotFound":`Problème introuvable`,"session.githubIssuePicker.error.noModelSelected":`Aucun modèle sélectionné`,"session.githubIssuePicker.toast.loadMoreFailed":`Échec du chargement d'autres problèmes`,"session.githubIssuePicker.toast.loadIssueDetailsFailed":`Échec du chargement des détails du problème`,"session.githubIssuePicker.toast.sendContextFailed":`Échec de l'envoi du contexte du problème`,"session.githubIssuePicker.toast.sessionCreated":`Session créée à partir du problème`,"session.githubIssuePicker.toast.startSessionFailed":`Échec du démarrage de la session`,"session.githubIssuePicker.title.select":`Lien vers le problème GitHub`,"session.githubIssuePicker.title.createSession":`Nouvelle session du numéro GitHub`,"session.githubIssuePicker.description.select":`Sélectionnez un problème à lier à cette session.`,"session.githubIssuePicker.description.createSession":`Lance une nouvelle session avec un contexte de problème masqué (titre/corps/étiquettes/commentaires).`,"session.githubIssuePicker.searchPlaceholder":`Recherchez par titre ou #123, ou collez le numéro URL`,"session.githubIssuePicker.empty.noActiveProject":`Aucun projet actif sélectionné.`,"session.githubIssuePicker.empty.runtimeUnavailable":`L'environnement d'exécution GitHub API n'est pas disponible.`,"session.githubIssuePicker.empty.notConnected":`GitHub non connecté. Connectez votre compte GitHub dans les paramètres.`,"session.githubIssuePicker.empty.noIssuesFound":`Aucun problème trouvé`,"session.githubIssuePicker.empty.noOpenIssuesFound":`Aucun problème ouvert trouvé`,"session.githubIssuePicker.loading.issues":`Problèmes de chargement...`,"session.githubIssuePicker.loading.more":`Chargement...`,"session.githubIssuePicker.actions.openSettings":`Ouvrir les paramètres`,"session.githubIssuePicker.actions.useIssue":`Utilisez le numéro\xA0{number}`,"session.githubIssuePicker.actions.openInGitHubAria":`Ouvrir dans GitHub`,"session.githubIssuePicker.actions.loadMore":`Charger plus`,"session.githubIssuePicker.actions.sectionTitle":`Actions`,"session.githubIssuePicker.actions.toggleWorktreeAria":`Basculer le worktree`,"session.githubIssuePicker.actions.createInWorktree":`Créer dans le worktree`,"session.githubIssuePicker.actions.openRepo":`Ouvrir le dépôt`,"session.githubIssuePicker.actions.refresh":`Rafraîchir`,"session.githubPrPicker.error.noActiveProject":`Aucun projet actif`,"session.githubPrPicker.error.runtimeUnavailable":`Exécution GitHub API indisponible`,"session.githubPrPicker.error.notConnected":`GitHub non connecté`,"session.githubPrPicker.error.prNotFound":`Demande d'extraction introuvable`,"session.githubPrPicker.error.repoNotResolvable":`Repo non résoluble`,"session.githubPrPicker.error.repoMustBeGithub":`Le dépôt distant origin doit pointer vers une URL GitHub`,"session.githubPrPicker.toast.loadMoreFailed":`Échec du chargement d'autres demandes d'extraction`,"session.githubPrPicker.toast.loadDetailsFailed":`Échec du chargement des détails de la demande d'extraction`,"session.githubPrPicker.title":`Lier la PR GitHub`,"session.githubPrPicker.description":`Sélectionnez une PR pour joindre un contexte de revue à ce message.`,"session.githubPrPicker.searchPlaceholder":`Recherchez par titre ou #123, ou collez la demande d'extraction URL`,"session.githubPrPicker.includeDiffAria":`Inclure la différence PR dans le contexte ci-joint`,"session.githubPrPicker.includeDiff":`Inclure la différence PR`,"session.githubPrPicker.empty.noActiveProject":`Aucun projet actif sélectionné.`,"session.githubPrPicker.empty.runtimeUnavailable":`L'environnement d'exécution GitHub API n'est pas disponible.`,"session.githubPrPicker.empty.notConnected":`GitHub non connecté. Connectez votre compte GitHub dans les paramètres.`,"session.githubPrPicker.empty.noPullRequestsFound":`Aucune demande d'extraction trouvée`,"session.githubPrPicker.empty.noOpenPullRequestsFound":`Aucune demande d'extraction ouverte trouvée`,"session.githubPrPicker.loading.pullRequests":`Chargement des demandes d'extraction...`,"session.githubPrPicker.loading.more":`Chargement...`,"session.githubPrPicker.actions.openSettings":`Ouvrir les paramètres`,"session.githubPrPicker.actions.usePullRequest":`Utiliser la demande d'extraction #{number}`,"session.githubPrPicker.actions.openInGitHubAria":`Ouvrir dans GitHub`,"session.githubPrPicker.actions.loadMore":`Charger plus`,"session.newWorktree.title":`Nouveau worktree`,"session.newWorktree.mode.newBranch":`Nouvelle branche`,"session.newWorktree.mode.existingBranch":`Branche existante`,"session.newWorktree.selectBranch":`Sélectionnez une branche`,"session.newWorktree.chooseBranch":`Choisissez une branche...`,"session.newWorktree.fetchBranches":`Récupérer des branches`,"session.newWorktree.searchBranches":`Rechercher des branches...`,"session.newWorktree.loadingBranches":`Chargement des branches...`,"session.newWorktree.noBranchesFound":`Aucune branche trouvée`,"session.newWorktree.matchingBranches":`Branches correspondantes`,"session.newWorktree.noMatchingBranches":`Aucune branche correspondante`,"session.newWorktree.localBranches":`Branches locales`,"session.newWorktree.remoteBranches":`Branches du dépôt distant`,"session.newWorktree.otherLocalBranches":`Autres branches locales`,"session.newWorktree.otherRemoteBranches":`Autres branches du remote`,"session.newWorktree.branchName":`Nom de la branche`,"session.newWorktree.branchNamePlaceholder":`fonctionnalité/ma-fonctionnalité-géniale`,"session.newWorktree.actions.change":`Changement`,"session.newWorktree.actions.startFromGitHubIssuePr":`À partir de GitHub Issue/PR`,"session.newWorktree.usingPrBranch":`Utilisation de la branche PR : {branch}`,"session.newWorktree.fromIssue":`Extrait du numéro {number} : {title}`,"session.newWorktree.worktreeDirectory":`Répertoire du worktree`,"session.newWorktree.worktreeDirectoryPlaceholder":`mon-répertoire-worktree`,"session.newWorktree.resetToMatchBranchName":`Réinitialiser pour correspondre au nom de la branche`,"session.newWorktree.sourceBranch":`Branche source`,"session.newWorktree.selectSourceBranch":`Sélectionnez la branche source`,"session.newWorktree.selectSourceBranchPlaceholder":`Sélectionnez la branche source...`,"session.newWorktree.newBranchFromSource":`Une nouvelle branche sera créée à partir de {source}`,"session.newWorktree.issueNumber":`Numéro\xA0{number}`,"session.newWorktree.prNumber":`PR #{number}`,"session.newWorktree.includeDiffBadge":`+diff`,"session.newWorktree.newSessionTitle":`Nouvelle session`,"session.newWorktree.fromSource":`de {source}`,"session.newWorktree.actions.cancel":`Annuler`,"session.newWorktree.actions.creating":`Création...`,"session.newWorktree.actions.createWorktree":`Créer un worktree`,"session.newWorktree.actions.reset":`Réinitialiser`,"session.newWorktree.error.noModelSelected":`Aucun modèle sélectionné`,"session.newWorktree.error.noActiveProject":`Aucun projet actif`,"session.newWorktree.error.branchNameRequired":`Le nom de la branche est requis`,"session.newWorktree.error.worktreeDirectoryRequired":`Le répertoire du worktree est requis`,"session.newWorktree.error.sendGitHubContextFailed":`Échec de l'envoi du contexte GitHub`,"session.newWorktree.error.createWorktreeFailed":`Échec de la création du worktree`,"session.newWorktree.toast.sessionFromIssue":`Session créée à partir du problème`,"session.newWorktree.toast.sessionFromPr":`Session créée à partir de PR`,"session.newWorktree.toast.worktreeCreated":`Worktree créé`,"session.newWorktree.toast.worktreeCreatedDescription":`{target} - démarrage en arrière-plan`,"session.githubIntegration.title":`Sélectionnez parmi GitHub`,"session.githubIntegration.tabs.issues":`Problèmes`,"session.githubIntegration.tabs.pullRequests":`PR`,"session.githubIntegration.connect.title":`Connectez-vous à GitHub`,"session.githubIntegration.connect.description":`Lier des issues ou des PR pour remplir automatiquement les détails du worktree`,"session.githubIntegration.connect.action":`Connectez GitHub`,"session.githubIntegration.search.issuesPlaceholder":`Recherchez des problèmes ou entrez #123...`,"session.githubIntegration.search.prsPlaceholder":`Recherchez les PR ou entrez #456...`,"session.githubIntegration.empty.noIssuesFound":`Aucun problème trouvé`,"session.githubIntegration.empty.noPullRequestsFound":`Aucune PR trouvée`,"session.githubIntegration.actions.loadMore":`Charger plus`,"session.githubIntegration.actions.cancel":`Annuler`,"session.githubIntegration.actions.select":`Sélectionner`,"session.githubIntegration.selected.issueNumber":`Numéro\xA0{number}`,"session.githubIntegration.selected.prNumber":`PR #{number}`,"session.githubIntegration.includeDiffAria":`Inclure la différence PR dans le contexte de la session`,"session.githubIntegration.includeDiff":`Inclure la différence PR`,"session.githubIntegration.error.notConnected":`GitHub non connecté`,"session.githubIntegration.error.loadDataFailed":`Échec du chargement des données`,"session.githubIntegration.validation.branchAlreadyCheckedOut":`La branche est déjà checkout dans un worktree`,"session.githubIntegration.validation.branchAlreadyExists":`Une branche existe déjà localement`,"session.githubIntegration.validation.failed":`Échec de la validation`,"chat.fileAttachment.toast.attachFailed":`Impossible de joindre le fichier`,"chat.fileAttachment.toast.someFilesSkipped":`Certains fichiers ont été ignorés :
12
12
  {summary}`,"chat.fileAttachment.toast.vscodePickFailed":`Échec de la sélection des fichiers dans VS Code`,"chat.fileAttachment.fileFallback":`déposer`,"chat.fileAttachment.skippedFallback":`ignoré`,"chat.fileAttachment.actions.attachAria":`Joindre des fichiers`,"chat.fileAttachment.actions.attach":`Joindre des fichiers`,"chat.fileAttachment.actions.removeNamed":`Supprimer {name}`,"chat.fileAttachment.actions.removeImage":`Supprimer l'image`,"chat.fileAttachment.actions.expandImages":`Afficher plus d'images`,"chat.fileAttachment.actions.collapseImages":`Réduire les images`,"chat.fileAttachment.activeEditor.addFile":`Ajouter le fichier :\xA0{name} au contexte`,"chat.fileAttachment.activeEditor.pinSelection":`Épingler la sélection au contexte`,"chat.fileAttachment.activeEditor.remove":`Retirer du contexte`,"chat.pendingChanges.fileCountSingle":`Fichier {count}`,"chat.pendingChanges.fileCountPlural":`Fichiers {count}`,"chat.pendingChanges.changedInWorkspace":`changé dans l'espace de travail`,"chat.changedFiles.title":`Fichiers modifiés`,"chat.changedFiles.actions.openFileTitle":`Ouvrir {path}`,"chat.activity.title":`Détails du traitement`,"chat.activity.active":`Traitement en cours`,"chat.activity.compacting":`Compression en cours`,"chat.activity.compactionCompleted":`Compression terminée`,"chat.activity.expandAria":`Développer les détails du traitement`,"chat.activity.collapseAria":`Réduire les détails du traitement`,"chat.activity.completed":`Traité en {duration}`,"chat.activity.completedStatus":`Traité`,"chat.activity.agentsWorking":`{count} agents au travail`,"chat.activity.agentsInvolved":`{count} agents impliqués`,"chat.activity.moreHidden":`+{count} de plus...`,"chat.emptyState.opencodeUnreachable":`OpenCode n'est pas accessible`,"chat.emptyState.startNewChat":`Démarrer une nouvelle discussion`,"chat.emptyState.draftTitle":`Sur quoi travaillons-nous ?`,"chat.emptyState.draftTitleWithProject":`Sur quoi travaillons-nous dans {project} ?`,"chat.emptyState.establishingConversation":`Établissement de la conversation`,"chat.scrollToBottom.aria":`Faire défiler vers le bas`,"chat.promptNavigator.aria":`Navigation des prompts`,"chat.promptNavigator.currentPrompt":`Prompt actuel`,"chat.promptNavigator.loadMore":`Charger plus de prompts`,"chat.timeline.relative.justNow":`à l’instant`,"chat.timeline.relative.minutesAgo":`il y a {count} min`,"chat.timeline.relative.hoursAgo":`il y a {count} h`,"chat.timeline.relative.daysAgo":`il y a {count} j`,"chat.timeline.title":`Chronologie des conversations`,"chat.timeline.description":`Accédez à n’importe quel point de la conversation ou créez une nouvelle session`,"chat.timeline.searchPlaceholder":`Rechercher des messages...`,"chat.timeline.empty.search":`Aucun message trouvé`,"chat.timeline.empty.session":`Aucun message dans cette session pour le moment`,"chat.timeline.noTextContent":`[Aucun contenu textuel]`,"chat.timeline.actions.title":`Actions`,"chat.timeline.actions.revertFromHere":`Revenir à partir d'ici`,"chat.timeline.actions.forkFromHere":`Fourche d'ici`,"chat.timeline.actions.previousTurn":`Tour précédent`,"chat.timeline.actions.latest":`Dernier`,"chat.timeline.help.clickMessage":`Cliquez sur un message pour y faire défiler la conversation`,"chat.timeline.help.undoToPoint":`Annuler jusqu'à présent (le texte du message remplira la saisie)`,"chat.timeline.help.createSessionFromHere":`Créez une nouvelle session à partir d'ici`,"chat.statusRow.todo.status.inProgress":`En cours`,"chat.statusRow.todo.status.pending":`En attente`,"chat.statusRow.todo.status.completed":`Complété`,"chat.statusRow.todo.status.cancelled":`Annulé`,"chat.statusRow.todo.priority.high":`Haute priorité`,"chat.statusRow.todo.priority.medium":`Priorité moyenne`,"chat.statusRow.todo.priority.low":`Faible priorité`,"chat.statusRow.actions.stopGeneratingAria":`Arrêter de générer`,"chat.statusRow.tasksTitle":`Tâches`,"chat.statusRow.summary.activeLeft":`{active} actif · {left} gauche`,"chat.statusRow.aborted":`Avorté`,"chat.statusRow.abortPrompt":`Appuyez encore sur Échap pour arrêter`,"chat.assistantStatus.readingFile":`Lecture du fichier`,"chat.assistantStatus.writingFile":`Écriture du fichier`,"chat.assistantStatus.editingFile":`Modification du fichier`,"chat.assistantStatus.editingFiles":`Modification des fichiers`,"chat.assistantStatus.compacting":`Compression en cours`,"chat.assistantStatus.applyingPatch":`Application du correctif`,"chat.assistantStatus.runningCommand":`Exécution de la commande`,"chat.assistantStatus.searchingContent":`Recherche de contenu`,"chat.assistantStatus.findingFiles":`Recherche de fichiers`,"chat.assistantStatus.listingDirectory":`Liste du répertoire`,"chat.assistantStatus.delegatingTask":`Délégation de tâche`,"chat.assistantStatus.taskWorking":`{name} en cours`,"chat.assistantStatus.fetchingUrl":`Récupération de l’URL`,"chat.assistantStatus.searchingWeb":`Recherche sur le web`,"chat.assistantStatus.webCodeSearch":`Recherche de code web`,"chat.assistantStatus.updatingTodos":`Mise à jour des tâches`,"chat.assistantStatus.readingTodos":`Lecture des tâches`,"chat.assistantStatus.learningSkill":`Apprentissage de la compétence`,"chat.assistantStatus.askingQuestion":`Question en cours`,"chat.assistantStatus.switchingToPlanning":`Passage à la planification`,"chat.assistantStatus.switchingToBuilding":`Passage à la construction`,"chat.assistantStatus.usingTool":`Utilisation de {tool}`,"chat.assistantStatus.working":`En cours`,"chat.assistantStatus.processing":`Traitement en cours`,"chat.assistantStatus.preparing":`Préparation en cours`,"chat.assistantStatus.warmingUp":`Initialisation en cours`,"chat.assistantStatus.gearsTurning":`Traitement en cours`,"chat.assistantStatus.computing":`Calcul en cours`,"chat.assistantStatus.calculating":`Calcul en cours`,"chat.assistantStatus.analyzing":`Analyse en cours`,"chat.assistantStatus.wheelsSpinning":`Traitement en cours`,"chat.assistantStatus.calibrating":`Calibrage en cours`,"chat.assistantStatus.synthesizing":`Synthèse en cours`,"chat.assistantStatus.connectingDots":`Mise en relation des éléments`,"chat.assistantStatus.inspectingLogic":`Vérification de la logique`,"chat.assistantStatus.weighingOptions":`Évaluation des options`,"chat.assistantStatus.thinking":`Réflexion en cours`,"chat.assistantStatus.composing":`Rédaction en cours`,"chat.assistantStatus.sendingMessage":`Envoi du message`,"chat.assistantStatus.waitingForPermission":`En attente d’autorisation`,"chat.assistantStatus.retrying":`Nouvelle tentative`,"chat.assistantStatus.retryingIn":`Nouvelle tentative {duration}`,"chat.assistantStatus.retryingAttempt":`Nouvelle tentative (essai {attempt})`,"chat.assistantStatus.retryingInAttempt":`Nouvelle tentative {duration} (essai {attempt})`,"chat.revertIndicator.redo":`Refaire`,"chat.revertIndicator.redoAria":`Rétablir : restaurer les messages annulés`,"chat.revertPopover.title":`Rétabli`,"chat.revertPopover.noTextContent":`Aucun contenu textuel`,"chat.revertPopover.forkFromHere":`Fourche d'ici`,"chat.revertPopover.forkFromMessage":`Fork de ce message`,"chat.revertPopover.restoreAll":`Tout restaurer`,"chat.revertPopover.restore":`Restaurer`,"chat.revertPopover.revert":`Revenir`,"chat.revertPopover.fork":`Fourchette`,"chat.revert.toast.undo":`Revenu à {preview}`,"chat.revert.toast.redo":`Refait`,"chat.revert.toast.restored":`Restauré tous les messages`,"chat.errorBoundary.title":`Erreur de discussion`,"chat.errorBoundary.description":`L'interface de discussion a rencontré une erreur. Cela peut être dû à un problème de réseau temporaire ou à des données de message corrompues.`,"chat.errorBoundary.sessionLabel":`Session`,"chat.errorBoundary.detailsSummary":`Détails de l'erreur`,"chat.errorBoundary.resetAction":`Réinitialiser le chat`,"chat.errorBoundary.persistentHint":`Si le problème persiste, essayez d'actualiser la page.`,"chat.autocomplete.tabs.commands":`Commandes`,"chat.autocomplete.tabs.agents":`Agents`,"chat.autocomplete.tabs.files":`Fichiers`,"chat.autocomplete.keyboardHint":`↑↓ naviguer • Entrer sélectionner • Esc fermer`,"chat.commandAutocomplete.command.initDescription":`Créer/mettre à jour le fichier AGENTS.md`,"chat.commandAutocomplete.command.undoDescription":`Annuler le dernier message`,"chat.commandAutocomplete.command.redoDescription":`Refaire les messages précédemment annulés`,"chat.commandAutocomplete.command.forkDescription":`Créer une session à partir de l’état actuel de la conversation`,"chat.commandAutocomplete.command.timelineDescription":`Ouvrir la chronologie de la conversation`,"chat.commandAutocomplete.command.modelDescription":`Ouvrir le sélecteur de modèle`,"chat.commandAutocomplete.command.compactDescription":`Compresser l'historique des sessions à l'aide de l'IA pour réduire la taille du contexte`,"chat.commandAutocomplete.command.summaryDescription":`Résumé de session non destructif. Indice de sujet facultatif après la commande.`,"chat.commandAutocomplete.command.workspaceReviewDescription":`Examinez les modifications actuelles de l’espace de travail pour les problèmes de signal élevé uniquement.`,"chat.commandAutocomplete.badge.skill":`skill`,"chat.commandAutocomplete.badge.command":`commande`,"chat.commandAutocomplete.badge.system":`système`,"chat.commandAutocomplete.empty":`Aucune commande trouvée`,"chat.agentMentionAutocomplete.badge.system":`système`,"chat.agentMentionAutocomplete.empty":`Aucun agent trouvé`,"chat.fileMentionAutocomplete.searchMoreAgents":`Tapez pour rechercher plus d'agents`,"chat.fileMentionAutocomplete.groups.agents":`Agents`,"chat.fileMentionAutocomplete.groups.sessions":`Sessions chargées`,"chat.fileMentionAutocomplete.groups.directories":`Répertoires`,"chat.fileMentionAutocomplete.groups.recentFiles":`Fichiers récents`,"chat.fileMentionAutocomplete.groups.files":`Fichiers`,"chat.fileMentionAutocomplete.sessionType":`Session OpenCode`,"chat.fileMentionAutocomplete.untitledSession":`Session sans titre`,"chat.fileMentionAutocomplete.empty":`Aucune correspondance trouvée`,"chat.queuedMessage.attachments":`+Fichier(s) {count}`,"chat.queuedMessage.empty":`(vide)`,"chat.queuedMessage.title":`File d'attente`,"chat.queuedMessage.edit":`modifier`,"chat.queuedMessage.send":`envoyer`,"chat.queuedMessage.queuing":`Mise en file…`,"chat.queuedMessage.queuingAria":`Mise du message en file d'attente`,"chat.queuedMessage.sending":`Envoi…`,"chat.queuedMessage.sendingAria":`Envoi du message`,"chat.queuedMessage.removeAria":`Supprimer de la file d'attente`,"chat.queuedMessage.reorderAria":`Glisser pour réorganiser`,"chat.container.returnToParent.aria":`Retour à la session parents`,"chat.container.returnToParent.titleNamed":`Retourner à : {title}`,"chat.container.returnToParent.title":`Retour à la session parents`,"chat.container.returnToParent.label":`Mère`,"chat.container.readOnlySubagentPromptBanner":`Les sessions de sous-agent ne peuvent pas être invitées.`,"chat.unifiedControls.title":`Contrôles`,"chat.unifiedControls.model.title":`Modèle`,"chat.unifiedControls.model.noRecent":`Aucun modèle récent`,"chat.unifiedControls.model.moreAria":`Plus de modèles`,"chat.unifiedControls.effort.title":`Effort`,"chat.unifiedControls.effort.moreAria":`Plus d'options d'effort`,"chat.questionCard.summaryTab":`Résumé`,"chat.questionCard.noAnswer":`(pas de réponse)`,"chat.questionCard.inputNeeded":`Entrée nécessaire`,"chat.questionCard.fromSubagent":`Du sous-agent`,"chat.questionCard.questionFallback":`Question {index}`,"chat.questionCard.selectMultiple":`Sélectionnez plusieurs`,"chat.questionCard.recommended":`recommandé`,"chat.questionCard.other":`Autre…`,"chat.questionCard.yourAnswer":`Votre Réponse`,"chat.questionCard.submit":`Soumettre`,"chat.questionCard.next":`Suivant`,"chat.questionCard.dismiss":`Ignorer`,"chat.questionCard.copyMarkdown":`Copier en Markdown`,"chat.questionCard.copyJson":`Copier sous JSON`,"chat.questionCard.copiedMarkdown":`Question copiée en tant que Markdown`,"chat.questionCard.copiedJson":`Question copiée sous le nom JSON`,"chat.questionCard.copyFailed":`Échec de la copie de la question`,"chat.textSelection.toast.noProject":`Aucun projet trouvé pour cette session`,"chat.textSelection.toast.addToNotesFailed":`Échec de l'ajout aux notes`,"chat.textSelection.toast.addToNotesSuccess":`Ajout du texte sélectionné aux notes`,"chat.textSelection.toast.addToNotesSummaryFailed":`Impossible de résumer la sélection, ajout du texte sélectionné aux notes`,"chat.textSelection.actions.addToChat":`Ajouter au chat`,"chat.textSelection.actions.newSession":`Nouvelle session`,"chat.textSelection.actions.copy":`Copie`,"chat.textSelection.actions.addToNotes":`Ajouter aux notes`,"chat.textSelection.title.addToCurrentChat":`Ajouter au chat actuel`,"chat.textSelection.title.newSessionWithSelection":`Créer une nouvelle session avec sélection`,"chat.textSelection.title.saveInsightToNotes":`Enregistrer le texte sélectionné dans les notes`,"chat.messageBody.actions.editing":`Modification…`,"chat.messageBody.actions.editStaged":`Modification en attente`,"chat.messageBody.actions.cancelEdit":`Annuler la modification`,"chat.messageBody.actions.editAria":`Modifier le message et conserver les modifications`,"chat.messageBody.actions.edit":`Modifier et conserver les modifications`,"chat.messageBody.actions.revertAria":`Revenir à ce message`,"chat.messageBody.actions.revert":`Revenir à partir d'ici`,"chat.messageBody.actions.forkAria":`Fork de ce message`,"chat.messageBody.actions.fork":`Fourche d'ici`,"chat.messageBody.actions.openSourceSessionAria":`Ouvrir la session d'origine`,"chat.messageBody.actions.openSourceSession":`Ouvrir la session d'origine`,"chat.messageBody.actions.copyMessageAria":`Copier le texte du message`,"chat.messageBody.actions.copyMessage":`Copier le message`,"chat.messageBody.actions.openPreviewAria":`Ouvrir l'aperçu`,"chat.messageBody.actions.openPreview":`Ouvrir l'aperçu`,"chat.messageBody.actions.copyAnswer":`Copier la réponse`,"chat.messageBody.actions.savingImage":`Enregistrement de l'image...`,"chat.messageBody.actions.saveAsImage":`Enregistrer sous image`,"chat.messageBody.meta.tpsAria":`Vitesse de génération\xA0: {rate}`,"chat.messageBody.meta.tpsTooltip":`Vitesse de génération (tokens/s), hors temps des appels d’outils`,"chat.generatedResult.actions.copy":`Copie`,"chat.generatedResult.actions.copied":`Copié`,"chat.generatedResult.commit.title":`Message de commit généré`,"chat.generatedResult.commit.highlights":`Points forts`,"chat.generatedResult.pullRequest.title":`Demande d'extraction générée`,"chat.generatedResult.pullRequest.titleLabel":`Titre`,"chat.generatedResult.pullRequest.bodyLabel":`Corps`,"chat.messageBody.tts.stopSpeaking":`Arrête de parler`,"chat.messageBody.tts.readAloud":`Lire à haute voix`,"chat.messageBody.tts.readAloudWithProvider":`Lire à haute voix (voix {provider})`,"chat.messageBody.toast.imageSaved":`Image enregistrée`,"chat.messageBody.toast.generateImageFailed":`Échec de la génération de l'image`,"chat.chatInput.actions.commands":`Commandes`,"chat.chatInput.actions.attachFiles":`Joindre des fichiers`,"chat.chatInput.actions.attachPhotos":`Joindre des photos`,"chat.chatInput.actions.addAttachment":`Ajouter une pièce jointe`,"chat.chatInput.actions.linkGithubIssue":`Lien vers le problème GitHub`,"chat.chatInput.actions.linkGithubPr":`Lien GitHub PR`,"chat.chatInput.actions.modelAgentSettings":`Paramètres du modèle et de l'agent`,"chat.chatInput.actions.sendMessageAria":`Envoyer un message`,"chat.chatInput.actions.queueMessageAria":`Message de file d'attente`,"chat.chatInput.actions.queuingMessageAria":`Mise en file…`,"chat.chatInput.actions.sendingMessageAria":`Envoi…`,"chat.chatInput.actions.stopGeneratingAria":`Arrêter de générer`,"chat.chatInput.focusMode.toggleAria":`Basculer le mode de mise au point`,"chat.chatInput.focusMode.label":`Mode de mise au point`,"chat.chatInput.permissionAutoAccept.disable":`Désactiver l'acceptation automatique des autorisations`,"chat.chatInput.permissionAutoAccept.enable":`Activer l'acceptation automatique des autorisations`,"chat.chatInput.permissionAutoAccept.on":`Acceptation automatique des autorisations : activée`,"chat.chatInput.permissionAutoAccept.off":`Acceptation automatique des autorisations : désactivée`,"chat.chatInput.linked.byAuthor":`par {author}`,"chat.chatInput.linked.issue.openInBrowserAria":`Problème ouvert dans le navigateur`,"chat.chatInput.linked.issue.removeAria":`Supprimer le problème lié`,"chat.chatInput.linked.pr.number":`PR #{number}`,"chat.chatInput.linked.pr.openInBrowserAria":`Ouvrir la demande d'extraction dans le navigateur`,"chat.chatInput.linked.pr.removeAria":`Supprimer la demande d'extraction liée`,"chat.chatInput.placeholder.shell":`Entrez la commande shell...`,"chat.chatInput.placeholder.chat":`@ pour les fichiers/agents\xA0; / pour les commandes et les skills\xA0; ! pour shell\xA0; # pour les extraits`,"chat.chatInput.placeholder.chatCompact":`Utiliser @ / ! # pour les aides`,"chat.chatInput.placeholder.selectSession":`Sélectionnez ou créez une session pour commencer à discuter`,"chat.chatInput.pastedTextReference":`Texte collé n°{index} · {count} caractères`,"chat.dictation.start":`Démarrer la dictée`,"chat.dictation.overlayAria":`Dictée`,"chat.dictation.downloadingModel":`Téléchargement du modèle vocal...`,"chat.dictation.downloadingModelProgress":`Téléchargement du modèle vocal... {percent}%`,"chat.dictation.listening":`Écoute...`,"chat.dictation.processing":`Transcription...`,"chat.dictation.failed":`Échec de la transcription`,"chat.dictation.cancel":`Abandonner la dictée`,"chat.dictation.insert":`Insérer la transcription`,"chat.dictation.insertAndSend":`Insérer et envoyer`,"chat.dictation.retry":`Réessayer la transcription`,"chat.dictation.discard":`Abandonner l'enregistrement`,"chat.snippetAutocomplete.action.addNew":`+ Ajouter un nouvel extrait`,"chat.snippetAutocomplete.empty":`Aucun extrait trouvé`,"chat.snippetAutocomplete.footer":`↑↓ naviguer • Entrer sélectionner • Esc fermer`,"snippets.source.global":`mondial`,"snippets.source.project":`projet`,"chat.chatInput.toast.compactFailed":`Échec du compactage de la session`,"chat.chatInput.toast.summaryFailed":`Échec de la génération du résumé`,"chat.chatInput.toast.reviewFailed":`Échec de l'examen des modifications`,"chat.chatInput.toast.attachmentsTooLarge":`Les pièces jointes sont trop volumineuses pour être envoyées. Veuillez essayer de réduire le nombre ou la taille des images.`,"chat.chatInput.toast.sendAttachmentsFailed":`Échec de l'envoi des pièces jointes. Essayez moins de fichiers ou des images plus petites.`,"chat.chatInput.toast.messageSendFailed":`Le message n'a pas pu être envoyé. Pièces jointes restaurées.`,"chat.chatInput.toast.sendStatusUnknown":`État du message inconnu. Veuillez vérifier et réessayer.`,"chat.chatInput.toast.queueOperationFailed":`L’opération sur la file d’attente a échoué.`,"chat.chatInput.toast.queueOperationStatusUnknown":`L’état de l’opération sur la file d’attente est inconnu. L’état du serveur sera actualisé automatiquement.`,"chat.chatInput.toast.clipboardAttachFailed":`Échec de la pièce jointe de l'image du presse-papiers`,"chat.chatInput.toast.attachFileFailed":`Impossible de joindre le fichier`,"chat.chatInput.toast.attachNamedFailed":`Échec de la connexion du {name}`,"chat.chatInput.toast.someFilesSkipped":`Certains fichiers ont été ignorés :
13
- {summary}`,"chat.chatInput.toast.vscodePickFailed":`Échec de la sélection des fichiers dans VS Code`,"chat.chatInput.toast.openSessionFirst":`Ouvrir d'abord une session`,"chat.chatInput.toast.togglePermissionAutoAcceptFailed":`Échec de l'activation de l'acceptation automatique des autorisations`,"chat.chatInput.toast.sessionReferenceLoadFailed":`Impossible de charger la référence de session.`,"chat.chatInput.reviewComments":`Commentaires de révision :`,"chat.chatInput.devServerLogs":`Journaux du serveur de développement :`,"chat.chatInput.devServerLogsRemove":`Supprimer les journaux du serveur de développement`,"chat.chatInput.previewAnnotations":`Aperçu des annotations :`,"chat.chatInput.previewContext":`Contexte d'aperçu :`,"chat.chatInput.previewContextRemove":`Supprimer le contexte d'aperçu`,"chat.chatInput.projectRoot":`Racine du projet`,"chat.chatInput.branch":`Bifurquer`,"chat.chatInput.draftPicker.projectTitle":`Projet`,"chat.chatInput.draftPicker.newProject":`Nouveau projet`,"chat.chatInput.draftPicker.searchProjects":`Rechercher des projets...`,"chat.chatInput.draftPicker.searchBranches":`Rechercher des branches...`,"chat.chatInput.worktrees":`Worktrees`,"chat.chatInput.worktreeNew":`+ Nouveau`,"chat.chatInput.branchSwitch.title":`Basculer vers {branch}\xA0?`,"chat.chatInput.branchSwitch.description":`Comment ouvrir cette branche pour la nouvelle conversation\xA0?`,"chat.chatInput.branchSwitch.createWorktree":`Créer un worktree`,"chat.chatInput.branchSwitch.createWorktreeDescription":`Conserver le répertoire actuel et travailler dans un worktree isolé.`,"chat.chatInput.branchSwitch.checkoutHere":`Checkout ici`,"chat.chatInput.branchSwitch.checkoutHereDescription":`Basculer le répertoire actuel vers cette branche.`,"chat.chatInput.branchSwitch.cancel":`Annuler`,"chat.chatInput.drop.insertMention":`Déposer pour insérer comme mention`,"chat.chatInput.drop.attachFiles":`Déposez les fichiers ici pour les joindre`,"chat.chatInput.fileFallback":`déposer`,"chat.mobileStatus.editProjects.title":`Modifier des projets`,"chat.mobileStatus.editProjects.footer":`Faites glisser les éléments pour les réorganiser ou utilisez les flèches pour les déplacer. Appuyez sur modifier pour modifier les détails.`,"chat.mobileStatus.editProjects.empty":`Aucun projet à modifier`,"chat.mobileStatus.projects.empty":`Aucun projet`,"chat.mobileStatus.projects.addAria":`Ajouter un projet`,"chat.mobileStatus.projects.removeTitle":`Supprimer le projet`,"chat.mobileStatus.projects.removeDescriptionPrefix":`Etes-vous sûr de vouloir supprimer`,"chat.mobileStatus.projects.cancel":`Annuler`,"chat.mobileStatus.projects.remove":`Retirer`,"chat.mobileStatus.new":`Nouveau`,"chat.mobileStatus.noSessionsInProject":`Aucune session dans ce projet`,"chat.mobileStatus.swipeHint":`← Glissez ici pour ouvrir les barres latérales →`,"chat.mobileStatus.toast.addProjectFailed":`Échec de l'ajout du projet`,"chat.mobileStatus.toast.selectValidDirectory":`Veuillez sélectionner un répertoire valide.`,"chat.mobileStatus.toast.selectDirectoryFailed":`Échec de la sélection du répertoire`,"chat.toolOutputDialog.image.previousAria":`Image précédente`,"chat.toolOutputDialog.image.nextAria":`Image suivante`,"chat.toolOutputDialog.image.zoomInAria":`Zoom avant`,"chat.toolOutputDialog.image.zoomOutAria":`Zoom arrière`,"chat.toolOutputDialog.image.resetZoomAria":`Réinitialiser le zoom`,"chat.image.actions.sheetTitle":`Image`,"chat.image.actions.saveImage":`Enregistrer l'image`,"chat.image.actions.saveToPhotos":`Enregistrer dans Photos`,"chat.image.actions.saving":`Enregistrement…`,"chat.image.actions.saveSuccess":`Image enregistrée`,"chat.image.actions.saveFailed":`Impossible d'enregistrer l'image`,"chat.toolOutputDialog.mermaid.missingSource":`URL de source Mermaid manquante.`,"chat.toolOutputDialog.mermaid.loadFailed":`Impossible de charger le diagramme Mermaid.`,"chat.toolOutputDialog.mermaid.dataUrlMalformed":`L'URL de données Mermaid est mal formée.`,"chat.toolOutputDialog.mermaid.invalidLocalPath":`Le chemin du fichier Mermaid local est invalide.`,"chat.toolOutputDialog.mermaid.readFileFailedWithStatus":`Impossible de lire le fichier Mermaid. Statut : {status}.`,"chat.toolOutputDialog.mermaid.unsupportedUrlProtocol":`Le protocole de l'URL Mermaid n'est pas pris en charge.`,"chat.toolOutputDialog.mermaid.loadFailedWithStatus":`Impossible de charger le diagramme Mermaid. Statut : {status}.`,"chat.toolOutputDialog.mermaid.closeAria":`Fermer l'aperçu du diagramme`,"chat.toolOutputDialog.mermaid.loading":`Diagramme de chargement...`,"chat.toolOutputDialog.mermaid.renderFailed":`Impossible d'afficher le diagramme Mermaid.`,"chat.toolOutputDialog.mermaid.retry":`Réessayer`,"chat.toolOutputDialog.commandCompleted":`Commande terminée avec succès`,"chat.toolOutputDialog.noOutputProduced":`Aucune sortie n'a été produite`,"chat.activity.outputLoading":`Chargement de la sortie complète…`,"chat.activity.outputLoadFailed":`Impossible de charger la sortie complète.`,"chat.activity.outputRetry":`Réessayer`,"chat.fileAttachment.image.loading":`Chargement de l’image…`,"chat.fileAttachment.image.loadFailed":`Impossible de charger l’image.`,"chat.fileAttachment.image.retry":`Réessayer de charger l’image`,"chat.fileAttachment.image.loadManually":`Charger l’image`,"chat.fileAttachment.image.loadManuallyCount":`Charger {count} images`,"chat.toolPart.lspErrors":`Erreurs LSP`,"chat.toolPart.moreErrors":`+{count} plus d'erreurs`,"chat.toolPart.error":`Erreur:`,"chat.toolPart.awaitingResponse":`En attente de réponse...`,"chat.toolPart.noOutputProduced":`Aucune sortie produite`,"chat.toolPart.output":`Sortie`,"chat.toolPart.openSubtask":`Ouvrir la sous-tâche {type}`,"chat.todo.total":`Total`,"chat.todo.inProgress":`En cours`,"chat.todo.pending":`En attente`,"chat.todo.completed":`Complété`,"chat.todo.cancelled":`Annulé`,"chat.permissionCard.workingDirectory":`Répertoire de travail :`,"chat.permissionCard.timeout":`Temps mort:`,"chat.permissionCard.request":`Demande:`,"chat.permissionCard.headers":`En-têtes :`,"chat.permissionCard.body":`Corps:`,"chat.permissionCard.action":`Action:`,"chat.permissionCard.details":`Détails:`,"chat.permissionCard.patterns":`Motifs:`,"chat.permissionCard.replaceAll":`Remplacer toutes les occurrences`,"chat.permissionCard.responseFormat":`Format de réponse :`,"chat.permissionCard.allowOnce":`Autoriser une fois`,"chat.permissionCard.alwaysAgree":`Toujours autoriser`,"chat.permissionToast.sessionFallback":`Session`,"chat.permissionToast.permissionFallback":`Détails de l'autorisation indisponibles`,"chat.permissionToast.labels.session":`Session:`,"chat.permissionToast.labels.permission":`Autorisation:`,"chat.permissionToast.actions.once":`Une fois`,"chat.permissionToast.actions.always":`Toujours`,"chat.permissionToast.actions.deny":`Refuser`,"chat.permissionToast.actions.approveOnceAria":`Approuver une fois`,"chat.permissionToast.actions.approveOnceAriaWithSession":`Approuver une fois pour {session}`,"chat.permissionToast.actions.approveAlwaysAria":`Approuver toujours`,"chat.permissionToast.actions.approveAlwaysAriaWithSession":`Approuver toujours pour {session}`,"chat.permissionToast.actions.denyAria":`Refuser l'autorisation`,"chat.permissionToast.actions.denyAriaWithSession":`Refuser l'autorisation pour {session}`,"chat.permissionRequest.required":`Autorisation requise :`,"chat.permissionRequest.actions.once":`Une fois`,"chat.permissionRequest.actions.always":`Toujours`,"chat.permissionRequest.actions.reject":`Refuser`,"chat.modelControls.provider":`Fournisseur`,"chat.modelControls.capability.toolCalling":`Appel d'outil`,"chat.modelControls.capability.reasoning":`Raisonnement`,"chat.modelControls.modality.text":`Texte`,"chat.modelControls.modality.image":`Image`,"chat.modelControls.modality.video":`Vidéo`,"chat.modelControls.modality.audio":`Audio`,"chat.modelControls.modality.pdf":`PDF`,"chat.modelControls.capabilities":`Capacités`,"chat.modelControls.modalities":`Modalités`,"chat.modelControls.input":`Entrée`,"chat.modelControls.output":`Sortie`,"chat.modelControls.limits":`Limites`,"chat.modelControls.context":`Contexte`,"chat.modelControls.metadata":`Métadonnées`,"chat.modelControls.knowledge":`Connaissance`,"chat.modelControls.release":`Libérer`,"chat.modelControls.mode":`Mode`,"chat.modelControls.model":`Modèle`,"chat.modelControls.temperature":`Température`,"chat.modelControls.topP":`Haut P`,"chat.modelControls.permissions":`Autorisations`,"chat.modelControls.edit":`Modifier`,"chat.modelControls.bash":`Bash`,"chat.modelControls.webFetch":`WebFetch`,"chat.modelControls.customPrompt":`Prompt personnalisé`,"chat.modelControls.selectModel":`Sélectionnez le modèle`,"chat.modelControls.searchProvidersOrModels":`Rechercher des fournisseurs ou des modèles`,"chat.modelControls.clearSearch":`Effacer la recherche`,"chat.modelControls.current":`Actuel`,"chat.modelControls.thinking":`Pensée`,"chat.modelControls.default":`Défaut`,"chat.modelControls.selectAgent":`Sélectionnez un agent`,"chat.modelControls.costPerMillion":`Coût`,"chat.modelControls.costInput":`Entrée`,"chat.modelControls.costOutput":`Sortie`,"chat.modelControls.metadataUnavailable":`Métadonnées du modèle indisponibles.`,"chat.modelControls.addNewProvider":`Ajouter un nouveau fournisseur`,"chat.modelControls.noAgentSelected":`Aucun agent sélectionné.`,"chat.modelControls.resetToDefault":`Réinitialiser aux valeurs par défaut`,"chat.modelControls.searchModels":`Rechercher des modèles`,"chat.modelControls.searchAgents":`Agents de recherche`,"chat.modelControls.noModelsFound":`Aucun modèle trouvé`,"chat.modelControls.favorites":`Favoris`,"chat.modelControls.recent":`Récents`,"chat.modelControls.addToFavorites":`Ajouter aux favoris`,"chat.modelControls.removeFromFavorites":`Supprimer des favoris`,"chat.modelControls.favoriteAria":`Préféré`,"chat.modelControls.unfavoriteAria":`Supprimer des favoris`,"chat.modelControls.collapseProvider":`Fournisseur de réduction`,"chat.modelControls.expandProvider":`Développer le fournisseur`,"chat.modelControls.keyboardHint":`↑↓ naviguer{thinking} • Entrer sélectionner • Esc fermer`,"chat.modelControls.keyboardHintNavigate":`↑↓ naviguer`,"chat.modelControls.keyboardHintSwitchAgent":`Agent de commutation {shortcut}`,"chat.modelControls.keyboardHintSwitchAgentLabel":`Changer d'agent`,"chat.modelControls.keyboardHintThinking":`←→ penser`,"chat.modelControls.showThinkingModes":`Afficher les modes de réflexion`,"chat.modelControls.hideThinkingModes":`Masquer les modes de réflexion`,"chat.modelControls.moreThinkingModes":`Plus de modes de réflexion`,"chat.modelControls.noProvidersOrModelsFound":`Aucun fournisseur ou modèle ne correspond à votre recherche.`,"chat.modelControls.reorderFavoriteAria":`Réorganiser les favoris`,"chat.modelControls.reorderFavoriteTitle":`Faites glisser pour réorganiser les favoris`,"chat.modelControls.reorderProviderTitle":`Faites glisser pour réorganiser le fournisseur`,"chat.modelControls.permissionLabel.custom":`Personnalisé`,"chat.modelControls.permissionLabel.allow":`Permettre`,"chat.modelControls.permissionLabel.deny":`Refuser`,"chat.modelControls.permissionLabel.ask":`Demander`,"chat.modelControls.modeValue.primary":`Primaire`,"chat.modelControls.modeValue.subagent":`Sous-agent`,"chat.modelControls.modeValue.all":`Tous`,"chat.modelControls.modeValue.none":`—`,"chat.reasoningTrace.thinking":`Pensée`,"chat.reasoningTrace.justification":`Justification`,"chat.reasoningTrace.expandAria":`Développer la trace du raisonnement`,"chat.reasoningTrace.collapseAria":`Réduire la trace du raisonnement`,"chat.reasoningTrace.thought":`Pensée`,"chat.contextGroup.exploring":`Exploration en cours`,"chat.contextGroup.explored":`Exploré`,"chat.contextGroup.expandAria":`Développer les outils explorés`,"chat.contextGroup.collapseAria":`Réduire les outils explorés`,"chat.contextGroup.readSingle":`{count} lecture`,"chat.contextGroup.readPlural":`{count} lectures`,"chat.contextGroup.searchSingle":`{count} recherche`,"chat.contextGroup.searchPlural":`{count} recherches`,"chat.contextGroup.listSingle":`{count} liste`,"chat.contextGroup.listPlural":`{count} listes`,"chat.skillGroup.expandAria":`Développer les compétences chargées`,"chat.skillGroup.collapseAria":`Réduire les compétences chargées`,"chat.skillGroup.summaryOverflow":`{names} et {count} de plus`,"chat.tools.display.read":`Lire le fichier`,"chat.tools.display.write":`Écrire le fichier`,"chat.tools.display.edit":`Modifier le fichier`,"chat.tools.display.multiedit":`Édition multiple`,"chat.tools.display.apply_patch":`Appliquer le correctif`,"chat.tools.display.bash":`Commande shell`,"chat.tools.display.grep":`Rechercher dans les fichiers`,"chat.tools.display.glob":`Trouver des fichiers`,"chat.tools.display.list":`Lister le répertoire`,"chat.tools.display.task":`Tâche d'agent`,"chat.tools.display.webfetch":`Récupérer l'URL`,"chat.tools.display.websearch":`Recherche web`,"chat.tools.display.codesearch":`Recherche de code`,"chat.tools.display.todowrite":`Mettre à jour les tâches`,"chat.tools.display.todoread":`Lire les tâches`,"chat.tools.display.skill":`Charger une compétence`,"chat.tools.display.question":`Question`,"chat.tools.display.lsp":`LSP`,"chat.tools.display.plan_enter":`Mode plan`,"chat.tools.display.plan_exit":`Mode construction`,"chat.tools.display.structuredoutput":`Sortie structurée`,"chat.messageBody.subtask.title":`Tâche déléguée`,"chat.messageBody.subtask.hidePrompt":`Masquer le prompt`,"chat.messageBody.subtask.showPrompt":`Afficher le prompt`,"chat.messageBody.subtask.openSession":`Ouvrir une session de sous-tâche`,"chat.messageBody.subagent.completed":`Terminé`,"chat.messageBody.subagent.error":`Échec`,"chat.messageBody.subagent.cancelled":`Annulé`,"chat.messageBody.subagent.completedDescription":`Le sous-agent en arrière-plan a terminé`,"chat.messageBody.subagent.errorDescription":`Le sous-agent en arrière-plan a échoué`,"chat.messageBody.subagent.cancelledDescription":`Le sous-agent en arrière-plan a été annulé`,"chat.messageBody.subagent.openSession":`Ouvrir la session du sous-agent : {label}`,"chat.messageBody.shellCommand.title":`Commande Shell`,"chat.messageBody.shellCommand.hideOutput":`Masquer la sortie`,"chat.messageBody.shellCommand.showOutput":`Afficher la sortie`,"chat.messageBody.shellCommand.copied":`Copié`,"chat.messageBody.shellCommand.copyOutput":`Copier la sortie`,"commandPalette.title":`Palette de commandes`,"commandPalette.description":`Recherchez des fichiers, des sessions et des commandes.`,"commandPalette.input.placeholder":`Rechercher des fichiers, des sessions, des commandes...`,"commandPalette.empty.noResults":`Aucun résultat trouvé.`,"commandPalette.empty.searchingFiles":`Recherche de fichiers...`,"commandPalette.item.newSession":`Nouvelle session`,"commandPalette.item.newMiniChat":`Nouvelle mini-fenêtre de discussion`,"commandPalette.item.newWorktreeDraft":`Nouveau brouillon d'worktree`,"commandPalette.item.addProject":`Ajouter un projet`,"commandPalette.item.showSessionSwitcher":`Afficher le sélecteur de session`,"commandPalette.item.toggleSidebar":`Basculer la barre latérale`,"commandPalette.item.toggleRightSidebar":`Basculer la barre latérale droite`,"commandPalette.item.showContextUsage":`Afficher l'utilisation du contexte`,"commandPalette.item.toggleTerminal":`Basculer le terminal`,"commandPalette.item.newTerminalTab":`Nouvel onglet de terminal`,"commandPalette.item.openSettings":`Ouvrez les paramètres...`,"commandPalette.session.untitled":`Session sans titre`,"openCodeStatusDialog.title":`Statut OpenCode`,"openCodeStatusDialog.description":`Inspectez l’état et les diagnostics actuels du OpenCode.`,"openCodeStatusDialog.actions.copy":`Copie`,"openCodeStatusDialog.empty.noData":`Aucune donnée.`,"openCodeStatusDialog.toast.copiedTitle":`Copié`,"openCodeStatusDialog.toast.copiedDescription":`Statut copié dans le presse-papiers`,"openCodeStatusDialog.toast.copyFailed":`Échec de la copie du statut`,"branchPickerDialog.title":`Sélecteur de branches`,"branchPickerDialog.description.localBranchesForProject":`Branches locales pour {project}`,"branchPickerDialog.description.selectProject":`Sélectionnez un projet pour afficher les branches`,"branchPickerDialog.search.placeholder":`Rechercher des branches...`,"branchPickerDialog.search.renameBranchPlaceholder":`Renommer la branche`,"branchPickerDialog.state.noProjectSelected":`Aucun projet sélectionné`,"branchPickerDialog.state.loadingBranches":`Chargement des branches...`,"branchPickerDialog.state.noMatchingBranches":`Aucune branche correspondante`,"branchPickerDialog.state.noBranchesFound":`Aucune branche trouvée`,"branchPickerDialog.badge.head":`HEAD`,"branchPickerDialog.badge.worktree":`worktree`,"branchPickerDialog.actions.createWorktreeAria":`Créer un worktree à partir d'une branche`,"branchPickerDialog.actions.renameAria":`Renommer la branche`,"branchPickerDialog.actions.deleteAria":`Supprimer la branche`,"branchPickerDialog.actions.deleteWorktreeAria":`Supprimer le worktree`,"branchPickerDialog.actions.confirmRenameAria":`Confirmer le changement de nom`,"branchPickerDialog.actions.cancelRenameAria":`Annuler le changement de nom`,"branchPickerDialog.actions.confirmDeleteAria":`Confirmer la suppression de la branche`,"branchPickerDialog.actions.cancelDeleteAria":`Annuler la suppression de la branche`,"branchPickerDialog.actions.deletePrompt":`Supprimer`,"branchPickerDialog.actions.forceDeletePrompt":`Forcer la suppression`,"branchPickerDialog.tooltip.createWorktree":`Créer un worktree`,"branchPickerDialog.tooltip.worktreeAlreadyExists":`Le worktree existe déjà`,"branchPickerDialog.tooltip.rename":`Renommer la branche`,"branchPickerDialog.tooltip.renameDisabledForRoot":`Impossible de renommer la branche racine`,"branchPickerDialog.tooltip.delete":`Supprimer la branche`,"branchPickerDialog.tooltip.deleteCurrentBranch":`Impossible de supprimer la branche actuelle`,"branchPickerDialog.tooltip.deleteDisabledForRoot":`Impossible de supprimer la branche racine`,"branchPickerDialog.tooltip.deleteWorktree":`Supprimer le worktree`,"branchPickerDialog.tooltip.deleteWorktreeRootProtected":`Impossible de supprimer le worktree racine`,"branchPickerDialog.toast.branchRenamed":`Branche renommée`,"branchPickerDialog.toast.failedToRenameBranch":`Échec du renommage de la branche`,"branchPickerDialog.toast.branchDeleted":`Branche supprimée`,"branchPickerDialog.toast.branchNotMerged":`La branche n'est pas entièrement fusionnée`,"branchPickerDialog.toast.confirmAgainToForceDelete":`Confirmez à nouveau pour forcer la suppression`,"branchPickerDialog.toast.failedToDeleteBranch":`Échec de la suppression de la branche`,"branchPickerDialog.toast.worktreeCreated":`Worktree créé`,"branchPickerDialog.toast.failedToCreateWorktree":`Échec de la création du worktree`,"branchPickerDialog.error.failedToLoad":`Échec du chargement des branches`,"branchPickerDialog.error.renameRejected":`Le changement de nom a été refusé`,"branchPickerDialog.error.renameFailed":`Échec du renommage de la branche`,"branchPickerDialog.error.deleteRejected":`La suppression a été refusée`,"branchPickerDialog.error.deleteFailed":`Échec de la suppression de la branche`,"branchPickerDialog.error.createWorktreeFailed":`Échec de la création du worktree`,"projectEditDialog.title":`Modifier le projet`,"projectEditDialog.field.name":`Nom`,"projectEditDialog.field.namePlaceholder":`Nom du projet`,"projectEditDialog.field.color":`Couleur`,"projectEditDialog.field.icon":`Icône`,"projectEditDialog.field.preview":`Aperçu`,"projectEditDialog.field.iconBackground":`Fond d'icône`,"projectEditDialog.field.iconBackgroundAria":`Couleur d’arrière-plan de l’icône du projet`,"projectEditDialog.option.none":`Aucun`,"projectEditDialog.actions.uploadIcon":`Icône de téléchargement`,"projectEditDialog.actions.uploading":`Téléchargement...`,"projectEditDialog.actions.discoverFavicon":`Découvrez Favicon`,"projectEditDialog.actions.discovering":`Découverte...`,"projectEditDialog.actions.removeProjectIcon":`Supprimer l'icône du projet`,"projectEditDialog.actions.removing":`Suppression...`,"projectEditDialog.actions.undoRemove":`Annuler Supprimer`,"projectEditDialog.actions.clear":`Effacer`,"projectEditDialog.actions.cancel":`Annuler`,"projectEditDialog.actions.save":`Sauvegarder`,"projectEditDialog.toast.failedToUploadIcon":`Échec du téléchargement de l'icône du projet`,"projectEditDialog.toast.iconUpdated":`Icône du projet mise à jour`,"projectEditDialog.toast.failedToRemoveIcon":`Échec de la suppression de l'icône du projet`,"projectEditDialog.toast.iconRemoved":`Icône du projet supprimée`,"projectEditDialog.toast.failedToDiscoverIcon":`Échec de la découverte de l'icône du projet`,"projectEditDialog.toast.customIconAlreadySet":`Icône personnalisée déjà définie pour ce projet`,"projectEditDialog.toast.iconDiscovered":`Icône de projet découverte`,"agentManager.sidebar.search.placeholder":`Rechercher des groupes d'agents...`,"agentManager.sidebar.actions.newAgentGroup":`Nouveau groupe d'agents`,"agentManager.sidebar.actions.more":`... Plus ({count})`,"agentManager.sidebar.actions.showLess":`Afficher moins`,"agentManager.sidebar.section.agentGroups":`Groupes d'agents`,"agentManager.sidebar.state.loading":`Chargement...`,"agentManager.sidebar.state.noGroupsFound":`Aucun groupe trouvé`,"agentManager.sidebar.state.noGroupsYet":`Aucun groupe d'agents pour l'instant`,"agentManager.sidebar.state.createToGetStarted":`Créez un nouveau groupe d'agents pour commencer`,"agentManager.sidebar.item.modelCountSingle":`Modèle {count}`,"agentManager.sidebar.item.modelCountPlural":`Modèles {count}`,"agentManager.sidebar.item.groupMenuAria":`Menu de groupe`,"agentManager.sidebar.item.delete":`Supprimer`,"agentManager.sidebar.relativeTime.now":`maintenant`,"agentManager.sidebar.relativeTime.minutes":`{count}m`,"agentManager.sidebar.relativeTime.hours":`{count}h`,"agentManager.sidebar.relativeTime.days":`{count}d`,"agentManager.sidebar.dialog.deleteGroupTitle":`Supprimer le groupe d'agents`,"agentManager.sidebar.dialog.deleteGroupDescription":`Supprimer «\xA0{group}\xA0» ? Cela supprime tous les worktrees et sessions de ce groupe.`,"agentManager.sidebar.dialog.cancel":`Annuler`,"agentManager.sidebar.dialog.delete":`Supprimer`,"agentManager.sidebar.dialog.deleting":`Suppression...`,"agentManager.sidebar.toast.deletingGroup":`Suppression de "{group}"...`,"agentManager.sidebar.toast.deletedGroup":`"{group}" supprimé`,"agentManager.sidebar.toast.failedToDeleteGroup":`Échec de la suppression complète de "{group}"`,"agentManager.detail.header.modelCountSingle":`Modèle {count}`,"agentManager.detail.header.modelCountPlural":`Modèles {count}`,"agentManager.detail.header.noBranch":`Pas de branche`,"agentManager.detail.actions.worktreeActionsAria":`Actions du worktree`,"agentManager.detail.actions.removeThisWorktree":`Supprimer ce worktree`,"agentManager.detail.actions.keepThisRemoveOthers":`Laissez celui-ci, supprimez les autres`,"agentManager.detail.actions.copyWorktreePath":`Copier le chemin du worktree`,"agentManager.detail.dialog.removeWorktreeTitle":`Supprimer le worktree`,"agentManager.detail.dialog.removeOtherWorktreesTitle":`Supprimer les autres worktrees`,"agentManager.detail.dialog.removeWorktreeDescription":`Supprimer «\xA0{label}\xA0» ? Cela supprime toutes les sessions de ce worktree ainsi que le worktree lui-même.`,"agentManager.detail.dialog.removeOtherWorktreesDescription":`Conservez "{label}" et supprimez les autres worktrees dans "{group}".`,"agentManager.detail.dialog.cancel":`Annuler`,"agentManager.detail.dialog.remove":`Retirer`,"agentManager.detail.dialog.removeOthers":`Supprimer les autres`,"agentManager.detail.dialog.working":`Fonctionnement...`,"agentManager.detail.state.loadingSessionFor":`Session de chargement pour {label}`,"agentManager.detail.state.sessionId":`ID de session : {id}`,"agentManager.detail.state.noSessionsInGroup":`Aucune session dans ce groupe`,"agentManager.detail.toast.noWorktreePath":`Aucun chemin de worktree disponible`,"agentManager.detail.toast.worktreePathCopied":`Chemin du worktree copié`,"agentManager.detail.toast.failedToCopyPath":`Échec de la copie du chemin`,"agentManager.detail.toast.removingWorktree":`Suppression du worktree...`,"agentManager.detail.toast.removingOtherWorktrees":`Suppression d'autres worktrees...`,"agentManager.detail.toast.failedToFullyRemoveWorktree":`Échec de la suppression complète du worktree`,"agentManager.detail.toast.worktreeRemoved":`Worktree supprimé`,"agentManager.detail.toast.otherWorktreesRemoved":`Suppression d'autres worktrees`,"agentManager.empty.groupName.label":`Nom du groupe`,"agentManager.empty.groupName.placeholder":`e.g. fonctionnalité-auth, correction de bugs-connexion`,"agentManager.empty.groupName.description":`Utilisé pour le répertoire du worktree et le nommage des branches`,"agentManager.empty.baseBranch.label":`Branche de base`,"agentManager.empty.baseBranch.description":`Crée de nouvelles branches à partir de {branch}`,"agentManager.empty.setupCommands.label":`Commandes de configuration`,"agentManager.empty.setupCommands.configured":`{count} configuré`,"agentManager.empty.setupCommands.description":`Les commandes s'exécutent dans chaque nouveau worktree. Utilisez $ROOT_PROJECT_PATH pour la racine du projet.`,"agentManager.empty.setupCommands.loading":`Chargement...`,"agentManager.empty.setupCommands.commandPlaceholder":`p. ex. bun install`,"agentManager.empty.setupCommands.removeCommandAria":`Supprimer la commande`,"agentManager.empty.setupCommands.addCommand":`Ajouter une commande`,"agentManager.empty.agent.label":`Agent`,"agentManager.empty.agent.description":`Par défaut, votre agent par défaut configuré`,"agentManager.empty.models.label":`Modèles`,"agentManager.empty.models.addModel":`Ajouter un modèle`,"agentManager.empty.models.selectedSingle":`Modèle {count} sélectionné`,"agentManager.empty.models.selectedPlural":`Modèles {count} sélectionnés`,"agentManager.empty.prompt.label":`Invite`,"agentManager.empty.prompt.placeholder":`Demandez n'importe quoi...`,"agentManager.empty.prompt.addAttachmentAria":`Ajouter une pièce jointe`,"agentManager.empty.actions.startAgentGroupAria":`Démarrer le groupe d'agents`,"agentManager.empty.toast.fileTooLarge":`Le fichier "{fileName}" est trop volumineux (max 10\xA0Mo)`,"agentManager.empty.toast.failedToAttach":`Échec de la connexion de "{fileName}"`,"agentManager.empty.toast.attachedSingle":`Fichier {count} joint`,"agentManager.empty.toast.attachedPlural":`Fichiers {count} joints`,"agentManager.empty.toast.failedToCreateGroup":`Échec de la création du groupe d'agents`,"openInApp.actions.open":`Ouvrir`,"openInApp.actions.openInAria":`Ouvert dans {app}`,"openInApp.actions.chooseAppAria":`Choisissez l'application à ouvrir`,"openInApp.actions.copyPath":`Copier le chemin`,"openInApp.actions.refreshApps":`Actualiser les applications`,"openInApp.toast.pathCopied":`Chemin copié dans le presse-papiers`,"projectActions.actions.addActionAria":`Ajouter une action`,"projectActions.actions.addAction":`Ajouter une action`,"projectActions.actions.addNewAction":`Ajouter une nouvelle action`,"projectActions.actions.autoDiscover":`Découverte automatique`,"projectActions.actions.chooseActionAria":`Choisir l'action du projet`,"projectActions.actions.openPreview":`Ouvrir l'aperçu`,"projectActions.actions.runNamedAria":`Exécutez {name}`,"projectActions.actions.stopNamedAria":`Arrêter {name}`,"projectActions.label.fallbackAction":`Action`,"projectActions.toast.openedUrlFromOutput":`URL ouvert à partir de la sortie d'action`,"projectActions.toast.openedForwardedUrl":`Ouvert transmis URL`,"projectActions.toast.openedActionUrl":`Action ouverte URL`,"projectActions.error.noActiveDirectory":`Pas de répertoire actif`,"projectActions.error.noActiveDirectoryForAction":`Pas de répertoire actif pour l'action`,"projectActions.error.failedToCreateTerminalSession":`Échec de la création d'une session de terminal`,"projectActions.error.invalidCustomUrlFormat":`Format URL personnalisé non valide`,"projectActions.error.selectedDesktopSshForwardUnavailable":`Le transfert du bureau SSH sélectionné n'est pas disponible`,"projectActions.error.failedToRunAction":`Échec de l'exécution de l'action`,"mcpDropdown.title":`Serveurs MCP`,"mcpDropdown.actions.refreshAria":`Rafraîchir`,"mcpDropdown.actions.openAria":`Serveurs MCP`,"mcpDropdown.statusAria":`Statut MCP`,"mcpDropdown.status.unknown":`Inconnu`,"mcpDropdown.status.connected":`Connecté`,"mcpDropdown.status.failed":`Échec : {error}`,"mcpDropdown.status.unknownError":`Erreur inconnue`,"mcpDropdown.status.needsAuth":`Nécessite une authentification`,"mcpDropdown.status.needsRegistration":`Nécessite un enregistrement : {error}`,"mcpDropdown.empty.configureInConfig":`Configurez les serveurs MCP dans la configuration OpenCode.`,"sessionAuth.error.rateLimitTitle":`Trop de tentatives`,"sessionAuth.error.networkTitle":`Impossible d'atteindre le serveur`,"sessionAuth.error.rateLimitDescriptionSingle":`Veuillez attendre {minutes} minute avant de réessayer.`,"sessionAuth.error.rateLimitDescriptionPlural":`Veuillez attendre {minutes} minutes avant de réessayer.`,"sessionAuth.error.networkDescription":`Nous n'avons pas pu vérifier la session d'interface utilisateur. Si vous ouvrez OpenChamber depuis un autre appareil sur votre réseau local, activez l'accès au réseau du bureau dans l'application de bureau et utilisez l'adresse LAN indiquée dans les paramètres.`,"sessionAuth.error.retry":`Réessayer`,"sessionAuth.error.passkeySetupFailed":`La configuration du mot de passe a échoué.`,"sessionAuth.error.incorrectPassword":`Mot de passe incorrect. Essayer à nouveau.`,"sessionAuth.error.unexpectedResponse":`Réponse inattendue du serveur.`,"sessionAuth.error.networkRetry":`Erreur réseau. Vérifiez la connexion et réessayez.`,"sessionAuth.error.passkeySignInCanceled":`La connexion par mot de passe a été annulée.`,"sessionAuth.error.enterPasswordForPasskey":`Entrez votre mot de passe pour ajouter un mot de passe.`,"sessionAuth.locked.tunnelTitle":`Accès au tunnel requis`,"sessionAuth.locked.unlockTitle":`Débloquez OpenChamber`,"sessionAuth.locked.tunnelDescription":`Ouvrez ce tunnel à l'aide du lien de connexion unique depuis l'application de bureau.`,"sessionAuth.locked.passwordDescription":`Cette session est protégée par mot de passe.`,"sessionAuth.locked.hostSwitcherHint":`Utilisez local si la remote est inaccessible.`,"sessionAuth.actions.cancelPasskey":`Annuler le mot de passe`,"sessionAuth.actions.usePasskey":`Utiliser le mot de passe`,"sessionAuth.actions.unlockingAria":`Déverrouillage`,"sessionAuth.actions.unlockAria":`Ouvrir`,"sessionAuth.actions.trustDevice":`Faites confiance à cet appareil`,"sessionAuth.actions.trustDeviceAria":`Faites confiance à cet appareil`,"sessionAuth.actions.cancelPasskeySetup":`Annuler la configuration du mot de passe`,"sessionAuth.actions.addPasskey":`Ajouter un mot de passe`,"sessionAuth.password.placeholder":`Entrez le mot de passe`,"sessionAuth.toast.passkeyAdded":`Clé d'accès ajoutée`,"sessionAuth.toast.passkeySetupCanceled":`Configuration du mot de passe annulée`,"desktopHostSwitcher.title":`Instance`,"desktopHostSwitcher.transition.title":`Changement d’instance…`,"desktopHostSwitcher.transition.description":`Chargement des données de l’instance sélectionnée.`,"desktopHostSwitcher.description":`Basculer entre les serveurs OpenChamber locaux et distants`,"desktopHostSwitcher.header.current":`Actuel`,"desktopHostSwitcher.header.default":`Défaut`,"desktopHostSwitcher.header.currentColon":`Actuel:`,"desktopHostSwitcher.header.currentDefaultColon":`Valeur par défaut actuelle :`,"desktopHostSwitcher.status.connected":`Connecté`,"desktopHostSwitcher.status.authRequired":`Authentification requise`,"desktopHostSwitcher.status.wrongService":`Mauvais service`,"desktopHostSwitcher.status.unreachable":`Injoignable`,"desktopHostSwitcher.status.unknown":`Inconnu`,"desktopHostSwitcher.status.ping":`· Ping {ms}ms`,"desktopHostSwitcher.statusAria":`Statut de l'instance`,"desktopHostSwitcher.sshPhase.ready":`Prêt`,"desktopHostSwitcher.sshPhase.error":`Erreur`,"desktopHostSwitcher.sshPhase.reconnecting":`Reconnexion`,"desktopHostSwitcher.sshPhase.resolvingConfig":`Résolution de la configuration`,"desktopHostSwitcher.sshPhase.checkingAuth":`Vérification de l'authentification`,"desktopHostSwitcher.sshPhase.connectingSsh":`Connexion du SSH`,"desktopHostSwitcher.sshPhase.probingRemote":`Sondage à distance`,"desktopHostSwitcher.sshPhase.installing":`Installation`,"desktopHostSwitcher.sshPhase.updating":`Mise à jour`,"desktopHostSwitcher.sshPhase.detectingServer":`Serveur de détection`,"desktopHostSwitcher.sshPhase.startingServer":`Démarrage du serveur`,"desktopHostSwitcher.sshPhase.forwardingPorts":`Ports de transfert`,"desktopHostSwitcher.sshPhase.idle":`Inactif`,"desktopHostSwitcher.ssh.needInstancesHint":`Besoin d'instances SSH ? Gérez-les dans Paramètres.`,"desktopHostSwitcher.ssh.instanceFallback":`Instance SSH`,"desktopHostSwitcher.ssh.connectingTo":`Connexion à {host}`,"desktopHostSwitcher.actions.refresh":`Rafraîchir`,"desktopHostSwitcher.actions.refreshInstancesAria":`Actualiser les instances`,"desktopHostSwitcher.actions.remoteSsh":`SSH remote`,"desktopHostSwitcher.actions.instanceActionsAria":`Actions d'instance`,"desktopHostSwitcher.actions.edit":`Modifier`,"desktopHostSwitcher.actions.delete":`Supprimer`,"desktopHostSwitcher.actions.connect":`Connecter`,"desktopHostSwitcher.actions.defaultInstanceAria":`Instance par défaut`,"desktopHostSwitcher.actions.setAsDefaultAria":`Définir par défaut`,"desktopHostSwitcher.actions.setAsDefault":`Définir par défaut`,"desktopHostSwitcher.actions.openInNewWindowAria":`Ouvrir dans une nouvelle fenêtre`,"desktopHostSwitcher.actions.openInNewWindow":`Ouvrir dans une nouvelle fenêtre`,"desktopHostSwitcher.actions.addInstance":`Ajouter une instance`,"desktopHostSwitcher.actions.cancel":`Annuler`,"desktopHostSwitcher.actions.save":`Sauvegarder`,"desktopHostSwitcher.actions.add":`Ajouter`,"desktopHostSwitcher.actions.switchToLocal":`Passer au local`,"desktopHostSwitcher.actions.retry":`Réessayer`,"desktopHostSwitcher.actions.switchInstanceAria":`Changer d'instance`,"desktopHostSwitcher.actions.switchInstance":`Changer d'instance`,"desktopHostSwitcher.actions.switchToAria":`Passer à {instance}`,"desktopHostSwitcher.field.labelPlaceholder":`Étiquette`,"desktopHostSwitcher.field.labelOptionalPlaceholder":`Étiquette (facultatif)`,"desktopHostSwitcher.field.urlPlaceholder":`https://hôte:port`,"desktopHostSwitcher.state.limitedOnPage":`Le sélecteur d'instance est limité sur cette page. Utilisez Local pour récupérer.`,"desktopHostSwitcher.state.loading":`Chargement...`,"desktopHostSwitcher.state.instanceUnreachable":`Instance inaccessible`,"desktopHostSwitcher.edit.title":`Modifier l'instance`,"desktopHostSwitcher.add.title":`Ajouter une instance`,"desktopHostSwitcher.error.failedToSave":`Échec de l'enregistrement`,"desktopHostSwitcher.error.failedToLoad":`Échec du chargement`,"desktopHostSwitcher.error.invalidUrl":`URL non valide (doit être http/https)`,"desktopHostSwitcher.error.failedToOpenNewWindow":`Échec de l'ouverture d'une nouvelle fenêtre`,"desktopHostSwitcher.instance.local":`Local`,"desktopHostSwitcher.instance.fallback":`Instance`,"desktopHostSwitcher.startup.title":`Instance SSH par défaut indisponible`,"desktopHostSwitcher.startup.connectingTo":`Connexion à {host}...`,"desktopHostSwitcher.startup.failed":`Échec de la connexion de l'instance SSH par défaut.`,"desktopHostSwitcher.toast.sshConnected":`Instance SSH "{host}" connectée`,"desktopHostSwitcher.toast.sshFailedToConnect":`L'instance SSH "{host}" n'a pas réussi à se connecter`,"desktopHostSwitcher.toast.instanceUnreachable":`L'instance "{host}" est inaccessible`,"miniChat.header.newSession":`Nouvelle session`,"miniChat.header.session":`Session`,"miniChat.header.defaultAgent":`Agent par défaut`,"miniChat.header.noModel":`Aucun modèle`,"miniChat.status.busy":`En cours d'exécution`,"miniChat.status.retry":`Réessayer`,"miniChat.status.idle":`Inactif`,"miniChat.actions.pin":`Épingler au-dessus des autres fenêtres`,"miniChat.actions.unpin":`Détacher la fenêtre`,"miniChat.actions.pinAria":`Épingler la fenêtre Mini Chat`,"miniChat.actions.unpinAria":`Désépingler la fenêtre Mini Chat`,"miniChat.actions.openMain":`Ouvrir dans la fenêtre principale`,"miniChat.actions.openMainAria":`Ouvrir la session dans la fenêtre principale`,"miniChat.unavailable.title":`Session indisponible`,"miniChat.unavailable.description":`Cette session n'a pas pu être chargée. Il peut avoir été supprimé, archivé ou ouvert à partir d'un contexte de projet différent.`,"sessions.sidebar.session.menu.openMiniChatWindow":`Ouvrir dans la mini-fenêtre de discussion`,"header.actions.newMiniChat":`Nouvelle mini-fenêtre de discussion`,"header.actions.newMiniChatAria":`Ouvrir une nouvelle fenêtre de mini-chat`,"header.actions.openSessionMiniChat":`Session ouverte dans le mini-chat`,"header.actions.openSessionMiniChatAria":`Ouvrir la session en cours dans Mini Chat`,"header.windowControls.groupAria":`Champs de fenêtre`,"header.windowControls.minimize":`Réduire la fenêtre`,"header.windowControls.maximize":`Agrandir la fenêtre`,"header.windowControls.restore":`Fenêtre de restauration`,"header.windowControls.close":`Fermer la fenêtre`,"errorBoundary.title":`Quelque chose s'est mal passé`,"errorBoundary.description":`L'application a rencontré une erreur inattendue. Cela a été enregistré pour le débogage.`,"errorBoundary.state.unknownError":`Erreur inconnue`,"errorBoundary.state.componentStackLabel":`Pile de composants :`,"errorBoundary.actions.errorDetails":`Détails de l'erreur`,"errorBoundary.actions.tryAgain":`Essayer à nouveau`,"errorBoundary.actions.copy":`Copie`,"errorBoundary.actions.copied":`Copié`,"jsonTreeView.error.emptyJson":`Contenu JSON vide`,"jsonTreeView.error.invalidJson":`JSON invalide`,"jsonTreeView.error.invalidJsonTitle":`JSON invalide`,"jsonTreeView.actions.expandAll":`Développer tout`,"jsonTreeView.actions.collapseAll":`Réduire tout`,"numberInput.actions.decreaseAria":`Diminuer la valeur`,"numberInput.actions.increaseAria":`Augmenter la valeur`,"goToLineDialog.field.linePlaceholderShort":`Ligne`,"goToLineDialog.field.linePlaceholder":`Numéro de ligne`,"goToLineDialog.actions.go":`Aller`,"goToLineDialog.helper.editorUnavailable":`Éditeur indisponible.`,"goToLineDialog.helper.currentLineRange":`Ligne actuelle : {current}. Tapez un numéro de ligne compris entre 1 et {max} vers lequel accéder.`,"goToLineDialog.helper.goToLine":`Aller à la ligne {line}`,"dialog.common.actions.close":`Fermer`,"filesView.toast.relativePathCopied":`Chemin relatif copié`,"filesView.tree.menu.copyRelativePath":`Copier le chemin relatif`,"multiRun.branchSelector.placeholder.selectSourceBranch":`Sélectionnez la branche source...`,"multiRun.branchSelector.status.loadingBranches":`Chargement des branches...`,"multiRun.branchSelector.status.noBranchesFound":`Aucune branche trouvée`,"multiRun.branchSelector.status.notInGitRepository":`Pas dans un dépôt git.`,"multiRun.branchSelector.groups.localBranches":`Branches locales`,"multiRun.branchSelector.groups.remoteBranches":`Branches du dépôt distant`,"multiRun.window.actions.closeAria":`Fermer le multi-exécution`,"multiRun.window.description":`Fenêtre multi-exécution OpenChamber.`,"voice.status.idle":`Prêt pour la voix`,"voice.status.listening":`Écoute...`,"voice.status.processing":`Traitement...`,"voice.status.speaking":`Parlant...`,"voice.status.error":`Erreur vocale`,"voice.status.conversationModeActiveAria":`Mode conversation actif`,"voice.action.finishAndTranscribe":`Terminer et transcrire la saisie vocale`,"onboarding.common.actions.back":`Retour`,"onboarding.common.copyToClipboard":`Copier dans le presse-papier`,"onboarding.common.status.copiedToClipboard":`Copié dans le presse-papiers`,"onboarding.chooser.title":`Bienvenue sur OpenChamber`,"onboarding.chooser.description":`Choisissez comment vous souhaitez vous connecter pour commencer.`,"onboarding.chooser.tabs.localInstall":`Installation locale`,"onboarding.chooser.tabs.connectRemote":`Se connecter en remote`,"onboarding.localSetup.title":`Configuration de OpenCode`,"onboarding.localSetup.description":`Installez OpenCode CLI pour continuer.`,"onboarding.localSetup.dialog.selectOpencodeBinary":`Sélectionnez le binaire OpenCode`,"onboarding.localSetup.errors.cliNotReady":`OpenCode CLI n’est pas encore prêt. Veuillez confirmer que l'installation est terminée et réessayer.`,"onboarding.localSetup.errors.detectionFailed":`Échec de la détection`,"onboarding.localSetup.windows.title":`Configuration de Windows (WSL recommandé)`,"onboarding.localSetup.windows.stepInstallWsl":`Installez WSL (si nécessaire) avec`,"onboarding.localSetup.windows.stepInstallWslSuffix":`dans PowerShell.`,"onboarding.localSetup.windows.stepRunInstallInWsl":`Exécutez la commande d'installation ci-dessous dans votre terminal WSL.`,"onboarding.localSetup.windows.stepSetBinaryPath":`Si OpenChamber ne détecte pas automatiquement OpenCode, définissez le chemin binaire ci-dessous.`,"onboarding.localSetup.intro":`OpenCode est le cœur de OpenChamber — installez-le pour commencer.`,"onboarding.localSetup.docs.windows":`Documents OpenCode Windows + WSL`,"onboarding.localSetup.docs.default":`Documents OpenCode`,"onboarding.localSetup.actions.checking":`Vérification…`,"onboarding.localSetup.actions.checkNow":`Vérifiez maintenant`,"onboarding.localSetup.actions.checkAndContinue":`J’ai terminé l’installation, vérifier et continuer`,"onboarding.localSetup.helper.checkAndContinue":`Cliquez pour vérifier si OpenCode CLI est disponible. En cas de succès, vous entrerez automatiquement dans l'écran principal.`,"onboarding.localSetup.status.watching":`En attendant OpenCode`,"onboarding.localSetup.status.autoContinue":`Nous continuerons automatiquement une fois qu’il sera détecté.`,"onboarding.localSetup.field.alreadyInstalled":`Déjà installé ? Définissez le chemin OpenCode CLI :`,"onboarding.localSetup.advanced.title":`Définir un chemin binaire personnalisé`,"onboarding.localSetup.troubleshoot.title":`Vous avez des problèmes ?`,"onboarding.localSetup.actions.browse":`Parcourir`,"onboarding.localSetup.actions.apply":`Appliquer`,"onboarding.localSetup.helper.saveAndReload":`Enregistre dans les paramètres OpenChamber et recharge la configuration OpenCode.`,"onboarding.localSetup.remotePreference":`Vous préférez utiliser un serveur distant ?`,"onboarding.localSetup.actions.connectRemoteServer":`Se connecter au serveur distant →`,"onboarding.localSetup.windows.hintInstallInWsl":`Sous Windows, installez et exécutez OpenCode dans WSL pour une meilleure compatibilité.`,"onboarding.localSetup.windows.hintDetectionFailed":`Si la détection échoue, définissez un chemin natif (opencode.cmd/opencode.exe), wsl.exe ou wsl:/usr/local/bin/opencode.`,"onboarding.localSetup.hint.ensurePath":`Déjà installé ? Assurez-vous qu'OpenCode est dans votre PATH.`,"onboarding.localSetup.hint.setEnv":`Ou définissez la variable d'environnement OPENCODE_BINARY.`,"onboarding.localSetup.hint.missingRuntime":`Si vous voyez « env: node : No such file or directory » ou « env: bun : No such file or directory », installez ce runtime ou assurez-vous qu'il se trouve sur PATH.`,"onboarding.remoteConnection.title":`Se connecter au serveur distant`,"onboarding.remoteConnection.titleRecovery":`Connectez-vous à un autre serveur`,"onboarding.remoteConnection.description":`Saisissez l'adresse d'un serveur OpenChamber auquel vous connecter.`,"onboarding.remoteConnection.field.serverAddress":`Adresse du serveur`,"onboarding.remoteConnection.field.serverAddressPlaceholder":`https://your-server.example.com:4096`,"onboarding.remoteConnection.field.nameOptional":`Nom (facultatif)`,"onboarding.remoteConnection.field.namePlaceholder":`Mon serveur distant`,"onboarding.remoteConnection.errors.connectionTestFailed":`Le test de connexion a échoué`,"onboarding.remoteConnection.errors.failedToSaveConnection":`Échec de l'enregistrement de la connexion`,"onboarding.remoteConnection.status.connectedSuccessfully":`Connecté avec succès ({latencyMs}ms)`,"onboarding.remoteConnection.status.authWarning":`Le serveur nécessite une authentification. Vous pouvez toujours vous connecter.`,"onboarding.remoteConnection.status.connectionFailed":`Échec de la connexion`,"onboarding.remoteConnection.status.suggestionsUnreachable":`Suggestions : vérifiez l'adresse du serveur, vérifiez que le serveur est en cours d'exécution ou vérifiez votre connexion réseau.`,"onboarding.remoteConnection.status.suggestionsWrongService":`Suggestions : vérifiez que l’URL pointe vers un serveur OpenChamber ou contactez l'administrateur du serveur.`,"onboarding.remoteConnection.actions.testing":`Essai…`,"onboarding.remoteConnection.actions.testConnection":`Tester la connexion`,"onboarding.remoteConnection.actions.connectAndRestart":`Connectez-vous et redémarrez`,"onboarding.remoteConnection.actions.whatToDo":`Qu'aimeriez-vous faire ?`,"onboarding.remoteConnection.actions.chooseDifferentServer":`Choisissez un autre serveur`,"onboarding.remoteConnection.actions.useLocalInstead":`Utilisez plutôt local`,"onboarding.remoteConnection.probe.authMessage":`Le serveur nécessite une authentification. Vous pouvez toujours vous connecter, mais vous devrez peut-être fournir des informations d'identification.`,"onboarding.remoteConnection.probe.wrongServiceMessage":`Le serveur a répondu mais n'exécute pas OpenChamber. Vérifiez que l'adresse pointe vers un serveur OpenChamber.`,"onboarding.remoteConnection.probe.unreachableMessage":`Le serveur est inaccessible. Vérifiez votre connexion réseau et vérifiez l'adresse du serveur.`,"onboarding.desktopRecovery.localUnavailable.title":`OpenCode local indisponible`,"onboarding.desktopRecovery.localUnavailable.description":`OpenCode CLI n'a pas pu être démarré ou n'est pas installé. Installez OpenCode ou connectez-vous plutôt à un serveur distant.`,"onboarding.desktopRecovery.localUnavailable.retry":`Réessayer en local`,"onboarding.desktopRecovery.localUnavailable.useLocal":`Configurer localement`,"onboarding.desktopRecovery.noDefaultConnection.title":`Aucune connexion par défaut`,"onboarding.desktopRecovery.noDefaultConnection.description":`Votre connexion par défaut enregistrée est introuvable. Choisissez comment vous souhaitez vous connecter.`,"onboarding.desktopRecovery.remoteUnreachable.title":`Serveur distant inaccessible`,"onboarding.desktopRecovery.remoteUnreachable.description":`Impossible de se connecter à "{host}". Vérifiez votre connexion réseau et vérifiez l'adresse du serveur.`,"onboarding.desktopRecovery.remoteUnreachable.retry":`Réessayer la connexion`,"onboarding.desktopRecovery.incompatibleServer.title":`Serveur incompatible`,"onboarding.desktopRecovery.incompatibleServer.description":`Le serveur «\xA0{host}\xA0» n'exécute pas OpenChamber. Vérifiez que l'adresse pointe vers un serveur OpenChamber.`,"onboarding.desktopRecovery.common.useLocal":`Utiliser local`,"onboarding.desktopRecovery.common.useRemote":`Utiliser le remote`,"onboarding.desktopRecovery.actions.retrying":`Nouvelle tentative…`,"onboarding.desktopRecovery.actions.retryConnection":`Réessayer la connexion`,"startup.initRecovery.title":`Le démarrage a échoué`,"startup.initRecovery.description":`OpenChamber n'a pas pu terminer l'initialisation. Vérifiez que le serveur est en cours d'exécution, puis réessayez.`,"startup.initRecovery.retry":`Réessayer`,"startup.initRecovery.retrying":`Nouvelle tentative…`,"onboarding.desktopRecovery.placeholders.remoteServer":`le serveur distant`,"onboarding.desktopRecovery.placeholders.unknownServer":`inconnu`,"vscodeLayout.title.chat":`Chat`,"vscodeLayout.title.newSession":`Nouvelle session`,"vscodeLayout.title.sessions":`Sessions`,"vscodeLayout.title.sessionFallback":`Session`,"vscodeLayout.actions.backToSessionsAria":`Retour aux sessions`,"vscodeLayout.actions.newSessionAria":`Nouvelle session`,"vscodeLayout.actions.openAgentManagerAria":`Ouvrir le gestionnaire d'agents`,"vscodeLayout.actions.resizeSessionsSidebarAria":`Redimensionner la barre latérale des sessions`,"vscodeLayout.actions.settingsAria":`Paramètres`,"vscodeLayout.quota.title":`Limites de taux`,"vscodeLayout.quota.mode.used":`Utilisé`,"vscodeLayout.quota.mode.remaining":`Restant`,"vscodeLayout.quota.lastUpdated":`Dernière mise à jour {time}`,"vscodeLayout.quota.noRateLimitsAvailable":`Aucune limite de taux disponible.`,"vscodeLayout.quota.noRateLimitsReported":`Aucune limite de taux signalée.`,"vscodeLayout.quota.actions.rateLimitsAria":`Limites de taux`,"vscodeLayout.quota.actions.showUsedAria":`Afficher le quota utilisé`,"vscodeLayout.quota.actions.showRemainingAria":`Afficher le quota restant`,"vscodeLayout.quota.actions.refreshAria":`Limites du taux de rafraîchissement`,"updateDialog.header.updateAvailable":`Mise à jour disponible`,"updateDialog.header.updating":`Mise à jour de OpenChamber...`,"updateDialog.status.installingUpdate":`Installation de la mise à jour...`,"updateDialog.status.serverRestarting":`Redémarrage du serveur...`,"updateDialog.status.waitingForServer":`En attente du serveur...`,"updateDialog.status.autoReloadHint":`La page se rechargera automatiquement une fois la mise à jour terminée.`,"updateDialog.fallback.updateViaTerminal":`Ou mettre à jour via le terminal :`,"updateDialog.actions.copyCommand":`Commande Copier`,"updateDialog.actions.copied":`Copié!`,"updateDialog.status.downloadingPayload":`Téléchargement de la charge utile de la mise à jour...`,"updateDialog.actions.downloadUpdate":`Télécharger la mise à jour`,"updateDialog.status.downloading":`Téléchargement...`,"updateDialog.actions.restartToUpdate":`Redémarrer pour mettre à jour`,"updateDialog.actions.updateNow":`Mettre à jour maintenant`,"updateDialog.actions.applyOtaNow":`Mettre à jour`,"updateDialog.actions.openMobileUpdate":`Ouvrir la mise à jour`,"updateDialog.changelog.title":`Nouveautés`,"updateDialog.status.updating":`Mise à jour...`,"updateDialog.error.updateFailed":`La mise à jour a échoué`,"updateDialog.error.takingLonger":`La mise à jour prend plus de temps que prévu. Attendez un peu et actualisez, ou exécutez : openchamber update`,"mobileUpdate.toast.available.title":`Mise à jour OpenChamber disponible`,"mobileUpdate.toast.available.description":`La version {version} est prête pour Android.`,"mobileUpdate.toast.actions.download":`Télécharger`,"mobileUpdate.toast.actions.dismiss":`Ignorer`,"opencodeUpdate.toast.available.title":`Mise à jour OpenCode`,"opencodeUpdate.toast.available.description":`Version {version} disponible.`,"opencodeUpdate.toast.actions.update":`Mise à jour`,"opencodeUpdate.toast.actions.dismiss":`Ignorer`,"opencodeUpdate.toast.actions.reload":`Recharger OpenCode`,"opencodeUpdate.toast.upgrading.title":`Mise à jour de OpenCode...`,"opencodeUpdate.toast.upgrading.description":`Gardez OpenChamber ouvert.`,"opencodeUpdate.toast.updated.title":`OpenCode mis à jour`,"opencodeUpdate.toast.updated.description":`Mise à jour installée.`,"opencodeUpdate.toast.updated.descriptionWithVersion":`Version {version} installée.`,"opencodeUpdate.toast.failed.title":`Impossible de mettre à jour OpenCode`,"opencodeUpdate.toast.failed.description":`La mise à niveau du OpenCode a échoué.`,"opencodeUpdate.toast.reload.message":`Redémarrage de OpenCode...`,"memoryDebugPanel.title":`Panneau de débogage`,"memoryDebugPanel.tabs.memory":`Mémoire`,"memoryDebugPanel.tabs.streaming":`Streaming`,"memoryDebugPanel.section.sessionsInMemory":`Sessions en mémoire`,"memoryDebugPanel.section.uiStreamingMetrics":`Métriques de streaming de l'interface utilisateur`,"memoryDebugPanel.section.vscodeBridgeMetrics":`Métriques du pont VS Code`,"memoryDebugPanel.section.noUiSamples":`Aucun échantillon de streaming d'interface utilisateur pour l'instant. Démarrez un flux et gardez ce panneau ouvert.`,"memoryDebugPanel.section.noVscodeSamples":`Aucun échantillon de pont VS Code pour l'instant.`,"memoryDebugPanel.metric.totalMessages":`Nombre total de messages`,"memoryDebugPanel.metric.cachedSessions":`Sessions mises en cache`,"memoryDebugPanel.metric.userMessages":`Messages utilisateur`,"memoryDebugPanel.metric.assistantMessages":`Messages assistant`,"memoryDebugPanel.metric.viewportWindow":`Fenêtre d'affichage`,"memoryDebugPanel.metric.zombieTimeout":`Délai d'attente des zombies`,"memoryDebugPanel.metric.githubTotalRequests":`GitHub Total des demandes`,"memoryDebugPanel.metric.metrics":`Métrique`,"memoryDebugPanel.metric.samples":`Échantillons`,"memoryDebugPanel.metric.lastUpdate":`Dernière mise à jour`,"memoryDebugPanel.metric.uiMetrics":`Métriques de l'interface utilisateur`,"memoryDebugPanel.metric.vscodeMetrics":`VS Code Métriques`,"memoryDebugPanel.metric.messageListRenders":`Rendus de liste de messages`,"memoryDebugPanel.metric.messageListStreamRenders":`Rendus de flux MsgList`,"memoryDebugPanel.metric.chatMessageRenders":`Rendus de messages de chat`,"memoryDebugPanel.metric.chatMessageStreamRenders":`Rendus de flux de messages ChatMessage`,"memoryDebugPanel.metric.chatMessageStaticDuringStream":`ChatMessage statique pendant le flux`,"memoryDebugPanel.metric.chatMessageStaticOutsideActiveTurn":`ChatMessage statique en dehors du tour actif`,"memoryDebugPanel.metric.messagesValue":`Messages {count}`,"memoryDebugPanel.metric.minutesValue":`Minutes {count}`,"memoryDebugPanel.metric.msgsValue":`Messages {count}`,"memoryDebugPanel.metric.roleMsgsValue":`U {user} / A {assistant}`,"memoryDebugPanel.metric.countValue":`compter {value}`,"memoryDebugPanel.metric.avgValue":`moyenne {value}`,"memoryDebugPanel.metric.maxValue":`maximum {value}`,"memoryDebugPanel.metric.totalValue":`total {value}`,"memoryDebugPanel.actions.logState":`État du journal`,"memoryDebugPanel.actions.copyJson":`Copier JSON`,"memoryDebugPanel.tooltip.logCurrentState":`Enregistrer l'état actuel de la mémoire sur la console du navigateur`,"memoryDebugPanel.streaming.copy.copied":`Débogage en streaming JSON copié`,"memoryDebugPanel.streaming.copy.failed":`Échec de la copie de JSON`,"memoryDebugPanel.streaming.copy.hint":`La copie exporte les métriques de streaming de l'interface utilisateur et de VS Code en tant que JSON.`,"memoryDebugPanel.common.idle":`inactif`,"memoryDebugPanel.common.live":`en direct`,"memoryDebugPanel.common.notAvailable":`n / A`,"memoryDebugPanel.common.untitled":`Sans titre`,"directoryTree.field.newDirectoryPlaceholder":`nouveau_répertoire`,"textarea.resizeHandleAria":`Redimensionner la zone de texte`,"sidebar.resize.leftPanelAria":`Redimensionner le panneau de gauche`,"sidebar.resize.rightPanelAria":`Redimensionner le panneau de droite`,"mainLayout.mobile.closeDrawerAria":`Fermer le tiroir`,"sortableTabsStrip.aria.tabs":`Onglets`,"openChamberLogo.aria.logo":`Logo OpenChamber`,"markdownRenderer.code.actions.copyTitle":`Copier le code`,"markdownRenderer.code.actions.copiedTitle":`Copié`,"markdownRenderer.table.actions.copyTitle":`Copier le tableau`,"markdownRenderer.code.actions.enableWrapTitle":`Activer le retour à la ligne`,"markdownRenderer.code.actions.disableWrapTitle":`Désactiver le retour à la ligne`,"markdownRenderer.table.actions.downloadTitle":`Télécharger le tableau`,"markdownRenderer.table.toast.downloadedAsFormat":`Table téléchargée sous le nom {format}`,"markdownRenderer.mermaid.actions.copyTitle":`Copie`,"markdownRenderer.mermaid.actions.copySourceTitle":`Copier la source`,"markdownRenderer.mermaid.actions.downloadSvgTitle":`Télécharger SVG`,"markdownRenderer.mermaid.actions.zoomInTitle":`Zoom avant`,"markdownRenderer.mermaid.actions.zoomOutTitle":`Zoom arrière`,"markdownRenderer.mermaid.actions.resetViewTitle":`Réinitialiser la vue`,"markdownRenderer.mermaid.toast.downloadFailed":`Échec du téléchargement du diagramme`,"common.date.today":`Aujourd’hui`,"common.date.yesterday":`Hier`,"common.date.yesterdayWithTime":`Hier {time}`,"common.relative.justNow":`À l’instant`,"common.relative.minutesAgoShort":`il y a {count} min`,"common.relative.hoursAgoShort":`il y a {count} h`,"common.relative.daysAgoShort":`il y a {count} j`,"common.relative.weeksAgoShort":`il y a {count} sem`,"common.relative.yearsAgoShort":`il y a {count} a`,"common.relative.minutesAgoCompact":`{count} min`,"common.relative.hoursAgoCompact":`{count} h`,"common.relative.daysAgoCompact":`{count} j`,"common.relative.weeksAgoCompact":`{count} sem`,"common.relative.monthsAgoCompact":`{count} mois`,"common.relative.yearsAgoCompact":`{count} a`,"contextFileOpen.failure.tooLarge":`Le fichier est trop volumineux pour être ouvert (> {count} lignes)`,"contextFileOpen.failure.missing":`Fichier introuvable`,"contextFileOpen.failure.unreadable":`Impossible d’ouvrir le fichier`,"quota.window.5h":`5 heures`,"quota.window.7d":`Limite sur 7 jours`,"quota.window.7dSonnet":`Limite Sonnet sur 7 jours`,"quota.window.7dOpus":`Limite Opus sur 7 jours`,"quota.window.weekly":`Limite hebdomadaire`,"quota.window.daily":`Quotidien`,"quota.window.monthly":`Limite mensuelle`,"quota.window.credits":`Crédits`,"quota.window.creditsBalance":`Solde de crédits`,"quota.window.billingCycle":`Cycle de facturation`,"quota.window.auto":`Auto`,"quota.window.api":`API`,"quota.window.planLimit":`Limite du forfait`,"quota.window.onDemand":`À la demande`,"quota.window.session":`Session`,"quota.window.premium":`Interactions premium`,"quota.window.chat":`Requêtes de chat`,"quota.window.completions":`Complétions`,"quota.window.premiumInteractions":`Interactions premium`,"layout.mainTab.diagram":`Diagramme`,"mobile.nav.aria":`Navigation mobile`,"mobile.nav.secondaryPageAria":`Page de détail`,"mobile.connect.welcome.title":`Se connecter à OpenChamber`,"mobile.connect.welcome.description":`Ajoutez une URL de serveur ou scannez un code QR d'appairage pour commencer à utiliser l'app mobile.`,"mobile.connect.url.label":`URL du serveur`,"mobile.connect.url.placeholder":`http://192.168.1.74:2606`,"mobile.connect.link.divider":`Ou utilisez un lien d'appairage`,"mobile.connect.address.divider":`Ou saisissez une adresse de serveur`,"mobile.connect.link.label":`Lien d'appairage`,"mobile.connect.link.placeholder":`Collez le lien openchamber://connect`,"mobile.connect.link.invalid":`Ce lien d'appairage n'est pas valide ou a expiré.`,"mobile.connect.token.label":`Jeton client`,"mobile.connect.token.placeholder":`Collez le jeton d'accès`,"mobile.connect.token.hint":`Nécessaire uniquement si votre serveur exige un jeton au lieu d'un mot de passe.`,"mobile.connect.password.label":`Mot de passe`,"mobile.connect.password.placeholder":`Mot de passe OpenChamber`,"mobile.connect.connectButton":`Se connecter`,"mobile.connect.unlockButton":`Déverrouiller et se connecter`,"mobile.connect.cancelPassword":`Utiliser un autre serveur`,"mobile.connect.connecting":`Connexion...`,"mobile.connect.scanQr":`Scanner le code QR`,"mobile.connect.welcome.scanHint":`Sur votre ordinateur, ouvrez « Ajouter un appareil » pour afficher un code QR, puis scannez-le ici.`,"mobile.connect.advanced":`Avancé`,"mobile.connect.manual.toggle":`Connexion manuelle`,"mobile.connect.scan.permissionDenied":`L'accès à la caméra est désactivé. Activez-le dans les Réglages pour scanner un code QR.`,"mobile.connect.scan.failed":`Impossible de scanner ce code QR. Réessayez ou saisissez l'URL manuellement.`,"mobile.connect.scan.invalid":`Ce code QR n'est pas un code de connexion OpenChamber.`,"mobile.connect.scan.unsupported":`Le scan QR est disponible uniquement dans l'app mobile installée.`,"mobile.connect.saved.title":`Connexions enregistrées`,"mobile.connect.saved.empty":`Aucune connexion enregistrée pour le moment.`,"mobile.connect.relay.badge":`via OpenChamber Relay`,"mobile.connect.error.urlRequired":`Saisissez une URL de serveur.`,"mobile.connect.splash.connectingTo":`Connexion à l’appareil :`,"mobile.connect.error.invalidUrl":`Cette URL de serveur n'est pas valide.`,"mobile.connect.error.unreachable":`Impossible de joindre ce serveur OpenChamber.`,"mobile.connect.error.authRequired":`Ce serveur nécessite un mot de passe ou un jeton client.`,"mobile.connect.error.passwordFailed":`Impossible de déverrouiller ce serveur. Vérifiez le mot de passe.`,"mobile.instances.addTitle":`Ajouter une instance`,"mobile.instances.addManual":`Ajouter par adresse`,"mobile.instances.editTitle":`Modifier l'instance`,"mobile.instances.edit":`Modifier`,"mobile.instances.delete":`Supprimer`,"mobile.instances.deleteAria":`Supprimer {label}`,"mobile.instances.confirmDeleteAria":`Confirmer la suppression de {label}`,"mobile.instances.cancelDeleteAria":`Conserver {label}`,"mobile.instances.cancelEdit":`Annuler`,"mobile.instances.label.label":`Nom`,"mobile.instances.label.placeholder":`Nom d'affichage facultatif`,"mobile.instances.saveNew":`Enregistrer l'instance`,"mobile.instances.status.connectedDirect":`Connecté · Réseau local`,"mobile.instances.status.connectedRelay":`Connecté · Relais`,"mobile.instances.status.connectedSshRelay":`Connecté · SSH via relais`,"mobile.instances.sshBadge":`SSH`,"mobile.instances.sshViaDesktop":`Acheminé via le bureau vers SSH`,"mobile.connect.error.sshNotConnected":`Cette instance SSH n’est pas connectée pour le moment.`,"mobile.connect.ssh.fallbackDesktop":`Instance SSH indisponible — connexion au bureau à la place.`,"mobile.instances.saveEdit":`Enregistrer les modifications`,"mobile.nav.changes":`Modifications`,"mobile.nav.settings":`Paramètres`,"mobile.tabs.projects":`Projets`,"mobile.tabs.assistant":`Agent`,"mobile.tabs.scheduled":`Tâches`,"mobile.tabs.settings":`Réglages`,"mobile.surface.closeAria":`Fermer`,"mobile.header.openMenuAria":`Ouvrir le menu`,"mobile.header.openMetadataAria":`Ouvrir les métadonnées de session`,"mobile.header.metadata.context":`Contexte`,"mobile.header.metadata.branch":`Branche`,"mobile.header.metadata.usage":`Utilisation`,"mobile.menu.titleAria":`Outils de l’espace de travail`,"mobile.menu.newSession":`Nouveau chat`,"mobile.chat.syncingMessages":`Synchronisation des messages...`,"mobile.menu.files":`Fichiers`,"mobile.menu.changes":`Modifications`,"mobile.menu.mcp":`MCP`,"mobile.menu.instances":`Instances`,"mobile.settings.switchInstance":`Changer d'instance`,"mobile.menu.update":`Mettre à jour`,"mobile.menu.settings":`Paramètres`,"mobile.sessions.newChatCta":`Nouveau Chat dans {project}`,"mobile.sessions.dateGroup.today":`Aujourd’hui`,"mobile.sessions.dateGroup.yesterday":`Hier`,"mobile.sessions.dateGroup.thisWeek":`Plus tôt cette semaine`,"mobile.sessions.dateGroup.older":`Plus ancien`,"mobile.sessions.section.worktrees":`Worktrees`,"mobile.sessions.mainWorkspace":`Espace de travail principal`,"mobile.sessions.section.pinned":`Épinglés`,"mobile.sessions.searchAria":`Rechercher des sessions`,"mobile.sessions.section.otherProjects":`Changer de projet`,"mobile.sessions.section.projects":`Projets`,"mobile.projects.menu.label":`Plus d'actions`,"mobile.projects.menu.newChat":`Nouvelle conversation`,"mobile.projects.menu.newProject":`Nouveau projet`,"mobile.projects.menu.scanQr":`Scanner un QR code`,"mobile.projects.menu.switchInstance":`Changer d'instance`,"mobile.sessions.empty.noProjectsTitle":`Aucun projet pour le moment`,"mobile.sessions.empty.noProjectsDescription":`Ajoutez un projet pour commencer à discuter avec votre code.`,"mobile.sessions.empty.noSessionsTitle":`Aucune session pour le moment`,"mobile.sessions.empty.noSessionsDescription":`Démarrez votre premier chat pour le voir ici.`,"mobile.sessions.empty.searchTitle":`Aucun résultat`,"mobile.sessions.empty.searchDescription":`Essayez un autre terme de recherche.`,"mobile.sessions.showArchived":`Afficher les archivées ({count})`,"mobile.sessions.hideArchived":`Masquer les archivées`,"mobile.sessions.activeWorktreeAria":`Worktree actif`,"mobile.sessions.activeProjectAria":`Projet actif`,"mobile.sessions.startNewChat":`Nouveau chat`,"mobile.sessions.newChat":`Nouveau Chat`,"mobile.sessions.editOrder":`Réordonner les projets`,"mobile.sessions.doneEditing":`Terminé`,"mobile.sessions.editOrderHint":`Faites glisser la poignée pour réordonner les projets. Touchez la coche pour terminer.`,"mobile.sessions.editProjectAria":`Modifier {label}`,"mobile.sessions.dragHandleAria":`Faire glisser {label} pour réordonner`,"mobile.sessions.moveUpAria":`Déplacer {label} vers le haut`,"mobile.sessions.moveDownAria":`Déplacer {label} vers le bas`,"mobile.sessions.removeProjectAria":`Supprimer {label}`,"mobile.sessions.cancelRemoveProjectAria":`Annuler la suppression de {label}`,"mobile.sessions.confirmRemoveProject":`Fermer`,"mobile.sessions.confirmRemoveProjectAria":`Confirmer la suppression de {label}`,"mobile.projects.closeConfirmMessage":`Fermer « {title} » ? Il quittera la liste des projets. Les sessions restent sur le disque.`,"mobile.sessions.toast.projectRemoved":`{label} supprimé`,"mobile.sessions.archiveSessionAria":`Archiver {title}`,"mobile.sessions.cancelArchiveAria":`Annuler l’archivage de {title}`,"mobile.sessions.stopSessionAria":`Arrêter {title}`,"mobile.sessions.stopGroupAria":`Arrêter toutes les sessions en cours dans {label}`,"mobile.sessions.stopSubsessionsAria":`Arrêter les sous-sessions en cours de {title}`,"mobile.projectEdit.worktreesTitle":`Worktrees`,"mobile.projectEdit.worktreesEmpty":`Aucun worktree dans ce projet pour le moment.`,"mobile.projectEdit.reorderHint":`Faites glisser pour réordonner les worktrees.`,"mobile.projectEdit.dragWorktreeAria":`Faire glisser {label} pour réordonner`,"mobile.projectEdit.deleteWorktreeAria":`Supprimer le worktree {label}`,"mobile.projectEdit.deleteWorktreeTitle":`Supprimer le worktree`,"mobile.projectEdit.deleteWorktreeConfirmButton":`Supprimer`,"mobile.projectEdit.deleteWorktreeConfirm":`Supprimer le worktree « {name} » ? Cette action est irréversible.`,"mobile.projectEdit.deleteWorktreeDirty":`Ce worktree contient des modifications non commitées qui seront perdues.`,"mobile.projectEdit.deleteWorktreeArchiveNote":`{count} session(s) associée(s) seront archivées.`,"mobile.projectEdit.deleteLocalBranch":`Supprimer aussi la branche locale`,"mobile.projectEdit.deleteRemoteBranch":`Supprimer aussi la branche distante`,"mobile.sessions.showMore":`Afficher {count} de plus`,"mobile.sessions.search.section.sessions":`Sessions`,"mobile.sessions.search.section.archived":`Archivées`,"mobile.sessions.search.section.projects":`Projets`,"mobile.sessions.clearSearchAria":`Effacer la recherche`,"mobile.header.noProject":`Sélectionnez un projet`,"mobile.header.activeSession":`Session active`,"mobile.header.noSession":`Aucune session active`,"mobile.sessions.openSheetAria":`Ouvrir les sessions et projets`,"mobile.sessions.closeSheetAria":`Fermer les sessions et projets`,"mobile.sessions.sheet.title":`Conversations récentes`,"mobile.sessions.sheet.resizeAria":`Redimensionner le panneau des sessions`,"mobile.changes.sheet.resizeAria":`Redimensionner le panneau des modifications`,"mobile.sessions.sheet.description":`Changez de projet, ouvrez des sessions ou démarrez un nouveau chat.`,"mobile.sessions.search.placeholder":`Rechercher des sessions`,"mobile.sessions.empty":`Aucune session trouvée.`,"mobile.sessions.unassignedProject":`Autres sessions`,"mobile.sessions.newSessionAria":`Démarrer un nouveau chat dans ce projet`,"mobile.sessions.untitled":`Session sans titre`,"mobile.sessions.project.sessionsSingle":`1 session`,"mobile.sessions.project.sessionsPlural":`{count} sessions`,"mobile.files.refreshAria":`Actualiser les fichiers`,"mobile.files.backToParentAria":`Retour à {name}`,"mobile.files.rootDirectory":`Fichiers du projet`,"mobile.files.search.placeholder":`Rechercher des fichiers`,"mobile.files.search.empty":`Aucun fichier trouvé.`,"mobile.files.parentDirectory":`Dossier parent`,"mobile.files.empty.noDirectory":`Sélectionnez un projet pour parcourir les fichiers.`,"mobile.files.empty.directory":`Ce dossier est vide.`,"mobile.files.error.listFailed":`Impossible de charger les fichiers`,"mobile.files.error.readUnavailable":`L’aperçu du fichier n’est pas disponible dans ce runtime.`,"mobile.files.file.truncated":`Aperçu du fichier tronqué sur mobile.`,"mobile.files.copyPathAria":`Copier le chemin du fichier`,"mobile.files.copyContent":`Copier le contenu`,"mobile.files.copyContentAria":`Copier le contenu du fichier`,"mobile.files.toast.pathCopied":`Chemin copié`,"mobile.files.toast.contentCopied":`Contenu copié`,"mobile.files.toast.copyFailed":`Échec de la copie`,"mobile.changes.placeholder.title":`Modifications`,"mobile.changes.placeholder.description":`La revue du working tree, la synchronisation et les actions de commit seront ici.`,"mobile.changes.branchLabel":`Branche : {branch}`,"mobile.changes.noRemote":`Aucun remote disponible`,"mobile.changes.cleanDescription":`Aucun fichier modifié dans cet espace de travail.`,"mobile.changes.diffDetail.subtitle":`Diff en lecture seule`,"mobile.changes.diffDetail.loadFailed":`Impossible de charger le diff`,"mobile.changes.diffDetail.missingTitle":`Le fichier n’est plus modifié`,"mobile.changes.diffDetail.missingDescription":`Retournez aux modifications et actualisez la liste.`,"mobile.changes.diffDetail.imageUnavailable":`Les diffs d’images ne sont pas encore disponibles dans les modifications mobile.`,"mobile.settings.placeholder.title":`Paramètres`,"mobile.settings.placeholder.description":`Les paramètres mobiles ciblés de connexion et d’application seront ici.`,"sessions.sidebar.header.displayMode.showArchived":`Afficher les sessions archivées`,"sessions.sidebar.group.showMore":`Plus`,"gitView.changes.revertDirectoryAria":`Annuler les modifications dans {path}`,"gitView.changes.revertDirectory":`Annuler le dossier`,"gitView.changes.revertDirectoryDescriptionPlural":`Cela supprimera les modifications locales dans {count} fichiers sous {path}.`,"gitView.changes.revertDirectoryDescriptionSingle":`Cela supprimera les modifications locales dans {count} fichier sous {path}.`,"gitView.changes.revertDirectoryDialogTitle":`Annuler les modifications du dossier ?`,"gitView.changes.revertDirectoryTooltip":`Annuler les modifications du dossier`,"worktree.bootstrap.toast.failed":`Échec de la configuration du worktree`,"worktree.bootstrap.toast.failedDescription":`Le worktree a été créé, mais la configuration en arrière-plan ne s’est pas terminée.`,"worktree.bootstrap.toast.timeoutDescription":`Le worktree a été créé, mais la configuration en arrière-plan a expiré.`,"contextPanel.browser.inspectUnavailable":`Cette page ne peut pas être inspectée depuis le panneau de navigateur.`,"contextPanel.browser.trustNotice":`Les pages ouvertes ici s’exécutent avec un accès complet à OpenChamber — nécessaire pour l’inspection et les captures d’écran. N’ouvrez que des sites de confiance : une page malveillante pourrait lire vos données ou agir en votre nom.`,"contextPanel.file.notice.turnDiffOutsideWorkspace":`Le diff du tour est indisponible hors du projet. Affichage du fichier actuel à la place.`,"filesView.diagram.closeDiagramView":`Fermer la vue diagramme`,"filesView.diagram.saveDiagram":`Enregistrer le diagramme`,"inlineComment.input.placeholderShort":`Ajouter un commentaire...`,"header.services.remoteUpdate.title":`Mise à jour de l’instance distante`,"header.services.remoteUpdate.checking":`Recherche de mises à jour...`,"header.services.remoteUpdate.upToDate":`Cette instance est à jour.`,"header.services.remoteUpdate.available":`La version {version} est disponible pour cette instance.`,"header.services.remoteUpdate.error":`Impossible de vérifier les mises à jour de l’instance distante`,"header.services.remoteUpdate.actions.open":`Mettre à jour`,"chat.fileAttachment.openInDiagram":`Ouvrir dans la vue diagramme`,"chat.draftPresets.explore.label":`Explorer le codebase`,"chat.draftPresets.catchup.label":`Me remettre à niveau`,"chat.draftPresets.weigh.label":`Comparer mes options`,"chat.draftPresets.plan.label":`Lancer la planification de fonctionnalité`,"chat.draftPresets.craftGoal.label":`Créer un Goal`,"chat.draftPresets.debug.label":`Déboguer un problème`,"chat.draftPresets.review.label":`Revoir mes modifications`,"chat.draftStarters.add":`Ajouter un démarrage`,"chat.draftStarters.searchPlaceholder":`Rechercher des commandes et skills…`,"chat.draftStarters.empty":`Rien à ajouter`,"chat.draftStarters.sectionBuiltIn":`Intégré`,"chat.draftStarters.sectionCommands":`Commandes`,"chat.draftStarters.sectionSkills":`Skills`,"chat.draftStarters.remove":`Retirer`,"chat.draftStarters.expand":`Afficher plus`,"chat.draftStarters.collapse":`Réduire`,"chat.commandAutocomplete.command.handoffReviewDescription":`Créer ou réutiliser une session de revue séparée à partir d’un handoff généré.`,"chat.commandAutocomplete.command.featurePlanDescription":`Lancer une session guidée et interactive de planification pour une nouvelle fonctionnalité.`,"chat.commandAutocomplete.command.craftGoalDescription":`Transformer une idée ou une tâche en Goal clair et vérifiable.`,"chat.chatInput.toast.craftGoalFailed":`Impossible de démarrer la création du Goal`,"chat.commandAutocomplete.command.catchUpDescription":`Rétablir le contexte : ce que vous faisiez et où reprendre.`,"chat.commandAutocomplete.command.debugDescription":`Investigation guidée de la cause racine d’un bug avant de proposer une correction.`,"chat.commandAutocomplete.command.weighDescription":`Comparer 2 à 3 approches avec compromis et recommandation avant de vous engager.`,"chat.commandAutocomplete.command.exploreDescription":`Vous orienter dans ce codebase : tour d’ensemble de l’architecture et des parties principales.`,"chat.commandAutocomplete.command.newDescription":`Démarrer une nouvelle session dans le projet actuel.`,"chat.questionCard.submitFailed":`Impossible d’envoyer la réponse`,"chat.questionCard.dismissFailed":`Impossible d’ignorer la question`,"chat.questionCard.noLongerPending":`Cette question n’attend plus de réponse.`,"chat.questionCard.tryAgain":`Veuillez réessayer dans un instant.`,"chat.messageBody.forkDialog.instructions.label":`Instructions`,"chat.messageBody.forkDialog.instructions.placeholder":`Ajouter des instructions pour la nouvelle session…`,"chat.messageBody.forkDialog.createWorktree":`Créer un worktree`,"chat.forkTransition.preparing":`Préparation du fork`,"chat.forkTransition.copying":`Copie de la conversation (les longues sessions peuvent prendre du temps)`,"chat.forkTransition.opening":`Ouverture de la nouvelle session`,"chat.forkTransition.loading":`Chargement des messages récents`,"chat.forkTransition.progress":`{current} / {total}`,"planView.tts.readAloud":`Lire le plan à voix haute`,"planView.tts.stopSpeaking":`Arrêter la lecture`,"filesView.tts.readAloud":`Lire le fichier à voix haute`,"filesView.tts.stopSpeaking":`Arrêter la lecture`,"chat.messageBody.actions.sendReviewFeedback":`Envoyer le retour de revue à l’agent d’implémentation`,"chat.messageBody.actions.sendImplementationResponse":`Envoyer la réponse d’implémentation à l’agent de revue`,"chat.chatInput.toast.planFeatureFailed":`Impossible de lancer la planification de fonctionnalité`,"chat.chatInput.toast.catchUpFailed":`Impossible de rattraper le contexte`,"chat.chatInput.toast.debugFailed":`Impossible de lancer le débogage`,"chat.chatInput.toast.weighFailed":`Impossible de comparer les options`,"chat.chatInput.toast.exploreFailed":`Impossible de lancer le tour`,"chat.chatInput.reviewCommentsRemove":`Retirer les commentaires de revue`,"chat.toolPart.showRawJson":`Afficher le JSON brut`,"chat.toolPart.showFormattedJson":`Afficher le JSON formaté`,"chat.toolPart.showNavigableJson":`Afficher le JSON navigable`,"chat.toolPart.openFileAtFirstChange":`Ouvrir le fichier à la première modification`,"chat.toolPart.openFileDiff":`Ouvrir les différences du fichier`,"chat.toolPart.copyOutput":`Copier la sortie`,"chat.toolPart.copiedOutput":`Sortie copiée`,"chat.toolPart.copyOutputFailed":`Impossible de copier la sortie`,"desktopHostSwitcher.status.checking":`Vérification`,"desktopHostSwitcher.status.updateRecommended":`Mise à jour recommandée`,"desktopHostSwitcher.status.incompatible":`Incompatible`,"onboarding.remoteConnection.probe.updateRecommendedMessage":`Cette instance utilise une version différente d’OpenChamber. Vous pouvez vous connecter, mais mettez les deux applications à jour si quelque chose ne fonctionne pas.`,"onboarding.remoteConnection.probe.incompatibleMessage":`Le serveur exécute OpenChamber mais n’est pas compatible avec cette version de l’application. Mettez OpenChamber à jour sur le serveur, puis réessayez.`,"onboarding.desktopRecovery.remoteIncompatible.title":`Mise à jour du serveur requise`,"onboarding.desktopRecovery.remoteIncompatible.description":`Le serveur OpenChamber à l’adresse « {host} » n’est pas compatible avec cette version de l’application. Mettez OpenChamber à jour sur le serveur, puis réessayez.`,"vscodeLayout.actions.archiveAllAria":`Archiver toutes les sessions`,"vscodeLayout.actions.archiveAllConfirm":`Tout archiver`,"vscodeLayout.actions.archiveAllSuccess":`{count} session(s) archivée(s)`,"vscodeLayout.actions.archiveAllError":`Impossible d’archiver {count} session(s)`,"vscodeLayout.actions.cancel":`Annuler`};export{e as dict};
13
+ {summary}`,"chat.chatInput.toast.vscodePickFailed":`Échec de la sélection des fichiers dans VS Code`,"chat.chatInput.toast.openSessionFirst":`Ouvrir d'abord une session`,"chat.chatInput.toast.togglePermissionAutoAcceptFailed":`Échec de l'activation de l'acceptation automatique des autorisations`,"chat.chatInput.toast.sessionReferenceLoadFailed":`Impossible de charger la référence de session.`,"chat.chatInput.reviewComments":`Commentaires de révision :`,"chat.chatInput.devServerLogs":`Journaux du serveur de développement :`,"chat.chatInput.devServerLogsRemove":`Supprimer les journaux du serveur de développement`,"chat.chatInput.previewAnnotations":`Aperçu des annotations :`,"chat.chatInput.previewContext":`Contexte d'aperçu :`,"chat.chatInput.previewContextRemove":`Supprimer le contexte d'aperçu`,"chat.chatInput.projectRoot":`Racine du projet`,"chat.chatInput.branch":`Bifurquer`,"chat.chatInput.draftPicker.projectTitle":`Projet`,"chat.chatInput.draftPicker.newProject":`Nouveau projet`,"chat.chatInput.draftPicker.searchProjects":`Rechercher des projets...`,"chat.chatInput.draftPicker.searchBranches":`Rechercher des branches...`,"chat.chatInput.worktrees":`Worktrees`,"chat.chatInput.worktreeNew":`+ Nouveau`,"chat.chatInput.branchSwitch.title":`Basculer vers {branch}\xA0?`,"chat.chatInput.branchSwitch.description":`Comment ouvrir cette branche pour la nouvelle conversation\xA0?`,"chat.chatInput.branchSwitch.createWorktree":`Créer un worktree`,"chat.chatInput.branchSwitch.createWorktreeDescription":`Conserver le répertoire actuel et travailler dans un worktree isolé.`,"chat.chatInput.branchSwitch.checkoutHere":`Checkout ici`,"chat.chatInput.branchSwitch.checkoutHereDescription":`Basculer le répertoire actuel vers cette branche.`,"chat.chatInput.branchSwitch.cancel":`Annuler`,"chat.chatInput.drop.insertMention":`Déposer pour insérer comme mention`,"chat.chatInput.drop.attachFiles":`Déposez les fichiers ici pour les joindre`,"chat.chatInput.fileFallback":`déposer`,"chat.mobileStatus.editProjects.title":`Modifier des projets`,"chat.mobileStatus.editProjects.footer":`Faites glisser les éléments pour les réorganiser ou utilisez les flèches pour les déplacer. Appuyez sur modifier pour modifier les détails.`,"chat.mobileStatus.editProjects.empty":`Aucun projet à modifier`,"chat.mobileStatus.projects.empty":`Aucun projet`,"chat.mobileStatus.projects.addAria":`Ajouter un projet`,"chat.mobileStatus.projects.removeTitle":`Supprimer le projet`,"chat.mobileStatus.projects.removeDescriptionPrefix":`Etes-vous sûr de vouloir supprimer`,"chat.mobileStatus.projects.cancel":`Annuler`,"chat.mobileStatus.projects.remove":`Retirer`,"chat.mobileStatus.new":`Nouveau`,"chat.mobileStatus.noSessionsInProject":`Aucune session dans ce projet`,"chat.mobileStatus.swipeHint":`← Glissez ici pour ouvrir les barres latérales →`,"chat.mobileStatus.toast.addProjectFailed":`Échec de l'ajout du projet`,"chat.mobileStatus.toast.selectValidDirectory":`Veuillez sélectionner un répertoire valide.`,"chat.mobileStatus.toast.selectDirectoryFailed":`Échec de la sélection du répertoire`,"chat.toolOutputDialog.image.previousAria":`Image précédente`,"chat.toolOutputDialog.image.nextAria":`Image suivante`,"chat.toolOutputDialog.image.zoomInAria":`Zoom avant`,"chat.toolOutputDialog.image.zoomOutAria":`Zoom arrière`,"chat.toolOutputDialog.image.resetZoomAria":`Réinitialiser le zoom`,"chat.image.actions.sheetTitle":`Image`,"chat.image.actions.saveImage":`Enregistrer l'image`,"chat.image.actions.saveToPhotos":`Enregistrer dans Photos`,"chat.image.actions.saving":`Enregistrement…`,"chat.image.actions.saveSuccess":`Image enregistrée`,"chat.image.actions.saveFailed":`Impossible d'enregistrer l'image`,"chat.toolOutputDialog.mermaid.missingSource":`URL de source Mermaid manquante.`,"chat.toolOutputDialog.mermaid.loadFailed":`Impossible de charger le diagramme Mermaid.`,"chat.toolOutputDialog.mermaid.dataUrlMalformed":`L'URL de données Mermaid est mal formée.`,"chat.toolOutputDialog.mermaid.invalidLocalPath":`Le chemin du fichier Mermaid local est invalide.`,"chat.toolOutputDialog.mermaid.readFileFailedWithStatus":`Impossible de lire le fichier Mermaid. Statut : {status}.`,"chat.toolOutputDialog.mermaid.unsupportedUrlProtocol":`Le protocole de l'URL Mermaid n'est pas pris en charge.`,"chat.toolOutputDialog.mermaid.loadFailedWithStatus":`Impossible de charger le diagramme Mermaid. Statut : {status}.`,"chat.toolOutputDialog.mermaid.closeAria":`Fermer l'aperçu du diagramme`,"chat.toolOutputDialog.mermaid.loading":`Diagramme de chargement...`,"chat.toolOutputDialog.mermaid.renderFailed":`Impossible d'afficher le diagramme Mermaid.`,"chat.toolOutputDialog.mermaid.retry":`Réessayer`,"chat.toolOutputDialog.commandCompleted":`Commande terminée avec succès`,"chat.toolOutputDialog.noOutputProduced":`Aucune sortie n'a été produite`,"chat.activity.outputLoading":`Chargement de la sortie complète…`,"chat.activity.outputLoadFailed":`Impossible de charger la sortie complète.`,"chat.activity.outputRetry":`Réessayer`,"chat.fileAttachment.image.loading":`Chargement de l’image…`,"chat.fileAttachment.image.loadFailed":`Impossible de charger l’image.`,"chat.fileAttachment.image.retry":`Réessayer de charger l’image`,"chat.fileAttachment.image.loadManually":`Charger l’image`,"chat.fileAttachment.image.loadManuallyCount":`Charger {count} images`,"chat.toolPart.lspErrors":`Erreurs LSP`,"chat.toolPart.moreErrors":`+{count} plus d'erreurs`,"chat.toolPart.error":`Erreur:`,"chat.toolPart.awaitingResponse":`En attente de réponse...`,"chat.toolPart.noOutputProduced":`Aucune sortie produite`,"chat.toolPart.output":`Sortie`,"chat.toolPart.openSubtask":`Ouvrir la sous-tâche {type}`,"chat.todo.total":`Total`,"chat.todo.inProgress":`En cours`,"chat.todo.pending":`En attente`,"chat.todo.completed":`Complété`,"chat.todo.cancelled":`Annulé`,"chat.permissionCard.workingDirectory":`Répertoire de travail :`,"chat.permissionCard.timeout":`Temps mort:`,"chat.permissionCard.request":`Demande:`,"chat.permissionCard.headers":`En-têtes :`,"chat.permissionCard.body":`Corps:`,"chat.permissionCard.action":`Action:`,"chat.permissionCard.details":`Détails:`,"chat.permissionCard.patterns":`Motifs:`,"chat.permissionCard.replaceAll":`Remplacer toutes les occurrences`,"chat.permissionCard.responseFormat":`Format de réponse :`,"chat.permissionCard.allowOnce":`Autoriser une fois`,"chat.permissionCard.alwaysAgree":`Toujours autoriser`,"chat.permissionToast.sessionFallback":`Session`,"chat.permissionToast.permissionFallback":`Détails de l'autorisation indisponibles`,"chat.permissionToast.labels.session":`Session:`,"chat.permissionToast.labels.permission":`Autorisation:`,"chat.permissionToast.actions.once":`Une fois`,"chat.permissionToast.actions.always":`Toujours`,"chat.permissionToast.actions.deny":`Refuser`,"chat.permissionToast.actions.approveOnceAria":`Approuver une fois`,"chat.permissionToast.actions.approveOnceAriaWithSession":`Approuver une fois pour {session}`,"chat.permissionToast.actions.approveAlwaysAria":`Approuver toujours`,"chat.permissionToast.actions.approveAlwaysAriaWithSession":`Approuver toujours pour {session}`,"chat.permissionToast.actions.denyAria":`Refuser l'autorisation`,"chat.permissionToast.actions.denyAriaWithSession":`Refuser l'autorisation pour {session}`,"chat.permissionRequest.required":`Autorisation requise :`,"chat.permissionRequest.actions.once":`Une fois`,"chat.permissionRequest.actions.always":`Toujours`,"chat.permissionRequest.actions.reject":`Refuser`,"chat.modelControls.provider":`Fournisseur`,"chat.modelControls.capability.toolCalling":`Appel d'outil`,"chat.modelControls.capability.reasoning":`Raisonnement`,"chat.modelControls.modality.text":`Texte`,"chat.modelControls.modality.image":`Image`,"chat.modelControls.modality.video":`Vidéo`,"chat.modelControls.modality.audio":`Audio`,"chat.modelControls.modality.pdf":`PDF`,"chat.modelControls.capabilities":`Capacités`,"chat.modelControls.modalities":`Modalités`,"chat.modelControls.input":`Entrée`,"chat.modelControls.output":`Sortie`,"chat.modelControls.limits":`Limites`,"chat.modelControls.context":`Contexte`,"chat.modelControls.metadata":`Métadonnées`,"chat.modelControls.knowledge":`Connaissance`,"chat.modelControls.release":`Libérer`,"chat.modelControls.mode":`Mode`,"chat.modelControls.model":`Modèle`,"chat.modelControls.temperature":`Température`,"chat.modelControls.topP":`Haut P`,"chat.modelControls.permissions":`Autorisations`,"chat.modelControls.edit":`Modifier`,"chat.modelControls.bash":`Bash`,"chat.modelControls.webFetch":`WebFetch`,"chat.modelControls.customPrompt":`Prompt personnalisé`,"chat.modelControls.selectModel":`Sélectionnez le modèle`,"chat.modelControls.searchProvidersOrModels":`Rechercher des fournisseurs ou des modèles`,"chat.modelControls.clearSearch":`Effacer la recherche`,"chat.modelControls.current":`Actuel`,"chat.modelControls.thinking":`Pensée`,"chat.modelControls.default":`Défaut`,"chat.modelControls.selectAgent":`Sélectionnez un agent`,"chat.modelControls.costPerMillion":`Coût`,"chat.modelControls.costInput":`Entrée`,"chat.modelControls.costOutput":`Sortie`,"chat.modelControls.metadataUnavailable":`Métadonnées du modèle indisponibles.`,"chat.modelControls.addNewProvider":`Ajouter un nouveau fournisseur`,"chat.modelControls.noAgentSelected":`Aucun agent sélectionné.`,"chat.modelControls.resetToDefault":`Réinitialiser aux valeurs par défaut`,"chat.modelControls.searchModels":`Rechercher des modèles`,"chat.modelControls.searchAgents":`Agents de recherche`,"chat.modelControls.noModelsFound":`Aucun modèle trouvé`,"chat.modelControls.favorites":`Favoris`,"chat.modelControls.recent":`Récents`,"chat.modelControls.addToFavorites":`Ajouter aux favoris`,"chat.modelControls.removeFromFavorites":`Supprimer des favoris`,"chat.modelControls.favoriteAria":`Préféré`,"chat.modelControls.unfavoriteAria":`Supprimer des favoris`,"chat.modelControls.collapseProvider":`Fournisseur de réduction`,"chat.modelControls.expandProvider":`Développer le fournisseur`,"chat.modelControls.keyboardHint":`↑↓ naviguer{thinking} • Entrer sélectionner • Esc fermer`,"chat.modelControls.keyboardHintNavigate":`↑↓ naviguer`,"chat.modelControls.keyboardHintSwitchAgent":`Agent de commutation {shortcut}`,"chat.modelControls.keyboardHintSwitchAgentLabel":`Changer d'agent`,"chat.modelControls.keyboardHintThinking":`←→ penser`,"chat.modelControls.showThinkingModes":`Afficher les modes de réflexion`,"chat.modelControls.hideThinkingModes":`Masquer les modes de réflexion`,"chat.modelControls.moreThinkingModes":`Plus de modes de réflexion`,"chat.modelControls.noProvidersOrModelsFound":`Aucun fournisseur ou modèle ne correspond à votre recherche.`,"chat.modelControls.reorderFavoriteAria":`Réorganiser les favoris`,"chat.modelControls.reorderFavoriteTitle":`Faites glisser pour réorganiser les favoris`,"chat.modelControls.reorderProviderTitle":`Faites glisser pour réorganiser le fournisseur`,"chat.modelControls.permissionLabel.custom":`Personnalisé`,"chat.modelControls.permissionLabel.allow":`Permettre`,"chat.modelControls.permissionLabel.deny":`Refuser`,"chat.modelControls.permissionLabel.ask":`Demander`,"chat.modelControls.modeValue.primary":`Primaire`,"chat.modelControls.modeValue.subagent":`Sous-agent`,"chat.modelControls.modeValue.all":`Tous`,"chat.modelControls.modeValue.none":`—`,"chat.reasoningTrace.thinking":`Pensée`,"chat.reasoningTrace.justification":`Justification`,"chat.reasoningTrace.expandAria":`Développer la trace du raisonnement`,"chat.reasoningTrace.collapseAria":`Réduire la trace du raisonnement`,"chat.reasoningTrace.thought":`Pensée`,"chat.contextGroup.exploring":`Exploration en cours`,"chat.contextGroup.explored":`Exploré`,"chat.contextGroup.expandAria":`Développer les outils explorés`,"chat.contextGroup.collapseAria":`Réduire les outils explorés`,"chat.contextGroup.readSingle":`{count} lecture`,"chat.contextGroup.readPlural":`{count} lectures`,"chat.contextGroup.searchSingle":`{count} recherche`,"chat.contextGroup.searchPlural":`{count} recherches`,"chat.contextGroup.listSingle":`{count} liste`,"chat.contextGroup.listPlural":`{count} listes`,"chat.skillGroup.expandAria":`Développer les compétences chargées`,"chat.skillGroup.collapseAria":`Réduire les compétences chargées`,"chat.skillGroup.summaryOverflow":`{names} et {count} de plus`,"chat.tools.display.read":`Lire le fichier`,"chat.tools.display.write":`Écrire le fichier`,"chat.tools.display.edit":`Modifier le fichier`,"chat.tools.display.multiedit":`Édition multiple`,"chat.tools.display.apply_patch":`Appliquer le correctif`,"chat.tools.display.bash":`Commande shell`,"chat.tools.display.grep":`Rechercher dans les fichiers`,"chat.tools.display.glob":`Trouver des fichiers`,"chat.tools.display.list":`Lister le répertoire`,"chat.tools.display.task":`Tâche d'agent`,"chat.tools.display.webfetch":`Récupérer l'URL`,"chat.tools.display.websearch":`Recherche web`,"chat.tools.display.codesearch":`Recherche de code`,"chat.tools.display.todowrite":`Mettre à jour les tâches`,"chat.tools.display.todoread":`Lire les tâches`,"chat.tools.display.skill":`Charger une compétence`,"chat.tools.display.question":`Question`,"chat.tools.display.lsp":`LSP`,"chat.tools.display.plan_enter":`Mode plan`,"chat.tools.display.plan_exit":`Mode construction`,"chat.tools.display.structuredoutput":`Sortie structurée`,"chat.messageBody.subtask.title":`Tâche déléguée`,"chat.messageBody.subtask.hidePrompt":`Masquer le prompt`,"chat.messageBody.subtask.showPrompt":`Afficher le prompt`,"chat.messageBody.subtask.openSession":`Ouvrir une session de sous-tâche`,"chat.messageBody.subagent.completed":`Terminé`,"chat.messageBody.subagent.error":`Échec`,"chat.messageBody.subagent.cancelled":`Annulé`,"chat.messageBody.subagent.completedDescription":`Le sous-agent en arrière-plan a terminé`,"chat.messageBody.subagent.errorDescription":`Le sous-agent en arrière-plan a échoué`,"chat.messageBody.subagent.cancelledDescription":`Le sous-agent en arrière-plan a été annulé`,"chat.messageBody.subagent.openSession":`Ouvrir la session du sous-agent : {label}`,"chat.messageBody.shellCommand.title":`Commande Shell`,"chat.messageBody.shellCommand.hideOutput":`Masquer la sortie`,"chat.messageBody.shellCommand.showOutput":`Afficher la sortie`,"chat.messageBody.shellCommand.copied":`Copié`,"chat.messageBody.shellCommand.copyOutput":`Copier la sortie`,"commandPalette.title":`Palette de commandes`,"commandPalette.description":`Recherchez des fichiers, des sessions et des commandes.`,"commandPalette.input.placeholder":`Rechercher des fichiers, des sessions, des commandes...`,"commandPalette.empty.noResults":`Aucun résultat trouvé.`,"commandPalette.empty.searchingFiles":`Recherche de fichiers...`,"commandPalette.item.newSession":`Nouvelle session`,"commandPalette.item.newMiniChat":`Nouvelle mini-fenêtre de discussion`,"commandPalette.item.newWorktreeDraft":`Nouveau brouillon d'worktree`,"commandPalette.item.addProject":`Ajouter un projet`,"commandPalette.item.showSessionSwitcher":`Afficher le sélecteur de session`,"commandPalette.item.toggleSidebar":`Basculer la barre latérale`,"commandPalette.item.toggleRightSidebar":`Basculer la barre latérale droite`,"commandPalette.item.showContextUsage":`Afficher l'utilisation du contexte`,"commandPalette.item.toggleTerminal":`Basculer le terminal`,"commandPalette.item.newTerminalTab":`Nouvel onglet de terminal`,"commandPalette.item.openSettings":`Ouvrez les paramètres...`,"commandPalette.session.untitled":`Session sans titre`,"openCodeStatusDialog.title":`Statut OpenCode`,"openCodeStatusDialog.description":`Inspectez l’état et les diagnostics actuels du OpenCode.`,"openCodeStatusDialog.actions.copy":`Copie`,"openCodeStatusDialog.empty.noData":`Aucune donnée.`,"openCodeStatusDialog.toast.copiedTitle":`Copié`,"openCodeStatusDialog.toast.copiedDescription":`Statut copié dans le presse-papiers`,"openCodeStatusDialog.toast.copyFailed":`Échec de la copie du statut`,"branchPickerDialog.title":`Sélecteur de branches`,"branchPickerDialog.description.localBranchesForProject":`Branches locales pour {project}`,"branchPickerDialog.description.selectProject":`Sélectionnez un projet pour afficher les branches`,"branchPickerDialog.search.placeholder":`Rechercher des branches...`,"branchPickerDialog.search.renameBranchPlaceholder":`Renommer la branche`,"branchPickerDialog.state.noProjectSelected":`Aucun projet sélectionné`,"branchPickerDialog.state.loadingBranches":`Chargement des branches...`,"branchPickerDialog.state.noMatchingBranches":`Aucune branche correspondante`,"branchPickerDialog.state.noBranchesFound":`Aucune branche trouvée`,"branchPickerDialog.badge.head":`HEAD`,"branchPickerDialog.badge.worktree":`worktree`,"branchPickerDialog.actions.createWorktreeAria":`Créer un worktree à partir d'une branche`,"branchPickerDialog.actions.renameAria":`Renommer la branche`,"branchPickerDialog.actions.deleteAria":`Supprimer la branche`,"branchPickerDialog.actions.deleteWorktreeAria":`Supprimer le worktree`,"branchPickerDialog.actions.confirmRenameAria":`Confirmer le changement de nom`,"branchPickerDialog.actions.cancelRenameAria":`Annuler le changement de nom`,"branchPickerDialog.actions.confirmDeleteAria":`Confirmer la suppression de la branche`,"branchPickerDialog.actions.cancelDeleteAria":`Annuler la suppression de la branche`,"branchPickerDialog.actions.deletePrompt":`Supprimer`,"branchPickerDialog.actions.forceDeletePrompt":`Forcer la suppression`,"branchPickerDialog.tooltip.createWorktree":`Créer un worktree`,"branchPickerDialog.tooltip.worktreeAlreadyExists":`Le worktree existe déjà`,"branchPickerDialog.tooltip.rename":`Renommer la branche`,"branchPickerDialog.tooltip.renameDisabledForRoot":`Impossible de renommer la branche racine`,"branchPickerDialog.tooltip.delete":`Supprimer la branche`,"branchPickerDialog.tooltip.deleteCurrentBranch":`Impossible de supprimer la branche actuelle`,"branchPickerDialog.tooltip.deleteDisabledForRoot":`Impossible de supprimer la branche racine`,"branchPickerDialog.tooltip.deleteWorktree":`Supprimer le worktree`,"branchPickerDialog.tooltip.deleteWorktreeRootProtected":`Impossible de supprimer le worktree racine`,"branchPickerDialog.toast.branchRenamed":`Branche renommée`,"branchPickerDialog.toast.failedToRenameBranch":`Échec du renommage de la branche`,"branchPickerDialog.toast.branchDeleted":`Branche supprimée`,"branchPickerDialog.toast.branchNotMerged":`La branche n'est pas entièrement fusionnée`,"branchPickerDialog.toast.confirmAgainToForceDelete":`Confirmez à nouveau pour forcer la suppression`,"branchPickerDialog.toast.failedToDeleteBranch":`Échec de la suppression de la branche`,"branchPickerDialog.toast.worktreeCreated":`Worktree créé`,"branchPickerDialog.toast.failedToCreateWorktree":`Échec de la création du worktree`,"branchPickerDialog.error.failedToLoad":`Échec du chargement des branches`,"branchPickerDialog.error.renameRejected":`Le changement de nom a été refusé`,"branchPickerDialog.error.renameFailed":`Échec du renommage de la branche`,"branchPickerDialog.error.deleteRejected":`La suppression a été refusée`,"branchPickerDialog.error.deleteFailed":`Échec de la suppression de la branche`,"branchPickerDialog.error.createWorktreeFailed":`Échec de la création du worktree`,"projectEditDialog.title":`Modifier le projet`,"projectEditDialog.field.name":`Nom`,"projectEditDialog.field.namePlaceholder":`Nom du projet`,"projectEditDialog.field.color":`Couleur`,"projectEditDialog.field.icon":`Icône`,"projectEditDialog.field.preview":`Aperçu`,"projectEditDialog.field.iconBackground":`Fond d'icône`,"projectEditDialog.field.iconBackgroundAria":`Couleur d’arrière-plan de l’icône du projet`,"projectEditDialog.option.none":`Aucun`,"projectEditDialog.actions.uploadIcon":`Icône de téléchargement`,"projectEditDialog.actions.uploading":`Téléchargement...`,"projectEditDialog.actions.discoverFavicon":`Découvrez Favicon`,"projectEditDialog.actions.discovering":`Découverte...`,"projectEditDialog.actions.removeProjectIcon":`Supprimer l'icône du projet`,"projectEditDialog.actions.removing":`Suppression...`,"projectEditDialog.actions.undoRemove":`Annuler Supprimer`,"projectEditDialog.actions.clear":`Effacer`,"projectEditDialog.actions.cancel":`Annuler`,"projectEditDialog.actions.save":`Sauvegarder`,"projectEditDialog.toast.failedToUploadIcon":`Échec du téléchargement de l'icône du projet`,"projectEditDialog.toast.iconUpdated":`Icône du projet mise à jour`,"projectEditDialog.toast.failedToRemoveIcon":`Échec de la suppression de l'icône du projet`,"projectEditDialog.toast.iconRemoved":`Icône du projet supprimée`,"projectEditDialog.toast.failedToDiscoverIcon":`Échec de la découverte de l'icône du projet`,"projectEditDialog.toast.customIconAlreadySet":`Icône personnalisée déjà définie pour ce projet`,"projectEditDialog.toast.iconDiscovered":`Icône de projet découverte`,"agentManager.sidebar.search.placeholder":`Rechercher des groupes d'agents...`,"agentManager.sidebar.actions.newAgentGroup":`Nouveau groupe d'agents`,"agentManager.sidebar.actions.more":`... Plus ({count})`,"agentManager.sidebar.actions.showLess":`Afficher moins`,"agentManager.sidebar.section.agentGroups":`Groupes d'agents`,"agentManager.sidebar.state.loading":`Chargement...`,"agentManager.sidebar.state.noGroupsFound":`Aucun groupe trouvé`,"agentManager.sidebar.state.noGroupsYet":`Aucun groupe d'agents pour l'instant`,"agentManager.sidebar.state.createToGetStarted":`Créez un nouveau groupe d'agents pour commencer`,"agentManager.sidebar.item.modelCountSingle":`Modèle {count}`,"agentManager.sidebar.item.modelCountPlural":`Modèles {count}`,"agentManager.sidebar.item.groupMenuAria":`Menu de groupe`,"agentManager.sidebar.item.delete":`Supprimer`,"agentManager.sidebar.relativeTime.now":`maintenant`,"agentManager.sidebar.relativeTime.minutes":`{count}m`,"agentManager.sidebar.relativeTime.hours":`{count}h`,"agentManager.sidebar.relativeTime.days":`{count}d`,"agentManager.sidebar.dialog.deleteGroupTitle":`Supprimer le groupe d'agents`,"agentManager.sidebar.dialog.deleteGroupDescription":`Supprimer «\xA0{group}\xA0» ? Cela supprime tous les worktrees et sessions de ce groupe.`,"agentManager.sidebar.dialog.cancel":`Annuler`,"agentManager.sidebar.dialog.delete":`Supprimer`,"agentManager.sidebar.dialog.deleting":`Suppression...`,"agentManager.sidebar.toast.deletingGroup":`Suppression de "{group}"...`,"agentManager.sidebar.toast.deletedGroup":`"{group}" supprimé`,"agentManager.sidebar.toast.failedToDeleteGroup":`Échec de la suppression complète de "{group}"`,"agentManager.detail.header.modelCountSingle":`Modèle {count}`,"agentManager.detail.header.modelCountPlural":`Modèles {count}`,"agentManager.detail.header.noBranch":`Pas de branche`,"agentManager.detail.actions.worktreeActionsAria":`Actions du worktree`,"agentManager.detail.actions.removeThisWorktree":`Supprimer ce worktree`,"agentManager.detail.actions.keepThisRemoveOthers":`Laissez celui-ci, supprimez les autres`,"agentManager.detail.actions.copyWorktreePath":`Copier le chemin du worktree`,"agentManager.detail.dialog.removeWorktreeTitle":`Supprimer le worktree`,"agentManager.detail.dialog.removeOtherWorktreesTitle":`Supprimer les autres worktrees`,"agentManager.detail.dialog.removeWorktreeDescription":`Supprimer «\xA0{label}\xA0» ? Cela supprime toutes les sessions de ce worktree ainsi que le worktree lui-même.`,"agentManager.detail.dialog.removeOtherWorktreesDescription":`Conservez "{label}" et supprimez les autres worktrees dans "{group}".`,"agentManager.detail.dialog.cancel":`Annuler`,"agentManager.detail.dialog.remove":`Retirer`,"agentManager.detail.dialog.removeOthers":`Supprimer les autres`,"agentManager.detail.dialog.working":`Fonctionnement...`,"agentManager.detail.state.loadingSessionFor":`Session de chargement pour {label}`,"agentManager.detail.state.sessionId":`ID de session : {id}`,"agentManager.detail.state.noSessionsInGroup":`Aucune session dans ce groupe`,"agentManager.detail.toast.noWorktreePath":`Aucun chemin de worktree disponible`,"agentManager.detail.toast.worktreePathCopied":`Chemin du worktree copié`,"agentManager.detail.toast.failedToCopyPath":`Échec de la copie du chemin`,"agentManager.detail.toast.removingWorktree":`Suppression du worktree...`,"agentManager.detail.toast.removingOtherWorktrees":`Suppression d'autres worktrees...`,"agentManager.detail.toast.failedToFullyRemoveWorktree":`Échec de la suppression complète du worktree`,"agentManager.detail.toast.worktreeRemoved":`Worktree supprimé`,"agentManager.detail.toast.otherWorktreesRemoved":`Suppression d'autres worktrees`,"agentManager.empty.groupName.label":`Nom du groupe`,"agentManager.empty.groupName.placeholder":`e.g. fonctionnalité-auth, correction de bugs-connexion`,"agentManager.empty.groupName.description":`Utilisé pour le répertoire du worktree et le nommage des branches`,"agentManager.empty.baseBranch.label":`Branche de base`,"agentManager.empty.baseBranch.description":`Crée de nouvelles branches à partir de {branch}`,"agentManager.empty.setupCommands.label":`Commandes de configuration`,"agentManager.empty.setupCommands.configured":`{count} configuré`,"agentManager.empty.setupCommands.description":`Les commandes s'exécutent dans chaque nouveau worktree. Utilisez $ROOT_PROJECT_PATH pour la racine du projet.`,"agentManager.empty.setupCommands.loading":`Chargement...`,"agentManager.empty.setupCommands.commandPlaceholder":`p. ex. bun install`,"agentManager.empty.setupCommands.removeCommandAria":`Supprimer la commande`,"agentManager.empty.setupCommands.addCommand":`Ajouter une commande`,"agentManager.empty.agent.label":`Agent`,"agentManager.empty.agent.description":`Par défaut, votre agent par défaut configuré`,"agentManager.empty.models.label":`Modèles`,"agentManager.empty.models.addModel":`Ajouter un modèle`,"agentManager.empty.models.selectedSingle":`Modèle {count} sélectionné`,"agentManager.empty.models.selectedPlural":`Modèles {count} sélectionnés`,"agentManager.empty.prompt.label":`Invite`,"agentManager.empty.prompt.placeholder":`Demandez n'importe quoi...`,"agentManager.empty.prompt.addAttachmentAria":`Ajouter une pièce jointe`,"agentManager.empty.actions.startAgentGroupAria":`Démarrer le groupe d'agents`,"agentManager.empty.toast.fileTooLarge":`Le fichier "{fileName}" est trop volumineux (max 10\xA0Mo)`,"agentManager.empty.toast.failedToAttach":`Échec de la connexion de "{fileName}"`,"agentManager.empty.toast.attachedSingle":`Fichier {count} joint`,"agentManager.empty.toast.attachedPlural":`Fichiers {count} joints`,"agentManager.empty.toast.failedToCreateGroup":`Échec de la création du groupe d'agents`,"openInApp.actions.open":`Ouvrir`,"openInApp.actions.openInAria":`Ouvert dans {app}`,"openInApp.actions.chooseAppAria":`Choisissez l'application à ouvrir`,"openInApp.actions.copyPath":`Copier le chemin`,"openInApp.actions.refreshApps":`Actualiser les applications`,"openInApp.toast.pathCopied":`Chemin copié dans le presse-papiers`,"projectActions.actions.addActionAria":`Ajouter une action`,"projectActions.actions.addAction":`Ajouter une action`,"projectActions.actions.addNewAction":`Ajouter une nouvelle action`,"projectActions.actions.autoDiscover":`Découverte automatique`,"projectActions.actions.chooseActionAria":`Choisir l'action du projet`,"projectActions.actions.openPreview":`Ouvrir l'aperçu`,"projectActions.actions.runNamedAria":`Exécutez {name}`,"projectActions.actions.stopNamedAria":`Arrêter {name}`,"projectActions.label.fallbackAction":`Action`,"projectActions.toast.openedUrlFromOutput":`URL ouvert à partir de la sortie d'action`,"projectActions.toast.openedForwardedUrl":`Ouvert transmis URL`,"projectActions.toast.openedActionUrl":`Action ouverte URL`,"projectActions.error.noActiveDirectory":`Pas de répertoire actif`,"projectActions.error.noActiveDirectoryForAction":`Pas de répertoire actif pour l'action`,"projectActions.error.failedToCreateTerminalSession":`Échec de la création d'une session de terminal`,"projectActions.error.invalidCustomUrlFormat":`Format URL personnalisé non valide`,"projectActions.error.selectedDesktopSshForwardUnavailable":`Le transfert du bureau SSH sélectionné n'est pas disponible`,"projectActions.error.failedToRunAction":`Échec de l'exécution de l'action`,"mcpDropdown.title":`Serveurs MCP`,"mcpDropdown.actions.refreshAria":`Rafraîchir`,"mcpDropdown.actions.openAria":`Serveurs MCP`,"mcpDropdown.statusAria":`Statut MCP`,"mcpDropdown.status.unknown":`Inconnu`,"mcpDropdown.status.connected":`Connecté`,"mcpDropdown.status.failed":`Échec : {error}`,"mcpDropdown.status.unknownError":`Erreur inconnue`,"mcpDropdown.status.needsAuth":`Nécessite une authentification`,"mcpDropdown.status.needsRegistration":`Nécessite un enregistrement : {error}`,"mcpDropdown.empty.configureInConfig":`Configurez les serveurs MCP dans la configuration OpenCode.`,"sessionAuth.error.rateLimitTitle":`Trop de tentatives`,"sessionAuth.error.networkTitle":`Impossible d'atteindre le serveur`,"sessionAuth.error.rateLimitDescriptionSingle":`Veuillez attendre {minutes} minute avant de réessayer.`,"sessionAuth.error.rateLimitDescriptionPlural":`Veuillez attendre {minutes} minutes avant de réessayer.`,"sessionAuth.error.networkDescription":`Nous n'avons pas pu vérifier la session d'interface utilisateur. Si vous ouvrez OpenChamber depuis un autre appareil sur votre réseau local, activez l'accès au réseau du bureau dans l'application de bureau et utilisez l'adresse LAN indiquée dans les paramètres.`,"sessionAuth.error.retry":`Réessayer`,"sessionAuth.error.passkeySetupFailed":`La configuration du mot de passe a échoué.`,"sessionAuth.error.incorrectPassword":`Mot de passe incorrect. Essayer à nouveau.`,"sessionAuth.error.unexpectedResponse":`Réponse inattendue du serveur.`,"sessionAuth.error.networkRetry":`Erreur réseau. Vérifiez la connexion et réessayez.`,"sessionAuth.error.passkeySignInCanceled":`La connexion par mot de passe a été annulée.`,"sessionAuth.error.enterPasswordForPasskey":`Entrez votre mot de passe pour ajouter un mot de passe.`,"sessionAuth.locked.tunnelTitle":`Accès au tunnel requis`,"sessionAuth.locked.unlockTitle":`Débloquez OpenChamber`,"sessionAuth.locked.tunnelDescription":`Ouvrez ce tunnel à l'aide du lien de connexion unique depuis l'application de bureau.`,"sessionAuth.locked.passwordDescription":`Cette session est protégée par mot de passe.`,"sessionAuth.locked.hostSwitcherHint":`Utilisez local si la remote est inaccessible.`,"sessionAuth.actions.cancelPasskey":`Annuler le mot de passe`,"sessionAuth.actions.usePasskey":`Utiliser le mot de passe`,"sessionAuth.actions.unlockingAria":`Déverrouillage`,"sessionAuth.actions.unlockAria":`Ouvrir`,"sessionAuth.actions.trustDevice":`Faites confiance à cet appareil`,"sessionAuth.actions.trustDeviceAria":`Faites confiance à cet appareil`,"sessionAuth.actions.cancelPasskeySetup":`Annuler la configuration du mot de passe`,"sessionAuth.actions.addPasskey":`Ajouter un mot de passe`,"sessionAuth.password.placeholder":`Entrez le mot de passe`,"sessionAuth.toast.passkeyAdded":`Clé d'accès ajoutée`,"sessionAuth.toast.passkeySetupCanceled":`Configuration du mot de passe annulée`,"desktopHostSwitcher.title":`Instance`,"desktopHostSwitcher.transition.title":`Changement d’instance…`,"desktopHostSwitcher.transition.description":`Chargement des données de l’instance sélectionnée.`,"desktopHostSwitcher.description":`Basculer entre les serveurs OpenChamber locaux et distants`,"desktopHostSwitcher.header.current":`Actuel`,"desktopHostSwitcher.header.default":`Défaut`,"desktopHostSwitcher.header.currentColon":`Actuel:`,"desktopHostSwitcher.header.currentDefaultColon":`Valeur par défaut actuelle :`,"desktopHostSwitcher.status.connected":`Connecté`,"desktopHostSwitcher.status.authRequired":`Authentification requise`,"desktopHostSwitcher.status.wrongService":`Mauvais service`,"desktopHostSwitcher.status.unreachable":`Injoignable`,"desktopHostSwitcher.status.unknown":`Inconnu`,"desktopHostSwitcher.status.ping":`· Ping {ms}ms`,"desktopHostSwitcher.statusAria":`Statut de l'instance`,"desktopHostSwitcher.sshPhase.ready":`Prêt`,"desktopHostSwitcher.sshPhase.error":`Erreur`,"desktopHostSwitcher.sshPhase.reconnecting":`Reconnexion`,"desktopHostSwitcher.sshPhase.resolvingConfig":`Résolution de la configuration`,"desktopHostSwitcher.sshPhase.checkingAuth":`Vérification de l'authentification`,"desktopHostSwitcher.sshPhase.connectingSsh":`Connexion du SSH`,"desktopHostSwitcher.sshPhase.probingRemote":`Sondage à distance`,"desktopHostSwitcher.sshPhase.installing":`Installation`,"desktopHostSwitcher.sshPhase.updating":`Mise à jour`,"desktopHostSwitcher.sshPhase.detectingServer":`Serveur de détection`,"desktopHostSwitcher.sshPhase.startingServer":`Démarrage du serveur`,"desktopHostSwitcher.sshPhase.forwardingPorts":`Ports de transfert`,"desktopHostSwitcher.sshPhase.idle":`Inactif`,"desktopHostSwitcher.ssh.needInstancesHint":`Besoin d'instances SSH ? Gérez-les dans Paramètres.`,"desktopHostSwitcher.ssh.instanceFallback":`Instance SSH`,"desktopHostSwitcher.ssh.connectingTo":`Connexion à {host}`,"desktopHostSwitcher.actions.refresh":`Rafraîchir`,"desktopHostSwitcher.actions.refreshInstancesAria":`Actualiser les instances`,"desktopHostSwitcher.actions.remoteSsh":`SSH remote`,"desktopHostSwitcher.actions.instanceActionsAria":`Actions d'instance`,"desktopHostSwitcher.actions.edit":`Modifier`,"desktopHostSwitcher.actions.delete":`Supprimer`,"desktopHostSwitcher.actions.connect":`Connecter`,"desktopHostSwitcher.actions.defaultInstanceAria":`Instance par défaut`,"desktopHostSwitcher.actions.setAsDefaultAria":`Définir par défaut`,"desktopHostSwitcher.actions.setAsDefault":`Définir par défaut`,"desktopHostSwitcher.actions.openInNewWindowAria":`Ouvrir dans une nouvelle fenêtre`,"desktopHostSwitcher.actions.openInNewWindow":`Ouvrir dans une nouvelle fenêtre`,"desktopHostSwitcher.actions.addInstance":`Ajouter une instance`,"desktopHostSwitcher.actions.cancel":`Annuler`,"desktopHostSwitcher.actions.save":`Sauvegarder`,"desktopHostSwitcher.actions.add":`Ajouter`,"desktopHostSwitcher.actions.switchToLocal":`Passer au local`,"desktopHostSwitcher.actions.retry":`Réessayer`,"desktopHostSwitcher.actions.switchInstanceAria":`Changer d'instance`,"desktopHostSwitcher.actions.switchInstance":`Changer d'instance`,"desktopHostSwitcher.actions.switchToAria":`Passer à {instance}`,"desktopHostSwitcher.field.labelPlaceholder":`Étiquette`,"desktopHostSwitcher.field.labelOptionalPlaceholder":`Étiquette (facultatif)`,"desktopHostSwitcher.field.urlPlaceholder":`https://hôte:port`,"desktopHostSwitcher.state.limitedOnPage":`Le sélecteur d'instance est limité sur cette page. Utilisez Local pour récupérer.`,"desktopHostSwitcher.state.loading":`Chargement...`,"desktopHostSwitcher.state.instanceUnreachable":`Instance inaccessible`,"desktopHostSwitcher.edit.title":`Modifier l'instance`,"desktopHostSwitcher.add.title":`Ajouter une instance`,"desktopHostSwitcher.error.failedToSave":`Échec de l'enregistrement`,"desktopHostSwitcher.error.failedToLoad":`Échec du chargement`,"desktopHostSwitcher.error.invalidUrl":`URL non valide (doit être http/https)`,"desktopHostSwitcher.error.failedToOpenNewWindow":`Échec de l'ouverture d'une nouvelle fenêtre`,"desktopHostSwitcher.instance.local":`Local`,"desktopHostSwitcher.instance.fallback":`Instance`,"desktopHostSwitcher.startup.title":`Instance SSH par défaut indisponible`,"desktopHostSwitcher.startup.connectingTo":`Connexion à {host}...`,"desktopHostSwitcher.startup.failed":`Échec de la connexion de l'instance SSH par défaut.`,"desktopHostSwitcher.toast.sshConnected":`Instance SSH "{host}" connectée`,"desktopHostSwitcher.toast.sshFailedToConnect":`L'instance SSH "{host}" n'a pas réussi à se connecter`,"desktopHostSwitcher.toast.instanceUnreachable":`L'instance "{host}" est inaccessible`,"miniChat.header.newSession":`Nouvelle session`,"miniChat.header.session":`Session`,"miniChat.header.defaultAgent":`Agent par défaut`,"miniChat.header.noModel":`Aucun modèle`,"miniChat.status.busy":`En cours d'exécution`,"miniChat.status.retry":`Réessayer`,"miniChat.status.idle":`Inactif`,"miniChat.actions.pin":`Épingler au-dessus des autres fenêtres`,"miniChat.actions.unpin":`Détacher la fenêtre`,"miniChat.actions.pinAria":`Épingler la fenêtre Mini Chat`,"miniChat.actions.unpinAria":`Désépingler la fenêtre Mini Chat`,"miniChat.actions.openMain":`Ouvrir dans la fenêtre principale`,"miniChat.actions.openMainAria":`Ouvrir la session dans la fenêtre principale`,"miniChat.unavailable.title":`Session indisponible`,"miniChat.unavailable.description":`Cette session n'a pas pu être chargée. Il peut avoir été supprimé, archivé ou ouvert à partir d'un contexte de projet différent.`,"sessions.sidebar.session.menu.openMiniChatWindow":`Ouvrir dans la mini-fenêtre de discussion`,"header.actions.newMiniChat":`Nouvelle mini-fenêtre de discussion`,"header.actions.newMiniChatAria":`Ouvrir une nouvelle fenêtre de mini-chat`,"header.actions.openSessionMiniChat":`Session ouverte dans le mini-chat`,"header.actions.openSessionMiniChatAria":`Ouvrir la session en cours dans Mini Chat`,"header.windowControls.groupAria":`Champs de fenêtre`,"header.windowControls.minimize":`Réduire la fenêtre`,"header.windowControls.maximize":`Agrandir la fenêtre`,"header.windowControls.restore":`Fenêtre de restauration`,"header.windowControls.close":`Fermer la fenêtre`,"errorBoundary.title":`Quelque chose s'est mal passé`,"errorBoundary.description":`L'application a rencontré une erreur inattendue. Cela a été enregistré pour le débogage.`,"errorBoundary.state.unknownError":`Erreur inconnue`,"errorBoundary.state.componentStackLabel":`Pile de composants :`,"errorBoundary.actions.errorDetails":`Détails de l'erreur`,"errorBoundary.actions.tryAgain":`Essayer à nouveau`,"errorBoundary.actions.copy":`Copie`,"errorBoundary.actions.copied":`Copié`,"jsonTreeView.error.emptyJson":`Contenu JSON vide`,"jsonTreeView.error.invalidJson":`JSON invalide`,"jsonTreeView.error.invalidJsonTitle":`JSON invalide`,"jsonTreeView.actions.expandAll":`Développer tout`,"jsonTreeView.actions.collapseAll":`Réduire tout`,"numberInput.actions.decreaseAria":`Diminuer la valeur`,"numberInput.actions.increaseAria":`Augmenter la valeur`,"goToLineDialog.field.linePlaceholderShort":`Ligne`,"goToLineDialog.field.linePlaceholder":`Numéro de ligne`,"goToLineDialog.actions.go":`Aller`,"goToLineDialog.helper.editorUnavailable":`Éditeur indisponible.`,"goToLineDialog.helper.currentLineRange":`Ligne actuelle : {current}. Tapez un numéro de ligne compris entre 1 et {max} vers lequel accéder.`,"goToLineDialog.helper.goToLine":`Aller à la ligne {line}`,"dialog.common.actions.close":`Fermer`,"filesView.toast.relativePathCopied":`Chemin relatif copié`,"filesView.tree.menu.copyRelativePath":`Copier le chemin relatif`,"multiRun.branchSelector.placeholder.selectSourceBranch":`Sélectionnez la branche source...`,"multiRun.branchSelector.status.loadingBranches":`Chargement des branches...`,"multiRun.branchSelector.status.noBranchesFound":`Aucune branche trouvée`,"multiRun.branchSelector.status.notInGitRepository":`Pas dans un dépôt git.`,"multiRun.branchSelector.groups.localBranches":`Branches locales`,"multiRun.branchSelector.groups.remoteBranches":`Branches du dépôt distant`,"multiRun.window.actions.closeAria":`Fermer le multi-exécution`,"multiRun.window.description":`Fenêtre multi-exécution OpenChamber.`,"voice.status.idle":`Prêt pour la voix`,"voice.status.listening":`Écoute...`,"voice.status.processing":`Traitement...`,"voice.status.speaking":`Parlant...`,"voice.status.error":`Erreur vocale`,"voice.status.conversationModeActiveAria":`Mode conversation actif`,"voice.action.finishAndTranscribe":`Terminer et transcrire la saisie vocale`,"onboarding.common.actions.back":`Retour`,"onboarding.common.copyToClipboard":`Copier dans le presse-papier`,"onboarding.common.status.copiedToClipboard":`Copié dans le presse-papiers`,"onboarding.chooser.title":`Bienvenue sur OpenChamber`,"onboarding.chooser.description":`Choisissez comment vous souhaitez vous connecter pour commencer.`,"onboarding.chooser.tabs.localInstall":`Installation locale`,"onboarding.chooser.tabs.connectRemote":`Se connecter en remote`,"onboarding.localSetup.title":`Configuration de OpenCode`,"onboarding.localSetup.description":`Installez OpenCode CLI pour continuer.`,"onboarding.localSetup.dialog.selectOpencodeBinary":`Sélectionnez le binaire OpenCode`,"onboarding.localSetup.errors.cliNotReady":`OpenCode CLI n’est pas encore prêt. Veuillez confirmer que l'installation est terminée et réessayer.`,"onboarding.localSetup.errors.detectionFailed":`Échec de la détection`,"onboarding.localSetup.windows.title":`Configuration de Windows (WSL recommandé)`,"onboarding.localSetup.windows.stepInstallWsl":`Installez WSL (si nécessaire) avec`,"onboarding.localSetup.windows.stepInstallWslSuffix":`dans PowerShell.`,"onboarding.localSetup.windows.stepRunInstallInWsl":`Exécutez la commande d'installation ci-dessous dans votre terminal WSL.`,"onboarding.localSetup.windows.stepSetBinaryPath":`Si OpenChamber ne détecte pas automatiquement OpenCode, définissez le chemin binaire ci-dessous.`,"onboarding.localSetup.intro":`OpenCode est le cœur de OpenChamber — installez-le pour commencer.`,"onboarding.localSetup.docs.windows":`Documents OpenCode Windows + WSL`,"onboarding.localSetup.docs.default":`Documents OpenCode`,"onboarding.localSetup.actions.checking":`Vérification…`,"onboarding.localSetup.actions.checkNow":`Vérifiez maintenant`,"onboarding.localSetup.actions.checkAndContinue":`J’ai terminé l’installation, vérifier et continuer`,"onboarding.localSetup.helper.checkAndContinue":`Cliquez pour vérifier si OpenCode CLI est disponible. En cas de succès, vous entrerez automatiquement dans l'écran principal.`,"onboarding.localSetup.status.watching":`En attendant OpenCode`,"onboarding.localSetup.status.autoContinue":`Nous continuerons automatiquement une fois qu’il sera détecté.`,"onboarding.localSetup.field.alreadyInstalled":`Déjà installé ? Définissez le chemin OpenCode CLI :`,"onboarding.localSetup.advanced.title":`Définir un chemin binaire personnalisé`,"onboarding.localSetup.troubleshoot.title":`Vous avez des problèmes ?`,"onboarding.localSetup.actions.browse":`Parcourir`,"onboarding.localSetup.actions.apply":`Appliquer`,"onboarding.localSetup.helper.saveAndReload":`Enregistre dans les paramètres OpenChamber et recharge la configuration OpenCode.`,"onboarding.localSetup.remotePreference":`Vous préférez utiliser un serveur distant ?`,"onboarding.localSetup.actions.connectRemoteServer":`Se connecter au serveur distant →`,"onboarding.localSetup.windows.hintInstallInWsl":`Sous Windows, installez et exécutez OpenCode dans WSL pour une meilleure compatibilité.`,"onboarding.localSetup.windows.hintDetectionFailed":`Si la détection échoue, définissez un chemin natif (opencode.cmd/opencode.exe), wsl.exe ou wsl:/usr/local/bin/opencode.`,"onboarding.localSetup.hint.ensurePath":`Déjà installé ? Assurez-vous qu'OpenCode est dans votre PATH.`,"onboarding.localSetup.hint.setEnv":`Ou définissez la variable d'environnement OPENCODE_BINARY.`,"onboarding.localSetup.hint.missingRuntime":`Si vous voyez « env: node : No such file or directory » ou « env: bun : No such file or directory », installez ce runtime ou assurez-vous qu'il se trouve sur PATH.`,"onboarding.remoteConnection.title":`Se connecter au serveur distant`,"onboarding.remoteConnection.titleRecovery":`Connectez-vous à un autre serveur`,"onboarding.remoteConnection.description":`Saisissez l'adresse d'un serveur OpenChamber auquel vous connecter.`,"onboarding.remoteConnection.field.serverAddress":`Adresse du serveur`,"onboarding.remoteConnection.field.serverAddressPlaceholder":`https://your-server.example.com:4096`,"onboarding.remoteConnection.field.nameOptional":`Nom (facultatif)`,"onboarding.remoteConnection.field.namePlaceholder":`Mon serveur distant`,"onboarding.remoteConnection.errors.connectionTestFailed":`Le test de connexion a échoué`,"onboarding.remoteConnection.errors.failedToSaveConnection":`Échec de l'enregistrement de la connexion`,"onboarding.remoteConnection.status.connectedSuccessfully":`Connecté avec succès ({latencyMs}ms)`,"onboarding.remoteConnection.status.authWarning":`Le serveur nécessite une authentification. Vous pouvez toujours vous connecter.`,"onboarding.remoteConnection.status.connectionFailed":`Échec de la connexion`,"onboarding.remoteConnection.status.suggestionsUnreachable":`Suggestions : vérifiez l'adresse du serveur, vérifiez que le serveur est en cours d'exécution ou vérifiez votre connexion réseau.`,"onboarding.remoteConnection.status.suggestionsWrongService":`Suggestions : vérifiez que l’URL pointe vers un serveur OpenChamber ou contactez l'administrateur du serveur.`,"onboarding.remoteConnection.actions.testing":`Essai…`,"onboarding.remoteConnection.actions.testConnection":`Tester la connexion`,"onboarding.remoteConnection.actions.connectAndRestart":`Connectez-vous et redémarrez`,"onboarding.remoteConnection.actions.whatToDo":`Qu'aimeriez-vous faire ?`,"onboarding.remoteConnection.actions.chooseDifferentServer":`Choisissez un autre serveur`,"onboarding.remoteConnection.actions.useLocalInstead":`Utilisez plutôt local`,"onboarding.remoteConnection.probe.authMessage":`Le serveur nécessite une authentification. Vous pouvez toujours vous connecter, mais vous devrez peut-être fournir des informations d'identification.`,"onboarding.remoteConnection.probe.wrongServiceMessage":`Le serveur a répondu mais n'exécute pas OpenChamber. Vérifiez que l'adresse pointe vers un serveur OpenChamber.`,"onboarding.remoteConnection.probe.unreachableMessage":`Le serveur est inaccessible. Vérifiez votre connexion réseau et vérifiez l'adresse du serveur.`,"onboarding.desktopRecovery.localUnavailable.title":`OpenCode local indisponible`,"onboarding.desktopRecovery.localUnavailable.description":`OpenCode CLI n'a pas pu être démarré ou n'est pas installé. Installez OpenCode ou connectez-vous plutôt à un serveur distant.`,"onboarding.desktopRecovery.localUnavailable.retry":`Réessayer en local`,"onboarding.desktopRecovery.localUnavailable.useLocal":`Configurer localement`,"onboarding.desktopRecovery.noDefaultConnection.title":`Aucune connexion par défaut`,"onboarding.desktopRecovery.noDefaultConnection.description":`Votre connexion par défaut enregistrée est introuvable. Choisissez comment vous souhaitez vous connecter.`,"onboarding.desktopRecovery.remoteUnreachable.title":`Serveur distant inaccessible`,"onboarding.desktopRecovery.remoteUnreachable.description":`Impossible de se connecter à "{host}". Vérifiez votre connexion réseau et vérifiez l'adresse du serveur.`,"onboarding.desktopRecovery.remoteUnreachable.retry":`Réessayer la connexion`,"onboarding.desktopRecovery.incompatibleServer.title":`Serveur incompatible`,"onboarding.desktopRecovery.incompatibleServer.description":`Le serveur «\xA0{host}\xA0» n'exécute pas OpenChamber. Vérifiez que l'adresse pointe vers un serveur OpenChamber.`,"onboarding.desktopRecovery.common.useLocal":`Utiliser local`,"onboarding.desktopRecovery.common.useRemote":`Utiliser le remote`,"onboarding.desktopRecovery.actions.retrying":`Nouvelle tentative…`,"onboarding.desktopRecovery.actions.retryConnection":`Réessayer la connexion`,"startup.initRecovery.title":`Le démarrage a échoué`,"startup.initRecovery.description":`OpenChamber n'a pas pu terminer l'initialisation. Vérifiez que le serveur est en cours d'exécution, puis réessayez.`,"startup.initRecovery.retry":`Réessayer`,"startup.initRecovery.retrying":`Nouvelle tentative…`,"onboarding.desktopRecovery.placeholders.remoteServer":`le serveur distant`,"onboarding.desktopRecovery.placeholders.unknownServer":`inconnu`,"vscodeLayout.title.chat":`Chat`,"vscodeLayout.title.newSession":`Nouvelle session`,"vscodeLayout.title.sessions":`Sessions`,"vscodeLayout.title.sessionFallback":`Session`,"vscodeLayout.actions.backToSessionsAria":`Retour aux sessions`,"vscodeLayout.actions.newSessionAria":`Nouvelle session`,"vscodeLayout.actions.openAgentManagerAria":`Ouvrir le gestionnaire d'agents`,"vscodeLayout.actions.resizeSessionsSidebarAria":`Redimensionner la barre latérale des sessions`,"vscodeLayout.actions.settingsAria":`Paramètres`,"vscodeLayout.quota.title":`Limites de taux`,"vscodeLayout.quota.mode.used":`Utilisé`,"vscodeLayout.quota.mode.remaining":`Restant`,"vscodeLayout.quota.lastUpdated":`Dernière mise à jour {time}`,"vscodeLayout.quota.noRateLimitsAvailable":`Aucune limite de taux disponible.`,"vscodeLayout.quota.noRateLimitsReported":`Aucune limite de taux signalée.`,"vscodeLayout.quota.actions.rateLimitsAria":`Limites de taux`,"vscodeLayout.quota.actions.showUsedAria":`Afficher le quota utilisé`,"vscodeLayout.quota.actions.showRemainingAria":`Afficher le quota restant`,"vscodeLayout.quota.actions.refreshAria":`Limites du taux de rafraîchissement`,"updateDialog.header.updateAvailable":`Mise à jour disponible`,"updateDialog.header.updating":`Mise à jour de OpenChamber...`,"updateDialog.status.installingUpdate":`Installation de la mise à jour...`,"updateDialog.status.serverRestarting":`Redémarrage du serveur...`,"updateDialog.status.waitingForServer":`En attente du serveur...`,"updateDialog.status.autoReloadHint":`La page se rechargera automatiquement une fois la mise à jour terminée.`,"updateDialog.fallback.updateViaTerminal":`Ou mettre à jour via le terminal :`,"updateDialog.actions.copyCommand":`Commande Copier`,"updateDialog.actions.copied":`Copié!`,"updateDialog.status.downloadingPayload":`Téléchargement de la charge utile de la mise à jour...`,"updateDialog.actions.downloadUpdate":`Télécharger la mise à jour`,"updateDialog.status.downloading":`Téléchargement...`,"updateDialog.actions.restartToUpdate":`Redémarrer pour mettre à jour`,"updateDialog.actions.updateNow":`Mettre à jour maintenant`,"updateDialog.actions.applyOtaNow":`Mettre à jour`,"updateDialog.actions.openMobileUpdate":`Ouvrir la mise à jour`,"updateDialog.changelog.title":`Nouveautés`,"updateDialog.status.updating":`Mise à jour...`,"updateDialog.error.updateFailed":`La mise à jour a échoué`,"updateDialog.error.takingLonger":`La mise à jour prend plus de temps que prévu. Attendez un peu et actualisez, ou exécutez : openchamber update`,"mobileUpdate.toast.available.title":`Mise à jour OpenChamber disponible`,"mobileUpdate.toast.available.description":`La version {version} est prête pour Android.`,"mobileUpdate.toast.actions.download":`Télécharger`,"mobileUpdate.toast.actions.dismiss":`Ignorer`,"mobileUpdate.ota.toast.available.title":`Mise à jour disponible`,"mobileUpdate.ota.toast.available.description":`La version {version} est prête à être installée.`,"mobileUpdate.ota.toast.actions.update":`Mettre à jour`,"mobileUpdate.ota.toast.actions.dismiss":`Ignorer`,"opencodeUpdate.toast.available.title":`Mise à jour OpenCode`,"opencodeUpdate.toast.available.description":`Version {version} disponible.`,"opencodeUpdate.toast.actions.update":`Mise à jour`,"opencodeUpdate.toast.actions.dismiss":`Ignorer`,"opencodeUpdate.toast.actions.reload":`Recharger OpenCode`,"opencodeUpdate.toast.upgrading.title":`Mise à jour de OpenCode...`,"opencodeUpdate.toast.upgrading.description":`Gardez OpenChamber ouvert.`,"opencodeUpdate.toast.updated.title":`OpenCode mis à jour`,"opencodeUpdate.toast.updated.description":`Mise à jour installée.`,"opencodeUpdate.toast.updated.descriptionWithVersion":`Version {version} installée.`,"opencodeUpdate.toast.failed.title":`Impossible de mettre à jour OpenCode`,"opencodeUpdate.toast.failed.description":`La mise à niveau du OpenCode a échoué.`,"opencodeUpdate.toast.reload.message":`Redémarrage de OpenCode...`,"memoryDebugPanel.title":`Panneau de débogage`,"memoryDebugPanel.tabs.memory":`Mémoire`,"memoryDebugPanel.tabs.streaming":`Streaming`,"memoryDebugPanel.section.sessionsInMemory":`Sessions en mémoire`,"memoryDebugPanel.section.uiStreamingMetrics":`Métriques de streaming de l'interface utilisateur`,"memoryDebugPanel.section.vscodeBridgeMetrics":`Métriques du pont VS Code`,"memoryDebugPanel.section.noUiSamples":`Aucun échantillon de streaming d'interface utilisateur pour l'instant. Démarrez un flux et gardez ce panneau ouvert.`,"memoryDebugPanel.section.noVscodeSamples":`Aucun échantillon de pont VS Code pour l'instant.`,"memoryDebugPanel.metric.totalMessages":`Nombre total de messages`,"memoryDebugPanel.metric.cachedSessions":`Sessions mises en cache`,"memoryDebugPanel.metric.userMessages":`Messages utilisateur`,"memoryDebugPanel.metric.assistantMessages":`Messages assistant`,"memoryDebugPanel.metric.viewportWindow":`Fenêtre d'affichage`,"memoryDebugPanel.metric.zombieTimeout":`Délai d'attente des zombies`,"memoryDebugPanel.metric.githubTotalRequests":`GitHub Total des demandes`,"memoryDebugPanel.metric.metrics":`Métrique`,"memoryDebugPanel.metric.samples":`Échantillons`,"memoryDebugPanel.metric.lastUpdate":`Dernière mise à jour`,"memoryDebugPanel.metric.uiMetrics":`Métriques de l'interface utilisateur`,"memoryDebugPanel.metric.vscodeMetrics":`VS Code Métriques`,"memoryDebugPanel.metric.messageListRenders":`Rendus de liste de messages`,"memoryDebugPanel.metric.messageListStreamRenders":`Rendus de flux MsgList`,"memoryDebugPanel.metric.chatMessageRenders":`Rendus de messages de chat`,"memoryDebugPanel.metric.chatMessageStreamRenders":`Rendus de flux de messages ChatMessage`,"memoryDebugPanel.metric.chatMessageStaticDuringStream":`ChatMessage statique pendant le flux`,"memoryDebugPanel.metric.chatMessageStaticOutsideActiveTurn":`ChatMessage statique en dehors du tour actif`,"memoryDebugPanel.metric.messagesValue":`Messages {count}`,"memoryDebugPanel.metric.minutesValue":`Minutes {count}`,"memoryDebugPanel.metric.msgsValue":`Messages {count}`,"memoryDebugPanel.metric.roleMsgsValue":`U {user} / A {assistant}`,"memoryDebugPanel.metric.countValue":`compter {value}`,"memoryDebugPanel.metric.avgValue":`moyenne {value}`,"memoryDebugPanel.metric.maxValue":`maximum {value}`,"memoryDebugPanel.metric.totalValue":`total {value}`,"memoryDebugPanel.actions.logState":`État du journal`,"memoryDebugPanel.actions.copyJson":`Copier JSON`,"memoryDebugPanel.tooltip.logCurrentState":`Enregistrer l'état actuel de la mémoire sur la console du navigateur`,"memoryDebugPanel.streaming.copy.copied":`Débogage en streaming JSON copié`,"memoryDebugPanel.streaming.copy.failed":`Échec de la copie de JSON`,"memoryDebugPanel.streaming.copy.hint":`La copie exporte les métriques de streaming de l'interface utilisateur et de VS Code en tant que JSON.`,"memoryDebugPanel.common.idle":`inactif`,"memoryDebugPanel.common.live":`en direct`,"memoryDebugPanel.common.notAvailable":`n / A`,"memoryDebugPanel.common.untitled":`Sans titre`,"directoryTree.field.newDirectoryPlaceholder":`nouveau_répertoire`,"textarea.resizeHandleAria":`Redimensionner la zone de texte`,"sidebar.resize.leftPanelAria":`Redimensionner le panneau de gauche`,"sidebar.resize.rightPanelAria":`Redimensionner le panneau de droite`,"mainLayout.mobile.closeDrawerAria":`Fermer le tiroir`,"sortableTabsStrip.aria.tabs":`Onglets`,"openChamberLogo.aria.logo":`Logo OpenChamber`,"markdownRenderer.code.actions.copyTitle":`Copier le code`,"markdownRenderer.code.actions.copiedTitle":`Copié`,"markdownRenderer.table.actions.copyTitle":`Copier le tableau`,"markdownRenderer.code.actions.enableWrapTitle":`Activer le retour à la ligne`,"markdownRenderer.code.actions.disableWrapTitle":`Désactiver le retour à la ligne`,"markdownRenderer.table.actions.downloadTitle":`Télécharger le tableau`,"markdownRenderer.table.toast.downloadedAsFormat":`Table téléchargée sous le nom {format}`,"markdownRenderer.mermaid.actions.copyTitle":`Copie`,"markdownRenderer.mermaid.actions.copySourceTitle":`Copier la source`,"markdownRenderer.mermaid.actions.downloadSvgTitle":`Télécharger SVG`,"markdownRenderer.mermaid.actions.zoomInTitle":`Zoom avant`,"markdownRenderer.mermaid.actions.zoomOutTitle":`Zoom arrière`,"markdownRenderer.mermaid.actions.resetViewTitle":`Réinitialiser la vue`,"markdownRenderer.mermaid.toast.downloadFailed":`Échec du téléchargement du diagramme`,"common.date.today":`Aujourd’hui`,"common.date.yesterday":`Hier`,"common.date.yesterdayWithTime":`Hier {time}`,"common.relative.justNow":`À l’instant`,"common.relative.minutesAgoShort":`il y a {count} min`,"common.relative.hoursAgoShort":`il y a {count} h`,"common.relative.daysAgoShort":`il y a {count} j`,"common.relative.weeksAgoShort":`il y a {count} sem`,"common.relative.yearsAgoShort":`il y a {count} a`,"common.relative.minutesAgoCompact":`{count} min`,"common.relative.hoursAgoCompact":`{count} h`,"common.relative.daysAgoCompact":`{count} j`,"common.relative.weeksAgoCompact":`{count} sem`,"common.relative.monthsAgoCompact":`{count} mois`,"common.relative.yearsAgoCompact":`{count} a`,"contextFileOpen.failure.tooLarge":`Le fichier est trop volumineux pour être ouvert (> {count} lignes)`,"contextFileOpen.failure.missing":`Fichier introuvable`,"contextFileOpen.failure.unreadable":`Impossible d’ouvrir le fichier`,"quota.window.5h":`5 heures`,"quota.window.7d":`Limite sur 7 jours`,"quota.window.7dSonnet":`Limite Sonnet sur 7 jours`,"quota.window.7dOpus":`Limite Opus sur 7 jours`,"quota.window.weekly":`Limite hebdomadaire`,"quota.window.daily":`Quotidien`,"quota.window.monthly":`Limite mensuelle`,"quota.window.credits":`Crédits`,"quota.window.creditsBalance":`Solde de crédits`,"quota.window.billingCycle":`Cycle de facturation`,"quota.window.auto":`Auto`,"quota.window.api":`API`,"quota.window.planLimit":`Limite du forfait`,"quota.window.onDemand":`À la demande`,"quota.window.session":`Session`,"quota.window.premium":`Interactions premium`,"quota.window.chat":`Requêtes de chat`,"quota.window.completions":`Complétions`,"quota.window.premiumInteractions":`Interactions premium`,"layout.mainTab.diagram":`Diagramme`,"mobile.nav.aria":`Navigation mobile`,"mobile.nav.secondaryPageAria":`Page de détail`,"mobile.connect.welcome.title":`Se connecter à OpenChamber`,"mobile.connect.welcome.description":`Ajoutez une URL de serveur ou scannez un code QR d'appairage pour commencer à utiliser l'app mobile.`,"mobile.connect.url.label":`URL du serveur`,"mobile.connect.url.placeholder":`http://192.168.1.74:2606`,"mobile.connect.link.divider":`Ou utilisez un lien d'appairage`,"mobile.connect.address.divider":`Ou saisissez une adresse de serveur`,"mobile.connect.link.label":`Lien d'appairage`,"mobile.connect.link.placeholder":`Collez le lien openchamber://connect`,"mobile.connect.link.invalid":`Ce lien d'appairage n'est pas valide ou a expiré.`,"mobile.connect.token.label":`Jeton client`,"mobile.connect.token.placeholder":`Collez le jeton d'accès`,"mobile.connect.token.hint":`Nécessaire uniquement si votre serveur exige un jeton au lieu d'un mot de passe.`,"mobile.connect.password.label":`Mot de passe`,"mobile.connect.password.placeholder":`Mot de passe OpenChamber`,"mobile.connect.connectButton":`Se connecter`,"mobile.connect.unlockButton":`Déverrouiller et se connecter`,"mobile.connect.cancelPassword":`Utiliser un autre serveur`,"mobile.connect.connecting":`Connexion...`,"mobile.connect.scanQr":`Scanner le code QR`,"mobile.connect.welcome.scanHint":`Sur votre ordinateur, ouvrez « Ajouter un appareil » pour afficher un code QR, puis scannez-le ici.`,"mobile.connect.advanced":`Avancé`,"mobile.connect.manual.toggle":`Connexion manuelle`,"mobile.connect.scan.permissionDenied":`L'accès à la caméra est désactivé. Activez-le dans les Réglages pour scanner un code QR.`,"mobile.connect.scan.failed":`Impossible de scanner ce code QR. Réessayez ou saisissez l'URL manuellement.`,"mobile.connect.scan.invalid":`Ce code QR n'est pas un code de connexion OpenChamber.`,"mobile.connect.scan.unsupported":`Le scan QR est disponible uniquement dans l'app mobile installée.`,"mobile.connect.saved.title":`Connexions enregistrées`,"mobile.connect.saved.empty":`Aucune connexion enregistrée pour le moment.`,"mobile.connect.relay.badge":`via OpenChamber Relay`,"mobile.connect.error.urlRequired":`Saisissez une URL de serveur.`,"mobile.connect.splash.connectingTo":`Connexion à l’appareil :`,"mobile.connect.error.invalidUrl":`Cette URL de serveur n'est pas valide.`,"mobile.connect.error.unreachable":`Impossible de joindre ce serveur OpenChamber.`,"mobile.connect.error.authRequired":`Ce serveur nécessite un mot de passe ou un jeton client.`,"mobile.connect.error.passwordFailed":`Impossible de déverrouiller ce serveur. Vérifiez le mot de passe.`,"mobile.instances.addTitle":`Ajouter une instance`,"mobile.instances.addManual":`Ajouter par adresse`,"mobile.instances.editTitle":`Modifier l'instance`,"mobile.instances.edit":`Modifier`,"mobile.instances.delete":`Supprimer`,"mobile.instances.deleteAria":`Supprimer {label}`,"mobile.instances.confirmDeleteAria":`Confirmer la suppression de {label}`,"mobile.instances.cancelDeleteAria":`Conserver {label}`,"mobile.instances.cancelEdit":`Annuler`,"mobile.instances.label.label":`Nom`,"mobile.instances.label.placeholder":`Nom d'affichage facultatif`,"mobile.instances.saveNew":`Enregistrer l'instance`,"mobile.instances.status.connectedDirect":`Connecté · Réseau local`,"mobile.instances.status.connectedRelay":`Connecté · Relais`,"mobile.instances.status.connectedSshRelay":`Connecté · SSH via relais`,"mobile.instances.sshBadge":`SSH`,"mobile.instances.sshViaDesktop":`Acheminé via le bureau vers SSH`,"mobile.connect.error.sshNotConnected":`Cette instance SSH n’est pas connectée pour le moment.`,"mobile.connect.ssh.fallbackDesktop":`Instance SSH indisponible — connexion au bureau à la place.`,"mobile.instances.saveEdit":`Enregistrer les modifications`,"mobile.nav.changes":`Modifications`,"mobile.nav.settings":`Paramètres`,"mobile.tabs.projects":`Projets`,"mobile.tabs.assistant":`Agent`,"mobile.tabs.scheduled":`Tâches`,"mobile.tabs.settings":`Réglages`,"mobile.surface.closeAria":`Fermer`,"mobile.header.openMenuAria":`Ouvrir le menu`,"mobile.header.openMetadataAria":`Ouvrir les métadonnées de session`,"mobile.header.metadata.context":`Contexte`,"mobile.header.metadata.branch":`Branche`,"mobile.header.metadata.usage":`Utilisation`,"mobile.menu.titleAria":`Outils de l’espace de travail`,"mobile.menu.newSession":`Nouveau chat`,"mobile.chat.syncingMessages":`Synchronisation des messages...`,"mobile.menu.files":`Fichiers`,"mobile.menu.changes":`Modifications`,"mobile.menu.mcp":`MCP`,"mobile.menu.instances":`Instances`,"mobile.settings.switchInstance":`Changer d'instance`,"mobile.menu.update":`Mettre à jour`,"mobile.menu.settings":`Paramètres`,"mobile.sessions.newChatCta":`Nouveau Chat dans {project}`,"mobile.sessions.dateGroup.today":`Aujourd’hui`,"mobile.sessions.dateGroup.yesterday":`Hier`,"mobile.sessions.dateGroup.thisWeek":`Plus tôt cette semaine`,"mobile.sessions.dateGroup.older":`Plus ancien`,"mobile.sessions.section.worktrees":`Worktrees`,"mobile.sessions.mainWorkspace":`Espace de travail principal`,"mobile.sessions.section.pinned":`Épinglés`,"mobile.sessions.searchAria":`Rechercher des sessions`,"mobile.sessions.section.otherProjects":`Changer de projet`,"mobile.sessions.section.projects":`Projets`,"mobile.projects.menu.label":`Plus d'actions`,"mobile.projects.menu.newChat":`Nouvelle conversation`,"mobile.projects.menu.newProject":`Nouveau projet`,"mobile.projects.menu.scanQr":`Scanner un QR code`,"mobile.projects.menu.switchInstance":`Changer d'instance`,"mobile.sessions.empty.noProjectsTitle":`Aucun projet pour le moment`,"mobile.sessions.empty.noProjectsDescription":`Ajoutez un projet pour commencer à discuter avec votre code.`,"mobile.sessions.empty.noSessionsTitle":`Aucune session pour le moment`,"mobile.sessions.empty.noSessionsDescription":`Démarrez votre premier chat pour le voir ici.`,"mobile.sessions.empty.searchTitle":`Aucun résultat`,"mobile.sessions.empty.searchDescription":`Essayez un autre terme de recherche.`,"mobile.sessions.showArchived":`Afficher les archivées ({count})`,"mobile.sessions.hideArchived":`Masquer les archivées`,"mobile.sessions.activeWorktreeAria":`Worktree actif`,"mobile.sessions.activeProjectAria":`Projet actif`,"mobile.sessions.startNewChat":`Nouveau chat`,"mobile.sessions.newChat":`Nouveau Chat`,"mobile.sessions.editOrder":`Réordonner les projets`,"mobile.sessions.doneEditing":`Terminé`,"mobile.sessions.editOrderHint":`Faites glisser la poignée pour réordonner les projets. Touchez la coche pour terminer.`,"mobile.sessions.editProjectAria":`Modifier {label}`,"mobile.sessions.dragHandleAria":`Faire glisser {label} pour réordonner`,"mobile.sessions.moveUpAria":`Déplacer {label} vers le haut`,"mobile.sessions.moveDownAria":`Déplacer {label} vers le bas`,"mobile.sessions.removeProjectAria":`Supprimer {label}`,"mobile.sessions.cancelRemoveProjectAria":`Annuler la suppression de {label}`,"mobile.sessions.confirmRemoveProject":`Fermer`,"mobile.sessions.confirmRemoveProjectAria":`Confirmer la suppression de {label}`,"mobile.projects.closeConfirmMessage":`Fermer « {title} » ? Il quittera la liste des projets. Les sessions restent sur le disque.`,"mobile.sessions.toast.projectRemoved":`{label} supprimé`,"mobile.sessions.archiveSessionAria":`Archiver {title}`,"mobile.sessions.cancelArchiveAria":`Annuler l’archivage de {title}`,"mobile.sessions.stopSessionAria":`Arrêter {title}`,"mobile.sessions.stopGroupAria":`Arrêter toutes les sessions en cours dans {label}`,"mobile.sessions.stopSubsessionsAria":`Arrêter les sous-sessions en cours de {title}`,"mobile.projectEdit.worktreesTitle":`Worktrees`,"mobile.projectEdit.worktreesEmpty":`Aucun worktree dans ce projet pour le moment.`,"mobile.projectEdit.reorderHint":`Faites glisser pour réordonner les worktrees.`,"mobile.projectEdit.dragWorktreeAria":`Faire glisser {label} pour réordonner`,"mobile.projectEdit.deleteWorktreeAria":`Supprimer le worktree {label}`,"mobile.projectEdit.deleteWorktreeTitle":`Supprimer le worktree`,"mobile.projectEdit.deleteWorktreeConfirmButton":`Supprimer`,"mobile.projectEdit.deleteWorktreeConfirm":`Supprimer le worktree « {name} » ? Cette action est irréversible.`,"mobile.projectEdit.deleteWorktreeDirty":`Ce worktree contient des modifications non commitées qui seront perdues.`,"mobile.projectEdit.deleteWorktreeArchiveNote":`{count} session(s) associée(s) seront archivées.`,"mobile.projectEdit.deleteLocalBranch":`Supprimer aussi la branche locale`,"mobile.projectEdit.deleteRemoteBranch":`Supprimer aussi la branche distante`,"mobile.sessions.showMore":`Afficher {count} de plus`,"mobile.sessions.search.section.sessions":`Sessions`,"mobile.sessions.search.section.archived":`Archivées`,"mobile.sessions.search.section.projects":`Projets`,"mobile.sessions.clearSearchAria":`Effacer la recherche`,"mobile.header.noProject":`Sélectionnez un projet`,"mobile.header.activeSession":`Session active`,"mobile.header.noSession":`Aucune session active`,"mobile.sessions.openSheetAria":`Ouvrir les sessions et projets`,"mobile.sessions.closeSheetAria":`Fermer les sessions et projets`,"mobile.sessions.sheet.title":`Conversations récentes`,"mobile.sessions.sheet.resizeAria":`Redimensionner le panneau des sessions`,"mobile.changes.sheet.resizeAria":`Redimensionner le panneau des modifications`,"mobile.sessions.sheet.description":`Changez de projet, ouvrez des sessions ou démarrez un nouveau chat.`,"mobile.sessions.search.placeholder":`Rechercher des sessions`,"mobile.sessions.empty":`Aucune session trouvée.`,"mobile.sessions.unassignedProject":`Autres sessions`,"mobile.sessions.newSessionAria":`Démarrer un nouveau chat dans ce projet`,"mobile.sessions.untitled":`Session sans titre`,"mobile.sessions.project.sessionsSingle":`1 session`,"mobile.sessions.project.sessionsPlural":`{count} sessions`,"mobile.files.refreshAria":`Actualiser les fichiers`,"mobile.files.backToParentAria":`Retour à {name}`,"mobile.files.rootDirectory":`Fichiers du projet`,"mobile.files.search.placeholder":`Rechercher des fichiers`,"mobile.files.search.empty":`Aucun fichier trouvé.`,"mobile.files.parentDirectory":`Dossier parent`,"mobile.files.empty.noDirectory":`Sélectionnez un projet pour parcourir les fichiers.`,"mobile.files.empty.directory":`Ce dossier est vide.`,"mobile.files.error.listFailed":`Impossible de charger les fichiers`,"mobile.files.error.readUnavailable":`L’aperçu du fichier n’est pas disponible dans ce runtime.`,"mobile.files.file.truncated":`Aperçu du fichier tronqué sur mobile.`,"mobile.files.copyPathAria":`Copier le chemin du fichier`,"mobile.files.copyContent":`Copier le contenu`,"mobile.files.copyContentAria":`Copier le contenu du fichier`,"mobile.files.toast.pathCopied":`Chemin copié`,"mobile.files.toast.contentCopied":`Contenu copié`,"mobile.files.toast.copyFailed":`Échec de la copie`,"mobile.changes.placeholder.title":`Modifications`,"mobile.changes.placeholder.description":`La revue du working tree, la synchronisation et les actions de commit seront ici.`,"mobile.changes.branchLabel":`Branche : {branch}`,"mobile.changes.noRemote":`Aucun remote disponible`,"mobile.changes.cleanDescription":`Aucun fichier modifié dans cet espace de travail.`,"mobile.changes.diffDetail.subtitle":`Diff en lecture seule`,"mobile.changes.diffDetail.loadFailed":`Impossible de charger le diff`,"mobile.changes.diffDetail.missingTitle":`Le fichier n’est plus modifié`,"mobile.changes.diffDetail.missingDescription":`Retournez aux modifications et actualisez la liste.`,"mobile.changes.diffDetail.imageUnavailable":`Les diffs d’images ne sont pas encore disponibles dans les modifications mobile.`,"mobile.settings.placeholder.title":`Paramètres`,"mobile.settings.placeholder.description":`Les paramètres mobiles ciblés de connexion et d’application seront ici.`,"sessions.sidebar.header.displayMode.showArchived":`Afficher les sessions archivées`,"sessions.sidebar.group.showMore":`Plus`,"gitView.changes.revertDirectoryAria":`Annuler les modifications dans {path}`,"gitView.changes.revertDirectory":`Annuler le dossier`,"gitView.changes.revertDirectoryDescriptionPlural":`Cela supprimera les modifications locales dans {count} fichiers sous {path}.`,"gitView.changes.revertDirectoryDescriptionSingle":`Cela supprimera les modifications locales dans {count} fichier sous {path}.`,"gitView.changes.revertDirectoryDialogTitle":`Annuler les modifications du dossier ?`,"gitView.changes.revertDirectoryTooltip":`Annuler les modifications du dossier`,"worktree.bootstrap.toast.failed":`Échec de la configuration du worktree`,"worktree.bootstrap.toast.failedDescription":`Le worktree a été créé, mais la configuration en arrière-plan ne s’est pas terminée.`,"worktree.bootstrap.toast.timeoutDescription":`Le worktree a été créé, mais la configuration en arrière-plan a expiré.`,"contextPanel.browser.inspectUnavailable":`Cette page ne peut pas être inspectée depuis le panneau de navigateur.`,"contextPanel.browser.trustNotice":`Les pages ouvertes ici s’exécutent avec un accès complet à OpenChamber — nécessaire pour l’inspection et les captures d’écran. N’ouvrez que des sites de confiance : une page malveillante pourrait lire vos données ou agir en votre nom.`,"contextPanel.file.notice.turnDiffOutsideWorkspace":`Le diff du tour est indisponible hors du projet. Affichage du fichier actuel à la place.`,"filesView.diagram.closeDiagramView":`Fermer la vue diagramme`,"filesView.diagram.saveDiagram":`Enregistrer le diagramme`,"inlineComment.input.placeholderShort":`Ajouter un commentaire...`,"header.services.remoteUpdate.title":`Mise à jour de l’instance distante`,"header.services.remoteUpdate.checking":`Recherche de mises à jour...`,"header.services.remoteUpdate.upToDate":`Cette instance est à jour.`,"header.services.remoteUpdate.available":`La version {version} est disponible pour cette instance.`,"header.services.remoteUpdate.error":`Impossible de vérifier les mises à jour de l’instance distante`,"header.services.remoteUpdate.actions.open":`Mettre à jour`,"chat.fileAttachment.openInDiagram":`Ouvrir dans la vue diagramme`,"chat.draftPresets.explore.label":`Explorer le codebase`,"chat.draftPresets.catchup.label":`Me remettre à niveau`,"chat.draftPresets.weigh.label":`Comparer mes options`,"chat.draftPresets.plan.label":`Lancer la planification de fonctionnalité`,"chat.draftPresets.craftGoal.label":`Créer un Goal`,"chat.draftPresets.debug.label":`Déboguer un problème`,"chat.draftPresets.review.label":`Revoir mes modifications`,"chat.draftStarters.add":`Ajouter un démarrage`,"chat.draftStarters.searchPlaceholder":`Rechercher des commandes et skills…`,"chat.draftStarters.empty":`Rien à ajouter`,"chat.draftStarters.sectionBuiltIn":`Intégré`,"chat.draftStarters.sectionCommands":`Commandes`,"chat.draftStarters.sectionSkills":`Skills`,"chat.draftStarters.remove":`Retirer`,"chat.draftStarters.expand":`Afficher plus`,"chat.draftStarters.collapse":`Réduire`,"chat.commandAutocomplete.command.handoffReviewDescription":`Créer ou réutiliser une session de revue séparée à partir d’un handoff généré.`,"chat.commandAutocomplete.command.featurePlanDescription":`Lancer une session guidée et interactive de planification pour une nouvelle fonctionnalité.`,"chat.commandAutocomplete.command.craftGoalDescription":`Transformer une idée ou une tâche en Goal clair et vérifiable.`,"chat.chatInput.toast.craftGoalFailed":`Impossible de démarrer la création du Goal`,"chat.commandAutocomplete.command.catchUpDescription":`Rétablir le contexte : ce que vous faisiez et où reprendre.`,"chat.commandAutocomplete.command.debugDescription":`Investigation guidée de la cause racine d’un bug avant de proposer une correction.`,"chat.commandAutocomplete.command.weighDescription":`Comparer 2 à 3 approches avec compromis et recommandation avant de vous engager.`,"chat.commandAutocomplete.command.exploreDescription":`Vous orienter dans ce codebase : tour d’ensemble de l’architecture et des parties principales.`,"chat.commandAutocomplete.command.newDescription":`Démarrer une nouvelle session dans le projet actuel.`,"chat.questionCard.submitFailed":`Impossible d’envoyer la réponse`,"chat.questionCard.dismissFailed":`Impossible d’ignorer la question`,"chat.questionCard.noLongerPending":`Cette question n’attend plus de réponse.`,"chat.questionCard.tryAgain":`Veuillez réessayer dans un instant.`,"chat.messageBody.forkDialog.instructions.label":`Instructions`,"chat.messageBody.forkDialog.instructions.placeholder":`Ajouter des instructions pour la nouvelle session…`,"chat.messageBody.forkDialog.createWorktree":`Créer un worktree`,"chat.forkTransition.preparing":`Préparation du fork`,"chat.forkTransition.copying":`Copie de la conversation (les longues sessions peuvent prendre du temps)`,"chat.forkTransition.opening":`Ouverture de la nouvelle session`,"chat.forkTransition.loading":`Chargement des messages récents`,"chat.forkTransition.progress":`{current} / {total}`,"planView.tts.readAloud":`Lire le plan à voix haute`,"planView.tts.stopSpeaking":`Arrêter la lecture`,"filesView.tts.readAloud":`Lire le fichier à voix haute`,"filesView.tts.stopSpeaking":`Arrêter la lecture`,"chat.messageBody.actions.sendReviewFeedback":`Envoyer le retour de revue à l’agent d’implémentation`,"chat.messageBody.actions.sendImplementationResponse":`Envoyer la réponse d’implémentation à l’agent de revue`,"chat.chatInput.toast.planFeatureFailed":`Impossible de lancer la planification de fonctionnalité`,"chat.chatInput.toast.catchUpFailed":`Impossible de rattraper le contexte`,"chat.chatInput.toast.debugFailed":`Impossible de lancer le débogage`,"chat.chatInput.toast.weighFailed":`Impossible de comparer les options`,"chat.chatInput.toast.exploreFailed":`Impossible de lancer le tour`,"chat.chatInput.reviewCommentsRemove":`Retirer les commentaires de revue`,"chat.toolPart.showRawJson":`Afficher le JSON brut`,"chat.toolPart.showFormattedJson":`Afficher le JSON formaté`,"chat.toolPart.showNavigableJson":`Afficher le JSON navigable`,"chat.toolPart.openFileAtFirstChange":`Ouvrir le fichier à la première modification`,"chat.toolPart.openFileDiff":`Ouvrir les différences du fichier`,"chat.toolPart.copyOutput":`Copier la sortie`,"chat.toolPart.copiedOutput":`Sortie copiée`,"chat.toolPart.copyOutputFailed":`Impossible de copier la sortie`,"desktopHostSwitcher.status.checking":`Vérification`,"desktopHostSwitcher.status.updateRecommended":`Mise à jour recommandée`,"desktopHostSwitcher.status.incompatible":`Incompatible`,"onboarding.remoteConnection.probe.updateRecommendedMessage":`Cette instance utilise une version différente d’OpenChamber. Vous pouvez vous connecter, mais mettez les deux applications à jour si quelque chose ne fonctionne pas.`,"onboarding.remoteConnection.probe.incompatibleMessage":`Le serveur exécute OpenChamber mais n’est pas compatible avec cette version de l’application. Mettez OpenChamber à jour sur le serveur, puis réessayez.`,"onboarding.desktopRecovery.remoteIncompatible.title":`Mise à jour du serveur requise`,"onboarding.desktopRecovery.remoteIncompatible.description":`Le serveur OpenChamber à l’adresse « {host} » n’est pas compatible avec cette version de l’application. Mettez OpenChamber à jour sur le serveur, puis réessayez.`,"vscodeLayout.actions.archiveAllAria":`Archiver toutes les sessions`,"vscodeLayout.actions.archiveAllConfirm":`Tout archiver`,"vscodeLayout.actions.archiveAllSuccess":`{count} session(s) archivée(s)`,"vscodeLayout.actions.archiveAllError":`Impossible d’archiver {count} session(s)`,"vscodeLayout.actions.cancel":`Annuler`};export{e as dict};