Files
openchamber/packages/ui/src/lib/i18n/messages/fr.settings.ts
T

1787 lines
159 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export const settingsDict = {
'settings.appearance.language.label': 'Langue',
'settings.appearance.language.description': 'Choisissez la langue de l\'interface.',
'settings.appearance.language.select': 'Sélectionnez la langue',
'settings.window.description': 'Fenêtre des paramètres OpenChamber.',
'settings.view.home.title': 'Paramètres',
'settings.view.home.description': 'Accédez aux pages communes.',
'settings.view.home.cards.providers.title': 'Fournisseurs',
'settings.view.home.cards.providers.description': 'Connecter les modèles + les identifiants',
'settings.view.home.cards.agents.title': 'Agents',
'settings.view.home.cards.agents.description': 'Invites, outils, autorisations',
'settings.view.home.cards.skillsCatalog.title': 'Catalogue de skills',
'settings.view.home.cards.skillsCatalog.description': 'Installer des skills depuis des catalogues',
'settings.view.home.cards.mcp.title': 'MCP',
'settings.view.home.cards.mcp.description': 'Configurer les serveurs MCP + connexions',
'settings.view.home.cards.plugins.title': 'Plugins',
'settings.view.home.cards.plugins.description': 'Gérer les plugins OpenCode',
'settings.view.home.cards.usage.title': 'Usage',
'settings.view.home.cards.usage.description': 'Quota + visibilité des dépenses',
'settings.view.unavailable.title': 'Pas disponible',
'settings.view.unavailable.description': 'Cette page de paramètres n\'est pas disponible dans ce runtime.',
'settings.view.badge.beta': 'bêta',
'settings.view.actions.reloadOpenCode': 'Recharger OpenCode',
'settings.view.actions.reloadOpenCodeTooltip': 'Redémarrez OpenCode et rechargez sa configuration.',
'settings.view.actions.backToSettings': 'Retour aux paramètres',
'settings.view.actions.closeSettings': 'Fermer les paramètres',
'settings.view.actions.openSectionList': 'Ouvrir la liste des sections',
'settings.view.actions.closeSettingsWithShortcut': 'Fermer les paramètres ({shortcut}+,)',
'settings.view.actions.back': 'Retour',
'settings.view.actions.resizeNavigation': 'Redimensionner la navigation dans les paramètres',
'settings.page.projects.title': 'Projets',
'settings.page.remoteInstances.title': 'Instances distantes',
'settings.page.providers.title': 'Fournisseurs',
'settings.page.usage.title': 'Usage',
'settings.page.agents.title': 'Agents',
'settings.page.commands.title': 'Commandes',
'settings.page.mcp.title': 'MCP',
'settings.page.plugins.title': 'Plugins',
'settings.page.skills.title': 'Skills',
'settings.page.skillsCatalog.title': 'Catalogue de skills',
'settings.page.git.title': 'Git',
'settings.page.appearance.title': 'Apparence',
'settings.page.chat.title': 'Chat',
'settings.page.shortcuts.title': 'Raccourcis',
'settings.page.sessions.title': 'Sessions',
'settings.page.magicPrompts.title': 'Prompts magiques',
'settings.page.notifications.title': 'Notifications',
'settings.page.voice.title': 'Voix',
'settings.page.tunnel.title': 'Tunnel à distance',
'settings.page.snippets.title': 'Extraits',
'settings.snippets.sidebar.title': 'Extraits',
'settings.snippets.sidebar.total': 'Total : {count}',
'settings.snippets.sidebar.actions.create': 'Créer un extrait',
'settings.snippets.sidebar.actions.more': 'Plus de propositions pour {name}',
'settings.snippets.sidebar.toast.deleted': 'Extrait supprimé',
'settings.snippets.sidebar.toast.deleteFailed': 'Échec de la suppression de l\'extrait',
'settings.snippets.sidebar.dialog.deleteTitle': 'Supprimer l\'extrait ?',
'settings.snippets.sidebar.dialog.deleteDescription': 'Cela supprimera définitivement #{name}.',
'settings.snippets.page.empty.title': 'Sélectionnez un extrait',
'settings.snippets.page.empty.description': 'Choisissez un extrait dans la barre latérale pour le modifier.',
'settings.snippets.page.title.new': 'Nouvel extrait',
'settings.snippets.page.field.namePlaceholder': 'nom de l\'extrait',
'settings.snippets.page.field.descriptionPlaceholder': 'À quoi sert cet extrait',
'settings.snippets.page.field.aliases': 'Alias',
'settings.snippets.page.field.aliasesPlaceholder': 'en sécurité, prudent',
'settings.snippets.page.field.content': 'Contenu',
'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.snippets.page.toast.saved': 'Extrait enregistré',
'settings.page.promptTemplates.title': 'Modèles de prompt',
'settings.promptTemplates.sidebar.title': 'Modèles de prompt',
'settings.promptTemplates.sidebar.total': 'Total : {count}',
'settings.promptTemplates.sidebar.empty.title': 'Aucun modèle de prompt',
'settings.promptTemplates.sidebar.empty.description': 'Créez un modèle de prompt pour commencer.',
'settings.promptTemplates.sidebar.toast.deleted': 'Modèle "{name}" supprimé',
'settings.promptTemplates.sidebar.toast.deleteFailed': 'Échec de la suppression du modèle',
'settings.promptTemplates.sidebar.toast.nameRequired': 'Le nom du modèle est obligatoire',
'settings.promptTemplates.sidebar.toast.renamed': 'Modèle renommé',
'settings.promptTemplates.sidebar.toast.renameFailed': 'Échec du changement de nom du modèle',
'settings.promptTemplates.sidebar.dialog.deleteTitle': 'Supprimer le modèle ?',
'settings.promptTemplates.sidebar.dialog.deleteDescription': 'Cela supprimera définitivement "{name}". Cette action ne peut pas être annulée.',
'settings.promptTemplates.sidebar.renameDialog.title': 'Renommer le modèle',
'settings.promptTemplates.sidebar.renameDialog.description': 'Entrez un nouveau nom pour "{name}".',
'settings.promptTemplates.sidebar.renameDialog.placeholder': 'Nom du modèle',
'settings.promptTemplates.sidebar.badge.default': 'défaut',
'settings.promptTemplates.page.empty.title': 'Sélectionnez un modèle',
'settings.promptTemplates.page.empty.description': 'Choisissez un modèle dans la barre latérale pour le modifier.',
'settings.promptTemplates.page.title.new': 'Nouveau modèle',
'settings.promptTemplates.page.subtitle.edit': 'Modifier le modèle',
'settings.promptTemplates.page.subtitle.new': 'Créer un nouveau modèle de prompt',
'settings.promptTemplates.page.section.identity': 'Identité',
'settings.promptTemplates.page.field.name': 'Nom',
'settings.promptTemplates.page.field.namePlaceholder': 'Nom du modèle',
'settings.promptTemplates.page.section.template': 'Modèle',
'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.created': 'Modèle créé',
'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.managedLocalUsesConfig': 'Les tunnels locaux gérés utilisent votre fichier de configuration cloudflared local.',
'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.section.redeemedAccessLinks': 'Liens d\'accès utilisés',
'settings.openchamber.tunnel.section.savedManagedRemoteTunnels': 'Tunnels distants gérés enregistrés',
'settings.openchamber.tunnel.notAvailable.cloudflaredNotFound': 'cloudflared introuvable',
'settings.openchamber.tunnel.notAvailable.installHint': 'Installez-le pour activer l\'accès au tunnel à distance :',
'settings.openchamber.tunnel.field.provider': 'Fournisseur',
'settings.openchamber.tunnel.field.providerPlaceholder': 'Sélectionnez le fournisseur',
'settings.openchamber.tunnel.field.tunnelType': 'Type de tunnel',
'settings.openchamber.tunnel.field.connectLinkTtl': 'Connecter le lien TTL',
'settings.openchamber.tunnel.field.tunnelSessionTtl': 'Durée de vie de la session tunnel',
'settings.openchamber.tunnel.field.hostnameLabel': 'Nom d\'hôte :',
'settings.openchamber.tunnel.field.savedTokenAvailablePlaceholder': 'Jeton enregistré disponible (facultatif à remplacer)',
'settings.openchamber.tunnel.field.pasteTokenPlaceholder': 'Coller le jeton pour ce tunnel',
'settings.openchamber.tunnel.field.newPresetNamePlaceholder': 'Nom du tunnel (e.g. Production)',
'settings.openchamber.tunnel.field.newPresetHostnamePlaceholder': 'Nom d\'hôte (e.g. oc.example.com)',
'settings.openchamber.tunnel.field.newPresetTokenPlaceholder': 'Jeton',
'settings.openchamber.tunnel.field.managedRemoteTokenInfoAria': 'Informations sur le jeton de tunnel distant géré',
'settings.openchamber.tunnel.field.configurationFile': 'Fichier de configuration',
'settings.openchamber.tunnel.field.configurationFilePlaceholder': 'Utilisation de la configuration cloudflared par défaut',
'settings.openchamber.tunnel.field.managedRemoteTunnelToConnect': 'Tunnel distant géré pour se connecter',
'settings.openchamber.tunnel.field.selectSavedTunnelPlaceholder': 'Sélectionnez le tunnel enregistré',
'settings.openchamber.tunnel.field.publicUrlHint': 'URL publique (non accessible sans jeton)',
'settings.openchamber.tunnel.field.connectLink': 'Lien de connexion',
'settings.openchamber.tunnel.field.expires': 'Expire',
'settings.openchamber.tunnel.field.connectQrAlt': 'Code de connexion du tunnel QR',
'settings.openchamber.tunnel.actions.removePresetAria': 'Supprimer {name}',
'settings.openchamber.tunnel.actions.saveToken': 'Enregistrer le jeton',
'settings.openchamber.tunnel.actions.browseConfigFileAria': 'Parcourir le fichier de configuration',
'settings.openchamber.tunnel.actions.clearConfigFileAria': 'Effacer le fichier de configuration',
'settings.openchamber.tunnel.actions.openManagedRemoteDocs': 'Consultez la documentation sur la façon de configurer un tunnel distant géré',
'settings.openchamber.tunnel.actions.openManagedLocalDocs': 'Consultez la documentation sur la configuration du tunnel local géré',
'settings.openchamber.tunnel.actions.startTunnel': 'Démarrer le tunnel',
'settings.openchamber.tunnel.actions.startingTunnel': 'Démarrage du tunnel...',
'settings.openchamber.tunnel.actions.stopTunnel': 'Arrêter le tunnel',
'settings.openchamber.tunnel.actions.stopping': 'Arrêt...',
'settings.openchamber.tunnel.actions.newConnectLink': 'Nouveau lien de connexion',
'settings.openchamber.tunnel.actions.copied': 'Copié',
'settings.openchamber.tunnel.actions.retry': 'Réessayer',
'settings.openchamber.tunnel.option.moreProvidersSoon': 'Plus de fournisseurs à venir',
'settings.openchamber.tunnel.option.mode.quick.label': 'Quick',
'settings.openchamber.tunnel.option.mode.quick.tooltip': 'Quick Tunnel est une solution best-effort dont la disponibilité n\'est pas garantie.',
'settings.openchamber.tunnel.option.mode.managedRemote.label': 'Managed Remote',
'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.label': 'Managed Local',
'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.badge.quick': 'RAPIDE',
'settings.openchamber.tunnel.badge.remote': 'DISTANT',
'settings.openchamber.tunnel.badge.local': 'LOCAL',
'settings.openchamber.tunnel.state.loading': 'Chargement',
'settings.openchamber.tunnel.state.expired': 'Expiré',
'settings.openchamber.tunnel.state.revoked': 'Révoqué',
'settings.openchamber.tunnel.state.inactive': 'Inactif',
'settings.openchamber.tunnel.state.noExpiry': 'Pas d\'expiration',
'settings.openchamber.tunnel.state.never': 'Jamais',
'settings.openchamber.tunnel.state.tunnelReady': 'Tunnel prêt',
'settings.openchamber.tunnel.session.redeemedAt': '{time} échangé',
'settings.openchamber.tunnel.session.expiresIn': 'Expire dans {remaining}',
'settings.openchamber.tunnel.session.inactiveWithReason': 'Inactif ({reason})',
'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.openchamber.tunnel.toast.replacedTunnelSingleSingle': 'Tunnel précédent remplacé : 1 lien révoqué, 1 session invalidée.',
'settings.openchamber.tunnel.toast.replacedTunnelSingleManySessions': 'Tunnel précédent remplacé : 1 lien révoqué, sessions {invalidatedSessionCount} invalidées.',
'settings.openchamber.tunnel.toast.replacedTunnelManyLinksSingleSession': 'Tunnel précédent remplacé : liens {revokedBootstrapCount} révoqués, 1 session invalidée.',
'settings.openchamber.tunnel.toast.replacedTunnelManyMany': 'Tunnel précédent remplacé : liens {revokedBootstrapCount} révoqués, sessions {invalidatedSessionCount} invalidées.',
'settings.openchamber.tunnel.toast.linkReady': 'Lien de connexion prêt',
'settings.openchamber.tunnel.toast.stopped': 'Tunnel arrêté',
'settings.openchamber.tunnel.toast.stopFailed': 'Échec de l\'arrêt du tunnel',
'settings.openchamber.tunnel.toast.connectLinkCopied': 'Lien de connexion copié',
'settings.openchamber.tunnel.toast.copyUrlFailed': 'Échec de la copie de l\'URL',
'settings.openchamber.tunnel.toast.saveSelectedManagedRemoteFailed': 'Échec de l\'enregistrement du tunnel distant géré sélectionné',
'settings.openchamber.tunnel.toast.tunnelNameRequired': 'Le nom du tunnel est obligatoire',
'settings.openchamber.tunnel.toast.managedRemoteHostnameRequired': 'Le nom d\'hôte du tunnel distant géré est requis',
'settings.openchamber.tunnel.toast.managedRemoteTokenRequired': 'Un jeton de tunnel distant géré est requis',
'settings.openchamber.tunnel.toast.hostnameAlreadyExists': 'Ce nom d\'hôte existe déjà',
'settings.openchamber.tunnel.toast.managedRemoteSaved': 'Tunnel distant géré enregistré',
'settings.openchamber.tunnel.toast.managedRemoteRemoved': 'Tunnel distant géré supprimé',
'settings.magicPrompts.sidebar.title': 'Prompts magiques',
'settings.magicPrompts.sidebar.description': 'Sélectionnez un modèle de prompt à modifier.',
'settings.magicPrompts.sidebar.group.git': 'Git',
'settings.magicPrompts.sidebar.group.github': 'GitHub',
'settings.magicPrompts.sidebar.group.planning': 'Planification',
'settings.magicPrompts.sidebar.group.session': 'Session',
'settings.magicPrompts.sidebar.item.gitCommitGenerate': 'Génération de commit',
'settings.magicPrompts.sidebar.item.gitPrGenerate': 'Génération de PR',
'settings.magicPrompts.sidebar.item.gitConflictResolve': 'Résolution des conflits de fusion/rebase',
'settings.magicPrompts.sidebar.item.gitCherrypickConflictResolve': 'Résolution des conflits par sélection',
'settings.magicPrompts.sidebar.item.githubPrReview': 'Revue de PR',
'settings.magicPrompts.sidebar.item.githubIssueReview': 'Examen du problème',
'settings.magicPrompts.sidebar.item.githubPrFailedChecksReview': 'Examen des checks PR en échec',
'settings.magicPrompts.sidebar.item.githubPrCommentsReview': 'Examen des commentaires PR',
'settings.magicPrompts.sidebar.item.githubSinglePrCommentReview': 'Examen des commentaires PR uniques',
'settings.magicPrompts.sidebar.item.planTodo': 'Planification des tâches',
'settings.magicPrompts.sidebar.item.planImprove': 'Améliorer le plan',
'settings.magicPrompts.sidebar.item.planImplement': 'Plan de mise en œuvre',
'settings.magicPrompts.sidebar.item.sessionSummary': 'Résumé de la session',
'settings.magicPrompts.sidebar.item.sessionWorkspaceReview': 'Examen de l\'espace de travail',
'settings.magicPrompts.sidebar.item.sessionFusion': 'Fusion',
'settings.remoteInstances.sidebar.title': 'Instances distantes',
'settings.remoteInstances.sidebar.total': 'Total {count}',
'settings.remoteInstances.sidebar.newSshInstanceName': 'Nouvelle instance SSH',
'settings.remoteInstances.sidebar.actions.addSshInstance': 'Ajouter une instance SSH',
'settings.remoteInstances.sidebar.actions.connect': 'Connecter',
'settings.remoteInstances.sidebar.actions.disconnect': 'Déconnecter',
'settings.remoteInstances.sidebar.actions.retry': 'Réessayer',
'settings.remoteInstances.sidebar.actions.remove': 'Retirer',
'settings.remoteInstances.sidebar.confirm.localPortInUseRetry': 'Le port local est déjà utilisé. Choisir un port local gratuit et réessayer ?',
'settings.remoteInstances.sidebar.toast.createFailed': 'Échec de la création de l\'instance SSH',
'settings.remoteInstances.sidebar.toast.retriedWithRandomPort': 'Réessayé avec un port local aléatoire',
'settings.remoteInstances.sidebar.toast.connectFailed': 'Échec de la connexion de l\'instance',
'settings.remoteInstances.sidebar.toast.disconnectFailed': 'Échec de la déconnexion de l\'instance',
'settings.remoteInstances.sidebar.toast.retryFailed': 'Échec de la nouvelle tentative de connexion',
'settings.remoteInstances.sidebar.toast.removeFailed': 'Échec de la suppression de l\'instance',
'settings.remoteInstances.sidebar.phase.ready': 'Prêt',
'settings.remoteInstances.sidebar.phase.error': 'Erreur',
'settings.remoteInstances.sidebar.phase.reconnect': 'Reconnecter',
'settings.remoteInstances.sidebar.phase.installing': 'Installation',
'settings.remoteInstances.sidebar.phase.updating': 'Mise à jour',
'settings.remoteInstances.sidebar.phase.forwarding': 'Transfert',
'settings.remoteInstances.sidebar.phase.starting': 'Démarrage',
'settings.remoteInstances.sidebar.phase.connecting': 'Connexion',
'settings.remoteInstances.sidebar.phase.idle': 'Inactif',
'settings.remoteInstances.page.section.instance': 'Instance',
'settings.remoteInstances.page.section.instanceDescription': 'Paramètres de base du SSH.',
'settings.remoteInstances.page.field.mode': 'Mode',
'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.modeManaged': 'Géré (démarrage automatique)',
'settings.remoteInstances.page.field.modeExternal': 'Externe (déjà en cours d\'exécution)',
'settings.remoteInstances.page.field.preferredRemotePort': 'Port distant préféré',
'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.bindHost': 'Lier l\'hôte',
'settings.remoteInstances.page.field.bindHostHint': 'Interface réseau pour lURL 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.remoteInstances.page.field.localHostPlaceholder': '127.0.0.1',
'settings.remoteInstances.page.field.remoteHostPlaceholder': '127.0.0.1',
'settings.remoteInstances.page.field.auto': 'Auto',
'settings.remoteInstances.page.confirm.bindAllInterfaces': 'La liaison à 0.0.0.0 expose les ports transférés à votre réseau local. Continuer?',
'settings.remoteInstances.page.preview.localSocks5': '(SOCKS5 local)',
'settings.remoteInstances.page.preview.local': '(local)',
'settings.remoteInstances.page.preview.remote': '(hôte distant)',
'settings.remoteInstances.page.toast.openLocalEndpointFailed': 'Échec de l\'ouverture du point de terminaison local',
'settings.remoteInstances.page.toast.localUrlCopied': 'URL locale copiée',
'settings.remoteInstances.page.actions.copyLocalUrl': 'Copier lURL locale',
'settings.remoteInstances.page.actions.open': 'Ouvrir',
'settings.remoteInstances.page.logsDialog.selectedInstanceFallback': 'Instance sélectionnée',
'settings.remoteInstances.page.patternDialog.descriptionWithHost': '{host} nécessite une destination concrète.',
'settings.remoteInstances.page.patternDialog.description': 'Entrez la destination.',
'settings.common.actions.cancel': 'Annuler',
'settings.common.actions.create': 'Créer',
'settings.common.actions.delete': 'Supprimer',
'settings.common.actions.reset': 'Réinitialiser',
'settings.common.actions.rename': 'Rebaptiser',
'settings.common.actions.duplicate': 'Dupliquer',
'settings.common.actions.import': 'Importer',
'settings.common.actions.copyAll': 'Copier tout',
'settings.common.actions.clear': 'Effacer',
'settings.common.actions.saving': 'Enregistrement...',
'settings.common.actions.saveChanges': 'Enregistrer les modifications',
'settings.common.scope.global': 'Mondial',
'settings.common.scope.project': 'Projet',
'settings.common.field.description': 'Description',
'settings.common.badge.new': 'Nouveau',
'settings.common.badge.modified': 'Modifié',
'settings.common.permission.allow': 'Permettre',
'settings.common.permission.ask': 'Demander',
'settings.common.permission.deny': 'Refuser',
'settings.common.state.comingSoon': 'À venir...',
'settings.projects.actions.title': 'Actions',
'settings.projects.actions.description': 'Commandes par projet affichées dans l\'en-tête à côté du nom du projet.',
'settings.projects.actions.validation.fillNameAndCommand': 'Remplissez le nom de l\'action et la commande avant d\'enregistrer.',
'settings.projects.actions.state.loading': 'Chargement...',
'settings.projects.actions.state.empty': 'Aucune action configurée pour le moment.',
'settings.projects.actions.state.untitled': 'Action sans titre',
'settings.projects.actions.state.noDesktopSshForwards': 'Aucun transfert local SSH activé disponible.',
'settings.projects.actions.field.selectIconAria': 'Sélectionner l\'icône',
'settings.projects.actions.field.iconAria': 'Icône {icon}',
'settings.projects.actions.field.actionNamePlaceholder': 'Nom de l\'action',
'settings.projects.actions.field.command': 'Commande',
'settings.projects.actions.field.commandPlaceholder': 'p. ex. bun install',
'settings.projects.actions.field.autoOpenUrl': 'Ouverture automatique de lURL',
'settings.projects.actions.field.autoOpenUrlForAria': 'Ouverture automatique de lURL pour {title}',
'settings.projects.actions.field.autoOpenUrlDescription': 'Ouvrir lURL détectée dans la sortie, ou lURL personnalisée ci-dessous',
'settings.projects.actions.field.overrideUrlPlaceholder': 'Remplacer URL (facultatif)',
'settings.projects.actions.field.overrideUrlTooltip': 'Si ce champ est rempli, lURL personnalisée est utilisée. Sinon, l\'application ouvre la meilleure URL détectée dans la sortie.',
'settings.projects.actions.field.desktopSshForward': 'Transfert SSH local',
'settings.projects.actions.field.useOutputManualUrl': 'Utiliser lURL de sortie ou lURL manuelle',
'settings.projects.actions.actions.add': 'Ajouter une action',
'settings.projects.actions.actions.save': 'Enregistrer les actions',
'settings.projects.actions.toast.saveFailed': 'Échec de l\'enregistrement des actions',
'settings.projects.actions.toast.saved': 'Actions du projet enregistrées',
'settings.openchamber.about.title': 'À propos de OpenChamber',
'settings.openchamber.about.field.version': 'Version',
'settings.openchamber.about.state.checking': 'Vérification...',
'settings.openchamber.about.state.upToDate': 'À jour',
'settings.openchamber.about.actions.checkUpdates': 'Vérifier les mises à jour',
'settings.openchamber.about.actions.update': 'Mise à jour',
'settings.openchamber.about.actions.updateToVersion': 'Mise à jour vers {version}',
'settings.openchamber.about.actions.checkForUpdates': 'Vérifier les mises à jour',
'settings.openchamber.about.toast.latestVersion': 'Vous êtes sur la dernière version',
'settings.agents.sidebar.title': 'Agents',
'settings.agents.sidebar.total': 'Total {count}',
'settings.agents.sidebar.empty.title': 'Aucun agent configuré',
'settings.agents.sidebar.empty.description': 'Utilisez le bouton + ci-dessus pour en créer un',
'settings.agents.sidebar.section.builtIn': 'Agents intégrés',
'settings.agents.sidebar.section.custom': 'Agents personnalisés',
'settings.agents.sidebar.badge.system': 'système',
'settings.agents.sidebar.dialog.deleteTitle': 'Supprimer un agent',
'settings.agents.sidebar.dialog.resetTitle': 'Agent de réinitialisation',
'settings.agents.sidebar.dialog.deleteDescription': 'Etes-vous sûr de vouloir supprimer l\'agent "{name}" ?',
'settings.agents.sidebar.dialog.resetDescription': 'Êtes-vous sûr de vouloir réinitialiser l\'agent « {name} » à sa configuration par défaut ?',
'settings.agents.sidebar.renameDialog.title': 'Renommer l\'agent',
'settings.agents.sidebar.renameDialog.description': 'Entrez un nouveau nom pour l\'agent "@{name}"',
'settings.agents.sidebar.renameDialog.placeholder': 'Nouveau nom d\'agent...',
'settings.agents.sidebar.toast.builtInCannotDelete': 'Les agents intégrés ne peuvent pas être supprimés',
'settings.agents.sidebar.toast.agentDeleted': 'Agent "{name}" supprimé avec succès',
'settings.agents.sidebar.toast.agentReset': 'Agent "{name}" réinitialisé aux valeurs par défaut',
'settings.agents.sidebar.toast.deleteFailed': 'Échec de la suppression de l\'agent',
'settings.agents.sidebar.toast.resetFailed': 'Échec de la réinitialisation de l\'agent',
'settings.agents.sidebar.toast.agentNameRequired': 'Le nom de l\'agent est requis',
'settings.agents.sidebar.toast.agentExists': 'Un agent portant ce nom existe déjà',
'settings.agents.sidebar.toast.removeOldAfterRenameFailed': 'Échec de la suppression de l\'ancien agent après le changement de nom',
'settings.agents.sidebar.toast.renameFailed': 'Échec du changement de nom de l\'agent',
'settings.agents.page.toast.permissionNameRequired': 'Le nom de l\'autorisation est requis',
'settings.agents.page.toast.created': 'Agent créé avec succès',
'settings.agents.page.toast.updated': 'Agent mis à jour avec succès',
'settings.agents.page.toast.createFailed': 'Échec de la création de l\'agent',
'settings.agents.page.toast.updateFailed': 'Échec de la mise à jour de l\'agent',
'settings.agents.page.toast.saveUnexpectedError': 'Une erreur s\'est produite lors de l\'enregistrement',
'settings.agents.page.empty.title': 'Sélectionnez un agent dans la barre latérale',
'settings.agents.page.empty.description': 'ou créez-en un nouveau',
'settings.agents.page.title.new': 'Nouvel agent',
'settings.agents.page.subtitle.new': 'Configurer un nouveau personnage d\'assistant',
'settings.agents.page.subtitle.edit': 'Modifier les paramètres de l\'agent',
'settings.agents.page.section.identityRole': 'Identité et rôle',
'settings.agents.page.section.modelParameters': 'Modèle et paramètres',
'settings.agents.page.section.systemPrompt': 'Prompt système',
'settings.agents.page.section.toolPermissions': 'Autorisations des outils',
'settings.agents.page.field.agentName': 'Nom de l\'agent',
'settings.agents.page.field.agentNamePlaceholder': 'nom-agent',
'settings.agents.page.field.scopePlaceholder': 'Portée',
'settings.agents.page.field.descriptionPlaceholder': 'Que fait cet agent ?',
'settings.agents.page.field.mode': 'Mode',
'settings.agents.page.field.modeTooltip': 'Visibilité principale et sous-agent',
'settings.agents.page.field.overrideModel': 'Remplacer le modèle',
'settings.agents.page.field.temperature': 'Température',
'settings.agents.page.field.temperatureTooltip': 'Contrôle le caractère aléatoire. Plus élevé = créatif, Inférieur = concentré.',
'settings.agents.page.field.temperatureRange': '0.0 à 2.0',
'settings.agents.page.field.clearTemperatureAria': 'Effacer le remplacement de la température',
'settings.agents.page.field.topP': 'Haut P',
'settings.agents.page.field.topPTooltip': 'Diversité d\'échantillonnage du noyau. Inférieur = jetons probables uniquement.',
'settings.agents.page.field.topPRange': '0.0 à 1.0',
'settings.agents.page.field.clearTopPAria': 'Effacer le remplacement p supérieur',
'settings.agents.page.field.systemPromptPlaceholder': 'Vous êtes un assistant expert en codage...',
'settings.agents.page.mode.primary': 'Primaire',
'settings.agents.page.mode.subagent': 'Sous-agent',
'settings.agents.page.mode.all': 'Tous',
'settings.agents.page.permissions.defaultLabel': 'Défaut',
'settings.agents.page.permissions.hideEditor': 'Masquer l\'éditeur',
'settings.agents.page.permissions.advancedEditor': 'Éditeur avancé',
'settings.agents.page.permissions.globalSummary': 'Mondial : {summary}',
'settings.agents.page.permissions.rulesSummary': 'Règles : {summary}',
'settings.agents.page.permissions.globalDefault': 'Valeur par défaut globale',
'settings.agents.page.permissions.pattern': 'Modèle',
'settings.agents.page.permissions.addCustomRule': 'Ajouter une règle personnalisée',
'settings.agents.page.permissions.permissionPlaceholder': 'Autorisation...',
'settings.agents.page.permissions.patternPlaceholder': 'Modèle (e.g. *)',
'settings.page.behavior.title': 'Comportement',
'settings.behavior.page.title': 'Comportement',
'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.section.systemPrompt': 'Mondial AGENTS.md',
'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.behavior.page.responseStyle.preset': 'Préréglage',
'settings.behavior.page.responseStyle.option.concise': 'Concis',
'settings.behavior.page.responseStyle.option.detailed': 'Détaillé',
'settings.behavior.page.responseStyle.option.mentor': 'Mentor',
'settings.behavior.page.responseStyle.option.pushback': 'Repoussement',
'settings.behavior.page.responseStyle.option.noFiller': 'Pas de remplissage',
'settings.behavior.page.responseStyle.option.matchEnergy': 'Correspond à mon énergie',
'settings.behavior.page.responseStyle.option.warmPeer': 'Pair chaleureux',
'settings.behavior.page.responseStyle.option.custom': 'Personnalisé',
'settings.behavior.page.responseStyle.customPlaceholder': 'Écrivez l\'instruction à ajouter au premier message...',
'settings.behavior.page.toast.saved': 'Comportement enregistré avec succès',
'settings.behavior.page.toast.saveFailed': 'Échec de l\'enregistrement du comportement',
'settings.commands.sidebar.title': 'Commandes',
'settings.commands.sidebar.total': 'Total {count}',
'settings.commands.sidebar.empty.title': 'Aucune commande configurée',
'settings.commands.sidebar.empty.description': 'Utilisez le bouton + ci-dessus pour en créer un',
'settings.commands.sidebar.section.builtIn': 'Commandes intégrées',
'settings.commands.sidebar.section.custom': 'Commandes personnalisées',
'settings.commands.sidebar.dialog.deleteTitle': 'Supprimer la commande',
'settings.commands.sidebar.dialog.resetTitle': 'Commande de réinitialisation',
'settings.commands.sidebar.dialog.deleteDescription': 'Etes-vous sûr de vouloir supprimer la commande « {name} » ?',
'settings.commands.sidebar.dialog.resetDescription': 'Êtes-vous sûr de vouloir réinitialiser la commande « {name} » à sa configuration par défaut ?',
'settings.commands.sidebar.renameDialog.title': 'Commande Renommer',
'settings.commands.sidebar.renameDialog.description': 'Entrez un nouveau nom pour la commande "/{name}"',
'settings.commands.sidebar.renameDialog.placeholder': 'Nouveau nom de commande...',
'settings.commands.sidebar.toast.builtInCannotDelete': 'Les commandes intégrées ne peuvent pas être supprimées',
'settings.commands.sidebar.toast.commandDeleted': 'Commande "{name}" supprimée avec succès',
'settings.commands.sidebar.toast.commandReset': 'Commande "{name}" réinitialisée aux valeurs par défaut',
'settings.commands.sidebar.toast.deleteFailed': 'Échec de la suppression de la commande',
'settings.commands.sidebar.toast.resetFailed': 'Échec de la réinitialisation de la commande',
'settings.commands.sidebar.toast.commandNameRequired': 'Le nom de la commande est obligatoire',
'settings.commands.sidebar.toast.commandExists': 'Une commande portant ce nom existe déjà',
'settings.commands.sidebar.toast.removeOldAfterRenameFailed': 'Échec de la suppression de l\'ancienne commande après le changement de nom',
'settings.commands.sidebar.toast.renameFailed': 'Échec du renommage de la commande',
'settings.commands.page.toast.templateRequired': 'Le modèle de commande est requis',
'settings.commands.page.toast.created': 'Commande créée avec succès',
'settings.commands.page.toast.updated': 'Commande mise à jour avec succès',
'settings.commands.page.toast.createFailed': 'Échec de la création de la commande',
'settings.commands.page.toast.updateFailed': 'Échec de la mise à jour de la commande',
'settings.commands.page.toast.saveUnexpectedError': 'Une erreur s\'est produite lors de l\'enregistrement',
'settings.commands.page.empty.title': 'Sélectionnez une commande dans la barre latérale',
'settings.commands.page.empty.description': 'ou créez-en un nouveau',
'settings.commands.page.title.new': 'Nouvelle commande',
'settings.commands.page.subtitle.new': 'Configurer une nouvelle commande slash',
'settings.commands.page.subtitle.edit': 'Modifier les paramètres de la commande',
'settings.commands.page.section.identity': 'Identité',
'settings.commands.page.section.executionContext': 'Contexte d\'exécution',
'settings.commands.page.section.template': 'Modèle de commande',
'settings.commands.page.field.commandName': 'Nom de la commande',
'settings.commands.page.field.commandNamePlaceholder': 'nom-commande',
'settings.commands.page.field.descriptionPlaceholder': 'Que fait cette commande ?',
'settings.commands.page.field.overrideAgent': 'Remplacer l\'agent',
'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.commands.agentSelector.notSelected': 'Non sélectionné',
'settings.commands.agentSelector.selectAgentPlaceholder': 'Sélectionnez un agent...',
'settings.gitIdentities.page.section.title': 'Identités',
'settings.gitIdentities.page.empty.title': 'Aucune identité configurée',
'settings.gitIdentities.page.empty.description': 'Créez-en un pour gérer les paramètres d\'auteur Git par projet',
'settings.gitIdentities.page.discoveredCredentials.title': 'Trouvé dans ~/.git-credentials',
'settings.gitIdentities.page.badge.default': 'défaut',
'settings.gitIdentities.page.actions.setAsDefault': 'Définir par défaut',
'settings.gitIdentities.page.actions.unsetDefault': 'Désactiver la valeur par défaut',
'settings.gitIdentities.page.actions.import': 'Importer',
'settings.gitIdentities.page.toast.updateDefaultFailed': 'Échec de la mise à jour de l\'identité par défaut',
'settings.gitIdentities.page.toast.defaultUpdated': 'Identité par défaut mise à jour',
'settings.gitIdentities.page.toast.defaultUnset': 'Identité par défaut non définie',
'settings.gitIdentities.page.toast.profileDeleted': 'Profil "{name}" supprimé',
'settings.gitIdentities.page.toast.deleteProfileFailed': 'Échec de la suppression du profil',
'settings.gitIdentities.page.deleteDialog.title': 'Supprimer le profil',
'settings.gitIdentities.page.deleteDialog.description': 'Etes-vous sûr de vouloir supprimer « {name} » ?',
'settings.gitIdentities.editor.title.importCredential': 'Importer les informations d\'identification',
'settings.gitIdentities.editor.title.newIdentity': 'Nouvelle identité',
'settings.gitIdentities.editor.title.globalIdentity': 'Identité globale',
'settings.gitIdentities.editor.title.editIdentity': 'Modifier l\'identité',
'settings.gitIdentities.editor.description.globalReadOnly': 'Identité Git à l\'échelle du système (lecture seule)',
'settings.gitIdentities.editor.description.newProfile': 'Créer un nouveau profil d\'identité Git',
'settings.gitIdentities.editor.description.editProfile': 'Modifier les paramètres du profil d\'identité',
'settings.gitIdentities.editor.field.profileName': 'Nom du profil',
'settings.gitIdentities.editor.field.profileNamePlaceholder': 'Profil professionnel, personnel, etc.',
'settings.gitIdentities.editor.field.color': 'Couleur',
'settings.gitIdentities.editor.field.icon': 'Icône',
'settings.gitIdentities.editor.field.userName': 'Nom d\'utilisateur',
'settings.gitIdentities.editor.field.userNameTooltip': 'Le nom qui apparaîtra dans les messages de commit Git.',
'settings.gitIdentities.editor.field.userNamePlaceholder': 'John Doe',
'settings.gitIdentities.editor.field.emailAddress': 'Adresse e-mail',
'settings.gitIdentities.editor.field.emailAddressTooltip': 'Doit correspondre à votre adresse e-mail dans GitHub/GitLab pour une attribution appropriée.',
'settings.gitIdentities.editor.field.emailAddressPlaceholder': 'jean@example.com',
'settings.gitIdentities.editor.field.authMethod': 'Méthode d\'authentification',
'settings.gitIdentities.editor.field.authToken': 'Jeton',
'settings.gitIdentities.editor.field.sshKeyPath': 'Chemin clé SSH',
'settings.gitIdentities.editor.field.sshKeyPathTooltip': 'Chemin facultatif vers la clé privée. e.g. ~/.ssh/id_ed25519',
'settings.gitIdentities.editor.field.sshKeyPathPlaceholder': '~/.ssh/id_ed25519',
'settings.gitIdentities.editor.field.host': 'Hôte',
'settings.gitIdentities.editor.field.hostTooltip': 'Le jeton sera lu à partir de ~/.git-credentials pour cet hôte.',
'settings.gitIdentities.editor.field.hostPlaceholder': 'github.com',
'settings.gitIdentities.editor.actions.close': 'Fermer',
'settings.gitIdentities.editor.actions.create': 'Créer',
'settings.gitIdentities.editor.actions.save': 'Sauvegarder',
'settings.gitIdentities.editor.toast.userNameEmailRequired': 'Le nom d\'utilisateur et l\'e-mail sont requis',
'settings.gitIdentities.editor.toast.hostRequiredForToken': 'L\'hôte est requis pour l\'authentification basée sur un jeton',
'settings.gitIdentities.editor.toast.profileCreated': 'Profil créé',
'settings.gitIdentities.editor.toast.profileUpdated': 'Profil mis à jour',
'settings.gitIdentities.editor.toast.createProfileFailed': 'Échec de la création du profil',
'settings.gitIdentities.editor.toast.updateProfileFailed': 'Échec de la mise à jour du profil',
'settings.gitIdentities.editor.toast.saveUnexpectedError': 'Une erreur s\'est produite lors de l\'enregistrement',
'settings.gitIdentities.editor.toast.profileDeleted': 'Profil supprimé',
'settings.gitIdentities.editor.toast.deleteProfileFailed': 'Échec de la suppression du profil',
'settings.gitIdentities.editor.toast.deleteUnexpectedError': 'Une erreur s\'est produite lors de la suppression',
'settings.skills.sidebar.title': 'Skills',
'settings.skills.sidebar.total': 'Total {count}',
'settings.skills.sidebar.section.project': 'Skills du projet',
'settings.skills.sidebar.section.user': 'Skills utilisateur',
'settings.skills.sidebar.empty.title': 'Aucun skill configuré',
'settings.skills.sidebar.empty.description': 'Utilisez le bouton + ci-dessus pour en créer un',
'settings.skills.sidebar.badge.claude': 'Claude',
'settings.skills.sidebar.badge.agents': 'agents',
'settings.skills.sidebar.badge.opencode': 'OpenCode',
'settings.skills.sidebar.toast.skillDeleted': 'Skill "{name}" supprimé avec succès',
'settings.skills.sidebar.toast.deleteSkillFailed': 'Échec de la suppression du skill',
'settings.skills.sidebar.toast.duplicateLoadFailed': 'Échec du chargement des détails du skill pour la duplication',
'settings.skills.sidebar.toast.renameLoadFailed': 'Échec du chargement des détails du skill',
'settings.skills.sidebar.toast.removeOldAfterRenameFailed': 'Échec de la suppression de l\'ancien skill après le renommage',
'settings.skills.sidebar.toast.renameFailed': 'Échec du renommage du skill',
'settings.skills.sidebar.deleteDialog.title': 'Supprimer le skill',
'settings.skills.sidebar.deleteDialog.description': 'Êtes-vous sûr de vouloir supprimer le skill « {name} » ?',
'settings.skills.sidebar.renameDialog.title': 'Renommer le skill',
'settings.skills.sidebar.renameDialog.description': 'Entrez un nouveau nom pour le skill "{name}"',
'settings.skills.sidebar.renameDialog.placeholder': 'Nouveau nom de skill...',
'settings.skills.page.title.newSkill': 'Nouveau skill',
'settings.skills.page.subtitle.newSkill': 'Configurer un nouveau skill',
'settings.skills.page.subtitle.skillLocation': 'Skill {location}',
'settings.skills.page.section.basicInformation': 'Informations de base',
'settings.skills.page.section.instructions': 'Instructions',
'settings.skills.page.section.supportingFiles': 'Fichiers de support',
'settings.skills.page.field.skillNameLocation': 'Nom et emplacement du skill',
'settings.skills.page.field.skillNameHint': 'Minuscules, chiffres, tirets',
'settings.skills.page.field.skillNamePlaceholder': 'nom-du-skill',
'settings.skills.page.field.descriptionHint': 'L\'agent s\'en sert pour décider quand charger le skill',
'settings.skills.page.field.descriptionPlaceholder': 'Brève description de ce que fait ce skill...',
'settings.skills.page.field.instructionsPlaceholder': 'Instructions étape par étape, directives ou contenu de référence...',
'settings.skills.page.badge.claudeCompatible': 'Compatible Claude',
'settings.skills.page.badge.pending': 'en attente',
'settings.skills.page.actions.addFile': 'Ajouter un fichier',
'settings.skills.page.actions.createSkill': 'Créer un skill',
'settings.skills.page.actions.createFile': 'Créer un fichier',
'settings.skills.page.supportingFiles.empty': 'Aucun fichier à l\'appui. Utilisez « Ajouter un fichier » pour inclure des documents de référence.',
'settings.skills.page.loading.details': 'Chargement des détails du skill...',
'settings.skills.page.loading.fileContent': 'Chargement du contenu du fichier...',
'settings.skills.page.empty.title': 'Sélectionnez un skill dans la barre latérale',
'settings.skills.page.empty.description': 'ou créez-en un nouveau',
'settings.skills.page.deleteFileDialog.title': 'Supprimer le fichier de support',
'settings.skills.page.deleteFileDialog.description': 'Etes-vous sûr de vouloir supprimer « {path} » ?',
'settings.skills.page.fileDialog.titleEdit': 'Modifier le fichier de support',
'settings.skills.page.fileDialog.titleAdd': 'Ajouter un fichier de support',
'settings.skills.page.fileDialog.descriptionEdit': 'Modifier le contenu du fichier',
'settings.skills.page.fileDialog.descriptionAdd': 'Créer un nouveau fichier dans le répertoire du skill',
'settings.skills.page.fileDialog.field.filePath': 'Chemin du fichier',
'settings.skills.page.fileDialog.field.filePathPlaceholder': 'example.md ou docs/reference.txt',
'settings.skills.page.fileDialog.field.filePathHint': 'Chemin relatif dans le répertoire du skill. Les sous-répertoires seront créés automatiquement.',
'settings.skills.page.fileDialog.field.content': 'Contenu',
'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.page.toast.noSkillSelected': 'Aucun skill sélectionné',
'settings.skills.page.toast.fileAdded': 'Fichier "{path}" ajouté',
'settings.skills.page.toast.fileCreated': 'Fichier "{path}" créé',
'settings.skills.page.toast.fileUpdated': 'Fichier "{path}" mis à jour',
'settings.skills.page.toast.fileRemoved': 'Fichier "{path}" supprimé',
'settings.skills.page.toast.fileDeleted': 'Fichier "{path}" supprimé',
'settings.skills.page.toast.createFileFailed': 'Échec de la création du fichier',
'settings.skills.page.toast.updateFileFailed': 'Échec de la mise à jour du fichier',
'settings.skills.page.toast.deleteFileFailed': 'Échec de la suppression du fichier',
'settings.skills.location.option.userOpencode.label': 'Utilisateur / OpenCode',
'settings.skills.location.option.userOpencode.description': 'Emplacement de configuration global de OpenCode',
'settings.skills.location.option.projectOpencode.label': 'Projet / OpenCode',
'settings.skills.location.option.projectOpencode.description': 'Emplacement .opencode du projet actuel',
'settings.skills.location.option.userClaude.label': 'Utilisateur / Claude',
'settings.skills.location.option.userClaude.description': 'Emplacement global des skills Claude',
'settings.skills.location.option.projectClaude.label': 'Projet / Claude',
'settings.skills.location.option.projectClaude.description': 'Projet actuel .claude location',
'settings.skills.location.option.userAgents.label': 'Utilisateur / Agent',
'settings.skills.location.option.userAgents.description': 'Emplacement de compatibilité global .agents',
'settings.skills.location.option.projectAgents.label': 'Projet / Agents',
'settings.skills.location.option.projectAgents.description': 'Emplacement de compatibilité .agents du projet actuel',
'settings.skills.catalog.shared.field.repository': 'Dépôt',
'settings.skills.catalog.shared.field.repositoryPlaceholder': 'propriétaire/dépôt ou git@github.com:owner/repo.git',
'settings.skills.catalog.shared.field.optionalSubpath': 'Sous-chemin facultatif',
'settings.skills.catalog.shared.field.subpathPlaceholder': 'p. ex. skills',
'settings.skills.catalog.shared.field.targetLocation': 'Emplacement cible',
'settings.skills.catalog.shared.field.project': 'Projet',
'settings.skills.catalog.shared.field.noProjects': 'Aucun projet disponible',
'settings.skills.catalog.shared.field.chooseProjectPlaceholder': 'Choisir un projet',
'settings.skills.catalog.shared.field.searchSkillsPlaceholder': 'Rechercher des skills…',
'settings.skills.catalog.shared.toast.repositoryRequired': 'La source du dépôt est requise',
'settings.skills.catalog.shared.toast.privateRepoNotSupportedVsCode': 'Les dépôts privés ne sont pas encore pris en charge dans VS Code',
'settings.skills.catalog.shared.toast.foundSkills': 'Skill(s) trouvé(s) : {count}',
'settings.skills.catalog.shared.noDescription': 'Aucune description fournie',
'settings.skills.catalog.shared.actions.scan': 'Balayage',
'settings.skills.catalog.shared.actions.scanning': 'Balayage...',
'settings.skills.catalog.shared.actions.install': 'Installer',
'settings.skills.catalog.shared.actions.installing': 'Installation...',
'settings.skills.catalog.shared.auth.title': 'Authentification requise',
'settings.skills.catalog.shared.auth.description': 'Sélectionnez une identité Git (clé SSH)',
'settings.skills.catalog.shared.auth.chooseIdentity': 'Choisissez votre identité',
'settings.skills.catalog.shared.auth.footerHint': 'Configurez les identités dans Paramètres - Identités Git.',
'settings.skills.catalog.shared.auth.footerHintArrow': 'Configurez les identités dans Paramètres → Identités Git.',
'settings.skills.catalog.conflicts.title': 'Des skills existent 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.conflicts.count': 'Conflit(s) {count}',
'settings.skills.catalog.conflicts.installedIn': 'Installé dans {scope} / {source}',
'settings.skills.catalog.conflicts.scope.user': 'utilisateur',
'settings.skills.catalog.conflicts.scope.project': 'projet',
'settings.skills.catalog.conflicts.source.opencode': 'OpenCode',
'settings.skills.catalog.conflicts.source.agents': 'agents',
'settings.skills.catalog.conflicts.decision.skip': 'Sauter',
'settings.skills.catalog.conflicts.decision.overwrite': 'Écraser',
'settings.skills.catalog.conflicts.actions.skipAll': 'Tout ignorer',
'settings.skills.catalog.conflicts.actions.overwriteAll': 'Tout écraser',
'settings.skills.catalog.conflicts.actions.continue': 'Continuer',
'settings.skills.catalog.installSkill.title': 'Installer le skill',
'settings.skills.catalog.installSkill.descriptionPrefix': 'Installer',
'settings.skills.catalog.installSkill.descriptionSuffix': 'dans lun des quatre emplacements cibles.',
'settings.skills.catalog.installSkill.field.destination': 'Destination',
'settings.skills.catalog.installSkill.field.project': 'Projet',
'settings.skills.catalog.installSkill.field.noProjects': 'Aucun projet disponible',
'settings.skills.catalog.installSkill.field.chooseProjectPlaceholder': 'Choisir un projet',
'settings.skills.catalog.installSkill.actions.install': 'Installer',
'settings.skills.catalog.installSkill.actions.installing': 'Installation...',
'settings.skills.catalog.installSkill.toast.installed': 'Skill installé avec succès',
'settings.skills.catalog.installSkill.toast.authRequired': 'Authentification requise',
'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.descriptionSuffix': '.',
'settings.skills.catalog.add.field.catalogName': 'Nom du catalogue',
'settings.skills.catalog.add.field.catalogNamePlaceholder': 'p. ex. Skills d\'équipe',
'settings.skills.catalog.add.field.repository': 'Dépôt',
'settings.skills.catalog.add.field.optionalSubpath': 'Sous-chemin facultatif',
'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.add.toast.catalogAdded': 'Catalogue ajouté',
'settings.skills.catalog.add.toast.saveFailed': 'Échec de l\'enregistrement du catalogue',
'settings.skills.catalog.installFromRepo.title': 'Installer à partir du dépôt Git',
'settings.skills.catalog.installFromRepo.descriptionPrefix': 'Analyser un dépôt à la recherche de dossiers contenant',
'settings.skills.catalog.installFromRepo.descriptionSuffix': ', puis installez les skills sélectionnés.',
'settings.skills.catalog.installFromRepo.repositoryHintPrefix': 'Pour le raccourci GitHub, vous pouvez ajouter un sous-chemin comme',
'settings.skills.catalog.installFromRepo.authDescription': 'Sélectionnez une identité Git (clé SSH) pouvant accéder à ce dépôt.',
'settings.skills.catalog.installFromRepo.empty.noScanResultsTitle': 'Aucun résultat d\'analyse pour l\'instant',
'settings.skills.catalog.installFromRepo.empty.noScanResultsDescription': 'Scannez un dépôt pour découvrir des skills',
'settings.skills.catalog.installFromRepo.actions.selectAll': 'Tout sélectionner',
'settings.skills.catalog.installFromRepo.actions.selectNone': 'N\'en sélectionner aucun',
'settings.skills.catalog.installFromRepo.actions.installSelected': 'Installer sélectionné',
'settings.skills.catalog.installFromRepo.badge.installed': 'installé ({scope}/{source})',
'settings.skills.catalog.installFromRepo.selectedCount': 'Sélectionné: {selected} / {total}',
'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.skills.catalog.installFromRepo.toast.installedCount': '{count} skill(s) installé(s)',
'settings.skills.catalog.installFromRepo.toast.installCompleted': 'Installation terminée',
'settings.skills.catalog.installFromRepo.toast.installFailed': 'Échec de l\'installation des skills',
'settings.skills.catalog.page.mode.manual': 'Manuel',
'settings.skills.catalog.page.mode.external': 'Externe',
'settings.skills.catalog.page.title': 'Catalogue de skills',
'settings.skills.catalog.page.section.sourceRepository': 'Dépôt source',
'settings.skills.catalog.page.field.selectSourcePlaceholder': 'Sélectionnez la source',
'settings.skills.catalog.page.actions.refreshTitle': 'Rafraîchir',
'settings.skills.catalog.page.actions.removeCatalogTitle': 'Supprimer le catalogue',
'settings.skills.catalog.page.actions.addCatalog': 'Ajouter un catalogue',
'settings.skills.catalog.page.actions.removeCatalog': 'Supprimer le catalogue',
'settings.skills.catalog.page.actions.loadMoreSkills': 'Charger plus de skills',
'settings.skills.catalog.page.loading.catalog': 'Chargement...',
'settings.skills.catalog.page.loading.skills': 'Chargement des skills...',
'settings.skills.catalog.page.loading.more': 'Chargement...',
'settings.skills.catalog.page.foundCount': '{count} skill(s) trouvé(s)',
'settings.skills.catalog.page.error.catalogTitle': 'Erreur de catalogue',
'settings.skills.catalog.page.empty.noSkillsTitle': 'Aucun skill trouvé',
'settings.skills.catalog.page.empty.noSkillsDescription': 'Essayez une autre recherche ou actualisez le catalogue',
'settings.skills.catalog.page.badge.installed': 'installé ({scope})',
'settings.skills.catalog.page.badge.notInstallable': 'non installable',
'settings.skills.catalog.page.badge.unknown': 'inconnu',
'settings.skills.catalog.page.byOwnerPrefix': 'par',
'settings.skills.catalog.page.removeDialog.title': 'Supprimer le catalogue',
'settings.skills.catalog.page.removeDialog.description': 'Êtes-vous sûr de vouloir supprimer ce catalogue ?',
'settings.openchamber.passkeys.title': 'Mots-clés',
'settings.openchamber.passkeys.field.currentDevice': 'Appareil actuel',
'settings.openchamber.passkeys.actions.add': 'Ajouter un mot de passe',
'settings.openchamber.passkeys.actions.cancelSetup': 'Annuler la configuration du mot de passe',
'settings.openchamber.passkeys.actions.signOutEverywhere': 'Déconnectez-vous partout',
'settings.openchamber.passkeys.actions.signingOut': 'Déconnexion…',
'settings.openchamber.passkeys.actions.removing': 'Suppression…',
'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.item.lastUsed': 'Dernière utilisation {time}',
'settings.openchamber.passkeys.item.added': 'Ajout de {time}',
'settings.openchamber.passkeys.time.neverUsed': 'Jamais utilisé',
'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.passkeys.toast.added': 'Clé d\'accès ajoutée',
'settings.openchamber.passkeys.toast.setupCanceled': 'Configuration du mot de passe annulée',
'settings.openchamber.passkeys.toast.addFailed': 'Impossible d\'ajouter le mot de passe.',
'settings.openchamber.passkeys.toast.removed': 'Clé d\'accès supprimée',
'settings.openchamber.passkeys.toast.removeFailed': 'Impossible de supprimer le mot de passe.',
'settings.openchamber.passkeys.toast.clearAuthFailed': 'Impossible d\'effacer l\'authentification enregistrée.',
'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.field.days': 'jours',
'settings.openchamber.sessionRetention.field.whenSessionsExpire': 'Quand les sessions expirent',
'settings.openchamber.sessionRetention.actions.resetRetentionAria': 'Réinitialiser la période de conservation',
'settings.openchamber.sessionRetention.actions.runCleanupNow': 'Exécutez le nettoyage maintenant',
'settings.openchamber.sessionRetention.actions.cleaningUp': 'Faire le ménage...',
'settings.openchamber.sessionRetention.action.archive': 'Archive',
'settings.openchamber.sessionRetention.action.delete': 'Supprimer',
'settings.openchamber.sessionRetention.manualCleanup.title': 'Nettoyage manuel',
'settings.openchamber.sessionRetention.manualCleanup.eligibleArchiveNow': 'Éligible à l\'archivage dès maintenant : {count}',
'settings.openchamber.sessionRetention.manualCleanup.eligibleDeleteNow': 'Éligible à la suppression dès maintenant : {count}',
'settings.openchamber.sessionRetention.toast.noneEligibleArchive': 'Aucune session éligible à l\'archivage',
'settings.openchamber.sessionRetention.toast.noneEligibleDelete': 'Aucune session éligible à la suppression',
'settings.openchamber.sessionRetention.toast.archivedCount': 'Session(s) {count} archivée(s)',
'settings.openchamber.sessionRetention.toast.deletedCount': 'Session(s) {count} supprimée(s)',
'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.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.desktopNetwork.actions.saveAndRestart': 'Enregistrer + Redémarrer',
'settings.openchamber.desktopNetwork.error.loadFailed': 'Échec du chargement des paramètres du bureau',
'settings.openchamber.desktopNetwork.error.saveFailed': 'Échec de l\'enregistrement des paramètres du bureau',
'settings.openchamber.desktopNetwork.error.savedRestartFailed': 'Enregistré, mais échec du redémarrage de l\'application',
'settings.openchamber.desktopNetwork.error.launchAtLoginUnsupported': 'Le lancement à la connexion n\'est pas pris en charge sur ce système',
'settings.openchamber.desktopNetwork.error.launchAtLoginSaveFailed': 'Échec de la mise à jour du paramètre de lancement lors de la connexion',
'settings.openchamber.opencodeCli.title': 'OpenCode CLI',
'settings.openchamber.opencodeCli.tooltipPrefix': 'Chemin absolu facultatif vers le',
'settings.openchamber.opencodeCli.tooltipSuffix': 'binaire.',
'settings.openchamber.opencodeCli.field.binaryPath': 'Chemin binaire OpenCode',
'settings.openchamber.opencodeCli.field.binaryPathPlaceholder': '/Users/you/.bun/bin/opencode',
'settings.openchamber.opencodeCli.field.showUpdateNotifications': 'Afficher les notifications de mise à jour de OpenCode',
'settings.openchamber.opencodeCli.field.showUpdateNotificationsAria': 'Afficher les notifications de mise à jour de OpenCode',
'settings.openchamber.opencodeCli.actions.browseAria': 'Rechercher le chemin binaire OpenCode',
'settings.openchamber.opencodeCli.actions.browse': 'Parcourir',
'settings.openchamber.opencodeCli.actions.saveAndReload': 'Enregistrer + Recharger',
'settings.openchamber.opencodeCli.actions.restartingOpenCode': 'Redémarrage de OpenCode…',
'settings.openchamber.opencodeCli.dialog.selectBinaryTitle': 'Sélectionnez le binaire OpenCode',
'settings.openchamber.opencodeCli.tipPrefix': 'Astuce : vous pouvez également utiliser',
'settings.openchamber.opencodeCli.tipMiddle': 'env var, mais ce paramètre persiste dans',
'settings.mcp.sidebar.title': 'Serveurs MCP',
'settings.mcp.sidebar.total': 'Total {count}',
'settings.mcp.sidebar.actions.refreshStatusAria': 'Actualiser le statut du MCP',
'settings.mcp.sidebar.actions.refreshStatusTitle': 'Actualiser le statut du MCP',
'settings.mcp.sidebar.actions.addServerTitle': 'Ajouter le serveur MCP',
'settings.mcp.sidebar.actions.deleting': 'Suppression…',
'settings.mcp.sidebar.empty.title': 'Aucun serveur MCP configuré',
'settings.mcp.sidebar.empty.description': 'Utilisez le bouton + ci-dessus pour en ajouter un',
'settings.mcp.sidebar.group.projectServers': 'Serveurs de projet',
'settings.mcp.sidebar.group.userServers': 'Serveurs d\'utilisateurs',
'settings.mcp.sidebar.serverType.localTitle': 'Serveur local',
'settings.mcp.sidebar.serverType.remoteTitle': 'Serveur distant',
'settings.mcp.sidebar.deleteDialog.title': 'Supprimer le serveur MCP',
'settings.mcp.sidebar.deleteDialog.descriptionPrefix': 'Etes-vous sûr de vouloir supprimer « {name} » ? Cela le supprimera de',
'settings.mcp.sidebar.toast.deleteFailed': 'Échec de la suppression du serveur MCP',
'settings.mcp.sidebar.toast.serverDeleted': 'Serveur MCP "{name}" supprimé',
'settings.mcp.sidebar.toast.refreshListIfStale': 'Actualisez la liste MCP si l\'interface utilisateur semble obsolète.',
'settings.plugins.sidebar.title': 'Plugins',
'settings.plugins.sidebar.total': 'Total {count}',
'settings.plugins.sidebar.actions.addTitle': 'Ajouter un plugin',
'settings.plugins.sidebar.actions.deleting': 'Suppression…',
'settings.plugins.sidebar.empty.title': 'Aucun plugin configuré',
'settings.plugins.sidebar.empty.description': 'Utilisez le bouton + ci-dessus pour en ajouter un',
'settings.plugins.sidebar.group.userEntries': 'Configuration utilisateur',
'settings.plugins.sidebar.group.userFiles': 'Fichier de plug-in utilisateur',
'settings.plugins.sidebar.group.projectEntries': 'Configuration du projet',
'settings.plugins.sidebar.group.projectFiles': 'Fichier de plugin de projet',
'settings.plugins.sidebar.kind.npm': 'paquet npm',
'settings.plugins.sidebar.kind.path': 'Chemin local',
'settings.plugins.sidebar.kind.file': 'Fichier de plug-in',
'settings.plugins.sidebar.deleteDialog.title': 'Supprimer le plugin',
'settings.plugins.sidebar.deleteDialog.description': 'Etes-vous sûr de vouloir supprimer « {name} » ?',
'settings.plugins.sidebar.toast.deleted': 'Plugin "{name}" supprimé',
'settings.plugins.sidebar.toast.deleteFailed': 'Échec de la suppression du plugin',
'settings.plugins.page.empty.select': 'Sélectionnez un plugin à afficher ou à modifier',
'settings.plugins.page.empty.add': 'Ou cliquez sur + pour ajouter un nouveau plugin',
'settings.plugins.page.header.entry': 'Plugin installé',
'settings.plugins.page.header.file': 'Fichier de plug-in',
'settings.plugins.page.field.spec': 'Spécification',
'settings.plugins.page.field.spec.placeholder': 'npm-package@version ou /absolute/path',
'settings.plugins.page.field.options': 'Options (JSON)',
'settings.plugins.page.field.options.invalidJson': 'JSON invalide',
'settings.plugins.page.field.fileName': 'Nom de fichier',
'settings.plugins.page.field.content': 'Contenu',
'settings.plugins.page.field.scope': 'Portée',
'settings.plugins.scope.user': 'Utilisateur',
'settings.plugins.scope.project': 'Projet',
'settings.plugins.page.action.save': 'Sauvegarder',
'settings.plugins.page.action.discard': 'Jeter',
'settings.plugins.dialog.add.title': 'Ajouter un plugin',
'settings.plugins.dialog.add.tab.npm': 'De npm',
'settings.plugins.dialog.add.tab.path': 'Du chemin local',
'settings.plugins.dialog.add.tab.file': 'Nouveau fichier',
'settings.plugins.dialog.add.action.submit': 'Ajouter',
'settings.plugins.dialog.add.action.cancel': 'Annuler',
'settings.plugins.toast.created': 'Plugin ajouté',
'settings.plugins.toast.updated': 'Plugin mis à jour',
'settings.plugins.toast.reloadFailed': 'Échec du rechargement d\'OpenCode — redémarrage requis',
'settings.plugins.validation.fileName': 'Le nom du fichier doit être en minuscule et se terminer par .js / .ts / .mjs / .cjs',
'settings.plugins.validation.specRequired': 'La spécification est requise',
'settings.plugins.registry.badge.update.label': '↑ {version}',
'settings.plugins.registry.badge.update.tooltip': 'Mise à jour disponible : {current} → {latest}',
'settings.plugins.registry.badge.malformed.tooltip': 'La spécification est mal formée',
'settings.plugins.registry.badge.missingPackage.tooltip': 'Package {name} introuvable sur npm',
'settings.plugins.registry.badge.missingVersion.tooltip': 'Version {version} de {name} non publiée',
'settings.plugins.registry.badge.pathMissing.tooltip': 'Fichier introuvable : {path}',
'settings.plugins.registry.badge.pathUnreadable.tooltip': 'Fichier illisible : {path}',
'settings.plugins.registry.badge.network.tooltip': 'Impossible d\'accéder au registre npm',
'settings.plugins.registry.banner.updateAvailable.title': 'Mise à jour disponible',
'settings.plugins.registry.banner.updateAvailable.description': '{current} → {latest}',
'settings.plugins.registry.banner.updateAvailable.action': 'Mise à jour vers {latest}',
'settings.plugins.registry.banner.invalid.title': 'Plugin invalide',
'settings.plugins.registry.banner.invalid.malformed': 'La syntaxe des spécifications est mal formée',
'settings.plugins.registry.banner.invalid.missingPackage': 'Package introuvable sur npm',
'settings.plugins.registry.banner.invalid.missingVersion': 'Version non publiée',
'settings.plugins.registry.banner.invalid.pathMissing': 'Le fichier n\'existe pas',
'settings.plugins.registry.banner.invalid.pathUnreadable': 'Le fichier n\'est pas lisible',
'settings.plugins.sidebar.actions.updateToLatest': 'Mise à jour vers la dernière version',
'settings.plugins.sidebar.actions.refresh': 'Vérifier les mises à jour',
'settings.plugins.sidebar.group.updatesAvailable_one': 'Mise à jour {count} disponible',
'settings.plugins.sidebar.group.updatesAvailable_other': 'Mises à jour {count} disponibles',
'settings.plugins.toast.updatedToLatest': 'Plugin mis à jour vers {version}',
'settings.plugins.toast.refreshing': 'Vérification de npm pour les mises à jour…',
'settings.plugins.toast.refreshFailed': 'Impossible de vérifier le registre npm',
'settings.openchamber.keyboardShortcuts.title': 'Raccourcis clavier',
'settings.openchamber.keyboardShortcuts.actions.resetAll': 'Tout réinitialiser',
'settings.openchamber.keyboardShortcuts.actions.overwrite': 'Écraser',
'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.openchamber.keyboardShortcuts.action.new_chat.label': 'Nouvelle session',
'settings.openchamber.keyboardShortcuts.action.new_chat_worktree.label': 'Nouvelle ébauche d\'worktree',
'settings.openchamber.keyboardShortcuts.action.new_mini_chat.label': 'Nouvelle fenêtre de mini-chat',
'settings.openchamber.keyboardShortcuts.action.open_help.label': 'Ouvrir les raccourcis clavier',
'settings.openchamber.keyboardShortcuts.action.toggle_context_plan.label': 'Basculer le panneau contextuel du plan',
'settings.openchamber.keyboardShortcuts.action.toggle_services_menu.label': 'Basculer le menu des services',
'settings.openchamber.keyboardShortcuts.action.cycle_services_tab.label': 'Onglet Services vélo',
'settings.openchamber.keyboardShortcuts.action.cycle_theme.label': 'Thème du cycle',
'settings.openchamber.keyboardShortcuts.action.cycle_agent.label': 'Agent de cycle',
'settings.openchamber.keyboardShortcuts.action.cycle_favorite_model_forward.label': 'Faire avancer le modèle favori',
'settings.openchamber.keyboardShortcuts.action.cycle_favorite_model_backward.label': 'Faire défiler le modèle favori vers l\'arrière',
'settings.openchamber.keyboardShortcuts.action.expand_input.label': 'Développer l\'entrée',
'settings.openchamber.keyboardShortcuts.action.open_timeline_dialog.label': 'Chronologie de la conversation ouverte',
'settings.projects.sidebar.total': 'Total {count}',
'settings.projects.sidebar.actions.addProject': 'Ajouter un projet',
'settings.projects.page.empty.noProjects': 'Aucun projet disponible.',
'settings.projects.page.title.default': 'Paramètres du projet',
'settings.projects.page.section.worktree': 'Worktree',
'settings.projects.page.field.projectName': 'Nom du projet',
'settings.projects.page.field.projectNamePlaceholder': 'Nom du projet',
'settings.projects.page.field.accentColor': 'Couleur d\'accentuation',
'settings.projects.page.field.projectIcon': 'Icône du projet',
'settings.projects.page.field.projectIconBackgroundAria': 'Couleur darrière-plan de licône du projet',
'settings.projects.page.field.clearIconBackgroundAria': 'Effacer larrière-plan de licône',
'settings.projects.page.field.clearBackground': 'Fond clair',
'settings.projects.page.field.none': 'Aucun',
'settings.projects.page.field.preview': 'Aperçu',
'settings.projects.page.actions.uploadIcon': 'Icône de téléchargement',
'settings.projects.page.actions.uploading': 'Téléchargement...',
'settings.projects.page.actions.discoverFavicon': 'Découvrez Favicon',
'settings.projects.page.actions.discovering': 'Découverte...',
'settings.projects.page.actions.removeProjectIcon': 'Supprimer l\'icône du projet',
'settings.projects.page.actions.removing': 'Suppression...',
'settings.projects.page.actions.undoRemove': 'Annuler Supprimer',
'settings.projects.page.toast.uploadIconFailed': 'Échec du téléchargement de l\'icône du projet',
'settings.projects.page.toast.iconUpdated': 'Icône du projet mise à jour',
'settings.projects.page.toast.removeIconFailed': 'Échec de la suppression de l\'icône du projet',
'settings.projects.page.toast.iconRemoved': 'Icône du projet supprimée',
'settings.projects.page.toast.discoverIconFailed': 'Échec de la découverte de l\'icône du projet',
'settings.projects.page.toast.customIconAlreadySet': 'Icône personnalisée déjà définie pour ce projet',
'settings.projects.page.toast.iconDiscovered': 'Icône de projet découverte',
'settings.usage.sidebar.title': 'Usage',
'settings.usage.sidebar.total': 'Total {count}',
'settings.usage.sidebar.actions.toggleAutoRefreshAria': 'Activer l\'actualisation automatique',
'settings.usage.sidebar.actions.refreshAria': 'Actualiser l\'utilisation',
'settings.usage.sidebar.actions.refreshTitle': 'Actualiser l\'utilisation',
'settings.usage.sidebar.tooltip.autoRefresh': 'Actualisation automatique des données d\'utilisation à un intervalle défini',
'settings.usage.sidebar.field.intervalPlaceholder': 'Intervalle',
'settings.usage.sidebar.field.display': 'Afficher',
'settings.usage.sidebar.field.displayModePlaceholder': 'Mode d\'affichage',
'settings.usage.sidebar.field.displayModeUsage': 'Usage',
'settings.usage.sidebar.field.displayModeRemaining': 'Quota restant',
'settings.usage.sidebar.field.showPredictions': 'Afficher les prédictions',
'settings.usage.sidebar.status.notSet': 'Non défini',
'settings.usage.page.empty.selectProvider': 'Sélectionnez un fournisseur pour afficher les détails d\'utilisation.',
'settings.usage.page.header.providerUsage': 'Utilisation de {provider}',
'settings.usage.page.header.refreshing': 'Utilisation rafraîchissante...',
'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.usage.page.section.otherModels': 'Autres modèles',
'settings.usage.page.state.noQuotaWindowsTitle': 'Aucune fenêtre de quota signalée',
'settings.usage.page.state.noQuotaWindowsDescription': 'Ce fournisseur ne signale actuellement aucune limite de débit ni aucun quota d\'utilisation.',
'settings.usage.pace.status.onTrack': 'En bonne voie',
'settings.usage.pace.status.slightlyFast': 'Un peu rapide',
'settings.usage.pace.status.tooFast': 'Trop vite',
'settings.usage.pace.status.usedUp': 'Épuisé',
'settings.usage.pace.predictionTooltip': 'Utilisation prévue à la fin de la fenêtre en fonction du rythme actuel : {prediction}',
'settings.usage.pace.wait': 'Attendez {duration}',
'settings.usage.pace.prediction': 'Précédent : {prediction}',
'settings.usage.pace.rate': 'Rythme : {rate}',
'settings.usage.pace.waitSeparator': '· Attendez',
'settings.usage.pace.predictionLabel': 'Préd :',
'settings.remoteInstances.page.title': 'Instance distante',
'settings.remoteInstances.page.description': 'Configurez la connexion SSH, le serveur distant et les paramètres de transfert.',
'settings.remoteInstances.page.empty.selectInstance': 'Sélectionnez une instance pour afficher et modifier ses paramètres.',
'settings.remoteInstances.page.empty.noExtraForwards': 'Aucun transfert de port supplémentaire configuré.',
'settings.remoteInstances.page.section.actions': 'Actions',
'settings.remoteInstances.page.section.actionsDescription': 'Connectez-vous, reconnectez-vous, inspectez les journaux ou supprimez cette instance.',
'settings.remoteInstances.page.section.remoteServer': 'Serveur distant',
'settings.remoteInstances.page.section.remoteServerDescription': 'Comment OpenChamber est géré et démarré sur l\'hôte distant.',
'settings.remoteInstances.page.section.mainTunnel': 'Tunnel principal',
'settings.remoteInstances.page.section.mainTunnelDescription': 'Point de terminaison local principal pour cette instance distante.',
'settings.remoteInstances.page.section.authentication': 'Authentification',
'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.field.sshCommand': 'Commande SSH',
'settings.remoteInstances.page.field.sshCommandPlaceholder': 'ssh utilisateur @ hôte',
'settings.remoteInstances.page.field.nickname': 'Surnom',
'settings.remoteInstances.page.field.nicknamePlaceholder': 'Mon hôte distant',
'settings.remoteInstances.page.field.connectionTimeoutSeconds': 'Délai d\'expiration de la connexion (secondes)',
'settings.remoteInstances.page.field.installMethod': 'Méthode d\'installation',
'settings.remoteInstances.page.field.installMethodHint': 'Comment OpenChamber est installé lors de lexécution en mode géré.',
'settings.remoteInstances.page.field.selectInstallMethodPlaceholder': 'Sélectionnez la méthode d\'installation',
'settings.remoteInstances.page.field.installMethodDownloadRelease': 'Télécharger la version',
'settings.remoteInstances.page.field.installMethodUploadBundle': 'Télécharger le lot',
'settings.remoteInstances.page.field.selectBindHostPlaceholder': 'Sélectionnez l\'hôte de liaison',
'settings.remoteInstances.page.field.sshPasswordOptional': 'Mot de passe SSH (facultatif)',
'settings.remoteInstances.page.field.sshPasswordPlaceholder': 'Entrez le mot de passe SSH',
'settings.remoteInstances.page.field.uiPasswordOptional': 'Mot de passe de l\'interface utilisateur (facultatif)',
'settings.remoteInstances.page.field.uiPasswordPlaceholder': 'Entrez le mot de passe de l\'interface utilisateur',
'settings.remoteInstances.page.field.forwardTypeHint': 'Choisissez le transfert local (-L), distant (-R) ou dynamique (-D).',
'settings.remoteInstances.page.field.typePlaceholder': 'Taper',
'settings.remoteInstances.page.forwardType.local': 'Local (-L)',
'settings.remoteInstances.page.forwardType.remote': 'À distance (-R)',
'settings.remoteInstances.page.forwardType.dynamic': 'Dynamique (-D)',
'settings.remoteInstances.page.forwardTypeDescription.local': 'Transférez le trafic local vers une destination distante.',
'settings.remoteInstances.page.forwardTypeDescription.remote': 'Exposez un point de terminaison distant et renvoyez-le à votre ordinateur local.',
'settings.remoteInstances.page.forwardTypeDescription.dynamic': 'Exposez un proxy SOCKS5 local sur SSH.',
'settings.remoteInstances.page.actions.create': 'Créer',
'settings.remoteInstances.page.actions.cancel': 'Annuler',
'settings.remoteInstances.page.actions.connecting': 'Connexion...',
'settings.remoteInstances.page.actions.reconnecting': 'Reconnexion...',
'settings.remoteInstances.page.actions.reconnectNow': 'Reconnectez-vous maintenant',
'settings.remoteInstances.page.actions.logs': 'Journaux SSH',
'settings.remoteInstances.page.actions.pickRandomPort': 'Choisissez un port au hasard',
'settings.remoteInstances.page.actions.enableForwardAria': 'Activer le transfert',
'settings.remoteInstances.page.actions.openLocal': 'Ouvrir localement',
'settings.remoteInstances.page.actions.addForward': 'Ajouter en avant',
'settings.remoteInstances.page.import.sectionTitle': 'Importer depuis la configuration SSH',
'settings.remoteInstances.page.import.loading': 'Chargement des hôtes SSH...',
'settings.remoteInstances.page.import.noneFound': 'Aucun hôte SSH trouvé.',
'settings.remoteInstances.page.import.noneAvailable': 'Aucun hôte SSH disponible pour l\'importation.',
'settings.remoteInstances.page.import.patternSuffix': '(modèle)',
'settings.remoteInstances.page.status.currentLocalUrl': 'URL local actuel :',
'settings.remoteInstances.page.status.reconnectStale': 'La reconnexion semble bloquée. Vous pouvez réessayer maintenant.',
'settings.remoteInstances.page.logsDialog.title': 'Journaux SSH',
'settings.remoteInstances.page.logsDialog.loading': 'Chargement des journaux...',
'settings.remoteInstances.page.logsDialog.empty': 'Aucun journal SSH pour linstant.',
'settings.remoteInstances.page.patternDialog.title': 'Créer à partir d\'un motif générique',
'settings.remoteInstances.page.patternDialog.destinationPlaceholder': 'utilisateur @ hôte',
'settings.remoteInstances.page.phase.resolvingConfiguration': 'Résolution de la configuration',
'settings.remoteInstances.page.phase.checkingAuth': 'Vérification de l\'authentification',
'settings.remoteInstances.page.phase.establishingSsh': 'Établissement de la connexion SSH',
'settings.remoteInstances.page.phase.probingRemote': 'Sonder l\'hôte distant',
'settings.remoteInstances.page.phase.installingOpenChamber': 'Installation de OpenChamber',
'settings.remoteInstances.page.phase.updatingOpenChamber': 'Mise à jour de OpenChamber',
'settings.remoteInstances.page.phase.detectingServer': 'Serveur de détection',
'settings.remoteInstances.page.phase.startingServer': 'Démarrage du serveur',
'settings.remoteInstances.page.phase.forwardingPorts': 'Ports de transfert',
'settings.remoteInstances.page.phase.reconnecting': 'Reconnexion',
'settings.remoteInstances.page.confirm.storeSshPasswordPlaintext': 'Stocker le mot de passe SSH en clair sur le disque ?',
'settings.remoteInstances.page.confirm.storeUiPasswordPlaintext': 'Stocker le mot de passe de l\'interface utilisateur en clair sur le disque ?',
'settings.remoteInstances.page.confirm.removeInstance': 'Supprimer cette instance distante ?',
'settings.remoteInstances.page.toast.sshCommandRequired': 'La commande SSH est requise',
'settings.remoteInstances.page.toast.saveFailed': 'Échec de l\'enregistrement de l\'instance',
'settings.remoteInstances.page.toast.instanceSaved': 'Instance enregistrée',
'settings.remoteInstances.page.toast.instanceCreated': 'Instance créée',
'settings.remoteInstances.page.toast.destinationRequired': 'La destination est obligatoire',
'settings.remoteInstances.page.toast.noLogsToCopy': 'Aucun journal à copier',
'settings.remoteInstances.page.toast.logsCopied': 'Journaux copiés',
'settings.remoteInstances.page.toast.logsCleared': 'Journaux effacés',
'settings.remoteInstances.page.toast.clearLogsFailed': 'Échec de la suppression des journaux',
'settings.remoteInstances.page.toast.instanceUrlUnavailable': 'L\'instance URL n\'est pas disponible',
'settings.remoteInstances.page.toast.connectFailed': 'Échec de la connexion de l\'instance',
'settings.remoteInstances.page.toast.cancelConnectionFailed': 'Échec de l\'annulation de la connexion',
'settings.remoteInstances.page.toast.disconnectFailed': 'Échec de la déconnexion de l\'instance',
'settings.remoteInstances.page.toast.retryFailed': 'Échec de la nouvelle tentative de connexion',
'settings.remoteInstances.page.toast.instanceRemoved': 'Instance supprimée',
'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.loading': 'Chargement...',
'settings.openchamber.worktrees.setup.commandPlaceholder': 'p. ex. bun install',
'settings.openchamber.worktrees.setup.removeCommandAria': 'Supprimer la commande',
'settings.openchamber.worktrees.setup.addCommand': 'Ajouter une commande',
'settings.openchamber.worktrees.list.title': 'Worktrees existants',
'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.openchamber.worktrees.list.detachedHead': 'HEAD détaché',
'settings.openchamber.worktrees.list.deleteWorktreeAria': 'Supprimer le worktree {name}',
'settings.agents.modelSelector.title': 'Sélectionnez le modèle',
'settings.agents.modelSelector.searchPlaceholder': 'Rechercher des modèles',
'settings.agents.modelSelector.selectPlaceholder': 'Sélectionnez le modèle...',
'settings.agents.modelSelector.notSelected': 'Non sélectionné',
'settings.agents.modelSelector.noModelOptional': 'Aucun modèle (facultatif)',
'settings.agents.modelSelector.section.favorites': 'Favoris',
'settings.agents.modelSelector.section.recents': 'Récents',
'settings.agents.modelSelector.section.recent': 'Récent',
'settings.agents.modelSelector.badge.current': 'Actuel',
'settings.agents.modelSelector.actions.favorite': 'Préféré',
'settings.agents.modelSelector.actions.unfavorite': 'Supprimer des favoris',
'settings.agents.modelSelector.actions.addToFavorites': 'Ajouter aux favoris',
'settings.agents.modelSelector.actions.removeFromFavorites': 'Supprimer des favoris',
'settings.agents.modelSelector.state.noModelsFound': 'Aucun modèle trouvé',
'settings.agents.modelSelector.keyboardHints': '↑↓ naviguer • Entrer sélectionner • Esc fermer',
'settings.providers.sidebar.title': 'Fournisseurs',
'settings.providers.sidebar.total': 'Total {count}',
'settings.providers.sidebar.actions.connectProviderAria': 'Connecter le fournisseur',
'settings.providers.sidebar.actions.connectProviderTitle': 'Connecter le fournisseur',
'settings.providers.sidebar.empty.title': 'Aucun fournisseur trouvé',
'settings.providers.sidebar.empty.description': 'Vérifiez votre configuration OpenCode',
'settings.providers.sidebar.section.userProviders': 'Fournisseurs d\'utilisateurs',
'settings.providers.sidebar.section.projectProviders': 'Fournisseurs de projets',
'settings.providers.page.state.loading': 'Chargement...',
'settings.providers.page.state.unableToLoadProviderList': 'Impossible de charger la liste des fournisseurs',
'settings.providers.page.empty.noProvidersDetected': 'Aucun fournisseur détecté',
'settings.providers.page.empty.checkOpenCodeConfiguration': 'Vérifiez votre configuration OpenCode',
'settings.providers.page.empty.selectProviderFromSidebar': 'Sélectionnez un fournisseur dans la barre latérale',
'settings.providers.page.empty.reviewDetailsAndConfigureAuth': 'Vérifier les détails et configurer l\'authentification',
'settings.providers.page.connect.title': 'Connecter le fournisseur',
'settings.providers.page.connect.selectProviderTitle': 'Sélectionnez le fournisseur',
'settings.providers.page.connect.providerField': 'Fournisseur',
'settings.providers.page.connect.selectProviderPlaceholder': 'Sélectionnez le fournisseur',
'settings.providers.page.connect.searchProvidersPlaceholder': 'Recherche...',
'settings.providers.page.connect.noProvidersFound': 'Aucun fournisseur trouvé',
'settings.providers.page.connect.allProvidersConnected': 'Tous les fournisseurs connectés.',
'settings.providers.page.auth.title': 'Authentification',
'settings.providers.page.auth.loadingMethods': 'Chargement des méthodes d\'authentification...',
'settings.providers.page.auth.apiKeyLabel': 'Clé API',
'settings.providers.page.auth.apiKeyTooltip': 'Les clés sont envoyées directement à OpenCode et ne sont jamais stockées par OpenChamber.',
'settings.providers.page.auth.apiKeyPlaceholder': 'sk-...',
'settings.providers.page.auth.oauthMethodFallback': 'Méthode OAuth {index}',
'settings.providers.page.auth.pasteAuthorizationCodePlaceholder': 'Coller le code d\'autorisation',
'settings.providers.page.auth.connected': 'Connecté',
'settings.providers.page.auth.useReconnectHint': '· Utilisez Reconnect pour mettre à jour les informations d\'identification',
'settings.providers.page.connectionDetails.title': 'Détails de connexion',
'settings.providers.page.connectionDetails.configuredIn': 'Configuré dans :',
'settings.providers.page.connectionDetails.noActiveSource': 'Aucune source de configuration active',
'settings.providers.page.connectionDetails.source.authCredentials': 'informations d\'authentification',
'settings.providers.page.connectionDetails.source.userConfig': 'configuration utilisateur',
'settings.providers.page.connectionDetails.source.projectConfig': 'configuration du projet',
'settings.providers.page.connectionDetails.source.customConfig': 'configuration personnalisée',
'settings.providers.page.models.title': 'Modèles disponibles',
'settings.providers.page.models.filterPlaceholder': 'Filtrer les modèles...',
'settings.providers.page.models.noModelsMatchFilter': 'Aucun modèle ne correspond à ce filtre.',
'settings.providers.page.models.capability.toolCalling': 'Appel d\'outil',
'settings.providers.page.models.capability.reasoning': 'Raisonnement',
'settings.providers.page.models.capability.imageInput': 'Saisie d\'images',
'settings.providers.page.models.tokenBadge.context': 'cx',
'settings.providers.page.models.tokenBadge.output': 'sortie',
'settings.providers.page.models.actions.hideModelFromSelectors': 'Masquer le modèle des sélecteurs',
'settings.providers.page.models.actions.showModelInSelectors': 'Afficher le modèle dans les sélecteurs',
'settings.providers.page.models.actions.hideModel': 'Masquer le modèle',
'settings.providers.page.models.actions.showModel': 'Afficher le modèle',
'settings.providers.page.actions.saving': 'Enregistrement...',
'settings.providers.page.actions.saveKey': 'Enregistrer la clé',
'settings.providers.page.actions.connect': 'Connecter',
'settings.providers.page.actions.copyCode': 'Copier le code',
'settings.providers.page.actions.open': 'Ouvrir',
'settings.providers.page.actions.copy': 'Copie',
'settings.providers.page.actions.complete': 'Complet',
'settings.providers.page.actions.hide': 'Cacher',
'settings.providers.page.actions.reconnect': 'Reconnecter',
'settings.providers.page.actions.disconnecting': 'Déconnexion...',
'settings.providers.page.actions.disconnect': 'Déconnecter',
'settings.providers.page.actions.hideAll': 'Tout cacher',
'settings.providers.page.actions.showAll': 'Afficher tout',
'settings.providers.page.toast.authMethodsLoadFailed': 'Échec du chargement des méthodes d\'authentification du fournisseur',
'settings.providers.page.toast.providerSourcesLoadFailed': 'Échec du chargement des sources du fournisseur',
'settings.providers.page.toast.apiKeyRequired': 'La clé API est requise',
'settings.providers.page.toast.apiKeySaveFailed': 'Échec de l\'enregistrement de la clé API',
'settings.providers.page.toast.apiKeySaved': 'Clé API enregistrée',
'settings.providers.page.toast.oauthStartFailed': 'Échec du démarrage du flux OAuth',
'settings.providers.page.toast.oauthDetailsMissing': 'Aucun détail OAuth renvoyé',
'settings.providers.page.toast.completeOAuthInBrowser': 'Complétez le flux OAuth dans votre navigateur',
'settings.providers.page.toast.oauthCompleteFailed': 'Échec de la réalisation du flux OAuth',
'settings.providers.page.toast.oauthCompleted': 'Connexion OAuth terminée',
'settings.providers.page.toast.oauthLinkCopied': 'Lien OAuth copié',
'settings.providers.page.toast.oauthLinkCopyFailed': 'Échec de la copie du lien OAuth',
'settings.providers.page.toast.deviceCodeCopied': 'Code de l\'appareil copié',
'settings.providers.page.toast.deviceCodeCopyFailed': 'Échec de la copie du code de l\'appareil',
'settings.providers.page.toast.providerDisconnected': 'Fournisseur déconnecté',
'settings.providers.page.toast.providerDisconnectFailed': 'Échec de la déconnexion du fournisseur',
'settings.mcp.page.empty.selectServer': 'Sélectionnez un serveur MCP dans la barre latérale',
'settings.mcp.page.empty.addNewOne': 'ou ajoutez-en un nouveau',
'settings.mcp.page.header.newServer': 'Nouveau serveur MCP',
'settings.mcp.page.header.configureNewServer': 'Configurer un nouveau serveur MCP',
'settings.mcp.page.header.transport': 'Transport {type}',
'settings.mcp.page.transport.local': 'Local · stdio',
'settings.mcp.page.transport.remote': 'À distance · SSE',
'settings.mcp.page.status.label.connected': 'Connecté',
'settings.mcp.page.status.label.failed': 'Échoué',
'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 dexécution en direct.',
'settings.mcp.page.status.runtimeStatus': 'Statut d\'exécution',
'settings.mcp.page.status.projectScopedTo': 'Projet limité à {directory}',
'settings.mcp.page.status.userScoped': 'Configuration à l\'échelle de l\'utilisateur',
'settings.mcp.page.status.activeProject': 'le projet actif',
'settings.mcp.page.actions.connect': 'Connecter',
'settings.mcp.page.actions.disconnect': 'Déconnecter',
'settings.mcp.page.actions.authorize': 'Autoriser',
'settings.mcp.page.actions.reauthorize': 'Réautoriser',
'settings.mcp.page.actions.clearAuth': 'Effacer l\'authentification',
'settings.mcp.page.actions.test': 'Test',
'settings.mcp.page.actions.testConnection': 'Tester la connexion',
'settings.mcp.page.actions.working': 'Fonctionnement...',
'settings.mcp.page.actions.starting': 'Démarrage...',
'settings.mcp.page.actions.clearing': 'Effacement...',
'settings.mcp.page.actions.testing': 'Essai...',
'settings.mcp.page.actions.completing': 'Terminer...',
'settings.mcp.page.actions.completeAuthorization': 'Autorisation complète',
'settings.mcp.page.actions.openInBrowser': 'Ouvrir dans le navigateur',
'settings.mcp.page.actions.copyLink': 'Copier le lien',
'settings.mcp.page.actions.deleting': 'Suppression…',
'settings.mcp.page.auth.authorizationUrl': 'Autorisation URL',
'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.server.title': 'Serveur',
'settings.mcp.page.server.name': 'Nom du serveur',
'settings.mcp.page.server.namePlaceholder': 'mon-serveur-mcp',
'settings.mcp.page.server.importJson': 'Importer à partir de l\'extrait de code JSON',
'settings.mcp.page.server.importJsonTitle': 'Importer une configuration complète du serveur MCP à partir d\'un extrait de code JSON',
'settings.mcp.page.server.enable': 'Activer le serveur',
'settings.mcp.page.server.enableAria': 'Activer le serveur',
'settings.mcp.page.server.transportMode': 'Mode de transport',
'settings.mcp.page.connection.command': 'Commande',
'settings.mcp.page.connection.serverUrl': 'Serveur URL',
'settings.mcp.page.connection.serverUrlPlaceholder': 'https://mcp.example.com/mcp',
'settings.mcp.page.connection.pasteCommand': 'Commande Coller',
'settings.mcp.page.connection.pasteCommandTitle': 'Collez une commande locale à partir du presse-papiers et divisez-la automatiquement',
'settings.mcp.page.connection.previewArgs': 'Aperçu (arguments {count})',
'settings.mcp.page.advanced.title': 'Options avancées à distance',
'settings.mcp.page.advanced.configure': 'Configurer les options avancées',
'settings.mcp.page.advanced.autoDetect': 'Détection automatique',
'settings.mcp.page.advanced.custom': 'Personnalisé',
'settings.mcp.page.advanced.headers': 'en-têtes',
'settings.mcp.page.advanced.timeoutMs': 'Délai d\'expiration (ms)',
'settings.mcp.page.advanced.timeoutHint': 'Laissez vide pour utiliser le délai d\'expiration par défaut de OpenCode, MCP.',
'settings.mcp.page.advanced.requestHeaders': 'En-têtes de demande',
'settings.mcp.page.advanced.headerNamePlaceholder': 'Nom de l\'en-tête',
'settings.mcp.page.advanced.pasteHeaders': 'Coller les en-têtes',
'settings.mcp.page.advanced.pasteHeadersTitle': 'Coller les lignes d\'en-tête KEY=VALUE du presse-papiers',
'settings.mcp.page.advanced.oauthAutoDetection': 'Activer la détection automatique OAuth',
'settings.mcp.page.advanced.oauthAutoDetectionAria': 'Activer la détection automatique OAuth',
'settings.mcp.page.advanced.oauthClientIdPlaceholder': 'ID client OAuth',
'settings.mcp.page.advanced.oauthClientSecretPlaceholder': 'Secret client OAuth',
'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.env.title': 'Variables d\'environnement',
'settings.mcp.page.env.key': 'Clé',
'settings.mcp.page.env.value': 'Valeur',
'settings.mcp.page.env.valuePlaceholder': 'valeur',
'settings.mcp.page.env.hide': 'Cacher',
'settings.mcp.page.env.show': 'Montrer',
'settings.mcp.page.env.addVariable': 'Ajouter une variable',
'settings.mcp.page.env.addEnvironmentVariable': 'Ajouter une variable d\'environnement',
'settings.mcp.page.env.keyPlaceholder': 'API_KEY',
'settings.mcp.page.env.pasteEnv': 'Coller .env',
'settings.mcp.page.env.pasteEnvTitle': 'Coller les lignes KEY=VALUE du presse-papiers',
'settings.mcp.page.env.plainTextWarning': '⚠ Les valeurs sont stockées sous forme de texte brut dans opencode.json',
'settings.mcp.page.env.removeVariableAria': 'Supprimer une variable',
'settings.mcp.page.importDialog.title': 'Importer lextrait JSON',
'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.deleteDialog.title': 'Supprimer « {name} » ?',
'settings.mcp.page.deleteDialog.descriptionPrefix': 'Cela supprime le serveur de',
'settings.mcp.page.deleteDialog.descriptionSuffix': 'OpenCode devra recharger.',
'settings.mcp.page.toast.clipboardReadFailed': 'Impossible de lire le presse-papier',
'settings.mcp.page.toast.configImported': 'Configuration MCP importée',
'settings.mcp.page.toast.nameRequired': 'Le nom est requis',
'settings.mcp.page.toast.serverNameExists': 'Un serveur portant ce nom existe déjà',
'settings.mcp.page.toast.localCommandRequired': 'La commande ne peut pas être vide pour un serveur local',
'settings.mcp.page.toast.remoteUrlRequired': 'URL ne peut pas être vide pour un serveur distant',
'settings.mcp.page.toast.serverCreatedReloadFailed': 'Le serveur MCP a été créé, mais le rechargement du OpenCode a échoué.',
'settings.mcp.page.toast.savedReloadFailed': 'Enregistré, mais le rechargement du OpenCode a échoué.',
'settings.mcp.page.toast.retryRefreshHint': 'Réessayez d\'actualiser ou de rouvrir les paramètres avant d\'autoriser ce serveur.',
'settings.mcp.page.toast.serverCreatedReloading': 'Serveur MCP créé. Rechargement du OpenCode…',
'settings.mcp.page.toast.savedReloading': 'Enregistré. Rechargement du OpenCode…',
'settings.mcp.page.toast.saveFailed': 'Échec de l\'enregistrement',
'settings.mcp.page.toast.unexpectedError': 'Une erreur s\'est produite',
'settings.mcp.page.toast.serverDeletedReloadFailed': '"{name}" supprimé, mais le rechargement du OpenCode a échoué',
'settings.mcp.page.toast.refreshListIfStale': 'Actualisez la liste MCP si l\'interface utilisateur semble obsolète.',
'settings.mcp.page.toast.serverDeleted': '"{name}" supprimé',
'settings.mcp.page.toast.deleteFailed': 'Échec de la suppression',
'settings.mcp.page.toast.disconnected': 'Déconnecté',
'settings.mcp.page.toast.connected': 'Connecté',
'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.openAuthorizationUrlFailed': 'Impossible d\'ouvrir automatiquement l\'autorisation URL',
'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.authorizationUrlCopied': 'Autorisation URL copiée',
'settings.mcp.page.toast.authorizationUrlCopyFailed': 'Échec de la copie de l\'autorisation URL',
'settings.mcp.page.toast.pasteCallbackOrCodeFirst': 'Collez d\'abord le rappel URL ou le code d\'autorisation',
'settings.mcp.page.toast.missingServerDetails': 'Détails du serveur MCP manquants. Sélectionnez à nouveau le serveur ou collez le rappel complet URL.',
'settings.mcp.page.toast.authorizationCompleted': 'Autorisation MCP terminée',
'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.mcp.page.toast.importedVariablesCount': 'Variables importées : {count}',
'settings.mcp.page.toast.pastedArgumentsCount': 'Arguments collés : {count}',
'settings.shared.projectSelector.fallbackProject': 'Projet',
'settings.shared.projectSelector.switchProjectAria': 'Changer de projet',
'settings.shared.projectSelector.switchProjectTitle': 'Changer de projet',
'settings.openchamber.defaults.title': 'Paramètres par défaut de la session',
'settings.openchamber.defaults.summaryPrefix': 'Les nouvelles sessions débuteront avec :',
'settings.openchamber.defaults.summaryOpenCodeDefault': 'Agent OpenCode par défaut',
'settings.openchamber.defaults.field.defaultModel': 'Modèle par défaut',
'settings.openchamber.defaults.field.defaultThinking': 'Pensée par défaut',
'settings.openchamber.defaults.field.thinkingPlaceholder': 'Pensée',
'settings.openchamber.defaults.field.defaultAgent': 'Agent par défaut',
'settings.openchamber.defaults.field.showDeletionDialogAria': 'Afficher la boîte de dialogue de suppression',
'settings.openchamber.defaults.field.showDeletionDialog': 'Afficher la boîte de dialogue de suppression',
'settings.openchamber.defaults.field.openFilesPreviewAria': 'Ouvrir les fichiers en mode aperçu',
'settings.openchamber.defaults.field.openFilesPreview': 'Ouvrir les fichiers en mode aperçu',
'settings.openchamber.defaults.option.default': 'Défaut',
'settings.openchamber.defaults.option.defaultLowercase': 'défaut',
'settings.openchamber.git.title': 'Préférences Git',
'settings.openchamber.git.changesViewTitle': 'Vue des modifications',
'settings.openchamber.git.changesViewAria': 'Git change le mode d\'affichage',
'settings.openchamber.git.option.flatList': 'Liste plate',
'settings.openchamber.git.option.treeView': 'Vue arborescente',
'settings.openchamber.git.optionAria': 'Git change de mode d\'affichage : {option}',
'settings.openchamber.git.enableGitmojiAria': 'Activer le sélecteur Gitmoji',
'settings.openchamber.git.enableGitmoji': 'Activer le sélecteur Gitmoji',
'settings.openchamber.git.showGitignoredAria': 'Afficher les fichiers gitignorés',
'settings.openchamber.git.showGitignored': 'Afficher les fichiers ignorés par Git',
'settings.github.page.tooltip.connectAccount': 'Connectez un compte GitHub pour les PR et les workflows de problèmes dans l\'application.',
'settings.github.page.avatarAlt.withLogin': 'Avatar {login}',
'settings.github.page.avatarAlt.fallback': 'Avatar GitHub',
'settings.github.page.label.unknownUser': 'inconnu',
'settings.github.page.label.scopes': 'Portées : {value}',
'settings.github.page.label.otherAccounts': 'Autres comptes',
'settings.github.page.accountSource.oauth': 'OAuth',
'settings.github.page.accountSource.cli': 'CLI',
'settings.github.page.actions.disconnect': 'Déconnecter',
'settings.github.page.actions.connect': 'Connectez GitHub',
'settings.github.page.actions.switchTo': 'Passer à',
'settings.github.page.actions.addAccount': 'Ajouter un compte',
'settings.github.page.actions.openGithub': 'Ouvrir GitHub',
'settings.github.page.status.notConnected': 'Non connecté',
'settings.github.page.status.active': 'Actif',
'settings.github.page.flow.title': 'Autoriser OpenChamber',
'settings.github.page.flow.description': 'Dans GitHub, saisissez le code suivant pour autoriser cet appareil :',
'settings.github.page.flow.waiting': 'En attente d\'approbation… (actualisation automatique)',
'settings.github.page.toast.startConnectFailed': 'Échec du démarrage de la connexion GitHub',
'settings.github.page.toast.connected': 'GitHub connecté',
'settings.github.page.toast.authorizationFailed': 'L\'autorisation GitHub a échoué',
'settings.github.page.toast.disconnected': 'GitHub déconnecté',
'settings.github.page.toast.disconnectFailed': 'Échec de la déconnexion du GitHub',
'settings.github.page.toast.accountSwitched': 'Le compte GitHub a changé',
'settings.github.page.toast.accountSwitchFailed': 'Échec du changement de compte GitHub',
'settings.github.page.oauth.title': 'Token OAuth GitHub',
'settings.github.page.ghCli.title': 'Token CLI GitHub',
'settings.github.page.ghCli.activeDescription': 'Authentifié via gh CLI',
'settings.github.page.ghCli.fallbackDescription': 'Disponible comme solution de secours si lauthentification OpenChamber est supprimée',
'settings.github.page.ghCli.disabledDescription': 'Installé, mais non utilisé comme solution de secours',
'settings.github.page.ghCli.actions.disable': 'Désactiver',
'settings.github.page.ghCli.actions.enable': 'Activer',
'settings.github.page.toast.ghCliEnabled': 'Solution de secours gh CLI activée',
'settings.github.page.toast.ghCliDisabled': 'Solution de secours gh CLI désactivée',
'settings.github.page.toast.ghCliUpdateFailed': 'Échec de la mise à jour du paramètre gh CLI',
'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.events.errorAria': 'Erreurs d\'agent',
'settings.notifications.page.events.errorLabel': 'Erreurs d\'agent',
'settings.notifications.page.events.questionAria': 'Questions des agents',
'settings.notifications.page.events.questionLabel': 'Questions aux agents',
'settings.notifications.page.template.title': 'Modèles de notifications',
'settings.notifications.page.template.variablesLabel': 'Variables :',
'settings.notifications.page.template.event.completion': 'achèvement',
'settings.notifications.page.template.event.subtask': 'Achèvement du sous-agent',
'settings.notifications.page.template.event.error': 'erreur',
'settings.notifications.page.template.event.question': 'question',
'settings.notifications.page.template.field.title': 'Titre',
'settings.notifications.page.template.field.message': 'Message',
'settings.notifications.page.template.defaults.completion.title': '{agent_name} est prêt',
'settings.notifications.page.template.defaults.completion.message': '{model_name} a terminé la tâche',
'settings.notifications.page.template.defaults.error.title': 'Erreur d\'outil',
'settings.notifications.page.template.defaults.error.message': '{last_message}',
'settings.notifications.page.template.defaults.question.title': 'Entrée nécessaire',
'settings.notifications.page.template.defaults.question.message': '{last_message}',
'settings.notifications.page.template.defaults.subtask.title': '{agent_name} est prêt',
'settings.notifications.page.template.defaults.subtask.message': '{model_name} a terminé la tâche',
'settings.notifications.page.summary.title': 'Résumé de l\'IA',
'settings.notifications.page.summary.toggleAria': 'Résumer le dernier message',
'settings.notifications.page.summary.toggleLabel': 'Résumer le dernier message',
'settings.notifications.page.summary.requiresTemplateVariable': 'Nécessite',
'settings.notifications.page.summary.modelLabel': 'Modèle de synthèse',
'settings.notifications.page.summary.modelTooltip': 'Utilisé pour les notifications et les résumés vocaux.',
'settings.notifications.page.summary.notSelected': 'Non sélectionné',
'settings.notifications.page.summary.thresholdLabel': 'Seuil',
'settings.notifications.page.summary.thresholdHint': 'Les messages plus longs seront résumés',
'settings.notifications.page.summary.resetThresholdAria': 'Réinitialiser le seuil',
'settings.notifications.page.summary.lengthLabel': 'Longueur',
'settings.notifications.page.summary.lengthHint': 'Longueur de caractères cible du résumé',
'settings.notifications.page.summary.resetLengthAria': 'Réinitialiser la longueur du résumé',
'settings.notifications.page.summary.maxLengthLabel': 'Longueur maximale',
'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.notifications.page.push.loadingAria': 'Chargement',
'settings.notifications.page.toast.permissionDenied.title': 'Autorisation de notification refusée',
'settings.notifications.page.toast.permissionDenied.description': 'Veuillez activer les notifications dans les paramètres de votre navigateur.',
'settings.notifications.page.toast.permissionDenied.enableInBrowser': 'Activez les notifications dans les paramètres de votre navigateur.',
'settings.notifications.page.toast.requestPermissionFailed': 'Échec de la demande d\'autorisation de notification',
'settings.notifications.page.toast.notificationsApiUnavailable': 'Notifications API non disponible',
'settings.notifications.page.toast.testNotificationSent': 'Notification de test envoyée avec succès',
'settings.notifications.page.toast.testNotificationFailed': 'Échec de l\'envoi de la notification de test',
'settings.notifications.page.toast.pushUnsupported': 'Notifications push non prises en charge',
'settings.notifications.page.toast.pushApiUnavailable': 'Poussez API non disponible',
'settings.notifications.page.toast.pushKeyLoadFailed': 'Échec du chargement de la touche push',
'settings.notifications.page.toast.enableBackgroundFailed': 'Échec de l\'activation des notifications en arrière-plan',
'settings.notifications.page.toast.backgroundEnabled': 'Notifications en arrière-plan activées',
'settings.notifications.page.toast.backgroundDisabled': 'Notifications en arrière-plan désactivées',
'settings.notifications.page.testNotification.title': 'Avis de test',
'settings.notifications.page.testNotification.body': 'Il s\'agit d\'une notification de test de OpenChamber.',
'settings.voice.page.section.voiceSetup': 'Configuration vocale',
'settings.voice.page.section.speechRecognition': 'Reconnaissance vocale',
'settings.voice.page.section.playbackAndSummary': 'Lecture',
'settings.voice.page.field.enableVoiceModeAria': 'Activer le mode vocal',
'settings.voice.page.field.enableVoiceMode': 'Activer le mode vocal',
'settings.voice.page.field.provider': 'Fournisseur',
'settings.voice.page.provider.browser': 'Navigateur',
'settings.voice.page.provider.custom': 'Personnalisé',
'settings.voice.page.provider.say': 'Dire',
'settings.voice.page.provider.server': 'Serveur',
'settings.voice.page.provider.wasm': 'Local',
'settings.voice.page.stt.wasmModel': 'Modèle Whisper',
'settings.voice.page.stt.wasmLoaded': 'Modèle chargé, prêt',
'settings.voice.page.stt.wasmDownloading': 'Téléchargement du modèle...',
'settings.voice.page.stt.wasmLoading': 'Chargement du modèle...',
'settings.voice.page.stt.wasmNotLoaded': 'Le modèle se chargera lors de la première utilisation vocale',
'settings.voice.page.stt.wasmDownload': 'Charger',
'settings.voice.page.stt.wasmRetry': 'Réessayer',
'settings.voice.page.tooltip.browser': 'Gratuit, hors ligne, prise en charge mobile limitée.',
'settings.voice.page.tooltip.openai': 'Haute qualité, prêt pour le mobile, nécessite une clé API.',
'settings.voice.page.tooltip.custom': 'Serveur compatible OpenAI (par exemple Kokoro).',
'settings.voice.page.tooltip.say': 'Natif macOS. Rapide, gratuit, hors ligne.',
'settings.voice.page.tooltip.sttBrowser': 'Discours Web API (Chrome/Edge). Gratuit, aucune configuration.',
'settings.voice.page.tooltip.sttServer': 'Serveur Whisper compatible OpenAI. Une meilleure précision, dans nimporte quelle langue.',
'settings.voice.page.field.apiKey': 'Clé API',
'settings.voice.page.field.apiKeyHintUsingConfig': 'Utiliser la clé de la configuration',
'settings.voice.page.field.apiKeyHintRequired': 'OpenAI TTS nécessite une clé API',
'settings.voice.page.field.apiKeyHintProvide': 'Fournissez votre clé OpenAI',
'settings.voice.page.field.serverUrl': 'Serveur URL',
'settings.voice.page.field.serverUrlHint': 'Base URL du serveur TTS compatible OpenAI',
'settings.voice.page.field.model': 'Modèle',
'settings.voice.page.field.voice': 'Voix',
'settings.voice.page.field.voiceIdentifierHint': 'Identifiant vocal pris en charge par le serveur',
'settings.voice.page.field.configuredAbove': 'Configuré ci-dessus',
'settings.voice.page.actions.preview': 'Aperçu',
'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.voice.page.field.millisecondsUnit': 'MS',
'settings.voice.page.field.messageReadAloudButtonAria': 'Bouton de lecture du message à voix haute',
'settings.voice.page.field.messageReadAloudButton': 'Bouton Message lu à haute voix',
'settings.voice.page.field.summarizeBeforePlaybackAria': 'Résumer avant la lecture',
'settings.voice.page.field.summarizeBeforePlayback': 'Résumer avant la lecture',
'settings.voice.page.field.summarizeVoiceModeResponsesAria': 'Résumer les réponses en mode vocal',
'settings.voice.page.field.summarizeVoiceModeResponses': 'Résumer les réponses en mode vocal',
'settings.voice.page.field.summarizationThreshold': 'Seuil de synthèse',
'settings.voice.page.field.summaryMaxLength': 'Longueur maximale du résumé',
'settings.voice.page.hint.shiftClickPrefix': 'Presse',
'settings.voice.page.hint.shiftClickSuffix': 'sur le bouton du micro pour basculer en mode continu',
'settings.voice.page.preview.browserVoiceFallback': 'la voix de votre navigateur',
'settings.voice.page.preview.voiceLine': 'Bonjour! Je m\'appelle {voiceName}. C\'est ainsi que je parle.',
'settings.voice.page.preview.customServerLine': 'Bonjour! Ceci est un aperçu du serveur TTS personnalisé.',
'settings.openchamber.visual.section.colorMode': 'Mode couleur',
'settings.openchamber.visual.section.localization': 'Localisation',
'settings.openchamber.visual.section.spacingAndLayout': 'Espacement et disposition',
'settings.openchamber.visual.section.navigation': 'Navigation',
'settings.openchamber.visual.section.chatRenderMode': 'Mode de rendu du chat',
'settings.openchamber.visual.section.chatRenderModeAria': 'Mode de rendu du chat',
'settings.openchamber.visual.section.messageStreamTransport': 'Transport de flux de messages',
'settings.openchamber.visual.section.activityDefault': 'Activité par défaut',
'settings.openchamber.visual.section.activityDefaultAria': 'Mode d\'activité par défaut',
'settings.openchamber.visual.section.showToolsOpenedByDefault': 'Afficher les outils ouverts par défaut :',
'settings.openchamber.visual.section.userMessageRendering': 'Rendu des messages utilisateur',
'settings.openchamber.visual.section.userMessageRenderingAria': 'Mode de rendu des messages utilisateur',
'settings.openchamber.visual.section.mermaidRendering': 'Rendu Mermaid',
'settings.openchamber.visual.section.mermaidRenderingAria': 'Mode de rendu Mermaid',
'settings.openchamber.visual.section.diffLayout': 'Disposition différentielle',
'settings.openchamber.visual.section.diffLayoutAria': 'Disposition différentielle',
'settings.openchamber.visual.section.privacy': 'Confidentialité',
'settings.openchamber.visual.field.lightTheme': 'Thème clair',
'settings.openchamber.visual.field.darkTheme': 'Thème sombre',
'settings.openchamber.visual.field.selectLightThemeAria': 'Sélectionnez le thème de la lumière',
'settings.openchamber.visual.field.selectDarkThemeAria': 'Sélectionnez un thème sombre',
'settings.openchamber.visual.field.selectThemePlaceholder': 'Sélectionner un thème',
'settings.openchamber.visual.field.timeFormat': 'Format de l\'heure',
'settings.openchamber.visual.field.weekStartsOn': 'La semaine commence le',
'settings.openchamber.visual.field.selectTimeFormatAria': 'Sélectionnez le format de l\'heure',
'settings.openchamber.visual.field.selectWeekStartAria': 'Sélectionnez le début de la semaine',
'settings.openchamber.visual.actions.reloadThemes': 'Recharger les thèmes',
'settings.openchamber.visual.actions.reloadingThemes': 'Rechargement des thèmes...',
'settings.openchamber.visual.field.themeImportInfoAria': 'Informations sur l\'importation du thème',
'settings.openchamber.visual.field.themeImportInfoTooltip': 'Importez des thèmes personnalisés depuis ~/.config/openchamber/themes/',
'settings.openchamber.visual.field.installAppName': 'Installer le nom de l\'application',
'settings.openchamber.visual.field.installAppNameHint': 'Utilisé par le processus d\'installation de PWA.',
'settings.openchamber.visual.field.pwaInstallAppNameAria': 'Nom de l\'application d\'installation PWA',
'settings.openchamber.visual.actions.resetInstallAppNameAria': 'Réinitialiser le nom de l\'application d\'installation',
'settings.openchamber.visual.field.installOrientation': 'Orientation de l\'installation',
'settings.openchamber.visual.field.installOrientationHint': 'Utilisé par l\'application Web installée. Réinstallez la PWA après avoir modifié cela.',
'settings.openchamber.visual.field.pwaInstallOrientationAria': 'Orientation d\'installation de la PWA',
'settings.openchamber.visual.field.selectOrientationPlaceholder': 'Sélectionner l\'orientation',
'settings.openchamber.visual.actions.resetInstallOrientationAria': 'Réinitialiser l\'orientation d\'installation',
'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.interfaceFont': 'Police d\'interface',
'settings.openchamber.visual.field.selectInterfaceFontAria': 'Sélectionnez la police de l\'interface',
'settings.openchamber.visual.actions.resetInterfaceFontAria': 'Réinitialiser la police de l\'interface',
'settings.openchamber.visual.field.fontSizePercentageAria': 'Pourcentage de taille de police',
'settings.openchamber.visual.actions.resetFontSizeAria': 'Réinitialiser la taille de la police',
'settings.openchamber.visual.field.terminalFontSize': 'Taille de la police du terminal',
'settings.openchamber.visual.field.codeFont': 'Police de code',
'settings.openchamber.visual.field.selectCodeFontAria': 'Sélectionnez la police du code',
'settings.openchamber.visual.actions.resetCodeFontAria': 'Réinitialiser la police du code',
'settings.openchamber.visual.actions.resetTerminalFontSizeAria': 'Réinitialiser la taille de la police du terminal',
'settings.openchamber.visual.field.spacingDensity': 'Densité d\'espacement',
'settings.openchamber.visual.actions.resetSpacingAria': 'Réinitialiser l\'espacement',
'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.bash': 'Bash',
'settings.openchamber.visual.field.editTools': 'Outils d\'édition',
'settings.openchamber.visual.field.userMessageRenderingAria': 'Rendu du message utilisateur : {option}',
'settings.openchamber.visual.field.mermaidRenderingAria': 'Rendu Mermaid : {option}',
'settings.openchamber.visual.field.diffLayoutAria': 'Disposition des différences : {option}',
'settings.openchamber.visual.field.showReasoningTracesAria': 'Afficher les traces de raisonnement',
'settings.openchamber.visual.field.showReasoningTraces': 'Afficher les traces de raisonnement',
'settings.openchamber.visual.field.collapsibleThinkingBlocksAria': 'Activer les blocs de raisonnement pliables',
'settings.openchamber.visual.field.collapsibleThinkingBlocks': 'Activer les blocs de raisonnement pliables',
'settings.openchamber.visual.field.collapsibleUserMessagesAria': 'Réduire les longs messages utilisateur',
'settings.openchamber.visual.field.collapsibleUserMessages': 'Réduire les longs messages utilisateur',
'settings.openchamber.visual.field.stickyUserHeaderAria': 'En-tête utilisateur collant',
'settings.openchamber.visual.field.stickyUserHeader': 'En-tête utilisateur collant',
'settings.openchamber.visual.field.expandedEditorToolbarAria': 'Toujours afficher la barre doutils de l’éditeur',
'settings.openchamber.visual.field.expandedEditorToolbar': 'Toujours afficher la barre doutils de l’éditeur (ancrée sous les onglets de fichiers)',
'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 lapplication, la plate-forme et le runtime sont collectés aucune donnée personnelle ni code.',
'settings.openchamber.visual.option.themeMode.system': 'Système',
'settings.openchamber.visual.option.themeMode.light': 'Clair',
'settings.openchamber.visual.option.themeMode.dark': 'Sombre',
'settings.openchamber.visual.option.diffLayout.dynamic.label': 'Dynamique',
'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.diffLayout.inline.label': 'Toujours intégré',
'settings.openchamber.visual.option.diffLayout.inline.description': 'Afficher sous forme de vue unifiée unique.',
'settings.openchamber.visual.option.diffLayout.sideBySide.label': 'Toujours côte à côte',
'settings.openchamber.visual.option.diffLayout.sideBySide.description': 'Comparez les fichiers originaux et modifiés.',
'settings.openchamber.visual.option.mermaidRendering.svg.label': 'SVG',
'settings.openchamber.visual.option.mermaidRendering.svg.description': 'Rendre les diagrammes sous forme de graphiques évolutifs.',
'settings.openchamber.visual.option.mermaidRendering.ascii.label': 'ASCII',
'settings.openchamber.visual.option.mermaidRendering.ascii.description': 'Rendre les diagrammes sous forme de blocs de texte.',
'settings.openchamber.visual.option.pwaOrientation.system.label': 'Suivre le système',
'settings.openchamber.visual.option.pwaOrientation.system.description': 'Respectez le réglage de rotation de l\'appareil.',
'settings.openchamber.visual.option.pwaOrientation.portrait.label': 'Verrouillage portrait',
'settings.openchamber.visual.option.pwaOrientation.portrait.description': 'Installez l\'application verrouillée en mode portrait.',
'settings.openchamber.visual.option.pwaOrientation.landscape.label': 'Verrouillage paysage',
'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.openchamber.visual.option.userMessageRendering.markdown.label': 'Markdown',
'settings.openchamber.visual.option.userMessageRendering.markdown.description': 'Rendre le texte utilisateur avec un formatage markdown.',
'settings.openchamber.visual.option.userMessageRendering.plain.label': 'Texte brut',
'settings.openchamber.visual.option.userMessageRendering.plain.description': 'Rendre le texte utilisateur avec des espaces et des liens préservés.',
'chat.message.userText.collapseAria': 'Réduire le message utilisateur',
'settings.openchamber.visual.option.chatRenderMode.sorted.label': 'Trié',
'settings.openchamber.visual.option.chatRenderMode.sorted.description': 'Restituez les messages de l\'assistant terminés sans diffusion en direct.',
'settings.openchamber.visual.option.chatRenderMode.live.label': 'En direct',
'settings.openchamber.visual.option.chatRenderMode.live.description': 'Diffusez le texte et les outils de lassistant dès leur arrivée.',
'settings.openchamber.visual.option.messageTransport.auto.label': 'Auto',
'settings.openchamber.visual.option.messageTransport.auto.description': 'Préférez WebSocket et revenez à SSE si besoin.',
'settings.openchamber.visual.option.messageTransport.ws.label': 'WebSocket',
'settings.openchamber.visual.option.messageTransport.ws.description': 'Utilisez WebSocket pour la diffusion de messages.',
'settings.openchamber.visual.option.messageTransport.sse.label': 'SSE',
'settings.openchamber.visual.option.messageTransport.sse.description': 'Utilisez les événements envoyés par le serveur pour la diffusion de messages.',
'settings.openchamber.visual.option.activityRenderMode.collapsed.label': 'Effondré',
'settings.openchamber.visual.option.activityRenderMode.collapsed.description': 'Gardez l\'activité réduite par défaut.',
'settings.openchamber.visual.option.activityRenderMode.summary.label': 'Étendu',
'settings.openchamber.visual.option.activityRenderMode.summary.description': 'Développez Activité par défaut.',
'settings.openchamber.visual.option.timeFormat.auto.label': 'Auto',
'settings.openchamber.visual.option.timeFormat.auto.description': 'Utilisez les préférences local du système.',
'settings.openchamber.visual.option.timeFormat.24h.label': '24 heures',
'settings.openchamber.visual.option.timeFormat.24h.description': 'Afficher l\'heure à 14h15.',
'settings.openchamber.visual.option.timeFormat.12h.label': '12 heures',
'settings.openchamber.visual.option.timeFormat.12h.description': 'Afficher l\'heure à 14h15.',
'settings.openchamber.visual.option.weekStart.auto.label': 'Auto',
'settings.openchamber.visual.option.weekStart.auto.description': 'Utilisez le début de semaine local.',
'settings.openchamber.visual.option.weekStart.monday.label': 'Lundi',
'settings.openchamber.visual.option.weekStart.sunday.label': 'Dimanche',
'settings.magicPrompts.page.loading.aria': 'Chargement',
'settings.magicPrompts.page.loading.text': 'Chargement des prompts magiques...',
'settings.magicPrompts.page.block.visiblePrompt': 'Prompt visible',
'settings.magicPrompts.page.block.instructions': 'Instructions',
'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 dexamen des issues : message utilisateur visible + charge utile dinstruction masquée.',
'settings.magicPrompts.page.group.githubPrFailedChecksReview.title': 'Examen des checks PR en échec',
'settings.magicPrompts.page.group.githubPrFailedChecksReview.description': 'Prompts utilisés pour lanalyse 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 lanalyse des commentaires PR.',
'settings.magicPrompts.page.group.githubSinglePrCommentReview.title': 'Examen des commentaires PR uniques',
'settings.magicPrompts.page.group.githubSinglePrCommentReview.description': 'Prompts utilisés pour lanalyse dun 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 lenvoi dun plan enregistré dans un flux damélioration.',
'settings.magicPrompts.page.group.planTodo.title': 'Planification des tâches',
'settings.magicPrompts.page.group.planTodo.description': 'Prompt masqué utilisé lors de lenvoi dune 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 lenvoi dun plan enregistré dans un flux dimplé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 lespace 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.view.search.noResults': 'Aucun paramètre correspondant',
'settings.page.about.title': 'À propos',
'settings.openchamber.tunnel.notAvailable.dependencyNotFound': '{dependency} est introuvable.',
'settings.magicPrompts.sidebar.item.sessionExplore': 'Tour du codebase',
'settings.magicPrompts.sidebar.item.sessionFeaturePlan': 'Planification de fonctionnalité',
'settings.magicPrompts.sidebar.item.sessionCatchUp': 'Rattrapage',
'settings.magicPrompts.sidebar.item.sessionDebug': 'Débogage',
'settings.magicPrompts.sidebar.item.sessionWeigh': 'Comparer les options',
'settings.remoteInstances.direct.sidebarTitle': 'Liens de serveur',
'settings.remoteInstances.direct.sidebarDescription': 'Se connecter avec un lien ou un token',
'settings.remoteInstances.direct.title': 'Autres serveurs OpenChamber',
'settings.remoteInstances.direct.description': 'Ajoutez un autre serveur OpenChamber par URL. Utilisez ceci lorsque le serveur est déjà lancé et que vous disposez dun token de connexion.',
'settings.remoteInstances.direct.field.labelPlaceholder': 'Libellé (facultatif)',
'settings.remoteInstances.direct.field.urlPlaceholder': 'https://hôte:port',
'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.actions.add': 'Ajouter le serveur',
'settings.remoteInstances.direct.import.description': 'Collez un lien de connexion provenant dun autre serveur OpenChamber.',
'settings.remoteInstances.direct.import.placeholder': 'openchamber://connect?...',
'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 lappareil (facultatif)',
'settings.remoteInstances.clientAuth.actions.create': 'Créer un token',
'settings.remoteInstances.clientAuth.actions.pair': 'Créer un lien',
'settings.remoteInstances.clientAuth.actions.revoke': 'Révoquer',
'settings.remoteInstances.clientAuth.actions.clearRevoked': 'Effacer les révocations',
'settings.remoteInstances.clientAuth.qrAlt': 'QR code de connexion OpenChamber',
'settings.remoteInstances.clientAuth.pairingUrl': 'Lien de connexion',
'settings.remoteInstances.clientAuth.createdToken': 'Copiez ce token maintenant. Pour des raisons de sécurité, il ne sera plus affiché.',
'settings.remoteInstances.clientAuth.state.loading': 'Chargement des tokens...',
'settings.remoteInstances.clientAuth.state.empty': 'Aucun appareil connecté pour le moment.',
'settings.remoteInstances.clientAuth.state.revoked': 'Révoqué',
'settings.remoteInstances.clientAuth.state.thisDevice': 'Cet appareil',
'settings.remoteInstances.clientAuth.lastUsed': 'Dernière utilisation le {date}',
'settings.remoteInstances.clientAuth.neverUsed': 'Jamais utilisé',
'settings.openchamber.about.field.openCodeVersion': 'Version dOpenCode',
'settings.openchamber.about.state.unknown': 'inconnue',
'settings.voice.page.field.ttsInputMode': 'Mode dentrée TTS',
'settings.voice.page.field.ttsInputModeSanitized': 'Nettoyé',
'settings.voice.page.field.ttsInputModeRaw': 'Markdown brut',
'settings.openchamber.visual.section.mobileLayout': 'Mise en page mobile',
'settings.openchamber.visual.option.mobileLayout.default': 'Ancienne',
'settings.openchamber.visual.option.mobileLayout.new': 'Nouvelle',
'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.actions.saveAndRestart': 'Enregistrer et redémarrer',
'settings.openchamber.visual.actions.restarting': 'Redémarrage…',
'settings.openchamber.visual.field.fileEditorKeymap': 'Keymap de l’éditeur de fichiers',
'settings.openchamber.visual.option.fileEditorKeymap.default': 'Par défaut',
'settings.openchamber.visual.option.fileEditorKeymap.vim': 'Vim',
'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 densemble, principaux modules, liens entre eux et points de départ — plutôt quun 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 dimplémentation.',
'settings.magicPrompts.page.group.sessionCatchUp.title': 'Rattrapage',
'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.title': 'Débogage',
'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.title': 'Fusion',
'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.magicPrompts.page.actions.resetting': 'Réinitialisation...',
'settings.magicPrompts.page.actions.resetAllOverrides': 'Réinitialiser tous les remplacements',
'settings.magicPrompts.page.actions.resetToDefault': 'Réinitialiser aux valeurs par défaut',
'settings.magicPrompts.page.actions.save': 'Sauvegarder',
'settings.magicPrompts.page.placeholdersLabel': 'Espaces réservés :',
'settings.magicPrompts.page.validation.visiblePromptRequired': 'Le prompt visible ne peut pas être vide.',
'settings.magicPrompts.page.status.unsavedChanges': 'Modifications non enregistrées',
'settings.magicPrompts.page.status.usingSavedOverride': 'Utilisation du remplacement enregistré',
'settings.magicPrompts.page.status.usingBuiltinDefault': 'Utilisation des valeurs par défaut intégrées',
'settings.magicPrompts.page.toast.loadFailed': 'Échec du chargement des prompts magiques',
'settings.magicPrompts.page.toast.visiblePromptRequired': 'Le prompt visible ne peut pas être vide',
'settings.magicPrompts.page.toast.saved': 'Magic Prompt enregistré',
'settings.magicPrompts.page.toast.saveFailed': 'Échec de l\'enregistrement du Magic Prompt',
'settings.magicPrompts.page.toast.resetSuccess': 'Prompt réinitialisé aux valeurs par défaut',
'settings.magicPrompts.page.toast.resetFailed': 'Échec de la réinitialisation du prompt',
'settings.magicPrompts.page.toast.resetAllSuccess': 'Tous les prompts ont été réinitialisés',
'settings.magicPrompts.page.toast.resetAllFailed': 'Échec de la réinitialisation de tous les prompts',
} as const;