'settings.snippets.page.field.contentPlaceholder':'Markdown de l\'extrait...',
'settings.snippets.page.hint':'Utilisez #name dans les prompts. Prend en charge les alias et les blocs de pré-ajout/ajout compatibles avec les extraits de code opencode.',
'settings.snippets.page.toast.nameRequired':'Le nom de l\'extrait est obligatoire',
'settings.snippets.page.toast.contentRequired':'Le contenu de l\'extrait est requis',
'settings.snippets.page.toast.saveFailed':'Échec de l\'enregistrement de l\'extrait',
'settings.promptTemplates.page.field.templatePlaceholder':'Saisissez le texte du modèle de prompt...',
'settings.promptTemplates.page.templateHint':'Ce texte sera ajouté au début du prompt de l\'utilisateur lorsqu\'il est sélectionné dans un groupe multi-run.',
'settings.promptTemplates.page.toast.nameRequired':'Le nom du modèle est obligatoire',
'settings.promptTemplates.page.toast.updated':'Modèle mis à jour',
'settings.promptTemplates.page.toast.updateFailed':'Échec de la mise à jour du modèle',
'settings.promptTemplates.page.toast.createFailed':'Échec de la création du modèle',
'settings.promptTemplates.page.toast.saveUnexpectedError':'Une erreur inattendue s\'est produite lors de l\'enregistrement',
'settings.openchamber.tunnel.title':'Tunnel à distance',
'settings.openchamber.tunnel.description':'Configurez un accès à distance sécurisé avec des liens rapides ou votre propre tunnel Cloudflare distant géré.',
'settings.openchamber.tunnel.note.serverSideEnforced':'L\'accès au tunnel sécurisé est appliqué côté serveur.',
'settings.openchamber.tunnel.note.connectLinksOneTime':'Les liens de connexion sont uniques et sont révoqués lorsque le tunnel s\'arrête ou lorsque la durée de vie du lien de connexion expire.',
'settings.openchamber.tunnel.note.cloudflareConnectorTarget':'Cible du connecteur Cloudflare :',
'settings.openchamber.tunnel.note.cloudflareConnectorTargetUse':'Pour la cible du connecteur Cloudflare, utilisez',
'settings.openchamber.tunnel.note.tokensSavedPerTunnel':'Les jetons sont enregistrés par tunnel et réutilisés à partir du disque.',
'settings.openchamber.tunnel.note.customConfigUsed':'Le fichier de configuration personnalisé sera utilisé lors du démarrage du tunnel.',
'settings.openchamber.tunnel.note.defaultConfigUsed':'Lorsqu\'il est vide, cloudflared utilise sa configuration par défaut (~/.cloudflared/config.yml).',
'settings.openchamber.tunnel.note.managedRemoteRequiresDomain':'Les tunnels distants gérés nécessitent un domaine acheté dans votre compte Cloudflare.',
'settings.openchamber.tunnel.note.startModeAndGenerateLink':'Démarrez un tunnel {mode} et générez un lien de connexion unique. Ne fermez pas l\'application pendant que ce tunnel est utilisé.',
'settings.openchamber.tunnel.note.scanQrToConnect':'Scannez avec votre téléphone pour vous connecter.',
'settings.openchamber.tunnel.option.mode.managedRemote.tooltip':'Managed Remote utilise votre compte Cloudflare et votre nom d\'hôte pour un accès longue durée.',
'settings.openchamber.tunnel.option.mode.managedLocal.tooltip':'Managed Local utilise votre fichier de configuration cloudflared local.',
'settings.openchamber.tunnel.warning.quickModeReliability':'Pour un accès longue durée plus fiable, passez au mode Managed Remote ou Managed Local.',
'settings.openchamber.tunnel.warning.replacesActiveTunnel':'Le démarrage de ce tunnel remplace le tunnel actif et révoque les liens de connexion et les sessions distantes existantes.',
'settings.openchamber.tunnel.error.invalidConfigExtension':'Le fichier de configuration doit utiliser l\'extension .yml, .yaml ou .json.',
'settings.openchamber.tunnel.tooltip.tokensSavedPath':'Les jetons sont enregistrés dans ~/.config/openchamber/cloudflare-managed-remote-tunnels.json.',
'settings.openchamber.tunnel.empty.noManagedRemoteTunnels':'Aucun tunnel distant géré n\'a encore été enregistré.',
'settings.openchamber.tunnel.toast.checkAvailabilityFailed':'Échec de la vérification de la disponibilité du tunnel',
'settings.openchamber.tunnel.toast.saveSettingsFailed':'Échec de l\'enregistrement des paramètres du tunnel',
'settings.openchamber.tunnel.toast.saveTtlFailed':'Échec de l\'enregistrement des paramètres TTL du tunnel',
'settings.openchamber.tunnel.toast.saveTokenFailed':'Échec de l\'enregistrement du jeton de tunnel distant géré',
'settings.openchamber.tunnel.toast.selectOrAddManagedRemoteFirst':'Sélectionnez ou ajoutez d\'abord un tunnel distant géré',
'settings.openchamber.tunnel.toast.managedRemoteTokenRequiredBeforeStarting':'Un jeton de tunnel distant géré est requis avant de démarrer',
'settings.openchamber.tunnel.toast.addManagedRemoteTokenBeforeStarting':'Ajoutez un jeton de tunnel distant géré avant de commencer',
'settings.openchamber.tunnel.toast.startFailed':'Échec du démarrage du tunnel',
'settings.openchamber.tunnel.toast.startedButNoPublicUrl':'Le tunnel a démarré mais aucune URL publique n\'a été renvoyée',
'settings.remoteInstances.page.field.modeHint':'Installations/mises à jour gérées et démarrage de OpenChamber à distance. Externe suppose qu\'il est déjà en cours d\'exécution.',
'settings.remoteInstances.page.field.modePlaceholder':'Sélectionnez le mode',
'settings.remoteInstances.page.field.preferredRemotePortHint':'Le port OpenChamber doit être utilisé sur l\'hôte distant. Laissez vide pour laisser le runtime choisir.',
'settings.remoteInstances.page.field.keepServerRunning':'Maintenir le serveur en marche',
'settings.remoteInstances.page.field.keepServerRunningHint':'S\'il est activé, le démon OpenChamber continue de s\'exécuter à distance lorsque vous vous déconnectez.',
'settings.remoteInstances.page.field.bindHostHint':'Interface réseau pour l’URL locale principale. Utilisez 127.0.0.1/localhost pour un accès uniquement local.',
'settings.remoteInstances.page.field.preferredLocalPort':'Port local préféré',
'settings.remoteInstances.page.field.preferredLocalPortHint':'Port local préféré pour le tunnel principal OpenChamber. Laissez vide pour la sélection automatique.',
'settings.remoteInstances.page.field.forwardType':'Type de transfert',
'settings.projects.actions.field.overrideUrlTooltip':'Si ce champ est rempli, l’URL personnalisée est utilisée. Sinon, l\'application ouvre la meilleure URL détectée dans la sortie.',
'settings.agents.page.toast.savedManualRestart':'Enregistré sur le disque. Redémarrez votre serveur OpenCode connecté pour appliquer les modifications.',
'settings.agents.page.field.variant':'Variante de réflexion',
'settings.agents.page.field.variantTooltip':'Optionnel. Si le modèle prend en charge le raisonnement, la variante contrôle la profondeur du raisonnement.',
'settings.agents.page.field.variantHint':'Spécifique au modèle (par ex. variante Anthropic)',
'settings.behavior.page.warning.title':'Les règles globales sont combinées avec les règles du projet',
'settings.behavior.page.warning.description':'Les modifications apportées ici mettent à jour {path}. OpenCode inclut également toutes les règles AGENTS.md au niveau du projet lorsqu\'elles existent.',
'settings.behavior.page.field.systemPromptPlaceholder':'Vous êtes un assistant IA utile...\n\nUtilisez cet espace pour définir des règles absolues sur la façon dont l\'IA doit se comporter dans toutes les sessions et tous les fournisseurs.',
'settings.behavior.page.section.responseStyle':'Style de réponse',
'settings.behavior.page.responseStyle.tooltip':'Lorsqu\'elles sont activées, ces instructions guident la manière dont l\'assistant répond à chaque nouvelle conversation. Ils sont envoyés avec votre premier message et ne modifient pas vos règles globales AGENTS.md.',
'settings.behavior.page.responseStyle.enableAria':'Activer les instructions de style de réponse',
'settings.behavior.page.responseStyle.enable':'Ajouter des instructions de style de réponse aux nouvelles conversations',
'settings.commands.page.field.templatePlaceholder':'Votre modèle de commande ici...\n\nUtilisez $ARGUMENTS pour référencer les entrées de l\'utilisateur.\nUtilisez !`shell command` pour injecter la sortie du shell.\nUtilisez @filename pour inclure le contenu du fichier.',
'settings.commands.page.templateHint.userInput':'entrée de l\'utilisateur',
'settings.commands.page.templateHint.shellOutput':'sortie du shell',
'settings.commands.page.templateHint.fileContents':'contenu du fichier',
'settings.commands.agentSelector.title':'Sélectionnez un agent',
'settings.gitIdentities.editor.field.emailAddressTooltip':'Doit correspondre à votre adresse e-mail dans GitHub/GitLab pour une attribution appropriée.',
'settings.skills.page.fileDialog.field.contentPlaceholder':'Contenu du fichier...',
'settings.skills.page.toast.skillNameRequired':'Le nom du skill est requis',
'settings.skills.page.toast.invalidSkillName':'Le nom du skill doit contenir de 1 à 64 caractères alphanumériques minuscules avec des traits d\'union et ne peut pas commencer ni se terminer par un trait d\'union.',
'settings.skills.page.toast.descriptionRequired':'Une description est requise',
'settings.skills.page.toast.skillExists':'Un skill portant ce nom existe déjà',
'settings.skills.page.toast.skillCreated':'Skill créé avec succès',
'settings.skills.page.toast.skillUpdated':'Skill mis à jour avec succès',
'settings.skills.page.toast.createSkillFailed':'Échec de la création du skill',
'settings.skills.page.toast.updateSkillFailed':'Échec de la mise à jour du skill',
'settings.skills.page.toast.saveUnexpectedError':'Une erreur s\'est produite lors de l\'enregistrement',
'settings.skills.page.toast.loadFileContentFailed':'Échec du chargement du contenu du fichier',
'settings.skills.page.toast.fileNameRequired':'Le nom du fichier est obligatoire',
'settings.skills.page.toast.fileExists':'Un fichier portant ce nom existe déjà',
'settings.skills.catalog.conflicts.description':'Certains skills sélectionnés sont déjà installés dans ce périmètre. Choisissez si vous voulez les ignorer ou les écraser.',
'settings.skills.catalog.installSkill.toast.installFailed':'Échec de l\'installation du skill',
'settings.skills.catalog.add.title':'Ajouter un catalogue de skills',
'settings.skills.catalog.add.descriptionPrefix':'Ajoutez un dépôt Git comme nouvelle source de catalogue. OpenChamber le scannera pour les dossiers contenant',
'settings.skills.catalog.add.field.repositoryHint':'Les dépôts publics fonctionnent partout. Les dépôts privés nécessitent une identité SSH (desktop et web uniquement).',
'settings.skills.catalog.add.scanResult':'Résultat de l\'analyse: {count} skill(s) trouvé(s)',
'settings.skills.catalog.add.duplicateMessage':'Ce catalogue est déjà ajouté.',
'settings.skills.catalog.add.actions.addCatalog':'Ajouter un catalogue',
'settings.skills.catalog.add.toast.repositoryRequired':'La source du dépôt est requise',
'settings.skills.catalog.add.toast.authenticationRequiredScan':'Authentification requise. Sélectionnez une identité Git et effectuez une nouvelle analyse.',
'settings.skills.catalog.add.toast.scanFailed':'Échec de l\'analyse du dépôt',
'settings.skills.catalog.add.toast.noSkillsFound':'Aucun skill trouvé dans ce dépôt',
'settings.skills.catalog.add.toast.catalogNameRequired':'Le nom du catalogue est obligatoire',
'settings.skills.catalog.add.toast.scanBeforeAdd':'Scannez le dépôt avant d\'ajouter ce catalogue',
'settings.skills.catalog.add.toast.catalogAlreadyExists':'Ce catalogue existe déjà',
'settings.skills.catalog.installFromRepo.toast.authenticationRequiredScan':'Authentification requise. Sélectionnez une identité Git et réessayez l\'analyse.',
'settings.skills.catalog.installFromRepo.toast.authenticationRequiredInstall':'Authentification requise. Sélectionnez une identité Git et réessayez l\'installation.',
'settings.skills.catalog.installFromRepo.toast.scanFailed':'Échec de l\'analyse du dépôt',
'settings.skills.catalog.installFromRepo.toast.selectAtLeastOne':'Sélectionnez au moins un skill à installer',
'settings.openchamber.passkeys.state.uiPasswordRequired':'Les clés d\'accès sont disponibles uniquement lorsque le verrouillage par mot de passe de l\'interface utilisateur est activé.',
'settings.openchamber.passkeys.state.loading':'Chargement des clés d\'accès…',
'settings.openchamber.passkeys.state.noneSaved':'Aucune clé d\'accès enregistrée pour cet hôte pour l\'instant.',
'settings.openchamber.passkeys.toast.loadFailed':'Impossible de charger les clés d\'accès.',
'settings.openchamber.passkeys.toast.enableUiPasswordFirst':'Activez le verrouillage par mot de passe de l\'interface utilisateur avant d\'ajouter des clés d\'accès.',
'settings.openchamber.sessionRetention.title':'Rétention de session',
'settings.openchamber.sessionRetention.tooltip':'Archivez ou supprimez automatiquement les sessions inactives en fonction de la dernière activité. Conserve les 5 sessions les plus récentes.',
'settings.openchamber.sessionRetention.field.enableAutoCleanupAria':'Activer le nettoyage automatique',
'settings.openchamber.sessionRetention.field.enableAutoCleanup':'Activer le nettoyage automatique',
'settings.openchamber.sessionRetention.field.retentionPeriod':'Période de conservation',
'settings.openchamber.sessionRetention.field.retentionPeriodAria':'Durée de conservation en jours',
'settings.openchamber.sessionRetention.toast.failedArchiveCount':'Échec de l\'archivage des sessions {count}',
'settings.openchamber.sessionRetention.toast.failedDeleteCount':'Échec de la suppression des sessions {count}',
'settings.openchamber.desktopNetwork.title':'Accès au réseau de bureau',
'settings.openchamber.desktopNetwork.field.launchAtLoginAria':'Démarrez OpenChamber lors de la connexion',
'settings.openchamber.desktopNetwork.field.launchAtLogin':'Démarrez OpenChamber lorsque vous vous connectez',
'settings.openchamber.desktopNetwork.field.launchAtLoginDescription':'Démarre l\'application en arrière-plan sans ouvrir de fenêtre. Cliquez sur l\'icône Dock pour l\'ouvrir.',
'settings.openchamber.desktopNetwork.field.keepAwakeAria':'Garder l\'ordinateur éveillé pendant qu\'OpenChamber fonctionne',
'settings.openchamber.desktopNetwork.field.keepAwake':'Garder l\'ordinateur éveillé pendant qu\'OpenChamber fonctionne',
'settings.openchamber.desktopNetwork.field.keepAwakeDescription':'Pour que les téléphones puissent continuer à ouvrir cette application. L\'écran peut toujours s\'éteindre.',
'settings.openchamber.desktopNetwork.field.allowLanAccessAria':'Autoriser l\'accès LAN au side-car du bureau',
'settings.openchamber.desktopNetwork.field.allowLanAccess':'Autorisez les autres appareils de votre réseau local à ouvrir cette application',
'settings.openchamber.desktopNetwork.field.allowLanAccessDescription':'Redémarre l\'application afin que les téléphones, tablettes et autres ordinateurs connectés à votre réseau Wi-Fi puissent l\'ouvrir.',
'settings.openchamber.desktopNetwork.field.warning':'Attention : lorsqu\'elle est activée, l\'application est accessible à toute personne se trouvant sur le même réseau local.',
'settings.openchamber.desktopNetwork.field.passwordRequiredWarning':'L\'accès LAN nécessite un mot de passe de l\'interface utilisateur du bureau. Tant qu\'il n\'est pas défini, l\'application de bureau démarre en accès local uniquement.',
'settings.openchamber.desktopPassword.field.password':'Mot de passe de l\'interface utilisateur du bureau',
'settings.openchamber.desktopPassword.field.passwordPlaceholder':'Aucun mot de passe requis',
'settings.openchamber.desktopPassword.field.passwordDescription':'OpenChamber demande après le redémarrage, puis quand la session de connexion expire : après 12 heures, ou 7 jours avec Trust this device. Laissez vide pour désactiver la connexion.',
'settings.openchamber.desktopNetwork.hint.openAfterRestart':'Après redémarrage, ouvrez depuis un autre appareil :',
'settings.openchamber.desktopNetwork.hint.openNow':'Ouvrir depuis un autre appareil :',
'settings.openchamber.keyboardShortcuts.tooltip':'Capturez une nouvelle combinaison de touches, enregistrez-la et les liaisons seront mises à jour immédiatement.',
'settings.openchamber.keyboardShortcuts.overwritePrompt':'Ce combo est déjà utilisé par un autre raccourci. Écraser et effacer cet autre mappage ?',
'settings.openchamber.keyboardShortcuts.field.pressKeys':'Appuyez sur les touches...',
'settings.openchamber.keyboardShortcuts.error.captureFirst':'Capturez d\'abord un raccourci.',
'settings.openchamber.keyboardShortcuts.warning.riskyBrowserShortcut':'Ce raccourci peut entrer en conflit avec les paramètres par défaut du navigateur. Il est toujours sauvegardé.',
'settings.openchamber.keyboardShortcuts.action.open_go_to_line.label':'Aller à la ligne (éditeur de fichiers)',
'settings.openchamber.keyboardShortcuts.action.open_command_palette.label':'Ouvrir la palette de commandes',
'settings.openchamber.keyboardShortcuts.action.focus_input.label':'Entrée de mise au point',
'settings.openchamber.keyboardShortcuts.action.open_settings.label':'Ouvrir les paramètres',
'settings.openchamber.keyboardShortcuts.action.toggle_terminal.label':'Basculer la station d\'accueil du terminal',
'settings.openchamber.keyboardShortcuts.action.toggle_terminal_expanded.label':'Terminal à bascule étendu',
'settings.openchamber.keyboardShortcuts.action.toggle_sidebar.label':'Basculer la barre latérale',
'settings.openchamber.keyboardShortcuts.action.toggle_right_sidebar.label':'Basculer la barre latérale droite',
'settings.openchamber.keyboardShortcuts.action.open_right_sidebar_git.label':'Ouvrir l\'onglet Git de la barre latérale droite',
'settings.openchamber.keyboardShortcuts.action.open_right_sidebar_files.label':'Ouvrir l\'onglet Fichiers de la barre latérale droite',
'settings.openchamber.keyboardShortcuts.action.cycle_right_sidebar_tab.label':'Faire défiler l\'onglet de la barre latérale droite',
'settings.usage.page.header.lastUpdated':'Dernière mise à jour : {time}',
'settings.usage.page.options.showInHeaderAria':'Afficher dans le menu d\'en-tête',
'settings.usage.page.options.showInHeader':'Afficher dans le menu d\'en-tête',
'settings.usage.page.options.showInHeaderTooltip':'Lorsqu\'elle est activée, l\'utilisation de ce fournisseur sera visible dans le menu déroulant d\'accès rapide dans l\'en-tête de l\'application.',
'settings.usage.page.state.noData':'Aucune donnée d\'utilisation disponible pour l\'instant.',
'settings.usage.page.state.refreshFailedTitle':'Échec de l\'actualisation des données d\'utilisation',
'settings.usage.page.state.providerNotConfiguredTitle':'Fournisseur non configuré',
'settings.usage.page.state.providerNotConfiguredDescription':'Ajoutez des informations d\'identification dans l\'onglet Fournisseurs pour activer le suivi de l\'utilisation.',
'settings.usage.page.section.modelQuotas':'Quotas de modèles',
'settings.remoteInstances.page.section.authenticationDescription':'Informations d\'identification facultatives pour SSH et l\'interface utilisateur distante OpenChamber.',
'settings.remoteInstances.page.section.portForwards':'Transferts de ports',
'settings.remoteInstances.page.section.portForwardsDescription':'Un SSH supplémentaire avance au-delà du tunnel principal.',
'settings.remoteInstances.page.toast.removeInstanceFailed':'Échec de la suppression de l\'instance',
'settings.openchamber.worktrees.state.selectProject':'Sélectionnez un projet pour gérer les worktrees.',
'settings.openchamber.worktrees.state.gitOnly':'Les paramètres Worktree ne sont disponibles que pour les dépôts Git.',
'settings.openchamber.worktrees.setup.title':'Commandes de configuration',
'settings.openchamber.worktrees.setup.tooltipPrefix':'S\'exécute automatiquement dans le nouveau répertoire worktree lorsqu\'un worktree est créé. Utiliser',
'settings.openchamber.worktrees.setup.tooltipSuffix':'pour la racine du projet.',
'settings.openchamber.worktrees.setup.waitForCommands':'Attendre la fin des commandes de configuration avant de créer ou d\'envoyer une session',
'settings.openchamber.worktrees.setup.waitForCommandsAria':'Attendre les commandes de configuration Worktree avant de créer ou d\'envoyer une session',
'settings.openchamber.worktrees.list.tooltip':'Les worktrees vivent en dehors du dépôt (gérés par OpenCode). La suppression d\'un worktree supprime également les sessions liées.',
'settings.openchamber.worktrees.list.loading':'Chargement des worktrees...',
'settings.openchamber.worktrees.list.empty':'Aucun worktree trouvé pour ce projet',
'settings.mcp.page.status.label.needsAuth':'Nécessite une authentification',
'settings.mcp.page.status.label.needsRegistration':'Nécessite une inscription',
'settings.mcp.page.status.description.connected':'Connecté et prêt pour OpenCode pour découvrir des outils et des ressources.',
'settings.mcp.page.status.description.failedDefault':'OpenCode n\'a pas pu atteindre ce serveur MCP.',
'settings.mcp.page.status.description.needsAuth':'Ce serveur MCP distant nécessite une autorisation avant de pouvoir se connecter.',
'settings.mcp.page.status.description.needsClientRegistrationDefault':'Ce serveur MCP distant nécessite l\'enregistrement du client avant que l\'autorisation puisse être effectuée.',
'settings.mcp.page.status.description.disabled':'Ce serveur MCP est désactivé en configuration.',
'settings.mcp.page.status.description.default':'Actualisez ou testez la connexion pour charger l’état d’exécution en direct.',
'settings.mcp.page.auth.manualFallbackTitle':'Autorisation manuelle de secours',
'settings.mcp.page.auth.manualFallbackDescription':'Si le navigateur revient à une autre machine ou affiche un rappel URL avec un code, collez ce URL complet ou le code brut ici.',
'settings.mcp.page.auth.callbackInputPlaceholder':'Collez le rappel URL ou le code d\'autorisation',
'settings.mcp.page.auth.waitingForOpenCode':'En attendant que OpenCode observe le flux d\'autorisation du navigateur terminé...',
'settings.mcp.page.advanced.oauthScopesPlaceholder':'Portées (délimitées par des espaces)',
'settings.mcp.page.advanced.oauthRedirectUriPlaceholder':'URI de redirection',
'settings.mcp.page.advanced.oauthHint':'Laissez ces champs vides pour permettre à OpenCode de déduire les paramètres OAuth du serveur MCP.',
'settings.mcp.page.advanced.oauthCallbackHint':'L\'autorisation MCP basée sur le navigateur utilise ce rappel URL lorsque l\'URI de redirection est vide :',
'settings.mcp.page.importDialog.description':'Collez un extrait complet de MCP JSON à partir de la documentation ou d\'un autre fichier de configuration. Les valeurs analysées rempliront ce formulaire pour examen avant de les enregistrer.',
'settings.mcp.page.importDialog.pasteFromClipboard':'Coller JSON à partir du Presse-papiers',
'settings.mcp.page.toast.connectionNeedsAuthorization':'La connexion nécessite une autorisation',
'settings.mcp.page.toast.connectionNeedsClientRegistration':'La connexion nécessite l\'enregistrement du client',
'settings.mcp.page.toast.connectionFailed':'La connexion a échoué',
'settings.mcp.page.toast.connectionAttemptFinished':'Tentative de connexion terminée. Actualisez le statut pour plus de détails.',
'settings.mcp.page.toast.createServerBeforeLiveActions':'Créez le serveur avant d\'exécuter des actions en direct',
'settings.mcp.page.toast.saveBeforeLiveActions':'Enregistrez les modifications avant d\'exécuter des actions en direct',
'settings.mcp.page.toast.refreshStatusFailed':'Échec de l\'actualisation du statut du MCP',
'settings.mcp.page.toast.oauthRedirectUrlBuildFailed':'Impossible de créer la redirection OAuth MCP URL',
'settings.mcp.page.toast.oauthBrowserCallbackSaveFailed':'Échec de l\'enregistrement du rappel du navigateur URL pour l\'autorisation MCP',
'settings.mcp.page.toast.openCodeReloadFailedAfterCallbackSave':'Le rechargement de OpenCode a échoué après l\'enregistrement du rappel du navigateur URL',
'settings.mcp.page.toast.completeAuthorizationInBrowserWithPaste':'Complétez le flux d\'autorisation MCP dans votre navigateur, puis collez le code renvoyé ou rappelez URL ici',
'settings.mcp.page.toast.completeAuthorizationInBrowser':'Complétez le flux d\'autorisation MCP dans votre navigateur',
'settings.mcp.page.toast.authorizationStartFailed':'Échec du démarrage de l\'autorisation',
'settings.mcp.page.toast.authSessionExpired':'La session d\'autorisation a expiré ou a été effacée lors du rechargement. Cliquez à nouveau sur Autoriser.',
'settings.mcp.page.toast.savedAuthorizationRemoved':'L\'autorisation MCP enregistrée a été supprimée',
'settings.mcp.page.toast.clearAuthorizationFailed':'Échec de l\'autorisation',
'settings.mcp.page.toast.authorizationCompletedFor':'Autorisation MCP complétée pour {name}',
'settings.mcp.page.toast.authorizationCompleteFailed':'Échec de l\'autorisation MCP',
'settings.mcp.page.toast.enableServerBeforeTest':'Activez ce serveur avant de tester la connexion',
'settings.mcp.page.toast.connectionTestSucceeded':'Test de connexion réussi',
'settings.mcp.page.toast.connectionTestFailed':'Le test de connexion a échoué',
'settings.mcp.page.toast.connectionTestFinished':'Test de connexion terminé. Actualisez le statut pour plus de détails.',
'settings.mcp.page.toast.authorizationFailed':'L\'autorisation a échoué',
'settings.mcp.page.toast.authorizationStillInProgress':'L\'autorisation est toujours en cours dans votre navigateur. Collez le rappel URL ou le code si nécessaire.',
'settings.mcp.page.toast.noKeyValuePairsFound':'Aucune paire KEY=VALUE trouvée dans le presse-papiers',
'settings.notifications.page.delivery.title':'Envoi des notifications',
'settings.notifications.page.delivery.enableAria':'Activer les notifications',
'settings.notifications.page.delivery.enableLabel':'Activer les notifications',
'settings.notifications.page.delivery.focusedAria':'Notifier lorsque l\'application est ciblée',
'settings.notifications.page.delivery.focusedLabel':'Notifier lorsque l\'application est ciblée',
'settings.notifications.page.delivery.testAction':'Envoyer une notification de test',
'settings.notifications.page.delivery.browserPermissionHint':'Votre navigateur peut demander l\'autorisation la première fois.',
'settings.notifications.page.delivery.permissionDenied':'Autorisation de notification refusée. Activez-le dans les paramètres de votre navigateur.',
'settings.notifications.page.delivery.permissionGrantedButDisabled':'Autorisation accordée, mais les notifications sont désactivées.',
'settings.notifications.page.delivery.vscodeHint':'Lorsqu\'elles sont activées, les notifications sont envoyées via les notifications natives VS Code.',
'settings.notifications.page.events.title':'Événements de notification',
'settings.notifications.page.events.completionAria':'Achèvement de l\'agent',
'settings.notifications.page.events.completionLabel':'Achèvement de l\'agent',
'settings.notifications.page.events.subtaskAria':'Achèvement du sous-agent',
'settings.notifications.page.events.subtaskLabel':'Achèvement du sous-agent',
'settings.notifications.page.summary.maxLengthHint':'Tronquer {last_message} à cette longueur',
'settings.notifications.page.summary.resetMaxLengthAria':'Réinitialiser la longueur maximale du message',
'settings.notifications.page.push.title':'Notifications push en arrière-plan',
'settings.notifications.page.push.enableAria':'Activer les notifications push',
'settings.notifications.page.push.enableLabel':'Activer les notifications push',
'settings.notifications.page.push.unsupportedHint':'Push non pris en charge. Desktop Chrome/Edge et Android prennent en charge le push. iOS nécessite une PWA installée.',
'settings.notifications.page.push.supportedHint':'Recevez des alertes via le service en arrière-plan de votre système d\'exploitation',
'settings.voice.page.tooltip.sttLocal':'Transcription locale sur le serveur OpenChamber. Les modèles se téléchargent automatiquement ; aucune clé d\'API requise.',
'settings.voice.page.tooltip.localTts':'Synthèse locale sur le serveur OpenChamber (Kokoro, anglais). Le modèle se télécharge automatiquement ; aucune clé d’API requise.',
'settings.voice.page.field.selectVoicePlaceholder':'Sélectionnez la voix',
'settings.voice.page.field.auto':'Auto',
'settings.voice.page.field.speechRate':'Taux de parole',
'settings.voice.page.field.speechPitch':'Hauteur de la voix',
'settings.voice.page.field.speechVolume':'Volume de la parole',
'settings.voice.page.field.language':'Langue',
'settings.voice.page.field.selectLanguagePlaceholder':'Sélectionnez la langue',
'settings.voice.page.field.sttBrowserSupportError':'MediaRecorder ou AudioContext ne sont pas disponibles dans ce navigateur. Le serveur STT peut ne pas fonctionner.',
'settings.voice.page.field.sttServerUrlHint':'Base URL du serveur compatible Whisper',
'settings.voice.page.field.sttLanguageHint':'Code BCP-47 (par exemple en, fr). Laissez vide pour la détection automatique.',
'settings.voice.page.field.silenceThreshold':'Seuil de silence',
'settings.voice.page.field.silenceHold':'Maintien du silence',
'settings.voice.page.field.transcribeOnStopAria':'Transcrire à l\'arrêt de l\'enregistrement',
'settings.voice.page.field.transcribeOnStop':'Transcrire à l\'arrêt',
'settings.openchamber.visual.field.mobileKeyboardMode':'Comportement du clavier mobile',
'settings.openchamber.visual.field.mobileKeyboardModeHint':'Le comportement par défaut du navigateur est le plus sûr. Redimensionner le contenu demande aux navigateurs pris en charge de réduire l\'application lorsque le clavier à l\'écran s\'ouvre.',
'settings.openchamber.visual.field.mobileKeyboardModeAria':'Comportement du clavier mobile',
'settings.openchamber.visual.field.selectMobileKeyboardModePlaceholder':'Sélectionner le comportement du clavier',
'settings.openchamber.visual.actions.resetMobileKeyboardModeAria':'Réinitialiser le comportement du clavier mobile',
'settings.openchamber.visual.field.interfaceFontSize':'Taille de la police de l\'interface',
'settings.openchamber.visual.field.inputBarOffset':'Décalage de la barre d\'entrée',
'settings.openchamber.visual.field.inputBarOffsetTooltip':'Augmentez la barre de saisie pour éviter les obstructions de l\'écran au niveau du système d\'exploitation, comme les barres d\'accueil.',
'settings.openchamber.visual.actions.resetInputBarOffsetAria':'Réinitialiser le décalage de la barre d\'entrée',
'settings.openchamber.visual.field.terminalQuickKeysAria':'Touches rapides du terminal',
'settings.openchamber.visual.field.terminalQuickKeys':'Touches rapides du terminal',
'settings.openchamber.visual.field.terminalQuickKeysTooltip':'Afficher Esc, Ctrl, Flèches dans la vue du terminal',
'settings.openchamber.visual.field.activityDefaultModeAria':'Mode d\'activité par défaut : {option}',
'settings.openchamber.visual.field.showExpandedBashToolsAria':'Afficher les outils bash étendus',
'settings.openchamber.visual.field.showExpandedEditToolsAria':'Afficher les outils d\'édition étendus',
'settings.openchamber.visual.field.wideChatLayoutAria':'Large disposition de discussion',
'settings.openchamber.visual.field.wideChatLayout':'Disposition de discussion large',
'settings.openchamber.visual.field.showSplitAssistantMessageActionsAria':'Actions intégrées de l\'assistant',
'settings.openchamber.visual.field.showSplitAssistantMessageActions':'Actions intégrées de l\'assistant',
'settings.openchamber.visual.field.showSplitAssistantMessageActionsTooltip':'Afficher Copier la réponse, Enregistrer en image et Lire à haute voix sur les blocs de texte de l\'assistant qui apparaissent avant les appels d\'outil suivants dans la même réponse.',
'settings.openchamber.visual.field.showToolFileIconsAria':'Afficher les icônes des fichiers d\'outils',
'settings.openchamber.visual.field.showToolFileIcons':'Afficher les icônes des fichiers d\'outils',
'settings.openchamber.visual.field.showDotfilesAria':'Afficher les fichiers de points',
'settings.openchamber.visual.field.showDotfiles':'Afficher les fichiers cachés',
'settings.openchamber.visual.field.queueMessagesByDefaultAria':'Mettre les messages en file d\'attente par défaut',
'settings.openchamber.visual.field.queueMessagesByDefault':'Messages en file d\'attente par défaut',
'settings.openchamber.visual.field.queueMessagesByDefaultTooltip':'Lorsqu\'il est activé, Enter met les messages en file d\'attente. Utilisez {modifier}+Entrée pour envoyer.',
'settings.openchamber.visual.field.persistDraftMessagesAria':'Conserver les brouillons de messages',
'settings.openchamber.visual.field.persistDraftMessages':'Conserver les brouillons de messages',
'settings.openchamber.visual.field.enableSpellcheckInTextInputsAria':'Activer la vérification orthographique dans les saisies de texte',
'settings.openchamber.visual.field.enableSpellcheckInTextInputs':'Activer la vérification orthographique dans les entrées de texte',
'settings.openchamber.visual.field.sendAnonymousUsageReportsAria':'Envoyer des rapports d\'utilisation anonymes',
'settings.openchamber.visual.field.sendAnonymousUsageReports':'Envoyer des rapports d\'utilisation anonymes',
'settings.openchamber.visual.field.sendAnonymousUsageReportsHint':'Nous aide à comprendre quelles versions de l\'application sont activement utilisées afin que nous puissions prioriser les améliorations. Seules la version de l’application, la plate-forme et le runtime sont collectés – aucune donnée personnelle ni code.',
'settings.openchamber.visual.option.diffLayout.dynamic.description':'Choisit automatiquement entre la vue côte à côte et la vue intégrée selon le contenu modifié.',
'settings.openchamber.visual.option.pwaOrientation.landscape.description':'Installez l\'application verrouillée en mode paysage.',
'settings.openchamber.visual.option.mobileKeyboardMode.native.label':'Suivre le navigateur',
'settings.openchamber.visual.option.mobileKeyboardMode.native.description':'Utilisez les paramètres par défaut du navigateur pour les modifications de panoramique et de fenêtre d\'affichage lorsque le clavier s\'ouvre.',
'settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.label':'Redimensionner le contenu',
'settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.description':'Demandez aux navigateurs pris en charge de réduire la présentation de l\'application au lieu de vous fier uniquement au panoramique.',
'settings.magicPrompts.page.group.gitCommitGenerate.title':'Génération de commit',
'settings.magicPrompts.page.group.gitCommitGenerate.description':'Prompts utilisés pour la génération du message de commit : message utilisateur visible + instructions masquées.',
'settings.magicPrompts.page.group.gitPrGenerate.title':'Génération de PR',
'settings.magicPrompts.page.group.gitPrGenerate.description':'Prompts utilisés pour la génération du titre/corps de la PR : message utilisateur visible + instructions masquées.',
'settings.magicPrompts.page.group.githubPrReview.title':'Revue de PR',
'settings.magicPrompts.page.group.githubPrReview.description':'Prompts utilisés pour le flux de revue des PR : message utilisateur visible + charge utile d\'instruction cachée.',
'settings.magicPrompts.page.group.githubIssueReview.title':'Examen du problème',
'settings.magicPrompts.page.group.githubIssueReview.description':'Prompts utilisés pour le flux d’examen des issues : message utilisateur visible + charge utile d’instruction masquée.',
'settings.magicPrompts.page.group.githubPrFailedChecksReview.title':'Examen des checks PR en échec',
'settings.magicPrompts.page.group.githubPrFailedChecksReview.description':'Prompts utilisés pour l’analyse des checks PR en échec.',
'settings.magicPrompts.page.group.githubPrCommentsReview.title':'Examen des commentaires PR',
'settings.magicPrompts.page.group.githubPrCommentsReview.description':'Prompts utilisés pour l’analyse des commentaires PR.',
'settings.magicPrompts.page.group.githubSinglePrCommentReview.title':'Examen des commentaires PR uniques',
'settings.magicPrompts.page.group.githubSinglePrCommentReview.description':'Prompts utilisés pour l’analyse d’un seul commentaire PR.',
'settings.magicPrompts.page.group.gitConflictResolve.title':'Résolution des conflits de fusion/rebase',
'settings.magicPrompts.page.group.gitConflictResolve.description':'Prompts utilisés lors de la résolution des conflits de fusion/rebase avec l\'IA.',
'settings.magicPrompts.page.group.gitCherrypickConflictResolve.title':'Résolution des conflits par sélection',
'settings.magicPrompts.page.group.gitCherrypickConflictResolve.description':'Prompts utilisés lors de la résolution des conflits de Cherry-pick dans le flux d\'intégration.',
'settings.magicPrompts.page.group.planImprove.title':'Améliorer le plan',
'settings.magicPrompts.page.group.planImprove.description':'Prompt masqué utilisé lors de l’envoi d’un plan enregistré dans un flux d’amélioration.',
'settings.magicPrompts.page.group.planTodo.title':'Planification des tâches',
'settings.magicPrompts.page.group.planTodo.description':'Prompt masqué utilisé lors de l’envoi d’une tâche dans une nouvelle session de planification.',
'settings.magicPrompts.page.group.planImplement.title':'Plan de mise en œuvre',
'settings.magicPrompts.page.group.planImplement.description':'Prompt masqué utilisé lors de l’envoi d’un plan enregistré dans un flux d’implémentation.',
'settings.magicPrompts.page.group.sessionSummary.title':'Résumé de la session',
'settings.magicPrompts.page.group.sessionSummary.description':'Prompts utilisés par la commande slash /summary : message utilisateur visible + instructions masquées. Non destructif : ne compacte pas l\'historique des sessions.',
'settings.magicPrompts.page.group.sessionWorkspaceReview.title':'Examen de l\'espace de travail',
'settings.magicPrompts.page.group.sessionWorkspaceReview.description':'Prompts utilisés par la commande slash /workspace-review : message utilisateur visible + instructions masquées. Examine les modifications actuelles de l’espace de travail pour les problèmes de signal élevé uniquement.',
'settings.view.search.placeholder':'Rechercher dans les paramètres',
'settings.view.search.aria':'Rechercher dans les paramètres',
'settings.view.search.clear':'Effacer la recherche des paramètres',
'settings.remoteInstances.direct.description':'Ajoutez un autre serveur OpenChamber par URL. Utilisez ceci lorsque le serveur est déjà lancé et que vous disposez d’un token de connexion.',
'settings.remoteInstances.direct.field.tokenPlaceholder':'Token de connexion (facultatif pour les serveurs locaux de confiance)',
'settings.remoteInstances.direct.note':'Les tokens de connexion sont enregistrés sur cet appareil et utilisés uniquement lorsque cette application se connecte à ce serveur.',
'settings.remoteInstances.direct.headers.description':'Optional HTTP headers for desktop API requests. Authorization is reserved for the connection token.',
'settings.remoteInstances.direct.import.action':'Importer le lien',
'settings.remoteInstances.direct.error.invalidConnectLink':'Lien de connexion OpenChamber invalide.',
'settings.remoteInstances.direct.state.loading':'Chargement des instances...',
'settings.remoteInstances.direct.state.empty':'Aucun autre serveur ajouté pour le moment.',
'settings.remoteInstances.clientAuth.title':'Se connecter à ce serveur',
'settings.remoteInstances.clientAuth.description':'Créez un lien ou un token sécurisé pour permettre à OpenChamber Desktop de se connecter à ce serveur.',
'settings.remoteInstances.clientAuth.field.labelPlaceholder':'Nom de l’appareil (facultatif)',
'settings.remoteInstances.clientAuth.actions.create':'Créer un token',
'settings.remoteInstances.clientAuth.actions.pair':'Créer un lien',
'settings.openchamber.visual.field.macVibrancy':'Transparence de la fenêtre',
'settings.openchamber.visual.field.macVibrancyHint':'Utiliser le flou macOS natif (vibrancy) derrière la barre latérale. Désactivez cette option pour des surfaces entièrement opaques.',
'settings.openchamber.visual.field.showTurnChangedFilesAria':'Afficher les fichiers modifiés pour les tours terminés',
'settings.openchamber.visual.field.showTurnChangedFiles':'Afficher les fichiers modifiés pour les tours terminés',
'settings.magicPrompts.page.group.sessionExplore.title':'Tour du codebase',
'settings.magicPrompts.page.group.sessionExplore.description':'Prompts utilisés par la commande slash /explore : message utilisateur visible + instructions masquées. Analyse le dépôt et donne une orientation structurée — vue d’ensemble, principaux modules, liens entre eux et points de départ — plutôt qu’un inventaire fichier par fichier.',
'settings.magicPrompts.page.group.sessionFeaturePlan.title':'Planification de fonctionnalité',
'settings.magicPrompts.page.group.sessionFeaturePlan.description':'Prompts utilisés par la commande slash /plan-feature : message utilisateur visible + instructions masquées. Lance un dialogue guidé qui étudie le code et pose des questions de clarification par petits lots avant de produire un plan d’implémentation.',
'settings.magicPrompts.page.group.sessionCatchUp.description':'Prompts utilisés par la commande slash /catch-up : message utilisateur visible + instructions masquées. Reconstruit le contexte de la branche — commits, PR et travail non commité — pour comprendre où vous en étiez, puis fournit un résumé digeste et une prochaine étape orientée produit.',
'settings.magicPrompts.page.group.sessionDebug.description':'Prompts utilisés par la commande slash /debug : message utilisateur visible + instructions masquées. Mène une investigation guidée de la cause racine — capture le symptôme, formule des hypothèses, les vérifie dans le code et confirme la cause avant de proposer une correction.',
'settings.magicPrompts.page.group.sessionWeigh.title':'Comparer les options',
'settings.magicPrompts.page.group.sessionWeigh.description':'Prompts utilisés par la commande slash /weigh : message utilisateur visible + instructions masquées. Analyse le code, puis présente 2 à 3 approches distinctes avec compromis et recommandation — sans écrire de plan ni de code.',
'settings.magicPrompts.page.group.sessionFusion.description':'Prompts utilisés lors de la combinaison de résultats multi-exécutions en une seule réponse finale : message utilisateur visible + instructions masquées avant les résultats source.',
'settings.openchamber.visual.field.followUpBehaviorDescription':'Choose what happens when you press Enter on a follow-up message while the agent is still responding.',