{
	"back": "Retour à la vue des tâches",
	"common": {
		"save": "Enregistrer",
		"done": "Terminé",
		"cancel": "Annuler",
		"reset": "Réinitialiser",
		"select": "Sélectionner",
		"add": "Ajouter un en-tête",
		"remove": "Supprimer"
	},
	"search": {
		"placeholder": "Rechercher les paramètres...",
		"noResults": "Aucun paramètre trouvé"
	},
	"header": {
		"title": "Paramètres",
		"saveButtonTooltip": "Enregistrer les modifications",
		"nothingChangedTooltip": "Rien n'a changé",
		"doneButtonTooltip": "Ignorer les modifications non enregistrées et fermer le panneau des paramètres"
	},
	"unsavedChangesDialog": {
		"title": "Modifications non enregistrées",
		"description": "Voulez-vous ignorer les modifications et continuer ?",
		"cancelButton": "Annuler",
		"discardButton": "Ignorer les modifications"
	},
	"sections": {
		"providers": "Fournisseurs",
		"modes": "Modes",
		"mcp": "Serveurs MCP",
		"worktrees": "Worktrees",
		"autoApprove": "Auto-approbation",
		"checkpoints": "Points de contrôle",
		"notifications": "Notifications",
		"contextManagement": "Contexte",
		"terminal": "Terminal",
		"slashCommands": "Commandes Slash",
		"prompts": "Invites",
		"ui": "UI",
		"experimental": "Expérimental",
		"language": "Langue",
		"about": "À propos de Zoo Code",
		"skills": "Skills"
	},
	"about": {
		"bugReport": {
			"label": "Vous avez trouvé un bug ?",
			"link": "Signaler sur GitHub"
		},
		"featureRequest": {
			"label": "Vous avez une idée ?",
			"link": "Partagez-la avec nous"
		},
		"securityIssue": {
			"label": "Vous avez découvert une vulnérabilité ?",
			"link": "Suivez notre processus de divulgation"
		},
		"community": "Vous voulez des conseils ou simplement discuter avec d'autres utilisateurs de Zoo Code ? Rejoignez <redditLink>reddit.com/r/ZooCode</redditLink> ou <discordLink>discord.gg/VxfP4Vx3gX</discordLink>",
		"contactAndCommunity": "Contact et Communauté",
		"manageSettings": "Gérer les Paramètres",
		"debugMode": {
			"label": "Activer le mode debug",
			"description": "Active le mode debug pour afficher des boutons supplémentaires dans l'en-tête de la tâche permettant de consulter l'historique de conversation de l'API et les messages de l'interface utilisateur au format JSON dans des fichiers temporaires."
		}
	},
	"slashCommands": {
		"description": "Gérez vos commandes slash pour exécuter rapidement des flux de travail et des actions personnalisées. <DocsLink>En savoir plus</DocsLink>",
		"workspaceCommands": "Commandes de l'espace de travail",
		"globalCommands": "Commandes globales",
		"noWorkspaceCommands": "Aucune commande dans ce projet pour le moment.",
		"noGlobalCommands": "Aucune commande globale pour le moment.",
		"addCommand": "Ajouter une commande slash",
		"editCommand": "Modifier la commande",
		"deleteCommand": "Supprimer la commande",
		"deleteDialog": {
			"title": "Supprimer la commande",
			"description": "Êtes-vous sûr de vouloir supprimer la commande \"{{name}}\" ? Cette action ne peut pas être annulée.",
			"confirm": "Supprimer",
			"cancel": "Annuler"
		},
		"createDialog": {
			"title": "Créer une nouvelle commande slash",
			"nameLabel": "Nom",
			"namePlaceholder": "my-command-name",
			"nameHint": "Lettres minuscules, chiffres, tirets et traits de soulignement uniquement",
			"sourceLabel": "Emplacement",
			"create": "Créer",
			"cancel": "Annuler"
		},
		"source": {
			"global": "Global (disponible dans tous les espaces de travail)",
			"project": "Espace de travail"
		},
		"validation": {
			"nameRequired": "Le nom est obligatoire",
			"nameTooLong": "Le nom doit contenir 64 caractères ou moins",
			"nameInvalid": "Le nom ne peut contenir que des lettres, des chiffres, des tirets et des traits de soulignement"
		},
		"footer": "Utilisez les commandes slash pour accéder rapidement aux invites et flux de travail fréquemment utilisés."
	},
	"prompts": {
		"description": "Configurez les invites de support utilisées pour les actions rapides comme l'amélioration des invites, l'explication du code et la résolution des problèmes. Ces invites aident Zoo à fournir une meilleure assistance pour les tâches de développement courantes."
	},
	"codeIndex": {
		"title": "Indexation de la base de code",
		"description": "Configurez les paramètres d'indexation de la base de code pour activer la recherche sémantique dans votre projet. <0>En savoir plus</0>",
		"statusTitle": "Statut",
		"enableLabel": "Activer l'indexation de la base de code",
		"enableDescription": "Activer l'indexation du code pour une recherche et une compréhension du contexte améliorées",
		"settingsTitle": "Paramètres d'indexation",
		"disabledMessage": "L'indexation de la base de code est actuellement désactivée. Activez-la dans les paramètres globaux pour configurer les options d'indexation.",
		"providerLabel": "Fournisseur d'embeddings",
		"embedderProviderLabel": "Fournisseur d'embedder",
		"selectProviderPlaceholder": "Sélectionner un fournisseur",
		"openaiProvider": "OpenAI",
		"ollamaProvider": "Ollama",
		"geminiProvider": "Gemini",
		"geminiApiKeyLabel": "Clé API :",
		"geminiApiKeyPlaceholder": "Entrez votre clé API Gemini",
		"vercelAiGatewayProvider": "Vercel AI Gateway",
		"vercelAiGatewayApiKeyLabel": "Clé API",
		"vercelAiGatewayApiKeyPlaceholder": "Entrez votre clé API Vercel AI Gateway",
		"bedrockProvider": "Amazon Bedrock",
		"bedrockRegionLabel": "Région AWS",
		"bedrockRegionPlaceholder": "us-east-1",
		"bedrockProfileLabel": "Profil AWS",
		"bedrockProfilePlaceholder": "default",
		"bedrockProfileDescription": "Nom du profil AWS depuis ~/.aws/credentials (requis).",
		"openRouterProvider": "OpenRouter",
		"openRouterApiKeyLabel": "Clé d'API OpenRouter",
		"openRouterApiKeyPlaceholder": "Entrez votre clé d'API OpenRouter",
		"openRouterProviderRoutingLabel": "Routage des fournisseurs OpenRouter",
		"openRouterProviderRoutingDescription": "OpenRouter dirige les requêtes vers les meilleurs fournisseurs disponibles pour votre modèle d'embedding. Par défaut, les requêtes sont équilibrées entre les principaux fournisseurs pour maximiser la disponibilité. Cependant, vous pouvez choisir un fournisseur spécifique à utiliser pour ce modèle.",
		"mistralProvider": "Mistral",
		"mistralApiKeyLabel": "Clé d'API:",
		"mistralApiKeyPlaceholder": "Entrez votre clé d'API Mistral",
		"openaiCompatibleProvider": "Compatible OpenAI",
		"openAiKeyLabel": "Clé API OpenAI",
		"openAiKeyPlaceholder": "Entrez votre clé API OpenAI",
		"openAiCompatibleBaseUrlLabel": "URL de base",
		"openAiCompatibleApiKeyLabel": "Clé API",
		"openAiCompatibleApiKeyPlaceholder": "Entrez votre clé API",
		"openAiCompatibleModelDimensionLabel": "Dimension d'Embedding :",
		"modelDimensionLabel": "Dimension du modèle",
		"openAiCompatibleModelDimensionPlaceholder": "ex., 1536",
		"openAiCompatibleModelDimensionDescription": "La dimension d'embedding (taille de sortie) pour votre modèle. Consultez la documentation de votre fournisseur pour cette valeur. Valeurs courantes : 384, 768, 1536, 3072.",
		"modelLabel": "Modèle",
		"modelPlaceholder": "Entrez le nom du modèle",
		"selectModel": "Sélectionner un modèle",
		"selectModelPlaceholder": "Sélectionner un modèle",
		"ollamaUrlLabel": "URL Ollama :",
		"ollamaBaseUrlLabel": "URL de base Ollama",
		"qdrantUrlLabel": "URL Qdrant",
		"qdrantKeyLabel": "Clé Qdrant :",
		"qdrantApiKeyLabel": "Clé API Qdrant",
		"qdrantApiKeyPlaceholder": "Entrez votre clé API Qdrant (optionnel)",
		"setupConfigLabel": "Configuration",
		"startIndexingButton": "Démarrer",
		"clearIndexDataButton": "Effacer l'index",
		"unsavedSettingsMessage": "Merci d'enregistrer tes paramètres avant de démarrer le processus d'indexation.",
		"clearDataDialog": {
			"title": "Êtes-vous sûr ?",
			"description": "Cette action ne peut pas être annulée. Cela supprimera définitivement les données d'index de votre base de code.",
			"cancelButton": "Annuler",
			"confirmButton": "Effacer les données"
		},
		"ollamaUrlPlaceholder": "http://localhost:11434",
		"openAiCompatibleBaseUrlPlaceholder": "https://api.example.com",
		"modelDimensionPlaceholder": "1536",
		"qdrantUrlPlaceholder": "http://localhost:6333",
		"saveError": "Échec de la sauvegarde des paramètres",
		"modelDimensions": "({{dimension}} dimensions)",
		"saveSuccess": "Paramètres sauvegardés avec succès",
		"saving": "Sauvegarde...",
		"saveSettings": "Sauvegarder",
		"indexingStatuses": {
			"standby": "En attente",
			"indexing": "Indexation",
			"indexed": "Indexé",
			"error": "Erreur"
		},
		"close": "Fermer",
		"validation": {
			"invalidQdrantUrl": "URL Qdrant invalide",
			"invalidOllamaUrl": "URL Ollama invalide",
			"invalidBaseUrl": "URL de base invalide",
			"qdrantUrlRequired": "L'URL Qdrant est requise",
			"openaiApiKeyRequired": "La clé API OpenAI est requise",
			"modelSelectionRequired": "La sélection du modèle est requise",
			"apiKeyRequired": "La clé API est requise",
			"modelIdRequired": "L'ID du modèle est requis",
			"modelDimensionRequired": "La dimension du modèle est requise",
			"geminiApiKeyRequired": "La clé API Gemini est requise",
			"mistralApiKeyRequired": "La clé API Mistral est requise",
			"vercelAiGatewayApiKeyRequired": "La clé API Vercel AI Gateway est requise",
			"bedrockRegionRequired": "La région AWS est requise",
			"bedrockProfileRequired": "Le profil AWS est requis",
			"ollamaBaseUrlRequired": "L'URL de base Ollama est requise",
			"baseUrlRequired": "L'URL de base est requise",
			"modelDimensionMinValue": "La dimension du modèle doit être supérieure à 0",
			"openRouterApiKeyRequired": "Clé API OpenRouter est requise"
		},
		"optional": "optionnel",
		"advancedConfigLabel": "Configuration avancée",
		"searchMinScoreLabel": "Seuil de score de recherche",
		"searchMinScoreDescription": "Score de similarité minimum (0.0-1.0) requis pour les résultats de recherche. Des valeurs plus faibles renvoient plus de résultats mais peuvent être moins pertinents. Des valeurs plus élevées renvoient moins de résultats mais plus pertinents.",
		"searchMinScoreResetTooltip": "Réinitialiser à la valeur par défaut (0.4)",
		"searchMaxResultsLabel": "Résultats de recherche maximum",
		"searchMaxResultsDescription": "Nombre maximum de résultats de recherche à retourner lors de l'interrogation de l'index de code. Des valeurs plus élevées fournissent plus de contexte mais peuvent inclure des résultats moins pertinents.",
		"resetToDefault": "Réinitialiser par défaut",
		"stopIndexingButton": "Arrêter l'indexation",
		"stoppingButton": "Arrêt en cours...",
		"workspaceToggleLabel": "Activer l'indexation pour cet espace de travail",
		"workspaceDisabledMessage": "L'indexation est configurée mais non activée pour cet espace de travail.",
		"autoEnableDefaultLabel": "Activer automatiquement l'indexation pour les nouveaux espaces de travail"
	},
	"autoApprove": {
		"toggleShortcut": "Vous pouvez configurer un raccourci global pour ce paramètre <SettingsLink>dans les préférences de votre IDE</SettingsLink>.",
		"description": "Permettre à Roo d'effectuer automatiquement des opérations sans requérir d'approbation. Activez ces paramètres uniquement si vous faites entièrement confiance à l'IA et que vous comprenez les risques de sécurité associés.",
		"enabled": "Auto-approbation activée",
		"toggleAriaLabel": "Activer/désactiver l'approbation automatique",
		"disabledAriaLabel": "Approbation automatique désactivée - sélectionnez d'abord les options",
		"selectOptionsFirst": "Sélectionnez au moins une option ci-dessous pour activer l'approbation automatique",
		"readOnly": {
			"label": "Lecture",
			"description": "Lorsque cette option est activée, Zoo affichera automatiquement le contenu des répertoires et lira les fichiers sans que vous ayez à cliquer sur le bouton Approuver.",
			"outsideWorkspace": {
				"label": "Inclure les fichiers en dehors de l'espace de travail",
				"description": "Permettre à Zoo de lire des fichiers en dehors de l'espace de travail actuel sans nécessiter d'approbation."
			}
		},
		"write": {
			"label": "Écriture",
			"description": "Créer et modifier automatiquement des fichiers sans nécessiter d'approbation",
			"delayLabel": "Délai après les écritures pour permettre aux diagnostics de détecter les problèmes potentiels",
			"outsideWorkspace": {
				"label": "Inclure les fichiers en dehors de l'espace de travail",
				"description": "Permettre à Zoo de créer et modifier des fichiers en dehors de l'espace de travail actuel sans nécessiter d'approbation."
			},
			"protected": {
				"label": "Inclure les fichiers protégés",
				"description": "Permettre à Zoo de créer et modifier des fichiers protégés (comme .rooignore et les fichiers de configuration .roo/) sans nécessiter d'approbation."
			}
		},
		"mcp": {
			"label": "MCP",
			"description": "Activer l'approbation automatique des outils MCP individuels dans la vue des serveurs MCP (nécessite à la fois ce paramètre et la case à cocher \"Toujours autoriser\" de l'outil)"
		},
		"modeSwitch": {
			"label": "Mode",
			"description": "Basculer automatiquement entre différents modes sans nécessiter d'approbation"
		},
		"subtasks": {
			"label": "Sous-tâches",
			"description": "Permettre la création et l'achèvement des sous-tâches sans nécessiter d'approbation"
		},
		"followupQuestions": {
			"label": "Question",
			"description": "Sélectionner automatiquement la première réponse suggérée pour les questions de suivi après le délai configuré",
			"timeoutLabel": "Temps d'attente avant la sélection automatique de la première réponse"
		},
		"execute": {
			"label": "Exécuter",
			"description": "Exécuter automatiquement les commandes de terminal autorisées sans nécessiter d'approbation",
			"allowedCommands": "Commandes auto-exécutables autorisées",
			"allowedCommandsDescription": "Préfixes de commandes qui peuvent être auto-exécutés lorsque \"Toujours approuver les opérations d'exécution\" est activé. Ajoutez * pour autoriser toutes les commandes (à utiliser avec précaution).",
			"deniedCommands": "Commandes refusées",
			"deniedCommandsDescription": "Préfixes de commandes qui seront automatiquement refusés sans demander d'approbation. En cas de conflit avec les commandes autorisées, la correspondance de préfixe la plus longue prend la priorité. Ajoutez * pour refuser toutes les commandes.",
			"commandPlaceholder": "Entrez le préfixe de commande (ex. 'git ')",
			"deniedCommandPlaceholder": "Entrez le préfixe de commande à refuser (ex. 'rm -rf')",
			"addButton": "Ajouter",
			"autoDenied": "Les commandes avec le préfixe `{{prefix}}` ont été interdites par l'utilisateur. Ne contourne pas cette restriction en exécutant une autre commande."
		},
		"apiRequestLimit": {
			"title": "Requêtes maximales",
			"unlimited": "Illimité"
		},
		"apiCostLimit": {
			"unlimited": "Illimité",
			"title": "Coût maximum"
		},
		"maxLimits": {
			"description": "Effectuer automatiquement des requêtes jusqu'à ces limites avant de demander une autorisation pour continuer."
		}
	},
	"providers": {
		"providerDocumentation": "Documentation {{provider}}",
		"configProfile": "Profil de configuration",
		"description": "Enregistrez différentes configurations d'API pour basculer rapidement entre les fournisseurs et les paramètres.",
		"apiProvider": "Fournisseur d'API",
		"apiProviderDocs": "Documentation du Fournisseur",
		"model": "Modèle",
		"nameEmpty": "Le nom ne peut pas être vide",
		"nameExists": "Un profil avec ce nom existe déjà",
		"deleteProfile": "Supprimer le profil",
		"invalidArnFormat": "Format ARN invalide. Veuillez vérifier les exemples ci-dessus.",
		"enterNewName": "Entrez un nouveau nom",
		"addProfile": "Ajouter un profil",
		"renameProfile": "Renommer le profil",
		"newProfile": "Nouveau profil de configuration",
		"enterProfileName": "Entrez le nom du profil",
		"createProfile": "Créer un profil",
		"cannotDeleteOnlyProfile": "Impossible de supprimer le seul profil",
		"searchPlaceholder": "Rechercher des profils",
		"searchProviderPlaceholder": "Rechercher des fournisseurs",
		"noProviderMatchFound": "Aucun fournisseur trouvé",
		"noMatchFound": "Aucun profil correspondant trouvé",
		"retiredProviderMessage": "Ce fournisseur n'est plus disponible. Choisis un fournisseur pris en charge pour continuer.",
		"vscodeLmDescription": "L'API du modèle de langage VS Code vous permet d'exécuter des modèles fournis par d'autres extensions VS Code (y compris, mais sans s'y limiter, GitHub Copilot). Le moyen le plus simple de commencer est d'installer les extensions Copilot et Copilot Chat depuis le VS Code Marketplace.",
		"awsCustomArnUse": "Entrez un ARN Amazon Bedrock valide pour le modèle que vous souhaitez utiliser. Exemples de format :",
		"awsCustomArnDesc": "Assurez-vous que la région dans l'ARN correspond à la région AWS sélectionnée ci-dessus.",
		"openRouterApiKey": "Clé API OpenRouter",
		"getOpenRouterApiKey": "Obtenir la clé API OpenRouter",
		"vercelAiGatewayApiKey": "Clé API Vercel AI Gateway",
		"getVercelAiGatewayApiKey": "Obtenir la clé API Vercel AI Gateway",
		"apiKeyStorageNotice": "Les clés API sont stockées en toute sécurité dans le stockage sécurisé de VSCode",
		"openAiCodexRateLimits": {
			"title": "Usage Limits for Codex{{planLabel}}",
			"loading": "Loading usage limits...",
			"loadError": "Failed to load usage limits",
			"retry": "Retry",
			"usedPercent": "{{percent}}% used",
			"resetsIn": "Resets in {{time}}",
			"plan": {
				"default": "",
				"withType": " ({{planType}})"
			},
			"time": {
				"now": "Now",
				"notAvailable": "N/A"
			},
			"duration": {
				"daysHours": "{{days}}d {{hours}}h",
				"hoursMinutes": "{{hours}}h {{minutes}}m",
				"minutes": "{{minutes}}m"
			},
			"window": {
				"usage": "Usage",
				"fiveHour": "5h limit",
				"oneHour": "1h limit",
				"daily": "Daily limit",
				"weekly": "Weekly limit",
				"days": "{{days}}d limit",
				"hours": "{{hours}}h limit",
				"minutes": "{{minutes}}m limit"
			}
		},
		"useCustomBaseUrl": "Utiliser une URL de base personnalisée",
		"useReasoning": "Activer le raisonnement",
		"useHostHeader": "Utiliser un en-tête Host personnalisé",
		"customHeaders": "En-têtes personnalisés",
		"headerName": "Nom de l'en-tête",
		"headerValue": "Valeur de l'en-tête",
		"noCustomHeaders": "Aucun en-tête personnalisé défini. Cliquez sur le bouton + pour en ajouter un.",
		"unboundApiKey": "Clé API Unbound",
		"getUnboundApiKey": "Obtenir la clé API Unbound",
		"requestyApiKey": "Clé API Requesty",
		"refreshModels": {
			"label": "Actualiser les modèles",
			"hint": "Veuillez rouvrir les paramètres pour voir les modèles les plus récents.",
			"loading": "Actualisation de la liste des modèles...",
			"success": "Liste des modèles actualisée avec succès !",
			"error": "Échec de l'actualisation de la liste des modèles. Veuillez réessayer."
		},
		"getRequestyApiKey": "Obtenir la clé API Requesty",
		"getRequestyBaseUrl": "URL de base",
		"requestyUseCustomBaseUrl": "Utiliser une URL de base personnalisée",
		"anthropicApiKey": "Clé API Anthropic",
		"getAnthropicApiKey": "Obtenir la clé API Anthropic",
		"anthropicUseAuthToken": "Passer la clé API Anthropic comme en-tête d'autorisation au lieu de X-Api-Key",
		"anthropic1MContextBetaLabel": "Activer la fenêtre de contexte de 1M (Bêta)",
		"anthropic1MContextBetaDescription": "Étend la fenêtre de contexte à 1 million de tokens pour Claude Sonnet 4.x / Claude Opus 4.6",
		"awsBedrock1MContextBetaLabel": "Activer la fenêtre de contexte de 1M (Bêta)",
		"awsBedrock1MContextBetaDescription": "Étend la fenêtre de contexte à 1 million de tokens pour Claude Sonnet 4.x / Claude Opus 4.6",
		"vertex1MContextBetaLabel": "Activer la fenêtre de contexte de 1M (Bêta)",
		"vertex1MContextBetaDescription": "Étend la fenêtre de contexte à 1 million de tokens pour Claude Sonnet 4.x / Claude Opus 4.6",
		"basetenApiKey": "Clé API Baseten",
		"getBasetenApiKey": "Obtenir la clé API Baseten",
		"poeApiKey": "Clé API Poe",
		"getPoeApiKey": "Obtenir la clé API Poe",
		"poeBaseUrl": "URL de base Poe",
		"fireworksApiKey": "Clé API Fireworks",
		"getFireworksApiKey": "Obtenir la clé API Fireworks",
		"deepSeekApiKey": "Clé API DeepSeek",
		"getDeepSeekApiKey": "Obtenir la clé API DeepSeek",
		"moonshotApiKey": "Clé API Moonshot",
		"getMoonshotApiKey": "Obtenir la clé API Moonshot",
		"moonshotBaseUrl": "Point d'entrée Moonshot",
		"zaiApiKey": "Clé API Z AI",
		"getZaiApiKey": "Obtenir la clé API Z AI",
		"zaiEntrypoint": "Point d'entrée Z AI",
		"zaiEntrypointDescription": "Veuillez sélectionner le point d'entrée API approprié en fonction de votre emplacement. Si vous êtes en Chine, choisissez open.bigmodel.cn. Sinon, choisissez api.z.ai.",
		"minimaxApiKey": "Clé API MiniMax",
		"getMiniMaxApiKey": "Obtenir la clé API MiniMax",
		"minimaxBaseUrl": "Point d'entrée MiniMax",
		"mimoApiKey": "Clé API MiMo",
		"getMimoApiKey": "Obtenir la clé API MiMo",
		"mimoBaseUrl": "Point d'entrée MiMo",
		"mimoBaseUrlSingapore": "Plan de jetons - Singapour (Par défaut)",
		"mimoBaseUrlChina": "Plan de jetons - Chine",
		"mimoBaseUrlEurope": "Plan de jetons - Europe (AMS)",
		"mimoBaseUrlPayg": "Paiement à l'usage",
		"geminiApiKey": "Clé API Gemini",
		"getSambaNovaApiKey": "Obtenir la clé API SambaNova",
		"sambaNovaApiKey": "Clé API SambaNova",
		"getGeminiApiKey": "Obtenir la clé API Gemini",
		"openAiApiKey": "Clé API OpenAI",
		"apiKey": "Clé API",
		"openAiBaseUrl": "URL de base",
		"getOpenAiApiKey": "Obtenir la clé API OpenAI",
		"mistralApiKey": "Clé API Mistral",
		"getMistralApiKey": "Obtenir la clé API Mistral / Codestral",
		"codestralBaseUrl": "URL de base Codestral (Optionnel)",
		"codestralBaseUrlDesc": "Définir une URL alternative pour le modèle Codestral.",
		"xaiApiKey": "Clé API xAI",
		"getXaiApiKey": "Obtenir la clé API xAI",
		"litellmApiKey": "Clé API LiteLLM",
		"litellmBaseUrl": "URL de base LiteLLM",
		"awsCredentials": "Identifiants AWS",
		"awsProfile": "Profil AWS",
		"awsApiKey": "Clé API Amazon Bedrock",
		"awsProfileName": "Nom du profil AWS",
		"awsAccessKey": "Clé d'accès AWS",
		"awsSecretKey": "Clé secrète AWS",
		"awsSessionToken": "Jeton de session AWS",
		"awsRegion": "Région AWS",
		"awsCrossRegion": "Utiliser l'inférence inter-régions",
		"awsGlobalInference": "Utiliser l'inférence globale (sélection automatique de la région AWS optimale)",
		"awsServiceTier": "Niveau de service",
		"awsServiceTierStandard": "Standard",
		"awsServiceTierStandardDesc": "Performances et coûts équilibrés",
		"awsServiceTierFlex": "Flexible (50% de réduction)",
		"awsServiceTierFlexDesc": "Coût inférieur, latence plus élevée pour les tâches non critiques",
		"awsServiceTierPriority": "Priorité (75% de prime)",
		"awsServiceTierPriorityDesc": "Performances optimales pour les applications critiques",
		"awsServiceTierNote": "Les niveaux de service affectent les prix et les performances. Flexible offre une réduction de 50% avec une latence plus élevée, Priorité offre 25% de meilleures performances avec une prime de 75%.",
		"awsBedrockVpc": {
			"useCustomVpcEndpoint": "Utiliser un point de terminaison VPC personnalisé",
			"vpcEndpointUrlPlaceholder": "Entrer l'URL du point de terminaison VPC (optionnel)",
			"examples": "Exemples :"
		},
		"enablePromptCaching": "Activer la mise en cache des prompts",
		"enablePromptCachingTitle": "Activer la mise en cache des prompts pour améliorer les performances et réduire les coûts pour les modèles pris en charge.",
		"cacheUsageNote": "Remarque : Si vous ne voyez pas l'utilisation du cache, essayez de sélectionner un modèle différent puis de sélectionner à nouveau votre modèle souhaité.",
		"vscodeLmModel": "Modèle de langage",
		"vscodeLmWarning": "Remarque : Les modèles accessibles via l’API VS Code Language Model peuvent être encapsulés ou ajustés par le fournisseur ; leur comportement peut donc différer de l’utilisation directe du même modèle auprès d’un fournisseur ou routeur classique. Pour utiliser un modèle depuis la liste « Language Model », bascule d’abord sur ce modèle puis clique sur « Accepter » dans l’invite de Copilot Chat ; sinon, une erreur telle que 400 « The requested model is not supported » peut apparaître.",
		"googleCloudSetup": {
			"title": "Pour utiliser Google Cloud Vertex AI, vous devez :",
			"step1": "1. Créer un compte Google Cloud, activer l'API Vertex AI et activer les modèles Claude souhaités.",
			"step2": "2. Installer Google Cloud CLI et configurer les identifiants par défaut de l'application.",
			"step3": "3. Ou créer un compte de service avec des identifiants."
		},
		"googleCloudCredentials": "Identifiants Google Cloud",
		"googleCloudKeyFile": "Chemin du fichier de clé Google Cloud",
		"googleCloudProjectId": "ID du projet Google Cloud",
		"googleCloudRegion": "Région Google Cloud",
		"lmStudio": {
			"baseUrl": "URL de base (optionnel)",
			"modelId": "ID du modèle",
			"speculativeDecoding": "Activer le décodage spéculatif",
			"draftModelId": "ID du modèle brouillon",
			"draftModelDesc": "Le modèle brouillon doit être de la même famille de modèles pour que le décodage spéculatif fonctionne correctement.",
			"selectDraftModel": "Sélectionner le modèle brouillon",
			"noModelsFound": "Aucun modèle brouillon trouvé. Veuillez vous assurer que LM Studio est en cours d'exécution avec le mode serveur activé.",
			"description": "LM Studio vous permet d'exécuter des modèles localement sur votre ordinateur. Pour obtenir des instructions sur la mise en route, consultez leur <a>guide de démarrage rapide</a>. Vous devrez également démarrer la fonction <b>serveur local</b> de LM Studio pour l'utiliser avec cette extension. <span>Remarque :</span> Zoo Code utilise des prompts complexes et fonctionne mieux avec les modèles Claude. Les modèles moins performants peuvent ne pas fonctionner comme prévu."
		},
		"ollama": {
			"baseUrl": "URL de base (optionnel)",
			"modelId": "ID du modèle",
			"apiKey": "Clé API Ollama",
			"apiKeyHelp": "Clé API optionnelle pour les instances Ollama authentifiées ou les services cloud. Laissez vide pour les installations locales.",
			"numCtx": "Taille de la fenêtre de contexte (num_ctx)",
			"numCtxHelp": "Remplace la taille de la fenêtre de contexte par défaut du modèle. Laissez vide pour utiliser la configuration du Modelfile du modèle. La valeur minimale est 128.",
			"description": "Ollama vous permet d'exécuter des modèles localement sur votre ordinateur. Pour obtenir des instructions sur la mise en route, consultez le guide de démarrage rapide.",
			"warning": "Remarque : Zoo Code utilise des prompts complexes et fonctionne mieux avec les modèles Claude. Les modèles moins performants peuvent ne pas fonctionner comme prévu."
		},
		"openRouter": {
			"providerRouting": {
				"title": "Routage des fournisseurs OpenRouter",
				"description": "OpenRouter dirige les requêtes vers les meilleurs fournisseurs disponibles pour votre modèle. Par défaut, les requêtes sont équilibrées entre les principaux fournisseurs pour maximiser la disponibilité. Cependant, vous pouvez choisir un fournisseur spécifique à utiliser pour ce modèle.",
				"learnMore": "En savoir plus sur le routage des fournisseurs"
			}
		},
		"customModel": {
			"capabilities": "Configurez les capacités et les prix pour votre modèle personnalisé compatible OpenAI. Soyez prudent lors de la spécification des capacités du modèle, car elles peuvent affecter le fonctionnement de Zoo Code.",
			"maxTokens": {
				"label": "Tokens de sortie maximum",
				"description": "Nombre maximum de tokens que le modèle peut générer dans une réponse. (Spécifiez -1 pour permettre au serveur de définir les tokens maximum.)"
			},
			"contextWindow": {
				"label": "Taille de la fenêtre de contexte",
				"description": "Total des tokens (entrée + sortie) que le modèle peut traiter."
			},
			"imageSupport": {
				"label": "Support des images",
				"description": "Ce modèle est-il capable de traiter et de comprendre les images ?"
			},
			"computerUse": {
				"label": "Utilisation de l'ordinateur",
				"description": "Ce modèle est-il capable d'interagir avec un navigateur ?"
			},
			"promptCache": {
				"label": "Mise en cache des prompts",
				"description": "Ce modèle est-il capable de mettre en cache les prompts ?"
			},
			"pricing": {
				"input": {
					"label": "Prix d'entrée",
					"description": "Coût par million de tokens dans l'entrée/prompt. Cela affecte le coût d'envoi du contexte et des instructions au modèle."
				},
				"output": {
					"label": "Prix de sortie",
					"description": "Coût par million de tokens dans la réponse du modèle. Cela affecte le coût du contenu généré et des complétions."
				},
				"cacheReads": {
					"label": "Prix des lectures de cache",
					"description": "Coût par million de tokens pour la lecture depuis le cache. C'est le prix facturé lors de la récupération d'une réponse mise en cache."
				},
				"cacheWrites": {
					"label": "Prix des écritures de cache",
					"description": "Coût par million de tokens pour l'écriture dans le cache. C'est le prix facturé lors de la première mise en cache d'un prompt."
				}
			},
			"resetDefaults": "Réinitialiser les valeurs par défaut"
		},
		"rateLimitSeconds": {
			"label": "Limite de débit",
			"description": "Temps minimum entre les requêtes API."
		},
		"consecutiveMistakeLimit": {
			"label": "Limite d'erreurs et de répétitions",
			"description": "Nombre d'erreurs consécutives ou d'actions répétées avant d'afficher la boîte de dialogue 'Zoo a des difficultés'. Mettre à 0 pour désactiver ce mécanisme de sécurité (il ne se déclenchera jamais).",
			"unlimitedDescription": "Réessais illimités activés (poursuite automatique). La boîte de dialogue n'apparaîtra jamais.",
			"warning": "⚠️ Mettre à 0 autorise des réessais illimités, ce qui peut consommer une utilisation importante de l'API"
		},
		"reasoningEffort": {
			"label": "Effort de raisonnement du modèle",
			"none": "Aucun",
			"minimal": "Minimal (le plus rapide)",
			"high": "Élevé",
			"xhigh": "Très élevé",
			"medium": "Moyen",
			"low": "Faible"
		},
		"verbosity": {
			"label": "Verbosité de la sortie",
			"high": "Élevée",
			"medium": "Moyenne",
			"low": "Faible",
			"description": "Contrôle le niveau de détail des réponses du modèle. Une faible verbosité produit des réponses concises, tandis qu'une verbosité élevée fournit des explications approfondies."
		},
		"setReasoningLevel": "Activer l'effort de raisonnement",
		"claudeCode": {
			"pathLabel": "Chemin du code Claude",
			"description": "Chemin facultatif vers votre CLI Claude Code. La valeur par défaut est 'claude' si non défini.",
			"placeholder": "Défaut : claude",
			"maxTokensLabel": "Jetons de sortie max",
			"maxTokensDescription": "Nombre maximum de jetons de sortie pour les réponses de Claude Code. La valeur par défaut est 8000."
		}
	},
	"checkpoints": {
		"timeout": {
			"label": "Délai d'initialisation du point de contrôle (secondes)",
			"description": "Temps d'attente maximum pour l'initialisation du service de points de contrôle. Par défaut : 15 secondes. Plage : 10-60 secondes."
		},
		"enable": {
			"label": "Activer les points de contrôle automatiques",
			"description": "Lorsque cette option est activée, Zoo créera automatiquement des points de contrôle pendant l'exécution des tâches, facilitant la révision des modifications ou le retour à des états antérieurs. <0>En savoir plus</0>"
		}
	},
	"notifications": {
		"sound": {
			"label": "Activer les effets sonores",
			"description": "Lorsque cette option est activée, Zoo jouera des effets sonores pour les notifications et les événements.",
			"volumeLabel": "Volume"
		},
		"tts": {
			"label": "Activer la synthèse vocale",
			"description": "Lorsque cette option est activée, Zoo lira ses réponses à haute voix en utilisant la synthèse vocale.",
			"speedLabel": "Vitesse"
		}
	},
	"contextManagement": {
		"description": "Contrôlez quelles informations sont incluses dans la fenêtre de contexte de l'IA, affectant l'utilisation de token et la qualité des réponses",
		"autoCondenseContextPercent": {
			"label": "Seuil de déclenchement de la condensation intelligente du contexte",
			"description": "Lorsque la fenêtre de contexte atteint ce seuil, Zoo la condensera automatiquement."
		},
		"condensingApiConfiguration": {
			"label": "Configuration API pour la condensation du contexte",
			"description": "Sélectionnez quelle configuration API utiliser pour les opérations de condensation du contexte. Laissez non sélectionné pour utiliser la configuration active actuelle.",
			"useCurrentConfig": "Par défaut"
		},
		"customCondensingPrompt": {
			"label": "Prompt personnalisé de condensation du contexte",
			"description": "Personnalisez le prompt système utilisé pour la condensation du contexte. Laissez vide pour utiliser le prompt par défaut.",
			"placeholder": "Entrez votre prompt de condensation personnalisé ici...\n\nVous pouvez utiliser la même structure que le prompt par défaut :\n- Conversation précédente\n- Travail en cours\n- Concepts techniques clés\n- Fichiers et code pertinents\n- Résolution de problèmes\n- Tâches en attente et prochaines étapes",
			"reset": "Réinitialiser par défaut",
			"hint": "Vide = utiliser le prompt par défaut"
		},
		"autoCondenseContext": {
			"name": "Déclencher automatiquement la condensation intelligente du contexte",
			"description": "Lorsque cette option est activée, Zoo condensera automatiquement le contexte lorsque le seuil est atteint. Lorsqu'elle est désactivée, vous pouvez toujours déclencher manuellement la condensation du contexte."
		},
		"openTabs": {
			"label": "Limite de contexte des onglets ouverts",
			"description": "Nombre maximum d'onglets VSCode ouverts à inclure dans le contexte. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation de token."
		},
		"workspaceFiles": {
			"label": "Limite de contexte des fichiers de l'espace de travail",
			"description": "Nombre maximum de fichiers à inclure dans les détails du répertoire de travail actuel. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation de token."
		},
		"rooignore": {
			"label": "Afficher les fichiers .rooignore dans les listes et recherches",
			"description": "Lorsque cette option est activée, les fichiers correspondant aux modèles dans .rooignore seront affichés dans les listes avec un symbole de cadenas. Lorsqu'elle est désactivée, ces fichiers seront complètement masqués des listes de fichiers et des recherches."
		},
		"maxReadFile": {
			"label": "Seuil d'auto-troncature de lecture de fichier",
			"description": "Zoo lit ce nombre de lignes lorsque le modèle omet les valeurs de début/fin. Si ce nombre est inférieur au total du fichier, Zoo génère un index des numéros de ligne des définitions de code. Cas spéciaux : -1 indique à Zoo de lire le fichier entier (sans indexation), et 0 indique de ne lire aucune ligne et de fournir uniquement les index de ligne pour un contexte minimal. Des valeurs plus basses minimisent l'utilisation initiale du contexte, permettant des lectures ultérieures de plages de lignes précises. Les requêtes avec début/fin explicites ne sont pas limitées par ce paramètre.",
			"lines": "lignes",
			"always_full_read": "Toujours lire le fichier entier"
		},
		"maxConcurrentFileReads": {
			"label": "Limite de lectures simultanées",
			"description": "Nombre maximum de fichiers que l'outil 'read_file' peut traiter simultanément. Des valeurs plus élevées peuvent accélérer la lecture de plusieurs petits fichiers mais augmentent l'utilisation de la mémoire."
		},
		"maxImageFileSize": {
			"label": "Taille maximale des fichiers d'image",
			"mb": "MB",
			"description": "Taille maximale (en MB) pour les fichiers d'image qui peuvent être traités par l'outil de lecture de fichier."
		},
		"maxTotalImageSize": {
			"label": "Taille totale maximale des images",
			"mb": "MB",
			"description": "Limite de taille cumulée maximale (en MB) pour toutes les images traitées dans une seule opération read_file. Lors de la lecture de plusieurs images, la taille de chaque image est ajoutée au total. Si l'inclusion d'une autre image dépasserait cette limite, elle sera ignorée."
		},
		"diagnostics": {
			"includeMessages": {
				"label": "Inclure automatiquement les diagnostics dans le contexte",
				"description": "Lorsque cette option est activée, les messages de diagnostic (erreurs) des fichiers modifiés seront automatiquement inclus dans le contexte. Vous pouvez toujours inclure manuellement tous les diagnostics de l'espace de travail en utilisant @problems."
			},
			"maxMessages": {
				"label": "Nombre maximum de messages de diagnostic",
				"description": "Nombre maximum de messages de diagnostic à inclure par fichier. Cette limite s'applique à la fois à l'inclusion automatique (lorsque la case est cochée) et aux mentions manuelles @problems. Des valeurs plus élevées fournissent plus de contexte mais augmentent l'utilisation des jetons.",
				"resetTooltip": "Réinitialiser à la valeur par défaut (50)",
				"unlimitedLabel": "Illimité"
			},
			"delayAfterWrite": {
				"label": "Délai après les écritures pour permettre aux diagnostics de détecter les problèmes potentiels",
				"description": "Temps d'attente après les écritures de fichiers avant de continuer, permettant aux outils de diagnostic de traiter les modifications et de détecter les problèmes."
			}
		},
		"condensingThreshold": {
			"label": "Seuil de condensation du contexte",
			"selectProfile": "Configurer le seuil pour le profil",
			"defaultProfile": "Par défaut global (tous les profils)",
			"defaultDescription": "Lorsque le contexte atteint ce pourcentage, il sera automatiquement condensé pour tous les profils sauf s'ils ont des paramètres personnalisés",
			"profileDescription": "Seuil personnalisé pour ce profil uniquement (remplace le défaut global)",
			"inheritDescription": "Ce profil hérite du seuil par défaut global ({{threshold}}%)",
			"usesGlobal": "(utilise global {{threshold}}%)"
		},
		"includeCurrentTime": {
			"label": "Inclure l'heure actuelle dans le contexte",
			"description": "Lorsque cette option est activée, l'heure actuelle et les informations de fuseau horaire seront incluses dans le prompt système. Désactivez cette option si les modèles cessent de fonctionner en raison de problèmes liés à l'heure."
		},
		"includeCurrentCost": {
			"label": "Inclure le coût actuel dans le contexte",
			"description": "Lorsque cette option est activée, le coût d'utilisation actuel de l'API sera inclus dans le prompt système. Désactivez cette option si les modèles cessent de fonctionner en raison de problèmes de coût."
		},
		"maxGitStatusFiles": {
			"label": "Git status max fichiers",
			"description": "Nombre maximum de fichiers à inclure dans le contexte de statut git. Mettre à 0 pour désactiver. Les informations de branche et les commits sont toujours affichés si > 0."
		},
		"enableSubfolderRules": {
			"label": "Activer les règles des sous-dossiers",
			"description": "Découvrir et charger récursivement les fichiers .roo/rules et AGENTS.md depuis les sous-répertoires. Utile pour les monorepos avec des règles par package."
		}
	},
	"terminal": {
		"basic": {
			"label": "Paramètres du terminal : Base",
			"description": "Paramètres de base du terminal"
		},
		"advanced": {
			"label": "Paramètres du terminal : Avancé",
			"description": "Ces paramètres s'appliquent uniquement lorsque 'Utiliser le terminal en ligne' est désactivé. Ils affectent uniquement le terminal VS Code et peuvent nécessiter un redémarrage de l'IDE."
		},
		"outputLineLimit": {
			"label": "Limite de sortie du terminal",
			"description": "Conserve les premières et dernières lignes et supprime celles du milieu pour rester sous la limite. Réduire pour économiser des jetons ; augmenter pour donner à Zoo plus de détails intermédiaires. Zoo voit un espace réservé là où le contenu est ignoré.<0>En savoir plus</0>"
		},
		"outputCharacterLimit": {
			"label": "Limite de caractères du terminal",
			"description": "Remplace la limite de lignes pour éviter les problèmes de mémoire en imposant un plafond strict sur la taille de sortie. Si dépassé, conserve le début et la fin et affiche un espace réservé à Zoo là où le contenu est ignoré. <0>En savoir plus</0>"
		},
		"outputPreviewSize": {
			"label": "Taille de l'aperçu de sortie des commandes",
			"description": "Contrôle la quantité de sortie de commande que Zoo voit directement. La sortie complète est toujours sauvegardée et accessible en cas de besoin.",
			"options": {
				"small": "Petite (5KB)",
				"medium": "Moyenne (10KB)",
				"large": "Grande (20KB)"
			}
		},
		"shellIntegrationTimeout": {
			"label": "Délai d'attente d'intégration du shell du terminal",
			"description": "Temps d'attente de l'intégration du shell de VS Code avant d'exécuter des commandes. Augmentez si votre shell démarre lentement ou si vous voyez des erreurs 'Intégration du Shell Indisponible'. <0>En savoir plus</0>"
		},
		"shellIntegrationDisabled": {
			"label": "Utiliser le terminal en ligne (recommandé)",
			"description": "Exécute des commandes dans le terminal en ligne (chat) pour contourner les profils/intégration du shell pour des exécutions plus rapides et fiables. Lorsque désactivé, Zoo utilise le terminal VS Code avec votre profil de shell, invites et plugins. <0>En savoir plus</0>"
		},
		"commandDelay": {
			"label": "Délai de commande du terminal",
			"description": "Ajoute une courte pause après chaque commande pour que le terminal VS Code puisse vider toute la sortie (bash/zsh : PROMPT_COMMAND sleep ; PowerShell : start-sleep). Utilisez uniquement si vous voyez une sortie de fin manquante ; sinon laissez à 0. <0>En savoir plus</0>"
		},
		"powershellCounter": {
			"label": "Activer la solution de contournement du compteur PowerShell",
			"description": "Activez lorsque la sortie PowerShell est manquante ou dupliquée ; ajoute un petit compteur à chaque commande pour stabiliser la sortie. Laissez désactivé si la sortie semble déjà correcte. <0>En savoir plus</0>"
		},
		"zshClearEolMark": {
			"label": "Effacer la marque EOL ZSH",
			"description": "Activez lorsque vous voyez des % égarés en fin de ligne ou que l'analyse semble incorrecte ; omet la marque de fin de ligne (%) de Zsh. <0>En savoir plus</0>"
		},
		"zshOhMy": {
			"label": "Activer l'intégration Oh My Zsh",
			"description": "Activez lorsque votre thème/plugins Oh My Zsh attendent l'intégration du shell ; définit ITERM_SHELL_INTEGRATION_INSTALLED=Yes. Désactivez pour éviter de définir cette variable. <0>En savoir plus</0>"
		},
		"zshP10k": {
			"label": "Activer l'intégration Powerlevel10k",
			"description": "Activez lorsque vous utilisez l'intégration du shell Powerlevel10k. <0>En savoir plus</0>"
		},
		"zdotdir": {
			"label": "Activer la gestion ZDOTDIR",
			"description": "Activez lorsque l'intégration du shell zsh échoue ou entre en conflit avec vos dotfiles. <0>En savoir plus</0>"
		},
		"inheritEnv": {
			"label": "Hériter des variables d'environnement",
			"description": "Activez pour hériter des variables d'environnement du processus parent VS Code. <0>En savoir plus</0>"
		}
	},
	"advancedSettings": {
		"title": "Paramètres avancés"
	},
	"advanced": {
		"diff": {
			"label": "Activer l'édition via des diffs",
			"description": "Lorsque cette option est activée, Zoo pourra éditer des fichiers plus rapidement et rejettera automatiquement les écritures de fichiers complets tronqués",
			"strategy": {
				"label": "Stratégie de diff",
				"options": {
					"standard": "Standard (Bloc unique)",
					"multiBlock": "Expérimental : Diff multi-blocs",
					"unified": "Expérimental : Diff unifié"
				},
				"descriptions": {
					"standard": "La stratégie de diff standard applique les modifications à un seul bloc de code à la fois.",
					"unified": "La stratégie de diff unifié prend plusieurs approches pour appliquer les diffs et choisit la meilleure approche.",
					"multiBlock": "La stratégie de diff multi-blocs permet de mettre à jour plusieurs blocs de code dans un fichier en une seule requête."
				}
			}
		},
		"todoList": {
			"label": "Activer l'outil de liste de tâches",
			"description": "Lorsqu'activé, Zoo peut créer et gérer des listes de tâches pour suivre la progression. Cela aide à organiser les tâches complexes en étapes gérables."
		}
	},
	"experimental": {
		"DIFF_STRATEGY_UNIFIED": {
			"name": "Utiliser la stratégie diff unifiée expérimentale",
			"description": "Activer la stratégie diff unifiée expérimentale. Cette stratégie pourrait réduire le nombre de tentatives causées par des erreurs de modèle, mais peut provoquer des comportements inattendus ou des modifications incorrectes. Activez-la uniquement si vous comprenez les risques et êtes prêt à examiner attentivement tous les changements."
		},
		"INSERT_BLOCK": {
			"name": "Utiliser l'outil d'insertion de contenu expérimental",
			"description": "Activer l'outil d'insertion de contenu expérimental, permettant à Zoo d'insérer du contenu à des numéros de ligne spécifiques sans avoir besoin de créer un diff."
		},
		"MULTI_SEARCH_AND_REPLACE": {
			"name": "Utiliser l'outil diff multi-blocs expérimental",
			"description": "Lorsqu'il est activé, Zoo utilisera l'outil diff multi-blocs. Cela tentera de mettre à jour plusieurs blocs de code dans le fichier en une seule requête."
		},
		"CONCURRENT_FILE_READS": {
			"name": "Activer la lecture simultanée de fichiers",
			"description": "Lorsqu'activé, Zoo peut lire plusieurs fichiers dans une seule requête. Lorsque désactivé, Zoo doit lire les fichiers un par un. La désactivation peut aider lors du travail avec des modèles moins performants ou lorsque tu souhaites plus de contrôle sur l'accès aux fichiers."
		},
		"MARKETPLACE": {
			"name": "Activer le Marketplace",
			"description": "Lorsque cette option est activée, tu peux installer des MCP et des modes personnalisés depuis le Marketplace."
		},
		"PREVENT_FOCUS_DISRUPTION": {
			"name": "Édition en arrière-plan",
			"description": "Empêche la perturbation du focus de l'éditeur lorsqu'activé. Les modifications de fichiers se font en arrière-plan sans ouvrir de vues de différences ou voler le focus. Vous pouvez continuer à travailler sans interruption pendant que Zoo effectue des changements. Les fichiers peuvent être ouverts sans focus pour capturer les diagnostics ou rester complètement fermés."
		},
		"ASSISTANT_MESSAGE_PARSER": {
			"name": "Utiliser le nouveau parseur de messages",
			"description": "Active le parseur de messages en streaming expérimental qui accélère nettement les longues réponses en traitant les messages plus efficacement."
		},
		"NEW_TASK_REQUIRE_TODOS": {
			"name": "Exiger la liste 'todos' pour les nouvelles tâches",
			"description": "Lorsqu'il est activé, l'outil new_task exigera qu'un paramètre todos soit fourni. Cela garantit que toutes les nouvelles tâches commencent avec une liste claire d'objectifs. Lorsqu'il est désactivé (par défaut), le paramètre todos reste facultatif pour la compatibilité descendante."
		},
		"IMAGE_GENERATION": {
			"name": "Activer la génération d'images IA",
			"providerLabel": "Fournisseur",
			"providerDescription": "Sélectionnez le fournisseur pour la génération d'images.",
			"description": "Lorsqu'activé, Zoo peut générer des images à partir de prompts textuels en utilisant les modèles de génération d'images d'OpenRouter. Nécessite qu'une clé API OpenRouter soit configurée.",
			"openRouterApiKeyLabel": "Clé API OpenRouter",
			"openRouterApiKeyPlaceholder": "Entrez votre clé API OpenRouter",
			"getApiKeyText": "Obtenez votre clé API depuis",
			"modelSelectionLabel": "Modèle de génération d'images",
			"modelSelectionDescription": "Sélectionnez le modèle pour la génération d'images",
			"warningMissingKey": "⚠️ Une clé API OpenRouter est requise pour la génération d'images. Veuillez la configurer ci-dessus.",
			"successConfigured": "✓ La génération d'images est configurée et prête à utiliser"
		},
		"RUN_SLASH_COMMAND": {
			"name": "Activer les commandes slash initiées par le modèle",
			"description": "Lorsque activé, Zoo peut exécuter tes commandes slash pour lancer des workflows."
		},
		"CUSTOM_TOOLS": {
			"name": "Activer les outils personnalisés",
			"description": "Lorsqu'activé, Zoo peut charger et utiliser des outils TypeScript/JavaScript personnalisés à partir du répertoire .roo/tools de votre projet ou ~/.roo/tools pour des outils globaux. Remarque : ces outils seront automatiquement approuvés.",
			"toolsHeader": "Outils personnalisés disponibles",
			"noTools": "Aucun outil personnalisé chargé. Ajoutez des fichiers .ts ou .js au répertoire .roo/tools de votre projet ou ~/.roo/tools pour des outils globaux.",
			"refreshButton": "Actualiser",
			"refreshing": "Actualisation...",
			"refreshSuccess": "Outils actualisés avec succès",
			"refreshError": "Échec de l'actualisation des outils",
			"toolParameters": "Paramètres"
		}
	},
	"promptCaching": {
		"label": "Désactiver la mise en cache des prompts",
		"description": "Lorsque cette option est cochée, Zoo n'utilisera pas la mise en cache des prompts pour ce modèle."
	},
	"temperature": {
		"useCustom": "Utiliser une température personnalisée",
		"description": "Contrôle l'aléatoire dans les réponses du modèle.",
		"rangeDescription": "Des valeurs plus élevées rendent la sortie plus aléatoire, des valeurs plus basses la rendent plus déterministe."
	},
	"modelInfo": {
		"supportsImages": "Prend en charge les images",
		"noImages": "Ne prend pas en charge les images",
		"supportsPromptCache": "Prend en charge la mise en cache des prompts",
		"noPromptCache": "Ne prend pas en charge la mise en cache des prompts",
		"contextWindow": "Fenêtre de contexte :",
		"maxOutput": "Sortie maximale",
		"inputPrice": "Prix d'entrée",
		"outputPrice": "Prix de sortie",
		"cacheReadsPrice": "Prix des lectures de cache",
		"cacheWritesPrice": "Prix des écritures de cache",
		"enableStreaming": "Activer le streaming",
		"enableR1Format": "Activer les paramètres du modèle R1",
		"enableR1FormatTips": "Doit être activé lors de l'utilisation de modèles R1 tels que QWQ, pour éviter l'erreur 400",
		"useAzure": "Utiliser Azure",
		"azureApiVersion": "Définir la version de l'API Azure",
		"gemini": {
			"freeRequests": "* Gratuit jusqu'à {{count}} requêtes par minute. Après cela, la facturation dépend de la taille du prompt.",
			"pricingDetails": "Pour plus d'informations, voir les détails de tarification.",
			"billingEstimate": "* La facturation est une estimation - le coût exact dépend de la taille du prompt."
		}
	},
	"modelPicker": {
		"automaticFetch": "L'extension récupère automatiquement la liste la plus récente des modèles disponibles sur <serviceLink>{{serviceName}}</serviceLink>. Si vous ne savez pas quel modèle choisir, Zoo Code fonctionne mieux avec <defaultModelLink>{{defaultModelId}}</defaultModelLink>. Vous pouvez également rechercher \"free\" pour les options gratuites actuellement disponibles.",
		"label": "Modèle",
		"searchPlaceholder": "Rechercher",
		"noMatchFound": "Aucune correspondance trouvée",
		"useCustomModel": "Utiliser personnalisé : {{modelId}}",
		"simplifiedExplanation": "Tu peux ajuster les paramètres détaillés du modèle ultérieurement."
	},
	"footer": {
		"telemetry": {
			"label": "Autoriser les rapports anonymes d'erreurs et d'utilisation",
			"description": "Aidez à améliorer Zoo Code en envoyant des données d'utilisation anonymes et des rapports d'erreurs. Cette télémétrie ne collecte pas de code, de prompts ou d'informations personnelles. Consultez notre <privacyLink>politique de confidentialité</privacyLink> pour plus de détails."
		},
		"settings": {
			"import": "Importer",
			"export": "Exporter",
			"reset": "Réinitialiser"
		}
	},
	"thinkingBudget": {
		"maxTokens": "Tokens maximum",
		"maxThinkingTokens": "Tokens de réflexion maximum"
	},
	"validation": {
		"apiKey": "Vous devez fournir une clé API valide.",
		"awsRegion": "Vous devez choisir une région pour utiliser Amazon Bedrock.",
		"googleCloud": "Vous devez fournir un ID de projet et une région Google Cloud valides.",
		"modelId": "Vous devez fournir un ID de modèle valide.",
		"modelSelector": "Vous devez fournir un sélecteur de modèle valide.",
		"openAi": "Vous devez fournir une URL de base, une clé API et un ID de modèle valides.",
		"arn": {
			"invalidFormat": "Format ARN invalide. Veuillez vérifier les exigences de format.",
			"regionMismatch": "Attention : La région dans votre ARN ({{arnRegion}}) ne correspond pas à votre région sélectionnée ({{region}}). Cela peut causer des problèmes d'accès. Le fournisseur utilisera la région de l'ARN."
		},
		"modelAvailability": "L'ID de modèle ({{modelId}}) que vous avez fourni n'est pas disponible. Veuillez choisir un modèle différent.",
		"modelDeprecated": "Ce modèle n'est plus disponible. Veuillez sélectionner un modèle différent.",
		"providerNotAllowed": "Le fournisseur '{{provider}}' n'est pas autorisé par votre organisation",
		"modelNotAllowed": "Le modèle '{{model}}' n'est pas autorisé pour le fournisseur '{{provider}}' par votre organisation",
		"profileInvalid": "Ce profil contient un fournisseur ou un modèle qui n'est pas autorisé par votre organisation",
		"qwenCodeOauthPath": "Tu dois fournir un chemin valide pour les identifiants OAuth"
	},
	"placeholders": {
		"apiKey": "Saisissez la clé API...",
		"profileName": "Saisissez le nom du profil",
		"accessKey": "Saisissez la clé d'accès...",
		"secretKey": "Saisissez la clé secrète...",
		"sessionToken": "Saisissez le jeton de session...",
		"credentialsJson": "Saisissez le JSON des identifiants...",
		"keyFilePath": "Saisissez le chemin du fichier de clé...",
		"projectId": "Saisissez l'ID du projet...",
		"customArn": "Saisissez l'ARN (ex. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
		"baseUrl": "Saisissez l'URL de base...",
		"modelId": {
			"lmStudio": "ex. meta-llama-3.1-8b-instruct",
			"lmStudioDraft": "ex. lmstudio-community/llama-3.2-1b-instruct",
			"ollama": "ex. llama3.1"
		},
		"numbers": {
			"maxTokens": "ex. 4096",
			"contextWindow": "ex. 128000",
			"inputPrice": "ex. 0.0001",
			"outputPrice": "ex. 0.0002",
			"cacheWritePrice": "ex. 0.00005"
		}
	},
	"defaults": {
		"ollamaUrl": "Par défaut : http://localhost:11434",
		"lmStudioUrl": "Par défaut : http://localhost:1234",
		"geminiUrl": "Par défaut : https://generativelanguage.googleapis.com"
	},
	"labels": {
		"customArn": "ARN personnalisé",
		"useCustomArn": "Utiliser un ARN personnalisé..."
	},
	"includeMaxOutputTokens": "Inclure les tokens de sortie maximum",
	"includeMaxOutputTokensDescription": "Envoyer le paramètre de tokens de sortie maximum dans les requêtes API. Certains fournisseurs peuvent ne pas supporter cela.",
	"limitMaxTokensDescription": "Limiter le nombre maximum de tokens dans la réponse",
	"maxOutputTokensLabel": "Tokens de sortie maximum",
	"maxTokensGenerateDescription": "Tokens maximum à générer dans la réponse",
	"serviceTier": {
		"label": "Niveau de service",
		"tooltip": "Pour un traitement plus rapide des demandes d'API, essayez le niveau de service de traitement prioritaire. Pour des prix plus bas avec une latence plus élevée, essayez le niveau de traitement flexible.",
		"standard": "Standard",
		"flex": "Flexible",
		"priority": "Priorité",
		"pricingTableTitle": "Tarification par niveau de service (prix par 1M de tokens)",
		"columns": {
			"tier": "Niveau",
			"input": "Entrée",
			"output": "Sortie",
			"cacheReads": "Lectures du cache"
		}
	},
	"ui": {
		"collapseThinking": {
			"label": "Réduire les messages de réflexion par défaut",
			"description": "Si activé, les blocs de réflexion seront réduits par défaut jusqu'à ce que vous interagissiez avec eux"
		},
		"requireCtrlEnterToSend": {
			"label": "Exiger {{primaryMod}}+Entrée pour envoyer les messages",
			"description": "Lorsqu'activé, tu dois appuyer sur {{primaryMod}}+Entrée pour envoyer des messages au lieu de simplement Entrée"
		}
	},
	"skills": {
		"description": "Gérez les skills qui fournissent des instructions contextuelles à l'agent. Les skills sont automatiquement appliquées lorsqu'elles sont pertinentes pour vos tâches. <DocsLink>En savoir plus</DocsLink>",
		"workspaceSkills": "Skills de l'espace de travail",
		"globalSkills": "Skills Globales",
		"noWorkspaceSkills": "Aucune skill dans ce projet pour le moment.",
		"noGlobalSkills": "Aucune skill globale configurée. Créez-en une pour ajouter des capacités à l'agent disponibles dans tous les projets.",
		"addSkill": "Ajouter une Skill",
		"editSkill": "Modifier la skill",
		"deleteSkill": "Supprimer la skill",
		"configureModes": "Disponibilité du mode",
		"modeAny": "N'importe quel mode",
		"modeCount": "{{count}} modes",
		"deleteDialog": {
			"title": "Supprimer la Skill",
			"description": "Êtes-vous sûr de vouloir supprimer la skill \"{{name}}\" ? Cette action ne peut pas être annulée.",
			"confirm": "Supprimer",
			"cancel": "Annuler"
		},
		"modeDialog": {
			"title": "Configurer les modes Skill",
			"description": "Choisissez les modes qui peuvent utiliser cette skill",
			"intro": "Pour garder votre contexte léger, nous vous recommandons de ne mettre les skills à disposition que pour les modes qui en ont besoin.",
			"anyMode": "N'importe quel mode (disponible partout)",
			"save": "Enregistrer",
			"cancel": "Annuler"
		},
		"createDialog": {
			"title": "Créer une Nouvelle Skill",
			"nameLabel": "Nom",
			"namePlaceholder": "mon-nom-de-skill",
			"descriptionLabel": "Description",
			"descriptionPlaceholder": "Décrivez quand cette skill devrait être utilisée...",
			"sourceLabel": "Emplacement",
			"modeLabel": "Mode (optionnel)",
			"modePlaceholder": "N'importe quel mode",
			"modeHint": "Restreindre cette skill à un mode spécifique",
			"modeAny": "N'importe quel mode",
			"create": "Créer",
			"cancel": "Annuler"
		},
		"source": {
			"global": "Globale (disponible dans tous les projets)",
			"project": "Projet (cet espace de travail uniquement)"
		},
		"validation": {
			"nameRequired": "Le nom est obligatoire",
			"nameTooLong": "Le nom doit contenir au maximum 64 caractères",
			"nameInvalid": "Le nom doit contenir entre 1 et 64 lettres minuscules, chiffres ou tirets",
			"descriptionRequired": "La description est obligatoire",
			"descriptionTooLong": "La description doit contenir au maximum 1024 caractères"
		},
		"footer": "Créez vos propres skills avec le mode Skill Writer, disponible dans le <MarketplaceLink>Modes Marketplace</MarketplaceLink>."
	}
}
