export const dict = { "desktop.menu.app": "OpenCode", "desktop.menu.file": "Fichier", "desktop.menu.edit": "Édition", "desktop.menu.view": "Affichage", "desktop.menu.go": "Aller", "desktop.menu.window": "Fenêtre", "desktop.menu.help": "Aide", "desktop.menu.checkForUpdates": "Rechercher les mises à jour...", "desktop.menu.settings": "Paramètres", "desktop.menu.reloadWebview": "Recharger la vue Web", "desktop.menu.restart": "Redémarrer", "desktop.menu.exportLogs": "Exporter les journaux...", "desktop.menu.newSession": "Nouvelle session", "desktop.menu.openProject": "Ouvrir un projet...", "desktop.menu.newWindow": "Nouvelle fenêtre", "desktop.menu.closeWindow": "Fermer la fenêtre", "desktop.menu.undo": "Annuler", "desktop.menu.redo": "Rétablir", "desktop.menu.cut": "Couper", "desktop.menu.copy": "Copier", "desktop.menu.paste": "Coller", "desktop.menu.delete": "Supprimer", "desktop.menu.selectAll": "Tout sélectionner", "desktop.menu.toggleSidebar": "Afficher ou masquer la barre latérale", "desktop.menu.toggleTerminal": "Afficher ou masquer le terminal", "desktop.menu.toggleFileTree": "Afficher ou masquer l'arborescence des fichiers", "desktop.menu.reload": "Recharger", "desktop.menu.toggleDeveloperTools": "Afficher ou masquer les outils de développement", "desktop.menu.actualSize": "Taille réelle", "desktop.menu.zoomIn": "Zoom avant", "desktop.menu.zoomOut": "Zoom arrière", "desktop.menu.toggleFullScreen": "Activer ou désactiver le mode plein écran", "desktop.menu.back": "Précédent", "desktop.menu.forward": "Suivant", "desktop.menu.previousSession": "Session précédente", "desktop.menu.nextSession": "Session suivante", "desktop.menu.previousProject": "Projet précédent", "desktop.menu.nextProject": "Projet suivant", "desktop.menu.minimize": "Réduire", "desktop.menu.maximize": "Agrandir", "desktop.menu.documentation": "Documentation d'OpenCode", "desktop.menu.supportForum": "Forum d'assistance", "desktop.menu.shareFeedback": "Envoyer des commentaires", "desktop.menu.reportBug": "Signaler un bogue", "desktop.menu.ariaLabel": "Menu OpenCode", "desktop.updater.dialog.checkFailed.message": "La recherche de mises à jour a échoué.", "desktop.updater.dialog.checkFailed.title": "Erreur de mise à jour", "desktop.updater.dialog.upToDate.message": "Vous êtes à jour.", "desktop.updater.dialog.upToDate.title": "Aucune mise à jour", "desktop.updater.dialog.ready.message": "La mise à jour {{version}} a été téléchargée. Redémarrer maintenant ?", "desktop.updater.dialog.ready.title": "Mise à jour prête", "desktop.updater.dialog.restart": "Redémarrer", "desktop.updater.dialog.later": "Plus tard", "desktop.recovery.action.relaunch": "Relancer", "desktop.recovery.action.exportLogs": "Exporter les journaux", "desktop.recovery.action.keepWaiting": "Continuer d'attendre", "desktop.recovery.action.quit": "Quitter", "desktop.recovery.loadFailed": "Échec du chargement d'OpenCode", "desktop.recovery.terminated": "La fenêtre OpenCode s'est arrêtée de manière inattendue", "desktop.recovery.unresponsive": "OpenCode ne répond pas", "desktop.recovery.unresponsive.detail": "Vous pouvez relancer l'application, ouvrir les journaux ou continuer d'attendre.", "desktop.recovery.loadFailed.detail": "Fenêtre : {{window}}\nURL : {{url}}\nErreur : {{code}} {{description}}", "desktop.recovery.terminated.detail": "Fenêtre : {{window}}\nMotif : {{reason}}\nCode : {{code}}", "desktop.recovery.unknown": "", "desktop.dialog.chooseFolder": "Sélectionner un dossier", "desktop.dialog.chooseFile": "Sélectionner un fichier", "desktop.dialog.saveFile": "Enregistrer le fichier", "desktop.dialog.files": "Fichiers", "desktop.server.local": "Serveur local", "desktop.wsl.error.windowsOnly": "WSL est disponible uniquement sous Windows", "desktop.wsl.error.unavailable": "WSL est indisponible", "desktop.wsl.error.listInstalled": "Impossible de répertorier les distributions WSL installées", "desktop.wsl.error.listOnline": "Impossible de répertorier les distributions WSL en ligne", "desktop.wsl.error.executeDistro": "Impossible d'exécuter des commandes dans la distribution", "desktop.wsl.error.installWsl": "Échec de l'installation de WSL", "desktop.wsl.error.installDistro": "Échec de l'installation de la distribution : {{distro}}", "desktop.wsl.error.installOpencode": "Échec de l'installation d'OpenCode", "desktop.wsl.error.alreadyAdded": "{{distro}} a déjà été ajoutée", "desktop.wsl.error.opencodeMissing": "opencode n'est pas installé dans cette distribution", "desktop.wsl.error.opencodeCannotRun": "opencode est installé, mais n'a pas pu s'exécuter", "desktop.wsl.error.opencodeNotInstalled": "OpenCode n'est pas installé dans {{distro}}", "desktop.wsl.error.updateVersion": "La mise à jour d'OpenCode est terminée, mais {{distro}} indique toujours {{installed}} au lieu de {{expected}}", "desktop.wsl.error.noVersion": "aucune version", "desktop.wsl.error.serverExited": "Le serveur WSL s'est arrêté après son démarrage (code={{code}} signal={{signal}})", "desktop.wsl.error.serverExitedBeforeHealthy": "Le serveur WSL s'est arrêté avant d'être opérationnel (code={{code}} signal={{signal}}){{output}}", "desktop.wsl.error.healthTimeout": "La vérification de l'état du processus auxiliaire pour {{distro}} a dépassé le délai de {{timeout}} ms", "desktop.wsl.error.commandTimeout": "{{command}} {{args}} a dépassé le délai de {{timeout}} ms", "desktop.wsl.error.failedPort": "Impossible d'obtenir le port", "desktop.picker.error.notSelected": "Aucun fichier n'a été sélectionné dans le sélecteur", "desktop.picker.error.sizeLimit": "Les pièces jointes sélectionnées dépassent la limite de {{limit}} Mo", "command.category.suggested": "Suggéré", "command.category.view": "Affichage", "command.category.project": "Projet", "command.category.provider": "Fournisseur", "command.category.server": "Serveur", "command.category.session": "Session", "command.category.theme": "Thème", "command.category.language": "Langue", "command.category.file": "Fichier", "command.category.context": "Contexte", "command.category.terminal": "Terminal", "command.category.model": "Modèle", "command.category.mcp": "MCP", "command.category.agent": "Agent", "command.category.permissions": "Permissions", "command.category.workspace": "Espace de travail", "command.category.settings": "Paramètres", "command.logs.export": "Exporter les journaux", "theme.scheme.system": "Système", "theme.scheme.light": "Clair", "theme.scheme.dark": "Sombre", "command.sidebar.toggle": "Basculer la barre latérale", "command.project.open": "Ouvrir un projet", "command.project.previous": "Projet précédent", "command.project.next": "Projet suivant", "command.project.index": "Passer au projet {{index}}", "command.provider.connect": "Connecter un fournisseur", "command.server.switch": "Changer de serveur", "command.settings.open": "Ouvrir les paramètres", "command.session.previous": "Session précédente", "command.session.next": "Session suivante", "command.session.previous.unseen": "Session précédente non lue", "command.session.next.unseen": "Session suivante non lue", "command.session.archive": "Archiver la session", "command.palette": "Palette de commandes", "command.theme.cycle": "Changer de thème", "command.theme.set": "Utiliser le thème : {{theme}}", "command.theme.scheme.cycle": "Changer de schéma de couleurs", "command.theme.scheme.set": "Utiliser le schéma de couleurs : {{scheme}}", "command.language.cycle": "Changer de langue", "command.language.set": "Utiliser la langue : {{language}}", "command.session.new": "Nouvelle session", "command.file.open": "Ouvrir un fichier", "command.tab.close": "Fermer l'onglet", "command.tab.reopenClosed": "Rouvrir l'onglet fermé", "command.context.addSelection": "Ajouter la sélection au contexte", "command.context.addSelection.description": "Ajouter les lignes sélectionnées du fichier actuel", "command.input.focus": "Activer la zone de saisie", "command.terminal.toggle": "Basculer le terminal", "command.fileTree.toggle": "Basculer l'arborescence des fichiers", "command.review.toggle": "Basculer la revue", "command.terminal.new": "Nouveau terminal", "command.terminal.new.description": "Créer un nouvel onglet de terminal", "command.steps.toggle": "Basculer les étapes", "command.steps.toggle.description": "Afficher ou masquer les étapes du message actuel", "command.message.previous": "Message précédent", "command.message.previous.description": "Aller au message utilisateur précédent", "command.message.next": "Message suivant", "command.message.next.description": "Aller au message utilisateur suivant", "command.model.choose": "Choisir le modèle", "command.model.choose.description": "Sélectionner un modèle différent", "command.mcp.toggle": "Activer ou désactiver les MCP", "command.mcp.toggle.description": "Activer ou désactiver les MCP", "command.agent.cycle": "Changer d'agent", "command.agent.cycle.description": "Passer à l'agent suivant", "command.agent.cycle.reverse": "Changer d'agent (inverse)", "command.agent.cycle.reverse.description": "Passer à l'agent précédent", "command.model.variant.cycle": "Changer l'effort de réflexion", "command.model.variant.cycle.description": "Passer au niveau d'effort suivant", "command.prompt.mode.shell": "Shell", "command.prompt.mode.normal": "Invite", "command.permissions.autoaccept.enable": "Accepter automatiquement les permissions", "command.permissions.autoaccept.disable": "Arrêter d'accepter automatiquement les permissions", "command.workspace.toggle": "Basculer les espaces de travail", "command.workspace.toggle.description": "Activer ou désactiver plusieurs espaces de travail dans la barre latérale", "command.session.undo": "Annuler", "command.session.undo.description": "Annuler le dernier message", "command.session.redo": "Rétablir", "command.session.redo.description": "Rétablir le dernier message annulé", "command.session.compact": "Compacter la session", "command.session.compact.description": "Résumer la session pour réduire la taille du contexte", "command.session.fork": "Bifurquer à partir du message", "command.session.fork.description": "Créer une nouvelle session à partir d'un message précédent", "command.session.share": "Partager la session", "command.session.share.description": "Partager cette session et copier l'URL dans le presse-papiers", "command.session.unshare": "Ne plus partager la session", "command.session.unshare.description": "Arrêter de partager cette session", "command.session.export": "Exporter la session", "command.session.export.description": "Exporter la transcription intégrale de la session au format JSON", "palette.search.placeholder": "Rechercher des fichiers, des commandes et des sessions", "palette.search.placeholder.home": "Rechercher des commandes et des sessions", "palette.empty": "Aucun résultat trouvé", "palette.group.commands": "Commandes", "palette.group.files": "Fichiers", "dialog.provider.search.placeholder": "Rechercher des fournisseurs", "dialog.provider.empty": "Aucun fournisseur trouvé", "dialog.provider.group.popular": "Populaires", "dialog.provider.group.other": "Autres", "dialog.provider.custom.label": "Fournisseur personnalisé compatible avec OpenAI", "dialog.provider.tag.recommended": "Recommandé", "dialog.provider.opencode.note": "Modèles sélectionnés incluant Claude, GPT, Gemini et plus", "dialog.provider.opencode.tagline": "Modèles optimisés et fiables", "dialog.provider.opencodeGo.tagline": "Abonnement abordable pour tous", "dialog.provider.anthropic.note": "Connectez-vous avec Claude Pro/Max ou une clé API", "dialog.provider.copilot.note": "Connectez-vous avec Copilot ou une clé API", "dialog.provider.openai.note": "Connectez-vous avec ChatGPT Pro/Plus ou une clé API", "dialog.provider.google.note": "Modèles Gemini pour des réponses rapides et structurées", "dialog.provider.openrouter.note": "Accédez à tous les modèles pris en charge depuis un seul fournisseur", "dialog.provider.vercel.note": "Accès unifié aux modèles d'IA avec routage intelligent", "dialog.model.select.title": "Sélectionner un modèle", "dialog.model.search.placeholder": "Rechercher des modèles", "dialog.model.empty": "Aucun résultat de modèle", "dialog.model.manage": "Gérer les modèles", "dialog.model.manage.description": "Personnalisez les modèles qui apparaissent dans le sélecteur.", "dialog.model.manage.provider.toggle": "Activer ou désactiver tous les modèles {{provider}}", "dialog.model.unpaid.freeModels.title": "Modèles gratuits fournis par OpenCode", "dialog.model.unpaid.addMore.title": "Ajouter plus de modèles de fournisseurs populaires", "dialog.model.unpaid.viewMoreProviders": "Voir plus de 70 autres fournisseurs", "dialog.provider.viewAll": "Voir plus de fournisseurs", "provider.connect.title": "Connecter {{provider}}", "provider.connect.title.anthropicProMax": "Connexion avec Claude Pro/Max", "provider.connect.selectMethod": "Sélectionnez la méthode de connexion pour {{provider}}.", "provider.connect.method.apiKey": "Clé API", "provider.connect.method.browser": "Navigateur", "provider.connect.method.headless": "Mode headless", "provider.connect.status.inProgress": "Autorisation en cours...", "provider.connect.status.waiting": "En attente d'autorisation...", "provider.connect.status.failed": "Échec de l'autorisation : {{error}}", "provider.connect.apiKey.description": "Entrez votre clé API {{provider}} pour connecter votre compte et utiliser les modèles {{provider}} dans OpenCode.", "provider.connect.apiKey.label": "Clé API {{provider}}", "provider.connect.apiKey.placeholder": "Clé API", "provider.connect.apiKey.required": "La clé API est requise", "provider.connect.opencodeZen.line1": "OpenCode Zen vous donne accès à un ensemble sélectionné de modèles fiables et optimisés pour les agents de codage.", "provider.connect.opencodeZen.line2": "Avec une seule clé API, vous aurez accès à des modèles tels que Claude, GPT, Gemini, GLM et plus encore.", "provider.connect.opencodeZen.visit.prefix": "Visitez ", "provider.connect.opencodeZen.visit.link": "opencode.ai/zen", "provider.connect.opencodeZen.visit.suffix": " pour récupérer votre clé API.", "provider.connect.oauth.code.visit.prefix": "Visitez ", "provider.connect.oauth.code.visit.link": "ce lien", "provider.connect.oauth.code.visit.suffix": " pour récupérer votre code d'autorisation afin de connecter votre compte et utiliser les modèles {{provider}} dans OpenCode.", "provider.connect.oauth.code.label": "Code d'autorisation {{method}}", "provider.connect.oauth.code.placeholder": "Code d'autorisation", "provider.connect.oauth.code.required": "Le code d'autorisation est requis", "provider.connect.oauth.code.invalid": "Code d'autorisation invalide", "provider.connect.oauth.auto.visit.prefix": "Visitez ", "provider.connect.oauth.auto.visit.link": "ce lien", "provider.connect.oauth.auto.visit.suffix": " et entrez le code ci-dessous pour connecter votre compte et utiliser les modèles {{provider}} dans OpenCode.", "provider.connect.oauth.auto.confirmationCode": "Code de confirmation", "provider.connect.toast.connected.title": "{{provider}} connecté", "provider.connect.toast.connected.description": "Les modèles {{provider}} sont maintenant disponibles.", "provider.custom.title": "Fournisseur personnalisé", "provider.custom.unavailable": "Les fournisseurs personnalisés ne sont pas disponibles sur ce serveur", "provider.custom.description.prefix": "Configurez un fournisseur compatible avec OpenAI. Consultez la ", "provider.custom.description.link": "documentation sur la configuration des fournisseurs", "provider.custom.description.suffix": ".", "provider.custom.field.providerID.label": "ID du fournisseur", "provider.custom.field.providerID.placeholder": "monfournisseur", "provider.custom.field.providerID.description": "Lettres minuscules, chiffres, traits d'union ou traits de soulignement", "provider.custom.field.name.label": "Nom d'affichage", "provider.custom.field.name.placeholder": "Mon fournisseur IA", "provider.custom.field.baseURL.label": "URL de base", "provider.custom.field.baseURL.placeholder": "https://api.monfournisseur.com/v1", "provider.custom.field.apiKey.label": "Clé API", "provider.custom.field.apiKey.placeholder": "Clé API", "provider.custom.field.apiKey.description": "Facultatif. Laissez ce champ vide si vous gérez l'authentification au moyen des en-têtes.", "provider.custom.models.label": "Modèles", "provider.custom.models.id.label": "ID", "provider.custom.models.id.placeholder": "id-modele", "provider.custom.models.name.label": "Nom", "provider.custom.models.name.placeholder": "Nom d'affichage", "provider.custom.models.remove": "Supprimer le modèle", "provider.custom.models.add": "Ajouter un modèle", "provider.custom.headers.label": "En-têtes (optionnel)", "provider.custom.headers.key.label": "En-tête", "provider.custom.headers.key.placeholder": "Nom-En-Tête", "provider.custom.headers.value.label": "Valeur", "provider.custom.headers.value.placeholder": "valeur", "provider.custom.headers.remove": "Supprimer l'en-tête", "provider.custom.headers.add": "Ajouter un en-tête", "provider.custom.error.providerID.required": "L'ID du fournisseur est requis", "provider.custom.error.providerID.format": "Utilisez des lettres minuscules, des chiffres, des traits d'union ou des traits de soulignement", "provider.custom.error.providerID.exists": "Cet ID de fournisseur existe déjà", "provider.custom.error.name.required": "Le nom d'affichage est requis", "provider.custom.error.baseURL.required": "L'URL de base est requise", "provider.custom.error.baseURL.format": "Doit commencer par http:// ou https://", "provider.custom.error.required": "Requis", "provider.custom.error.duplicate": "Doublon", "provider.disconnect.toast.disconnected.title": "{{provider}} déconnecté", "provider.disconnect.toast.disconnected.description": "Les modèles {{provider}} ne sont plus disponibles.", "model.tag.free": "Gratuit", "model.tag.latest": "Le plus récent", "model.provider.anthropic": "Anthropic", "model.provider.openai": "OpenAI", "model.provider.google": "Google", "model.provider.xai": "xAI", "model.provider.meta": "Meta", "model.input.text": "texte", "model.input.image": "image", "model.input.audio": "audio", "model.input.video": "vidéo", "model.input.pdf": "pdf", "model.tooltip.allows": "Formats pris en charge : {{inputs}}", "model.tooltip.context.label": "Contexte", "model.tooltip.inputs": "Entrées", "model.tooltip.model": "Modèle", "model.tooltip.provider": "Fournisseur", "model.tooltip.reasoning": "Raisonnement", "model.tooltip.reasoning.allowed": "Raisonnement pris en charge", "model.tooltip.reasoning.none": "Sans raisonnement", "model.tooltip.context": "Limite de contexte {{limit}}", "common.search.placeholder": "Rechercher", "common.goBack": "Retour", "common.goForward": "Suivant", "common.loading": "Chargement", "common.loading.ellipsis": "...", "common.cancel": "Annuler", "common.clear": "Effacer", "common.connect": "Connecter", "common.disconnect": "Déconnecter", "common.continue": "Continuer", "common.submit": "Soumettre", "common.save": "Enregistrer", "common.saving": "Enregistrement...", "common.default": "Par défaut", "common.attachment": "pièce jointe", "prompt.placeholder.shell": "Entrez une commande shell... {{example}}", "prompt.placeholder.normal": 'Demandez n\'importe quoi... "{{example}}"', "prompt.placeholder.simple": "Demandez n'importe quoi...", "prompt.placeholder.summarizeComments": "Résumer les commentaires…", "prompt.placeholder.summarizeComment": "Résumer le commentaire…", "prompt.mode.shell": "Shell", "prompt.mode.normal": "Invite", "prompt.mode.shell.exit": "Échap pour quitter", "session.child.promptDisabled": "Les sessions de sous-agents ne peuvent pas recevoir de messages.", "session.child.backToParent": "Revenir à la session principale.", "prompt.example.1": "Corriger un TODO dans la base de code", "prompt.example.2": "Quelle est la pile technique de ce projet ?", "prompt.example.3": "Réparer les tests échoués", "prompt.example.4": "Expliquer comment fonctionne l'authentification", "prompt.example.5": "Trouver et corriger les vulnérabilités de sécurité", "prompt.example.6": "Ajouter des tests unitaires pour le service utilisateur", "prompt.example.7": "Refactoriser cette fonction pour la rendre plus lisible", "prompt.example.8": "Que signifie cette erreur ?", "prompt.example.9": "Aidez-moi à déboguer ce problème", "prompt.example.10": "Générer la documentation de l'API", "prompt.example.11": "Optimiser les requêtes de base de données", "prompt.example.12": "Ajouter une validation d'entrée", "prompt.example.13": "Créer un nouveau composant pour...", "prompt.example.14": "Comment déployer ce projet ?", "prompt.example.15": "Vérifier que mon code respecte les bonnes pratiques", "prompt.example.16": "Ajouter la gestion des erreurs à cette fonction", "prompt.example.17": "Expliquer cette expression régulière", "prompt.example.18": "Convertir ceci en TypeScript", "prompt.example.19": "Ajouter une journalisation dans toute la base de code", "prompt.example.20": "Quelles dépendances sont obsolètes ?", "prompt.example.21": "Aidez-moi à écrire un script de migration", "prompt.example.22": "Implémenter la mise en cache pour ce point de terminaison", "prompt.example.23": "Ajouter la pagination à cette liste", "prompt.example.24": "Créer une commande CLI pour...", "prompt.example.25": "Comment fonctionnent les variables d'environnement ici ?", "prompt.popover.emptyResults": "Aucun résultat correspondant", "prompt.popover.emptyCommands": "Aucune commande correspondante", "prompt.dropzone.label": "Déposez des images, des PDF ou des fichiers texte ici", "prompt.dropzone.file.label": "Déposez pour @mentionner le fichier", "prompt.slash.badge.custom": "personnalisé", "prompt.slash.badge.skill": "compétence", "prompt.slash.badge.mcp": "mcp", "prompt.context.active": "actif", "prompt.context.includeActiveFile": "Inclure le fichier actif", "prompt.context.removeActiveFile": "Retirer le fichier actif du contexte", "prompt.context.removeFile": "Retirer le fichier du contexte", "prompt.action.attachFile": "Joindre un fichier", "prompt.menu.addImagesAndFiles": "Ajouter des fichiers et plus encore", "prompt.menu.imagesAndFiles": "Images et fichiers", "prompt.menu.commands": "Commandes", "prompt.menu.context": "Contexte", "prompt.menu.shellCommand": "Commande shell", "prompt.attachment.remove": "Supprimer la pièce jointe", "prompt.action.send": "Envoyer", "prompt.action.stop": "Arrêter", "prompt.toast.pasteUnsupported.title": "Pièce jointe non prise en charge", "prompt.toast.attachmentDuplicate.title": "Ce fichier a déjà été téléversé", "prompt.toast.pasteUnsupported.description": "Seules les images, les PDF ou les fichiers texte peuvent être joints ici.", "prompt.toast.modelAgentRequired.title": "Sélectionnez un agent et un modèle", "prompt.toast.modelAgentRequired.description": "Choisissez un agent et un modèle avant d'envoyer une invite.", "prompt.toast.worktreeCreateFailed.title": "Échec de la création de l'arbre de travail", "prompt.toast.sessionCreateFailed.title": "Échec de la création de la session", "prompt.toast.shellSendFailed.title": "Échec de l'envoi de la commande shell", "prompt.toast.commandSendFailed.title": "Échec de l'envoi de la commande", "prompt.toast.promptSendFailed.title": "Échec de l'envoi de l'invite", "prompt.toast.promptSendFailed.description": "Impossible de récupérer la session", "dialog.mcp.title": "MCP", "dialog.mcp.description": "MCP actifs : {{enabled}} sur {{total}}", "dialog.mcp.empty": "Aucun MCP configuré", "dialog.lsp.empty": "Serveurs LSP détectés automatiquement selon le type de fichier", "dialog.plugins.empty": "Extensions configurées dans opencode.json", "mcp.status.connected": "connecté", "mcp.status.failed": "en échec", "mcp.status.needs_auth": "authentification requise", "mcp.auth.clickToAuthenticate": "Cliquez pour vous authentifier", "mcp.status.disabled": "désactivé", "dialog.fork.empty": "Aucun message à partir duquel bifurquer", "dialog.directory.search.placeholder": "Rechercher des dossiers", "dialog.directory.empty": "Aucun dossier trouvé", "dialog.directory.action.selectFile": "Sélectionner le fichier", "dialog.directory.action.selectFolder": "Sélectionner le dossier", "dialog.directory.root": "Racine", "dialog.directory.parent": "Parent", "dialog.directory.readError": "Impossible de lire ce dossier", "dialog.server.title": "Serveurs", "dialog.server.description": "Changez le serveur OpenCode auquel cette application se connecte.", "dialog.server.search.placeholder": "Rechercher des serveurs", "dialog.server.empty": "Aucun serveur pour l'instant", "dialog.server.add.title": "Ajouter un serveur", "dialog.server.add.url": "URL du serveur", "dialog.server.add.placeholder": "http://localhost:4096", "dialog.server.add.error": "Impossible de se connecter au serveur", "dialog.server.add.checking": "Vérification...", "dialog.server.add.button": "Ajouter un serveur", "dialog.server.add.name": "Nom du serveur (optionnel)", "dialog.server.add.namePlaceholder": "Localhost", "dialog.server.add.username": "Nom d'utilisateur (optionnel)", "dialog.server.add.password": "Mot de passe (optionnel)", "dialog.server.edit.title": "Modifier le serveur", "dialog.server.default.title": "Serveur par défaut", "dialog.server.default.description": "Se connecter à ce serveur au lancement de l'application au lieu de démarrer un serveur local. Nécessite un redémarrage.", "dialog.server.default.none": "Aucun serveur sélectionné", "dialog.server.default.set": "Définir le serveur actuel comme défaut", "dialog.server.default.clear": "Effacer", "dialog.server.action.remove": "Supprimer le serveur", "dialog.server.menu.edit": "Modifier", "dialog.server.menu.default": "Définir par défaut", "dialog.server.menu.defaultRemove": "Ne plus utiliser par défaut", "dialog.server.menu.delete": "Supprimer", "dialog.server.current": "Serveur actuel", "dialog.server.status.default": "Défaut", "wsl.server.add": "Ajouter un serveur WSL", "wsl.server.addShort": "Ajouter WSL", "wsl.server.label": "WSL", "wsl.server.menu.label": "Serveur WSL", "wsl.server.retryStart": "Réessayer de démarrer", "wsl.server.updating": "Mise à jour...", "wsl.onboarding.step.distro": "Choisir une distribution", "wsl.onboarding.step.opencode": "OpenCode", "wsl.onboarding.checkingRuntime": "Vérification de WSL...", "wsl.onboarding.restartRequired": "Windows doit redémarrer pour terminer l'installation de WSL.", "wsl.onboarding.ready": "WSL est prêt.", "wsl.onboarding.required": "WSL est requis pour continuer.", "wsl.onboarding.checkingDistros": "Vérification des distributions...", "wsl.onboarding.installingDistro": "Installation de {{distro}}...", "wsl.onboarding.checkingDistro": "Vérification de {{distro}}...", "wsl.onboarding.listingDistros": "Récupération de la liste des distributions...", "wsl.onboarding.distroReady": "{{distro}} est prête.", "wsl.onboarding.distroNotInstalled": "{{distro}} n'est pas encore installée.", "wsl.onboarding.openDistroOnce": "Ouvrez {{distro}} une fois pour terminer la configuration.", "wsl.onboarding.finishingDistro": "Finalisation de la configuration de {{distro}}.", "wsl.onboarding.pickDistro": "Choisissez une distribution ou installez-en une ci-dessous.", "wsl.onboarding.checkingOpencode": "Vérification d'OpenCode...", "wsl.onboarding.checkingOpencodeIn": "Vérification d'OpenCode dans {{distro}}...", "wsl.onboarding.updatingOpencode": "Mise à jour d'OpenCode...", "wsl.onboarding.updatingOpencodeIn": "Mise à jour d'OpenCode dans {{distro}}...", "wsl.onboarding.updateOpencodeIn": "Mettez à jour OpenCode dans {{distro}}.", "wsl.onboarding.updateOpencode": "Mettre à jour OpenCode", "wsl.onboarding.opencodeReadyIn": "OpenCode est prêt dans {{distro}}.", "wsl.onboarding.opencodeReady": "OpenCode est prêt.", "wsl.onboarding.installOpencodeIn": "Installez OpenCode dans {{distro}}.", "wsl.onboarding.installOpencode": "Installer OpenCode", "wsl.onboarding.chooseDistroFirst": "Choisissez d'abord une distribution.", "wsl.onboarding.loadFailed": "Impossible de charger l'état de WSL.", "wsl.onboarding.loading": "Chargement...", "wsl.onboarding.installedDistros": "Distributions installées", "wsl.onboarding.checkAgain": "Vérifier à nouveau", "wsl.onboarding.distroStatus.ready": "Prête", "wsl.onboarding.distroStatus.checking": "Vérification...", "wsl.onboarding.distroStatus.opencodeMissing": "OpenCode non installé", "wsl.onboarding.distroStatus.missingTools": "bash et curl manquants", "wsl.onboarding.distroStatus.unsupported": "Non prise en charge · Utilisez WSL 2", "wsl.onboarding.needAnotherDistro": "Besoin d'une autre distribution ?", "wsl.onboarding.needAnotherDistroHint": "Installez une distribution Linux depuis le catalogue WSL", "wsl.onboarding.wslNotInstalled.title": "WSL n'est pas installé", "wsl.onboarding.wslNotInstalled.description": "WSL (Windows Subsystem for Linux) est requis avant qu'OpenCode puisse ajouter un serveur WSL", "wsl.onboarding.wslUnavailable.title": "WSL indisponible", "wsl.onboarding.wslUnavailable.description": "OpenCode n'a pas pu vérifier WSL sur cet appareil.", "wsl.onboarding.installWsl": "Installer WSL", "wsl.onboarding.windowsRestartRequired": "Redémarrez Windows pour terminer l'installation de WSL, puis rouvrez OpenCode.", "wsl.onboarding.next": "Suivant", "wsl.onboarding.refresh": "Actualiser", "wsl.onboarding.allDistrosAdded": "Toutes les distributions installées ont déjà été ajoutées.", "wsl.onboarding.noDistros": "Aucune distribution détectée pour l'instant.", "wsl.onboarding.install": "Installer", "wsl.onboarding.installing": "Installation...", "wsl.onboarding.installDistro": "Installer une distribution", "wsl.onboarding.searchDistros": "Rechercher des distributions", "wsl.onboarding.wsl2Required": "WSL 2 est requis.", "wsl.onboarding.toolsRequired": "Cette distribution nécessite bash et curl.", "wsl.onboarding.openTerminal": "Ouvrir le terminal", "wsl.onboarding.path": "Chemin : {{path}}", "wsl.onboarding.notFound": "introuvable", "wsl.onboarding.version": "Version : {{version}}", "wsl.onboarding.unknown": "inconnue", "wsl.onboarding.desktopVersion": "application de bureau {{version}}", "wsl.onboarding.versionMismatch": "La version installée ne correspond pas à celle de l'application de bureau.", "wsl.onboarding.adding": "Ajout...", "help.tabs.toast.ariaLabel": "Présentation des onglets. Organisez votre travail et vos sessions actives à l'aide d'onglets", "help.tabs.toast.dismiss": "Ignorer les informations sur les onglets", "help.tabs.title": "Présentation des onglets", "help.tabs.description": "Organisez votre travail et vos sessions actives à l'aide d'onglets", "help.tabs.date": "14 juillet", "help.tabs.introduction": "OpenCode Desktop s'articule désormais autour d'onglets.", "help.tabs.sessions": "Démarrez une nouvelle session dans un onglet ou ouvrez une session existante depuis l'un de vos projets. Ouvrez un nouvel onglet lorsque vous commencez une nouvelle tâche et fermez-le une fois celle-ci terminée.", "help.tabs.organize": "Garder quelques onglets ouverts facilite l'organisation de vos sessions actives. Si vous comptez les conserver, renommez-les pour pouvoir les reconnaître facilement.", "help.tabs.home": "Vous trouverez toutes vos sessions et tous vos projets sur le nouvel écran d'accueil. La sélection d'une session l'ouvre dans un onglet.", "help.tabs.persistence": "Lorsque vous rouvrez l'application, vos onglets sont toujours ouverts.", "help.tabs.worktrees": "La nouvelle interface ne prend pas encore en charge les arbres de travail Git, mais cette fonctionnalité sera bientôt disponible. Si vous préférez continuer à utiliser la mise en page précédente, vous pouvez changer de mise en page dans les paramètres. N'oubliez pas que la nouvelle mise en page deviendra définitive dans quelques semaines.", "dialog.project.edit.title": "Modifier le projet", "dialog.project.edit.name": "Nom", "dialog.project.edit.icon": "Icône", "dialog.project.edit.icon.alt": "Icône du projet", "dialog.project.edit.icon.hint": "Cliquez ou faites glisser une image", "dialog.project.edit.icon.recommended": "Recommandé : 128x128px", "dialog.project.edit.color": "Couleur", "dialog.project.edit.color.select": "Sélectionner la couleur {{color}}", "dialog.project.edit.worktree.startup": "Script de démarrage de l'espace de travail", "dialog.project.edit.worktree.startup.description": "S'exécute après la création d'un nouvel espace de travail (arbre de travail).", "dialog.project.edit.worktree.startup.placeholder": "p. ex. bun install", "dialog.usageExceeded.dontShowAgain": "Ne plus afficher", "context.breakdown.title": "Répartition du contexte", "context.breakdown.note": "Répartition approximative des jetons d'entrée. \"Autre\" inclut les définitions d'outils et les données annexes.", "context.breakdown.system": "Système", "context.breakdown.user": "Utilisateur", "context.breakdown.assistant": "Assistant", "context.breakdown.tool": "Appels d'outils", "context.breakdown.other": "Autre", "context.systemPrompt.title": "Invite système", "context.rawMessages.title": "Messages bruts", "context.export.session": "Exporter la session", "context.stats.session": "Session", "context.stats.messages": "Messages", "context.stats.provider": "Fournisseur", "context.stats.model": "Modèle", "context.stats.limit": "Limite de contexte", "context.stats.totalTokens": "Total des jetons", "context.stats.usage": "Utilisation", "context.stats.inputTokens": "Jetons d'entrée", "context.stats.outputTokens": "Jetons de sortie", "context.stats.reasoningTokens": "Jetons de raisonnement", "context.stats.cacheTokens": "Jetons de cache (lecture/écriture)", "context.stats.userMessages": "Messages utilisateur", "context.stats.assistantMessages": "Messages de l'assistant", "context.stats.totalCost": "Coût total", "context.stats.sessionCreated": "Session créée", "context.stats.lastActivity": "Dernière activité", "context.usage.tokens": "Jetons", "context.usage.usage": "Utilisation", "context.usage.cost": "Coût", "context.usage.clickToView": "Cliquez pour voir le contexte", "context.usage.view": "Voir l'utilisation du contexte", "language.en": "English", "language.zh": "简体中文", "language.zht": "繁體中文", "language.ko": "한국어", "language.de": "Deutsch", "language.es": "Español", "language.fr": "Français", "language.da": "Dansk", "language.ja": "日本語", "language.pl": "Polski", "language.ru": "Русский", "language.ar": "العربية", "language.no": "Norsk", "language.br": "Português (Brasil)", "language.bs": "Bosanski", "language.uk": "Українська", "language.th": "ไทย", "language.tr": "Türkçe", "toast.language.title": "Langue", "toast.language.description": "Langue définie sur {{language}}", "toast.theme.title": "Thème changé", "toast.scheme.title": "Schéma de couleurs", "toast.workspace.enabled.title": "Espaces de travail activés", "toast.workspace.enabled.description": "Plusieurs arbres de travail sont désormais affichés dans la barre latérale", "toast.workspace.disabled.title": "Espaces de travail désactivés", "toast.workspace.disabled.description": "Seul l'arbre de travail principal est affiché dans la barre latérale", "toast.permissions.autoaccept.on.title": "Acceptation automatique des permissions", "toast.permissions.autoaccept.on.description": "Les demandes de permission seront approuvées automatiquement", "toast.permissions.autoaccept.off.title": "Acceptation automatique des permissions désactivée", "toast.permissions.autoaccept.off.description": "Les demandes de permission nécessiteront une approbation", "toast.model.none.title": "Aucun modèle sélectionné", "toast.model.none.description": "Connectez un fournisseur pour résumer cette session", "toast.file.loadFailed.title": "Échec du chargement du fichier", "toast.file.listFailed.title": "Échec de la liste des fichiers", "toast.context.noLineSelection.title": "Aucune sélection de lignes", "toast.context.noLineSelection.description": "Sélectionnez d'abord une plage de lignes dans un onglet de fichier.", "toast.session.share.copyFailed.title": "Échec de la copie de l'URL dans le presse-papiers", "toast.session.share.success.title": "Session partagée", "toast.session.share.success.description": "URL de partage copiée dans le presse-papiers !", "toast.session.share.failed.title": "Échec du partage de la session", "toast.session.share.failed.description": "Une erreur s'est produite lors du partage de la session", "toast.session.unshare.success.title": "Partage de la session désactivé", "toast.session.unshare.success.description": "Le partage de la session a bien été désactivé.", "toast.session.unshare.failed.title": "Échec de la désactivation du partage", "toast.session.unshare.failed.description": "Une erreur s'est produite lors de la désactivation du partage de la session", "toast.session.export.success.title": "Session exportée", "toast.session.export.success.description": "Session enregistrée dans {{filename}}", "toast.session.export.failed.title": "Échec de l’exportation de la session", "toast.session.export.failed.description": "Une erreur s’est produite lors de l’exportation de la session", "toast.session.listFailed.title": "Échec du chargement des sessions pour {{project}}", "toast.update.title": "Mise à jour disponible", "toast.update.description": "Une nouvelle version d'OpenCode ({{version}}) est maintenant disponible pour installation.", "toast.update.action.installRestart": "Installer et redémarrer", "toast.update.action.notYet": "Plus tard", "error.page.title": "Un problème est survenu", "error.page.description": "Une erreur s'est produite lors du chargement de l'application.", "error.page.description.localServerStartup": "Une erreur s'est produite lors du démarrage du serveur local.", "error.page.details.label": "Détails de l'erreur", "error.page.action.restart": "Redémarrer", "error.page.action.report": "Signaler l'erreur", "error.page.action.reported": "Erreur signalée", "error.page.action.exportLogs": "Exporter les journaux", "error.page.action.checking": "Vérification...", "error.page.action.checkUpdates": "Vérifier les mises à jour", "error.page.action.updateTo": "Mettre à jour vers {{version}}", "error.page.report.prefix": "Veuillez signaler cette erreur à l'équipe OpenCode", "error.page.report.discord": "sur Discord", "error.page.version": "Version : {{version}}", "error.dev.rootNotFound": "Élément racine introuvable. Avez-vous oublié de l'ajouter à votre index.html ? Ou peut-être que l'attribut id est mal orthographié ?", "error.serverSync.connectFailed": "Impossible de se connecter au serveur. Y a-t-il un serveur en cours d'exécution à `{{url}}` ?", "directory.error.invalidUrl": "Répertoire invalide dans l'URL.", "error.chain.unknown": "Erreur inconnue", "error.chain.causedBy": "Causé par :", "error.chain.apiError": "Erreur API", "error.chain.status": "Statut : {{status}}", "error.chain.retryable": "Nouvelle tentative possible : {{retryable}}", "error.chain.responseBody": "Corps de la réponse :\n{{body}}", "error.chain.didYouMean": "Vouliez-vous dire : {{suggestions}}", "error.chain.modelNotFound": "Modèle introuvable : {{provider}}/{{model}}", "error.chain.checkConfig": "Vérifiez les noms de fournisseur et de modèle dans votre configuration (opencode.json)", "error.chain.mcpFailed": "Le serveur MCP \"{{name}}\" a échoué. Notez qu'OpenCode ne prend pas encore en charge l'authentification MCP.", "error.chain.providerAuthFailed": "Échec de l'authentification du fournisseur ({{provider}}) : {{message}}", "error.chain.providerInitFailed": 'Échec de l\'initialisation du fournisseur "{{provider}}". Vérifiez les identifiants et la configuration.', "error.chain.configJsonInvalid": "Le fichier de configuration à {{path}} n'est pas un JSON(C) valide", "error.chain.configJsonInvalidWithMessage": "Le fichier de configuration à {{path}} n'est pas un JSON(C) valide : {{message}}", "error.chain.configDirectoryTypo": 'Le répertoire "{{dir}}" dans {{path}} n\'est pas valide. Renommez le répertoire en "{{suggestion}}" ou supprimez-le. C\'est une faute de frappe courante.', "error.chain.configFrontmatterError": "Échec de l'analyse de l'en-tête dans {{path}} :\n{{message}}", "error.chain.configInvalid": "Le fichier de configuration à {{path}} est invalide", "error.chain.configInvalidWithMessage": "Le fichier de configuration à {{path}} est invalide : {{message}}", "notification.permission.title": "Permission requise", "notification.permission.description": "{{sessionTitle}} dans {{projectName}} a besoin d'une permission", "notification.question.title": "Question", "notification.question.description": "{{sessionTitle}} dans {{projectName}} a une question", "notification.action.goToSession": "Aller à la session", "notification.session.responseReady.title": "Réponse prête", "notification.session.error.title": "Erreur de session", "notification.session.error.fallbackDescription": "Une erreur s'est produite", "home.recentProjects": "Projets récents", "home.empty.title": "Aucun projet récent", "home.empty.description": "Commencez par ouvrir un projet local", "home.title": "Accueil", "home.projects": "Projets", "home.project.add": "Ajouter un projet", "home.recentlyClosed": "Récemment fermés", "home.server.collapse": "Réduire les projets du serveur", "home.server.expand": "Développer les projets du serveur", "home.sessions.search.placeholder": "Rechercher des sessions", "home.sessions.search.placeholder.scoped": "Rechercher les sessions dans {{scope}}", "home.sessions.search.sessions": "Sessions", "home.sessions.search.noResults": "Aucune session trouvée pour {{query}}", "home.sessions.empty": "Rien ici pour l'instant", "home.sessions.empty.description": "Créez une session pour commencer", "home.sessions.group.today": "Aujourd'hui", "home.sessions.group.yesterday": "Hier", "home.sessions.group.older": "Plus anciennes", "home.providerTip": "Connectez-vous à plus de 75 fournisseurs pour utiliser d’autres modèles, notamment Claude, GPT, Gemini, etc.", "session.tab.session": "Session", "session.tab.review": "Revue", "session.tab.context": "Contexte", "session.tab.unknown": "Session inconnue", "session.panel.reviewAndFiles": "Revue et fichiers", "session.error.notFound": "Cette session est introuvable", "session.error.notFound.description": "Cet onglet pointe vers une session qui n'existe plus sur ce serveur.", "session.error.notFound.closeTab": "Fermer l'onglet", "session.error.serverConnection": "Impossible de se connecter à ce serveur", "session.review.filesChanged": "{{count}} fichiers modifiés", "session.review.change.one": "Modification", "session.review.change.other": "Modifications", "session.review.loadingChanges": "Chargement des modifications...", "session.review.empty": "Aucune modification dans cette session pour l'instant", "session.review.noChanges": "Aucune modification", "session.review.noUncommittedChanges": "Aucune modification non validée pour l'instant", "session.review.noBranchChanges": "Aucune modification de branche pour l'instant", "session.review.noVcs": "Aucun système de gestion de versions Git détecté ; modifications non affichées", "session.review.noSnapshot": "Le suivi des instantanés est désactivé dans la configuration, les modifications de session sont donc indisponibles", "session.files.selectToOpen": "Sélectionnez un fichier à ouvrir", "session.files.all": "Tous les fichiers", "session.files.empty": "Aucun fichier", "session.files.binaryContent": "Fichier binaire (le contenu ne peut pas être affiché)", "session.messages.renderEarlier": "Afficher les messages précédents", "session.messages.loadingEarlier": "Chargement des messages précédents...", "session.messages.loadEarlier": "Charger les messages précédents", "session.messages.loading": "Chargement des messages...", "session.messages.jumpToLatest": "Aller au message le plus récent", "session.context.addToContext": "Ajouter {{selection}} au contexte", "session.todo.title": "Tâches", "session.todo.collapse": "Réduire", "session.todo.expand": "Développer", "session.question.minimize": "Réduire la question", "session.question.restore": "Restaurer la question", "session.question.pending.one": "{{count}} question en attente", "session.question.pending.many": "{{count}} de questions en attente", "session.question.pending.other": "{{count}} questions en attente", "session.followupDock.summary.one": "{{count}} message en file d'attente", "session.followupDock.summary.many": "{{count}} de messages en file d'attente", "session.followupDock.summary.other": "{{count}} messages en file d'attente", "session.followupDock.sendNow": "Envoyer maintenant", "session.followupDock.edit": "Modifier", "session.followupDock.collapse": "Réduire les messages en file d'attente", "session.followupDock.expand": "Développer les messages en file d'attente", "session.revertDock.summary.one": "{{count}} message annulé", "session.revertDock.summary.many": "{{count}} de messages annulés", "session.revertDock.summary.other": "{{count}} messages annulés", "session.revertDock.collapse": "Réduire les messages annulés", "session.revertDock.expand": "Développer les messages annulés", "session.revertDock.restore": "Restaurer le message", "session.new.title": "Créez ce que vous voulez", "session.new.project.new": "Nouveau projet", "session.new.project.search": "Rechercher des projets", "session.new.project.add": "Ajouter un projet", "session.new.worktree.main": "Branche principale", "session.new.worktree.mainWithBranch": "Branche principale ({{branch}})", "session.new.worktree.create": "Créer un nouvel arbre de travail", "session.new.workspace.runIn": "Exécuter la session dans", "session.new.workspace.triggerLocal": "Local", "session.new.workspace.local": "Dépôt local", "session.new.workspace.existing": "Espace de travail…", "session.new.git.none": "Pas de Git", "session.new.lastModified": "Dernière modification", "session.header.search.placeholder": "Rechercher {{project}}", "session.header.searchFiles": "Rechercher des fichiers", "session.header.openIn": "Ouvrir dans", "session.header.open.action": "Ouvrir {{app}}", "session.header.open.ariaLabel": "Ouvrir dans {{app}}", "session.header.open.menu": "Options d'ouverture", "session.header.open.copyPath": "Copier le chemin", "status.popover.trigger": "Statut", "status.popover.ariaLabel": "Configuration des serveurs", "status.popover.tab.servers": "Serveurs", "status.popover.tab.mcp": "MCP", "status.popover.tab.lsp": "LSP", "status.popover.tab.plugins": "Plugins", "status.popover.action.manageServers": "Gérer les serveurs", "session.share.popover.title": "Publier sur le Web", "session.share.popover.description.shared": "Cette session est publique sur le Web. Elle est accessible à toute personne disposant du lien.", "session.share.popover.description.unshared": "Rendre la session publique sur le Web. Elle sera accessible à toute personne disposant du lien.", "session.share.action.share": "Partager", "session.share.action.publish": "Publier", "session.share.action.publishing": "Publication...", "session.share.action.unpublish": "Dépublier", "session.share.action.unpublishing": "Dépublication...", "session.share.action.view": "Voir", "session.share.copy.copied": "Copié", "session.share.copy.copyLink": "Copier le lien", "lsp.tooltip.none": "Aucun serveur LSP", "lsp.label.connected": "{{count}} LSP", "prompt.loading": "Chargement de l'invite...", "terminal.loading": "Chargement du terminal...", "terminal.title": "Terminal", "terminal.title.numbered": "Terminal {{number}}", "terminal.close": "Fermer le terminal", "terminal.connectionLost.title": "Connexion perdue", "terminal.connectionLost.description": "La connexion au terminal a été interrompue. Cela peut arriver lorsque le serveur redémarre.", "common.closeTab": "Fermer l'onglet", "common.dismiss": "Ignorer", "common.requestFailed": "La demande a échoué", "common.moreOptions": "Plus d'options", "common.learnMore": "En savoir plus", "common.rename": "Renommer", "common.export": "Exporter", "common.reset": "Réinitialiser", "common.archive": "Archiver", "common.delete": "Supprimer", "common.close": "Fermer", "common.edit": "Modifier", "common.loadMore": "Charger plus", "common.key.esc": "ESC", "sidebar.menu.toggle": "Basculer le menu", "sidebar.nav.projectsAndSessions": "Projets et sessions", "sidebar.settings": "Paramètres", "sidebar.help": "Aide", "sidebar.workspaces.enable": "Activer les espaces de travail", "sidebar.workspaces.disable": "Désactiver les espaces de travail", "sidebar.gettingStarted.title": "Commencer", "sidebar.gettingStarted.line1": "OpenCode inclut des modèles gratuits pour que vous puissiez commencer immédiatement.", "sidebar.gettingStarted.line2": "Connectez n'importe quel fournisseur pour utiliser des modèles, y compris Claude, GPT, Gemini etc.", "sidebar.project.recentSessions": "Sessions récentes", "sidebar.project.viewAllSessions": "Voir toutes les sessions", "sidebar.project.clearNotifications": "Effacer les notifications", "sidebar.empty.title": "Aucun projet ouvert", "sidebar.empty.description": "Ouvrez un projet pour commencer", "app.name.desktop": "OpenCode Desktop", "settings.section.desktop": "Application de bureau", "settings.section.server": "Serveur", "settings.tab.general": "Général", "settings.tab.shortcuts": "Raccourcis", "settings.desktop.section.wsl": "WSL", "settings.desktop.wsl.title": "Intégration WSL", "settings.desktop.wsl.description": "Exécuter le serveur OpenCode dans WSL sur Windows.", "settings.general.section.appearance": "Apparence", "settings.general.section.advanced": "Avancé", "settings.general.section.notifications": "Notifications système", "settings.general.section.updates": "Mises à jour", "settings.general.section.sounds": "Effets sonores", "settings.general.section.feed": "Flux", "settings.general.section.display": "Affichage", "settings.general.row.language.title": "Langue", "settings.general.row.language.description": "Changer la langue d'affichage pour OpenCode", "settings.general.row.shell.title": "Interpréteur de commandes du terminal", "settings.general.row.shell.description": "Choisissez le shell utilisé par votre terminal. Les shells compatibles sont également utilisés pour les appels d'outils de l'agent.", "settings.general.row.shell.autoDefault": "Automatique (par défaut)", "settings.general.row.shell.terminalOnly": "terminal uniquement", "settings.general.row.appearance.title": "Apparence", "settings.general.row.appearance.description": "Personnaliser l'apparence d'OpenCode sur votre appareil", "settings.general.row.colorScheme.title": "Schéma de couleurs", "settings.general.row.colorScheme.description": "Choisissez si OpenCode suit le thème système, clair ou sombre", "settings.general.row.theme.title": "Thème", "settings.general.row.theme.description": "Personnaliser le thème d'OpenCode.", "settings.general.row.font.title": "Police de code", "settings.general.row.font.description": "Personnaliser la police utilisée dans les blocs de code", "settings.general.row.terminalFont.title": "Police du terminal", "settings.general.row.terminalFont.description": "Personnalisez la police utilisée dans le terminal", "settings.general.row.uiFont.title": "Police de l'interface", "settings.general.row.uiFont.description": "Personnaliser la police utilisée dans toute l'interface", "settings.general.row.followup.title": "Comportement des messages de suivi", "settings.general.row.followup.description": "Choisissez si les messages de suivi orientent immédiatement l'agent ou sont placés dans une file d'attente", "settings.general.row.followup.option.queue": "File d'attente", "settings.general.row.followup.option.steer": "Orienter", "settings.general.row.showFileTree.title": "Arborescence des fichiers", "settings.general.row.showFileTree.description": "Afficher le panneau d'arborescence des fichiers dans les sessions", "settings.general.row.showNavigation.title": "Commandes de navigation", "settings.general.row.showNavigation.description": "Afficher les boutons précédent et suivant dans la barre de titre de l'application de bureau", "settings.general.row.showSearch.title": "Palette de commandes", "settings.general.row.showSearch.description": "Afficher le bouton de recherche et de palette de commandes dans la barre de titre", "settings.general.row.showTerminal.title": "Terminal", "settings.general.row.showTerminal.description": "Afficher le bouton du terminal dans la barre de titre de l'application de bureau", "settings.general.row.showStatus.title": "État du serveur", "settings.general.row.showStatus.description": "Afficher le bouton d'état du serveur dans la barre de titre", "settings.general.row.mobileTitlebarBottom.title": "Navigation en bas", "settings.general.row.mobileTitlebarBottom.description": "Placer la barre de titre et les onglets de session en bas de l'écran sur mobile", "settings.general.row.showCustomAgents.title": "Agents personnalisés", "settings.general.row.showCustomAgents.description": "Afficher le sélecteur d'agent dans la zone de saisie", "settings.general.row.reasoningSummaries.title": "Afficher les résumés de raisonnement", "settings.general.row.reasoningSummaries.description": "Afficher les résumés de raisonnement du modèle dans la chronologie", "settings.general.row.shellToolPartsExpanded.title": "Développer les parties de l'outil shell", "settings.general.row.shellToolPartsExpanded.description": "Afficher les parties de l'outil shell développées par défaut dans la chronologie", "settings.general.row.editToolPartsExpanded.title": "Développer les parties de l'outil edit", "settings.general.row.editToolPartsExpanded.description": "Afficher les parties des outils edit, write et patch développées par défaut dans la chronologie", "settings.general.row.newInterface.title": "Nouvelle mise en page", "settings.general.row.newInterface.badge": "Nouveau", "settings.general.row.newInterface.description": "Utilisez les nouveaux onglets et la mise en page de l'accueil. Vous pouvez alterner entre les mises en page pendant une durée limitée.", "settings.general.row.newInterfaceNotice.title": "Vous utilisez maintenant la nouvelle mise en page", "settings.general.row.newInterfaceNotice.description": "La mise en page précédente n'est plus disponible", "settings.general.row.newInterfaceNotice.dismiss": "Ignorer", "settings.general.row.pinchZoom.title": "Pincer pour zoomer", "settings.general.row.pinchZoom.description": "Autoriser les gestes de pincement du pavé tactile et Ctrl-défilement pour zoomer", "settings.general.row.wayland.title": "Utiliser Wayland natif", "settings.general.row.wayland.description": "Désactiver le repli X11 sur Wayland. Nécessite un redémarrage.", "settings.general.row.wayland.tooltip": "Sur Linux avec des moniteurs à taux de rafraîchissement mixte, Wayland natif peut être plus stable.", "settings.general.row.releaseNotes.title": "Notes de version", "settings.general.row.releaseNotes.description": "Afficher les fenêtres contextuelles « Quoi de neuf » après les mises à jour", "settings.updates.row.startup.title": "Vérifier les mises à jour au démarrage", "settings.updates.row.startup.description": "Vérifier automatiquement les mises à jour au lancement d'OpenCode", "settings.updates.row.check.title": "Vérifier les mises à jour", "settings.updates.row.check.description": "Rechercher manuellement les mises à jour et installer toute mise à jour disponible", "settings.updates.action.checkNow": "Vérifier maintenant", "settings.updates.action.checking": "Vérification...", "settings.updates.action.downloading": "Téléchargement...", "settings.updates.action.installing": "Installation...", "settings.updates.toast.latest.title": "Vous êtes à jour", "settings.updates.toast.latest.description": "Vous utilisez la dernière version d'OpenCode.", "sound.option.none": "Aucun", "sound.option.alert01": "Alerte 01", "sound.option.alert02": "Alerte 02", "sound.option.alert03": "Alerte 03", "sound.option.alert04": "Alerte 04", "sound.option.alert05": "Alerte 05", "sound.option.alert06": "Alerte 06", "sound.option.alert07": "Alerte 07", "sound.option.alert08": "Alerte 08", "sound.option.alert09": "Alerte 09", "sound.option.alert10": "Alerte 10", "sound.option.bipbop01": "Bip-bop 01", "sound.option.bipbop02": "Bip-bop 02", "sound.option.bipbop03": "Bip-bop 03", "sound.option.bipbop04": "Bip-bop 04", "sound.option.bipbop05": "Bip-bop 05", "sound.option.bipbop06": "Bip-bop 06", "sound.option.bipbop07": "Bip-bop 07", "sound.option.bipbop08": "Bip-bop 08", "sound.option.bipbop09": "Bip-bop 09", "sound.option.bipbop10": "Bip-bop 10", "sound.option.staplebops01": "Staplebops 01", "sound.option.staplebops02": "Staplebops 02", "sound.option.staplebops03": "Staplebops 03", "sound.option.staplebops04": "Staplebops 04", "sound.option.staplebops05": "Staplebops 05", "sound.option.staplebops06": "Staplebops 06", "sound.option.staplebops07": "Staplebops 07", "sound.option.nope01": "Non 01", "sound.option.nope02": "Non 02", "sound.option.nope03": "Non 03", "sound.option.nope04": "Non 04", "sound.option.nope05": "Non 05", "sound.option.nope06": "Non 06", "sound.option.nope07": "Non 07", "sound.option.nope08": "Non 08", "sound.option.nope09": "Non 09", "sound.option.nope10": "Non 10", "sound.option.nope11": "Non 11", "sound.option.nope12": "Non 12", "sound.option.yup01": "Oui 01", "sound.option.yup02": "Oui 02", "sound.option.yup03": "Oui 03", "sound.option.yup04": "Oui 04", "sound.option.yup05": "Oui 05", "sound.option.yup06": "Oui 06", "settings.general.notifications.agent.title": "Agent", "settings.general.notifications.agent.description": "Afficher une notification système lorsque l'agent a terminé ou nécessite une attention", "settings.general.notifications.permissions.title": "Permissions", "settings.general.notifications.permissions.description": "Afficher une notification système lorsqu'une permission est requise", "settings.general.notifications.errors.title": "Erreurs", "settings.general.notifications.errors.description": "Afficher une notification système lorsqu'une erreur se produit", "settings.general.sounds.agent.title": "Agent", "settings.general.sounds.agent.description": "Jouer un son lorsque l'agent a terminé ou nécessite une attention", "settings.general.sounds.permissions.title": "Permissions", "settings.general.sounds.permissions.description": "Jouer un son lorsqu'une permission est requise", "settings.general.sounds.errors.title": "Erreurs", "settings.general.sounds.errors.description": "Jouer un son lorsqu'une erreur se produit", "settings.shortcuts.title": "Raccourcis clavier", "settings.shortcuts.reset.button": "Rétablir les valeurs par défaut", "settings.shortcuts.reset.toast.title": "Raccourcis réinitialisés", "settings.shortcuts.reset.toast.description": "Les raccourcis clavier ont été réinitialisés aux valeurs par défaut.", "settings.shortcuts.conflict.title": "Raccourci déjà utilisé", "settings.shortcuts.conflict.description": "{{keybind}} est déjà attribué à {{titles}}.", "settings.shortcuts.unassigned": "Non attribué", "settings.shortcuts.pressKeys": "Appuyez sur les touches", "settings.shortcuts.search.placeholder": "Rechercher des raccourcis", "settings.shortcuts.search.empty": "Aucun raccourci trouvé", "settings.shortcuts.group.general": "Général", "settings.shortcuts.group.session": "Session", "settings.shortcuts.group.navigation": "Navigation", "settings.shortcuts.group.modelAndAgent": "Modèle et agent", "settings.shortcuts.group.terminal": "Terminal", "settings.shortcuts.group.prompt": "Invite", "settings.providers.title": "Fournisseurs", "settings.providers.description": "Les paramètres des fournisseurs seront configurables ici.", "settings.providers.section.connected": "Fournisseurs connectés", "settings.providers.connected.empty": "Aucun fournisseur connecté", "settings.providers.section.popular": "Fournisseurs populaires", "settings.providers.tag.environment": "Environnement", "settings.providers.tag.config": "Configuration", "settings.providers.tag.custom": "Personnalisé", "settings.providers.tag.other": "Autre", "settings.models.title": "Modèles", "settings.models.description": "Les paramètres des modèles seront configurables ici.", "settings.agents.title": "Agents", "settings.agents.description": "Les paramètres des agents seront configurables ici.", "settings.commands.title": "Commandes", "settings.commands.description": "Les paramètres des commandes seront configurables ici.", "settings.mcp.title": "MCP", "settings.mcp.description": "Les paramètres MCP seront configurables ici.", "settings.permissions.title": "Permissions", "settings.permissions.description": "Contrôlez les outils que le serveur peut utiliser par défaut.", "settings.permissions.section.tools": "Outils", "settings.permissions.toast.updateFailed.title": "Échec de la mise à jour des permissions", "settings.permissions.action.allow": "Autoriser", "settings.permissions.action.ask": "Demander", "settings.permissions.action.deny": "Refuser", "settings.permissions.tool.read.title": "Lire", "settings.permissions.tool.read.description": "Lecture d'un fichier (correspond au chemin du fichier)", "settings.permissions.tool.edit.title": "Modifier", "settings.permissions.tool.edit.description": "Modifier des fichiers, notamment au moyen des outils edit, write et patch", "settings.permissions.tool.glob.title": "Glob", "settings.permissions.tool.glob.description": "Rechercher des fichiers à l'aide de motifs glob", "settings.permissions.tool.grep.title": "Grep", "settings.permissions.tool.grep.description": "Rechercher dans le contenu des fichiers à l'aide d'expressions régulières", "settings.permissions.tool.list.title": "Lister", "settings.permissions.tool.list.description": "Lister les fichiers dans un répertoire", "settings.permissions.tool.bash.title": "Bash", "settings.permissions.tool.bash.description": "Exécuter des commandes shell", "settings.permissions.tool.task.title": "Tâche", "settings.permissions.tool.task.description": "Lancer des sous-agents", "settings.permissions.tool.skill.title": "Compétence", "settings.permissions.tool.skill.description": "Charger une compétence par son nom", "settings.permissions.tool.lsp.title": "LSP", "settings.permissions.tool.lsp.description": "Exécuter des requêtes de serveur de langage", "settings.permissions.tool.todowrite.title": "Écrire les tâches", "settings.permissions.tool.todowrite.description": "Mettre à jour la liste de tâches", "settings.permissions.tool.webfetch.title": "Récupération Web", "settings.permissions.tool.webfetch.description": "Récupérer le contenu d'une URL", "settings.permissions.tool.websearch.title": "Recherche Web", "settings.permissions.tool.websearch.description": "Rechercher sur le Web", "settings.permissions.tool.external_directory.title": "Répertoire externe", "settings.permissions.tool.external_directory.description": "Accéder aux fichiers en dehors du répertoire du projet", "settings.permissions.tool.doom_loop.title": "Boucle infernale", "settings.permissions.tool.doom_loop.description": "Détecter les appels d'outils répétés avec une entrée identique", "session.delete.failed.title": "Échec de la suppression de la session", "session.delete.title": "Supprimer la session", "session.delete.confirm": 'Supprimer la session "{{name}}" ?', "session.delete.button": "Supprimer la session", "workspace.new": "Nouvel espace de travail", "workspace.type.local": "local", "workspace.type.sandbox": "bac à sable", "workspace.create.failed.title": "Échec de la création de l'espace de travail", "workspace.delete.failed.title": "Échec de la suppression de l'espace de travail", "workspace.resetting.title": "Réinitialisation de l'espace de travail", "workspace.resetting.description": "Cela peut prendre une minute.", "workspace.reset.failed.title": "Échec de la réinitialisation de l'espace de travail", "workspace.reset.success.title": "Espace de travail réinitialisé", "workspace.reset.success.description": "L'espace de travail correspond maintenant à la branche par défaut.", "workspace.error.stillPreparing": "L'espace de travail est encore en cours de préparation", "workspace.status.checking": "Vérification des modifications non fusionnées...", "workspace.status.error": "Impossible de vérifier l'état de Git.", "workspace.status.clean": "Aucune modification non fusionnée détectée.", "workspace.status.dirty": "Modifications non fusionnées détectées dans cet espace de travail.", "workspace.delete.title": "Supprimer l'espace de travail", "workspace.delete.confirm": 'Supprimer l\'espace de travail "{{name}}" ?', "workspace.delete.button": "Supprimer l'espace de travail", "workspace.reset.title": "Réinitialiser l'espace de travail", "workspace.reset.confirm": 'Réinitialiser l\'espace de travail "{{name}}" ?', "workspace.reset.button": "Réinitialiser l'espace de travail", "workspace.reset.archived.none": "Aucune session active ne sera archivée.", "workspace.reset.archived.one": "1 session sera archivée.", "workspace.reset.archived.many": "{{count}} sessions seront archivées.", "workspace.reset.note": "Cela réinitialisera l'espace de travail pour correspondre à la branche par défaut.", "common.open": "Ouvrir", "dialog.releaseNotes.action.getStarted": "Commencer", "dialog.releaseNotes.action.next": "Suivant", "dialog.releaseNotes.action.hideFuture": "Ne plus afficher à l'avenir", "dialog.releaseNotes.media.alt": "Aperçu de la version", "toast.project.reloadFailed.title": "Échec du rechargement de {{project}}", "error.server.invalidConfiguration": "Configuration invalide", "common.moreCountSuffix": " (+{{count}} de plus)", "common.time.justNow": "À l'instant", "common.time.minutesAgo.short": "il y a {{count}} min", "common.time.hoursAgo.short": "il y a {{count}} h", "common.time.daysAgo.short": "il y a {{count}} j", "settings.providers.connected.environmentDescription": "Connecté à partir de vos variables d'environnement", "settings.providers.custom.description": "Ajouter un fournisseur compatible avec OpenAI via l'URL de base.", "app.server.unreachable": "Impossible de joindre {{server}}", "app.server.retrying": "Nouvelle tentative automatique...", "app.server.otherServers": "Autres serveurs", "dialog.server.add.usernamePlaceholder": "nom d'utilisateur", "dialog.server.add.passwordPlaceholder": "mot de passe", "server.row.noUsername": "aucun nom d'utilisateur", "session.review.noVcs.createGit.title": "Créer un dépôt Git", "session.review.noVcs.createGit.description": "Suivre, examiner et annuler les modifications dans ce projet", "session.review.noVcs.createGit.actionLoading": "Création du dépôt Git...", "session.review.noVcs.createGit.action": "Créer un dépôt Git", "session.todo.progress": "{{done}} tâches sur {{total}} terminées", "session.question.progress": "{{current}} questions sur {{total}}", "session.header.open.finder": "Finder", "session.header.open.fileExplorer": "Explorateur de fichiers", "session.header.reveal.finder": "Afficher dans le Finder", "session.header.reveal.fileExplorer": "Afficher dans l’Explorateur de fichiers", "session.header.reveal.containingFolder": "Ouvrir le dossier contenant", "session.header.open.fileManager": "Gestionnaire de fichiers", "session.header.open.app.vscode": "VS Code", "session.header.open.app.cursor": "Cursor", "session.header.open.app.zed": "Zed", "session.header.open.app.textmate": "TextMate", "session.header.open.app.antigravity": "Antigravity", "session.header.open.app.terminal": "Terminal", "session.header.open.app.iterm2": "iTerm2", "session.header.open.app.ghostty": "Ghostty", "session.header.open.app.warp": "Warp", "session.header.open.app.xcode": "Xcode", "session.header.open.app.androidStudio": "Android Studio", "session.header.open.app.powershell": "PowerShell", "session.header.open.app.sublimeText": "Sublime Text", "debugBar.ariaLabel": "Diagnostics de performance de développement", "debugBar.na": "n/a", "debugBar.nav.label": "NAV", "debugBar.nav.tip": "Dernière transition de route terminée touchant une page de session, mesurée du début du routeur jusqu'au premier affichage après stabilisation.", "debugBar.fps.label": "FPS", "debugBar.fps.tip": "Fréquence d'images calculée sur les 5 dernières secondes.", "debugBar.frame.label": "FRAME", "debugBar.frame.tip": "Durée d'image maximale sur les 5 dernières secondes.", "debugBar.jank.label": "JANK", "debugBar.jank.tip": "Images de plus de 32 ms au cours des 5 dernières secondes.", "debugBar.long.label": "LONG", "debugBar.long.tip": "Temps bloqué et nombre de tâches longues au cours des 5 dernières secondes. Tâche max : {{max}}.", "debugBar.delay.label": "DELAY", "debugBar.delay.tip": "Pire délai d'entrée observé au cours des 5 dernières secondes.", "debugBar.inp.label": "INP", "debugBar.inp.tip": "Durée approximative d'interaction au cours des 5 dernières secondes. Il s'agit d'une mesure similaire à l'INP, et non de l'INP officiel des Web Vitals.", "debugBar.cls.label": "CLS", "debugBar.cls.tip": "Décalage cumulatif de la mise en page pour la durée de vie actuelle de l'application.", "debugBar.mem.label": "MEM", "debugBar.mem.tipUnavailable": "Tas JS utilisé vs limite de tas. Chromium uniquement.", "debugBar.mem.tip": "Tas JS utilisé vs limite de tas. {{used}} sur {{limit}}.", "debugBar.focus.label": "FOCUS", "debugBar.focus.tip": "Forcer les styles de focus sur tous les éléments interactifs", "debugBar.focus.on": "ACTIVÉ", "debugBar.focus.off": "DÉSACTIVÉ", "debugBar.direction.label": "DIR", "debugBar.direction.tip": "Forcer le sens de disposition de toute l’application sans changer la langue sélectionnée", "debugBar.direction.ltr": "LTR", "debugBar.direction.rtl": "RTL", "common.key.ctrl": "Ctrl", "common.key.alt": "Alt", "common.key.shift": "Maj", "common.key.meta": "Méta", "common.key.space": "Espace", "common.key.backspace": "Retour arrière", "common.key.enter": "Entrée", "common.key.tab": "Tab", "common.key.delete": "Suppr", "common.key.home": "Début", "common.key.end": "Fin", "common.key.pageUp": "Page précédente", "common.key.pageDown": "Page suivante", "common.key.insert": "Inser", "common.unknown": "inconnu", "error.page.circular": "[Circulaire]", "error.serverSDK.noServerAvailable": "Aucun serveur disponible", "error.serverSDK.serverNotAvailable": "Serveur non disponible", "error.childStore.persistedCacheCreateFailed": "Échec de la création du cache persistant", "error.childStore.persistedProjectMetadataCreateFailed": "Échec de la création des métadonnées de projet persistantes", "error.childStore.persistedProjectIconCreateFailed": "Échec de la création de l'icône de projet persistante", "error.childStore.storeCreateFailed": "Échec de la création du stockage", "terminal.connectionLost.abnormalClose": "WebSocket fermé anormalement : {{code}}", "terminal.connectTicket.csrfError": "Le ticket de connexion PTY a été rejeté par les contrôles d'origine ou CSRF. Vérifiez la configuration CORS du serveur.", "terminal.connectTicket.statusError": "Le ticket de connexion PTY a échoué avec le statut {{status}}", "titlebar.update": "Mettre à jour", "titlebar.updateVersion": "Mettre à jour {{version}}", }