{"accountSettingsConnected.meta.title":"Comptes connectés — E-Code","accountSettingsConnected.meta.description":"Connectez des intégrations de dépôts et gérez les fournisseurs d’identité associés à votre compte E-Code.","accountSettingsConnected.page.title":"Comptes connectés","accountSettingsConnected.page.description":"Gérez les intégrations utilisées par l’agent et les fournisseurs d’identité utilisés pour vous connecter à votre compte.","accountSettingsConnected.provider.githubIntegration.title":"GitHub","accountSettingsConnected.provider.githubIntegration.detail":"Connecté pour importer des dépôts, effectuer des push et créer des pull requests.","accountSettingsConnected.provider.githubIdentity.title":"GitHub (connexion)","accountSettingsConnected.provider.githubIdentity.detail":"Utilisez GitHub pour vous connecter à ce compte.","accountSettingsConnected.provider.googleIdentity.title":"Google","accountSettingsConnected.provider.googleIdentity.detail":"Connectez-vous avec Google et vérifiez les domaines de l’entreprise.","accountSettingsConnected.provider.microsoftIdentity.title":"Microsoft Entra ID","accountSettingsConnected.provider.microsoftIdentity.detail":"La configuration OIDC peut être activée dans les paramètres SSO de l’entreprise.","accountSettingsConnected.provider.fallback":"Fournisseur d’identité","accountSettingsConnected.oauth.linked":"{provider} a été associé à votre compte.","accountSettingsConnected.oauth.linkFailed":"Impossible d’associer {provider}. {reason}","accountSettingsConnected.oauth.error.cancelled":"La demande a été annulée ou refusée.","accountSettingsConnected.oauth.error.expired":"La session a expiré. Recommencez.","accountSettingsConnected.oauth.error.temporary":"Le fournisseur d’identité est temporairement indisponible. Réessayez dans quelques instants.","accountSettingsConnected.oauth.error.generic":"Impossible de terminer la demande. Réessayez.","accountSettingsConnected.load.integration.loading":"Chargement des connexions aux intégrations","accountSettingsConnected.load.integration.title":"Impossible de charger les connexions aux intégrations","accountSettingsConnected.load.integration.description":"L’état actuel des intégrations est indisponible. Aucune connexion n’a été modifiée. Rechargez cette section pour réessayer.","accountSettingsConnected.load.identity.loading":"Chargement des connexions utilisées pour se connecter","accountSettingsConnected.load.identity.title":"Impossible de charger les connexions utilisées pour se connecter","accountSettingsConnected.load.identity.description":"L’état actuel des fournisseurs de connexion est indisponible. Aucune connexion n’a été modifiée. Rechargez cette section pour réessayer.","accountSettingsConnected.load.alerts.loading":"Chargement des alertes de connexion","accountSettingsConnected.load.alerts.title":"Impossible de charger les alertes de connexion","accountSettingsConnected.load.alerts.description":"Les alertes sur l’état des connexions sont temporairement indisponibles. Rechargez cette section pour réessayer.","accountSettingsConnected.load.permission.description":"Votre compte ne dispose pas de l’autorisation nécessaire pour consulter ces informations de connexion.","accountSettingsConnected.load.retry":"Recharger les comptes connectés","accountSettingsConnected.status.needsReconnect":"À reconnecter","accountSettingsConnected.status.connected":"Connecté","accountSettingsConnected.status.notConnected":"Non connecté","accountSettingsConnected.status.unavailable":"Indisponible","accountSettingsConnected.connection.account":"Compte {account}","accountSettingsConnected.connection.linkedSince":"Associé depuis le {date}","accountSettingsConnected.connection.dateUnavailable":"Date indisponible","accountSettingsConnected.action.connect":"Connecter","accountSettingsConnected.action.connecting":"Connexion…","accountSettingsConnected.action.connectAria":"Connecter {provider}","accountSettingsConnected.action.connectingAria":"Connexion à {provider} en cours","accountSettingsConnected.action.link":"Associer","accountSettingsConnected.action.linkAria":"Associer {provider} à ce compte","accountSettingsConnected.action.reconnect":"Reconnecter","accountSettingsConnected.action.reconnecting":"Reconnexion…","accountSettingsConnected.action.reconnectAria":"Reconnecter {provider}","accountSettingsConnected.action.reconnectingAria":"Reconnexion à {provider} en cours","accountSettingsConnected.action.dismiss":"Ignorer","accountSettingsConnected.action.dismissing":"Traitement…","accountSettingsConnected.action.dismissAria":"Ignorer l’alerte de reconnexion à {provider}","accountSettingsConnected.action.disconnect":"Déconnecter","accountSettingsConnected.action.disconnecting":"Déconnexion…","accountSettingsConnected.action.disconnectAria":"Déconnecter {provider}","accountSettingsConnected.action.unlink":"Dissocier","accountSettingsConnected.action.unlinking":"Dissociation…","accountSettingsConnected.action.unlinkAria":"Dissocier {provider} de ce compte","accountSettingsConnected.alert.count_one":"{count} connexion doit être rétablie","accountSettingsConnected.alert.count_other":"{count} connexions doivent être rétablies","accountSettingsConnected.alert.reason.tokenRevoked":"le jeton d’accès enregistré a été révoqué ou a expiré","accountSettingsConnected.alert.reason.generic":"les identifiants enregistrés ne sont plus valides","accountSettingsConnected.alert.detected":"Détectée le {date}","accountSettingsConnected.dialog.disconnect.title":"Déconnecter {provider} ?","accountSettingsConnected.dialog.disconnect.description":"L’accès de l’agent via cette intégration sera interrompu. Vous devrez vous reconnecter via OAuth pour le rétablir.","accountSettingsConnected.dialog.disconnect.confirm":"Déconnecter l’intégration","accountSettingsConnected.dialog.unlink.title":"Dissocier {provider} ?","accountSettingsConnected.dialog.unlink.description":"Vous ne pourrez plus utiliser ce fournisseur pour vous connecter. Vérifiez qu’une autre méthode de connexion est disponible.","accountSettingsConnected.dialog.unlink.confirm":"Dissocier le fournisseur","accountSettingsConnected.dialog.cancel":"Annuler","accountSettingsConnected.success.identityUnlinked":"Le fournisseur de connexion a été dissocié de votre compte.","accountSettingsConnected.error.unsupportedAction":"Cette action sur les comptes connectés n’est pas prise en charge.","accountSettingsConnected.error.invalidProvider":"Sélectionnez un fournisseur d’identité pris en charge, puis réessayez.","accountSettingsConnected.error.lastLoginMethod":"Il s’agit de votre seule méthode de connexion. Définissez un mot de passe ou associez un autre fournisseur avant de la dissocier.","accountSettingsConnected.error.connectionNotFound":"Cette connexion n’existe plus. Rechargez les comptes connectés, puis réessayez.","accountSettingsConnected.error.sessionExpired":"Votre session a expiré. Connectez-vous de nouveau, puis réessayez.","accountSettingsConnected.error.permissionDenied":"Vous ne disposez pas de l’autorisation nécessaire pour modifier cette connexion.","accountSettingsConnected.error.rateLimited":"Trop de tentatives ont été effectuées. Patientez un instant, puis réessayez.","accountSettingsConnected.error.invalidRequest":"La demande de connexion est invalide. Rechargez la page, puis réessayez.","accountSettingsConnected.error.invalidResponse":"Le service de connexion a renvoyé une réponse invalide. Aucune connexion n’a été modifiée.","accountSettingsConnected.error.serviceUnavailable":"La gestion des comptes connectés est temporairement indisponible. Réessayez dans quelques instants.","accountSettingsConnected.error.connectFailed":"Impossible de démarrer la connexion. Réessayez.","accountSettingsConnected.error.reconnectFailed":"Impossible de démarrer la reconnexion. Réessayez.","accountSettingsConnected.error.dismissFailed":"Impossible d’ignorer cette alerte. Réessayez.","accountSettingsConnected.error.disconnectFailed":"Impossible de déconnecter ce compte. Réessayez.","accountSettingsConnected.error.unlinkFailed":"Impossible de dissocier ce fournisseur de connexion. Réessayez.","accountSettingsConnected.error.popupBlocked":"La fenêtre OAuth a été bloquée. Autorisez les fenêtres contextuelles pour ce site, puis réessayez.","accountSettingsConnected.error.popupClosed":"La fenêtre OAuth a été fermée avant la fin de la connexion. Réessayez.","accountSettingsConnected.error.oauthFailed":"Impossible de terminer la connexion OAuth. Réessayez.","appliedFilesToast.title_one":"{count} fichier appliqué","appliedFilesToast.title_other":"{count} fichiers appliqués","appliedFilesToast.description":"Les patchs de l’agent ont bien été appliqués.","appliedFilesToast.incomplete":"La génération s’est arrêtée en route — l’application ne peut pas encore démarrer.","appliedFilesToast.missingEntry":"index.html réclame {module}, qui n’a jamais été écrit.","appliedFilesToast.details":"Afficher les détails","appliedFilesToast.remaining_one":"{count} fichier supplémentaire","appliedFilesToast.remaining_other":"{count} fichiers supplémentaires","appliedFilesToast.undoAll":"Tout annuler","appliedFilesToast.dismissAll":"Tout fermer","adminOauth.meta.title":"Fournisseurs OAuth — Administration E-Code","adminOauth.meta.description":"Configurez les applications de connexion OAuth, les connecteurs Git et les connecteurs par clé API propres à chaque utilisateur pour E-Code.","adminOauth.page.title":"Fournisseurs OAuth","adminOauth.page.description":"Configurez les applications OAuth utilisées pour l’authentification et les connecteurs Git. Saisissez l’identifiant client et le secret de chaque fournisseur, puis enregistrez l’URL de rappel ci-dessous dans sa console. Les modifications s’appliquent immédiatement, sans redéploiement.","adminOauth.section.login.title":"Fournisseurs de connexion (modifiables)","adminOauth.section.login.description":"Ces applications OAuth permettent la connexion par un service tiers. Les identifiants enregistrés ici sont chiffrés et prioritaires sur les variables d’environnement. En l’absence d’identifiants en base de données, le service conserve le repli vers ces variables.","adminOauth.section.login.empty":"Aucun fournisseur de connexion n’est disponible.","adminOauth.section.connector.title":"Connecteurs Git (modifiables)","adminOauth.section.connector.description":"Ces applications OAuth alimentent le parcours Connecter dans l’IDE. Elles sont distinctes des applications de connexion, car leurs URL de rappel diffèrent.","adminOauth.section.connector.empty":"Aucun connecteur Git n’est disponible.","adminOauth.section.apikey.title":"Connecteurs par clé API (jeton propre à chaque utilisateur)","adminOauth.section.apikey.description":"Ces connecteurs de déploiement et de base de données utilisent un jeton d’accès personnel plutôt qu’une application OAuth partagée. Chaque utilisateur saisit son jeton dans le panneau Connecter de l’IDE ; celui-ci est validé en direct et stocké sous forme chiffrée. Activez ou désactivez ici chaque connecteur pour toute l’instance.","adminOauth.section.apikey.empty":"Aucun connecteur par clé API n’est disponible.","adminOauth.count.provider_one":"{count} fournisseur","adminOauth.count.provider_other":"{count} fournisseurs","adminOauth.field.callbackUrl":"URL de rappel ou de redirection (à enregistrer dans la console du fournisseur)","adminOauth.field.readOnlyHint":"Valeur en lecture seule. Placez le focus dans le champ pour sélectionner l’URL complète.","adminOauth.field.clientId":"Identifiant client","adminOauth.field.clientIdPlaceholder":"Identifiant client de l’application OAuth","adminOauth.field.clientSecret":"Secret client","adminOauth.field.clientSecretKeep":"Secret client (laissez vide pour conserver le secret actuel)","adminOauth.field.clientSecretPlaceholder":"Secret client de l’application OAuth","adminOauth.field.clientSecretKeepPlaceholder":"•••••••• (inchangé)","adminOauth.field.scopes":"Autorisations OAuth (facultatives, séparées par des espaces ou des virgules)","adminOauth.field.enabledLogin":"Activé (afficher ce bouton de connexion)","adminOauth.field.enabled":"Activé","adminOauth.field.enabledForUsers":"Activé (disponible pour les utilisateurs)","adminOauth.field.password":"Confirmez avec votre mot de passe","adminOauth.field.scopesLabel":"Autorisations OAuth :","adminOauth.field.tokenConsole":"Console de création du jeton :","adminOauth.field.connectEndpoint":"Point de terminaison de connexion par utilisateur :","adminOauth.field.environmentFallback":"Les identifiants des variables d’environnement sont actuellement utilisés. L’enregistrement d’identifiants ici remplace ce repli.","adminOauth.action.save":"Enregistrer {provider}","adminOauth.action.saving":"Enregistrement de {provider}…","adminOauth.status.enabledSecret":"Activé · secret configuré","adminOauth.status.enabledNoSecret":"Activé · aucun secret","adminOauth.status.disabled":"Désactivé","adminOauth.status.apiKeyEnabled":"Activé · clé API par utilisateur","adminOauth.success.loginSaved":"Configuration « {provider} » enregistrée.","adminOauth.success.connectorSaved":"Configuration du connecteur Git {provider} enregistrée.","adminOauth.success.apiKeySaved":"Configuration du connecteur par clé API {provider} enregistrée.","adminOauth.error.providerRequired":"Sélectionnez un fournisseur.","adminOauth.error.connectorTypeUnsupported":"Sélectionnez un type de fournisseur ou de connecteur pris en charge.","adminOauth.error.providerUnsupported":"Ce fournisseur n’est pas pris en charge pour le type de connecteur sélectionné.","adminOauth.error.passwordRequired":"Saisissez votre mot de passe pour confirmer cette modification.","adminOauth.error.incorrectPassword":"Mot de passe incorrect. Saisissez-le de nouveau pour confirmer cette modification.","adminOauth.error.reauthExpired":"La réauthentification a expiré. Saisissez votre mot de passe, puis renvoyez le formulaire.","adminOauth.error.platformAdminRequired":"Cette action nécessite un compte administrateur de la plateforme.","adminOauth.error.requestRejected":"La requête a été refusée. Vérifiez vos autorisations, puis réessayez.","adminOauth.error.invalidConfiguration":"La configuration du fournisseur a été refusée. Vérifiez les valeurs, puis réessayez.","adminOauth.error.conflict":"La configuration du fournisseur a changé pendant la requête. Rechargez la page, puis réessayez.","adminOauth.error.rateLimited":"Trop de requêtes ont été envoyées. Patientez un instant, puis réessayez.","adminOauth.error.saveFailed":"Impossible d’enregistrer la configuration du fournisseur. Réessayez.","adminOauth.error.serviceUnavailable":"Le service d’administration est inaccessible. Réessayez dans un instant.","adminOauth.howTo.summary":"Configurer ce fournisseur","adminOauth.howTo.console":"Console du fournisseur :","adminOauth.howTo.login.github.consolePath":"Paramètres développeur → Applications OAuth → Nouvelle application OAuth","adminOauth.howTo.login.github.step1":"Définissez « URL de rappel d’autorisation » sur l’URL de rappel affichée ci-dessus.","adminOauth.howTo.login.github.step2":"Copiez l’identifiant client et générez un secret client.","adminOauth.howTo.login.github.step3":"Saisissez les deux valeurs ici, puis enregistrez. La connexion devient immédiatement disponible, sans redéploiement.","adminOauth.howTo.login.google.consolePath":"API et services → Identifiants → Créer un identifiant client OAuth (Application Web)","adminOauth.howTo.login.google.step1":"Ajoutez l’URL de rappel ci-dessus aux « URI de redirection autorisés ».","adminOauth.howTo.login.google.step2":"Configurez l’écran de consentement OAuth avec les autorisations email et profile si nécessaire.","adminOauth.howTo.login.google.step3":"Copiez l’identifiant client et le secret client, saisissez-les ici, puis enregistrez.","adminOauth.howTo.connector.github.consolePath":"Paramètres développeur → Applications OAuth (utilisez une application distincte de la connexion)","adminOauth.howTo.connector.github.step1":"Utilisez l’URL de rappel du connecteur affichée ci-dessus, qui se termine par /integrations/oauth/github/callback.","adminOauth.howTo.connector.github.step2":"Accordez les autorisations repo, read:user et user:email.","adminOauth.howTo.connector.gitlab.consolePath":"Paramètres utilisateur → Applications","adminOauth.howTo.connector.gitlab.step1":"Définissez l’URI de redirection sur l’URL de rappel du connecteur affichée ci-dessus.","adminOauth.howTo.connector.gitlab.step2":"Accordez les autorisations read_user, read_api, read_repository et write_repository.","adminOauth.howTo.connector.bitbucket.consolePath":"Paramètres personnels → Consommateurs OAuth","adminOauth.howTo.connector.bitbucket.step1":"Définissez l’URL de rappel sur l’URL du connecteur affichée ci-dessus.","adminOauth.howTo.connector.bitbucket.step2":"Accordez les autorisations de compte, de lecture et d’écriture des dépôts, et de gestion des pull requests.","adminOauth.howTo.apikey.vercel":"Créez un jeton dans les paramètres du compte. Les utilisateurs le saisissent dans le panneau Connecter de l’IDE et les déploiements ciblent leur propre compte Vercel.","adminOauth.howTo.apikey.netlify":"Créez un jeton d’accès personnel dans les paramètres des applications utilisateur. Il autorise les déploiements vers le compte Netlify de l’utilisateur.","adminOauth.howTo.apikey.supabase":"Générez un jeton d’accès dans les paramètres du compte. Le panneau Base de données l’utilise pour répertorier les projets et établir une connexion.","adminOauth.provider.login.github":"GitHub (connexion)","adminOauth.provider.login.google":"Google (connexion)","adminOauth.provider.connector.github":"GitHub","adminOauth.provider.connector.gitlab":"GitLab","adminOauth.provider.connector.bitbucket":"Bitbucket","adminOauth.provider.apikey.vercel":"Vercel","adminOauth.provider.apikey.netlify":"Netlify","adminOauth.provider.apikey.supabase":"Supabase","adminOauth.provider.unknown":"Fournisseur inconnu","adminBilling.meta.title":"Administration de la facturation — Administration E-Code","adminBilling.meta.description":"Consultez les offres et abonnements E-Code, puis créez des dérogations auditées de quota ou d’offre.","adminBilling.page.title":"Administration de la facturation","adminBilling.page.description":"Consultez les offres configurées et les abonnements récents, puis créez des dérogations auditées de quota ou d’offre pour les organisations Enterprise.","adminBilling.quota.title":"Créer une dérogation de quota","adminBilling.quota.description":"Définissez une limite entière positive ou nulle pour une organisation et une clé de quota. Le motif est enregistré dans le journal d’audit de l’administration.","adminBilling.planOverride.title":"Appliquer une dérogation d’offre","adminBilling.planOverride.description":"Attribuez une offre de facturation configurée à une organisation. Cette modification est enregistrée avec le motif que vous fournissez.","adminBilling.field.organizationId":"ID de l’organisation","adminBilling.field.quotaKey":"Clé de quota","adminBilling.field.limit":"Limite","adminBilling.field.reason":"Motif","adminBilling.field.quotaReasonPlaceholder":"Extension contractuelle","adminBilling.field.planReasonPlaceholder":"Correction contractuelle","adminBilling.field.password":"Confirmez avec votre mot de passe","adminBilling.field.plan":"Offre","adminBilling.field.planUnavailable":"Aucune offre configurée n’est disponible","adminBilling.field.planOption":"{name} — {price}","adminBilling.action.createQuota":"Créer la dérogation de quota","adminBilling.action.creatingQuota":"Création de la dérogation de quota…","adminBilling.action.applyPlan":"Appliquer la dérogation d’offre","adminBilling.action.applyingPlan":"Application de la dérogation d’offre…","adminBilling.plans.title":"Offres configurées","adminBilling.plans.count_one":"{count} offre configurée","adminBilling.plans.count_other":"{count} offres configurées","adminBilling.plans.empty":"Aucune offre de facturation n’est configurée.","adminBilling.plans.monthlyPrice":"{amount} par mois","adminBilling.subscriptions.title":"Abonnements récents","adminBilling.subscriptions.count_one":"{count} abonnement récent","adminBilling.subscriptions.count_other":"{count} abonnements récents","adminBilling.subscriptions.empty":"Aucun abonnement n’a encore été enregistré.","adminBilling.subscriptions.organization":"Organisation","adminBilling.subscriptions.plan":"Offre","adminBilling.subscriptions.status":"Statut","adminBilling.subscriptions.stripeId":"Abonnement Stripe","adminBilling.subscriptions.periodEnd":"Fin de période","adminBilling.subscriptions.manual":"Manuel","adminBilling.subscriptions.dateNotSet":"Non définie","adminBilling.subscriptions.dateInvalid":"Date indisponible","adminBilling.subscriptions.cancellationScheduled":"Résiliation programmée","adminBilling.subscriptions.status.trialing":"Période d’essai","adminBilling.subscriptions.status.active":"Actif","adminBilling.subscriptions.status.pastDue":"Paiement en retard","adminBilling.subscriptions.status.canceled":"Résilié","adminBilling.subscriptions.status.unpaid":"Impayé","adminBilling.subscriptions.status.unknown":"Statut inconnu","adminBilling.success.quotaCreated":"Dérogation de quota créée.","adminBilling.success.planCreated":"Dérogation d’offre appliquée.","adminBilling.error.invalidIntent":"Sélectionnez une modification de facturation prise en charge.","adminBilling.error.passwordRequired":"Saisissez votre mot de passe pour confirmer cette modification de facturation.","adminBilling.error.organizationRequired":"Saisissez un ID d’organisation.","adminBilling.error.quotaKeyRequired":"Saisissez une clé de quota.","adminBilling.error.limitRequired":"Saisissez une limite de quota.","adminBilling.error.invalidLimit":"Saisissez une limite de quota entière, positive ou nulle.","adminBilling.error.planRequired":"Sélectionnez une offre.","adminBilling.error.reasonRequired":"Saisissez un motif pour cette dérogation d’offre.","adminBilling.error.incorrectPassword":"Mot de passe incorrect. Saisissez-le de nouveau pour confirmer cette modification de facturation.","adminBilling.error.reauthExpired":"La réauthentification a expiré. Saisissez votre mot de passe, puis renvoyez le formulaire.","adminBilling.error.platformAdminRequired":"Cette action nécessite un compte administrateur de la plateforme.","adminBilling.error.requestRejected":"La requête a été refusée. Vérifiez vos autorisations, puis réessayez.","adminBilling.error.invalidChange":"La modification de facturation a été refusée. Vérifiez les valeurs, puis réessayez.","adminBilling.error.resourceNotFound":"L’organisation, l’offre ou la ressource de quota n’est plus disponible. Rechargez la page, puis réessayez.","adminBilling.error.conflict":"Les données de facturation ont changé pendant la requête. Rechargez la page, puis réessayez.","adminBilling.error.rateLimited":"Trop de requêtes ont été envoyées. Patientez un instant, puis réessayez.","adminBilling.error.quotaSaveFailed":"Impossible de créer la dérogation de quota. Réessayez.","adminBilling.error.planSaveFailed":"Impossible d’appliquer la dérogation d’offre. Réessayez.","adminBilling.error.serviceUnavailable":"Le service de facturation est inaccessible. Réessayez dans un instant.","adminBilling.audit.defaultQuotaReason":"Dérogation de facturation créée par l’administration","adminInfrastructure.unavailable.title":"Infrastructure","adminInfrastructure.unavailable.description":"Les métriques de capacité en direct sont temporairement indisponibles, car un service du cluster n’a pas répondu. Cette vue en lecture seule s’actualise lorsque vous rechargez la page.","adminInfrastructure.alert.critical":"Critique","adminInfrastructure.alert.warning":"Avertissement","adminInfrastructure.alert.nodeCritical":"Le pool de nœuds « {pool} » utilise {current}/{max} nœuds ({percent} % du maximum d’autoscaling). Le pool ne peut plus évoluer ; augmentez le nombre maximal de nœuds.","adminInfrastructure.alert.nodeWarning":"Le pool de nœuds « {pool} » utilise {current}/{max} nœuds ({percent} % du maximum d’autoscaling). Il approche de sa limite ; envisagez d’augmenter le nombre maximal de nœuds.","adminInfrastructure.alert.cpu":"Le CPU réservé sur « {pool} » représente {percent} % de la capacité allouable. La planification de nouveaux espaces de travail peut échouer ; libérez les espaces inactifs ou augmentez le maximum d’autoscaling.","adminInfrastructure.alert.fallback":"Le cluster a signalé une alerte de capacité. Consultez les métriques en direct ci-dessous avant de modifier la capacité.","adminInfrastructure.page.title":"Infrastructure et capacité","adminInfrastructure.page.description":"État en direct du cluster pour le pool d’espaces de travail « {pool} ». L’autoscaling fonctionne automatiquement entre son minimum et son maximum ; augmentez le maximum uniquement lorsque le pool reste proche de sa limite.","adminInfrastructure.stat.runningWorkspaces":"Espaces de travail actifs","adminInfrastructure.stat.pods_one":"{count} pod au total","adminInfrastructure.stat.pods_other":"{count} pods au total","adminInfrastructure.stat.idleStopped":"Arrêtés pour inactivité","adminInfrastructure.stat.reclaimed":"récupérés par le nettoyage automatique","adminInfrastructure.stat.nodes":"Nœuds","adminInfrastructure.stat.minMax":"min. {min} · max. {max}","adminInfrastructure.stat.autoscalingUnavailable":"autoscaling indisponible","adminInfrastructure.stat.autoscaling":"Autoscaling","adminInfrastructure.stat.healthy":"Opérationnel","adminInfrastructure.stat.degraded":"Dégradé","adminInfrastructure.stat.automaticScaling":"augmentation et réduction automatiques","adminInfrastructure.meter.cpuReserved":"CPU réservé (requêtes)","adminInfrastructure.meter.cpuUsed":"CPU utilisé (en direct)","adminInfrastructure.meter.memoryReserved":"Mémoire réservée","adminInfrastructure.meter.nodesMaximum":"Nœuds par rapport au maximum","adminInfrastructure.meter.cores":"{used} / {total} cœurs","adminInfrastructure.meter.memory":"{used} / {total} Gio","adminInfrastructure.meter.nodes":"{current} nœuds sur {max}","adminInfrastructure.meter.unavailable":"indisponible","adminInfrastructure.meter.progress":"{label} : {percent} %","adminInfrastructure.organizations.title":"Espaces de travail actifs par organisation","adminInfrastructure.snapshot":"Instantané du {date}","adminInfrastructure.dateUnavailable":"date indisponible","adminStripe.meta.title":"Configuration Stripe — Administration E-Code","adminStripe.meta.description":"Configurez les identifiants Stripe chiffrés, les IDs de prix par offre et la relance des webhooks en échec pour E-Code.","adminStripe.page.title":"Configuration Stripe","adminStripe.page.description":"Saisissez la clé secrète Stripe active et le secret de signature des webhooks, qui sont chiffrés et accessibles uniquement en écriture, puis configurez les IDs de prix de chaque offre. La facturation consulte d’abord ces valeurs et se replie sur l’environnement du service API ; laisser un secret vide conserve donc sa valeur actuelle.","adminStripe.section.secrets.title":"Secrets","adminStripe.status.secretKeySet":"Clé secrète configurée","adminStripe.status.secretKeyDatabaseMissing":"Aucune clé secrète en base de données","adminStripe.status.webhookSecretSet":"Secret de webhook configuré","adminStripe.status.webhookSecretDatabaseMissing":"Aucun secret de webhook en base de données","adminStripe.status.live":"Stripe opérationnel","adminStripe.status.notConfigured":"Stripe non configuré","adminStripe.environment.present":"disponible","adminStripe.environment.absent":"indisponible","adminStripe.environment.summary":"Repli vers l’environnement — clé secrète : {secretKeyStatus} ; secret de webhook : {webhookSecretStatus}. Une valeur enregistrée ici remplace son repli vers l’environnement.","adminStripe.field.secretKey":"Clé secrète (sk_live_…)","adminStripe.field.secretKeyKeep":"Clé secrète (laissez vide pour conserver la valeur actuelle)","adminStripe.field.secretKeyPlaceholder":"sk_live_…","adminStripe.field.webhookSecret":"Secret de signature du webhook (whsec_…)","adminStripe.field.webhookSecretKeep":"Secret de signature du webhook (laissez vide pour conserver la valeur actuelle)","adminStripe.field.webhookSecretPlaceholder":"whsec_…","adminStripe.field.secretKeepPlaceholder":"•••••••• (inchangé)","adminStripe.section.prices.title":"IDs de prix des offres","adminStripe.section.prices.empty":"Aucune offre de facturation n’est disponible.","adminStripe.field.productId":"ID du produit","adminStripe.field.legacyPriceId":"ID du prix (ancien format ou repli mensuel)","adminStripe.field.monthlyPriceId":"ID du prix mensuel","adminStripe.field.annualPriceId":"ID du prix annuel","adminStripe.field.productIdPlaceholder":"prod_…","adminStripe.field.priceIdPlaceholder":"price_…","adminStripe.field.password":"Confirmez avec votre mot de passe","adminStripe.action.save":"Enregistrer la configuration Stripe","adminStripe.action.saving":"Enregistrement de la configuration Stripe…","adminStripe.section.webhooks.title":"Webhooks en échec","adminStripe.webhooks.status.healthy":"Toutes les livraisons ont été traitées","adminStripe.webhooks.status.unresolved_one":"{count} livraison non résolue","adminStripe.webhooks.status.unresolved_other":"{count} livraisons non résolues","adminStripe.webhooks.description":"Événements Stripe dont le traitement a échoué après la livraison. La relance fait repasser l’événement enregistré par le même traitement de webhook ; une relance réussie marque la livraison comme résolue.","adminStripe.webhooks.empty":"Aucun webhook en échec.","adminStripe.webhooks.table.event":"Événement","adminStripe.webhooks.table.type":"Type","adminStripe.webhooks.table.attempts":"Tentatives","adminStripe.webhooks.table.lastError":"Dernière erreur","adminStripe.webhooks.table.failedAt":"Échec le","adminStripe.webhooks.table.actions":"Actions","adminStripe.webhooks.attempts_one":"{count} tentative","adminStripe.webhooks.attempts_other":"{count} tentatives","adminStripe.webhooks.failure.masked":"Le traitement a échoué. Utilisez l’ID d’événement Stripe pour retrouver cette livraison dans les journaux serveur.","adminStripe.webhooks.dateUnavailable":"Date indisponible","adminStripe.action.replay":"Relancer","adminStripe.action.replaying":"Relance…","adminStripe.action.replayAll":"Relancer toutes les livraisons en échec","adminStripe.action.replayingAll":"Relance de toutes les livraisons en échec…","adminStripe.success.configurationSaved":"Configuration Stripe enregistrée.","adminStripe.success.webhookReplayed":"Webhook {eventId} relancé avec succès.","adminStripe.success.noFailedWebhooks":"Aucun webhook en échec à relancer.","adminStripe.success.webhooksReplayed_one":"{count} webhook relancé avec succès.","adminStripe.success.webhooksReplayed_other":"{count} webhooks relancés avec succès.","adminStripe.error.eventIdRequired":"Sélectionnez un événement de webhook à relancer.","adminStripe.error.passwordRequired":"Saisissez votre mot de passe pour confirmer cette modification.","adminStripe.error.incorrectPassword":"Mot de passe incorrect. Saisissez-le de nouveau pour confirmer cette modification.","adminStripe.error.reauthExpired":"La réauthentification a expiré. Saisissez votre mot de passe, puis renvoyez le formulaire.","adminStripe.error.platformAdminRequired":"Cette action nécessite un compte administrateur de la plateforme.","adminStripe.error.requestRejected":"La requête a été refusée. Vérifiez vos autorisations, puis réessayez.","adminStripe.error.invalidConfiguration":"La configuration Stripe a été refusée. Vérifiez les valeurs, puis réessayez.","adminStripe.error.webhookFailureNotFound":"Ce webhook en échec n’est plus disponible. Rechargez la page pour afficher les livraisons actuelles.","adminStripe.error.conflict":"La configuration Stripe a changé pendant la requête. Rechargez la page, puis réessayez.","adminStripe.error.rateLimited":"Trop de requêtes ont été envoyées. Patientez un instant, puis réessayez.","adminStripe.error.replayFailed":"Le webhook {eventId} a de nouveau échoué. Utilisez son ID d’événement Stripe pour consulter les journaux serveur avant de réessayer.","adminStripe.error.partialReplay.one_one":"{replayed} webhook relancé avec succès ; {failed} a de nouveau échoué. Consultez les journaux serveur avant de réessayer.","adminStripe.error.partialReplay.one_other":"{replayed} webhook relancé avec succès ; {failed} ont de nouveau échoué. Consultez les journaux serveur avant de réessayer.","adminStripe.error.partialReplay.other_one":"{replayed} webhooks relancés avec succès ; {failed} a de nouveau échoué. Consultez les journaux serveur avant de réessayer.","adminStripe.error.partialReplay.other_other":"{replayed} webhooks relancés avec succès ; {failed} ont de nouveau échoué. Consultez les journaux serveur avant de réessayer.","adminStripe.error.saveFailed":"Impossible d’enregistrer la configuration Stripe. Réessayez.","adminStripe.error.replayUnavailable":"Impossible de relancer le webhook. Réessayez.","adminStripe.error.serviceUnavailable":"Le service d’administration est inaccessible. Réessayez dans un instant.","adminSupportTickets.loading":"Chargement des tickets d’assistance","adminSupportTickets.error.title":"Impossible de charger les tickets d’assistance","adminSupportTickets.error.description":"La liste des tickets est temporairement indisponible. Aucune donnée de ticket ni aucun identifiant administrateur n’a été modifié.","adminSupportTickets.error.retry":"Recharger les tickets d’assistance","adminSupportTickets.error.retrying":"Rechargement des tickets d’assistance…","adminSupportTickets.empty.title":"Aucun ticket d’assistance","adminSupportTickets.empty.description":"Les nouvelles demandes des clients apparaîtront ici dès leur envoi.","adminSupportTickets.count_one":"{count} ticket d’assistance","adminSupportTickets.count_other":"{count} tickets d’assistance","adminSupportTickets.table.caption":"Tickets d’assistance, échéances de réponse, responsables et actions","adminSupportTickets.table.scrollLabel":"Tableau défilant des tickets d’assistance","adminSupportTickets.reauth.title":"Confirmez les modifications avec votre mot de passe","adminSupportTickets.reauth.description":"La réponse à un ticket et son attribution sont protégées par une authentification renforcée. Saisissez votre mot de passe une fois, puis intervenez sur les tickets ci-dessous. Il est envoyé uniquement avec l’action et n’est jamais conservé.","adminSupportTickets.reauth.passwordLabel":"Mot de passe administrateur","adminSupportTickets.reauth.passwordPlaceholder":"Votre mot de passe","adminSupportTickets.column.subject":"Objet","adminSupportTickets.column.status":"État","adminSupportTickets.column.created":"Créé","adminSupportTickets.column.due":"Échéance de première réponse","adminSupportTickets.column.assignee":"Responsable","adminSupportTickets.column.actions":"Actions","adminSupportTickets.sortBy":"Trier par {column}","adminSupportTickets.status.open":"Ouvert","adminSupportTickets.status.pending":"En attente","adminSupportTickets.status.resolved":"Résolu","adminSupportTickets.status.closed":"Fermé","adminSupportTickets.status.unknown":"Inconnu","adminSupportTickets.dateUnavailable":"Date indisponible","adminSupportTickets.sla.unavailable":"Échéance de réponse indisponible","adminSupportTickets.sla.responded":"Réponse envoyée","adminSupportTickets.sla.overdue":"En retard","adminSupportTickets.sla.due":"Échéance","adminSupportTickets.sla.plan":"SLA {plan}","adminSupportTickets.organizationIdentifier":"organisation {id}","adminSupportTickets.userIdentifier":"utilisateur {id}","adminSupportTickets.assigneeFor":"Responsable du ticket {subject}","adminSupportTickets.assignee.unassigned":"Non attribué","adminSupportTickets.assignee.assigning":"Mise à jour du responsable…","adminSupportTickets.action.respond":"Répondre","adminSupportTickets.action.close":"Fermer","adminSupportTickets.form.newStatus":"Nouvel état","adminSupportTickets.form.response":"Réponse","adminSupportTickets.form.responsePlaceholder":"Rédigez votre réponse au client…","adminSupportTickets.form.sending":"Envoi…","adminSupportTickets.form.sendResponse":"Envoyer la réponse","adminSupportTickets.form.passwordFirst":"Saisissez d’abord votre mot de passe ci-dessus.","adminSupportTickets.feedback.assignmentSuccess":"Attribution du ticket mise à jour.","adminSupportTickets.feedback.assignmentError":"Impossible de modifier l’attribution du ticket. Vérifiez vos droits, puis réessayez.","adminSupportTickets.feedback.responseSuccess":"Réponse envoyée et état du ticket mis à jour.","adminSupportTickets.feedback.responseError":"Impossible d’envoyer la réponse. Vérifiez vos droits, puis réessayez.","adminWallets.meta.title":"Portefeuilles de crédits — Administration E-Code","adminWallets.meta.description":"Consultez les portefeuilles de crédits des organisations et appliquez des ajustements audités, confirmés par mot de passe.","adminWallets.page.title":"Portefeuilles de crédits","adminWallets.page.description":"Consultez les soldes, plafonds budgétaires et seuils d’arrêt des organisations. Chaque crédit ou débit ci-dessous crée un ajustement auditable dans le registre et met à jour le solde de façon atomique.","adminWallets.wallets.title":"Portefeuilles des organisations","adminWallets.wallets.count_one":"{count} portefeuille","adminWallets.wallets.count_other":"{count} portefeuilles","adminWallets.wallets.loading":"Chargement des portefeuilles de crédits","adminWallets.wallets.errorTitle":"Impossible de charger les portefeuilles de crédits","adminWallets.wallets.errorDescription":"Aucun portefeuille n’a été modifié. Rechargez ce panneau pour obtenir les soldes les plus récents. Vous pouvez tout de même saisir manuellement l’ID d’une organisation ci-dessous.","adminWallets.wallets.retry":"Recharger les portefeuilles","adminWallets.wallets.emptyTitle":"Aucun portefeuille de crédits pour le moment","adminWallets.wallets.emptyDescription":"Les portefeuilles apparaissent ici dès qu’une organisation reçoit ou utilise des crédits.","adminWallets.table.organization":"Organisation","adminWallets.table.balance":"Solde","adminWallets.table.budgetCap":"Plafond budgétaire","adminWallets.table.shutdownAt":"Seuil d’arrêt","adminWallets.table.updated":"Dernière modification","adminWallets.table.dateUnavailable":"Date indisponible","adminWallets.form.title":"Ajuster un solde","adminWallets.form.description":"Confirmez l’organisation, le sens et le montant en USD. Le motif est enregistré définitivement dans le registre des crédits.","adminWallets.field.organization":"ID de l’organisation","adminWallets.field.organizationPlaceholder":"ID de l’organisation","adminWallets.field.direction":"Sens","adminWallets.direction.credit":"Créditer (ajouter des fonds)","adminWallets.direction.debit":"Débiter (retirer des fonds)","adminWallets.field.amount":"Montant (USD)","adminWallets.field.amountPlaceholder":"10,00","adminWallets.field.reason":"Motif (enregistré dans le journal d’audit)","adminWallets.field.reasonPlaceholder":"Crédit commercial ou correction manuelle","adminWallets.field.password":"Confirmez avec votre mot de passe","adminWallets.action.apply":"Appliquer l’ajustement","adminWallets.action.applying":"Application de l’ajustement…","adminWallets.success.credited":"Crédit de {amount} appliqué à {organization}. Nouveau solde : {balance}.","adminWallets.success.debited":"Débit de {amount} appliqué à {organization}. Nouveau solde : {balance}.","adminWallets.error.organizationRequired":"Choisissez une organisation à ajuster.","adminWallets.error.organizationInvalid":"Saisissez un ID d’organisation valide.","adminWallets.error.directionInvalid":"Choisissez de créditer ou de débiter.","adminWallets.error.amountRequired":"Saisissez un montant.","adminWallets.error.amountInvalid":"Saisissez un montant supérieur à zéro.","adminWallets.error.amountPrecision":"Saisissez un montant comportant au maximum deux décimales.","adminWallets.error.amountTooLarge":"Saisissez un montant d’ajustement inférieur.","adminWallets.error.reasonRequired":"Saisissez un motif — il est enregistré dans le journal d’audit.","adminWallets.error.reasonTooLong":"Limitez le motif à 500 caractères.","adminWallets.error.passwordRequired":"Saisissez votre mot de passe pour confirmer cette modification.","adminWallets.error.incorrectPassword":"Mot de passe incorrect. Saisissez-le de nouveau pour confirmer cette modification.","adminWallets.error.reauthExpired":"La réauthentification a expiré. Saisissez votre mot de passe, puis renvoyez le formulaire.","adminWallets.error.platformAdminRequired":"Cette action nécessite un compte administrateur de la plateforme.","adminWallets.error.requestRejected":"La requête a été refusée. Vérifiez vos autorisations, puis réessayez.","adminWallets.error.adjustmentRejected":"L’ajustement du portefeuille a été refusé. Vérifiez les valeurs, puis réessayez.","adminWallets.error.organizationNotFound":"Cette organisation ou ce portefeuille n’est plus disponible. Rechargez la liste, puis réessayez.","adminWallets.error.conflict":"Le portefeuille a changé pendant la requête. Rechargez la liste, puis réessayez.","adminWallets.error.rateLimited":"Trop de demandes d’ajustement ont été envoyées. Patientez un instant, puis réessayez.","adminWallets.error.serviceUnavailable":"Le service d’administration est inaccessible. Réessayez dans quelques instants.","apiAiFeatures.features.autonomous.title":"Agent autonome","apiAiFeatures.features.autonomous.description":"Une IA qui planifie, code et déploie des applications complètes de façon autonome grâce à un raisonnement en plusieurs étapes.","apiAiFeatures.features.autonomous.detail0":"Planification et exécution de tâches en plusieurs étapes","apiAiFeatures.features.autonomous.detail1":"Détection automatique des erreurs et autocorrection","apiAiFeatures.features.autonomous.detail2":"Décomposition parallèle des tâches pour accélérer la livraison","apiAiFeatures.features.autonomous.detail3":"Génération de la structure complète d’une application à partir d’un seul prompt","apiAiFeatures.features.multilingual.title":"Plus de 28 langages","apiAiFeatures.features.multilingual.description":"Prise en charge de niveau expert de Python, TypeScript, Rust, Go, Java, C++ et de 22 autres langages.","apiAiFeatures.features.multilingual.detail0":"Coloration syntaxique et IntelliSense en temps réel","apiAiFeatures.features.multilingual.detail1":"Bonnes pratiques et modèles propres à chaque langage","apiAiFeatures.features.multilingual.detail2":"Refactorisation et migration multilangages","apiAiFeatures.features.multilingual.detail3":"Génération de code adaptée aux frameworks","apiAiFeatures.features.intelligent.title":"Contexte intelligent","apiAiFeatures.features.intelligent.description":"Comprend l’ensemble de votre base de code — fichiers, dépendances et historique Git — afin de générer un code précis.","apiAiFeatures.features.intelligent.detail0":"Compréhension du contexte à l’échelle du dépôt (fenêtre d’un million de jetons)","apiAiFeatures.features.intelligent.detail1":"Analyse du graphe de dépendances","apiAiFeatures.features.intelligent.detail2":"Historique Git pour des suggestions mieux informées","apiAiFeatures.features.intelligent.detail3":"Mémoire persistante des connaissances du projet","apiAiFeatures.features.realtime.title":"Streaming en temps réel","apiAiFeatures.features.realtime.description":"Voyez le code apparaître instantanément grâce au streaming SSE. Sans attente : votre IA travaille à la vitesse de la pensée.","apiAiFeatures.features.realtime.detail0":"Sortie SSE diffusée jeton par jeton","apiAiFeatures.features.realtime.detail1":"Actualisation automatique de l’aperçu en direct","apiAiFeatures.features.realtime.detail2":"Modifications incrémentales des fichiers, sans réécriture complète","apiAiFeatures.features.realtime.detail3":"Édition collaborative via WebSocket","apiAiFeatures.useCases.fullStack.title":"Applications complètes","apiAiFeatures.useCases.fullStack.description":"Créez des applications web complètes avec React, Node.js et PostgreSQL à partir d’un seul prompt.","apiAiFeatures.useCases.fullStack.example":"\"Créez un tableau de bord SaaS avec authentification et facturation Stripe\"","apiAiFeatures.useCases.apiDevelopment.title":"Développement d’API","apiAiFeatures.useCases.apiDevelopment.description":"Générez automatiquement des API REST ou GraphQL avec validation, authentification et documentation OpenAPI.","apiAiFeatures.useCases.apiDevelopment.example":"\"Créez une API REST avec authentification JWT, limitation du débit et documentation Swagger\"","apiAiFeatures.useCases.testing.title":"Tests assistés par IA","apiAiFeatures.useCases.testing.description":"Générez automatiquement des suites de tests unitaires, d’intégration et E2E avec des rapports de couverture complets.","apiAiFeatures.useCases.testing.example":"\"Générez des tests E2E Playwright pour mon parcours de paiement\"","apiAiFeatures.useCases.review.title":"Revue et refactorisation du code","apiAiFeatures.useCases.review.description":"Analysez le code en profondeur avec détection des failles, profilage des performances et suggestions de refactorisation.","apiAiFeatures.useCases.review.example":"\"Analysez les vulnérabilités de sécurité de mon module d’authentification\"","apiAiFeatures.tools.autonomous.name":"Agent autonome","apiAiFeatures.tools.autonomous.description":"Exécution entièrement autonome de tâches en plusieurs étapes","apiAiFeatures.tools.completion.name":"Complétion de code","apiAiFeatures.tools.completion.description":"Complétions intégrées à l’éditeur et adaptées au contexte","apiAiFeatures.tools.inlineActions.name":"Actions intégrées","apiAiFeatures.tools.inlineActions.description":"Expliquez, déboguez, testez et optimisez en un clic","apiAiFeatures.tools.voice.name":"Vibe Coding vocal","apiAiFeatures.tools.voice.description":"Dictez votre idée : l’IA écrit le code","apiAiFeatures.tools.memory.name":"Mémoire persistante","apiAiFeatures.tools.memory.description":"Contexte du projet conservé entre les sessions","apiAiFeatures.tools.checkpoint.name":"Points de contrôle et retour arrière","apiAiFeatures.tools.checkpoint.description":"Instantanés atomiques à chaque étape de l’IA","apiRuntime.generic.methodNotAllowed":"Méthode non autorisée.","apiRuntime.generic.rateLimit":"Trop de requêtes ont été envoyées. Veuillez patienter avant de réessayer.","apiRuntime.generic.authenticationRequired":"Vous devez vous authentifier.","apiRuntime.generic.authenticationUnavailable":"L’authentification est temporairement indisponible. Veuillez réessayer.","apiRuntime.generic.invalidJson":"Le corps de la requête doit contenir un JSON valide.","apiRuntime.generic.invalidModel":"Sélectionnez un modèle valide.","apiRuntime.generic.invalidProvider":"Sélectionnez un fournisseur d’IA valide.","apiRuntime.generic.invalidApiKey":"La clé API est absente ou invalide.","apiRuntime.generic.requestFailed":"La requête n’a pas pu aboutir. Veuillez réessayer.","apiRuntime.generic.unexpected":"Une erreur inattendue s’est produite. Veuillez réessayer.","apiRuntime.generic.tokenLimit":"Cette requête dépasse la limite de jetons du modèle. Réduisez sa taille ou sélectionnez un modèle avec une limite supérieure.","apiRuntime.supabase.authorizationRequired":"Connectez Supabase avant d’exécuter une requête.","apiRuntime.supabase.fieldsRequired":"projectId et query sont obligatoires.","apiRuntime.supabase.invalidProjectId":"Le projectId Supabase est invalide.","apiRuntime.supabase.upstreamFailure":"Supabase n’a pas pu exécuter cette requête. Vérifiez-la, puis réessayez.","apiRuntime.supabase.queryFailed":"La requête de base de données n’a pas pu aboutir. Veuillez réessayer.","apiRuntime.update.fileAdded":"Ajouté : {file}","apiRuntime.update.fileDeleted":"Supprimé : {file}","apiRuntime.update.fileModified":"Modifié : {file}","apiRuntime.update.available":"Mise à jour disponible","apiRuntime.update.upToDate":"Votre installation est à jour","apiRuntime.update.review":"Des mises à jour sont disponibles. Vérifiez les fichiers modifiés, puis exécutez git pull dans le terminal lorsque vous êtes prêt.","apiRuntime.update.none":"Aucune mise à jour trouvée.","apiRuntime.update.checkFailed":"Échec de la recherche de mises à jour","apiRuntime.update.checking":"Recherche de mises à jour dans upstream/{branch}","apiRuntime.update.manualApply":"Des mises à jour sont disponibles. Appliquez-les manuellement depuis le terminal.","apiRuntime.update.automaticDisabled":"Les mises à jour automatiques sont désactivées dans cet environnement de développement local.","apiRuntime.update.invalidBranch":"Le nom de la branche est invalide.","apiRuntime.preview.idRequired":"Un identifiant d’aperçu est obligatoire.","apiRuntime.preview.idInvalid":"L’identifiant d’aperçu est invalide.","apiRuntime.preview.frameTitle":"Aperçu WebContainer","apiRuntime.web.urlNotAllowed":"Seules les URL HTTP ou HTTPS publiques sont autorisées.","apiRuntime.web.internalAddress":"Cette URL pointe vers une adresse interne bloquée.","apiRuntime.web.hostUnresolved":"L’hôte de l’URL n’a pas pu être résolu.","apiRuntime.web.timeout":"La requête a expiré après 10 secondes.","apiRuntime.web.fetchFailed":"L’URL n’a pas pu être chargée. Veuillez réessayer.","apiRuntime.web.pageTooLarge":"La page est trop volumineuse pour être importée.","apiRuntime.web.tooManyRedirects":"L’URL a effectué trop de redirections.","apiRuntime.web.urlRequired":"Saisissez une URL.","apiRuntime.web.httpFailure":"L’URL a renvoyé une réponse en échec ({status}).","apiRuntime.web.unsupportedContent":"L’URL doit pointer vers une page HTML ou texte.","apiRuntime.bug.rateLimit":"Trop de rapports ont été envoyés. Veuillez patienter avant de réessayer.","apiRuntime.bug.spam":"Ce rapport a été identifié comme un possible spam. Contactez le support si vous pensez qu’il s’agit d’une erreur.","apiRuntime.bug.notConfigured":"Le signalement de bugs est indisponible. Contactez un administrateur.","apiRuntime.bug.success":"Votre rapport de bug a bien été envoyé.","apiRuntime.bug.invalidInput":"Vérifiez les champs du rapport et corrigez les valeurs invalides.","apiRuntime.bug.githubAuthentication":"Le service de signalement n’a pas pu s’authentifier. Contactez un administrateur.","apiRuntime.bug.githubRateLimit":"Le service de signalement est temporairement occupé. Réessayez plus tard.","apiRuntime.bug.repositoryMissing":"Le dépôt destiné aux rapports de bugs est indisponible. Contactez un administrateur.","apiRuntime.bug.failed":"Le rapport de bug n’a pas pu être envoyé. Veuillez réessayer plus tard.","apiRuntime.bug.issue.heading":"Rapport de bug (envoyé par un utilisateur)","apiRuntime.bug.issue.description":"Description","apiRuntime.bug.issue.steps":"Étapes pour reproduire le problème","apiRuntime.bug.issue.expected":"Comportement attendu","apiRuntime.bug.issue.environment":"Informations sur l’environnement","apiRuntime.bug.issue.browser":"Navigateur","apiRuntime.bug.issue.os":"Système d’exploitation","apiRuntime.bug.issue.screen":"Écran","apiRuntime.bug.issue.aiProviders":"Fournisseurs d’IA","apiRuntime.bug.issue.projectType":"Type de projet","apiRuntime.bug.issue.currentModel":"Modèle actuel","apiRuntime.bug.issue.contact":"Contact","apiRuntime.bug.issue.submitted":"Envoyé avec la fonctionnalité de signalement de bugs E-Code","apiRuntime.snapshot.featureUnavailable":"Les fichiers ont été restaurés, mais le retour arrière de la base de données est indisponible pour ce projet. La base de données est restée inchangée.","apiRuntime.snapshot.noDatabase":"Les fichiers ont été restaurés. Ce projet ne possède pas de base de données gérée ; la base de données est donc restée inchangée.","apiRuntime.snapshot.failed":"Les fichiers ont été restaurés, mais la base de données n’a pas pu être restaurée.","apiRuntime.panel.loadFailed":"Les données du panneau n’ont pas pu être chargées. Veuillez réessayer.","apiRuntime.panel.authenticationRequired":"Reconnectez-vous pour charger ce panneau.","apiRuntime.panel.forbidden":"Vous n’avez pas l’autorisation de charger ce panneau.","apiRuntime.panel.notFound":"Les données demandées pour ce panneau sont introuvables.","apiRuntime.panel.backendUnavailable":"Le service du panneau est temporairement indisponible. Veuillez réessayer.","apiRuntime.panel.rateLimited":"Trop de requêtes en peu de temps. Patientez quelques instants, puis réessayez — il n’y a rien à libérer.","apiRuntime.panel.quotaExceeded":"Une limite de votre offre est atteinte, le panneau n’a donc pas pu se charger. Libérez des ressources, ou attendez la période suivante si la limite est périodique.","apiRuntime.panel.runtimeFailed":"La requête vers l’environnement d’exécution a échoué. Veuillez réessayer.","apiRuntime.panel.panelNotFound":"Le panneau du projet est introuvable.","apiRuntime.panel.secretConfirmation":"Confirmez l’affichage de ce secret, puis réessayez avec confirm=1.","apiRuntime.panel.billingOrganizationMissing":"Aucune organisation n’est disponible pour la facturation.","apiRuntime.panel.unsupportedPanel":"Ce panneau de l’IDE n’est pas pris en charge.","apiRuntime.panel.invalidBody":"Envoyez un corps de requête encodé comme formulaire ou au format JSON.","apiRuntime.panel.snapshotRequired":"Sélectionnez un instantané à restaurer.","apiRuntime.panel.databaseRestoreFailed":"La base de données n’a pas pu être restaurée.","apiRuntime.panel.deploymentRequired":"Sélectionnez un déploiement avant de demander l’action {action}.","apiRuntime.panel.debugConfigurationRequired":"Créez une configuration de lancement avant de démarrer le débogueur.","apiRuntime.panel.domainsOrganizationMissing":"Associez ce projet à une organisation avant de gérer les domaines.","apiRuntime.panel.databaseIntentUnsupported":"Le panneau de base de données ne prend pas en charge l’action « {intent} ».","apiRuntime.panel.unsupportedAiProvider":"Ce fournisseur d’IA n’est pas pris en charge.","apiRuntime.panel.backupSnapshotRequired":"Sélectionnez un instantané de sauvegarde à restaurer.","apiRuntime.panel.databaseBackupName":"Sauvegarde de la base de données {timestamp}","apiRuntime.panel.uploadKeyRequired":"Saisissez une clé d’objet avant de créer une URL d’envoi.","apiRuntime.panel.downloadKeyRequired":"Saisissez une clé d’objet avant de créer une URL de téléchargement.","apiRuntime.panel.movePathsRequired":"Saisissez les chemins source et destination.","apiRuntime.panel.deleteKeyRequired":"Saisissez une clé ou un préfixe d’objet à supprimer.","apiRuntime.panel.repositoryRequired":"Sélectionnez un dépôt.","apiRuntime.panel.skillRequired":"Sélectionnez une compétence.","apiRuntime.panel.extensionRequired":"Sélectionnez une extension dans le catalogue.","apiRuntime.panel.installRequired":"Sélectionnez une extension installée.","apiRuntime.panel.unsupportedExtensionAction":"L’action d’extension « {action} » n’est pas prise en charge.","apiRuntime.panel.integrationRequired":"Sélectionnez une intégration.","apiRuntime.panel.scheduleEmpty":"Saisissez une planification.","apiRuntime.panel.scheduleInvalid":"La planification cron est invalide.","apiRuntime.panel.workflowNotArmed":"Activez la planification de ce workflow avant de l’exécuter.","apiRuntime.panel.workflowInvalid":"Sélectionnez un workflow valide.","apiRuntime.panel.workflowDisabled":"Le workflow est désactivé.","apiRuntime.panel.workflowDepthLimit":"La limite de profondeur des workflows imbriqués a été atteinte.","apiRuntime.panel.workflowTargetMissing":"Le workflow cible ({target}) est introuvable.","apiRuntime.panel.workflowNestedFailed":"Le workflow imbriqué « {name} » a échoué.","apiRuntime.panel.workflowTaskCommandMissing":"Cette tâche du workflow ne contient aucune commande.","apiRuntime.panel.workflowCommandFailed":"La commande s’est terminée avec le code {exitCode}.","apiRuntime.panel.sshConnectionMissing":"La connexion SSH est introuvable.","apiRuntime.panel.sshUrlInvalid":"Saisissez une URL Git SSH, par exemple git@github.com:owner/repo.git ou ssh://host/path.git.","apiRuntime.panel.unsupportedAction":"Cette action du panneau de l’IDE n’est pas prise en charge.","apiRuntime.panel.pythonLaunchInvalid":"Un lancement Python nécessite un chemin de programme ou une commande.","apiRuntime.panel.shellLaunchInvalid":"Un lancement shell nécessite un chemin de programme ou une commande.","apiRuntime.panel.nodeLaunchInvalid":"Un lancement Node nécessite un chemin de programme ou une commande.","apiRuntime.panel.packageRequired":"Sélectionnez au moins un paquet.","apiRuntime.panel.workspaceRequired":"Ouvrez l’espace de travail avant d’effectuer un push ou un pull via SSH.","apiRuntime.panel.sshKeyRequired":"Aucune clé SSH n’est configurée pour ce projet. Ajoutez-en ou générez-en une dans Terminal > SSH, redémarrez l’espace de travail, puis réessayez.","apiRuntime.panel.sshKeyAmbiguous":"Plusieurs clés SSH sont configurées, mais aucune ne correspond à l’hôte d’origine ({host}).","apiRuntime.panel.sshOperationFailed":"L’opération Git {operation} via SSH a échoué (code de sortie {exitCode}).","apiRuntime.panel.scriptRequired":"Saisissez un script à exécuter.","apiRuntime.panel.packageRunFailed":"La commande de paquets a échoué (code de sortie {code}). Rien n’a été installé.","apiRuntime.panel.packageRunFailedWithOutput":"La commande de paquets a échoué (code de sortie {code}). Rien n’a été installé. {output}","apiRuntime.panel.manualCheckpoint":"Point de contrôle manuel","apiRuntime.panel.projectWebhook":"Webhook du projet","apiRuntime.panel.projectApiKey":"Clé API du projet","apiRuntime.panel.projectEventStream":"Flux d’événements du projet","apiRuntime.panel.projectWorkflow":"Workflow du projet","apiRuntime.panel.terminalScript":"Script du terminal","apiRuntime.panel.updateProjectFiles":"Mettre à jour les fichiers du projet","apiRuntime.panel.projectUpdate":"Mise à jour du projet","apiRuntime.panel.updateFromWorkspace":"Mise à jour depuis l’espace de travail","apiRuntime.panel.debugConfiguration":"Configuration de débogage","apiRuntime.panel.debugSession":"Session de débogage","apiRuntime.panel.nodeInspectorDevelopment":"Inspecteur Node : serveur de développement","apiRuntime.panel.sshConnection":"Connexion SSH","apiRuntime.panel.packageAudit":"Audit de sécurité {manager}","apiRuntime.panel.packageOutdated":"Vérification des paquets obsolètes avec {manager}","apiRuntime.panel.packageAdd":"Ajout de paquet avec {manager}","apiRuntime.panel.packageInstall":"Installation avec {manager}","apiRuntime.panel.securityDependencyAudit":"Audit de sécurité des dépendances","apiRuntime.panel.securitySecretScan":"Analyse de sécurité des secrets","apiRuntime.panel.securityStaticScan":"Analyse statique de sécurité du code","apiRuntime.panel.securityFinding":"Résultat de sécurité","apiRuntime.panel.securitySecretFinding":"Secret potentiel dans un fichier source","apiRuntime.panel.securitySecretAdvice":"Déplacez les identifiants dans les secrets du projet et renouvelez les valeurs exposées.","apiRuntime.panel.securityFindingCount_one":"{count} résultat","apiRuntime.panel.securityFindingCount_other":"{count} résultats","apiRuntime.panel.securityAuditDetails":"{paths} chemins d’avis de sécurité, {effects} effets.","apiRuntime.panel.securityDependencyAdvisory":"Avis de sécurité pour la dépendance {name}","apiRuntime.panel.securityUpdateRemediation":"Exécutez la mise à jour du gestionnaire de paquets recommandée par npm audit.","apiRuntime.panel.securityPinRemediation":"Consultez l’avis de sécurité et verrouillez une version sûre de la dépendance.","apiRuntime.panel.securityCommandFinding":"Point d’exécution potentielle de commande","apiRuntime.panel.securityDomFinding":"Point d’injection DOM potentiellement dangereux","apiRuntime.panel.securityReviewFinding":"Élément de l’analyse statique de sécurité","apiRuntime.panel.securityCommandAdvice":"Validez les entrées, évitez l’interpolation dans le shell et limitez l’exécution aux commandes autorisées.","apiRuntime.panel.securityDomAdvice":"Nettoyez le HTML non fiable et privilégiez des mécanismes de rendu sécurisés.","apiRuntime.panel.securityReviewAdvice":"Examinez la ligne de code concernée et expliquez pourquoi le motif est sûr.","apiRuntime.panel.runDevelopmentServer":"Démarrer le serveur de développement","assistantMessage.agent":"Agent","assistantMessage.context.show":"Afficher le contexte du message de l’agent","assistantMessage.context.label":"Contexte","assistantMessage.context.memoryTitle":"Mémoire de l’agent","assistantMessage.context.memoriesUsed_one":"{{count}} souvenir persistant utilisé pour cette réponse","assistantMessage.context.memoriesUsed_other":"{{count}} souvenirs persistants utilisés pour cette réponse","assistantMessage.context.match":"correspondance à {{score}} %","assistantMessage.context.used":"utilisé {{count}} fois","assistantMessage.context.projectRules":"Règles du projet","assistantMessage.context.rulesApplied_one":"{{count}} fichier de règles du projet appliqué à cette réponse","assistantMessage.context.rulesApplied_other":"{{count}} fichiers de règles du projet appliqués à cette réponse","assistantMessage.context.executionTitle":"Exécution des sous-agents","assistantMessage.context.executionFinished":"Exécution {{runId}} terminée avec l’état {{status}}","assistantMessage.context.consensus":"Consensus · {{algorithm}}","assistantMessage.context.agreementRounds_one":"{{score}} % d’accord · {{count}} tour","assistantMessage.context.agreementRounds_other":"{{score}} % d’accord · {{count}} tours","assistantMessage.context.claimsVoted_one":"{{count}} affirmation soumise au vote","assistantMessage.context.claimsVoted_other":"{{count}} affirmations soumises au vote","assistantMessage.context.conflictsDetected_one":"{{count}} conflit détecté","assistantMessage.context.conflictsDetected_other":"{{count}} conflits détectés","assistantMessage.context.severity":"Sévérité : {{severity}}","assistantMessage.context.orchestration":"Orchestration des agents","assistantMessage.context.parallelPlanned":"Agents spécialistes parallèles planifiés","assistantMessage.context.lanesPlanned":"Rôles spécialistes planifiés dans le modèle actif","assistantMessage.context.summary":"Résumé","assistantMessage.context.codeContext":"Contexte","assistantMessage.context.memoryUsed":"Mémoire utilisée : {{count}}","assistantMessage.defaultLaneResponsibility":"Le rôle spécialiste transmet sa progression en direct.","assistantMessage.mode.turbo":"Turbo","assistantMessage.mode.lite":"Lite","assistantMessage.mode.power":"Power","assistantMessage.mode.max":"Max","assistantMessage.mode.escalated":"Effort élevé : escalade activée","assistantMessage.mode.noEscalation":"Effort élevé : +0 crédit pour cette tâche (aucune escalade nécessaire)","assistantMessage.mode.tooltip":"Mode Agent utilisé pour cette réponse","assistantMessage.usage.tokens":"{{count}} jetons","assistantMessage.usage.tooltip":"Cette exécution : {{prompt}} jetons de prompt / {{completion}} de complétion — ouvrir la page d’utilisation","assistantMessage.usage.aria":"Utilisation de l’exécution : {{usage}} — ouvrir la page d’utilisation","assistantMessage.plan.title":"Plan","assistantMessage.plan.done":"{{completed}}/{{total}} terminées","assistantMessage.plan.tasksAgents_one_one":"{{tasks}} tâche · {{agents}} agent","assistantMessage.plan.tasksAgents_one_other":"{{tasks}} tâche · {{agents}} agents","assistantMessage.plan.tasksAgents_other_one":"{{tasks}} tâches · {{agents}} agent","assistantMessage.plan.tasksAgents_other_other":"{{tasks}} tâches · {{agents}} agents","assistantMessage.plan.review":"Vérifiez le plan, puis lancez la création — ou affinez-le en envoyant un autre message.","assistantMessage.plan.approve":"Approuver et créer","assistantMessage.lanes.title":"Agents parallèles","assistantMessage.lanes.shortfallTitle":"Livraison incomplète","assistantMessage.lanes.shortfallRole":"{{role}} — {{written}} fichiers écrits sur {{announced}}","assistantMessage.lanes.shortfallMissing":"Non écrits : {{files}}","assistantMessage.lanes.consensusStatus":"consensus : {{status}}","assistantMessage.lanes.running":"exécution parallèle…","assistantMessage.lanes.stopped":"arrêté","assistantMessage.lanes.finalizing":"finalisation du consensus…","assistantMessage.lanes.consensusSummary":"Consensus · {{algorithm}} · {{outcome}} · {{score}} % d’accord","assistantMessage.reasoning":"Raisonnement","assistantMessage.footer.group":"Actions du message","assistantMessage.footer.copied":"Copié","assistantMessage.footer.copy":"Copier le message","assistantMessage.footer.clipboardUnavailable":"Le presse-papiers est indisponible","assistantMessage.footer.copyFailed":"Échec de la copie : {{reason}}","assistantMessage.footer.copyFailedSafe":"Impossible de copier le message.","assistantMessage.footer.regenerate":"Régénérer à partir de ce prompt","assistantMessage.footer.forkTooltip":"Modifier le prompt et créer une branche de la conversation","assistantMessage.footer.forkAria":"Modifier le prompt et créer une branche de conversation","assistantMessage.footer.helpful":"Utile","assistantMessage.footer.helpfulAria":"Marquer la réponse comme utile","assistantMessage.footer.improve":"À améliorer","assistantMessage.footer.improveAria":"Marquer la réponse comme à améliorer","assistantMessage.status.running":"en cours","assistantMessage.status.complete":"terminé","assistantMessage.status.partial":"partiel","assistantMessage.status.failed":"échec","assistantMessage.status.proposed":"proposé","assistantMessage.outcome.ACCEPTED":"Accepté","assistantMessage.outcome.REJECTED":"Rejeté","assistantMessage.outcome.PARTIAL":"Partiel","assistantMessage.outcome.ABSTAINED":"Abstention","assistantMessage.decision.accepted":"acceptée","assistantMessage.decision.rejected":"rejetée","assistantMessage.decision.inconclusive":"sans conclusion","assistantMessage.severity.low":"faible","assistantMessage.severity.medium":"moyenne","assistantMessage.severity.high":"élevée","assistantMessage.role.architect":"Architecte","assistantMessage.role.frontend":"Interface utilisateur","assistantMessage.role.backend":"Service applicatif","assistantMessage.role.devops":"DevOps","assistantMessage.role.qa":"QA","assistantMessage.memoryScope.project":"projet","assistantMessage.memoryScope.user":"utilisateur","assistantMessage.memoryScope.workspace":"espace de travail","assistantMessage.memoryScope.organization":"organisation","assistantMessage.memoryScope.global":"global","assistantMessage.memoryType.semantic":"sémantique","assistantMessage.memoryType.episodic":"épisodique","assistantMessage.memoryType.procedural":"procédurale","assistantMessage.memoryType.preference":"préférence","assistantMessage.voteType.risk":"risque","assistantMessage.voteType.verification":"vérification","assistantMessage.voteType.file":"fichier","assistantMessage.conflictType.file-overlap":"chevauchement de fichiers","assistantMessage.conflictType.risk-disagreement":"désaccord sur un risque","assistantMessage.conflictType.verification-gap":"vérification insuffisante","assistantMessage.conflictType.role-failure":"échec d’un rôle","auditLogs.metaTitle":"Journaux d’audit - E-Code","auditLogs.metaDescription":"Consultez et exportez les événements de sécurité de votre organisation E-Code.","auditLogs.title":"Journaux d’audit","auditLogs.description":"Consultez et exportez les événements de sécurité de l’organisation au format CSV ou JSON. Configurez leur transmission vers un SIEM depuis la page Webhooks SIEM.","auditLogs.load.loading":"Chargement des journaux d’audit","auditLogs.load.permissionTitle":"L’accès aux journaux d’audit est restreint","auditLogs.load.errorTitle":"Impossible de charger les journaux d’audit","auditLogs.load.permissionDescription":"Demandez à un administrateur de l’organisation l’accès à la piste d’audit.","auditLogs.load.errorDescription":"Les événements et les exports sont masqués, car la dernière requête a échoué. Aucune donnée d’audit n’a été modifiée.","auditLogs.load.retry":"Recharger les journaux d’audit","auditLogs.error.exportForbidden":"Vous n’êtes pas autorisé à exporter les journaux d’audit. Demandez à un administrateur de l’organisation l’accès aux exports d’audit.","auditLogs.error.exportFailed":"Impossible de préparer l’export d’audit. Relancez le téléchargement.","auditLogs.export.title":"Exporter","auditLogs.export.description":"Téléchargez l’intégralité de la piste d’audit. Votre compte connecté est utilisé pour préparer l’export de manière sécurisée.","auditLogs.export.csv":"Exporter en CSV","auditLogs.export.json":"Exporter en JSON","auditLogs.export.fileName":"journaux-audit","auditLogs.recent.title":"Événements récents","auditLogs.filter.action":"Action","auditLogs.filter.all":"Toutes les actions","auditLogs.pagination.aria":"Pages du journal d’activité","auditLogs.pagination.previous":"Précédent","auditLogs.pagination.next":"Suivant","auditLogs.pagination.status":"Événements {from} à {to} sur {total}","auditLogs.pagination.page":"Page {page} sur {pages}","auditLogs.filter.count_one":"{count} événement affiché","auditLogs.filter.count_other":"{count} événements affichés","auditLogs.empty":"Aucun événement d’audit n’a encore été enregistré pour cette organisation.","auditLogs.emptyFiltered":"Aucun événement d’audit ne correspond à cette action.","auditLogs.table.aria":"Événements d’audit de l’organisation","auditLogs.table.time":"Date et heure","auditLogs.table.action":"Action","auditLogs.table.resource":"Ressource","auditLogs.table.actor":"Auteur","auditLogs.table.ip":"Adresse IP","auditLogs.actor.member":"Membre de l’organisation","auditLogs.actor.system":"Système","auditLogs.date.unavailable":"Date indisponible","auditLogs.action.recorded":"Action enregistrée","auditLogs.resource.recorded":"Ressource enregistrée","auditLogs.siem":"Configurer les webhooks SIEM","baseChatAst.suggestion.improveLabel":"Améliorer {file}","baseChatAst.suggestion.improvePrompt":"Examinez {path}, expliquez l’amélioration la plus importante, puis appliquez-la avec un minimum de modifications.","baseChatAst.suggestion.changedFiles_one":"{count} fichier modifié","baseChatAst.suggestion.changedFiles_other":"{count} fichiers modifiés","baseChatAst.patch.failed_one":"1 modification de l’IA a échoué et nécessite une décision manuelle","baseChatAst.patch.failed_other":"{count} modifications de l’IA ont échoué et nécessitent une décision manuelle","baseChatAst.patch.review_one":"1 modification de l’IA à vérifier","baseChatAst.patch.review_other":"{count} modifications de l’IA à vérifier","baseChatAst.snapshot.failedHttp":"Échec de la création de l’instantané (HTTP {status}).","baseChatAst.snapshot.failed":"Impossible de créer l’instantané. Réessayez.","baseChatAst.shell.commandFailed":"La commande shell a échoué. Consultez la sortie du terminal.","baseChatAst.git.push":"Push","baseChatAst.git.pull":"Pull","baseChatAst.git.failedHttp":"Échec de l’action Git « {action} » (HTTP {status}).","baseChatAst.git.failed":"Échec de l’action Git « {action} ». Consultez le panneau Git, puis réessayez.","baseChatAst.git.completed":"Action Git « {action} » terminée.","baseChatAst.preview.stopFailed":"Impossible d’arrêter le serveur d’aperçu.","baseChatAst.preview.startFailed":"Impossible de démarrer le serveur d’aperçu.","baseChatAst.conversation.project":"Conversation du projet","baseChatAst.conversation.current":"Conversation actuelle du projet","baseChatAst.conversation.waiting":"En attente de la réponse de l’agent","baseChatAst.conversation.checkpoint":"Point de contrôle de la conversation du projet","baseChatAst.conversation.currentChat":"Conversation actuelle","baseChatAst.clipboard.copyFailed":"Impossible de copier le contenu. Réessayez.","baseChatAst.editor.saveFailed":"Impossible d’enregistrer le fichier. Consultez le panneau Problèmes, puis réessayez.","baseChatAst.editor.saveConflict":"{file} a changé ailleurs depuis que vous l’avez ouvert : votre modification n’a pas été enregistrée. L’écraser avec votre version ?","baseChatAst.editor.saveConflictOverwrite":"Écraser avec ma version","baseChatAst.editor.formatFailed":"Impossible de formater le fichier. Consultez le panneau Problèmes.","baseChatAst.models.loadFailedHttp":"Impossible de charger la liste des modèles (HTTP {status}).","baseChatAst.models.loadFailed":"Impossible de charger la liste des modèles. Vérifiez votre connexion, puis rouvrez le sélecteur.","baseChatAst.models.providerLoadFailedHttp":"Impossible de charger les modèles de {provider} (HTTP {status}).","baseChatAst.images.decodeFailed":"Impossible de décoder l’image {file}.","baseChatAst.images.readSelectedFailed":"Impossible de lire l’image sélectionnée. Réessayez.","baseChatAst.images.readPastedFailed":"Impossible de lire l’image collée. Réessayez.","baseChatAst.files.count_one":"{count} fichier","baseChatAst.files.count_other":"{count} fichiers","baseChatAst.patch.hunks_one":"{count} segment","baseChatAst.patch.hunks_other":"{count} segments","baseChatAst.patch.selected":"{count} sélectionné(s)","baseChatAst.monitoring.hiddenRoutine_one":"{count} événement interne de routine caché (","baseChatAst.monitoring.hiddenRoutine_other":"{count} événements internes de routine cachés (","baseChatAst.files.projectCount_one":"{count} fichier dans le projet","baseChatAst.files.projectCount_other":"{count} fichiers dans le projet","baseChatAst.files.changedCount_one":"{count} fichier modifié","baseChatAst.files.changedCount_other":"{count} fichiers modifiés","baseChatAst.files.entryExists":"Un fichier ou dossier existe déjà au chemin « {path} ».","baseChatAst.files.create":"Créer","baseChatAst.files.enterPath":"Saisissez un chemin","baseChatAst.status.pending":"en attente","baseChatAst.status.queued":"En file d’attente","baseChatAst.status.building":"Construction en cours","baseChatAst.panel.loadFailedHttp":"Impossible de charger le panneau de l’IDE (HTTP {status}).","baseChatAst.panel.loadFailed":"Impossible de charger le panneau de l’IDE. Réessayez.","baseChatAst.panel.submitting":"Envoi de l’action…","baseChatAst.panel.actionFailedHttp":"Échec de l’action du panneau (HTTP {status}).","baseChatAst.panel.actionFailed":"Échec de l’action du panneau. Réessayez.","baseChatAst.panel.shareCreated":"Lien de partage créé.","baseChatAst.panel.action.destructiveSubmitted":"Action envoyée.","baseChatAst.panel.action.started":"Action démarrée.","baseChatAst.panel.action.requested":"Demande envoyée.","baseChatAst.panel.action.saved":"Modifications enregistrées.","baseChatAst.terminal.loadFailedHttp":"Impossible de charger le panneau Terminal (HTTP {status}).","baseChatAst.terminal.loadFailed":"Impossible de charger le panneau Terminal. Réessayez.","baseChatAst.terminal.actionFailedHttp":"Échec de l’action du terminal (HTTP {status}).","baseChatAst.terminal.actionFailed":"Échec de l’action du terminal. Réessayez.","baseChatAst.terminal.keyPairGenerated":"Paire de clés générée ({keyType} · {fingerprint}). La clé publique apparaît dans la connexion ci-dessous.","baseChatAst.terminal.actionApplied":"Action appliquée au service côté serveur de l’espace de travail.","baseChatAst.terminal.valueCopied":"{label} copié.","baseChatAst.terminal.revealFailed":"Impossible de révéler le secret.","baseChatAst.domain.updateFailedHttp":"Impossible de mettre à jour le domaine (HTTP {status}).","baseChatAst.domain.updateFailed":"Impossible de mettre à jour le domaine. Réessayez.","baseChatAst.settings.saved":"Paramètres enregistrés.","baseChatAst.settings.saving":"Enregistrement des modifications…","baseChatAst.settings.actionFailed":"Échec de l’action sur les paramètres. Réessayez.","baseChatAst.settings.notice.projectSaved":"Paramètres du projet enregistrés.","baseChatAst.settings.notice.profileSaved":"Profil enregistré.","baseChatAst.settings.notice.verificationRequested":"E-mail de vérification demandé.","baseChatAst.settings.notice.passwordSubmitted":"Mise à jour du mot de passe envoyée.","baseChatAst.settings.notice.sessionRevokeSubmitted":"Révocation de la session envoyée.","baseChatAst.settings.notice.otherSessionsSubmitted":"Déconnexion des autres sessions envoyée.","baseChatAst.settings.notice.accountDeletionSubmitted":"Demande de suppression du compte envoyée.","baseChatAst.settings.notice.aiRoutingSaved":"Préférences de routage de l’IA enregistrées.","baseChatAst.settings.notice.providerModeSaved":"Mode du fournisseur {provider} enregistré.","baseChatAst.settings.notice.apiKeySaved":"Clé API {provider} enregistrée comme secret du projet.","baseChatAst.settings.notice.apiKeyRemovalSubmitted":"Suppression de la clé API {provider} envoyée.","baseChatAst.settings.notice.idePreferencesSaved":"Préférences de l’IDE enregistrées.","baseChatAst.settings.notice.shortcutsSaved":"Raccourcis clavier enregistrés.","baseChatAst.settings.notice.notificationSaved":"Préférence de notification « {label} » enregistrée.","baseChatAst.settings.group.workspace":"Espace de travail","baseChatAst.settings.group.account":"Compte","baseChatAst.settings.group.user":"Utilisateur","baseChatAst.settings.project.label":"Projet","baseChatAst.settings.project.description":"Métadonnées, dépôt et commandes d’exportation","baseChatAst.settings.security.label":"Sécurité","baseChatAst.settings.security.description":"Politique de mot de passe, sessions et protection du compte","baseChatAst.settings.ai.label":"IA","baseChatAst.settings.ai.description":"Routage des fournisseurs, réglages par défaut de l’agent et clés","baseChatAst.settings.usage.label":"Utilisation","baseChatAst.settings.usage.description":"Forfait, limites, événements d’utilisation et quotas","baseChatAst.settings.account.label":"Compte","baseChatAst.settings.account.description":"Profil et comptes connectés","baseChatAst.settings.memory.label":"Mémoire","baseChatAst.settings.memory.description":"Mémoire persistante de l’agent","baseChatAst.settings.preferences.label":"Préférences","baseChatAst.settings.preferences.description":"Thème, clavier et notifications","baseChatAst.settings.notification.agent.label":"Agent","baseChatAst.settings.notification.agent.description":"L’agent a besoin d’aide ou a terminé son travail","baseChatAst.settings.notification.billing.label":"Facturation","baseChatAst.settings.notification.billing.description":"Modifications du forfait, alertes de quota et informations de paiement","baseChatAst.settings.notification.deployment.label":"Déploiements","baseChatAst.settings.notification.deployment.description":"Changements d’état des déploiements","baseChatAst.settings.notification.security.label":"Sécurité","baseChatAst.settings.notification.security.description":"Résultats des analyses de sécurité et alertes","baseChatAst.settings.notification.team.label":"Équipe","baseChatAst.settings.notification.team.description":"Invitations et modifications des membres de l’équipe","baseChatAst.settings.notification.system.label":"Système","baseChatAst.settings.notification.system.description":"Mises à jour du système et avis de maintenance","baseChatAst.session.mobile":"Session de navigateur mobile","baseChatAst.session.chrome":"Session de navigateur Chrome","baseChatAst.session.firefox":"Session de navigateur Firefox","baseChatAst.session.safari":"Session de navigateur Safari","baseChatAst.session.cli":"Session E-Code CLI ou de développement local","baseChatAst.session.browser":"Session de navigateur","baseChatAst.session.authenticated":"Session authentifiée","baseChatAst.session.created":"Créée le {date}","baseChatAst.session.expires":"Expire le {date}","baseChatAst.memory.loadFailedHttp":"Impossible de charger la mémoire de l’agent (HTTP {status}).","baseChatAst.memory.preferenceLoadFailedHttp":"Impossible de charger la préférence de mémoire de l’agent (HTTP {status}).","baseChatAst.memory.loadFailed":"Impossible de charger la mémoire de l’agent. Réessayez.","baseChatAst.memory.saveFailedHttp":"Impossible d’enregistrer la mémoire (HTTP {status}).","baseChatAst.memory.notSaved":"La mémoire n’a pas été enregistrée.","baseChatAst.memory.saved":"Mémoire enregistrée.","baseChatAst.memory.deleted":"Mémoire supprimée.","baseChatAst.memory.enabled":"Mémoire de l’agent activée.","baseChatAst.memory.disabled":"Mémoire de l’agent désactivée.","baseChatAst.memory.updated":"Mémoire mise à jour.","baseChatAst.memory.actionFailed":"Échec de l’action sur la mémoire. Réessayez.","baseChatAst.memory.deleteFailedHttp":"Impossible de supprimer la mémoire (HTTP {status}).","baseChatAst.memory.preferenceUpdateFailedHttp":"Impossible de mettre à jour la préférence de mémoire de l’agent (HTTP {status}).","baseChatAst.memory.updateFailedHttp":"Impossible de mettre à jour la mémoire (HTTP {status}).","baseChatAst.storage.unreachable":"Impossible de joindre le stockage d’objets.","baseChatAst.storage.checkingSlow":"Vérification en cours — la première sonde peut prendre jusqu’à une minute.","baseChatAst.storage.checkingElapsed":"({{seconds}} s)","baseChatAst.storage.enableFailed":"Impossible d’activer le stockage d’objets.","baseChatAst.storage.enabled":"Stockage d’objets activé.","baseChatAst.storage.operationFailed":"Échec de l’opération de stockage d’objets.","baseChatAst.storage.notEnabled":"Le stockage d’objets n’est pas activé.","baseChatAst.storage.uploadFailedHttp":"Échec de l’envoi de {file} (HTTP {status}).","baseChatAst.storage.uploadComplete":"Envoi terminé.","baseChatAst.storage.uploadFailed":"Échec de l’envoi. Réessayez.","baseChatAst.storage.downloadLinkFailed":"Impossible de créer un lien de téléchargement.","baseChatAst.storage.objectMoved":"Objet déplacé.","baseChatAst.storage.objectDeleted":"Objet supprimé.","baseChatAst.storage.folderDeleted":"Dossier supprimé.","baseChatAst.storage.bucketReady":"Bucket prêt.","baseChatAst.storage.bucketDeleted":"Bucket supprimé.","baseChatAst.storage.folderCreateFailedHttp":"Impossible de créer le dossier (HTTP {status}).","baseChatAst.storage.folderCreated":"Dossier créé.","baseChatAst.storage.folderCreateFailed":"Impossible de créer le dossier.","baseChatAst.skills.updateFailedHttp":"Impossible de mettre à jour les compétences (HTTP {status}).","baseChatAst.skills.updateFailed":"Impossible de mettre à jour les compétences. Réessayez.","baseChatAst.authScaffold.failedHttp":"Impossible d’ajouter l’authentification (HTTP {status}).","baseChatAst.authScaffold.failed":"Impossible d’ajouter l’authentification. Réessayez.","baseChatAst.authScaffold.unreachable":"Impossible de joindre le service de configuration de l’authentification.","baseChatAst.env.copiedWithValue":"{key} copié avec sa valeur.","baseChatAst.env.copied":"{key} copié.","baseChatAst.env.copyFailed":"Impossible de copier {key} dans le presse-papiers.","baseChatAst.security.scanFailedHttp":"Échec de l’analyse de sécurité (HTTP {status}).","baseChatAst.security.scanFailed":"Échec de l’analyse de sécurité. Réessayez.","baseChatAst.security.stage.preparing":"Préparation du profil d’analyse","baseChatAst.security.stage.dependencies":"Analyse des dépendances","baseChatAst.security.stage.secrets":"Recherche de secrets","baseChatAst.security.stage.staticAnalysis":"Analyse statique","baseChatAst.security.stage.finalizingLong":"Finalisation de l’analyse longue","baseChatAst.security.stage.finalizing":"Finalisation du rapport","baseChatAst.security.notScheduled":"Non planifié","baseChatAst.security.projectFallback":"Projet de l’espace de travail","baseChatAst.security.recommendationFallback":"Examinez ce résultat et appliquez la mesure corrective recommandée.","baseChatAst.security.reportTitle":"Rapport de sécurité","baseChatAst.security.reportDocumentTitle":"Rapport de sécurité — {project}","baseChatAst.security.reportGenerated":"{project} — généré le {date}","baseChatAst.security.severity":"Sévérité","baseChatAst.security.finding":"Résultat","baseChatAst.security.source":"Source","baseChatAst.security.recommendation":"Recommandation","baseChatAst.security.noFindings":"Aucun résultat enregistré.","baseChatAst.logs.stream.console":"Console","baseChatAst.logs.stream.workflow":"Journaux des flux de travail","baseChatAst.logs.stream.system":"Journaux système","baseChatAst.logs.level.all":"Tous","baseChatAst.logs.level.info":"Informations","baseChatAst.logs.level.warn":"Avertissements","baseChatAst.logs.level.error":"Erreurs","baseChatAst.logs.showLevel_one":"Afficher les journaux « {level} ». {count} ligne.","baseChatAst.logs.showLevel_other":"Afficher les journaux « {level} ». {count} lignes.","baseChatAst.logs.empty.cleared":"Les journaux visibles ont été effacés pour cette session. Rechargez-les pour récupérer la dernière sortie de l’environnement d’exécution.","baseChatAst.logs.empty.stream":"Aucun {stream} pour le moment. Démarrez l’espace de travail ou exécutez une commande pour afficher la sortie ici.","baseChatAst.logs.empty.filtered":"Aucun résultat dans {stream} ne correspond à ce filtre.","baseChatAst.logs.empty.visible":"Aucun {stream} n’est visible pour le moment.","baseChatAst.logs.empty.secondaryFiltered":"Aucun journal du flux secondaire ne correspond à ce filtre.","baseChatAst.logs.empty.secondary":"Aucun journal dans le flux secondaire pour le moment. Démarrez l’espace de travail ou exécutez une commande pour afficher la sortie ici.","baseChatAst.logs.workspaceState":"L’espace de travail {workspace} est {status} ({runtime})","baseChatAst.logs.workspaceSnapshot":"L’espace de travail {workspace} n’a aucune donnée de tableau de bord ; utilisation de l’instantané de l’environnement d’exécution","baseChatAst.logs.processesManyPortsMany":"{processes} processus en cours, {ports} ports détectés","baseChatAst.logs.processOnePortOne":"1 processus en cours, 1 port détecté","baseChatAst.logs.processOnePortsMany":"1 processus en cours, {ports} ports détectés","baseChatAst.logs.processesManyPortOne":"{processes} processus en cours, 1 port détecté","baseChatAst.logs.auditCollapsed_one":"1 événement ide_state.save regroupé pour préserver la lisibilité des journaux","baseChatAst.logs.auditCollapsed_other":"{count} événements ide_state.save regroupés pour préserver la lisibilité des journaux","baseChatAst.logs.projectEvent":"événement du projet","baseChatAst.logs.context.workspace":"espace de travail","baseChatAst.logs.context.runtime":"exécution","baseChatAst.logs.context.audit":"audit","baseChatAst.logs.context.activity":"activité","baseChatAst.secrets.noEntries":"Aucune ligne KEY=value à importer.","baseChatAst.secrets.networkError":"Erreur réseau","baseChatAst.secrets.importPartial_one":"{imported}/{count} secret importé — {failed} en échec.","baseChatAst.secrets.importPartial_other":"{imported}/{count} secrets importés — {failed} en échec.","baseChatAst.secrets.importComplete_one":"{imported}/{count} secret importé depuis .env.","baseChatAst.secrets.importComplete_other":"{imported}/{count} secrets importés depuis .env.","baseChatAst.secrets.revealFailed":"Impossible de révéler {key}.","baseChatAst.secrets.valueCopied":"Valeur de {key} copiée.","baseChatAst.secrets.copyFailed":"Impossible de copier {key} dans le presse-papiers.","baseChatAst.secrets.revealed":"{key} révélé pour cette session.","baseChatAst.secrets.secretValue":"Valeur du secret","baseChatAst.secrets.secretKey":"Clé du secret","baseChatAst.secrets.copied":"{label} copiée.","baseChatAst.secrets.overwrite_one":"— remplace 1 valeur existante","baseChatAst.secrets.overwrite_other":"— remplace {count} valeurs existantes","baseChatAst.secrets.importAction_one":"Importer 1 secret","baseChatAst.secrets.importAction_other":"Importer {count} secrets","baseChatAst.runtime.error":"Environnement d’exécution : erreur","baseChatAst.runtime.starting":"Environnement d’exécution : démarrage","baseChatAst.runtime.running":"Environnement d’exécution : actif","baseChatAst.runtime.stopped":"Environnement d’exécution : arrêté","baseChatAst.runtime.notStarted":"Environnement d’exécution : non démarré","baseChatAst.runtime.workspaceState":"Espace de travail {status}","baseChatAst.runtime.noWorkspace":"Aucun espace de travail côté serveur","baseChatAst.runtime.lastUpdated":"Dernière mise à jour le {date}","baseChatAst.runtime.autoRefreshPending":"Actualisation automatique en attente","baseChatAst.runtime.recordedByApi":"Enregistré par l’API","baseChatAst.runtime.noDeployment":"Aucun déploiement enregistré","baseChatAst.runtime.noSession":"Aucune session d’exécution signalée","baseChatAst.runtime.noDetails":"Aucun détail sur l’environnement d’exécution.","baseChatAst.runtime.noEventsWindow":"Aucun événement visible par l’utilisateur sur cette période.","baseChatAst.runtime.noEvents":"Aucun événement visible par l’utilisateur. Les enregistrements courants de l’état de l’IDE sont masqués ; consultez les journaux pour l’audit brut.","baseChatAst.runtime.logLines_one":"{count} ligne du journal d’exécution","baseChatAst.runtime.logLines_other":"{count} lignes du journal d’exécution","baseChatAst.runtime.routineHidden_one":"Période de {window} · 1 événement courant masqué","baseChatAst.runtime.routineHidden_other":"Période de {window} · {count} événements courants masqués","baseChatAst.monitoring.workspace":"Espace de travail","baseChatAst.monitoring.deployments":"Déploiements","baseChatAst.monitoring.userEvents":"Événements utilisateur","baseChatAst.monitoring.trackedFiles":"Fichiers suivis","baseChatAst.monitoring.window":"Période de {window}","baseChatAst.monitoring.eventCount_one":"{count} événement","baseChatAst.monitoring.eventCount_other":"{count} événements","baseChatAst.monitoring.bucket":"Intervalle temporel","baseChatAst.monitoring.bucketCount_one":"{count} intervalle","baseChatAst.monitoring.bucketCount_other":"{count} intervalles","baseChatAst.monitoring.deploymentCount_one":"{count} déploiement","baseChatAst.monitoring.deploymentCount_other":"{count} déploiements","baseChatAst.port.number":"Port {port}","baseChatAst.port.unavailable":"Port : indisponible","baseChatAst.port.static":"Port : statique","baseChatAst.port.detecting":"Port : détection","baseChatAst.port.none":"Port : aucun","baseChatAst.port.compactUnavailable":"Indisponible","baseChatAst.port.compactStatic":"Statique","baseChatAst.port.compactDetecting":"Détection","baseChatAst.port.compactNone":"Aucun port","baseChatAst.dev.active":"Dév. : actif","baseChatAst.dev.activeCommand":"Dév. : actif ({command})","baseChatAst.dev.blocked":"Dév. : bloqué","baseChatAst.dev.blockedReason":"Dév. : bloqué — {reason}","baseChatAst.dev.static":"Dév. : aperçu statique","baseChatAst.dev.stopping":"Dév. : arrêt","baseChatAst.dev.stoppingCommand":"Dév. : arrêt ({command})","baseChatAst.dev.starting":"Dév. : démarrage","baseChatAst.dev.startingCommand":"Dév. : démarrage ({command})","baseChatAst.dev.idle":"Dév. : inactif","baseChatAst.status.running":"Actif","baseChatAst.status.error":"Erreur","baseChatAst.status.starting":"Démarrage","baseChatAst.status.stopped":"Arrêté","baseChatAst.status.unknown":"Inconnu","baseChatAst.status.offline":"Hors ligne","baseChatAst.status.reconnecting":"Reconnexion","baseChatAst.status.connecting":"Connexion","baseChatAst.status.connected":"Connecté","baseChatAst.status.live":"En direct","baseChatAst.status.enabled":"Activé","baseChatAst.status.disabled":"Désactivé","baseChatAst.status.required":"Requis","baseChatAst.status.routing":"Routage","baseChatAst.status.blocked":"Bloqué","baseChatAst.status.apex":"Racine","baseChatAst.status.wildcard":"Générique","baseChatAst.status.notAvailable":"Indisponible","baseChatAst.status.notConnected":"Non connecté","baseChatAst.status.never":"Jamais","baseChatAst.status.yes":"Oui","baseChatAst.status.noToken":"Aucun jeton enregistré","baseChatAst.status.none":"Aucun","baseChatAst.status.active":"Actif","baseChatAst.status.cancelled":"Annulé","baseChatAst.status.completed":"Terminé","baseChatAst.status.failed":"Échec","baseChatAst.status.paused":"En pause","baseChatAst.status.ready":"Prêt","baseChatAst.status.succeeded":"Réussi","baseChatAst.status.trialing":"Période d’essai","baseChatAst.status.approved":"Approuvé","baseChatAst.status.quarantined":"En quarantaine","baseChatAst.status.rejected":"Rejeté","baseChatAst.status.revoked":"Révoqué","baseChatAst.status.critical":"Critique","baseChatAst.status.high":"Élevée","baseChatAst.status.moderate":"Modérée","baseChatAst.status.medium":"Moyenne","baseChatAst.status.low":"Faible","baseChatAst.status.info":"Information","baseChatAst.status.daily":"Quotidien","baseChatAst.status.weekly":"Hebdomadaire","baseChatAst.status.preview":"Aperçu","baseChatAst.status.staging":"Préproduction","baseChatAst.status.production":"Production","baseChatAst.status.warning":"Avertissement","baseChatAst.status.enableAction":"Activer","baseChatAst.status.disableAction":"Désactiver","baseChatAst.common.workspace":"Espace de travail","baseChatAst.common.status":"État","baseChatAst.common.ports":"Ports","baseChatAst.common.processes":"Processus","baseChatAst.common.output":"Sortie","baseChatAst.common.problems":"Problèmes","baseChatAst.common.debugConsole":"Console de débogage","baseChatAst.common.shell":"Shell","baseChatAst.common.environment":"Environnement","baseChatAst.common.scripts":"Scripts","baseChatAst.common.overview":"Vue d’ensemble","baseChatAst.common.code":"Code","baseChatAst.common.files":"Fichiers","baseChatAst.common.search":"Rechercher","baseChatAst.common.locks":"Verrous","baseChatAst.common.logs":"Journaux","baseChatAst.common.webview":"Webview","baseChatAst.common.database":"Base de données","baseChatAst.common.objectStorage":"Stockage d’objets","baseChatAst.common.configuration":"Configuration","baseChatAst.common.secrets":"Secrets","baseChatAst.common.git":"Git","baseChatAst.common.packages":"Paquets","baseChatAst.common.skills":"Compétences","baseChatAst.common.integrations":"Intégrations","baseChatAst.common.workflows":"Flux de travail","baseChatAst.common.debugger":"Débogueur","baseChatAst.common.deployments":"Déploiements","baseChatAst.common.publish":"Publier","baseChatAst.common.security":"Sécurité","baseChatAst.common.monitoring":"Supervision","baseChatAst.common.extensions":"Extensions","baseChatAst.common.snapshots":"Instantanés","baseChatAst.common.activity":"Activité","baseChatAst.common.collaborators":"Collaborateurs","baseChatAst.common.settings":"Paramètres","baseChatAst.common.data":"Données","baseChatAst.common.project":"Projet","baseChatAst.common.delivery":"Livraison","baseChatAst.common.team":"Équipe","baseChatAst.common.runtime":"Environnement d’exécution","baseChatAst.common.marketplace":"Place de marché","baseChatAst.common.matches":"Résultats","baseChatAst.common.objects":"Objets","baseChatAst.common.manage":"Gérer","baseChatAst.common.domains":"Domaines","baseChatAst.common.library":"Bibliothèque","baseChatAst.common.console":"Console","baseChatAst.common.network":"Réseau","baseChatAst.common.plan":"Forfait","baseChatAst.common.subscription":"Abonnement","baseChatAst.common.usageEvents":"Événements d’utilisation","baseChatAst.common.usage":"Utilisation","baseChatAst.common.profile":"Profil","baseChatAst.common.summary":"Résumé","baseChatAst.common.schedule":"Planification","baseChatAst.common.active":"Actifs","baseChatAst.common.hidden":"Masqués","baseChatAst.common.compare":"Comparer","baseChatAst.common.reports":"Rapports","baseChatAst.common.latest":"Dernière","baseChatAst.common.previous":"Précédente","baseChatAst.common.hide":"Masquer","baseChatAst.common.show":"Afficher","baseChatAst.common.editor":"Éditeur","baseChatAst.common.agentStudio":"Studio de l’agent","baseChatAst.common.environmentVariables":"Variables d’environnement","baseChatAst.common.tools":"Outils","baseChatAst.common.commands":"Commandes","baseChatAst.common.recent":"Récents","baseChatAst.common.previewLogs":"Journaux de l’aperçu","baseChatAst.presence.unknownUser":"Utilisateur inconnu","baseChatAst.presence.none":"Collaboration : personne d’autre n’est présent","baseChatAst.presence.summary_one":"Collaboration : 1 personne présente — {names}","baseChatAst.presence.summary_other":"Collaboration : {count} personnes présentes — {names}{overflow}","baseChatAst.presence.online":"en ligne","baseChatAst.presence.viewing":"consulte","baseChatAst.presence.editing":"modifie","baseChatAst.presence.typing":"écrit","baseChatAst.presence.idle":"inactif","baseChatAst.export.toolInvocation":"[appel d’outil]","baseChatAst.export.emptyMessage":"[message vide]","baseChatAst.fileType.stylesheet":"Feuille de style","baseChatAst.fileType.markdown":"Markdown","baseChatAst.fileType.project":"Projet","baseChatAst.time.recorded":"enregistré","baseChatAst.bytes.zero":"0 Ko","baseChatAst.snapshot.author.agent":"Agent","baseChatAst.snapshot.author.system":"Système","baseChatAst.snapshot.author.manual":"Manuel","baseChatAst.snapshot.kind.beforeAi":"Avant la modification par l’IA","baseChatAst.snapshot.kind.automatic":"Automatique","baseChatAst.snapshot.kind.manual":"Manuel","baseChatAst.snapshot.checkpoint":"Point de contrôle {count}","baseChatAst.snapshot.agentResponse":"Point de contrôle de la réponse de l’agent","baseChatAst.suggestion.continuePrompt":"Reprenez ma dernière demande : « {request} ». Vérifiez ce qui manque encore et terminez-la.","baseChatAst.suggestion.lastRequestFallback":"ma dernière demande","baseChatAst.tool.openFiles":"Ouvrir les fichiers","baseChatAst.tool.openSearch":"Ouvrir la recherche","baseChatAst.tool.openDatabase":"Ouvrir la base de données","baseChatAst.tool.openTerminal":"Ouvrir {terminal}","baseChatAst.tool.openWebview":"Ouvrir la webview","baseChatAst.tool.openDeployments":"Ouvrir les déploiements","baseChatAst.tool.openSecrets":"Ouvrir les secrets","baseChatAst.tool.openGit":"Ouvrir Git","baseChatAst.tool.openPackages":"Ouvrir les paquets","baseChatAst.tool.openIntegrations":"Ouvrir les intégrations","baseChatAst.tool.openWorkflows":"Ouvrir les flux de travail","baseChatAst.tool.openSnapshots":"Ouvrir les instantanés","baseChatAst.tool.openExtensions":"Ouvrir les extensions","baseChatAst.tool.openMonitoring":"Ouvrir la supervision","baseChatAst.tool.openSettings":"Ouvrir les paramètres","baseChatAst.tool.viewPreview":"Afficher l’aperçu","baseChatAst.tool.allCommands":"Toutes les commandes","baseChatAst.tool.allTools":"Tous les outils","baseChatAst.options.menuForTab":"Options de {label}","baseChatAst.options.windowGroup":"Fenêtre","baseChatAst.options.paneGroup":"Panneau","baseChatAst.options.tabGroup":"Onglet","baseChatAst.options.resetLayout":"Réinitialiser la disposition","baseChatAst.options.closePane":"Fermer le panneau","baseChatAst.options.moveTabToPane":"Déplacer l’onglet vers {pane}","baseChatAst.options.paneNumber":"panneau {index}","baseChatAst.spotlight.title":"Spotlight","baseChatAst.spotlight.subtitle":"Rechercher outils, fichiers et commandes dans ce projet","baseChatAst.command.runApp":"Exécuter l’application","baseChatAst.command.runAppDescription":"Ouvrir l’environnement d’exécution de l’aperçu","baseChatAst.command.stopApp":"Arrêter l’application","baseChatAst.command.stopAppDescription":"Ouvrir les journaux pour arrêter le processus de l’environnement d’exécution","baseChatAst.command.deploy":"Déploiements","baseChatAst.command.deployDescription":"Ouvrir le panneau Déploiements","baseChatAst.command.theme":"Changer de thème","baseChatAst.command.themeDescription":"Utiliser les commandes de thème existantes","baseChatAst.command.resetLayout":"Réinitialiser la disposition","baseChatAst.command.resetLayoutDescription":"Restaurer la disposition par défaut de l’IDE","baseChatAst.files.expandAll":"Développer tous les fichiers","baseChatAst.files.collapseAll":"Réduire tous les fichiers","baseChatAst.files.hideSystem":"Masquer les fichiers cachés/système","baseChatAst.files.showSystem":"Afficher les fichiers cachés/système","baseChatAst.files.hiddenSummary_one":"1 fichier caché/système {state}","baseChatAst.files.hiddenSummary_other":"{count} fichiers cachés/système {state}","baseChatAst.files.shown":"affiché","baseChatAst.files.hidden":"masqué","baseChatAst.files.noHidden":"Aucun fichier caché/système détecté","baseChatAst.files.noneSelected":"Aucun fichier sélectionné","baseChatAst.tool.featureAvailable_one":"1 fonctionnalité disponible","baseChatAst.tool.featureAvailable_other":"{count} fonctionnalités disponibles","baseChatAst.tab.pinned":"Onglet épinglé : {label}","baseChatAst.tab.unsaved":"{label}, modifications non enregistrées","baseChatAst.tab.pinnedUnsaved":"Onglet épinglé : {label}, modifications non enregistrées","baseChatAst.tab.pin":"Épingler {label}","baseChatAst.tab.unpin":"Désépingler {label}","baseChatAst.collaboration.role.viewer":"Lecteur","baseChatAst.collaboration.role.member":"Membre","baseChatAst.collaboration.role.admin":"Administrateur","baseChatAst.collaboration.role.owner":"Propriétaire","baseChatAst.collaboration.viewerDescription":"Peut consulter les fichiers, les aperçus et les commentaires sans les modifier.","baseChatAst.collaboration.memberDescription":"Peut modifier les fichiers, commenter et collaborer dans l’espace de travail.","baseChatAst.collaboration.adminDescription":"Peut gérer les collaborateurs, le partage, les commentaires et les paramètres d’accès.","baseChatAst.collaboration.expires":"Expire le {date}","baseChatAst.collaboration.by":"Par {user}","baseChatAst.collaboration.participant":"Participant {index}","baseChatAst.collaboration.participantUnknown":"Participant inconnu","baseChatAst.collaboration.system":"Système","baseChatAst.collaboration.noShareLinks":"Aucun lien de partage actif.","baseChatAst.collaboration.noActivity":"Aucune activité de collaboration.","baseChatAst.collaboration.realtimeError":"Erreur de collaboration en temps réel","baseChatAst.panel.unavailable":"Panneau indisponible.","baseChatAst.domain.waitingDeployment":"En attente d’un déploiement prêt","baseChatAst.domain.aliasTarget":"Cible de l’alias","baseChatAst.settings.noPlan":"Aucun forfait de facturation renvoyé","baseChatAst.settings.noSubscription":"Aucun abonnement actif","baseChatAst.settings.aiCall":"Appel de l’IA","baseChatAst.settings.noAiUsage":"Aucune utilisation de l’IA enregistrée","baseChatAst.settings.tokensInOut":"{input} en entrée / {output} en sortie","baseChatAst.storage.unknownSize":"taille inconnue","baseChatAst.storage.bytes":"{value} o","baseChatAst.storage.kilobytes":"{value} Ko","baseChatAst.storage.megabytes":"{value} Mo","baseChatAst.storage.gigabytes":"{value} Go","baseChatAst.storage.enterObjectKey":"Saisissez une clé d’objet","baseChatAst.storage.enterFolderName":"Saisissez un nom de dossier","baseChatAst.storage.bucketRoot":"la racine du bucket","baseChatAst.storage.move":"Déplacer","baseChatAst.storage.createFolder":"Créer un dossier","baseChatAst.storage.deleteBucket":"Supprimer le bucket","baseChatAst.skills.noProject":"Aucune compétence propre au projet n’est installée. Parcourez la communauté pour en ajouter.","baseChatAst.skills.noWorkspace":"Aucune compétence propre à l’espace de travail n’est installée.","baseChatAst.skills.installCount_one":"{count} installation","baseChatAst.skills.installCount_other":"{count} installations","baseChatAst.skills.findingCount_one":"{count} résultat","baseChatAst.skills.findingCount_other":"{count} résultats","baseChatAst.agentStudio.pendingChanges":"Modifications en attente","baseChatAst.agentStudio.awaitingReview":"En attente de votre vérification ci-dessous","baseChatAst.agentStudio.noReview":"Aucune modification de l’IA à vérifier","baseChatAst.agentStudio.recordedProposals":"Propositions enregistrées","baseChatAst.agentStudio.openProposals":"Propositions ouvertes suivies côté serveur","baseChatAst.agentStudio.selfRepair":"Événements d’autoréparation","baseChatAst.agentStudio.repairActivity":"Activité de la boucle de réparation de l’AST","baseChatAst.agentStudio.noRepair":"Aucune autoréparation enregistrée","baseChatAst.agentStudio.multiAgent":"Exécutions multi-agents","baseChatAst.agentStudio.consensusLogged":"Consensus enregistrés","baseChatAst.agentStudio.noConsensus":"Aucune exécution de consensus","baseChatAst.agentStudio.branches":"Branches de conversation","baseChatAst.agentStudio.archivedThreads":"Fils de l’agent archivés","baseChatAst.agentStudio.noBranches":"Aucune branche","baseChatAst.agentStudio.memories":"Mémoires de l’agent","baseChatAst.agentStudio.memoryEnabled":"Mémoire activée","baseChatAst.agentStudio.memoryDisabled":"Mémoire désactivée","baseChatAst.workflows.removeTask":"Supprimer la tâche","baseChatAst.workflows.delete":"Supprimer le flux de travail","baseChatAst.workflows.noAgent":"Aucun flux de travail d’agent.","baseChatAst.workflows.noCustom":"Aucun flux de travail personnalisé.","baseChatAst.integrations.lastSync":"Dernière synchronisation","baseChatAst.integrations.secretStored":"Secret enregistré","baseChatAst.integrations.browse":"Parcourir les intégrations","baseChatAst.integrations.createWebhook":"Créer un webhook","baseChatAst.integrations.createApiKey":"Créer une clé API","baseChatAst.integrations.addStream":"Ajouter un flux","baseChatAst.env.emptyValue":"valeur vide","baseChatAst.env.deleteVariable":"Supprimer la variable","baseChatAst.env.newVariable":"Nouvelle variable","baseChatAst.env.shortDevelopment":"Dév.","baseChatAst.env.shortPreview":"Aperçu","baseChatAst.env.shortProduction":"Prod.","baseChatAst.database.postgresNote":"Utilisez cette option pour Drizzle, Prisma, les migrations SQL et l’exploration de requêtes Postgres.","baseChatAst.database.mysqlNote":"Utilisez une URL de connexion MySQL lorsque votre application emploie mysql2, Prisma ou du SQL côté serveur.","baseChatAst.database.mongodbNote":"Utilisez cette option pour les collections de documents et l’exploration de requêtes MongoDB.","baseChatAst.database.redisNote":"Utilisez Redis pour les files, le cache, les sessions et les limites de débit.","baseChatAst.database.stepHosted":"Créer ou ouvrir une base de données hébergée","baseChatAst.database.stepHostedDetail":"Utilisez Neon, Supabase, PlanetScale, MongoDB Atlas, Upstash ou tout fournisseur compatible.","baseChatAst.database.stepCopy":"Copier la chaîne de connexion","baseChatAst.database.stepCopyDetail":"Conservez le mot de passe dans l’URL. Il sera stocké côté serveur comme secret et ne sera jamais réaffiché.","baseChatAst.database.stepSave":"L’enregistrer ci-dessous","baseChatAst.database.stepSaveDetail":"Utilisez DATABASE_URL pour la base de données principale, puis rechargez ce panneau pour explorer le schéma et exécuter des requêtes.","baseChatAst.security.dependencyAdvisories":"Avis de vulnérabilité de npm audit","baseChatAst.security.secretSources":"Clés API, jetons et mots de passe dans le code source","baseChatAst.security.staticRisks":"Points d’injection DOM non sécurisés et motifs d’exécution de commandes","baseChatAst.security.privacyRisks":"Signaux de risque pour la confidentialité côté client","baseChatAst.security.noScan":"Aucune analyse","baseChatAst.security.runToPopulate":"Exécutez une analyse pour renseigner les résultats de sécurité","baseChatAst.security.repositoryDetected":"Dépôt détecté","baseChatAst.security.noGithubRemote":"Aucun dépôt distant GitHub détecté","baseChatAst.security.manualReports":"Rapports manuels","baseChatAst.security.dependencyAudit":"Audit des dépendances","baseChatAst.security.secretScan":"Recherche de secrets","baseChatAst.security.sast":"Analyse statique de la sécurité de l’application","baseChatAst.security.privacyDetection":"Détection des risques de confidentialité","baseChatAst.security.privacy":"Confidentialité","baseChatAst.security.reportFindings":"Résultats du rapport","baseChatAst.security.sarifTarget":"Cible SARIF","baseChatAst.security.githubScanningCompatible":"Compatible avec GitHub Code Scanning","baseChatAst.security.noHiddenVulnerabilities":"Aucune vulnérabilité masquée.","baseChatAst.security.noActiveVulnerabilities":"Aucune vulnérabilité active.","baseChatAst.security.profile":"Profil","baseChatAst.security.sync":"Synchronisation","baseChatAst.security.scannerName":"Analyseur de sécurité E-Code","baseChatAst.security.activeCount_one":"{count} active","baseChatAst.security.activeCount_other":"{count} actives","baseChatAst.debugger.launchConfigs":"Configurations de lancement","baseChatAst.debugger.breakpoints":"Points d’arrêt","baseChatAst.debugger.watchExpressions":"Expressions surveillées","baseChatAst.debugger.runtimeProcesses":"Processus de l’environnement d’exécution","baseChatAst.debugger.noFrames":"Aucun cadre de pile signalé par l’adaptateur.","baseChatAst.debugger.noVariables":"Aucune variable signalée par l’adaptateur.","baseChatAst.debugger.continue":"Continuer","baseChatAst.debugger.stepOver":"Pas à pas principal","baseChatAst.debugger.stepInto":"Pas à pas détaillé","baseChatAst.debugger.stepOut":"Pas à pas sortant","baseChatAst.deploy.goManage":"Accéder à la gestion","baseChatAst.mobile.focusedOn":"Centré sur {file}","baseChatAst.mobile.filesIndexed_one":"1 fichier du projet indexé","baseChatAst.mobile.filesIndexed_other":"{count} fichiers du projet indexés","baseChatAst.mobile.contextReady":"Contexte de l’espace de travail prêt","baseChatAst.mobile.working":"En cours","baseChatAst.mobile.ready":"Prêt","baseChatAst.mobile.messageCount_one":"1 message","baseChatAst.mobile.messageCount_other":"{count} messages","baseChatAst.mobile.filesLoaded_one":"1 fichier chargé","baseChatAst.mobile.filesLoaded_other":"{count} fichiers chargés","baseChatAst.mobile.workspaceReady":"Espace de travail prêt","baseChatAst.diagnostics.summary":"{errors} erreurs, {warnings} avertissements","baseChatAst.diagnostics.count_one":"{formatted} erreur dans ce projet","baseChatAst.diagnostics.count_other":"{formatted} erreurs dans ce projet","baseChatAst.activity.severity.routine":"Courant","baseChatAst.activity.severity.important":"Important","baseChatAst.activity.severity.warning":"Avertissement","baseChatAst.activity.segment.comment":"commentaire","baseChatAst.activity.segment.create":"création","baseChatAst.activity.segment.delete":"suppression","baseChatAst.activity.segment.deploy":"déploiement","baseChatAst.activity.segment.ideState":"état de l’IDE","baseChatAst.activity.segment.restore":"restauration","baseChatAst.activity.segment.save":"enregistrement","baseChatAst.activity.segment.share":"partage","baseChatAst.activity.segment.update":"mise à jour","baseChatAst.counts.hunks_one":"{count} segment","baseChatAst.counts.hunks_other":"{count} segments","baseChatAst.counts.checkpointsFiltered_one":"{shown} sur {count} point de contrôle","baseChatAst.counts.checkpointsFiltered_other":"{shown} sur {count} points de contrôle","baseChatAst.counts.keybindings_one":"{count} raccourci actif dans cet espace de travail","baseChatAst.counts.keybindings_other":"{count} raccourcis actifs dans cet espace de travail","baseChatAst.counts.dependencies":"{prod} prod / {dev} dev","baseChatAst.counts.messages_one":"{count} message","baseChatAst.counts.messages_other":"{count} messages","baseChatAst.counts.extensionsShown_one":"{count} extension affichée","baseChatAst.counts.extensionsShown_other":"{count} extensions affichées","baseChatAst.counts.tasks_one":"{count} tâche","baseChatAst.counts.tasks_other":"{count} tâches","baseChatAst.counts.secretsToImport_one":"{count} secret à importer","baseChatAst.counts.secretsToImport_other":"{count} secrets à importer","baseChatAst.counts.linesSkipped_one":"{count} ligne sera ignorée","baseChatAst.counts.linesSkipped_other":"{count} lignes seront ignorées","baseChatAst.counts.eventsShown_one":"{shown} sur {count} événement","baseChatAst.counts.eventsShown_other":"{shown} sur {count} événements","baseChatAst.counts.bucketsPeak_one":"{count} intervalle · pic {peak}/intervalle","baseChatAst.counts.bucketsPeak_other":"{count} intervalles · pic {peak}/intervalle","baseChatAst.counts.occurrences_one":"{count} occurrence détectée","baseChatAst.counts.occurrences_other":"{count} occurrences détectées","baseChatAst.counts.problemsSummary":"{errors} erreurs · {warnings} avertissements dans l’espace de travail actuel","baseChatAst.counts.presenceOnline_one":"{shown} utilisateur en ligne, curseur et sélection synchronisés.","baseChatAst.counts.presenceOnline_other":"{shown} utilisateurs en ligne, curseurs et sélections synchronisés.","baseChatAst.counts.lastDeployments_one":"Dernier déploiement, le plus récent à droite.","baseChatAst.counts.lastDeployments_other":"Les {count} derniers déploiements, le plus récent à droite.","baseChatAst.phrases.emptyYet":"Aucun {title} pour l’instant","baseChatAst.phrases.shortcutFor":"Raccourci {label}","baseChatAst.phrases.runOutcome":"{status} · code de sortie {code}","baseChatAst.phrases.authorVersion":"{author} · v{version}","baseChatAst.phrases.deltaVsPrevious":"{delta} par rapport au précédent","workspaceResources.title":"Ressources","workspaceResources.memory":"RAM","workspaceResources.cpu":"CPU","workspaceResources.storage":"Stockage","workspaceResources.loading":"Lecture des ressources de l’espace de travail…","workspaceResources.unavailable":"Les ressources de cet espace de travail ne sont pas disponibles pour le moment.","workspaceResources.notMeasured":"Non mesuré","workspaceResources.usedNoLimit":"{used} utilisés · sans limite","workspaceResources.cores_one":"{count} cœur","workspaceResources.cores_other":"{count} cœurs","workspaceResources.refresh":"Actualiser les ressources","workspaceResources.capturedAt":"Mesuré à {time}","baseChatMobileHeader.back":"Retour au tableau de bord","baseChatMobileHeader.activity":"Activité","baseChatMobileHeader.openTools":"Ouvrir les outils","baseChatMobileHeader.agentOptions":"Options de l’agent","baseChatMobileHeader.moreOptions":"Plus d’options","baseChatMobileHeader.agentWorking":"Travail sur cet espace de travail","baseChatMobileHeader.agentReady":"Prêt pour la prochaine modification","baseChatMobileHeader.focusPrompt":"Cibler le prompt de l’agent","baseChatMobileHeader.promptButton":"Prompt","baseChatMobileHeader.idePanels":"Panneaux IDE","baseChatMobileHeader.openTabSwitcher":"Ouvrir le sélecteur d’onglets","baseChatMobileHeader.openTabs":"Onglets ouverts","baseChatMobileHeader.search":"Rechercher des outils et des fichiers","baseChatMobileHeader.switchToTab":"Passer à l’onglet {name}","baseChatMobileHeader.moreTabs":"Afficher {count} onglets de plus","baseChatMobileHeader.addNewTab":"Ajouter un onglet","notifications.metaTitle":"Notifications - E-Code","notifications.page.title":"Notifications","notifications.page.description":"Gérez les notifications essentielles liées au produit, à la facturation, aux déploiements et à la sécurité de votre espace de travail.","notifications.page.securityRules":"Règles de sécurité","notifications.priority.title":"Modèle de priorité","notifications.priority.description":"Des niveaux d’escalade clairs pour chaque événement.","notifications.category.security.title":"Événements de sécurité","notifications.category.security.description":"Modifications de la MFA, rotation des clés API, activités de session suspectes et mises à jour des politiques d’accès.","notifications.category.billing.title":"Alertes de facturation","notifications.category.billing.description":"Seuils de quota, échecs de paiement, disponibilité des factures et changements d’abonnement.","notifications.category.deployments.title":"Actualités des déploiements","notifications.category.deployments.description":"Compilations d’aperçu, mises en production, restaurations, contrôles de domaine et tâches en échec.","notifications.category.team.title":"Évolutions de l’équipe","notifications.category.team.description":"Invitations, changements de rôle, évolutions des membres et événements liés aux propriétaires.","notifications.category.system.title":"Actualités du système","notifications.category.system.description":"Nouvelles versions de la plateforme, fenêtres de maintenance et annonces produit.","notifications.channel.email.label":"E-mail","notifications.channel.email.detail":"E-mail transactionnel","notifications.channel.inApp.label":"Dans l’application","notifications.channel.inApp.detail":"Boîte de réception de l’espace de travail","notifications.security.lockReason":"Les alertes de sécurité sont toujours envoyées par e-mail","notifications.security.lockFootnote":"{reason} et ne peuvent pas être désactivées.","notifications.policy.critical.label":"Critique","notifications.policy.critical.detail":"Événements de sécurité, échecs de facturation et interruptions de production.","notifications.policy.action.label":"Action requise","notifications.policy.action.detail":"Révisions, validations, limites de quota et invitations en attente.","notifications.policy.informational.label":"Information","notifications.policy.informational.detail":"Notes de version, synthèses d’utilisation et actualités de collaboration.","notifications.preferences.eyebrow":"Centre de contrôle des envois","notifications.preferences.title":"Préférences de notification","notifications.preferences.description":"Choisissez comment recevoir chaque catégorie d’événements. Les modifications sont enregistrées automatiquement.","notifications.preferences.saving":"Enregistrement…","notifications.preferences.cellsOn":"Options actives","notifications.preferences.channels":"Canaux","notifications.preferences.priorities":"Priorités","notifications.preferences.saveFailed":"Impossible d’enregistrer les préférences de notification.","notifications.preferences.errorTitle":"Les préférences n’ont pas été enregistrées","notifications.preferences.errorDescription":"{error} Vos paramètres précédents restent actifs.","notifications.preferences.category":"Catégorie","notifications.preferences.switchLabel":"{category} via {channel}","notifications.preferences.switchLabelLocked":"{category} via {channel} ({reason})","notifications.feed.markAllFailure":"E-Code n’a pas pu confirmer que toutes les notifications ont été marquées comme lues.","notifications.feed.loading":"Chargement de la boîte de réception des notifications","notifications.feed.loadErrorTitle":"Impossible de charger les notifications","notifications.feed.loadErrorDescription":"Les préférences restent disponibles et aucune notification n’a été modifiée. Essayez de recharger la boîte de réception.","notifications.feed.inbox":"Boîte de réception","notifications.feed.unread_one":"{count} non lue","notifications.feed.unread_other":"{count} non lues","notifications.feed.caughtUp":"Vous êtes à jour.","notifications.feed.marking":"Marquage…","notifications.feed.markAll":"Tout marquer comme lu","notifications.feed.markAllErrorTitle":"Les notifications n’ont pas été marquées comme lues","notifications.feed.markAllErrorDescription":"{error} Réessayez avant de vous fier au nombre de messages non lus.","notifications.feed.emptyTitle":"Aucune notification pour le moment","notifications.feed.emptyDescription":"Les événements liés à la sécurité, à la facturation et aux déploiements apparaîtront ici.","notifications.feed.unreadLabel":"Non lue","notifications.feed.view":"Voir","notifications.feed.markRead":"Marquer comme lue","notifications.feed.markReadFailure":"E-Code n’a pas pu confirmer que cette notification a été marquée comme lue.","notifications.feed.markReadErrorTitle":"La notification n’a pas été marquée comme lue","notifications.feed.markReadErrorDescription":"{error} Réessayez.","notifications.api.methodNotAllowed":"Méthode non autorisée","notifications.api.authenticationRequired":"Authentification requise","notifications.api.missingNotificationId":"Identifiant de notification manquant","notificationsTab.filter.all":"Toutes les notifications","notificationsTab.filter.system":"Système","notificationsTab.filter.update":"Mises à jour","notificationsTab.filter.error":"Erreurs","notificationsTab.filter.warning":"Avertissements","notificationsTab.filter.info":"Informations","notificationsTab.filter.provider":"Fournisseurs","notificationsTab.filter.network":"Réseau","notificationsTab.filter.fallback":"Filtrer les notifications","notificationsTab.filter.aria":"Filtrer les notifications. Filtre actuel : {filter}","notificationsTab.action.clearAll":"Tout effacer","notificationsTab.action.clearAria.one":"Effacer {count} notification","notificationsTab.action.clearAria.other":"Effacer {count} notifications","notificationsTab.event.cleared":"Notifications effacées","notificationsTab.event.updateOpened":"Lien de mise à jour ouvert","notificationsTab.event.filterChanged":"Filtre de notifications modifié","notificationsTab.empty.title":"Aucune notification","notificationsTab.empty.description":"Vous êtes à jour.","notificationsTab.empty.filteredTitle":"Aucune notification correspondante","notificationsTab.empty.filteredDescription":"Choisissez un autre filtre pour afficher d’autres notifications.","notificationsTab.update.currentVersion":"Version actuelle : {version}","notificationsTab.update.latestVersion":"Dernière version : {version}","notificationsTab.update.branch":"Branche : {branch}","notificationsTab.update.viewChanges":"Voir les modifications","notificationsTab.category.label":"Catégorie : {category}","notificationsTab.category.system":"Système","notificationsTab.category.provider":"Fournisseur","notificationsTab.category.user":"Utilisateur","notificationsTab.category.error":"Erreur","notificationsTab.category.api":"API","notificationsTab.category.auth":"Authentification","notificationsTab.category.database":"Base de données","notificationsTab.category.network":"Réseau","notificationsTab.category.performance":"Performances","notificationsTab.category.settings":"Paramètres","notificationsTab.category.task":"Tâche","notificationsTab.category.update":"Mise à jour","notificationsTab.category.feature":"Fonctionnalité","notificationsTab.error.safeMessage":"Une erreur technique est survenue. Vérifiez l’action concernée, puis réessayez.","notificationsTab.time.unknown":"Date inconnue","billing.meta.title":"Facturation - E-Code","usage.meta.title":"Utilisation - E-Code","invoices.meta.title":"Factures - E-Code","paymentMethod.meta.title":"Moyen de paiement - E-Code","downgrade.meta.title":"Changer de formule - E-Code","billing.common.unavailable":"Indisponible","billing.common.none":"Aucun","billing.common.noLimit":"Aucune limite","billing.common.dateUnavailable":"Date indisponible","billing.common.recorded":"Enregistré","billing.common.saving":"Enregistrement…","billing.common.redirecting":"Redirection…","billing.common.save":"Enregistrer","billing.common.perMonth":"par mois","billing.common.plan":"Formule : {plan}","billing.label.noSubscription":"Aucun abonnement","billing.label.recordedActivity":"Activité enregistrée","billing.label.statusUnavailable":"Statut indisponible","billing.label.planAllowance":"Quota de la formule","billing.label.member":"Membre","billing.label.free":"Gratuite","billing.label.pro":"Pro","billing.label.team":"Équipe","billing.label.enterprise":"Entreprise","billing.label.starter":"Départ","billing.label.business":"Entreprise","billing.label.scale":"Croissance","billing.label.active":"Actif","billing.label.cancelled":"Annulé","billing.label.closed":"Fermé","billing.label.draft":"Brouillon","billing.label.failed":"Échec","billing.label.incomplete":"Incomplet","billing.label.incompleteExpired":"Incomplet — expiré","billing.label.open":"Ouvert","billing.label.paid":"Payé","billing.label.pastDue":"Paiement en retard","billing.label.paused":"En pause","billing.label.pending":"En attente","billing.label.processing":"En cours","billing.label.resolved":"Résolu","billing.label.succeeded":"Réussi","billing.label.trialing":"Période d’essai","billing.label.uncollectible":"Échec du paiement","billing.label.unpaid":"Impayé","billing.label.void":"Annulé","billing.label.projects":"Projets","billing.label.projectsCreated":"Projets créés","billing.label.activeWorkspaces":"Espaces de travail actifs","billing.label.workspaceMinutes":"Minutes d’espace de travail","billing.label.workspaceRuntimeMinutes":"Environnement d’exécution de l’espace de travail (minutes)","billing.label.workspaceCpu":"Capacité CPU de l’espace de travail","billing.label.workspaceMemory":"Mémoire de l’espace de travail (Mo)","billing.label.teamMembers":"Membres de l’équipe","billing.label.aiMessages":"Messages IA","billing.label.aiInputTokens":"Jetons d’entrée IA","billing.label.aiOutputTokens":"Jetons de sortie IA","billing.label.aiToolCalls":"Appels d’outils IA","billing.label.storageGb":"Stockage (Go)","billing.label.storageUsed":"Stockage utilisé","billing.label.snapshotStorage":"Stockage des instantanés (Mo)","billing.label.snapshots":"Instantanés","billing.label.deployments":"Déploiements","billing.label.publicPreviews":"Aperçus publics","billing.label.agentCheckpoints":"Points de contrôle de l’agent","billing.label.agentRequests":"Requêtes de l’agent","billing.label.apiRequests":"Requêtes API par minute","billing.label.computeTime":"Temps de calcul","billing.label.agent":"Agent","billing.label.objectStorage":"Stockage d’objets","billing.label.database":"Base de données","billing.label.concurrentTerminals":"Terminaux simultanés","billing.label.customApiCalls":"Appels d’API personnalisés","billing.label.highPowerModel":"Modèle haute puissance","billing.label.extendedThinking":"Raisonnement étendu","billing.label.turbo":"Turbo","billing.unit.minute_one":"{value} minute","billing.unit.minute_other":"{value} minutes","billing.unit.hour_one":"{value} heure","billing.unit.hour_other":"{value} heures","billing.unit.request_one":"{value} requête","billing.unit.request_other":"{value} requêtes","billing.unit.token_one":"{value} jeton","billing.unit.token_other":"{value} jetons","billing.unit.checkpoint_one":"{value} point de contrôle","billing.unit.checkpoint_other":"{value} points de contrôle","billing.unit.computeUnit_one":"{value} unité de calcul","billing.unit.computeUnit_other":"{value} unités de calcul","billing.unit.deployment_one":"{value} déploiement","billing.unit.deployment_other":"{value} déploiements","billing.unit.gibMonth_one":"{value} Gio-mois","billing.unit.gibMonth_other":"{value} Gio-mois","billing.page.title":"Vue d’ensemble de la facturation","billing.page.description":"Gérez votre abonnement, le paiement, l’accès au portail client, les factures et l’utilisation mesurée.","billing.page.upgrade":"Changer de formule","billing.page.paymentMethod":"Moyen de paiement","billing.stats.currentPlan":"Formule actuelle","billing.stats.currentPlanDetail":"{amount} par mois","billing.stats.billingState":"État de la facturation","billing.stats.periodEnds":"La période actuelle se termine le {date} (UTC)","billing.stats.subscriptionStatus":"Statut de l’abonnement et du renouvellement","billing.stats.usageEvents":"Événements d’utilisation","billing.stats.usageEventsDetail":"Actions comptabilisées pendant cette période de facturation","billing.stats.upgradeOptions":"Formules disponibles","billing.stats.plansAvailable":"Formules disponibles pour votre organisation","billing.stats.currentPlanFits":"Votre formule actuelle convient","billing.stats.creditBalance":"Solde de crédits","billing.stats.includedUsed":"{used} utilisés sur {total} inclus","billing.stats.monthlyCredits":"Crédits mensuels inclus","billing.stats.creditPacks":"Packs de crédits","billing.stats.packsDetail":"Achetés, utilisés par ordre d’expiration","billing.stats.totalAvailable":"Total disponible","billing.stats.totalDetail":"Solde + packs actifs","billing.stats.budgetCap":"Plafond budgétaire","billing.stats.budgetCapDetail":"Limite des dépenses à l’usage","billing.mobile.monthlyPrice":"Prix mensuel","billing.mobile.availableBalance":"Solde disponible","billing.mobile.balanceUnavailable":"Impossible de charger le solde de crédits","billing.mobile.creditsAndPacks":"crédits et packs","billing.mobile.spendLimit":"Limite de dépenses","billing.mobile.limitUnavailable":"Impossible de charger la limite de dépenses","billing.mobile.payg":"paiement à l’usage","billing.alert.paymentFailed":"Votre dernier paiement a échoué. Mettez à jour votre moyen de paiement pour maintenir les services actifs.","billing.alert.servicesPause":"Les services seront suspendus le {date} (UTC).","billing.alert.updatePayment":"Mettre à jour le moyen de paiement","billing.alert.accessLimited":"La facturation est réservée aux propriétaires et aux administrateurs de facturation de l’organisation.","billing.credits.title":"Crédits et utilisation","billing.credits.description":"Vos crédits inclus, packs achetés et utilisation de l’agent selon l’effort.","billing.credits.preview":"Aperçu (non facturé)","billing.credits.loading":"Chargement des crédits et de l’utilisation","billing.credits.errorTitle":"Impossible de charger les crédits et l’utilisation","billing.credits.errorDescription":"Les informations d’abonnement restent disponibles, mais les soldes et contrôles de dépenses sont masqués pour éviter d’afficher des valeurs obsolètes.","billing.spend.title":"Limite de dépenses (paiement à l’usage)","billing.spend.period":"Période de facturation : {period}","billing.spend.description":"Plafonnez les dépenses au-delà de vos crédits inclus. Laissez vide pour ne pas appliquer de plafond ; saisissez 0,01 € pour limiter l’utilisation aux crédits. Les limites de l’organisation sont définies par paliers de 500 €.","billing.spend.disabled":"La facturation à l’usage n’est pas encore activée pour cette organisation. Les limites définies ici s’appliqueront dès son activation.","billing.spend.uncapped":"Aucune limite n’est définie : les dépenses à l’usage ne sont pas plafonnées.","billing.spend.used":"{spent} utilisés sur {cap}","billing.spend.progressLabel":"Dépenses à l’usage","billing.spend.reached":"La limite d’utilisation est atteinte : les services à l’usage sont suspendus jusqu’à son relèvement.","billing.spend.alertThresholds":"Nous vous enverrons un e-mail à {thresholds} % de votre limite.","billing.spend.noCapPlaceholder":"Aucun plafond","billing.spend.limitAria":"Limite de dépenses en euros","billing.spend.limitTitle":"Définissez la limite par paliers de 500 €, ou à 0,01 € pour plafonner les dépenses aux crédits actuels.","billing.spend.incrementHint":"Paliers de 500 € (ou 0,01 € pour se limiter aux crédits)","billing.spend.hardStop":"Arrêt strict (€)","billing.spend.noHardStopPlaceholder":"Aucun arrêt strict","billing.spend.shutdownAria":"Limite d’arrêt des services en euros","billing.spend.shutdownTitle":"Limite d’arrêt des services : suspend les services à l’usage dès qu’elle est atteinte, sans délai.","billing.spend.save":"Enregistrer la limite","billing.ai.title":"Intégrations IA externes","billing.ai.blocked":"Bloquées — les membres utilisent uniquement les clés gérées ; leurs propres clés OpenAI ou Anthropic sont désactivées dans toute l’organisation.","billing.ai.allowed":"Autorisées — les membres éligibles peuvent utiliser leurs propres clés de modèles IA externes.","billing.ai.allow":"Autoriser les IA externes","billing.ai.block":"Bloquer les IA externes","billing.packs.title":"Acheter des crédits","billing.packs.active_one":"{count} pack actif","billing.packs.active_other":"{count} packs actifs","billing.packs.description":"Les packs prépayés restent disponibles pendant la période de validité indiquée. Les packs qui expirent le plus tôt sont utilisés en premier, avant toute facturation à l’usage.","billing.packs.disabled":"L’achat de packs de crédits n’est pas encore activé pour cette organisation.","billing.packs.buyAria":"Acheter un pack de {credits} de crédits pour {price}, valable {count} jours","billing.packs.pay":"Payer {amount}","billing.packs.save":"économisez {amount}","billing.packs.validity_one":"Valable {count} jour","billing.packs.validity_other":"Valable {count} jours","billing.packs.buy":"Acheter des crédits","billing.packs.remaining":"{amount} restants","billing.packs.expires":"Expire le {date} (UTC)","billing.packs.expiryUnavailable":"Date d’expiration indisponible","billing.history.title":"Historique des crédits","billing.history.grant":"Attribution de crédits","billing.history.consumption":"Consommation de crédits","billing.history.paygCharge":"Frais à l’usage","billing.history.refund":"Remboursement","billing.history.adjustment":"Ajustement manuel","billing.history.expiry":"Expiration de crédits","billing.history.rolloverExceeded":"Plafond de report dépassé","billing.history.priorGrantExpired":"Attribution précédente expirée, car le report n’est pas activé","billing.history.periodGrant":"Attribution de crédits {plan} pour {period}","billing.checkpoints.title":"Points de contrôle récents de l’agent","billing.checkpoints.emptyTitle":"Aucun point de contrôle de l’agent","billing.checkpoints.emptyDescription":"Chaque requête de l’agent enregistre un point de contrôle fondé sur l’effort et son coût en crédits.","billing.actions.upgradeTo":"Passer à la formule {plan}","billing.actions.openPortal":"Ouvrir le portail client","billing.activity.emptyTitle":"Aucun événement d’utilisation","billing.activity.emptyDescription":"Votre activité facturable apparaîtra ici à mesure de son enregistrement.","billing.feedback.aiBlocked":"Les intégrations IA externes sont désormais bloquées.","billing.feedback.aiAllowed":"Les intégrations IA externes sont autorisées.","billing.feedback.aiFailed":"Impossible de mettre à jour la politique IA. Réessayez.","billing.feedback.invalidSpendLimit":"Saisissez une limite de dépenses valide en euros, ou laissez le champ vide pour ne pas appliquer de plafond.","billing.feedback.zeroSpendLimit":"Un plafond de 0 € bloque toutes les dépenses à l’usage. Laissez le champ vide pour ne pas appliquer de plafond, ou saisissez 0,01 € pour limiter l’utilisation aux crédits.","billing.feedback.invalidShutdownLimit":"Saisissez une limite d’arrêt des services valide en euros, ou laissez le champ vide.","billing.feedback.limitUpdated":"La limite de dépenses a été mise à jour.","billing.feedback.limitFailed":"Impossible de mettre à jour la limite de dépenses. Réessayez.","billing.feedback.choosePack":"Choisissez un pack de crédits à acheter.","billing.feedback.packsUnavailable":"L’achat de packs de crédits n’est pas encore disponible.","billing.feedback.packCheckoutFailed":"Impossible de lancer l’achat du pack de crédits. Réessayez.","billing.feedback.portalUnavailable":"Le portail de facturation est temporairement indisponible. Réessayez dans un instant.","billing.feedback.portalForbidden":"Vous ne pouvez pas gérer la facturation de cette organisation.","billing.feedback.checkoutUnavailable":"Le paiement est temporairement indisponible. Réessayez dans un instant.","billing.feedback.checkoutForbidden":"Le paiement est indisponible. Réessayez ultérieurement.","usage.page.title":"Vue d’ensemble de l’utilisation","usage.page.description":"Consultez l’utilisation des quotas de votre formule pour les projets, espaces de travail, ressources IA, stockage et déploiements.","usage.breakdown.loading":"Chargement des dépenses par ressource","usage.breakdown.errorTitle":"Impossible de charger les dépenses par ressource","usage.breakdown.errorDescription":"Les totaux des quotas restent disponibles, mais la ventilation par ressource est masquée pour éviter d’afficher des coûts incomplets.","usage.breakdown.title":"Dépenses par ressource","usage.breakdown.projected":"Projection (non facturée)","usage.breakdown.period":"Cette période de facturation ({start} – {end}), aux tarifs mesurés, ventilée par ressource.","usage.breakdown.emptyTitle":"Aucune dépense mesurée","usage.breakdown.emptyDescription":"Les coûts par ressource apparaîtront lorsque cette organisation enregistrera une utilisation facturable.","usage.access.title":"L’accès aux détails d’utilisation est restreint","usage.access.description":"Votre rôle ne permet pas de consulter l’utilisation de l’organisation. Demandez l’accès à un administrateur si vous avez besoin de ces totaux.","usage.empty.title":"Aucune utilisation enregistrée","usage.empty.description":"Les totaux des quotas et l’activité apparaîtront lorsque cette organisation commencera à utiliser des projets et des ressources IA.","usage.stats.projects":"Projets","usage.stats.projectsDetail":"La création est vérifiée avant chaque nouveau projet","usage.stats.aiTokens":"Jetons IA","usage.stats.aiTokensDetail":"Utilisation enregistrée pour les jetons d’entrée et de sortie","usage.stats.storage":"Stockage (Mo)","usage.stats.storageDetail":"Stockage des instantanés suivi par les événements d’utilisation","usage.stats.runtimeStarts":"Démarrages des environnements d’exécution","usage.table.quota":"Quota","usage.table.used":"Utilisé","usage.table.limit":"Limite","usage.table.customLimit":"Limite personnalisée","usage.table.progressAria":"Utilisation du quota {quota}","usage.table.allowanceUsed":"Vous avez utilisé {percent} % de votre quota « {quota} ».","usage.table.increaseLimits":"Augmenter les limites","usage.overrides.title":"Limites personnalisées de la formule","usage.overrides.description":"Les limites adaptées à cette organisation remplacent les quotas standard de la formule.","usage.overrides.limit":"Limite : {limit}","usage.overrides.until":"jusqu’au {date}","usage.members.loading":"Chargement des limites de dépenses des membres","usage.members.errorTitle":"Impossible de charger les limites de dépenses des membres","usage.members.errorDescription":"L’utilisation de l’organisation reste visible. Les limites propres aux membres sont masquées jusqu’à ce que la requête aboutisse.","usage.members.title":"Limites de dépenses par membre (Entreprise)","usage.members.description":"Plafonnez les dépenses à l’usage d’un membre sous la limite par défaut de l’organisation. La limite individuelle remplace le budget de l’organisation pour ce membre. Laissez le champ vide et enregistrez pour supprimer une limite.","usage.members.currentLimit":"limite : {amount}","usage.members.noLimit":"aucune limite individuelle","usage.members.placeholder":"Aucune limite","usage.members.limitAria":"Limite de dépenses de {member} en euros","usage.members.memberNumber":"Membre {count}","usage.members.emptyTitle":"Aucun membre disponible pour les limites individuelles","usage.members.emptyDescription":"Les contrôles de dépenses individuels apparaîtront après l’arrivée de membres dans cette organisation.","usage.feedback.chooseMember":"Choisissez un membre.","usage.feedback.invalidLimit":"Saisissez une limite valide en euros, ou laissez le champ vide pour la supprimer.","usage.feedback.limitCleared":"La limite du membre a été supprimée.","usage.feedback.limitSaved":"La limite du membre a été enregistrée.","usage.feedback.limitFailed":"Impossible de mettre à jour la limite du membre. Réessayez.","invoices.page.title":"Factures","invoices.page.description":"Consultez les factures, leur état de paiement et les reçus à télécharger.","invoices.loading":"Chargement des factures","invoices.restrictedTitle":"L’accès aux factures est restreint","invoices.errorTitle":"Impossible de charger les factures","invoices.restrictedDescription":"Seuls les propriétaires et les administrateurs de facturation de l’organisation peuvent consulter les factures.","invoices.errorDescription":"L’historique des factures est masqué car la dernière requête a échoué. Vos données de facturation n’ont pas été modifiées.","invoices.reload":"Recharger les factures","invoices.downloadAll":"Tout télécharger (.zip)","invoices.failed":"Échec","invoices.unpaid":"Impayée","invoices.datePending":"Date en attente","invoices.retryPayment":"Réessayer le paiement","invoices.view":"Consulter","invoices.emptyTitle":"Aucune facture","invoices.emptyConfigured":"Les factures apparaîtront après votre premier cycle de facturation payant.","invoices.emptyInactive":"Les factures apparaîtront ici lorsque la facturation sera active.","invoices.portalPrefix":"Gérez les informations de paiement et téléchargez les reçus dans le","invoices.portalLink":"portail client Stripe","paymentMethod.page.title":"Moyen de paiement","paymentMethod.page.description":"Mettez à jour les informations de facturation dans le portail client Stripe.","paymentMethod.manage":"Gérer le moyen de paiement","paymentMethod.emailLabel":"E-mail de facturation (copie)","paymentMethod.emailPlaceholder":"finance@entreprise.fr","paymentMethod.emailHelp":"Les alertes de dépenses et notifications de facturation sont envoyées en copie à cette adresse. Laissez le champ vide pour la supprimer.","paymentMethod.saveEmail":"Enregistrer l’e-mail de facturation","paymentMethod.feedback.noOrganization":"Aucune organisation n’a été trouvée pour votre compte.","paymentMethod.feedback.invalidEmail":"Saisissez une adresse e-mail de facturation valide, ou laissez le champ vide pour la supprimer.","paymentMethod.feedback.emailSaved":"Les e-mails de facturation seront envoyés en copie à {email}.","paymentMethod.feedback.emailCleared":"L’adresse de copie de facturation a été supprimée.","paymentMethod.feedback.emailFailed":"Impossible de mettre à jour l’e-mail de facturation. Réessayez.","paymentMethod.feedback.portalUnavailable":"Le portail client Stripe est actuellement indisponible.","paymentMethod.feedback.actionUnavailable":"Cette action est temporairement indisponible. Réessayez dans un instant.","downgrade.page.title":"Changer pour une formule inférieure","downgrade.page.description":"Vérifiez une formule inférieure avant de planifier le changement d’abonnement.","downgrade.page.catalogDescription":"Les prix et limites ci-dessous proviennent du catalogue de facturation actif, celui utilisé par Stripe.","downgrade.access.description":"Les informations de formule et de prix sont réservées aux propriétaires et aux administrateurs de facturation de l’organisation. Demandez à un propriétaire de modifier la formule, ou vérifiez votre rôle sur la","downgrade.billingPage":"page de facturation","downgrade.lowest":"Vous utilisez déjà la formule la moins chère{plan}. Aucune formule inférieure n’est disponible. Gérez votre abonnement sur la","downgrade.to":"Nouvelle formule","downgrade.free":"Gratuite","downgrade.monthlyPrice":"{amount}/mois","downgrade.freePriceChange":"Vous ne paierez plus rien, au lieu de {current}/mois.","downgrade.priceChange":"{target}/mois, au lieu de {current}/mois{saving}.","downgrade.saving":" — vous économisez {amount}/mois","downgrade.losses":"Ce que vous perdez","downgrade.reduction":"{label} : {from} → {to}","downgrade.noReductions":"Aucune réduction de quota par rapport à votre formule actuelle.","downgrade.paidFeaturesEnd":"Les fonctions réservées aux offres payantes, dont le support prioritaire et les limites supérieures, prendront fin à la date d’effet du changement.","downgrade.selectPreview":"Sélectionnez une formule pour prévisualiser le changement.","downgrade.activeSubscription":"Le portail de facturation Stripe s’ouvrira pour confirmer. Les fonctions de votre formule actuelle resteront disponibles jusqu’à la fin du cycle en cours, puis le changement et son éventuel prorata prendront effet.","downgrade.noActiveSubscription":"Vous n’avez pas d’abonnement payant actif. Le démarrage d’une formule ouvre donc le paiement Stripe et prend effet immédiatement au prix indiqué.","downgrade.openingPortal":"Ouverture du portail de facturation…","downgrade.schedule":"Planifier le changement dans le portail","downgrade.openingCheckout":"Ouverture du paiement…","downgrade.checkout":"Continuer vers le paiement","downgrade.feedback.noOrganization":"Aucune organisation n’a été trouvée pour votre compte.","downgrade.feedback.invalidPlan":"Choisissez une formule disponible en libre-service.","downgrade.feedback.unavailable":"Le changement d’abonnement est actuellement indisponible.","idePanels.common.unavailable":"Indisponible","idePanels.common.retry":"Réessayer","idePanels.common.cancel":"Annuler","idePanels.common.clear":"Effacer","idePanels.editor.library":"Bibliothèque","idePanels.editor.search":"Rechercher","idePanels.editor.locks":"Verrous","idePanels.editor.files":"Fichiers","idePanels.editor.editor":"Éditeur","idePanels.editor.shellTerminal":"Shell (terminal)","idePanels.editor.interactiveTerminal":"Terminal interactif","idePanels.editor.saveAllTitle":"Enregistrer tous les fichiers (⌘⇧S)","idePanels.editor.unsaved_one":"{count} non enregistré","idePanels.editor.unsaved_other":"{count} non enregistrés","idePanels.editor.unsavedAria_one":"{count} fichier non enregistré. Tout enregistrer.","idePanels.editor.unsavedAria_other":"{count} fichiers non enregistrés. Tout enregistrer.","idePanels.editor.definition":"Définition","idePanels.editor.references":"Références","idePanels.editor.rename":"Renommer","idePanels.editor.refactor":"Refactoriser","idePanels.editor.save":"Enregistrer","idePanels.editor.reset":"Réinitialiser","idePanels.editor.largeFile":"Mode fichier volumineux : les fonctions avancées de l’éditeur sont réduites pour préserver la fluidité de la saisie et du défilement.","idePanels.editor.lockedByFolder":"Verrouillé par le dossier {folder} — protégé contre les modifications de l’IA.","idePanels.editor.fileLocked":"Ce fichier est verrouillé — protégé contre les modifications de l’IA.","idePanels.editor.folderUnlocked":"Dossier déverrouillé — ses fichiers peuvent de nouveau être modifiés.","idePanels.editor.fileUnlocked":"Fichier déverrouillé — il peut de nouveau être modifié.","idePanels.editor.requestUnlock":"Demander le déverrouillage","idePanels.editor.binaryUnavailable":"Les fichiers binaires ne peuvent pas être prévisualisés dans l’éditeur.","idePanels.editor.noFile":"Aucun fichier sélectionné.","idePanels.deployment.emptyTitle":"Pas encore publié","idePanels.deployment.emptyBody":"Publiez ci-dessous pour obtenir une URL publique, un statut et des journaux.","idePanels.deployment.status":"Statut","idePanels.deployment.statusReady":"PRÊT","idePanels.deployment.statusBuilding":"COMPILATION EN COURS","idePanels.deployment.statusQueued":"EN ATTENTE","idePanels.deployment.statusPending":"EN COURS","idePanels.deployment.statusError":"ERREUR","idePanels.deployment.statusCanceled":"ANNULÉ","idePanels.deployment.visibility":"Visibilité","idePanels.deployment.public":"Public","idePanels.deployment.domain":"Domaine","idePanels.deployment.pending":"En attente","idePanels.deployment.buyDomain":"Acheter un nouveau domaine","idePanels.deployment.beta":"Bêta","idePanels.deployment.type":"Type","idePanels.deployment.typeStatic":"Statique","idePanels.deployment.typeAutoscale":"Mise à l’échelle automatique","idePanels.deployment.typeReservedVm":"VM réservée","idePanels.deployment.typeScheduled":"Planifié","idePanels.deployment.staticResources":"Hébergement statique · distribué via le CDN E-Code","idePanels.deployment.autoscaleResources":"Applications complètes avec serveur (SSR, API)","idePanels.deployment.reservedVmResources":"Serveurs permanents, bots et applications WebSocket","idePanels.deployment.scheduledResources":"Tâches cron, traitements par lots et synchronisations périodiques","idePanels.deployment.manage":"Gérer","idePanels.deployment.seeUsage":"Voir toute l’utilisation","idePanels.deployment.database":"Base de données","idePanels.deployment.databaseConnected":"Base de données de production connectée","idePanels.deployment.databaseDisconnected":"Aucune base de données de production","idePanels.deployment.databaseConnectedBody":"Votre base de données de production est prête : votre application peut enregistrer et gérer les données réelles des utilisateurs en toute sécurité.","idePanels.deployment.databaseDisconnectedBody":"Associez une base de données Postgres gérée pour doter votre déploiement d’un stockage persistant.","idePanels.deployment.environment":"Environnement","idePanels.deployment.environmentPreview":"aperçu","idePanels.deployment.environmentProduction":"production","idePanels.deployment.environmentDevelopment":"développement","idePanels.deployment.environmentStaging":"préproduction","idePanels.deployment.copyUrl":"Copier l’URL","idePanels.deployment.urlCopied":"URL copiée","idePanels.deployment.showQr":"Afficher le code QR","idePanels.deployment.hideQr":"Masquer le code QR","idePanels.database.title":"Bases de données","idePanels.database.all":"Toutes les bases de données","idePanels.database.refresh":"Actualiser","idePanels.database.refreshing":"Actualisation…","idePanels.database.externalTitle":"Connecter une base de données externe","idePanels.database.externalBody":"Associez un projet Supabase à cette application : sa chaîne de connexion et ses requêtes SQL s’exécuteront sur la base de données sélectionnée.","idePanels.database.loading":"Chargement des bases de données…","idePanels.database.loadErrorTitle":"Impossible de charger les bases de données","idePanels.database.loadErrorBody":"Vérifiez votre connexion, puis actualisez ce panneau.","idePanels.database.emptyTitle":"Aucune base de données","idePanels.database.emptyBody":"Associez une base de données Postgres gérée pour doter ce projet d’un stockage persistant.","idePanels.database.production":"Base de données de production","idePanels.database.billingPeriod":"Période de facturation","idePanels.database.renews":"Renouvellement","idePanels.database.renewsMonthly":"Renouvellement mensuel","idePanels.database.renewsYearly":"Renouvellement annuel","idePanels.database.computeHours":"Heures de calcul utilisées","idePanels.database.hours_one":"{count} heure","idePanels.database.hours_other":"{count} heures","idePanels.database.metricsPending":"Le quota de stockage, la période de facturation et les heures de calcul apparaîtront ici dès que le service de base de données gérée les transmettra. L’explorateur de tables, l’éditeur SQL et les migrations utiliseront la même connexion.","idePanels.database.statusReady":"Prête","idePanels.database.statusRunning":"Active","idePanels.database.statusProvisioning":"Provisionnement","idePanels.database.statusPending":"En attente","idePanels.database.statusFailed":"Échec","idePanels.database.statusStopped":"Arrêtée","idePanels.git.justNow":"à l’instant","idePanels.git.recorded":"date enregistrée","idePanels.git.timeAgo":"il y a {value}","idePanels.git.branchTriggerDetached":"HEAD détachée sur le commit {branch}. Ouvrir les actions de branche","idePanels.git.branchTriggerCurrent":"Branche actuelle : {branch}. Changer ou créer une branche","idePanels.git.filterBranches":"Filtrer les branches","idePanels.git.findBranch":"Rechercher une branche…","idePanels.git.branches":"Branches","idePanels.git.noBranchMatch":"Aucune branche ne correspond.","idePanels.git.newBranchFromCommit":"Nouvelle branche depuis ce commit","idePanels.git.newBranchFromBranch":"Nouvelle branche depuis {branch}","idePanels.git.branchExample":"fonctionnalite/ma-branche","idePanels.git.create":"Créer","idePanels.git.noRemoteReason":"Aucun dépôt distant configuré — connectez-en un dans les paramètres Git.","idePanels.git.detachedReason":"HEAD détachée — créez une branche avant d’envoyer ou de récupérer des commits.","idePanels.git.syncSummary":"{ahead} commits à envoyer, {behind} commits à récupérer","idePanels.git.syncActions":"{ahead} commits à envoyer, {behind} commits à récupérer. Ouvrir les actions d’envoi et de récupération","idePanels.git.push":"Pousser","idePanels.git.pushCount_one":"Push de {count} commit","idePanels.git.pushCount_other":"Push de {count} commits","idePanels.git.pull":"Tirer","idePanels.git.pullCount_one":"Pull de {count} commit","idePanels.git.pullCount_other":"Pull de {count} commits","idePanels.git.loadFailed":"Impossible de charger le panneau Git.","idePanels.git.degraded":"Le statut Git est temporairement indisponible ; affichage des dernières modifications connues.","idePanels.git.actionFailed":"L’action Git a échoué.","idePanels.git.actionCompleted":"L’action Git est terminée.","idePanels.git.commaCommitError":"Impossible de committer les fichiers dont le chemin contient une virgule : {paths}","idePanels.git.commaDiscardError":"Impossible d’annuler un fichier dont le chemin contient une virgule : {path}","idePanels.git.inspectionFailed":"Impossible de charger les données de blame et de diff.","idePanels.git.loadingStatus":"Chargement du statut Git de l’espace de travail…","idePanels.git.detachedTitle":"HEAD détachée — vous consultez le commit {branch}, pas une branche.","idePanels.git.detachedBody":"Les nouveaux commits créés ici n’appartiennent à aucune branche et peuvent être perdus si vous changez de branche. Créez une branche depuis ce commit pour poursuivre votre travail en toute sécurité.","idePanels.git.newBranchName":"Nom de la nouvelle branche","idePanels.git.rescueBranchExample":"sauvetage/mon-travail","idePanels.git.newBranchHere":"Nouvelle branche depuis ce commit","idePanels.git.conflictBannerTitle":"Résolvez tous les conflits pour terminer la fusion.","idePanels.git.conflictBannerBody_one":"{count} fichier est encore en conflit. Terminez ou annulez la fusion avant toute autre action Git.","idePanels.git.conflictBannerBody_other":"{count} fichiers sont encore en conflit. Terminez ou annulez la fusion avant toute autre action Git.","idePanels.git.branch":"Branche","idePanels.git.detachedBranch":"HEAD détachée @ {branch}","idePanels.git.changed_one":"{count} modification","idePanels.git.changed_other":"{count} modifications","idePanels.git.conflicts_one":"{count} conflit","idePanels.git.conflicts_other":"{count} conflits","idePanels.git.refreshStatus":"Actualiser le statut Git","idePanels.git.settings":"Paramètres Git","idePanels.git.noRemote":"Aucun dépôt distant connecté","idePanels.git.advancedSettings":"Paramètres Git avancés","idePanels.git.remoteUpdates":"Mises à jour distantes","idePanels.git.settingsShort":"Paramètres","idePanels.git.refreshFetch":"Actualiser et récupérer","idePanels.git.fetch":"Récupérer","idePanels.git.disconnectRemote":"Déconnecter le dépôt distant","idePanels.git.disconnect":"Déconnecter","idePanels.git.remoteTracking":"origin/{branch} • upstream","idePanels.git.defaultBranch":"branche par défaut {branch}","idePanels.git.lastFetched":"dernière récupération {time}","idePanels.git.sshAuthentication":"Authentifié avec la clé SSH de ce projet dans l’espace de travail isolé. Gérez-la dans Paramètres, puis Clés SSH.","idePanels.git.sshLabel":"SSH","idePanels.git.syncChanges":"Synchroniser les modifications","idePanels.git.pullTitle":"Effectuer un pull de origin/{branch} dans l’espace de travail. Le premier pull le clone dans une arborescence vide.","idePanels.git.pullAria":"Récupérer par pull les mises à jour de origin/{branch} dans cette branche de l’espace de travail","idePanels.git.pushTitle":"Envoyer les commits locaux par push vers origin/{branch}","idePanels.git.disconnectTitle":"Déconnecter ce dépôt Git distant ?","idePanels.git.disconnectBody":"Vos fichiers et votre historique local sont conservés ; seul le lien distant est supprimé du projet.","idePanels.git.discardTitle":"Annuler les modifications ?","idePanels.git.discardAllBody_one":"Cette action rétablit le dernier commit pour le {count} fichier modifié. Elle est irréversible.","idePanels.git.discardAllBody_other":"Cette action rétablit le dernier commit pour les {count} fichiers modifiés. Elle est irréversible.","idePanels.git.discardFileBody":"Cette action rétablit {path} au dernier commit. Elle est irréversible.","idePanels.git.discard":"Annuler les modifications","idePanels.git.discardAll":"Tout annuler","idePanels.git.discardFile":"Annuler pour ce fichier","idePanels.git.restoreTitle":"Restaurer tous les fichiers à ce commit ?","idePanels.git.restoreBody":"Cette action remplace votre arborescence de travail par le contenu du commit {sha}. Les modifications non committées seront perdues. Vous pourrez ensuite les vérifier et créer un commit.","idePanels.git.restoreAll":"Tout restaurer","idePanels.git.workingTree":"Arborescence de travail","idePanels.git.workingTreeBody":"Fichiers modifiés dans cet espace de travail. Sélectionnez un fichier pour prévisualiser son diff, puis indexez-le pour le commit.","idePanels.git.stageAll":"Tout indexer","idePanels.git.unstageAll":"Tout désindexer","idePanels.git.stageFile":"Indexer {path}","idePanels.git.staged":"Indexé","idePanels.git.stage":"Indexer","idePanels.git.discardPath":"Annuler les modifications de {path}","idePanels.git.discardChanges":"Annuler les modifications","idePanels.git.noChanges":"Aucun fichier modifié.","idePanels.git.conflictingFiles":"Fichiers en conflit ({count})","idePanels.git.conflictingFilesBody":"Résolvez chaque fichier (conserver la version actuelle ou entrante, ou laisser l’agent fusionner les deux), puis créez un commit pour terminer la fusion.","idePanels.git.resolveWithAgent":"Résoudre les conflits avec l’agent","idePanels.git.keepCurrent":"Conserver la version actuelle","idePanels.git.keepIncoming":"Conserver la version entrante","idePanels.git.hideEditor":"Masquer l’éditeur","idePanels.git.resolveInline":"Résoudre dans l’éditeur","idePanels.git.loadingConflict":"Chargement du conflit…","idePanels.git.conflictLoadFailed":"Impossible de charger le fichier en conflit.","idePanels.git.stagedTitle":"Fichiers indexés","idePanels.git.readyForCommit":"Prêt pour le commit","idePanels.git.selectToStage":"Sélectionnez des fichiers ci-dessus pour les indexer.","idePanels.git.commitMessage":"Message du commit","idePanels.git.commitSummary":"Résumé","idePanels.git.commitStaged_one":"Committer {count} fichier indexé","idePanels.git.commitStaged_other":"Committer {count} fichiers indexés","idePanels.git.commitAs":"Créer le commit en tant que… (auteur facultatif)","idePanels.git.authorName":"Nom de l’auteur","idePanels.git.commitAuthorName":"Nom de l’auteur du commit","idePanels.git.authorEmailExample":"auteur@exemple.fr","idePanels.git.commitAuthorEmail":"E-mail de l’auteur du commit","idePanels.git.authorOverrideHelp":"Les deux champs sont requis pour remplacer l’auteur ; sinon, l’auteur par défaut du dépôt est utilisé.","idePanels.git.commaPathsHelp":"Ces chemins indexés contiennent une virgule et ne peuvent pas être committés ici pour le moment : {paths}","idePanels.git.commitChanges":"Committer les modifications","idePanels.git.commitPushHelp":"Créer le commit et effectuer un push vers origin en une seule étape","idePanels.git.commitPush":"Committer et pousser","idePanels.git.commitGraph":"Graphe des commits","idePanels.git.notPushed":"Non envoyé vers le dépôt distant","idePanels.git.upToDate":"À jour avec le dépôt distant","idePanels.git.noCommits":"Aucun commit. Créez votre premier commit.","idePanels.git.loading":"Chargement…","idePanels.git.changedFiles_one":"{count} fichier modifié","idePanels.git.changedFiles_other":"{count} fichiers modifiés","idePanels.git.closeCommitDetail":"Fermer le détail du commit","idePanels.git.inspectFile":"Inspecter un fichier (diff + blame)","idePanels.git.fileExample":"src/App.tsx","idePanels.git.inspecting":"Chargement…","idePanels.git.inspect":"Inspecter","idePanels.git.inspectionEmpty":"Sélectionnez un fichier modifié ou saisissez un chemin pour afficher son diff et son blame.","idePanels.git.branchActions":"Actions de branche","idePanels.git.createBranch":"Créer une branche","idePanels.git.createBranchExample":"fonctionnalite/parcours-facturation","idePanels.git.startPoint":"Point de départ","idePanels.git.createSwitch":"Créer et basculer","idePanels.git.stashMessage":"Message du stash","idePanels.git.stashExample":"WIP avant rebase","idePanels.git.stashChanges":"Placer les modifications dans le stash","idePanels.git.stashes":"Stashs","idePanels.git.apply":"Appliquer","idePanels.git.pop":"Appliquer et supprimer","idePanels.git.prTitle":"Titre de la pull request","idePanels.git.prTitleExample":"Mise à jour du projet","idePanels.git.sourceBranch":"Branche source","idePanels.git.targetBranch":"Branche cible","idePanels.git.prBodyExample":"Résumé, tests et notes de déploiement","idePanels.git.prDescription":"Description de la pull request","idePanels.git.createPr":"Créer la PR GitHub","idePanels.git.configureRemote":"Configurez un dépôt GitHub distant avant de créer une pull request.","idePanels.preview.openLocation":"Ouvrir {location}","idePanels.preview.openFileLine":"Ouvrir {path} à la ligne {line}","idePanels.preview.bootDependencies":"Compilation des dépendances","idePanels.preview.bootDependenciesBody":"Préparation des paquets et de l’environnement d’exécution de l’espace de travail.","idePanels.preview.bootBuild":"Compilation en cours","idePanels.preview.bootBuildBody":"Exécution de la commande de compilation ou de développement du projet.","idePanels.preview.bootServer":"Démarrage du serveur de développement","idePanels.preview.bootServerBody":"Détection des ports et connexion de la webview.","idePanels.preview.bootReady":"Prêt","idePanels.preview.bootReadyBody":"L’aperçu est connecté à un port actif.","idePanels.preview.deviceIphoneSe":"iPhone SE","idePanels.preview.deviceIphone":"iPhone 12/13","idePanels.preview.deviceIphoneProMax":"iPhone 12/13 Pro Max","idePanels.preview.deviceIpadMini":"iPad Mini","idePanels.preview.deviceIpadAir":"iPad Air","idePanels.preview.deviceIpadPro11":"iPad Pro 11\"","idePanels.preview.deviceIpadPro13":"iPad Pro 12,9\"","idePanels.preview.deviceSmallLaptop":"Petit ordinateur portable","idePanels.preview.deviceLaptop":"Ordinateur portable","idePanels.preview.deviceLargeLaptop":"Grand ordinateur portable","idePanels.preview.deviceDesktop":"Ordinateur de bureau","idePanels.preview.device4k":"Écran 4K","idePanels.preview.tipAgent":"Demandez à l’Agent d’ajouter des fonctionnalités pendant le démarrage de l’aperçu.","idePanels.preview.tipDeploy":"Déployez en préproduction ou en production depuis le panneau Déploiements.","idePanels.preview.tipFiles":"Ouvrez Fichiers pour examiner et modifier le code généré sans quitter l’IDE.","idePanels.preview.tipCollaborators":"Invitez des collaborateurs dans le même espace de travail.","idePanels.preview.tipSnapshots":"Utilisez les instantanés et la restauration pour revenir à une version stable.","idePanels.preview.tipEnvironment":"Configurez les variables d’environnement et les secrets de chaque projet.","idePanels.preview.tipWindow":"Ouvrez l’aperçu dans une fenêtre dédiée pour disposer de plus d’espace.","idePanels.preview.tipPorts":"L’Agent peut continuer à travailler pendant la détection des ports.","idePanels.preview.tipIsolation":"L’isolation de l’espace de travail limite chaque application à l’environnement d’exécution de son projet.","idePanels.preview.tipDomains":"Associez des domaines personnalisés lorsque votre application est prête à être publiée.","idePanels.preview.tipDatabase":"Utilisez le panneau Base de données pour parcourir SQL et gérer les données du projet.","idePanels.preview.tipDevices":"Basculez entre les vues ordinateur, tablette et mobile dans cette barre d’outils.","idePanels.preview.slidePreparing":"Préparation de votre aperçu en direct","idePanels.preview.slidePreparingBody":"E-Code démarre le serveur de développement, analyse les ports de l’environnement d’exécution et connecte automatiquement la webview.","idePanels.preview.slideAutomatic":"Un aperçu sans configuration manuelle","idePanels.preview.slideAutomaticBody":"L’espace de travail détecte les scripts des paquets, installe les dépendances si nécessaire et actualise les ports.","idePanels.preview.portScans":"Analyse des ports","idePanels.preview.automatic":"Automatique","idePanels.preview.devServer":"Serveur de développement","idePanels.preview.live":"Actif","idePanels.preview.slideBooting":"Pendant le démarrage","idePanels.preview.slideBootingBody":"Utilisez immédiatement le reste de l’IDE. L’aperçu se connectera dès que l’application exposera un port.","idePanels.preview.slideConnected":"Tout reste connecté","idePanels.preview.slideConnectedBody":"L’aperçu, les fichiers, le terminal, les journaux, les déploiements, les secrets et la collaboration utilisent le même espace de travail.","idePanels.preview.database":"Base de données","idePanels.preview.secrets":"Secrets","idePanels.preview.domains":"Domaines","idePanels.preview.deployments":"Déploiements","idePanels.preview.slidePublishing":"Prêt pour la publication","idePanels.preview.slidePublishingBody":"Lorsque votre application est stable, publiez des aperçus et des déploiements de préproduction ou de production depuis le même projet.","idePanels.preview.tls":"TLS","idePanels.preview.builtIn":"Intégré","idePanels.preview.rollback":"Restauration","idePanels.preview.oneClick":"1 clic","idePanels.preview.logs":"Journaux","idePanels.preview.templateTitle":"Aperçu du modèle","idePanels.preview.loadingWebview":"Chargement de la webview et attente du premier rendu…","idePanels.preview.urlCopied":"URL de l’aperçu copiée","idePanels.preview.openedFileLine":"{path}:{line} ouvert","idePanels.preview.openedFile":"{path} ouvert","idePanels.preview.noMatchingSource":"Aucun fichier source correspondant à cet élément.","idePanels.preview.refreshPortsFailed":"Impossible d’actualiser les ports de l’aperçu.","idePanels.preview.refreshAfterFile":"Actualisation de l’aperçu après {path}","idePanels.preview.startingCommand":"Démarrage de {label}…","idePanels.preview.buildStarted":"Compilation démarrée : {label}","idePanels.preview.startFailed":"Impossible de démarrer le serveur d’aperçu.","idePanels.preview.startExhausted":"Le serveur de développement n’a pas démarré après plusieurs tentatives. Essayez Exécuter / Réinstaller.","idePanels.preview.staticReady":"Aperçu HTML statique prêt.","idePanels.preview.filesChanged":"Fichiers de l’application modifiés. Détection du port d’aperçu…","idePanels.preview.reopening":"Réouverture de l’espace de travail — redémarrage du serveur de développement…","idePanels.preview.startingServer":"Démarrage du serveur de développement et détection des ports de l’environnement d’exécution…","idePanels.preview.reinstallingServer":"Réinstallation des dépendances et redémarrage du serveur de développement…","idePanels.preview.noPort":"Aucun port d’aperçu actif détecté.","idePanels.preview.resizeWidth":"Faire glisser pour redimensionner la largeur","idePanels.preview.popupBlocked":"Impossible d’ouvrir la fenêtre d’aperçu — vérifiez si votre navigateur bloque les fenêtres contextuelles.","idePanels.preview.popupTitle":"Aperçu — {device}","idePanels.preview.blankPage":"L’aperçu a été chargé, mais l’application ne s’est pas montée (page blanche). Vérifiez le point d’entrée ou la console. Une actualisation automatique va être tentée…","idePanels.preview.runtimeError":"Erreur d’aperçu : {message}{location}","idePanels.preview.unhandledRejection":"Rejet de promesse non géré dans l’aperçu : {message}","idePanels.preview.unknownError":"erreur inconnue","idePanels.preview.thumbnailSaved":"Enregistré comme miniature du projet.","idePanels.preview.thumbnailStorageDisabled":"Le stockage d’objets n’est pas activé — la miniature n’a pas été enregistrée.","idePanels.preview.thumbnailFailed":"Impossible de capturer la miniature.","idePanels.preview.serverStartingRetry":"Le serveur d’aperçu démarre encore ; nouvelle tentative…","idePanels.preview.rendered":"Aperçu affiché.","idePanels.preview.serverUnreachableRetry":"Le serveur d’aperçu est inaccessible ; nouvelle tentative…","idePanels.preview.serverNotResponding":"Le serveur d’aperçu ne répond pas.","idePanels.preview.inspectSelected":"Ouvrir le fichier source qui affiche probablement l’élément sélectionné","idePanels.preview.inspectHint":"Activez l’inspection du code, puis sélectionnez un élément dans l’aperçu","idePanels.preview.historyUnavailable":"Historique de navigation indisponible pour les URL externes","idePanels.preview.back":"Précédent","idePanels.preview.forward":"Suivant","idePanels.preview.refresh":"Actualiser l’aperçu","idePanels.preview.disableSelection":"Désactiver la sélection de capture","idePanels.preview.selectArea":"Sélectionner une zone de l’aperçu","idePanels.preview.captureThumbnail":"Capturer l’aperçu comme miniature du projet","idePanels.preview.url":"URL de l’aperçu","idePanels.preview.copyUrl":"Copier l’URL de l’aperçu","idePanels.preview.copy":"Copier","idePanels.preview.device":"Appareil d’aperçu","idePanels.preview.desktop":"Ordinateur","idePanels.preview.tablet":"Tablette","idePanels.preview.mobile":"Mobile","idePanels.preview.customWidth":"Largeur personnalisée","idePanels.preview.responsiveMode":"Passer en mode responsive","idePanels.preview.deviceMode":"Passer en mode appareil","idePanels.preview.showQr":"Afficher le code QR","idePanels.preview.portrait":"Passer en orientation portrait","idePanels.preview.landscape":"Passer en orientation paysage","idePanels.preview.hideFrame":"Masquer le cadre de l’appareil","idePanels.preview.showFrame":"Afficher le cadre de l’appareil","idePanels.preview.disableInspect":"Désactiver l’inspection du code","idePanels.preview.enableInspect":"Activer l’inspection du code","idePanels.preview.openDevTools":"Ouvrir les DevTools intégrés à l’aperçu","idePanels.preview.devTools":"DevTools","idePanels.preview.inspectToCode":"Inspecter le code","idePanels.preview.exitFullscreen":"Quitter le plein écran","idePanels.preview.fullscreen":"Plein écran","idePanels.preview.openBrowser":"Ouvrir dans le navigateur","idePanels.preview.open":"Ouvrir","idePanels.preview.webviewLogs":"Journaux de la webview","idePanels.preview.windowOptions":"Options de la fenêtre d’aperçu","idePanels.preview.window":"Fenêtre d’aperçu","idePanels.preview.windowBody":"Ouvrir séparément ou tester une taille d’écran","idePanels.preview.newTab":"Nouvel onglet","idePanels.preview.windowShort":"Fenêtre","idePanels.preview.showDeviceFrame":"Afficher le cadre de l’appareil","idePanels.preview.landscapeMode":"Orientation paysage","idePanels.preview.responsivePresets":"Tailles responsive prédéfinies","idePanels.preview.withFrame":"avec cadre","idePanels.preview.iframeTitle":"aperçu","idePanels.preview.reconnecting":"Reconnexion à votre application en cours d’exécution…","idePanels.preview.reattaching":"Rattachement à votre application en cours d’exécution…","idePanels.preview.waitingPort":"Attente du port d’aperçu…","idePanels.preview.restartStatus":"Redémarrage du serveur d’aperçu et détection des ports de l’environnement d’exécution…","idePanels.preview.restartStarted":"Compilation démarrée : redémarrage du serveur d’aperçu","idePanels.preview.restartFailed":"Impossible de redémarrer le serveur d’aperçu.","idePanels.preview.reinstallStatus":"Réinstallation des dépendances et redémarrage du serveur d’aperçu…","idePanels.preview.reinstalling":"Réinstallation des dépendances","idePanels.preview.reinstallFailed":"Impossible de réinstaller les dépendances.","idePanels.preview.projectPreview":"Aperçu du projet","idePanels.preview.startingWorkspace":"Démarrage de l’espace de travail du projet…","idePanels.preview.logsLabel":"Journaux de l’aperçu","idePanels.preview.logType":"Type de journal de l’aperçu","idePanels.preview.serverLogs":"Journaux du serveur","idePanels.preview.openLogsRight":"Ouvrir les journaux dans le panneau de droite","idePanels.preview.dockRight":"Ancrer à droite","idePanels.preview.hideLogs":"Masquer les journaux","idePanels.preview.logUrl":"URL de l’aperçu : {url}","idePanels.preview.notRunning":"non démarré","idePanels.preview.logPort":"Port actif : {port}","idePanels.preview.none":"aucun","idePanels.preview.logDevice":"Appareil : {device}","idePanels.preview.logStatus":"Statut : {status}","idePanels.preview.ready":"prêt","idePanels.preview.noServerLogs":"Aucun journal du serveur. Démarrez le serveur de développement pour afficher les journaux ici.","idePanels.preview.devToolsLabel":"DevTools de l’aperçu","idePanels.preview.devToolsTabs":"Onglets des DevTools de l’aperçu","idePanels.preview.console":"Console","idePanels.preview.network":"Réseau","idePanels.preview.elements":"Éléments","idePanels.preview.closeDevTools":"Fermer les DevTools de l’aperçu","idePanels.preview.noConsoleErrors":"Aucune erreur dans la console","idePanels.preview.consoleEmptyBody":"Les journaux de l’environnement d’exécution restent disponibles dans le panneau Journaux.","idePanels.preview.noNavigations":"Aucune navigation","idePanels.preview.noNavigationsBody":"Les chargements de page et changements de route apparaîtront ici.","idePanels.preview.text":"Texte","idePanels.preview.noText":"Aucun contenu textuel","idePanels.preview.source":"Source","idePanels.preview.openSource":"Ouvrir la source ({location})","idePanels.preview.openMatchingSource":"Ouvrir le fichier source correspondant","idePanels.preview.noElement":"Aucun élément sélectionné","idePanels.preview.noElementBody":"Activez l’inspection du code, puis sélectionnez un élément dans l’aperçu.","idePanels.preview.preparing":"Préparation de l’aperçu","idePanels.preview.viewLogs":"Afficher les journaux","idePanels.preview.stalledTitle":"Le démarrage n’avance plus","idePanels.preview.stalledBody":"Rien n’a bougé depuis plusieurs minutes. Les journaux disent ce que l’application attend — vous pouvez aussi relancer le démarrage.","idePanels.preview.stalledRestart":"Relancer le démarrage","idePanels.preview.startupProgress":"Progression du démarrage de l’aperçu","idePanels.preview.startupSteps":"Étapes de démarrage de l’aperçu","idePanels.preview.preparationSlides":"Conseils de préparation de l’aperçu","idePanels.preview.showSlide":"Afficher « {headline} »","idePanels.preview.preparingApp":"Préparation : {app}","idePanels.preview.resuming":"Reprise de la session","idePanels.preview.reattachingTitle":"Rattachement à votre application en cours d’exécution","idePanels.preview.webviewStartup":"Démarrage de la webview","idePanels.preview.webviewProgress":"Progression du démarrage de la webview","idePanels.preview.webviewSteps":"Étapes de démarrage de la webview","idePanels.preview.status":"Statut de l’aperçu","idePanels.preview.notRunningTitle":"Votre application n’est pas démarrée","idePanels.preview.notRunningBody":"E-Code n’a pas encore détecté de port de serveur de développement actif. Relancez l’application ; l’aperçu se connectera automatiquement.","idePanels.preview.workspaceFailed":"Impossible de démarrer l’espace de travail du projet.","idePanels.preview.startingPreview":"Démarrage de l’aperçu…","idePanels.preview.runPreview":"Exécuter pour afficher l’application","idePanels.preview.reinstallHelp":"Forcer une nouvelle installation des dépendances si l’aperçu reste bloqué après un échec d’installation","idePanels.preview.reinstallDependencies":"Réinstaller les dépendances","idePanels.preview.levelError":"Erreur","idePanels.preview.levelWarning":"Avertissement","idePanels.preview.levelInfo":"Information","idePanels.preview.levelLog":"Journal","idePanels.preview.networkDetecting":"Détection","idePanels.preview.networkReady":"Prêt","idePanels.preview.networkReloaded":"Actualisé","idePanels.preview.networkWaiting":"Attente du serveur en amont","idePanels.preview.networkLoaded":"Chargé","idePanels.preview.networkNavigated":"Navigation","idePanels.preview.networkUnavailable":"Indisponible","idePanels.preview.sourceAddress":"Barre d’adresse","idePanels.preview.sourceIframe":"Cadre d’aperçu","idePanels.preview.sourcePort":"Port {port}","idePanels.preview.sourceSystem":"Système","idePanels.preview.pixelUnit":"px","mobileIdeTabs.search.title":"Recherche","mobileIdeTabs.search.description":"Rechercher dans vos fichiers","mobileIdeTabs.files.title":"Fichiers","mobileIdeTabs.files.description":"Trouver un fichier","mobileIdeTabs.editor.title":"Éditeur","mobileIdeTabs.editor.description":"Ouvrir l’éditeur de code","mobileIdeTabs.overview.title":"Vue d’ensemble","mobileIdeTabs.overview.description":"Résumé du projet","mobileIdeTabs.agent.title":"Agent","mobileIdeTabs.agent.description":"L’agent peut effectuer des modifications, relire son travail et se déboguer automatiquement.","mobileIdeTabs.deployments.title":"Publier","mobileIdeTabs.deployments.description":"Publiez votre application","mobileIdeTabs.objectStorage.title":"Stockage d’objets","mobileIdeTabs.objectStorage.description":"Stockage de fichiers","mobileIdeTabs.settings.title":"Paramètres","mobileIdeTabs.settings.description":"Paramètres du projet","mobileIdeTabs.terminal.title":"Shell (Terminal)","mobileIdeTabs.terminal.description":"Terminal shell de l’espace de travail","mobileIdeTabs.database.title":"Base de données","mobileIdeTabs.database.description":"Explorateur SQL","mobileIdeTabs.locks.title":"Verrous","mobileIdeTabs.locks.description":"Fichiers verrouillés","mobileIdeTabs.problems.title":"Problèmes","mobileIdeTabs.problems.description":"Erreurs et avertissements détectés dans votre espace de travail","mobileIdeTabs.debugger.title":"Débogueur","mobileIdeTabs.debugger.description":"Points d’arrêt et configurations de lancement","mobileIdeTabs.git.title":"Git","mobileIdeTabs.git.description":"Gestion de versions de votre application","mobileIdeTabs.packages.title":"Paquets","mobileIdeTabs.packages.description":"Gestionnaire de dépendances","mobileIdeTabs.skills.title":"Compétences","mobileIdeTabs.skills.description":"Compétences de l’agent","mobileIdeTabs.studio.title":"Studio Agent","mobileIdeTabs.studio.description":"Supervision de l’agent","mobileIdeTabs.integrations.title":"Intégrations","mobileIdeTabs.integrations.description":"Services connectés","mobileIdeTabs.extensions.title":"Extensions","mobileIdeTabs.extensions.description":"Place de marché","mobileIdeTabs.collaborators.title":"Collaborateurs","mobileIdeTabs.collaborators.description":"Accès de l’équipe","mobileIdeTabs.preview.title":"Webview","mobileIdeTabs.preview.description":"Prévisualisez votre application","mobileIdeTabs.logs.title":"Journaux","mobileIdeTabs.logs.description":"Journaux d’exécution","mobileIdeTabs.secrets.title":"Secrets","mobileIdeTabs.secrets.description":"Stockez des informations sensibles (comme des clés d’API) en toute sécurité dans votre application","mobileIdeTabs.security.title":"Sécurité","mobileIdeTabs.security.description":"Analyseur de sécurité","mobileIdeTabs.monitoring.title":"Supervision","mobileIdeTabs.monitoring.description":"Métriques de l’application","mobileIdeTabs.domains.title":"Domaines","mobileIdeTabs.domains.description":"Domaines personnalisés de votre application","mobileIdeTabs.ports.title":"Ports","mobileIdeTabs.ports.description":"Ports redirigés","mobileIdeTabs.env.title":"Variables d’environnement","mobileIdeTabs.env.description":"Variables d’environnement","mobileIdeTabs.workflows.title":"Flux de travail","mobileIdeTabs.workflows.description":"Configurez différentes façons d’exécuter votre application","mobileIdeTabs.activity.title":"Activité","mobileIdeTabs.activity.description":"Chronologie du projet","mobileIdeTabs.snapshots.title":"Instantanés","mobileIdeTabs.snapshots.description":"Points de restauration","mobileIdeTabs.commands.title":"Commandes","mobileIdeTabs.commands.description":"Ouvrir la palette de commandes","mobileIdeTabs.share.title":"Partager","mobileIdeTabs.share.description":"Copier le lien du projet","terminalTabs.sessions.open":"Ouvrir les sessions shell. Session active {session}.","terminalTabs.sessions.title":"Sessions shell","terminalTabs.sessions.close":"Fermer {label}","terminalTabs.sessions.max":"Maximum {max} shells","terminalTabs.sessions.new":"Nouveau shell","terminalTabs.actions.label":"Actions du shell","terminalTabs.copy.label":"Copier","terminalTabs.copy.title":"Copier la sélection ou la sortie visible","terminalTabs.copy.copied":"Copié dans le presse-papiers","terminalTabs.copy.output":"Copier la sortie","terminalTabs.find.label":"Rechercher dans le shell","terminalTabs.find.titleShortcut":"Rechercher dans le shell ({shortcut})","terminalTabs.clear.label":"Effacer le terminal","terminalTabs.clear.titleShortcut":"Effacer le terminal ({shortcut})","terminalTabs.more.label":"Plus d’actions du shell","terminalTabs.menu.kill":"Arrêter le shell","terminalTabs.menu.restart":"Redémarrer le shell","terminalTabs.view.single":"Vue simple","terminalTabs.view.split":"Vue divisée","terminalTabs.tab.close":"Fermer l’onglet","terminalTabs.profile.label":"Profil","terminalTabs.profile.select":"Profil du shell","terminalTabs.pty.label":"Taille PTY du shell","terminalTabs.pty.title":"Taille PTY du shell. Affiche les colonnes et lignes actuelles du pseudo-terminal.","terminalTabs.pty.size":"Taille PTY","terminalTabs.pty.dimensions":"{cols}x{rows}","terminalTabs.pty.detecting":"Détection…","terminalTabs.find.placeholder":"Rechercher","terminalTabs.find.noResults":"Aucun résultat","terminalTabs.find.countOf":"{index} sur {count}","terminalTabs.find.countMatches":"{count} résultats","terminalTabs.find.next":"Correspondance suivante","terminalTabs.find.nextTitle":"Correspondance suivante (Entrée)","terminalTabs.find.nextShort":"Suivant","terminalTabs.find.prev":"Correspondance précédente","terminalTabs.find.prevTitle":"Correspondance précédente (Maj+Entrée)","terminalTabs.find.prevShort":"Précédent","terminalTabs.find.closeTitle":"Fermer la recherche (Échap)","terminalTabs.find.exit":"Quitter","ideNew.seo.title":"Créer un nouveau projet dans l’IDE — E-Code","ideNew.seo.description":"Créez un projet E-Code à partir d’un prompt, d’un modèle ou d’un dépôt, puis poursuivez dans l’IDE E-Code complet.","ideNew.seo.imageAlt":"Création d’un nouveau projet dans l’IDE E-Code","ideNew.page.title":"Créer un nouveau projet dans l’IDE","ideNew.page.eyebrow":"IDE","ideNew.page.description":"La route historique E-Code /ide/new reste disponible et vous dirige vers la création de projets sans remplacer l’IDE E-Code.","ideNew.page.primaryAction":"Créer un projet","ideNew.page.secondaryAction":"Parcourir les modèles","ideNew.highlight.projectCreation":"Création de projet","ideNew.highlight.ide":"IDE E-Code","ideNew.highlight.templates":"Modèles","ideNew.highlight.runtimeSetup":"Configuration de l’environnement d’exécution","ideNew.section.start.title":"Créer à partir d’un prompt ou d’un modèle","ideNew.section.start.body":"Commencez avec un prompt en langage naturel, importez un dépôt ou choisissez un modèle, puis ouvrez le projet dans l’IDE.","ideNew.section.start.prompt":"Création par prompt","ideNew.section.start.templates":"Galerie de modèles","ideNew.section.start.repository":"Importation d’un dépôt","ideNew.section.start.preview":"Aperçu de l’environnement d’exécution","ideNew.section.canonical.title":"Route E-Code canonique","ideNew.section.canonical.body":"La création de projets se trouve sur /projects/new afin de centraliser l’authentification, les quotas et la persistance des projets.","ideNew.section.canonical.route":"/projects/new","ideNew.section.canonical.workspace":"Espace de travail authentifié","ideNew.section.canonical.quota":"Vérification des quotas","ideNew.section.canonical.persistence":"Persistance des projets","importHub.meta.title":"Importer un projet - E-Code","importHub.page.title":"Importer un projet","importHub.page.description":"Importez votre code, vos données ou votre design dans un espace de travail E-Code persistant. Les fichiers sont préparés et analysés pour détecter les secrets avant tout commit.","importHub.category.git":"Dépôts Git","importHub.category.export":"Exports d’agents et d’outils de création","importHub.category.data":"Données","importHub.category.design":"Design","importHub.category.ai":"IA","importHub.category.blank":"Partir de zéro","importHub.provider.github.label":"GitHub","importHub.provider.github.description":"Importez un dépôt public par URL, avec import express depuis une URL collée.","importHub.provider.bitbucket.label":"Bitbucket","importHub.provider.bitbucket.description":"Importez un dépôt Bitbucket par URL dans un projet persistant.","importHub.provider.zip.label":"Archive ZIP","importHub.provider.zip.description":"Téléversez une archive .zip de votre code et convertissez-la en espace de travail persistant.","importHub.provider.spreadsheet.label":"Feuille de calcul","importHub.provider.spreadsheet.description":"Collez ou téléversez un fichier CSV/TSV et générez une véritable application de données avec tri.","importHub.provider.bolt.label":"Bolt","importHub.provider.bolt.description":"Importez une archive exportée depuis Bolt. Les fichiers sont préparés et analysés pour détecter les secrets avant le commit.","importHub.provider.lovable.label":"Lovable","importHub.provider.lovable.description":"Importez une archive exportée depuis Lovable, avec détection des secrets et aperçu avant intégration.","importHub.provider.base44.label":"Base44","importHub.provider.base44.description":"Importez une archive exportée depuis Base44 dans un projet isolé et persistant.","importHub.provider.previous-agent-export.label":"Export d’un Agent précédent","importHub.provider.previous-agent-export.description":"Récupérez un export provenant d’un autre outil de création par IA et poursuivez son développement dans l’IDE E-Code.","importHub.provider.empty.label":"Projet vide","importHub.provider.empty.description":"Partez d’un espace de travail vierge, sans agent, framework ni scaffolding. Conçu pour les utilisateurs avancés.","importHub.provider.vercel.label":"Vercel","importHub.provider.vercel.description":"Importez un projet Vercel. La connexion d’un jeton d’accès Vercel est requise.","importHub.provider.vercel.badge":"Connecter le jeton","importHub.provider.figma.label":"Figma","importHub.provider.figma.description":"Importez un design Figma. Un jeton d’accès personnel Figma est requis.","importHub.provider.figma.badge":"Connecter le jeton","importHub.provider.claude.label":"Claude","importHub.provider.claude.description":"Importez une source de design ou d’artifact Claude. La connexion de la source est requise.","importHub.provider.claude.badge":"Connecter la source","importHub.action.connect":"Connecter","importHub.error.title":"Sources d’import indisponibles","importHub.error.description":"E-Code n’a pas pu charger votre organisation. Vos imports et vos identifiants n’ont pas été modifiés. Réessayez.","importHub.error.retry":"Réessayer","importHub.credential.metaTitle":"Importer depuis {{label}} - E-Code","importHub.credential.metaFallback":"Import - E-Code","importHub.credential.title":"Importer depuis {{label}}","importHub.credential.description":"Connectez {{label}} pour importer dans un espace de travail persistant.","importHub.credential.explanation":"L’import depuis {{label}} nécessite {{requirement}}. Ce connecteur reste désactivé tant que l’identifiant n’est pas connecté et ne signale jamais une réussite qui n’a pas eu lieu.","importHub.credential.status":"Identifiants requis — connectez {{label}} pour activer cet import.","importHub.credential.back":"Revenir à toutes les sources d’import","importHub.credential.requirement.vercel":"un jeton d’accès Vercel autorisé à lire le projet que vous souhaitez importer","importHub.credential.requirement.figma":"un jeton d’accès personnel Figma et la clé du fichier de design à importer","importHub.credential.requirement.claude":"une source Claude connectée pour le design ou l’artifact que vous souhaitez importer","importFolderButton.trigger":"Importer un dossier","importFolderButton.selectLabel":"Choisir un dossier à importer","importFolderButton.unavailable":"L’importation de dossiers est momentanément indisponible.","importFolderButton.loading":"Importation du dossier…","importFolderButton.loadingNamed":"Importation de {folderName}…","importFolderButton.noValidFiles":"Aucun fichier importable n’a été trouvé dans le dossier sélectionné.","importFolderButton.tooManyFiles":"Ce dossier contient {count} fichiers. E-Code n’est pas optimisé pour les projets de cette taille. Sélectionnez un dossier contenant moins de {max} fichiers.","importFolderButton.noTextFiles":"Le dossier sélectionné ne contient aucun fichier texte importable.","importFolderButton.binarySkipped_one":"{count} fichier binaire a été ignoré.","importFolderButton.binarySkipped_other":"{count} fichiers binaires ont été ignorés.","importFolderButton.success":"Le dossier a bien été importé.","importFolderButton.successNamed":"Le dossier {folderName} a bien été importé.","importFolderButton.failed":"Impossible d’importer le dossier. Vérifiez l’accès à ses fichiers, puis réessayez.","importFolderButton.folderFallback":"dossier sélectionné","importFolderButton.chat.imported":"Le contenu du dossier « {folderName} » a été importé.","importFolderButton.chat.binarySkipped_one":"{count} fichier binaire a été ignoré :","importFolderButton.chat.binarySkipped_other":"{count} fichiers binaires ont été ignorés :","importFolderButton.chat.unreadableSkipped_one":"{count} fichier illisible a été ignoré :","importFolderButton.chat.unreadableSkipped_other":"{count} fichiers illisibles ont été ignorés :","importFolderButton.chat.artifactTitle":"Fichiers importés","importFolderButton.chat.userPrompt":"Importer le dossier « {folderName} »","importButtons.group.label":"Options d’importation","importButtons.chat.trigger":"Importer une conversation","importButtons.chat.selectLabel":"Choisir un export JSON de conversation à importer","importButtons.chat.defaultDescription":"Conversation importée","importButtons.chat.loading":"Importation de la conversation…","importButtons.chat.loadingNamed":"Importation de {fileName}…","importButtons.chat.success":"La conversation a bien été importée.","importButtons.chat.successNamed":"Le fichier {fileName} a bien été importé.","importButtons.chat.unavailable":"L’importation de conversations est momentanément indisponible.","importButtons.chat.invalidFormat":"Ce fichier n’est pas un export de conversation E-Code valide. Choisissez un export JSON contenant un tableau de messages.","importButtons.chat.parseFailed":"Impossible d’analyser ce fichier JSON. Vérifiez qu’il s’agit d’un export de conversation E-Code valide, puis réessayez.","importButtons.chat.readFailed":"Impossible de lire le fichier sélectionné. Vérifiez ses autorisations, puis choisissez-le de nouveau.","importButtons.chat.importFailed":"Impossible d’importer la conversation. Vérifiez le fichier, puis réessayez.","importRoutes.zip.meta.title":"Importer une archive zip - E-Code","importRoutes.zip.meta.description":"Importez une archive zip dans un projet E-Code persistant après une analyse de sécurité des secrets exposés.","importRoutes.zip.page.title":"Importer une archive zip","importRoutes.zip.page.sourceTitle":"Importer un export {source}","importRoutes.zip.page.description":"Téléversez une archive et convertissez-la en projet E-Code persistant.","importRoutes.zip.page.sourceDescription":"Téléversez votre export {source} (.zip). Les fichiers sont placés dans une zone temporaire et analysés afin de détecter les secrets exposés avant leur ajout à un projet E-Code persistant.","importRoutes.zip.source.previousAgent":"d’un agent précédent","importRoutes.zip.form.archive":"Archive du projet","importRoutes.zip.form.chooseFile":"Choisir un fichier","importRoutes.zip.form.noFile":"Aucun fichier sélectionné","importRoutes.zip.form.limit":".zip jusqu’à {size}.","importRoutes.zip.form.projectName":"Nom du projet","importRoutes.zip.form.projectPlaceholder":"Archive importée","importRoutes.zip.form.importing":"Importation…","importRoutes.zip.form.submit":"Importer l’archive zip","importRoutes.zip.form.progress":"Importation de l’archive","importRoutes.zip.error.archiveRequired":"Sélectionnez une archive zip avant de continuer.","importRoutes.zip.error.tooLarge":"Cette archive pèse {size}. Les imports zip doivent être inférieurs à {limit}, car ils sont téléversés en une seule requête. Réduisez l’archive, puis réessayez.","importRoutes.zip.error.timeout":"L’importation de cette archive a dépassé le délai et a été arrêtée. Réduisez l’archive, puis réessayez.","importRoutes.zip.error.importFailed":"Impossible d’importer l’archive zip. Vérifiez l’archive, puis réessayez.","importRoutes.empty.meta.title":"Créer un projet vide - E-Code","importRoutes.empty.meta.description":"Créez un projet E-Code vierge contenant uniquement les fichiers nécessaires au démarrage de l’environnement d’exécution.","importRoutes.empty.page.title":"Projet vide","importRoutes.empty.page.description":"Partez d’un espace de travail vierge : aucun prompt d’agent, framework ou échafaudage généré. Le projet s’ouvre directement dans l’IDE, prêt à être modifié.","importRoutes.empty.form.projectName":"Nom du projet","importRoutes.empty.form.projectPlaceholder":"Projet vide","importRoutes.empty.form.help":"L’espace de travail contient uniquement les fichiers indispensables au démarrage de l’environnement d’exécution. Rien d’autre n’est généré.","importRoutes.empty.form.creating":"Création…","importRoutes.empty.form.submit":"Créer le projet vide","importRoutes.empty.form.progress":"Création du projet vide","importRoutes.empty.generated.defaultName":"Projet vide","importRoutes.empty.error.quota":"Votre espace de travail a atteint sa limite de projets. Changez d’offre ou demandez à un administrateur d’augmenter le quota avant de créer un autre projet.","importRoutes.empty.error.createFailed":"Impossible de créer le projet vide. Réessayez.","importRoutes.git.meta.title":"Importer un dépôt Git - E-Code","importRoutes.git.meta.description":"Importez un dépôt GitHub, GitLab ou Bitbucket dans un projet persistant et ouvrez-le dans l’IDE E-Code.","importRoutes.git.page.title":"Importer un dépôt Git","importRoutes.git.page.description":"Importez un dépôt GitHub, GitLab ou Bitbucket dans un projet persistant, puis ouvrez-le dans l’IDE E-Code.","importRoutes.git.form.repositoryUrl":"URL du dépôt","importRoutes.git.form.repositoryPlaceholder":"https://github.com/organisation/depot","importRoutes.git.form.branch":"Branche","importRoutes.git.form.branchPlaceholder":"main","importRoutes.git.form.projectName":"Nom du projet","importRoutes.git.form.projectPlaceholder":"Application importée","importRoutes.git.form.importing":"Importation…","importRoutes.git.form.submit":"Importer le dépôt","importRoutes.git.form.progress":"Importation du dépôt","importRoutes.git.error.urlRequired":"Saisissez l’URL du dépôt avant de continuer.","importRoutes.git.error.inaccessible":"Impossible d’accéder à ce dépôt. Vérifiez l’URL et vos autorisations, puis réessayez.","importRoutes.git.error.quota":"Votre espace de travail a atteint sa limite de projets. Changez d’offre ou demandez à un administrateur d’augmenter le quota avant d’importer un autre dépôt.","importRoutes.git.error.timeout":"Le clonage de ce dépôt a dépassé le délai et l’importation a été arrêtée. Essayez un dépôt plus petit, ou importez une seule branche.","importRoutes.git.error.upstream":"L’hébergeur du dépôt n’a pas pu être joint. Le problème ne vient pas de votre dépôt — réessayez dans quelques minutes.","importRoutes.git.error.importFailed":"Impossible d’importer le dépôt. Réessayez.","importSpreadsheet.meta.title":"Importer une feuille de calcul - E-Code","importSpreadsheet.meta.description":"Transformez des données CSV ou TSV en application triable à ouvrir et à enrichir dans l’IDE E-Code.","importSpreadsheet.page.title":"Importer une feuille de calcul","importSpreadsheet.page.description":"Collez des données CSV ou TSV pour générer une véritable application de données triable, à ouvrir dans l’IDE et à enrichir avec l’agent.","importSpreadsheet.form.projectName":"Nom du projet","importSpreadsheet.form.projectPlaceholder":"Application de données","importSpreadsheet.form.data":"Données CSV ou TSV","importSpreadsheet.form.dataPlaceholder":"nom,rôle,ville\nAda Lovelace,Ingénieure,Londres\nGrace Hopper,Amirale,New York","importSpreadsheet.form.help":"La première ligne devient l’en-tête des colonnes. Le séparateur, virgule ou tabulation, est détecté automatiquement.","importSpreadsheet.form.generating":"Génération de l’application…","importSpreadsheet.form.create":"Créer l’application de données","importSpreadsheet.form.progress":"Génération de l’application de données","importSpreadsheet.error.dataRequired":"Collez des données CSV ou TSV avant de continuer.","importSpreadsheet.error.malformed":"Ajoutez une ligne d’en-tête et au moins une ligne de données, puis vérifiez le séparateur et réessayez.","importSpreadsheet.error.tooLarge":"Cette feuille dépasse la limite d’importation de {count} cellules.","importSpreadsheet.error.createFailed":"Impossible de créer le projet à partir de cette feuille de calcul. Réessayez.","importSpreadsheet.generated.defaultName":"Application de données","importSpreadsheet.generated.column":"Colonne {count}","importSpreadsheet.generated.columns_one":"{count} colonne","importSpreadsheet.generated.columns_other":"{count} colonnes","importSpreadsheet.generated.rows_one":"{count} ligne","importSpreadsheet.generated.rows_other":"{count} lignes","importSpreadsheet.generated.meta":"{columns} · {rows}","importSpreadsheet.generated.filterPlaceholder":"Filtrer les lignes…","importSpreadsheet.generated.filterAria":"Filtrer les lignes","importSpreadsheet.generated.count_one":"{visible} ligne sur {total}","importSpreadsheet.generated.count_other":"{visible} lignes sur {total}","importSpreadsheet.generated.readme":"Tableau de données triable généré depuis une feuille de calcul importée ({columns} × {rows}).","inlineFileDiff.aria.file":"Diff des modifications du fichier {path}","inlineFileDiff.aria.added_one":"{count} ligne ajoutée","inlineFileDiff.aria.added_other":"{count} lignes ajoutées","inlineFileDiff.aria.removed_one":"{count} ligne supprimée","inlineFileDiff.aria.removed_other":"{count} lignes supprimées","inlineFileDiff.status.newFile":"Nouveau fichier","inlineFileDiff.status.changes":"Modifications","inlineFileDiff.status.noChanges":"Aucune modification","inlineFileDiff.decision.group":"Décision pour le fichier","inlineFileDiff.decision.accept":"Accepter le fichier","inlineFileDiff.decision.reject":"Refuser le fichier","inlineFileDiff.repair.attempt":"Tentative d’auto-réparation {attempt}/{maximum}…","inlineFileDiff.repair.validationFailed":"La validation du code a échoué. Une nouvelle tentative de réparation est en cours.","inlineFileDiff.streaming":"Réception du patch…","inlineFileDiff.noChanges":"Le contenu est identique au fichier sur le disque.","inlineFileDiff.selection.selected_one":"{count} bloc sélectionné","inlineFileDiff.selection.selected_other":"{count} blocs sélectionnés","inlineFileDiff.selection.excluded_one":"{count} bloc exclu","inlineFileDiff.selection.excluded_other":"{count} blocs exclus","inlineFileDiff.hunk.aria":"Bloc de diff {id}","inlineFileDiff.hunk.show":"Afficher le diff","inspectorPanel.title":"Inspecteur d’élément","inspectorPanel.close":"Fermer l’inspecteur","inspectorPanel.tabs.ariaLabel":"Vues de l’inspecteur","inspectorPanel.tabs.styles":"Styles","inspectorPanel.tabs.computed":"Calculés","inspectorPanel.tabs.box":"Modèle de boîte","inspectorPanel.styles.empty":"Aucun style pertinent n’est défini.","inspectorPanel.computed.empty":"Aucun style calculé n’est disponible.","inspectorPanel.box.width":"Largeur","inspectorPanel.box.height":"Hauteur","inspectorPanel.box.top":"Haut","inspectorPanel.box.left":"Gauche","integrationOauthCallback.meta.title":"Rappel sécurisé du connecteur - E-Code","integrationOauthCallback.meta.description":"Finalisez l’autorisation sécurisée d’un connecteur OAuth, puis revenez dans E-Code.","integrationOauthCallback.provider.github":"GitHub","integrationOauthCallback.provider.gitlab":"GitLab","integrationOauthCallback.provider.bitbucket":"Bitbucket","integrationOauthCallback.provider.unknown":"Connecteur","integrationOauthCallback.success.title":"Connexion réussie","integrationOauthCallback.success.connectedAs":"Connexion à {provider} établie pour le compte {account}.","integrationOauthCallback.success.accountFallback":"votre compte","integrationOauthCallback.success.closeHint":"Cette fenêtre va se fermer automatiquement. Si elle reste ouverte, vous pouvez la fermer manuellement.","integrationOauthCallback.error.title":"Échec de la connexion à {provider}","integrationOauthCallback.error.retryHint":"Revenez dans E-Code et relancez la connexion.","integrationOauthCallback.error.CONNECTOR_UNKNOWN_PROVIDER":"Ce connecteur n’est pas encore disponible dans le panneau des intégrations.","integrationOauthCallback.error.PROVIDER_DENIED":"L’autorisation a été annulée ou refusée. Relancez la connexion depuis E-Code.","integrationOauthCallback.error.OAUTH_CALLBACK_MISSING_PARAMS":"Le fournisseur OAuth n’a pas renvoyé les informations attendues. Relancez la connexion depuis E-Code.","integrationOauthCallback.error.OAUTH_CALLBACK_REJECTED":"Le fournisseur a refusé la connexion. Vérifiez les autorisations du compte, puis réessayez.","integrationOauthCallback.error.OAUTH_CALLBACK_RATE_LIMITED":"Le fournisseur a reçu trop de demandes de connexion. Patientez un instant, puis réessayez.","integrationOauthCallback.error.OAUTH_CALLBACK_UNAVAILABLE":"Le service de connexion est temporairement indisponible. Veuillez réessayer dans quelques instants.","integrationOauthCallback.error.OAUTH_CALLBACK_FAILED":"Impossible de finaliser la connexion. Revenez dans E-Code, puis réessayez.","integrationOauthCallback.action.close":"Fermer la fenêtre","integrationOauthCallback.action.closeAria":"Fermer cette fenêtre de rappel OAuth","invitations.meta.title":"Invitations - E-Code","invitations.meta.description":"Invitez vos collègues et gérez leur accès à votre organisation E-Code.","invitations.page.title":"Invitations","invitations.page.description":"Invitez vos collègues et attribuez-leur le niveau d’accès adapté.","invitations.load.loading":"Chargement des invitations","invitations.load.error.title":"Impossible de charger les invitations","invitations.load.error.description":"Les données des invitations sont temporairement indisponibles. Aucune invitation ni aucun droit d’accès n’a été modifié.","invitations.load.permission.title":"Accès aux invitations restreint","invitations.load.permission.description":"Seuls les propriétaires de l’organisation et les membres autorisés à gérer les membres peuvent consulter ou modifier les invitations.","invitations.load.retry":"Recharger les invitations","invitations.routeError.organization.title":"Aucune organisation disponible","invitations.routeError.organization.description":"Créez ou rejoignez une organisation avant de gérer les invitations de l’équipe.","invitations.routeError.authentication.title":"Reconnectez-vous pour gérer les invitations","invitations.routeError.authentication.description":"Votre session n’est plus active. Reconnectez-vous, puis revenez aux invitations.","invitations.routeError.permission.title":"Vous ne pouvez pas gérer ces invitations","invitations.routeError.permission.description":"Votre rôle actuel dans l’organisation ne permet pas de gérer les membres.","invitations.routeError.unavailable.title":"Invitations temporairement indisponibles","invitations.routeError.unavailable.description":"Impossible d’ouvrir la page des invitations. Vos invitations existantes n’ont pas été modifiées.","invitations.routeError.backDashboard":"Retour au tableau de bord","invitations.routeError.signIn":"Se connecter","invitations.feedback.created":"Invitation créée.","invitations.feedback.resent":"Invitation renvoyée.","invitations.feedback.expired":"Invitation expirée.","invitations.error.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","invitations.error.invitationRequired":"Sélectionnez une invitation, puis réessayez.","invitations.error.emailRequired":"Saisissez une adresse e-mail.","invitations.error.invalidAction":"Sélectionnez une action valide pour l’invitation.","invitations.error.permission":"Vous ne pouvez pas gérer les invitations de cette organisation.","invitations.error.notFound":"Cette invitation n’est plus disponible. Rechargez la page, puis réessayez.","invitations.error.conflict":"Cette invitation a changé avant la fin de l’action. Rechargez la page, puis réessayez.","invitations.error.rateLimited":"Trop de demandes d’invitation ont été envoyées. Patientez un instant, puis réessayez.","invitations.error.rejected":"Impossible d’effectuer l’action sur l’invitation. Vérifiez les informations, puis réessayez.","invitations.error.unavailable":"Le service d’invitation est temporairement indisponible. Réessayez dans quelques instants.","invitations.form.title":"Créer une invitation","invitations.form.description":"Le destinataire recevra un lien d’invitation sécurisé par e-mail.","invitations.form.email":"E-mail","invitations.form.emailPlaceholder":"personne@entreprise.fr","invitations.form.role":"Rôle","invitations.form.create":"Créer l’invitation","invitations.form.creating":"Création de l’invitation…","invitations.list.title":"Invitations de l’organisation","invitations.list.description":"Vérifiez les accès, renvoyez un nouveau lien ou faites expirer un lien immédiatement.","invitations.list.count_one":"{count} invitation","invitations.list.count_other":"{count} invitations","invitations.list.empty.title":"Aucune invitation pour le moment","invitations.list.empty.description":"Créez une invitation ci-dessus pour ajouter un collègue à votre organisation.","invitations.invitation.expires":"Expire le {date}","invitations.invitation.dateUnavailable":"Date d’expiration indisponible","invitations.invitation.status.accepted":"Acceptée","invitations.invitation.status.expired":"Expirée","invitations.invitation.status.pending":"En attente","invitations.action.resend":"Renvoyer","invitations.action.resending":"Renvoi…","invitations.action.resendAria":"Renvoyer l’invitation à {email}","invitations.action.expire":"Faire expirer","invitations.action.expiring":"Expiration…","invitations.action.expireAria":"Faire expirer l’invitation de {email}","invitations.dialog.title":"Faire expirer l’invitation de {email} ?","invitations.dialog.description":"Le destinataire ne pourra plus utiliser ce lien d’invitation.","invitations.dialog.confirm":"Faire expirer l’invitation","invitations.dialog.confirming":"Expiration de l’invitation…","invitations.dialog.cancel":"Annuler","invitations.role.viewer":"Lecteur","invitations.role.member":"Membre","invitations.role.editor":"Éditeur","invitations.role.admin":"Administrateur","invitations.role.owner":"Propriétaire","invitations.accept.meta.title":"Accepter une invitation - E-Code","invitations.accept.meta.description":"Acceptez une invitation sécurisée pour rejoindre une organisation E-Code.","invitations.accept.page.title":"Accepter l’invitation","invitations.accept.page.description":"Rejoignez une organisation à l’aide d’un jeton d’invitation en attente.","invitations.accept.form.token":"Jeton d’invitation","invitations.accept.form.submit":"Accepter l’invitation","invitations.accept.form.submitting":"Acceptation de l’invitation…","invitations.accept.feedback.accepted":"Invitation acceptée. Votre niveau d’accès est désormais : {role}.","invitations.accept.role.fallback":"membre de l’organisation","invitations.accept.error.tokenRequired":"Saisissez le jeton d’invitation avant de continuer.","invitations.accept.error.invalid":"Cette invitation est invalide, expirée ou a déjà été utilisée.","invitations.accept.error.rateLimited":"Trop de tentatives ont été effectuées. Patientez un instant, puis réessayez.","invitations.accept.error.unavailable":"Les invitations sont temporairement indisponibles. Réessayez dans quelques instants.","lockManager.panel.title":"Verrous","lockManager.search.placeholder":"Rechercher…","lockManager.search.ariaLabel":"Rechercher dans les éléments verrouillés","lockManager.filter.ariaLabel":"Filtrer les éléments verrouillés par type","lockManager.filter.all":"Tous","lockManager.filter.files":"Fichiers","lockManager.filter.folders":"Dossiers","lockManager.selectAll.ariaLabel":"Sélectionner tous les éléments","lockManager.selectAll.label":"Tout sélectionner","lockManager.unlockSelected":"Tout déverrouiller","lockManager.unlockSelected.title":"Déverrouiller tous les éléments sélectionnés","lockManager.empty":"Aucun élément verrouillé trouvé","lockManager.unlockItem.ariaLabel":"Déverrouiller {path}","lockManager.unlockItem.title":"Déverrouiller","lockManager.toast.noneSelected":"Sélectionnez au moins un élément à déverrouiller.","lockManager.toast.selected_one":"{count} élément sélectionné déverrouillé.","lockManager.toast.selected_other":"{count} éléments sélectionnés déverrouillés.","lockManager.toast.item":"{path} déverrouillé","lockManager.count.items_one":"{count} élément","lockManager.count.items_other":"{count} éléments","lockManager.count.selected_one":"{count} sélectionné","lockManager.count.selected_other":"{count} sélectionnés","lockManager.footer":"{items} • {selected}","mfaSetup.metaTitle":"Authentification à deux facteurs - E-Code","mfaSetup.errors.passwordMismatch":"Ce mot de passe ne correspond pas. Réessayez.","mfaSetup.errors.invalidCode":"Ce code ne correspond pas. Vérifiez votre application d’authentification, puis réessayez.","mfaSetup.errors.recoveryCodes":"L’authentification à deux facteurs est activée, mais les codes de récupération n’ont pas pu être générés. Accédez aux Codes de récupération pour les créer.","mfaSetup.copy.copy":"Copier","mfaSetup.copy.copied":"Copié","mfaSetup.copy.all":"Tout copier","mfaSetup.download":"Télécharger","mfaSetup.download.heading":"Codes de récupération E-Code","mfaSetup.complete.title":"L’authentification à deux facteurs est activée","mfaSetup.complete.description":"Enregistrez vos codes de récupération. Chacun fonctionne une seule fois si vous perdez votre authentificateur.","mfaSetup.complete.badge":"Authentification à deux facteurs activée","mfaSetup.recovery.title":"Codes de récupération","mfaSetup.recovery.description":"Conservez ces codes dans votre gestionnaire de mots de passe. Chacun peut être utilisé une seule fois si vous perdez l’accès à votre authentificateur.","mfaSetup.complete.done":"Terminer","mfaSetup.securitySettings":"Paramètres de sécurité","mfaSetup.enabled.title":"Authentification à deux facteurs","mfaSetup.enabled.description":"Votre compte est protégé par une application d’authentification.","mfaSetup.enabled.badge":"L’authentification à deux facteurs est activée","mfaSetup.enabled.disable":"Désactiver dans les paramètres de sécurité","mfaSetup.reauth.title":"Confirmez votre mot de passe","mfaSetup.reauth.description":"Pour votre sécurité, confirmez votre mot de passe avant de configurer l’authentification à deux facteurs.","mfaSetup.reauth.password":"Mot de passe","mfaSetup.reauth.confirming":"Confirmation…","mfaSetup.reauth.continue":"Continuer","mfaSetup.setup.title":"Configurer l’authentification à deux facteurs","mfaSetup.setup.description":"Scannez le code QR avec une application d’authentification (Google Authenticator, 1Password ou Authy), puis saisissez le code à 6 chiffres.","mfaSetup.setup.qrAria":"Code QR de configuration de l’authentificateur","mfaSetup.setup.cannotScan":"Impossible de le scanner ?","mfaSetup.setup.manual":"Saisissez manuellement cette clé de configuration dans votre application d’authentification.","mfaSetup.setup.code":"Code à 6 chiffres","mfaSetup.setup.enabling":"Activation…","mfaSetup.setup.enable":"Activer l’authentification à deux facteurs","modelApi.catalogUnavailable":"Le catalogue de modèles d’IA est temporairement indisponible. Veuillez réessayer.","modelApi.providerNotFound":"Le fournisseur d’IA demandé est introuvable.","modelApi.unknownProvider":"Fournisseur inconnu","modelApi.dynamic":"Dynamique","modelApi.context":"contexte","modelApi.inputPrice":"entrée","modelApi.outputPrice":"sortie","modelApi.ownedBy":"par","modelApi.notAvailable":"N/D","modelApi.bestForCoding":"Idéal pour le code","modelApi.fastCoding":"Code rapide","modelApi.reasoning":"Raisonnement","modelApi.thinking":"Réflexion","modelApi.codingAndToolUse":"Code + utilisation d’outils","modelApi.codingBenchmark":"Code : {score} % SWE-bench","modelApi.highCompute":"Calcul intensif","modelApi.latest":"dernière version","modelApi.downloadOllama":"Télécharger Ollama","modelApi.getLmStudio":"Obtenir LM Studio","monitoringCharts.aiCostUsd":"Coût de l’IA (USD)","monitoringCharts.tokens":"Jetons","monitoringCharts.tokenCount_one":"{count} jeton","monitoringCharts.tokenCount_other":"{count} jetons","monitoringCharts.observations":"Observations","monitoringCharts.observationCount_one":"{count} observation","monitoringCharts.observationCount_other":"{count} observations","monitoringCharts.bucketUpperBound":"Borne supérieure de l’intervalle (secondes)","securitySettings.meta.title":"Paramètres de sécurité — E-Code","securitySettings.meta.description":"Gérez l’authentification multifacteur, les clés d’accès, les codes de récupération, les sessions et la sécurité des identités Enterprise dans E-Code.","securitySettings.page.title":"Paramètres de sécurité","securitySettings.page.description":"Gérez l’authentification multifacteur, les clés d’accès (passkeys), les clés de sécurité, les codes de récupération, les sessions et les fournisseurs d’identité connectés.","securitySettings.mfa.loading":"Chargement du statut de l’authentification à deux facteurs","securitySettings.mfa.errorTitle":"Impossible de charger le statut de l’authentification à deux facteurs","securitySettings.mfa.errorDescription":"Nous ne déduisons pas si la protection est activée. Vos paramètres de sécurité restent inchangés.","securitySettings.mfa.retry":"Relancer la vérification de sécurité","securitySettings.mfa.status.enabled":"L’authentification à deux facteurs est activée","securitySettings.mfa.status.disabled":"L’authentification à deux facteurs est désactivée et facultative","securitySettings.item.mfa.title":"Authentification à deux facteurs","securitySettings.item.mfa.unavailable":"Statut indisponible. Relancez la vérification de sécurité ci-dessus avant de prendre une décision.","securitySettings.item.mfa.enabled":"Votre compte est protégé par une application d’authentification.","securitySettings.item.mfa.disabled":"Ajoutez une application d’authentification pour renforcer facultativement la protection.","securitySettings.item.passkeys.title":"Clés d’accès (passkeys) et clés de sécurité","securitySettings.item.passkeys.detail":"Utilisez une clé d’accès ou une clé de sécurité matérielle pour vous connecter sans mot de passe lorsque votre organisation l’autorise.","securitySettings.item.recovery.title":"Codes de récupération","securitySettings.item.recovery.detail":"Générez et renouvelez les codes d’accès de secours.","securitySettings.item.sessions.title":"Sessions actives","securitySettings.item.sessions.detail":"Consultez les appareils connectés et révoquez les sessions obsolètes.","securitySettings.action.mfa.open":"Ouvrir les paramètres 2FA","securitySettings.action.mfa.manage":"Gérer la 2FA","securitySettings.action.mfa.setup":"Configurer la 2FA","securitySettings.action.recovery":"Codes de récupération","securitySettings.action.sessions":"Sessions actives","securitySettings.enterprise.title":"Sécurité Enterprise","securitySettings.enterprise.description":"Gérez la politique de sécurité de l’organisation, les domaines vérifiés, le SSO (SAML/OIDC), le provisionnement SCIM, les rôles et autorisations, les invitations de membres, les exports du journal d’audit et la diffusion SIEM.","securitySettings.enterprise.organizationSecurity":"Sécurité de l’organisation","securitySettings.enterprise.verifiedDomains":"Domaines vérifiés","securitySettings.enterprise.sso":"Paramètres SSO","securitySettings.enterprise.scim":"Provisionnement SCIM","securitySettings.enterprise.roles":"Rôles et autorisations","securitySettings.enterprise.invitations":"Invitations","securitySettings.enterprise.auditLogs":"Journaux d’audit","securitySettings.enterprise.siem":"Webhooks SIEM","scimTokenSettings.meta.title":"Paramètres des jetons SCIM — E-Code","scimTokenSettings.meta.description":"Créez, renouvelez et révoquez les jetons SCIM utilisés par les fournisseurs d’identité pour provisionner les membres.","scimTokenSettings.page.title":"Paramètres des jetons SCIM","scimTokenSettings.page.description":"Créez des jetons porteurs pour permettre à votre fournisseur d’identité de provisionner et déprovisionner les membres via SCIM. Les jetons sont hachés au repos et affichés en entier une seule fois, après leur création ou leur renouvellement.","scimTokenSettings.secret.title":"Copiez ce jeton maintenant","scimTokenSettings.secret.description":"Le jeton ne sera affiché qu’une seule fois. Collez-le dans la configuration SCIM de votre fournisseur d’identité ; vous ne pourrez pas le récupérer ultérieurement.","scimTokenSettings.secret.copy":"Copier le jeton","scimTokenSettings.secret.copied":"Jeton copié","scimTokenSettings.secret.copyFailed":"Échec de la copie","scimTokenSettings.create.title":"Créer un jeton","scimTokenSettings.create.description":"Les jetons expirent automatiquement selon la durée de validité SCIM définie pour votre organisation.","scimTokenSettings.create.name":"Nom du jeton","scimTokenSettings.create.namePlaceholder":"Provisionnement Okta","scimTokenSettings.create.submit":"Créer le jeton SCIM","scimTokenSettings.create.submitting":"Création du jeton SCIM…","scimTokenSettings.list.title":"Jetons SCIM","scimTokenSettings.list.count_one":"{count} jeton","scimTokenSettings.list.count_other":"{count} jetons","scimTokenSettings.list.emptyTitle":"Aucun jeton SCIM pour le moment","scimTokenSettings.list.emptyDescription":"Créez un jeton ci-dessus, puis ajoutez-le à la configuration SCIM de votre fournisseur d’identité.","scimTokenSettings.load.loading":"Chargement des jetons SCIM","scimTokenSettings.load.errorTitle":"Impossible de charger les jetons SCIM","scimTokenSettings.load.errorDescription":"Impossible de récupérer les métadonnées actuelles des jetons. Aucun jeton n’a été modifié. Rechargez ce panneau pour réessayer.","scimTokenSettings.load.permissionTitle":"Accès aux jetons SCIM restreint","scimTokenSettings.load.permissionDescription":"Votre rôle ne dispose pas de l’autorisation scim:manage nécessaire pour consulter ou gérer les jetons SCIM.","scimTokenSettings.load.retry":"Recharger les jetons SCIM","scimTokenSettings.token.expired":"Expiré","scimTokenSettings.token.created":"Créé le","scimTokenSettings.token.lastUsed":"Dernière utilisation","scimTokenSettings.token.neverUsed":"Jamais utilisé","scimTokenSettings.token.expires":"Expire le","scimTokenSettings.token.dateUnavailable":"Date indisponible","scimTokenSettings.action.rotate":"Renouveler","scimTokenSettings.action.rotating":"Renouvellement…","scimTokenSettings.action.rotateAria":"Renouveler le jeton SCIM {name}","scimTokenSettings.action.rotatingAria":"Renouvellement du jeton SCIM {name} en cours","scimTokenSettings.action.revoke":"Révoquer","scimTokenSettings.action.revoking":"Révocation…","scimTokenSettings.action.revokeAria":"Révoquer le jeton SCIM {name}","scimTokenSettings.action.revokingAria":"Révocation du jeton SCIM {name} en cours","scimTokenSettings.dialog.title":"Révoquer le jeton SCIM « {name} » ?","scimTokenSettings.dialog.description":"Votre fournisseur d’identité perdra immédiatement son accès au provisionnement. Cette action est irréversible.","scimTokenSettings.dialog.confirm":"Révoquer le jeton","scimTokenSettings.dialog.cancel":"Annuler","scimTokenSettings.success.created":"Jeton SCIM créé. Copiez-le maintenant ; il ne sera affiché qu’une seule fois.","scimTokenSettings.success.rotated":"Jeton SCIM renouvelé. Copiez la nouvelle valeur maintenant ; elle ne sera affichée qu’une seule fois. L’ancienne valeur reste valide pendant 24 heures.","scimTokenSettings.success.revoked":"Jeton SCIM révoqué.","scimTokenSettings.error.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","scimTokenSettings.error.nameRequired":"Saisissez un nom pour ce jeton SCIM.","scimTokenSettings.error.nameTooLong":"Limitez le nom du jeton à 256 caractères.","scimTokenSettings.error.tokenRequired":"Le jeton SCIM sélectionné est indisponible. Rechargez la liste, puis réessayez.","scimTokenSettings.error.intentInvalid":"Cette action sur le jeton SCIM n’est pas prise en charge.","scimTokenSettings.error.reauthRequired":"Votre confirmation administrateur récente a expiré. Réauthentifiez-vous, puis réessayez.","scimTokenSettings.error.permissionDenied":"Votre rôle ne dispose pas de l’autorisation scim:manage nécessaire pour cette action.","scimTokenSettings.error.tokenNotFound":"Ce jeton SCIM n’existe plus. Rechargez la liste, puis réessayez.","scimTokenSettings.error.invalidRequest":"La requête concernant le jeton SCIM est invalide. Vérifiez les valeurs, puis réessayez.","scimTokenSettings.error.conflict":"Le jeton SCIM a changé pendant cette requête. Rechargez la liste, puis réessayez.","scimTokenSettings.error.rateLimited":"Trop de requêtes concernant les jetons SCIM ont été envoyées. Patientez un instant, puis réessayez.","scimTokenSettings.error.invalidResponse":"Le service de jetons SCIM a renvoyé une réponse invalide. Aucun secret n’a été affiché. Réessayez.","scimTokenSettings.error.serviceUnavailable":"La gestion des jetons SCIM est temporairement indisponible. Réessayez dans quelques instants.","scimTokenSettings.error.createFailed":"Impossible de créer le jeton SCIM. Réessayez.","scimTokenSettings.error.rotateFailed":"Impossible de renouveler le jeton SCIM. Réessayez.","scimTokenSettings.error.revokeFailed":"Impossible de révoquer le jeton SCIM. Réessayez.","screenshotSelector.aria":"Sélectionner une zone à capturer","screenshotSelector.instructions":"Faites glisser le pointeur sur la zone à capturer. Appuyez sur Échap pour annuler.","screenshotSelector.capturing":"Capture de la zone sélectionnée…","screenshotSelector.toast.streamFailed":"Impossible de démarrer la capture d’écran. Vérifiez l’autorisation du navigateur, puis réessayez.","screenshotSelector.toast.captured":"Capture d’écran ajoutée à la conversation.","screenshotSelector.toast.addFailed":"Impossible d’ajouter la capture d’écran à la conversation.","screenshotSelector.toast.captureFailed":"Impossible d’effectuer la capture d’écran. Réessayez.","sessionSecurity.meta.title":"Sécurité des sessions — E-Code","sessionSecurity.meta.description":"Consultez les sessions E-Code actives, révoquez les appareils connectés et gérez la politique de sécurité des sessions de votre organisation.","sessionSecurity.page.title":"Sécurité des sessions","sessionSecurity.page.description":"Consultez les appareils connectés, révoquez des sessions et gérez leur durée pour votre organisation.","sessionSecurity.sessions.title":"Sessions actives","sessionSecurity.sessions.description":"Appareils actuellement connectés à votre compte. Révoquez ceux que vous ne reconnaissez pas.","sessionSecurity.sessions.signOutAll":"Déconnecter toutes les autres sessions","sessionSecurity.sessions.signingOutAll":"Déconnexion des autres sessions…","sessionSecurity.sessions.loading":"Chargement des sessions actives","sessionSecurity.sessions.errorTitle":"Impossible de charger les sessions actives","sessionSecurity.sessions.errorDescription":"Aucune session n’a été révoquée. Vous pouvez toujours modifier la politique de l’organisation ci-dessous.","sessionSecurity.sessions.retry":"Recharger les sessions","sessionSecurity.sessions.empty":"Aucune session active.","sessionSecurity.sessions.thisDevice":"Cet appareil","sessionSecurity.sessions.ipAddress":"IP : {address}","sessionSecurity.sessions.ipUnknown":"Adresse IP inconnue","sessionSecurity.sessions.signedIn":"Connexion le {date}","sessionSecurity.sessions.dateUnknown":"date indisponible","sessionSecurity.sessions.current":"Session actuelle","sessionSecurity.sessions.revoke":"Révoquer","sessionSecurity.sessions.revoking":"Révocation…","sessionSecurity.policy.title":"Politique de session de l’organisation","sessionSecurity.policy.description":"S’applique à tous les membres de l’organisation : durée des sessions et plages d’adresses IP autorisées à se connecter.","sessionSecurity.policy.duration":"Durée de session (en minutes)","sessionSecurity.policy.ipAllowlist":"Adresses IP autorisées","sessionSecurity.policy.ipPlaceholder":"203.0.113.10,198.51.100.0/24","sessionSecurity.policy.save":"Enregistrer la politique","sessionSecurity.policy.saving":"Enregistrement de la politique…","sessionSecurity.dialog.revoke.title":"Révoquer cette session ({device}) ?","sessionSecurity.dialog.revoke.description":"Cet appareil sera immédiatement déconnecté.","sessionSecurity.dialog.revoke.confirm":"Révoquer la session","sessionSecurity.dialog.revokeAll.title":"Déconnecter toutes les autres sessions ?","sessionSecurity.dialog.revokeAll.description":"Tous les appareils sauf celui-ci seront immédiatement déconnectés. Votre session actuelle restera active.","sessionSecurity.dialog.revokeAll.confirm":"Déconnecter les autres sessions","sessionSecurity.device.unknown":"Appareil inconnu","sessionSecurity.device.browser":"Navigateur","sessionSecurity.device.unknownOs":"système d’exploitation inconnu","sessionSecurity.device.description":"{browser} sur {os}","sessionSecurity.status.sessionRevoked":"Session révoquée. Cet appareil a été déconnecté.","sessionSecurity.status.otherSessionsRevoked":"Toutes les autres sessions ont été déconnectées.","sessionSecurity.status.policySaved":"Politique de sécurité des sessions enregistrée.","sessionSecurity.error.sessionRequired":"Choisissez une session, puis réessayez.","sessionSecurity.error.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","sessionSecurity.error.forbidden":"Vous n’êtes pas autorisé à effectuer cette action de sécurité.","sessionSecurity.error.notFound":"La session ou la politique demandée n’est plus disponible. Rechargez la page, puis réessayez.","sessionSecurity.error.conflict":"La sécurité des sessions a changé pendant cette action. Rechargez la page, puis réessayez.","sessionSecurity.error.rateLimited":"Trop de requêtes de sécurité ont été envoyées. Patientez un instant, puis réessayez.","sessionSecurity.error.rejected":"L’action de sécurité a été refusée. Vérifiez les informations saisies, puis réessayez.","sessionSecurity.error.unavailable":"Cette action de sécurité est temporairement indisponible. Réessayez dans quelques instants.","shareRoute.seo.unavailableTitle":"Lien de partage indisponible · E-Code","shareRoute.seo.defaultTitle":"Partage E-Code","shareRoute.seo.titled":"{title} · Partage E-Code","shareRoute.seo.description":"Consultez une conversation E-Code partagée en lecture seule.","shareRoute.page.label":"Conversation partagée","shareRoute.page.fallbackTitle":"Conversation partagée","shareRoute.page.loading":"Chargement de la conversation partagée…","shareRoute.page.loadingDescription":"Récupération de l’instantané en lecture seule.","shareRoute.meta.fromProject":"Partagée depuis le projet","shareRoute.meta.sharedOn":"Partagée le","shareRoute.meta.on":"le","shareRoute.meta.timeZone":"UTC","shareRoute.meta.dateUnavailable":"Date indisponible","shareRoute.messages.heading":"Messages partagés","shareRoute.messages.empty":"Aucun message n’a été inclus dans cet instantané partagé.","shareRoute.messages.disclaimer.one":"Cette conversation est présentée sous forme d’un instantané en lecture seule. Le contenu partagé comprend {count} message.","shareRoute.messages.disclaimer.other":"Cette conversation est présentée sous forme d’un instantané en lecture seule. Le contenu partagé comprend {count} messages.","shareRoute.role.user":"Utilisateur","shareRoute.role.assistant":"Assistant","shareRoute.role.system":"Système","shareRoute.fork.disabled":"Dupliquer cette conversation (connectez-vous pour l’activer)","shareRoute.error.badge":"Lien de partage","shareRoute.error.notFound.heading":"Ce lien de partage n’est plus disponible","shareRoute.error.notFound.body":"Le lien a peut-être expiré, été révoqué par son propriétaire ou n’a jamais existé. Demandez un nouveau lien à la personne qui l’a partagé avec vous.","shareRoute.error.invalid.heading":"Ce lien de partage n’est pas valide","shareRoute.error.invalid.body":"Le lien semble incorrect ou incomplet. Il a peut-être été tronqué lors de sa copie. Demandez à son expéditeur de le partager de nouveau.","shareRoute.error.projectMissing.heading":"Ce projet n’est plus disponible","shareRoute.error.projectMissing.body":"Le lien de partage est valide, mais le projet associé a été supprimé. Il n’y a donc plus aucun contenu à ouvrir.","shareRoute.error.unavailable.heading":"Impossible de charger ce lien de partage","shareRoute.error.unavailable.body":"Un problème est survenu pendant le chargement du contenu partagé. Réessayez dans quelques instants ou demandez un nouveau lien à son expéditeur.","shareRoute.error.actions.home":"Retour à l’accueil","shareRoute.error.actions.dashboard":"Accéder au tableau de bord","shareRoute.error.actions.help":"Consulter le centre d’aide","shareRoute.error.actions.retry":"Réessayer","shareRoute.error.actions.retrying":"Nouvelle tentative…","settings.common.clipboardUnavailable":"L’accès au presse-papiers est indisponible","settings.eventLogs.disabled":"désactivé","settings.eventLogs.enabled":"activé","settings.eventLogs.export.category":"Catégorie","settings.eventLogs.export.description.csv":"Exporter sous forme de feuille de calcul CSV","settings.eventLogs.export.description.json":"Exporter dans un fichier JSON structuré","settings.eventLogs.export.description.pdf":"Exporter dans un document PDF mis en forme","settings.eventLogs.export.description.text":"Exporter dans un fichier texte mis en forme","settings.eventLogs.export.level":"Niveau","settings.eventLogs.export.message":"Message","settings.eventLogs.export.timestamp":"Horodatage","settings.eventLogs.filterChanged":"Filtre de niveau des journaux modifié","settings.eventLogs.filterChangedFromTo":"Filtre de niveau des journaux passé de {from} à {to}","settings.eventLogs.hideDetails":"Masquer les détails","settings.eventLogs.mounted":"Onglet Journaux d’événements monté","settings.eventLogs.none":"Aucun","settings.eventLogs.preferenceChanged":"Préférence des journaux modifiée","settings.eventLogs.preferenceChangedValue":"Préférence « {preference} » définie sur {value}","settings.eventLogs.refreshedCount_one":"{count} journal actualisé","settings.eventLogs.refreshedCount_other":"{count} journaux actualisés","settings.eventLogs.refreshSucceeded":"Journaux actualisés","settings.eventLogs.report.generatedBy":"Généré par E-Code","settings.eventLogs.report.logs":"Journaux d’événements","settings.eventLogs.report.page":"Page {page} sur {total}","settings.eventLogs.report.statistics":"Statistiques des journaux","settings.eventLogs.report.subtitle":"E-Code — Plateforme de développement par IA","settings.eventLogs.report.summary":"Résumé du rapport","settings.eventLogs.report.title":"Rapport des journaux d’événements","settings.eventLogs.searchPerformed":"Recherche effectuée dans les journaux","settings.eventLogs.searchResults_one":"La recherche « {query} » a renvoyé {count} résultat","settings.eventLogs.searchResults_other":"La recherche « {query} » a renvoyé {count} résultats","settings.eventLogs.showDetails":"Afficher les détails","settings.eventLogs.time12Hour":"12 heures","settings.eventLogs.time24Hour":"24 heures","settings.localProviders.allDisabled":"Tous les fournisseurs locaux sont désactivés","settings.localProviders.allEnabled":"Tous les fournisseurs locaux sont activés","settings.localProviders.baseUrlEmpty":"Cliquez pour définir l’URL de base","settings.localProviders.baseUrlLabel":"URL de base du point de terminaison d’API {provider}","settings.localProviders.baseUrlPlaceholder":"Saisissez l’URL de base de {provider}","settings.localProviders.baseUrlUpdated":"URL de base de {provider} mise à jour","settings.localProviders.deleteModel":"Supprimer le modèle","settings.localProviders.deleteModelTitle":"Supprimer {model} ?","settings.localProviders.description.lmStudio":"Inférence de modèles locaux avec LM Studio","settings.localProviders.description.ollama":"Exécutez des modèles open source en local sur votre machine","settings.localProviders.description.openAiLike":"Connectez-vous à des points de terminaison d’API compatibles avec OpenAI","settings.localProviders.errorBoundary.description":"Une erreur est survenue lors du chargement de la section des fournisseurs locaux.","settings.localProviders.errorBoundary.details":"Détails de l’erreur","settings.localProviders.errorBoundary.retry":"Réessayer","settings.localProviders.errorBoundary.title":"Un problème est survenu","settings.localProviders.modelDeleteFailed":"Échec de la suppression de {model}","settings.localProviders.modelDeleted":"{model} supprimé","settings.localProviders.modelUpdateFailed":"Échec de la mise à jour de {model}","settings.localProviders.modelUpdated":"{model} mis à jour","settings.localProviders.modelUpdating":"Mise à jour du modèle","settings.localProviders.never":"Jamais","settings.localProviders.ollama.unreachable":"Impossible de joindre Ollama à l’adresse {url}. Est-il démarré ?","settings.localProviders.providerDisabled":"Fournisseur {provider} désactivé","settings.localProviders.providerEnabled":"Fournisseur {provider} activé","settings.localProviders.thisModel":"ce modèle","settings.localProviders.toggleProvider":"Activer ou désactiver le fournisseur {provider}","settings.mcp.disable":"Désactiver","settings.mcp.checkingServers":"Vérification des serveurs MCP…","settings.mcp.configuration.availabilityFailed":"Échec de la vérification de la disponibilité des serveurs MCP","settings.mcp.configuration.initializeFailed":"Échec de l’initialisation des paramètres MCP","settings.mcp.configuration.invalidJson":"La configuration MCP doit contenir un JSON valide","settings.mcp.configuration.save":"Enregistrer la configuration","settings.mcp.configuration.saving":"Enregistrement…","settings.mcp.disabled":"Désactivé","settings.mcp.domain.aiAgents":"Agents d’IA","settings.mcp.domain.cloud":"Cloud","settings.mcp.domain.codeExecution":"Exécution de code","settings.mcp.domain.communication":"Communication","settings.mcp.domain.databases":"Bases de données","settings.mcp.domain.devOps":"DevOps","settings.mcp.domain.developerTools":"Outils de développement","settings.mcp.domain.filesystem":"Système de fichiers","settings.mcp.domain.knowledge":"Connaissances","settings.mcp.domain.monitoring":"Supervision","settings.mcp.domain.other":"Autre","settings.mcp.domain.productivity":"Productivité","settings.mcp.domain.search":"Recherche","settings.mcp.domain.security":"Sécurité","settings.mcp.domain.versionControl":"Gestion de versions","settings.mcp.domain.webBrowsing":"Navigation web","settings.mcp.enable":"Activer","settings.mcp.enabled":"Activé","settings.mcp.installCount_one":"{count} installation","settings.mcp.installCount_other":"{count} installations","settings.mcp.installFailed":"Échec de l’installation du serveur MCP","settings.mcp.installed":"Installé","settings.mcp.installedAs":"« {name} » installé sous l’alias « {alias} »","settings.mcp.installing":"Installation…","settings.mcp.marketplace.loadFailed":"Échec du chargement de la place de marché MCP","settings.mcp.missingRequiredFields":"Champs obligatoires manquants : {fields}","settings.mcp.noAvailableServers_one":"Aucun serveur MCP disponible — {count} serveur configuré est actuellement indisponible","settings.mcp.noAvailableServers_other":"Aucun serveur MCP disponible — les {count} serveurs configurés sont actuellement indisponibles","settings.mcp.noDescription":"Aucune description disponible","settings.mcp.serverError":"Le serveur MCP a signalé une erreur. Vérifiez sa configuration et ses journaux.","settings.mcp.serverDisabled":"« {alias} » désactivé","settings.mcp.serverEnabled":"« {alias} » activé","settings.mcp.toggleFailed":"Échec de la modification de l’état du serveur MCP","settings.mcp.uninstallFailed":"Échec de la désinstallation du serveur MCP","settings.mcp.uninstalled":"« {alias} » désinstallé","settings.netlify.action.clearCache":"Vider le cache","settings.netlify.action.deleteSite":"Supprimer le site","settings.netlify.action.manageEnvironment":"Gérer l’environnement","settings.netlify.action.run":"Exécuter cette action","settings.netlify.action.siteAnalytics":"Analyses du site","settings.netlify.action.triggerBuild":"Déclencher une compilation","settings.netlify.action.viewFunctions":"Afficher les fonctions","settings.netlify.analytics.freeAccountSiteInfo":"Les analyses ne sont pas disponibles avec les comptes gratuits. Site : {site} ({status}).","settings.netlify.analytics.loadFailed":"Échec du chargement des analyses du site","settings.netlify.analytics.siteStatus":"Site : {site} — État : {status}","settings.netlify.build.triggeredId":"Compilation déclenchée. ID : {id}","settings.netlify.build.failed":"La compilation a échoué. Consultez les journaux de compilation Netlify pour en savoir plus.","settings.netlify.cache.clearFailed":"Échec du vidage du cache du site","settings.netlify.connection.failed":"Échec de la connexion à Netlify","settings.netlify.connection.failedHttp":"Échec de la connexion (HTTP {status})","settings.netlify.connection.successAs":"Connexion réussie avec le compte {email}","settings.netlify.confirm":"Confirmer","settings.netlify.confirmActionDescription":"Voulez-vous vraiment exécuter l’action « {action} » ?","settings.netlify.confirmActionTitle":"{action} ?","settings.netlify.deploy.actionFailed":"Échec de l’action « {action} » sur le déploiement","settings.netlify.deploy.actionSucceeded":"Action « {action} » terminée sur le déploiement","settings.netlify.environment.loadFailed":"Échec du chargement des variables d’environnement","settings.netlify.environment.loaded_one":"{count} variable d’environnement chargée","settings.netlify.environment.loaded_other":"{count} variables d’environnement chargées","settings.netlify.functions.count_one":"Le site contient {count} fonction serverless","settings.netlify.functions.count_other":"Le site contient {count} fonctions serverless","settings.netlify.functions.loadFailed":"Échec du chargement des fonctions serverless","settings.netlify.generateToken":"Générer un jeton Netlify","settings.netlify.refreshing":"Actualisation…","settings.netlify.selectSite":"Sélectionner le site {site}","settings.netlify.showAll_one":"Tout afficher ({count})","settings.netlify.showAll_other":"Tout afficher ({count})","settings.netlify.showLess":"Afficher moins","settings.netlify.stats.fetchFailed":"Échec de la récupération des statistiques Netlify","settings.netlify.status.building":"Compilation en cours","settings.netlify.status.completed":"Terminé","settings.netlify.status.failed":"Échec","settings.netlify.status.inProgress":"En cours","settings.netlify.status.ready":"Prêt","settings.netlify.tokenPlaceholder":"Jeton d’accès personnel Netlify","settings.supabase.action.getApiKeys":"Obtenir les clés d’API","settings.supabase.action.viewApiDocs":"Afficher la documentation de l’API","settings.supabase.action.viewAuth":"Afficher l’authentification","settings.supabase.action.viewDashboard":"Afficher le tableau de bord","settings.supabase.action.viewDatabase":"Afficher la base de données","settings.supabase.action.viewEdgeFunctions":"Afficher les Edge Functions","settings.supabase.action.viewFunctions":"Afficher les fonctions","settings.supabase.action.viewLogs":"Afficher les journaux","settings.supabase.action.viewRealtime":"Afficher Realtime","settings.supabase.action.viewSettings":"Afficher les paramètres","settings.supabase.action.viewStorage":"Afficher le stockage","settings.supabase.apiKeys.fetchFailed":"Échec de la récupération des clés d’API","settings.supabase.apiKeys.fetching":"Récupération…","settings.supabase.connection.environmentSuccess_one":"Connexion réussie avec le jeton d’environnement. {count} projet trouvé.","settings.supabase.connection.environmentSuccess_other":"Connexion réussie avec le jeton d’environnement. {count} projets trouvés.","settings.supabase.connection.failedHttp":"Échec de la connexion (HTTP {status})","settings.supabase.generateToken":"Générer un jeton Supabase","settings.supabase.status.activeHealthy":"Actif et opérationnel","settings.supabase.status.inactive":"Inactif","settings.supabase.status.restoring":"Restauration","settings.supabase.status.starting":"Démarrage","settings.supabase.status.stopping":"Arrêt","settings.supabase.status.suspended":"Suspendu","settings.supabase.tokenPlaceholder":"Jeton de l’API de gestion Supabase","settings.vercel.action.deleteProject":"Supprimer le projet","settings.vercel.action.redeploy":"Redéployer","settings.vercel.action.viewAnalytics":"Afficher les analyses","settings.vercel.action.viewDashboard":"Afficher le tableau de bord","settings.vercel.action.viewDeployments":"Afficher les déploiements","settings.vercel.action.viewDomains":"Afficher les domaines","settings.vercel.action.viewFunctions":"Afficher les fonctions","settings.vercel.action.viewLogs":"Afficher les journaux","settings.vercel.action.viewSettings":"Afficher les paramètres","settings.vercel.authenticationFailed":"Échec de l’authentification auprès de Vercel","settings.vercel.autoConnectFailed":"Échec de la connexion automatique à Vercel","settings.vercel.connection.failedHttp":"Échec de la connexion (HTTP {status})","settings.vercel.connection.successAs":"Connexion à Vercel réussie avec le compte {user}","settings.vercel.generateToken":"Générer un jeton Vercel","settings.vercel.noEmail":"Aucune adresse e-mail disponible","settings.vercel.redeployFailed":"Échec du redéploiement du projet","settings.vercel.status.building":"Compilation en cours","settings.vercel.status.canceled":"Annulé","settings.vercel.status.error":"Erreur","settings.vercel.status.ready":"Prêt","settings.vercel.tokenPlaceholder":"Jeton d’accès personnel ou d’équipe Vercel","settings.vercel.user":"Utilisateur Vercel","settings.copy.16gbMinimum32gbRecommended_a4db04d4":"16 Go minimum, 32 Go ou plus recommandés","settings.copy.1ChooseInstallationMethod_e76504d5":"1. Choisissez une méthode d’installation","settings.copy.1DownloadInstall_7ae81ef7":"1. Téléchargez et installez","settings.copy.24hTime_470f9d70":"Format 24 h","settings.copy.2ConfigureLocalServer_04ef371b":"2. Configurez le serveur local","settings.copy.2DownloadLatestModels_dafd3f59":"2. Téléchargez les modèles récents","settings.copy.3DesktopAppFeatures_168b65ab":"3. Fonctionnalités de l’application de bureau","settings.copy.4TroubleshootingCommands_3ee4e6cd":"4. Dépannage et commandes","settings.copy.8CoresModernArchitecture_72799aa5":"8 cœurs ou plus, architecture récente","settings.copy.accessTo100ModelsThroughUnifiedApi_5a32b5e5":"Accès à plus de 100 modèles via une API unifiée","settings.copy.accessToken_f9db72ce":"Jeton d’accès","settings.copy.active_92340695":"Actif","settings.copy.active_b49c81b7":"Actifs :","settings.copy.activeDeployments_3a490e28":"Déploiements actifs","settings.copy.activeProjects_80e50215":"Projets actifs","settings.copy.activeSites_6eb6a04e":"Sites actifs","settings.copy.activitySummary_82fdd80c":"Résumé de l’activité","settings.copy.advancedTextGenerationWebUiWithExtensions_16a96feb":"Interface web avancée de génération de texte avec extensions","settings.copy.ago_1d8e08fd":"plus tôt","settings.copy.alias_b19e02e9":"Alias","settings.copy.alias_c25bf3e6":"alias:","settings.copy.all_a52ace42":"Tous","settings.copy.allDeployments_8c150347":"Tous les déploiements (","settings.copy.allTypes_bc013254":"Tous les types","settings.copy.alternativelyUseCli_e39ae18c":"Vous pouvez également utiliser la CLI :","settings.copy.alternativeOptions_02e57e3b":"Autres options","settings.copy.analyticsNotAvailableOnFreeAccountsShowingBasic_6f36f0ff":"Les analyses ne sont pas disponibles avec les comptes gratuits. Les informations essentielles du site sont affichées à la place.","settings.copy.anonKey_a2d54eb8":"Clé anon :","settings.copy.api_c8e5998f":"API","settings.copy.apiEndpoint_16046569":"Point de terminaison de l’API","settings.copy.apiKeysFetchedSuccessfully_bf28ba7d":"Clés d’API récupérées","settings.copy.apiLogs_9d1c6cd5":"Journaux de l’API","settings.copy.apiToken_c85b0e36":"Jeton d’API","settings.copy.authEnabled_8c2c9721":"Authentification activée","settings.copy.authSecurity_d13b5098":"Authentification et sécurité","settings.copy.autoExpand_59e4afa4":"Développement automatique","settings.copy.automaticUpdates_33795c13":"• Mises à jour automatiques","settings.copy.available_72074a8a":"Disponibles :","settings.copy.available_e6744473":"Disponible","settings.copy.availableModels_14494560":"Modèles disponibles","settings.copy.availableTools_36aa4821":"Outils disponibles :","settings.copy.avgDomainsProject_396db732":"Moyenne de domaines par projet","settings.copy.avgTablesProject_24aa1dce":"Moyenne de tables par projet","settings.copy.avgUsersProject_cd7378ce":"Moyenne d’utilisateurs par projet","settings.copy.backToDashboard_97ba1d39":"Retour au tableau de bord","settings.copy.bandwidth_6ac4a3f5":"Bande passante : —","settings.copy.bandwidth_bec749e6":"Bande passante","settings.copy.branch_b8a50d7f":"Branche :","settings.copy.browseModels_b556fa77":"Parcourir les modèles","settings.copy.buckets_026e0349":"Buckets:","settings.copy.buckets_9b5cc8b7":"Buckets","settings.copy.building_87c5912f":"Compilation en cours","settings.copy.builds_6a3fe887":"Compilations","settings.copy.buildTriggeredWithCacheClear_647a358c":"Compilation déclenchée avec vidage du cache","settings.copy.buildTriggerFailedThisFeatureMayNotBe_3234ad0d":"Échec du déclenchement de la compilation. Cette fonctionnalité peut ne pas être disponible avec les comptes gratuits.","settings.copy.builtInChatInterface_074dd1ef":"• Interface de chat intégrée","settings.copy.builtInChatInterfaceForTesting_5e4515bd":"Interface de chat intégrée pour les tests","settings.copy.builtInModelDownloaderWithSearch_e9393cef":"Téléchargement de modèles intégré avec recherche","settings.copy.builtInModelGallery_967f1fcc":"Galerie de modèles intégrée","settings.copy.builtInWebInterface_52ff43a3":"Interface web intégrée","settings.copy.cachePurgeEndpointNotFoundThisFeatureMay_8c5b9717":"Point de terminaison de purge du cache introuvable. Cette fonctionnalité peut ne pas être disponible.","settings.copy.cachePurgeNotAvailableOnFreeAccountsTry_71cc23e3":"La purge du cache n’est pas disponible avec les comptes gratuits. Essayez plutôt de déclencher une compilation.","settings.copy.cancel_19766ed6":"Annuler","settings.copy.checkAvailability_2071664a":"Vérifier la disponibilité","settings.copy.checking_0dfe1d63":"Vérification","settings.copy.checking_2e5f79bb":"Vérification…","settings.copy.checkingServerStatus_0d9cdd03":"Vérification de l’état du serveur","settings.copy.clickStartServer_c810101e":"Cliquez sur « Démarrer le serveur »","settings.copy.closeInstallDialog_1bd3a671":"Fermer la fenêtre d’installation","settings.copy.closeOtherApplicationsToFreeUpRam_2b1400e5":"Fermez les autres applications pour libérer de la RAM","settings.copy.cloudAlternatives_27a75f72":"Alternatives cloud","settings.copy.codeDevelopment_3351f93a":"Code et développement","settings.copy.commandLineAdvanced_faa5b0f0":"Ligne de commande (avancé)","settings.copy.commonIssues_e2f95b40":"Problèmes courants","settings.copy.completeSetupInstructionsForRunningAiModelsLocally_7182c7db":"Instructions complètes pour exécuter des modèles d’IA en local","settings.copy.configuration_b332c349":"Configuration","settings.copy.configurationJson_1d1271b8":"Configuration JSON","settings.copy.configureAndEnableLocalProvidersToSeeTheir_a95597cb":"Configurez et activez des fournisseurs locaux pour afficher ici l’état de leurs points de terminaison.","settings.copy.configureAndManageYourLocalAiModels_c35365c0":"Configurez et gérez vos modèles d’IA locaux","settings.copy.connect_1a2303ed":"Se connecter","settings.copy.connectAndManageYourNetlifySitesWithAdvanced_2f6c9a7e":"Connectez et gérez vos sites Netlify avec des contrôles avancés de déploiement et de gestion des sites","settings.copy.connectAndManageYourSupabaseProjectsWithDatabase_f9c3d2a8":"Connectez et gérez vos projets Supabase avec des contrôles d’accès aux bases de données, d’authentification et de stockage","settings.copy.connectAndManageYourVercelProjectsWithAdvanced_c54d120d":"Connectez et gérez vos projets Vercel avec des contrôles avancés de déploiement et des analyses","settings.copy.connectedToNetlify_b158442a":"Connecté à Netlify","settings.copy.connectedToNetlifySuccessfully_31cde6c0":"Connexion à Netlify réussie","settings.copy.connectedToSupabase_389ab0c8":"Connecté à Supabase","settings.copy.connectedToVercel_699b4165":"Connecté à Vercel","settings.copy.connectedToVercelAutomatically_a5d70873":"Connexion automatique à Vercel réussie","settings.copy.connecting_5f04ae9e":"Connexion…","settings.copy.cpu_db9a4c7d":"CPU","settings.copy.created_22d435a3":"Créé le :","settings.copy.criticalEnableCors_98fbc978":"Important : activez CORS","settings.copy.crossPlatformCompatibility_a97997c5":"• Compatibilité multiplateforme","settings.copy.custom_01c6ed83":"Personnalisé : —","settings.copy.customDomain_c1683eeb":"Domaine personnalisé","settings.copy.database_fa7fe671":"Base de données","settings.copy.databaseHealth_11fb4459":"État de la base de données","settings.copy.databaseSchema_e0cf4b65":"Schéma de la base de données","settings.copy.dbSize_e4eff330":"Taille de la base","settings.copy.debug_1a03bd2f":"Débogage","settings.copy.debugEnvToken_21052265":"Débogage — jeton d’environnement :","settings.copy.debugLogs_c16db1ad":"Journaux de débogage","settings.copy.debugTokenPresent_55c6fdda":"Débogage — jeton présent :","settings.copy.debugUserPresent_b0ff1699":"Débogage — utilisateur présent :","settings.copy.delete_e2d0a549":"Supprimer","settings.copy.deployed_cb8a4bb4":"Déployé le :","settings.copy.deployedProjects_d86ff17e":"Projets déployés","settings.copy.deploymentAnalytics_516603a6":"Analyse des déploiements","settings.copy.deploymentHealth_18dfb623":"État des déploiements","settings.copy.deployments_842a4697":"Déploiements","settings.copy.desktopAppAutoManagesModelStorage_a02fdb8e":"• L’application de bureau gère automatiquement le stockage des modèles","settings.copy.desktopAppIncludesAWebInterfaceAt_25a4f7fb":"L’application de bureau inclut une interface web à l’adresse","settings.copy.desktopAppNotStartingRestartSystem_896d554a":"• L’application de bureau ne démarre pas : redémarrez le système","settings.copy.desktopAppRecommended_2da22eb4":"🆕 Application de bureau (recommandée)","settings.copy.details_45989de4":"Détails","settings.copy.disconnect_acfc5be7":"Déconnecter","settings.copy.disconnectedFromNetlify_2077132d":"Déconnecté de Netlify","settings.copy.disconnectedFromSupabase_01f2830c":"Déconnecté de Supabase","settings.copy.disconnectedFromVercel_f567b00a":"Déconnecté de Vercel","settings.copy.dockerDeploymentOption_3bbb9b46":"Option de déploiement Docker","settings.copy.dockerRecommended_0d048700":"Docker (recommandé)","settings.copy.domains_ced67718":"Domaines","settings.copy.downloadAModelFromTheMyModelsTab_098051e9":"Téléchargez un modèle depuis l’onglet « Mes modèles »","settings.copy.downloadDesktopApp_fab2cfd1":"Télécharger l’application de bureau","settings.copy.downloadLmStudio_12eb15f2":"Télécharger LM Studio","settings.copy.downloadLmStudioForWindowsMacosOrLinux_f10bb050":"Téléchargez LM Studio pour Windows, macOS ou Linux depuis le site officiel.","settings.copy.duration_298d6c75":"Durée :","settings.copy.easyModelSwitchingAndManagement_620f3622":"Changement et gestion faciles des modèles","settings.copy.enableAll_87b3b5dd":"Tout activer","settings.copy.enableQuantization4Bit8BitModels_86462e78":"Activez la quantification (modèles 4 bits ou 8 bits)","settings.copy.enterYourNetlifyApiToken_066ca0ee":"Saisissez votre jeton d’API Netlify","settings.copy.enterYourSupabaseAccessToken_5ba04661":"Saisissez votre jeton d’accès Supabase","settings.copy.enterYourVercelPersonalAccessToken_b1562395":"Saisissez votre jeton d’accès personnel Vercel","settings.copy.environmentVariablesManagementIsLimitedOnFreeAccounts_78da50e6":"La gestion des variables d’environnement est limitée avec les comptes gratuits","settings.copy.environmentVariableToConnectAutomatically_34496ce0":"comme variable d’environnement pour vous connecter automatiquement.","settings.copy.error_61706290":"Erreur :","settings.copy.errorLogs_37fc7c24":"Journaux d’erreurs","settings.copy.errors_cb702378":"Erreurs","settings.copy.eventLogsExportedSuccessfullyAsCsv_30c55a12":"Journaux d’événements exportés au format CSV","settings.copy.eventLogsExportedSuccessfullyAsJson_579caf28":"Journaux d’événements exportés au format JSON","settings.copy.eventLogsExportedSuccessfullyAsPdf_9ad55a8c":"Journaux d’événements exportés au format PDF","settings.copy.eventLogsExportedSuccessfullyAsTextFile_242b23e1":"Journaux d’événements exportés dans un fichier texte","settings.copy.eventLogsTabComponentMounted_74809440":"Composant de l’onglet Journaux d’événements monté","settings.copy.export_36648955":"Exporter","settings.copy.exportAsCsv_868da409":"Exporter au format CSV","settings.copy.exportAsJson_b72e8628":"Exporter au format JSON","settings.copy.exportAsPdf_1bf78687":"Exporter au format PDF","settings.copy.exportAsText_515f8e2c":"Exporter au format texte","settings.copy.exportEventLogs_8902a9a9":"Exporter les journaux d’événements","settings.copy.failed_031a8f0f":"Échec","settings.copy.failedToConnectToSupabase_55693a40":"Échec de la connexion à Supabase","settings.copy.failedToConnectToVercel_13100f98":"Échec de la connexion à Vercel","settings.copy.failedToDeleteProject_e0e158d1":"Échec de la suppression du projet","settings.copy.failedToDeleteSite_9b38cf13":"Échec de la suppression du site","settings.copy.failedToExportEventLogsAsCsv_5cf55eb1":"Échec de l’export des journaux d’événements au format CSV","settings.copy.failedToExportEventLogsAsJson_688cb79e":"Échec de l’export des journaux d’événements au format JSON","settings.copy.failedToExportEventLogsAsPdf_df552b5e":"Échec de l’export des journaux d’événements au format PDF","settings.copy.failedToExportEventLogsAsTextFile_d5289ad5":"Échec de l’export des journaux d’événements dans un fichier texte","settings.copy.failedToFetchLmStudioModels_c239153d":"Échec de la récupération des modèles LM Studio","settings.copy.failedToFetchModels_0b3be248":"Échec de la récupération des modèles","settings.copy.failedToGetSiteDetails_16e90450":"Échec de la récupération des détails du site","settings.copy.failedToLoadMcpConfiguration_7c3c8989":"Échec du chargement de la configuration MCP","settings.copy.failedToRefreshLogs_79d8216b":"Échec de l’actualisation des journaux","settings.copy.failedToSaveMcpConfiguration_36fd5c51":"Échec de l’enregistrement de la configuration MCP","settings.copy.failedToTriggerBuild_3deefa99":"Échec du déclenchement de la compilation","settings.copy.fastInferenceWithOpenSourceModels_9888e4c5":"Inférence rapide avec des modèles open source","settings.copy.featured_5af7ed5a":"À LA UNE","settings.copy.fetchingSupabaseProjects_e335dbd9":"Récupération des projets Supabase…","settings.copy.fetchingVercelProjects_a1e62108":"Récupération des projets Vercel…","settings.copy.files_e1a1abcf":"Fichiers :","settings.copy.filterApplied_d16fe413":"Filtre appliqué","settings.copy.focusOnCreativeWritingAndStorytelling_86acfd3c":"Axé sur l’écriture créative et la narration","settings.copy.frameworkDistribution_43adda5b":"Répartition des frameworks","settings.copy.frameworksUsed_ba10cf19":"Frameworks utilisés","settings.copy.fullOpenaiApiCompatibility_e7456795":"Compatibilité complète avec l’API OpenAI","settings.copy.functions_219f5c63":"Fonctions :","settings.copy.functions_75e942e5":"Fonctions","settings.copy.functionsMayBeLimitedOrUnavailableOnFree_386a35bb":"Les fonctions peuvent être limitées ou indisponibles avec les comptes gratuits","settings.copy.generalPurposeChat_01eb4bad":"Usage général et chat","settings.copy.generated_827ec8d9":"Généré","settings.copy.getLmStudio_047c5f4f":"Obtenir LM Studio","settings.copy.getYourToken_41c867bf":"Obtenir votre jeton","settings.copy.ggufFormatSupportMostCompatible_a39eb7cf":"Prise en charge du format GGUF (compatibilité optimale)","settings.copy.goToLocalServerTab_114c2806":"Ouvrez l’onglet « Serveur local »","settings.copy.gpu_ea49523d":"GPU","settings.copy.gpuAccelerationDetection_e8fcc6fd":"• Détection de l’accélération GPU","settings.copy.gpuNotDetectedUpdateDrivers_b5e71907":"• GPU non détecté : mettez les pilotes à jour","settings.copy.groq_493727d6":"Groq","settings.copy.hardwareOptimizations_48ad78d7":"Optimisations matérielles","settings.copy.healthRate_68d22a4d":"Taux de disponibilité","settings.copy.healthy_7f1e323b":"Sain","settings.copy.inactiveProjects_9f463f85":"Projets inactifs","settings.copy.increaseRamForLargerContextWindows_ef69129e":"Augmentez la RAM pour utiliser des fenêtres de contexte plus grandes","settings.copy.info_170322a3":"Information","settings.copy.infoLogs_01608239":"Journaux d’information","settings.copy.inServerSettingsCheckEnableCors_87759a1e":"Dans les paramètres du serveur, cochez « Activer CORS »","settings.copy.install_1e142e62":"installer","settings.copy.install_569ca49f":"Installer","settings.copy.installationOptions_01a41c3a":"Options d’installation","settings.copy.installed_fa99e2a0":"Installés (","settings.copy.installedModels_672a72ad":"Modèles installés","settings.copy.invalidTokenOrUnauthorized_8599db09":"Jeton invalide ou accès non autorisé","settings.copy.invalidVercelToken_98dacbe8":"Jeton Vercel invalide","settings.copy.invocations_f4d01184":"Appels :","settings.copy.inYourEnvLocalForAutomaticConnection_aaddd8e9":"dans votre fichier .env.local pour une connexion automatique.","settings.copy.issues_666067dd":"Problèmes","settings.copy.janAi_d25ee8a5":"Jan.ai","settings.copy.keyCopiedToClipboard_340f5dc8":"Clé copiée dans le presse-papiers","settings.copy.koboldai_3fd1a515":"KoboldAI","settings.copy.last24Hours_5c37cf8f":"Dernières 24 heures","settings.copy.last7Days_0603deca":"7 derniers jours","settings.copy.lastCheck_2d424737":"Dernière vérification","settings.copy.linux_4828e602":"Linux","settings.copy.live_b64ac05f":"En ligne","settings.copy.liveSites_1ac8332d":"Sites en ligne","settings.copy.llama323bFastest8gbRam_bb32e1ef":"• Llama 3.2 : 3B — le plus rapide, 8 Go de RAM","settings.copy.llm_674900a7":"LLM","settings.copy.llmLogs_32aba768":"Journaux LLM","settings.copy.lmStudioAdvantages_8b6d71c3":"Avantages de LM Studio","settings.copy.lmStudioSetup_5de4dcc7":"Configuration de LM Studio","settings.copy.loadExample_c3f32d3a":"Charger un exemple","settings.copy.loadingMarketplace_22739be9":"Chargement de la place de marché…","settings.copy.local_8c31e6e7":"Local","settings.copy.localaiAdvantages_9743cb00":"Avantages de LocalAI","settings.copy.localAiProviders_96f3a73f":"Fournisseurs d’IA locaux","settings.copy.localaiSetup_850d5974":"Configuration de LocalAI","settings.copy.localaiSupportsManyModelFormatsAndProvidesA_67a2cbe1":"LocalAI prend en charge de nombreux formats de modèles et fournit une API entièrement compatible avec OpenAI.","settings.copy.localProviderSetupGuide_2ac47684":"Guide de configuration des fournisseurs locaux","settings.copy.localProvidersWillAppearHereWhenTheyRe_83d24736":"Les fournisseurs locaux apparaîtront ici une fois configurés dans le système.","settings.copy.lock_db44b8db":"Verrouiller","settings.copy.macos_aed6b7aa":"macOS","settings.copy.makeSureLmStudioIsRunningWithThe_e527657d":"Vérifiez que LM Studio est en cours d’exécution, que le serveur local est démarré et que CORS est activé.","settings.copy.managementTools_9d0f3966":"🔧 Outils de gestion","settings.copy.manualAutoConnectSuccessful_d99f22b3":"Connexion automatique manuelle réussie","settings.copy.marketplace_470b10c7":"Place de marché (","settings.copy.marketplace_c608981d":"Place de marché","settings.copy.maximumNumberOfSequentialLlmCalls_a536e28a":"Nombre maximal d’appels LLM successifs","settings.copy.maximumNumberOfSequentialLlmCallsSteps_9538ba31":"Nombre maximal d’appels LLM successifs (étapes)","settings.copy.mcpConfigurationSaved_aac7ff26":"Configuration MCP enregistrée","settings.copy.mcpServersConfigured_6fcafbc4":"Serveurs MCP configurés","settings.copy.mcpView_2cf27783":"Vue MCP","settings.copy.memberSince_1ba87d11":"• Membre depuis","settings.copy.mistral7bPopularChoice_3bfbcab9":"• Mistral : 7B — choix répandu","settings.copy.model_11a93106":"Modèle :","settings.copy.modelLibraryBrowser_d508b940":"• Parcourir la bibliothèque de modèles","settings.copy.models_d17d2d78":"Modèles","settings.copy.modelSizeOptimization_89b91baa":"• Optimisation de la taille des modèles","settings.copy.modelsNotLoadingCheckAvailableDiskSpace_cd065055":"• Les modèles ne se chargent pas : vérifiez l’espace disque disponible","settings.copy.modernInterfaceWithBuiltInModelMarketplace_a6195945":"Interface moderne avec une place de marché de modèles intégrée","settings.copy.monitorTheHealthOfYourLocalAiProviders_ba2d1e99":"Surveillez l’état de vos fournisseurs d’IA locaux","settings.copy.mostPopularChoiceForRunningOpenSourceModels_0efd1d7f":"Solution la plus répandue pour exécuter des modèles open source en local avec une application de bureau","settings.copy.ms_9e7d85a5":"ms)","settings.copy.ms_f785c3ce":"ms","settings.copy.needsAttention_63cdbf0e":"Nécessite votre attention","settings.copy.netlifyConnection_fc3b94f2":"Connexion Netlify","settings.copy.netlifyIntegration_c4018d1a":"Intégration Netlify","settings.copy.netlifyOverview_6cbfb054":"Vue d’ensemble de Netlify","settings.copy.netlifyStats_9d6b2f8f":"Statistiques Netlify","settings.copy.netlifyStatsUpdated_1e80d917":"Statistiques Netlify mises à jour","settings.copy.newUserFriendlyDesktopApplicationWithBuiltIn_3c20fcc9":"Nouvelle application de bureau intuitive avec gestion des modèles et interface web intégrées.","settings.copy.noAdditionalConfigurationRequired_5fbdb4de":"Aucune configuration supplémentaire requise.","settings.copy.noEndpointsConfigured_adc8fdd1":"Aucun point de terminaison configuré","settings.copy.noLocalProvidersAvailable_e31262b5":"Aucun fournisseur local disponible","settings.copy.noLogsFound_28a52bc6":"Aucun journal trouvé","settings.copy.noMcpServersConfigured_013e6b9d":"Aucun serveur MCP configuré","settings.copy.noMcpServersMatchYourFilters_75b78004":"Aucun serveur MCP ne correspond à vos filtres.","settings.copy.noModelsAvailable_906fca33":"Aucun modèle disponible","settings.copy.noModelsInstalled_b31146f0":"Aucun modèle installé","settings.copy.noProjectsFoundInYourSupabaseAccount_bf4d45b7":"Aucun projet trouvé dans votre compte Supabase","settings.copy.noProjectsFoundInYourVercelAccount_95b15497":"Aucun projet trouvé dans votre compte Vercel","settings.copy.noResponseReaderAvailable_f8d0dbf8":"Aucun lecteur de réponse disponible","settings.copy.noTokenProvided_08b1eefc":"Aucun jeton fourni","settings.copy.noToolsAvailable_0ec9813e":"Aucun outil disponible","settings.copy.nvidiaRtx30xxOrAmdRx6000_1be2e6f2":"NVIDIA RTX 30xx+ ou AMD RX 6000+","settings.copy.ollamaComLibrary_57198fd8":"ollama.com/library","settings.copy.ollamaSetup_def5e560":"Configuration d’Ollama","settings.copy.oneClickModelDownloads_c738bcda":"• Téléchargement des modèles en un clic","settings.copy.oobabooga_fa777f02":"Oobabooga","settings.copy.openrouter_eb70c3bc":"OpenRouter","settings.copy.otherLocalAiSolutionsAndCloudAlternatives_0f0bd686":"Autres solutions d’IA locales et alternatives cloud","settings.copy.otherLocalSolutions_ce50070c":"Autres solutions locales","settings.copy.ownedBy_1fad1458":"Propriétaire :","settings.copy.parameters_03acaf78":"Paramètres :","settings.copy.performanceAnalytics_87aa0998":"Analyse des performances","settings.copy.performanceOptimization_fffce0e2":"Optimisation des performances","settings.copy.performanceOptimized_76baff5a":"Optimisé pour les performances","settings.copy.personalAccessToken_5572fccc":"Jeton d’accès personnel","settings.copy.phi3538bGreatBalance_c6c4328e":"• Phi-3.5 : 3,8B — excellent compromis","settings.copy.pleaseEnterANetlifyApiToken_1570be9c":"Veuillez saisir un jeton d’API Netlify","settings.copy.pleaseEnterASupabaseAccessToken_441c8ccc":"Veuillez saisir un jeton d’accès Supabase","settings.copy.port11434BlockedChangePortInSettings_4cbce6f0":"• Le port 11434 est bloqué : modifiez-le dans les paramètres","settings.copy.projectCredentials_f92339b2":"Identifiants du projet","settings.copy.projectDeletedSuccessfully_4dd069ca":"Projet supprimé","settings.copy.projectHealthOverview_b02e68a2":"Vue d’ensemble de l’état des projets","settings.copy.projectRedeploymentInitiated_7170d074":"Redéploiement du projet lancé","settings.copy.projects_04e2a972":"Projets","settings.copy.prompt_35261535":"Prompt :","settings.copy.proTips_b4ea1d8c":"Conseils pratiques","settings.copy.providerStatus_618b7067":"État des fournisseurs","settings.copy.publish_859390eb":"Publier","settings.copy.published_2ef42ec2":"Publié","settings.copy.quickInstall_eed87f51":"Installation rapide","settings.copy.qwen257bExcellentQuality_acddf255":"• Qwen2.5 : 7B — excellente qualité","settings.copy.ram_bf4b0c03":"RAM","settings.copy.recentActivity_9ef7d438":"Activité récente","settings.copy.recentBuilds_55e5d60e":"Compilations récentes (","settings.copy.recentBuilds_c50ca138":"Compilations récentes","settings.copy.recentDeployments_37082d43":"Déploiements récents","settings.copy.recentDeploys_774ca7ed":"Déploiements récents","settings.copy.recommended_d70604e8":"Recommandé","settings.copy.recommendedHardwareForOptimalPerformance_46d8b7e6":"Configuration matérielle recommandée pour des performances optimales","settings.copy.recommendedServerSideConnection_5014a2b2":"Recommandé : connexion côté serveur","settings.copy.reduceContextLengthForChatApplications_5de704b2":"Réduisez la longueur du contexte pour les applications de chat","settings.copy.refresh_0e916101":"Actualiser","settings.copy.regionalDistribution_a7e9f85b":"Répartition régionale","settings.copy.regions_610c65d8":"Régions","settings.copy.regionsUsed_8c0c2e86":"Régions utilisées","settings.copy.regularUpdatesWithNewFeatures_269f43f5":"Mises à jour régulières avec de nouvelles fonctionnalités","settings.copy.request_3921a1e9":"Requête :","settings.copy.requests_ab1158f4":"Requêtes : —","settings.copy.resourceOverview_af304045":"Vue d’ensemble des ressources","settings.copy.response_e8209287":"Réponse :","settings.copy.restApiForModelManagement_d0ba6dff":"API REST pour la gestion des modèles","settings.copy.searchEventLogs_412aa8ae":"Rechercher dans les journaux d’événements","settings.copy.searchLogs_7dd1b345":"Rechercher dans les journaux…","settings.copy.searchMcpServers_e94500ed":"Rechercher des serveurs MCP…","settings.copy.searchMcpServers_e9813443":"Rechercher des serveurs MCP","settings.copy.searchQuery_3ad6e0f4":"Requête de recherche","settings.copy.selectYourDownloadedModel_434b0454":"Sélectionnez le modèle téléchargé","settings.copy.selfHostedOpenaiCompatibleApiServerWithExtensive_8c227789":"Serveur d’API auto-hébergé compatible avec OpenAI et prenant en charge de nombreux modèles","settings.copy.serverAvailable_72d6cb21":"Serveur disponible","settings.copy.serverUnavailable_b0f398a5":"Serveur indisponible","settings.copy.setNetworkInterfaceTo0000_006ac3e1":"Définissez l’interface réseau sur « 0.0.0.0 » pour autoriser les accès externes","settings.copy.setPortTo1234Default_ed7ec7fa":"Définissez le port sur 1234 (valeur par défaut)","settings.copy.setupGuide_03418fd0":"Guide de configuration","settings.copy.showTimestamps_9c3d1eec":"Afficher les horodatages","settings.copy.siteAnalyticsLoadedSuccessfully_e3dd029e":"Analyses du site chargées","settings.copy.siteCacheClearedSuccessfully_32a81781":"Cache du site vidé","settings.copy.siteDeletedSuccessfully_35503110":"Site supprimé","settings.copy.siteHasNoEnvironmentVariablesConfigured_c11cf84b":"Aucune variable d’environnement n’est configurée pour ce site","settings.copy.siteHasNoServerlessFunctions_6272c79e":"Ce site ne contient aucune fonction serverless","settings.copy.siteHealthOverview_eea227cd":"Vue d’ensemble de l’état des sites","settings.copy.siteNotFoundThisMayBeAFree_1cf06d75":"Site introuvable. Cette restriction peut être liée au compte gratuit.","settings.copy.sites_9d769093":"Sites","settings.copy.size_c987f668":"Taille :","settings.copy.slowPerformanceUseSmallerModelsOrEnableGpu_ab385dcd":"• Performances insuffisantes : utilisez des modèles plus petits ou activez le GPU","settings.copy.softwareOptimizations_62e25f29":"Optimisations logicielles","settings.copy.source_0e570ca6":"Source","settings.copy.sslEnabled_1f51772d":"SSL activé","settings.copy.startLocalServer_a0d0ffd9":"Démarrer le serveur local","settings.copy.startWith3b7bModelsForBestPerformance_96946569":"• Commencez avec des modèles de 3B à 7B pour de meilleures performances","settings.copy.status_755c8b2a":"État :","settings.copy.status_920e413c":"État","settings.copy.storage_a69c4dec":"Stockage","settings.copy.successful_f3686bb3":"Réussis","settings.copy.successfullyConnectedToSupabase_155c601e":"Connexion à Supabase réussie","settings.copy.successfullyConnectedToVercel_b11bdb69":"Connexion à Vercel réussie","settings.copy.successRate_5068c6c3":"Taux de réussite","settings.copy.supabaseIntegration_4c5095f2":"Intégration Supabase","settings.copy.supabaseOverview_dbf49062":"Vue d’ensemble de Supabase","settings.copy.supabaseUrl_dbb40813":"URL Supabase :","settings.copy.supportsMultipleModelFormats_e570bebc":"Prend en charge plusieurs formats de modèles","settings.copy.systemRequirements_ac272c8f":"Configuration requise","settings.copy.systemResourceMonitoring_33880d04":"• Surveillance des ressources système","settings.copy.tables_0aef4f2b":"Tables :","settings.copy.tables_e3fe2a3f":"Tables","settings.copy.team_5985039f":"Équipe","settings.copy.testAutoConnect_bf008333":"Tester la connexion automatique","settings.copy.testConnection_c02977b0":"Tester la connexion","settings.copy.testing_6c02a284":"Test…","settings.copy.testingConnection_3d0032b7":"Test de la connexion…","settings.copy.theMcpConfigurationFormatIsIdenticalToThe_5b798888":"Le format de configuration MCP est identique à celui utilisé dans Claude Desktop.","settings.copy.theModelIsRemovedFromYourLocalOllama_493efb34":"Le modèle sera supprimé de votre installation locale d’Ollama.","settings.copy.timeFormat_c93f7ba4":"Format de l’heure","settings.copy.tip_ab744fe2":"Conseil :","settings.copy.tipsToImproveLocalAiPerformance_99755ec3":"Conseils pour améliorer les performances de l’IA locale","settings.copy.toBrowseAvailableModels_c8726096":"pour parcourir les modèles disponibles","settings.copy.togetherAi_1551e58e":"Together AI","settings.copy.toggleAllLocalProviders_465107a9":"Activer ou désactiver tous les fournisseurs locaux","settings.copy.tokenIsRequired_6c718161":"Le jeton est requis","settings.copy.tokens_e1c97fd1":"Jetons :","settings.copy.total_18e872be":"Total :","settings.copy.totalBuilds_7f21f4f4":"Total des compilations","settings.copy.totalDeployments_64ee2a18":"Total des déploiements","settings.copy.totalDomains_0822e300":"Total des domaines","settings.copy.totalLogs_f86b077f":"Total des journaux","settings.copy.totalProjects_4ae08988":"Total des projets","settings.copy.totalSites_ee96a954":"Total des sites","settings.copy.totalUsers_0ca3aa44":"Total des utilisateurs","settings.copy.toWorkWithECodeYouMustEnable_4a1386c5":"Pour utiliser E-Code, vous DEVEZ activer CORS dans LM Studio :","settings.copy.tryAdjustingYourSearchOrFilters_54f7b4c2":"Essayez de modifier votre recherche ou vos filtres","settings.copy.ultraFastLpuInferenceForLlamaModels_bb2bc301":"Inférence LPU ultrarapide pour les modèles Llama","settings.copy.unavailable_ca184496":"Indisponible","settings.copy.unhealthy_317b1fbc":"Défaillant","settings.copy.uninstall_fe199528":"Désinstaller","settings.copy.unknown_b764cdc0":"Inconnu","settings.copy.unlock_4ac709aa":"Déverrouiller","settings.copy.update_c1c1009d":"Mettre à jour","settings.copy.updated_3a5ecca1":"Mis à jour","settings.copy.updating_0b5260e1":"Mise à jour","settings.copy.urlCopiedToClipboard_2f396c3e":"URL copiée dans le presse-papiers","settings.copy.usage_8d59829c":"Utilisation","settings.copy.used_05b15ffb":"Utilisé :","settings.copy.usedAsTheServerNameInYourMcp_6ecc8e83":"(utilisé comme nom de serveur dans votre configuration MCP)","settings.copy.usefulCommands_3ba36691":"Commandes utiles","settings.copy.useNvidiaGpuWithCudaFor510x_a306dc3f":"Utilisez un GPU NVIDIA avec CUDA pour accélérer les calculs de 5 à 10 fois","settings.copy.useQuantizedVersionsForFasterLoading_96d73904":"• Utilisez des versions quantifiées pour accélérer le chargement","settings.copy.userAvatar_2a87bfe3":"Avatar de l’utilisateur","settings.copy.userFriendlyGuiForRunningLocalModelsWith_3a5c1e68":"Interface graphique intuitive pour exécuter et gérer efficacement les modèles locaux","settings.copy.userInterface_e5a4db53":"🖥️ Interface utilisateur","settings.copy.useSmallerModelsForFasterResponses_0256ff93":"Utilisez des modèles plus petits pour obtenir des réponses plus rapides","settings.copy.useSsdStorageForFasterModelLoading_eb4743bc":"Utilisez un stockage SSD pour accélérer le chargement des modèles","settings.copy.useStreamingResponsesForBetterUx_067f2858":"Utilisez les réponses en streaming pour améliorer l’expérience utilisateur","settings.copy.v_0bb917d8":"· v","settings.copy.vercel_2158e5fe":"Vercel : —","settings.copy.vercelConnection_197535ea":"Connexion Vercel","settings.copy.vercelIntegration_f03a9d1b":"Intégration Vercel","settings.copy.vercelOverview_d21c758b":"Vue d’ensemble de Vercel","settings.copy.verified_8766e017":"VÉRIFIÉ","settings.copy.version_dd167905":"Version","settings.copy.view_dcc839a4":"Afficher","settings.copy.viewExampleServers_0df93f04":"Afficher des exemples de serveurs","settings.copy.views_b6e45f9e":"Vues :","settings.copy.visit_1c8ac867":"Ouvrir","settings.copy.warningLogs_62688b9a":"Journaux d’avertissements","settings.copy.warnings_0e04cd10":"Avertissements","settings.copy.webUiAvailableAtLocalhost11434_a7b22429":"• Interface web disponible à l’adresse localhost:11434","settings.copy.windows_d598026a":"Windows","settings.copy.youCanAlsoSet_dcbb043f":"Vous pouvez également définir","settings.copy.youCanAlsoSetThe_26377eef":"Vous pouvez également définir la","settings.copy.yourProjects_638a3b27":"Vos projets (","settings.copy.yourSites_74a70c5a":"Vos sites (","settings.copy.yourSites_e20b6fcd":"Vos sites","settings.copy.yourTokenIsEncryptedAtRestAndNever_ffd74cea":"Votre jeton est chiffré au repos et n’atteint jamais le navigateur après son envoi. Reconnectez-vous via ce parcours pour abandonner l’ancien jeton stocké dans un cookie ci-dessous.","settingsCore.avatar.menu":"Menu du compte","settingsCore.avatar.menuFor":"Menu du compte de {username}","settingsCore.avatar.imageAlt":"Photo de profil","settingsCore.avatar.imageAltFor":"Photo de profil de {username}","settingsCore.avatar.guest":"Utilisateur invité","settingsCore.avatar.editProfile":"Modifier le profil","settingsCore.avatar.settings":"Paramètres","settingsCore.avatar.reportBug":"Signaler un bug","settingsCore.avatar.downloadDebugLog":"Télécharger le journal de débogage","settingsCore.avatar.downloadingDebugLog":"Téléchargement du journal de débogage…","settingsCore.avatar.helpDocumentation":"Aide et documentation","settingsCore.avatar.debugLogDownloaded":"Journal de débogage téléchargé.","settingsCore.avatar.debugLogDownloadFailed":"Impossible de télécharger le journal de débogage. Réessayez.","settingsCore.panel.title":"Panneau de configuration","settingsCore.panel.tabManagement":"Gestion des onglets","settingsCore.panel.back":"Retour","settingsCore.panel.close":"Fermer les paramètres","settingsCore.panel.beta":"BÊTA","settingsCore.panel.loading":"Chargement des paramètres…","settingsCore.panel.repairing":"Restauration des onglets de paramètres…","settingsCore.panel.empty.title":"Aucun onglet de paramètres visible","settingsCore.panel.empty.description":"Restaurez les onglets par défaut pour poursuivre la configuration de votre espace de travail.","settingsCore.panel.empty.action":"Restaurer les onglets par défaut","settingsCore.boundary.title":"Impossible de charger cette section","settingsCore.boundary.description":"Les paramètres sont temporairement indisponibles. Vos modifications n’ont pas été affectées.","settingsCore.boundary.retry":"Réessayer","settingsCore.tab.profile.label":"Profil","settingsCore.tab.profile.description":"Gérez votre profil et les paramètres de votre compte","settingsCore.tab.settings.label":"Paramètres","settingsCore.tab.settings.description":"Configurez les préférences de l’application","settingsCore.tab.notifications.label":"Notifications","settingsCore.tab.notifications.description":"Consultez et gérez vos notifications","settingsCore.tab.features.label":"Fonctionnalités","settingsCore.tab.features.description":"Découvrez les fonctionnalités nouvelles et à venir","settingsCore.tab.data.label":"Gestion des données","settingsCore.tab.data.description":"Gérez vos données et votre espace de stockage","settingsCore.tab.cloudProviders.label":"Fournisseurs cloud","settingsCore.tab.cloudProviders.description":"Configurez les fournisseurs et modèles d’IA cloud","settingsCore.tab.localProviders.label":"Fournisseurs locaux","settingsCore.tab.localProviders.description":"Configurez les fournisseurs et modèles d’IA locaux","settingsCore.tab.github.label":"GitHub","settingsCore.tab.github.description":"Connectez et gérez l’intégration GitHub","settingsCore.tab.gitlab.label":"GitLab","settingsCore.tab.gitlab.description":"Connectez et gérez l’intégration GitLab","settingsCore.tab.netlify.label":"Netlify","settingsCore.tab.netlify.description":"Configurez les paramètres de déploiement Netlify","settingsCore.tab.vercel.label":"Vercel","settingsCore.tab.vercel.description":"Gérez les projets et déploiements Vercel","settingsCore.tab.supabase.label":"Supabase","settingsCore.tab.supabase.description":"Configurez la connexion à la base de données Supabase","settingsCore.tab.eventLogs.label":"Journaux d’événements","settingsCore.tab.eventLogs.description":"Consultez les événements et journaux système","settingsCore.tab.mcp.label":"Serveurs MCP","settingsCore.tab.mcp.description":"Configurez les serveurs Model Context Protocol (MCP)","settingsCore.tab.connections.label":"Connexions","settingsCore.tab.connections.description":"Consultez les connexions aux services et fournisseurs","settingsCore.tab.update.label":"Mises à jour","settingsCore.tab.update.description":"Consultez les mises à jour et changements en amont","settingsCore.tab.debug.label":"Débogage","settingsCore.tab.debug.description":"Consultez les diagnostics de l’environnement d’exécution","settingsCore.tab.taskManager.label":"Données locales","settingsCore.tab.taskManager.description":"Consultez et effacez le stockage local du navigateur","settingsCore.tab.serviceStatus.label":"État des services","settingsCore.tab.serviceStatus.description":"Vérifiez les points de terminaison des services de l’application","settingsCore.tab.unavailable.label":"Paramètres","settingsCore.tab.unavailable.description":"Configurez cette partie de votre espace de travail","settingsCore.status.features.one":"{count} nouvelle fonctionnalité à découvrir","settingsCore.status.features.other":"{count} nouvelles fonctionnalités à découvrir","settingsCore.status.notifications.one":"{count} notification non lue","settingsCore.status.notifications.other":"{count} notifications non lues","settingsResidual.apiKey.tokenLabel":"Jeton d’accès","settingsResidual.apiKey.help":"Générer un jeton","settingsResidual.apiKey.connect":"Se connecter à {provider} (clé API)","settingsResidual.apiKey.formLabel":"Se connecter à {provider} avec une clé API","settingsResidual.apiKey.placeholder":"Collez votre jeton d’accès {provider}","settingsResidual.apiKey.validating":"Validation…","settingsResidual.apiKey.save":"Enregistrer le jeton","settingsResidual.apiKey.cancel":"Annuler","settingsResidual.apiKey.connected":"Connecté en tant que {account}","settingsResidual.apiKey.error.validation":"Impossible de valider le jeton {provider}. Vérifiez-le, puis réessayez.","settingsResidual.apiKey.error.network":"Impossible d’établir la connexion à {provider}. Vérifiez votre réseau, puis réessayez.","settingsResidual.gitlabOauth.waiting":"En attente de l’autorisation GitLab…","settingsResidual.gitlabOauth.connect":"Se connecter à GitLab (OAuth)","settingsResidual.gitlabOauth.connected":"Connecté en tant que {account}","settingsResidual.gitlabOauth.error.connection":"Impossible d’établir la connexion OAuth à GitLab. Réessayez.","settingsResidual.gitlabOauth.error.start":"Impossible de lancer l’autorisation GitLab. Réessayez.","settingsResidual.gitlabOauth.error.popup":"La fenêtre d’autorisation a été bloquée. Autorisez les fenêtres contextuelles pour ce site, puis réessayez.","settingsResidual.githubProfile.label":"Profil GitHub de {account}","settingsResidual.githubProfile.avatarAlt":"Avatar GitHub de {account}","settingsResidual.githubProfile.followers.one":"{count} abonné","settingsResidual.githubProfile.followers.other":"{count} abonnés","settingsResidual.githubProfile.repositories.one":"{count} dépôt public","settingsResidual.githubProfile.repositories.other":"{count} dépôts publics","settingsResidual.githubProfile.gists.one":"{count} gist public","settingsResidual.githubProfile.gists.other":"{count} gists publics","settingsResidual.state.loading":"Chargement…","settingsResidual.state.error.title":"Erreur","settingsResidual.state.error.retry":"Réessayer","settingsResidual.state.success.title":"Opération réussie","settingsResidual.state.success.continue":"Continuer","settingsResidual.state.githubRequired.title":"Connexion GitHub requise","settingsResidual.state.githubRequired.description":"Connectez votre compte GitHub pour parcourir vos dépôts, pousser du code et gérer l’intégration.","settingsResidual.state.githubRequired.action":"Se connecter à GitHub","settingsResidual.state.information.dismiss":"Compris","settingsResidual.state.connection.success":"Connexion réussie","settingsResidual.state.connection.error":"Échec de la connexion","settingsResidual.state.connection.testing":"Test de la connexion…","settingsResidual.serviceError.title":"Une erreur est survenue","settingsResidual.serviceError.message":"Ce service est temporairement indisponible. Vos paramètres n’ont pas été modifiés. Réessayez.","settingsResidual.serviceError.details":"Détails techniques","settingsResidual.serviceError.code":"Code d’erreur","settingsResidual.serviceError.service":"Service","settingsResidual.serviceError.operation":"Opération","settingsResidual.serviceError.retry":"Réessayer","settingsResidual.serviceError.dismiss":"Fermer","settingsResidual.serviceError.connectionTitle":"Impossible de se connecter à {service}","settingsResidual.serviceError.connectionRetry":"Réessayer la connexion","settingsResidual.serviceHeader.testing":"Test en cours…","settingsResidual.serviceHeader.test":"Tester la connexion","settingsResidual.debug.title":"Diagnostics de l’environnement d’exécution","settingsResidual.debug.loading":"Chargement des diagnostics de l’environnement d’exécution…","settingsResidual.debug.empty":"Aucun problème de diagnostic actif détecté","settingsResidual.debug.summary.one":"{count} problème détecté","settingsResidual.debug.summary.other":"{count} problèmes détectés","settingsResidual.debug.loadFailed":"Impossible de charger les diagnostics de l’environnement d’exécution. Réessayez.","settingsResidual.debug.retry":"Réessayer","settingsResidual.debug.warning":"Avertissement","settingsResidual.debug.error":"Erreur","settingsResidual.debug.issue.highMemory":"Utilisation élevée de la mémoire détectée","settingsResidual.debug.issue.storageQuota":"Le quota de stockage est presque atteint","settingsResidual.debug.issue.warning":"Un avertissement de l’environnement d’exécution a été enregistré","settingsResidual.debug.issue.error":"Une erreur de l’application a été enregistrée","settingsResidual.debug.timestampUnavailable":"Heure indisponible","settingsResidual.branches.invalidRepository":"Nom de dépôt non valide.","settingsResidual.branches.fetchFailed":"Impossible de récupérer les branches.","settingsPreferences.title":"Préférences","settingsPreferences.language":"Langue","settingsPreferences.notifications":"Notifications","settingsPreferences.notifications.enabled":"Les notifications sont activées","settingsPreferences.notifications.disabled":"Les notifications sont désactivées","settingsPreferences.notifications.toggle":"Activer les notifications","settingsPreferences.time.title":"Paramètres horaires","settingsPreferences.timezone":"Fuseau horaire","settingsPreferences.shortcuts.title":"Raccourcis clavier","settingsPreferences.theme.title":"Changer de thème","settingsPreferences.theme.description":"Basculez entre les modes clair et sombre.","settingsPreferences.theme.action":"Basculer entre les thèmes clair et sombre","settingsPreferences.toast.updated":"Paramètres mis à jour","settingsPreferences.toast.savedLocally":"Paramètres enregistrés localement","settingsPreferences.toast.syncFailed":"Impossible de synchroniser les paramètres","settingsPreferences.toast.updateFailed":"Impossible de mettre à jour les paramètres","settingsStatus.cloud.title":"Fournisseurs cloud","settingsStatus.cloud.description":"Connectez des modèles et services d’IA hébergés dans le cloud.","settingsStatus.cloud.enableAll":"Activer tous les fournisseurs cloud","settingsStatus.cloud.allEnabled":"Tous les fournisseurs cloud sont activés.","settingsStatus.cloud.allDisabled":"Tous les fournisseurs cloud sont désactivés.","settingsStatus.cloud.loading":"Chargement des fournisseurs cloud…","settingsStatus.cloud.loadErrorTitle":"Impossible de charger les fournisseurs cloud","settingsStatus.cloud.loadErrorDescription":"Les paramètres des fournisseurs sont temporairement indisponibles. Veuillez réessayer.","settingsStatus.cloud.retry":"Réessayer","settingsStatus.cloud.emptyTitle":"Aucun fournisseur cloud disponible","settingsStatus.cloud.emptyDescription":"Aucun fournisseur cloud compatible n’est encore configuré pour cet espace de travail.","settingsStatus.cloud.configurable":"Configurable","settingsStatus.cloud.description.anthropic":"Accédez à Claude et aux autres modèles Anthropic.","settingsStatus.cloud.description.github":"Utilisez les modèles OpenAI hébergés sur l’infrastructure GitHub.","settingsStatus.cloud.description.openai":"Utilisez GPT-4, GPT-3.5 et les autres modèles OpenAI.","settingsStatus.cloud.description.custom":"Configurez un point de terminaison personnalisé pour ce fournisseur.","settingsStatus.cloud.description.standard":"Intégration standard d’un fournisseur d’IA.","settingsStatus.cloud.logo":"Logo de {provider}","settingsStatus.cloud.toggle":"Activer {provider}","settingsStatus.cloud.enabled":"{provider} est activé.","settingsStatus.cloud.disabled":"{provider} est désactivé.","settingsStatus.cloud.baseUrlInput":"URL de base de {provider}","settingsStatus.cloud.baseUrlPlaceholder":"Saisissez l’URL de base de {provider}","settingsStatus.cloud.editBaseUrl":"Modifier l’URL de base de {provider}","settingsStatus.cloud.setBaseUrl":"Définir l’URL de base","settingsStatus.cloud.baseUrlUpdated":"L’URL de base de {provider} a été mise à jour.","settingsStatus.cloud.environmentUrl":"URL définie dans le fichier .env","settingsStatus.github.loading":"Chargement…","settingsStatus.github.refreshing":"Actualisation…","settingsStatus.github.showDetails":"Afficher les détails","settingsStatus.github.hideDetails":"Masquer les détails","settingsStatus.github.progress":"Progression du chargement : {progress} %","settingsStatus.github.steps":"Étapes du chargement","settingsStatus.github.stepCompleted":"Terminée","settingsStatus.github.stepFailed":"Échec","settingsStatus.github.stepLoading":"En cours","settingsStatus.github.stepPending":"En attente","settingsStatus.github.loadFailed":"Impossible de charger cette section GitHub","settingsStatus.github.safeError":"Les données GitHub sont temporairement indisponibles. Veuillez réessayer.","settingsStatus.github.retry":"Réessayer","settingsStatus.github.refresh":"Actualiser","settingsStatus.service.loading":"Vérification de l’état des services…","settingsStatus.service.errorTitle":"Les diagnostics des services sont indisponibles","settingsStatus.service.errorDescription":"Impossible de joindre les points de terminaison de diagnostic. Veuillez réessayer dans quelques instants.","settingsStatus.service.emptyTitle":"Aucun point de terminaison disponible","settingsStatus.service.emptyDescription":"Aucun point de terminaison de service n’est actuellement disponible.","settingsStatus.service.retry":"Réessayer","settingsStatus.service.refresh":"Actualiser l’état des services","settingsStatus.service.list":"Diagnostics des services","settingsStatus.service.available":"Disponible","settingsStatus.service.unavailable":"Indisponible","settingsStatus.service.httpStatus":"HTTP {status}","settingsStatus.service.noResponse":"Aucune réponse HTTP","settingsStatus.service.latency":"{value} ms","settingsStatus.service.result":"{endpoint} : {state}, {status}, {latency}","settingsStatus.task.title":"Stockage du navigateur","settingsStatus.task.entries.one":"{count} entrée dans le stockage local","settingsStatus.task.entries.other":"{count} entrées dans le stockage local","settingsStatus.task.clear":"Effacer les données temporaires","settingsStatus.task.cleared":"Les données temporaires ont été effacées.","settingsStatus.task.clearFailed":"Impossible d’effacer les données temporaires. Veuillez réessayer.","settingsStatus.task.errorTitle":"Le stockage du navigateur est indisponible","settingsStatus.task.errorDescription":"E-Code ne peut pas accéder au stockage local du navigateur. Vérifiez les paramètres de votre navigateur, puis réessayez.","settingsStatus.task.retry":"Réessayer","settingsStatus.task.emptyTitle":"Le stockage du navigateur est vide","settingsStatus.task.emptyDescription":"Aucune entrée de stockage local n’est actuellement enregistrée par ce navigateur.","settingsStatus.task.list":"Entrées du stockage local","settingsStatus.task.entrySize":"{key} : {size}","examplePrompts.workouts":"Créer une application mobile de suivi des entraînements","examplePrompts.todo":"Créer une application de tâches avec React et Tailwind","examplePrompts.blog":"Créer un blog simple avec Astro","examplePrompts.cookies":"Créer un formulaire de consentement aux cookies avec Material UI","examplePrompts.spaceInvaders":"Créer un jeu de type Space Invaders","examplePrompts.ticTacToe":"Créer un jeu de morpion uniquement avec HTML, CSS et JavaScript","timezone.label":"Fuseau horaire","timezone.search":"Rechercher un fuseau horaire","timezone.useDetected.aria":"Utiliser le fuseau horaire détecté","timezone.useDetected":"Utiliser le fuseau détecté","timezone.useNamed":"Utiliser {timeZone}","timezone.detecting":"Détection du fuseau horaire…","timezone.detected":"Détecté : {timeZone}","timezone.invalid":"Choisissez un fuseau horaire IANA valide.","repositoryStats.title":"Statistiques du dépôt","repositoryStats.files":"Nombre total de fichiers : {count}","repositoryStats.size":"Taille totale : {size}","repositoryStats.languages":"Langages :","repositoryStats.more_one":"+{count} autre","repositoryStats.more_other":"+{count} autres","repositoryStats.dependencies":"Dépendances","sidebarMenu.aria.navigation":"Historique des discussions et menu du compte","sidebarMenu.aria.openMenu":"Ouvrir le menu","sidebarMenu.aria.closeMenu":"Fermer le menu","sidebarMenu.aria.searchChats":"Rechercher dans les discussions","sidebarMenu.aria.enterSelectionMode":"Activer le mode de sélection","sidebarMenu.aria.exitSelectionMode":"Quitter le mode de sélection","sidebarMenu.aria.userAvatar":"Photo de profil de {name}","sidebarMenu.aria.selectConversation":"Sélectionner {name}","sidebarMenu.aria.renameConversation":"Renommer {name}","sidebarMenu.header.guestUser":"Utilisateur invité","sidebarMenu.header.fallbackUser":"Utilisateur","sidebarMenu.header.help":"Aide et documentation","sidebarMenu.header.settings":"Paramètres","sidebarMenu.header.toggleTheme":"Changer de thème","sidebarMenu.header.currentDateTime":"Date et heure actuelles","sidebarMenu.history.startNewChat":"Nouvelle discussion","sidebarMenu.history.title":"Vos discussions","sidebarMenu.history.searchPlaceholder":"Rechercher une discussion…","sidebarMenu.history.selectAll":"Tout sélectionner","sidebarMenu.history.deselectAll":"Tout désélectionner","sidebarMenu.history.deleteSelected":"Supprimer la sélection","sidebarMenu.history.selectedCount.one":"{count} discussion sélectionnée","sidebarMenu.history.selectedCount.other":"{count} discussions sélectionnées","sidebarMenu.history.loading":"Chargement de vos discussions…","sidebarMenu.history.loadError":"Impossible de charger l’historique de vos discussions.","sidebarMenu.history.retry":"Réessayer","sidebarMenu.history.empty":"Aucune discussion précédente","sidebarMenu.history.noMatches":"Aucun résultat","sidebarMenu.history.dates.today":"Aujourd’hui","sidebarMenu.history.dates.yesterday":"Hier","sidebarMenu.history.dates.pastThirtyDays":"30 derniers jours","sidebarMenu.history.dates.unknown":"Date inconnue","sidebarMenu.history.actions.export":"Exporter","sidebarMenu.history.actions.duplicate":"Dupliquer","sidebarMenu.history.actions.rename":"Renommer","sidebarMenu.history.actions.delete":"Supprimer","sidebarMenu.history.actions.saveName":"Enregistrer le nom","sidebarMenu.dialogs.singleTitle":"Supprimer la discussion ?","sidebarMenu.dialogs.singleLead":"Vous êtes sur le point de supprimer","sidebarMenu.dialogs.singleQuestion":"Voulez-vous vraiment supprimer cette discussion ?","sidebarMenu.dialogs.bulkTitle":"Supprimer les discussions sélectionnées ?","sidebarMenu.dialogs.bulkLead.one":"Vous êtes sur le point de supprimer {count} discussion :","sidebarMenu.dialogs.bulkLead.other":"Vous êtes sur le point de supprimer {count} discussions :","sidebarMenu.dialogs.bulkQuestion":"Voulez-vous vraiment supprimer ces discussions ?","sidebarMenu.dialogs.cancel":"Annuler","sidebarMenu.dialogs.delete":"Supprimer","sidebarMenu.toasts.loadFailed":"Impossible de charger l’historique des discussions. Veuillez réessayer.","sidebarMenu.toasts.deleteSuccess":"Discussion supprimée.","sidebarMenu.toasts.deleteFailed":"Impossible de supprimer la discussion. Veuillez réessayer.","sidebarMenu.toasts.bulkDeleteSuccess.one":"{count} discussion supprimée.","sidebarMenu.toasts.bulkDeleteSuccess.other":"{count} discussions supprimées.","sidebarMenu.toasts.bulkDeletePartial":"{deleted} discussions sur {total} supprimées ; échecs : {failed}.","sidebarMenu.toasts.selectionRequired":"Sélectionnez au moins une discussion à supprimer.","sidebarMenu.toasts.selectionNotFound":"Impossible de retrouver les discussions sélectionnées.","sidebarMenu.toasts.duplicateFailed":"Impossible de dupliquer la discussion. Veuillez réessayer.","sidebarMenu.toasts.renameInvalidLength":"Le nom de la discussion doit contenir entre 1 et 100 caractères.","sidebarMenu.toasts.renameInvalidCharacters":"Le nom de la discussion ne peut pas contenir de chevrons ni de caractères de contrôle.","sidebarMenu.toasts.renameStorageUnavailable":"Le stockage de l’historique des discussions est indisponible.","sidebarMenu.toasts.renameMissingId":"Impossible d’identifier cette discussion. Rechargez la page, puis réessayez.","sidebarMenu.toasts.renameSuccess":"Nom de la discussion mis à jour.","sidebarMenu.toasts.renameFailed":"Impossible de modifier le nom de la discussion. Veuillez réessayer.","sidebarMenu.errors.databaseUnavailable":"Le stockage de l’historique des discussions est indisponible.","sourceControl.common.loadingConnection":"Chargement de la connexion…","sourceControl.common.connecting":"Connexion…","sourceControl.common.connect":"Se connecter","sourceControl.common.disconnect":"Se déconnecter","sourceControl.common.dashboard":"Tableau de bord","sourceControl.common.testing":"Test en cours…","sourceControl.common.testConnection":"Tester la connexion","sourceControl.common.getToken":"Obtenir votre jeton","sourceControl.common.requiredScopes":"Autorisations requises :","sourceControl.common.connectionError":"Impossible d’établir la connexion. Vérifiez vos paramètres, puis réessayez.","sourceControl.github.oauth.title":"Se connecter à GitHub (OAuth)","sourceControl.github.oauth.description":"Autorisez l’accès depuis GitHub. Nous stockons côté serveur un jeton chiffré lié à votre compte E-Code. Vous n’avez aucun jeton d’accès personnel à copier et celui-ci n’atteint jamais votre navigateur. Méthode recommandée.","sourceControl.github.oauth.waiting":"En attente de l’autorisation GitHub…","sourceControl.github.oauth.connect":"Se connecter à GitHub (OAuth)","sourceControl.github.oauth.connectionFailed":"Impossible d’établir la connexion OAuth à GitHub. Réessayez.","sourceControl.github.oauth.startFailed":"Impossible de lancer l’autorisation GitHub. Réessayez.","sourceControl.github.oauth.popupBlocked":"La fenêtre d’autorisation a été bloquée. Autorisez les fenêtres contextuelles pour ce site, puis réessayez.","sourceControl.github.legacy.label":"Méthode classique :","sourceControl.github.legacy.intro":"Vous pouvez également coller un jeton d’accès personnel ci-dessous. Choisissez cette option si vous préférez gérer vous-même le renouvellement du jeton, ou définissez la variable d’environnement","sourceControl.github.legacy.automaticSuffix":"pour vous connecter automatiquement.","sourceControl.github.legacy.fineGrainedPrefix":"Pour un jeton à granularité fine, définissez également","sourceControl.github.token.type":"Type de jeton","sourceControl.github.token.classicOption":"Jeton d’accès personnel (classique)","sourceControl.github.token.fineGrainedOption":"Jeton à granularité fine","sourceControl.github.token.classicLabel":"Jeton d’accès personnel","sourceControl.github.token.fineGrainedLabel":"Jeton à granularité fine","sourceControl.github.token.classicPlaceholder":"Saisissez votre jeton d’accès personnel GitHub","sourceControl.github.token.fineGrainedPlaceholder":"Saisissez votre jeton GitHub à granularité fine","sourceControl.github.scopes.classic":"repo, read:org, read:user","sourceControl.github.scopes.fineGrained":"Accès aux dépôts, accès aux organisations","sourceControl.github.connected":"Connecté à GitHub","sourceControl.github.stats.loading":"Chargement des statistiques GitHub…","sourceControl.github.stats.empty":"Aucune statistique disponible","sourceControl.github.stats.title":"Statistiques GitHub","sourceControl.github.stats.stale":"(obsolètes)","sourceControl.github.stats.refreshing":"Actualisation…","sourceControl.github.stats.refresh":"Actualiser","sourceControl.github.stats.refreshAria":"Actualiser les statistiques GitHub","sourceControl.github.stats.expandAria":"Afficher les statistiques GitHub","sourceControl.github.stats.collapseAria":"Masquer les statistiques GitHub","sourceControl.github.stats.topLanguages":"Langages principaux","sourceControl.github.stats.repositoryTooltip.one":"{language} : {size} Mo dans {count} dépôt","sourceControl.github.stats.repositoryTooltip.other":"{language} : {size} Mo dans {count} dépôts","sourceControl.github.stats.basis":"Calculé d’après la taille réelle du code dans les dépôts","sourceControl.github.stats.overview":"Vue d’ensemble GitHub","sourceControl.github.stats.totalRepositories":"Total des dépôts","sourceControl.github.stats.totalBranches":"Total des branches","sourceControl.github.stats.organizations":"Organisations","sourceControl.github.stats.languagesUsed":"Langages utilisés","sourceControl.github.stats.activity":"Résumé de l’activité","sourceControl.github.stats.contributors":"Contributeurs","sourceControl.github.stats.issues":"Tickets","sourceControl.github.stats.pullRequests":"Pull requests","sourceControl.github.stats.lastUpdated":"Dernière actualisation : {date}","sourceControl.github.stats.never":"Jamais","sourceControl.github.boundary.title":"Erreur d’intégration GitHub","sourceControl.github.boundary.description":"Impossible de charger les données GitHub. Vérifiez votre connexion, patientez un instant, puis réessayez.","sourceControl.github.boundary.retry":"Réessayer","sourceControl.github.boundary.reload":"Recharger la page","sourceControl.gitlab.title":"Connexion GitLab","sourceControl.gitlab.tip.label":"Conseil :","sourceControl.gitlab.tip.intro":"Vous pouvez également définir la variable d’environnement","sourceControl.gitlab.tip.automaticSuffix":"pour vous connecter automatiquement.","sourceControl.gitlab.tip.selfHostedPrefix":"Pour une instance GitLab auto-hébergée, définissez également","sourceControl.gitlab.urlLabel":"URL GitLab","sourceControl.gitlab.token.label":"Jeton d’accès","sourceControl.gitlab.token.placeholder":"Saisissez votre jeton d’accès GitLab","sourceControl.gitlab.scopes":"api, read_repository","sourceControl.gitlab.connected":"Connecté à GitLab","sourceControl.gitlab.disconnected":"Déconnexion de GitLab réussie.","supabaseConnection.trigger.openAria":"Ouvrir la connexion Supabase","supabaseConnection.trigger.tooltip":"Connexion Supabase","supabaseConnection.trigger.open":"Ouvrir Supabase","supabaseConnection.trigger.connected":"Supabase · {{projectName}}","supabaseConnection.dialog.connectTitle":"Se connecter à Supabase","supabaseConnection.dialog.connectedTitle":"Connexion Supabase","supabaseConnection.token.label":"Jeton d’accès","supabaseConnection.token.aria":"Jeton d’accès Supabase","supabaseConnection.token.placeholder":"Saisissez votre jeton d’accès Supabase","supabaseConnection.token.get":"Obtenir votre jeton","supabaseConnection.account.role":"Rôle : {{role}}","supabaseConnection.projects.loading":"Chargement des projets…","supabaseConnection.projects.heading":"Vos projets ({{count}})","supabaseConnection.projects.expand":"Afficher vos projets","supabaseConnection.projects.collapse":"Masquer vos projets","supabaseConnection.projects.refreshFailed":"Impossible d’actualiser les projets.","supabaseConnection.projects.refreshTitle":"Actualiser la liste des projets","supabaseConnection.projects.selectPrompt":"Sélectionnez un projet ou créez-en un pour cette conversation.","supabaseConnection.projects.empty":"Aucun projet trouvé","supabaseConnection.project.selectAria":"Sélectionner le projet {{projectName}}","supabaseConnection.project.selectedAria":"Projet {{projectName}} sélectionné","supabaseConnection.toast.connected":"Connexion à Supabase réussie.","supabaseConnection.toast.connectFailed":"Impossible de se connecter à Supabase. Vérifiez votre jeton d’accès, puis réessayez.","supabaseConnection.toast.disconnected":"Déconnexion de Supabase réussie.","supabaseConnection.toast.projectSelected":"Projet sélectionné.","supabaseConnection.toast.projectKeysFailed":"Le projet est sélectionné, mais ses clés API n’ont pas pu être récupérées. Réessayez.","supabaseConnection.error.noToken":"Un jeton d’accès Supabase est requis.","supabaseConnection.action.cancel":"Annuler","supabaseConnection.action.connecting":"Connexion…","supabaseConnection.action.connect":"Se connecter","supabaseConnection.action.refresh":"Actualiser","supabaseConnection.action.newProject":"Nouveau projet","supabaseConnection.action.selected":"Sélectionné","supabaseConnection.action.select":"Sélectionner","supabaseConnection.action.close":"Fermer","supabaseConnection.action.disconnect":"Se déconnecter","support.metaTitle":"Assistance - E-Code","support.metaDescription":"Ouvrez et suivez les demandes d’assistance E-Code de votre organisation.","support.title":"Assistance","support.description":"Ouvrez des demandes et consultez le niveau d’assistance de votre organisation.","support.load.loading":"Chargement des demandes d’assistance","support.load.errorTitle":"Impossible de charger les demandes d’assistance","support.load.errorDescription":"L’historique de vos demandes est masqué, car la dernière requête a échoué. Aucune demande n’a été modifiée.","support.load.retry":"Recharger les demandes","support.error.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","support.error.subjectRequired":"Saisissez l’objet de votre demande d’assistance.","support.error.invalidCategory":"Sélectionnez une catégorie d’assistance valide.","support.error.forbidden":"Vous ne pouvez pas créer de demande d’assistance pour cette organisation.","support.error.rateLimited":"Trop de demandes d’assistance ont été envoyées. Patientez un instant, puis réessayez.","support.error.rejected":"Impossible d’ouvrir votre demande. Vérifiez le formulaire, puis réessayez.","support.error.unavailable":"L’assistance est temporairement indisponible. Réessayez plus tard.","support.open.title":"Vos demandes en cours","support.open.emptyTitle":"Aucune demande en cours","support.open.emptyDescription":"Ouvrez une demande pour obtenir de l’aide sur l’environnement d’exécution, la facturation ou la sécurité.","support.past.title":"Demandes résolues et fermées","support.ticket.openedPrefix":"Ouverte","support.ticket.recorded":"Enregistrée","support.ticket.status.open":"Ouverte","support.ticket.status.pending":"En attente","support.ticket.status.resolved":"Résolue","support.ticket.status.closed":"Fermée","support.ticket.status.unavailable":"État indisponible","support.form.subject":"Objet","support.form.subjectPlaceholder":"Décrivez brièvement le problème rencontré","support.form.category":"Catégorie","support.form.securityNotice":"Votre demande est journalisée de manière sécurisée et ajoutée à l’historique d’audit de votre organisation.","support.form.submitting":"Ouverture de la demande…","support.form.submit":"Ouvrir une demande","support.category.runtime":"Environnement d’exécution et espaces de travail","support.category.billing":"Facturation et forfaits","support.category.security":"Sécurité","support.category.account":"Compte et accès","support.category.other":"Autre demande","support.response.title":"Délais de réponse","support.response.description":"Objectif de première réponse selon le forfait. Ces délais sont indicatifs et non contractuels.","support.response.currentPlan":"Votre forfait","support.response.plan.starter":"Starter","support.response.plan.core":"Core","support.response.plan.pro":"Pro","support.response.plan.enterprise":"Enterprise","support.response.businessDay_one":"{count} jour ouvré","support.response.businessDay_other":"{count} jours ouvrés","support.response.businessHour_one":"{count} heure ouvrée","support.response.businessHour_other":"{count} heures ouvrées","supportTicketDetail.meta.title":"Demande d’assistance — E-Code","supportTicketDetail.meta.description":"Consultez votre conversation privée avec l’assistance E-Code et répondez-y.","supportTicketDetail.shell.title":"Demande d’assistance","supportTicketDetail.shell.description":"Consultez la conversation et répondez à votre demande d’assistance.","supportTicketDetail.back":"Retour à l’assistance","supportTicketDetail.load.loading":"Chargement de la conversation d’assistance","supportTicketDetail.load.retry":"Recharger la conversation","supportTicketDetail.load.notFound.title":"Demande d’assistance introuvable","supportTicketDetail.load.notFound.description":"Cette demande n’existe plus ou n’est pas accessible à votre organisation.","supportTicketDetail.load.forbidden.title":"Accès à cette demande restreint","supportTicketDetail.load.forbidden.description":"Vous n’avez pas l’autorisation de consulter cette conversation d’assistance.","supportTicketDetail.load.rateLimited.title":"L’assistance reçoit trop de requêtes","supportTicketDetail.load.rateLimited.description":"Patientez un instant, puis rechargez la conversation.","supportTicketDetail.load.unavailable.title":"Impossible de charger la conversation d’assistance","supportTicketDetail.load.unavailable.description":"La conversation est temporairement indisponible. Aucun message n’a été modifié.","supportTicketDetail.ticket.openedPrefix":"Ouverte","supportTicketDetail.ticket.recorded":"Enregistrée","supportTicketDetail.ticket.category.runtime":"Environnement d’exécution et espaces de travail","supportTicketDetail.ticket.category.billing":"Facturation et forfaits","supportTicketDetail.ticket.category.security":"Sécurité","supportTicketDetail.ticket.category.account":"Compte et accès","supportTicketDetail.ticket.category.other":"Autre demande","supportTicketDetail.ticket.status.open":"Ouverte","supportTicketDetail.ticket.status.pending":"En attente","supportTicketDetail.ticket.status.resolved":"Résolue","supportTicketDetail.ticket.status.closed":"Fermée","supportTicketDetail.ticket.status.unavailable":"État indisponible","supportTicketDetail.conversation.title":"Conversation","supportTicketDetail.conversation.count.one":"{count} message","supportTicketDetail.conversation.count.other":"{count} messages","supportTicketDetail.conversation.empty.title":"Aucune réponse pour le moment","supportTicketDetail.conversation.empty.description":"Ajoutez un message ci-dessous ; l’équipe d’assistance E-Code vous répondra.","supportTicketDetail.author.user":"Vous","supportTicketDetail.author.admin":"Assistance E-Code","supportTicketDetail.author.system":"Système","supportTicketDetail.author.unavailable":"Intervenant","supportTicketDetail.reply.label":"Votre message","supportTicketDetail.reply.placeholder":"Ajouter une réponse…","supportTicketDetail.reply.characterCount":"{current} / {maximum} caractères","supportTicketDetail.reply.submit":"Envoyer le message","supportTicketDetail.reply.submitting":"Envoi du message…","supportTicketDetail.reply.closed.title":"Cette demande est fermée","supportTicketDetail.reply.closed.description":"Ouvrez une nouvelle demande d’assistance si vous avez encore besoin d’aide.","supportTicketDetail.reply.closed.action":"Ouvrir une nouvelle demande","supportTicketDetail.error.messageRequired":"Rédigez un message avant de l’envoyer.","supportTicketDetail.error.messageTooLong":"Limitez votre message à {maximum} caractères.","supportTicketDetail.error.ticketClosed":"Cette demande est fermée et ne peut plus recevoir de messages.","supportTicketDetail.error.notFound":"Cette demande d’assistance est introuvable.","supportTicketDetail.error.forbidden":"Vous ne pouvez pas répondre à cette demande d’assistance.","supportTicketDetail.error.rateLimited":"Trop de réponses ont été envoyées. Patientez un instant, puis réessayez.","supportTicketDetail.error.rejected":"Votre message n’a pas été accepté. Vérifiez-le, puis réessayez.","supportTicketDetail.error.unavailable":"Impossible d’envoyer votre message. Réessayez plus tard.","teamAccessLog.overview.metaTitle":"Journal des accès de l’équipe · {team} · E-Code","teamAccessLog.overview.metaDescription":"Consultez et exportez les événements d’accès de cette équipe liés à la sécurité aux formats CSV ou JSON.","teamAccessLog.overview.title":"Journal des accès de l’équipe","teamAccessLog.overview.description":"Consultez les événements d’accès de cette équipe liés à la sécurité. Filtrez-les par action ou téléchargez le journal complet aux formats CSV ou JSON.","teamAccessLog.overview.openSettings":"Ouvrir les paramètres de l’équipe","teamAccessLog.settings.metaTitle":"Paramètres de l’équipe · {team} · E-Code","teamAccessLog.settings.metaDescription":"Gérez cette équipe et consultez son journal des accès liés à la sécurité, exportable aux formats CSV ou JSON.","teamAccessLog.settings.title":"Paramètres de l’équipe","teamAccessLog.settings.description":"Gérez cette équipe. Le journal ci-dessous consigne les événements liés à la sécurité et peut être exporté aux formats CSV ou JSON.","teamAccessLog.settings.banner":"Journal des accès de l’équipe {team}.","teamAccessLog.settings.openFullLog":"Ouvrir le journal complet des accès de l’équipe","teamAccessLog.panel.ariaLabel":"Journal des accès de l’équipe {team}","teamAccessLog.permission.title":"Accès restreint","teamAccessLog.permission.description":"Certaines données du journal ou fonctions d’exportation ne sont pas disponibles avec vos autorisations actuelles. Demandez l’accès à un administrateur de l’équipe ; les exportations nécessitent l’autorisation {permission}.","teamAccessLog.listError.title":"Journal des accès de l’équipe indisponible","teamAccessLog.listError.description":"Impossible de récupérer les événements d’accès les plus récents. Aucune donnée d’audit n’a été modifiée. Rechargez le journal.","teamAccessLog.listError.retry":"Recharger le journal des accès","teamAccessLog.loading":"Chargement des événements d’accès de l’équipe","teamAccessLog.renderError.title":"Panneau du journal des accès indisponible","teamAccessLog.renderError.description":"Le panneau a rencontré une erreur d’affichage inattendue. Vos données d’audit sont inchangées. Rechargez le panneau pour réessayer.","teamAccessLog.renderError.retry":"Recharger le panneau","teamAccessLog.export.title":"Exportation","teamAccessLog.export.description":"Téléchargez le journal complet des accès de l’équipe. Le fichier est généré de façon sécurisée sur le serveur avec votre session actuelle.","teamAccessLog.export.csv":"Exporter en CSV","teamAccessLog.export.json":"Exporter en JSON","teamAccessLog.events.title":"Événements d’accès","teamAccessLog.events.count_one":"{count} événement","teamAccessLog.events.count_other":"{count} événements","teamAccessLog.filter.label":"Action","teamAccessLog.filter.all":"Toutes les actions","teamAccessLog.empty.title":"Aucun événement d’accès pour le moment","teamAccessLog.empty.description":"Les activités de l’équipe liées à la sécurité apparaîtront ici dès qu’un événement sera enregistré.","teamAccessLog.noMatches.title":"Aucun événement d’accès correspondant","teamAccessLog.noMatches.description":"Aucun événement ne correspond à l’action sélectionnée. Choisissez une autre action ou affichez-les toutes.","teamAccessLog.column.time":"Date et heure","teamAccessLog.column.actor":"Acteur","teamAccessLog.column.action":"Action","teamAccessLog.column.target":"Cible","teamAccessLog.column.ip":"Adresse IP","teamAccessLog.team.label":"Équipe","templatesLanguages.seo.title":"Modèles par langage — E-Code","templatesLanguages.seo.description":"Parcourez les modèles de démarrage E-Code par langage de programmation, notamment TypeScript, Python et Go.","templatesLanguages.seo.imageAlt":"Modèles de démarrage E-Code regroupés par langage de programmation","templatesLanguages.hero.eyebrow":"Modèles","templatesLanguages.hero.title":"Parcourir les modèles par langage","templatesLanguages.summary.one.one":"{templateCount} modèle de démarrage prêt pour la production dans {languageCount} langage. Ouvrez la galerie complète pour explorer chaque modèle et commencer à créer dans l’IDE.","templatesLanguages.summary.one.other":"{templateCount} modèle de démarrage prêt pour la production dans {languageCount} langages. Ouvrez la galerie complète pour explorer chaque modèle et commencer à créer dans l’IDE.","templatesLanguages.summary.other.one":"{templateCount} modèles de démarrage prêts pour la production dans {languageCount} langage. Ouvrez la galerie complète pour explorer chaque modèle et commencer à créer dans l’IDE.","templatesLanguages.summary.other.other":"{templateCount} modèles de démarrage prêts pour la production dans {languageCount} langages. Ouvrez la galerie complète pour explorer chaque modèle et commencer à créer dans l’IDE.","templatesLanguages.list.aria":"Nombre de modèles par langage de programmation","templatesLanguages.count.one":"{count} modèle","templatesLanguages.count.other":"{count} modèles","templatesLanguages.language.other":"Autre","templatesLanguages.loading":"Chargement des langages des modèles…","templatesLanguages.empty.title":"Aucun langage de modèle disponible","templatesLanguages.empty.description":"Le catalogue de modèles de démarrage est vide pour le moment. Parcourez la galerie pour découvrir les modèles dès leur publication.","templatesLanguages.error.title":"Impossible de charger les langages des modèles","templatesLanguages.error.description":"Le catalogue de modèles est temporairement indisponible. Vérifiez votre connexion, puis réessayez.","templatesLanguages.error.retry":"Réessayer","templatesLanguages.error.reload":"Recharger la page","templatesLanguages.cta.viewAll":"Voir tous les modèles","terminalSession.profile.managed":"Shell géré","terminalSession.target.workspace":"à l’espace de travail","terminalSession.target.shell":"au shell {shell}","terminalSession.status.connecting":"Connexion {target}…","toolInvocations.summary.label":"Appels d’outils","toolInvocations.summary.expand":"Afficher le détail des appels d’outils","toolInvocations.summary.collapse":"Masquer le détail des appels d’outils","toolInvocations.summary.progress":"Progression : {resolved}/{total} · {percent}","toolInvocations.summary.running":"Exécution des outils en cours","toolInvocations.summary.complete":"Exécution des outils terminée","toolInvocations.section.pending":"Appels d’outils en attente d’autorisation","toolInvocations.section.results":"Résultats des appels d’outils","toolInvocations.status.pending":"Autorisation requise","toolInvocations.status.approved":"Exécution de l’outil autorisée","toolInvocations.status.success":"Outil exécuté avec succès","toolInvocations.status.error":"Échec de l’exécution de l’outil","toolInvocations.field.server":"Serveur","toolInvocations.field.tool":"Outil","toolInvocations.field.description":"Description","toolInvocations.field.parameters":"Paramètres","toolInvocations.field.result":"Résultat","toolInvocations.code.parametersAria":"Paramètres de {toolName}","toolInvocations.code.resultAria":"Résultat de {toolName}","toolInvocations.action.cancel":"Annuler","toolInvocations.action.cancelAria":"Annuler l’exécution de {toolName}","toolInvocations.action.run":"Exécuter l’outil","toolInvocations.action.runAria":"Exécuter {toolName}","toolInvocations.shortcut.cancel":"Raccourci clavier pour annuler : {shortcut}","toolInvocations.shortcut.run":"Raccourci clavier pour exécuter l’outil : {shortcut}","toolInvocations.notice.approved.title":"Exécution autorisée","toolInvocations.notice.approved.body":"L’outil a été autorisé à s’exécuter.","toolInvocations.error.denied.title":"Exécution annulée","toolInvocations.error.denied.body":"L’outil n’a pas été exécuté, car son exécution a été refusée.","toolInvocations.error.failed.title":"Échec de l’exécution","toolInvocations.error.failed.body":"Impossible d’exécuter l’outil. Vérifiez ses paramètres, puis réessayez.","toolInvocations.error.unavailable.title":"Outil indisponible","toolInvocations.error.unavailable.body":"Impossible d’exécuter cet outil, car son serveur n’a fourni aucun gestionnaire d’exécution.","upgrade.metaTitle":"Changer de formule - E-Code","upgrade.title":"Changer de formule","upgrade.description":"Les formules et les prix proviennent du catalogue de facturation actif, également utilisé par Stripe Checkout.","upgrade.access.description":"Passez votre organisation à une formule supérieure.","upgrade.access.restricted":"Les détails des formules et des prix sont réservés aux propriétaires de l’organisation et aux administrateurs de la facturation. Demandez à un propriétaire de changer de formule ou vérifiez votre rôle sur la {billingPage}.","upgrade.access.billingPage":"page Facturation","upgrade.errors.organization":"Aucune organisation n’est associée à votre compte.","upgrade.errors.portal":"Le portail de facturation est indisponible pour le moment. Réessayez.","upgrade.errors.portalTemporary":"Le portail de facturation est temporairement indisponible. Réessayez ultérieurement.","upgrade.errors.invalidPlan":"Choisissez une formule disponible en souscription autonome.","upgrade.errors.checkout":"Le paiement est indisponible pour le moment. Réessayez ultérieurement.","upgrade.errors.checkoutTemporary":"Le paiement est temporairement indisponible. Réessayez ultérieurement.","upgrade.subscription.active":"Votre organisation dispose déjà d’un abonnement actif. Les changements de formule, y compris les passages à une formule inférieure, s’effectuent dans le portail de facturation Stripe et sont calculés au prorata par Stripe.","upgrade.subscription.new":"La souscription ouvre Stripe Checkout. Votre abonnement commence immédiatement au prix indiqué.","upgrade.interval.legend":"Période de facturation","upgrade.interval.monthly":"Mensuelle","upgrade.interval.annual":"Annuelle — le montant annuel remisé est affiché dans Stripe Checkout","upgrade.badge.current":"Votre formule","upgrade.badge.suggested":"Recommandée","upgrade.price.custom":"Sur devis","upgrade.price.month":" / mois","upgrade.price.noAnnual":"Aucun prix annuel n’est configuré pour cette formule. Elle est facturée mensuellement.","upgrade.limit.projects_one":"{count} projet","upgrade.limit.projects_other":"{count} projets","upgrade.limit.workspaces_one":"{count} espace de travail actif","upgrade.limit.workspaces_other":"{count} espaces de travail actifs","upgrade.limit.members_one":"{count} membre de l’équipe","upgrade.limit.members_other":"{count} membres de l’équipe","upgrade.limit.messages_one":"{count} message IA / mois","upgrade.limit.messages_other":"{count} messages IA / mois","upgrade.limit.storage":"{count} Go de stockage","upgrade.enterprise.features":"Quotas personnalisés, SSO/SAML et assistance premium","upgrade.actions.current":"Formule actuelle","upgrade.actions.sales":"Contacter l’équipe commerciale","upgrade.actions.downgradePortal":"Passer à une formule inférieure dans le portail","upgrade.actions.changePortal":"Changer de formule dans le portail","upgrade.actions.upgrade":"Choisir la formule {plan}","upgrade.actions.noCheckout":"Aucune souscription nécessaire","upgrade.enterprise.prompt":"Besoin de la formule Enterprise (SSO/SAML, quotas personnalisés et assistance premium) ?","updateTab.title":"Statut des mises à jour","updateTab.status.idle":"Recherchez les modifications sur upstream/main.","updateTab.status.checking":"Recherche des mises à jour…","updateTab.status.progress":"Recherche des mises à jour… {progress} %","updateTab.status.available":"Des mises à jour sont disponibles pour examen.","updateTab.status.complete":"La recherche de mises à jour est terminée.","updateTab.status.failed":"Impossible de rechercher les mises à jour. Réessayez.","updateTab.action.check":"Rechercher les mises à jour","updateTab.action.checking":"Recherche…","updateTab.current":"Version actuelle","updateTab.upstream":"Version distante","updateTab.diff":"Diff","updateTab.compare":"Comparer les modifications dans le dépôt source","updateTab.commits_one":"{count} commit","updateTab.commits_other":"{count} commits","updateTab.changedFiles_one":"{count} fichier modifié","updateTab.changedFiles_other":"{count} fichiers modifiés","updateTab.noCommits":"Aucun message de commit disponible.","updateTab.noChangedFiles":"Aucun fichier modifié disponible.","updateTab.upToDate":"Vous êtes à jour — aucune modification à examiner.","OWNER_REPOSITORY_REQUIRED":"Le propriétaire et le nom du dépôt sont obligatoires.","GITHUB_TOKEN_REQUIRED":"Un jeton GitHub est obligatoire.","GITHUB_TOKEN_MISSING":"Connectez GitHub pour continuer.","GITHUB_TOKEN_INVALID":"Votre connexion GitHub n’est plus valide. Reconnectez GitHub, puis réessayez.","GITHUB_REPOSITORY_NOT_FOUND":"Le dépôt GitHub est introuvable.","GITHUB_UNAVAILABLE":"GitHub est temporairement indisponible. Veuillez réessayer.","GITHUB_BRANCHES_FAILED":"Impossible de charger les branches du dépôt. Veuillez réessayer.","GITHUB_STATS_FAILED":"Impossible de charger vos statistiques GitHub. Veuillez réessayer.","GITHUB_USER_FAILED":"Impossible de charger votre profil GitHub. Veuillez réessayer.","GITHUB_REQUEST_FAILED":"La requête GitHub n’a pas pu aboutir. Veuillez réessayer.","GITHUB_REPOSITORY_INVALID":"Saisissez un dépôt GitHub valide au format propriétaire/dépôt.","GITHUB_REPOSITORY_REQUIRED":"Sélectionnez un dépôt GitHub.","GITHUB_SEARCH_REQUIRED":"Saisissez une recherche de dépôt.","GITHUB_USERNAME_MISSING":"Votre nom d’utilisateur GitHub est indisponible. Reconnectez GitHub, puis réessayez.","GITHUB_USERNAME_INVALID":"Le nom d’utilisateur GitHub est invalide.","GITHUB_ACTION_INVALID":"Cette action GitHub n’est pas prise en charge.","GITHUB_TEMPLATE_REPOSITORY_REQUIRED":"Sélectionnez un dépôt de modèle de démarrage.","GITHUB_TEMPLATE_NOT_ALLOWED":"Ce dépôt ne fait pas partie des modèles de démarrage autorisés.","GITHUB_TEMPLATE_FETCH_FAILED":"Impossible de charger les fichiers du modèle de démarrage. Veuillez réessayer.","NETLIFY_TOKEN_MISSING":"Connectez Netlify pour continuer.","NETLIFY_TOKEN_INVALID":"Votre connexion Netlify n’est plus valide. Reconnectez Netlify, puis réessayez.","NETLIFY_USER_FAILED":"Impossible de charger votre profil Netlify. Veuillez réessayer.","NETLIFY_REQUEST_FAILED":"La requête Netlify n’a pas pu aboutir. Veuillez réessayer.","NETLIFY_ACTION_INVALID":"Cette action Netlify n’est pas prise en charge.","SUPABASE_TOKEN_MISSING":"Connectez Supabase pour continuer.","SUPABASE_TOKEN_INVALID":"Votre connexion Supabase n’est plus valide. Reconnectez Supabase, puis réessayez.","SUPABASE_USER_FAILED":"Impossible de charger votre profil Supabase. Veuillez réessayer.","SUPABASE_REQUEST_FAILED":"La requête Supabase n’a pas pu aboutir. Veuillez réessayer.","SUPABASE_PROJECT_REQUIRED":"Sélectionnez un projet Supabase.","SUPABASE_PROJECT_INVALID":"L’identifiant du projet Supabase est invalide.","SUPABASE_ACTION_INVALID":"Cette action Supabase n’est pas prise en charge.","VERCEL_TOKEN_MISSING":"Connectez Vercel pour continuer.","VERCEL_TOKEN_INVALID":"Votre connexion Vercel n’est plus valide. Reconnectez Vercel, puis réessayez.","VERCEL_USER_FAILED":"Impossible de charger votre profil Vercel. Veuillez réessayer.","VERCEL_REQUEST_FAILED":"La requête Vercel n’a pas pu aboutir. Veuillez réessayer.","VERCEL_ACTION_INVALID":"Cette action Vercel n’est pas prise en charge.","VERCEL_PROJECT_TOKEN_REQUIRED":"Un projet et une connexion Vercel sont obligatoires.","VERCEL_PROJECT_INVALID":"L’identifiant du projet Vercel est invalide.","VERCEL_PROJECT_FETCH_FAILED":"Impossible de charger le projet Vercel. Veuillez réessayer.","VERCEL_DEPLOYMENTS_FETCH_FAILED":"Impossible de charger les déploiements Vercel. Veuillez réessayer.","VERCEL_DEPLOYMENT_FETCH_FAILED":"Impossible de charger le déploiement Vercel. Veuillez réessayer.","VERCEL_PROJECT_CREATE_FAILED":"Impossible de créer le projet Vercel. Veuillez réessayer.","VERCEL_DEPLOYMENT_CREATE_FAILED":"Impossible de créer le déploiement Vercel. Veuillez réessayer.","DEPLOYMENT_FAILED":"Le déploiement a échoué. Veuillez réessayer.","DEPLOYMENT_TIMED_OUT":"Le délai du déploiement a expiré. Vérifiez son état auprès du fournisseur, puis réessayez.","NETLIFY_SITE_CREATE_FAILED":"Impossible de créer le site Netlify. Veuillez réessayer.","NETLIFY_DEPLOYMENT_CREATE_FAILED":"Impossible de créer le déploiement Netlify. Veuillez réessayer.","NETLIFY_DEPLOYMENT_STATUS_FAILED":"Impossible de vérifier l’état du déploiement Netlify. Veuillez réessayer.","NETLIFY_FILE_UPLOAD_FAILED":"Impossible d’envoyer le fichier {path} vers Netlify.","NETLIFY_DEPLOY_PREPARATION_FAILED":"Netlify n’a pas pu préparer le déploiement. Veuillez réessayer.","NETLIFY_DEPLOY_PREPARATION_TIMED_OUT":"Netlify a mis trop de temps à préparer le déploiement. Vérifiez son état, puis réessayez.","GITLAB_TOKEN_REQUIRED":"Un jeton GitLab est obligatoire.","GITLAB_PROJECT_REQUIRED":"Sélectionnez un projet GitLab.","GITLAB_PROJECT_INVALID":"L’identifiant du projet GitLab est invalide.","GITLAB_URL_INVALID":"L’URL GitLab est invalide.","GITLAB_TOKEN_INVALID":"Votre connexion GitLab n’est plus valide. Reconnectez GitLab, puis réessayez.","GITLAB_PROJECT_NOT_FOUND":"Le projet GitLab est introuvable ou vous n’y avez pas accès.","GITLAB_UNAVAILABLE":"GitLab est temporairement indisponible. Veuillez réessayer.","GITLAB_BRANCHES_FAILED":"Impossible de charger les branches GitLab. Veuillez réessayer.","GITLAB_PROJECTS_FAILED":"Impossible de charger vos projets GitLab. Veuillez réessayer.","SUPABASE_METHOD_NOT_ALLOWED":"Cette méthode de requête n’est pas prise en charge.","SUPABASE_ACCESS_TOKEN_REQUIRED":"Un jeton d’accès Supabase est obligatoire.","SUPABASE_PROJECTS_FAILED":"Impossible de charger vos projets Supabase. Reconnectez Supabase, puis réessayez.","SUPABASE_AUTH_FAILED":"L’authentification Supabase a échoué. Reconnectez Supabase, puis réessayez.","SUPABASE_PROJECT_TOKEN_REQUIRED":"Un projet et une connexion Supabase sont obligatoires.","SUPABASE_API_KEYS_FAILED":"Impossible de charger les clés API Supabase. Veuillez réessayer.","GIT_PROXY_URL_INVALID":"L’URL du proxy Git est invalide.","GIT_PROXY_UNAUTHORIZED":"Connectez-vous avant d’utiliser le proxy Git.","GIT_PROXY_PATH_INVALID":"Le chemin du proxy Git est invalide.","GIT_PROXY_TARGET_FORBIDDEN":"Cette cible du proxy Git n’est pas autorisée.","GIT_PROXY_REDIRECT_FORBIDDEN":"Le proxy Git a bloqué une redirection non sécurisée.","GIT_PROXY_FAILED":"La requête du proxy Git n’a pas pu aboutir. Veuillez réessayer.","GIT_INFO_FAILED":"Impossible de charger les informations Git. Veuillez réessayer.","INVOICE_ORGANIZATION_MISSING":"Aucune organisation n’est disponible pour votre compte.","INVOICE_DOWNLOAD_EMPTY":"Aucune facture n’est encore disponible au téléchargement.","TEMPLATE_PROJECT_PAYLOAD_INVALID":"La demande de création depuis un modèle est invalide.","TEMPLATE_PROJECT_NOT_FOUND":"Le modèle sélectionné est introuvable.","ABUSE_METHOD_NOT_ALLOWED":"Cette méthode de requête n’est pas prise en charge.","ABUSE_REPORT_INVALID":"Vérifiez les champs du signalement et corrigez les valeurs invalides.","ABUSE_REQUEST_INVALID":"Le signalement n’a pas pu être lu. Vérifiez le formulaire, puis réessayez.","ABUSE_REPORT_SPAM":"Ce signalement a été identifié comme un possible spam. Contactez abuse@e-code.ai si vous pensez qu’il s’agit d’une erreur.","ABUSE_RATE_LIMIT":"Trop de signalements ont été envoyés. Veuillez patienter avant de réessayer.","ABUSE_INTAKE_UNAVAILABLE":"Le service de signalement des abus est temporairement indisponible. Contactez abuse@e-code.ai.","ABUSE_CONFIGURATION_INVALID":"Le service de signalement des abus est temporairement indisponible. Contactez abuse@e-code.ai.","ABUSE_SUBMISSION_FAILED":"Le signalement n’a pas pu être envoyé. Veuillez réessayer plus tard.","templateProjectDescription":"Projet de démarrage {name} créé depuis la galerie publique de modèles E-Code.","invoiceManifestSkipped":"Ignorées (échec du téléchargement) :","invoiceArchiveFilename":"factures-{date}.zip","gitInfoUnknown":"inconnu","supabaseAccount":"Compte Supabase","supabasePlan":"Forfait {plan}","supabaseConnectedAccessToken":"Connecté via un jeton d’accès","abuseMailSubject":"Signalement d’abus E-Code : {type}","abuseMailReportType":"Type de signalement : {type}","abuseMailTargetUrl":"URL concernée : {url}","abuseMailUsername":"Nom d’utilisateur : {username}","abuseMailReporterEmail":"E-mail de la personne déclarante : {email}","abuseMailPagePath":"Page d’envoi : {path}","abuseMailDescription":"Description :","abuseTypeCode":"Code malveillant ou nuisible","abuseTypeContent":"Contenu inapproprié","abuseTypeHarassment":"Harcèlement ou intimidation","abuseTypeSpam":"Spam ou escroquerie","abuseTypeCopyright":"Atteinte au droit d’auteur","abuseTypePrivacy":"Atteinte à la vie privée","abuseTypeOther":"Autre","abuseIssueTitle":"[Signalement d’abus] {type} : {url}","abuseIssueHeading":"Signalement d’abus","abuseIssueType":"Type","abuseIssueTargetUrl":"URL concernée","abuseIssueUsername":"Nom d’utilisateur","abuseIssueReporterEmail":"E-mail de la personne déclarante","abuseIssueSubmittedFrom":"Page d’envoi","abuseIssueClientIp":"Adresse IP cliente","abuseIssueDescription":"Description","abuseIssueFooter":"Envoyé depuis la page publique de signalement des abus E-Code.","workbenchSearch.panel.title":"Recherche","workbenchSearch.search.placeholder":"Rechercher dans les fichiers","workbenchSearch.search.aria":"Rechercher dans les fichiers","workbenchSearch.search.toggleCase":"Activer ou désactiver la recherche sensible à la casse","workbenchSearch.search.matchCase":"Respecter la casse","workbenchSearch.search.caseIndicator":"Aa","workbenchSearch.search.toggleRegex":"Activer ou désactiver la recherche par expression régulière","workbenchSearch.search.useRegex":"Utiliser une expression régulière","workbenchSearch.replace.placeholder":"Remplacer","workbenchSearch.replace.aria":"Remplacer par","workbenchSearch.replace.all":"Tout remplacer","workbenchSearch.replace.replacing":"Remplacement…","workbenchSearch.errors.invalidRegex":"Expression régulière non valide","workbenchSearch.errors.search":"La recherche a échoué. L’environnement d’exécution de l’espace de travail démarre peut-être encore. Réessayez dans quelques instants.","workbenchSearch.errors.replace":"Le remplacement a échoué","workbenchSearch.dialog.title":"Remplacer toutes les correspondances ?","workbenchSearch.dialog.description":"Remplacer {matches} dans {files} ?","workbenchSearch.dialog.confirm":"Tout remplacer","workbenchSearch.count.matches_one":"{count} correspondance","workbenchSearch.count.matches_other":"{count} correspondances","workbenchSearch.count.files_one":"{count} fichier","workbenchSearch.count.files_other":"{count} fichiers","workbenchSearch.skipped.locked_one":"{count} fichier verrouillé ignoré","workbenchSearch.skipped.locked_other":"{count} fichiers verrouillés ignorés","workbenchSearch.skipped.unsaved_one":"{count} fichier comportant des modifications non enregistrées ignoré — enregistrez-le d’abord","workbenchSearch.skipped.unsaved_other":"{count} fichiers comportant des modifications non enregistrées ignorés — enregistrez-les d’abord","workbenchSearch.skipped.unreadable_one":"{count} fichier illisible ignoré","workbenchSearch.skipped.unreadable_other":"{count} fichiers illisibles ignorés","workbenchSearch.replaced_one":"{count} correspondance remplacée","workbenchSearch.replaced_other":"{count} correspondances remplacées","workbenchSearch.pending_one":"Tout remplacer a ignoré {count} fichier comportant des modifications non enregistrées :","workbenchSearch.pending_other":"Tout remplacer a ignoré {count} fichiers comportant des modifications non enregistrées :","workbenchSearch.pending.more_one":"et {count} autre","workbenchSearch.pending.more_other":"et {count} autres","workbenchSearch.pending.saveRetry":"Tout enregistrer et réessayer","workbenchSearch.searching":"Recherche…","workbenchSearch.noResults":"Aucun résultat.","workbenchSearch.resultAria":"Résultat dans {path}, ligne {line}","workbenchSurface.tab.code":"Code","workbenchSurface.tab.diff":"Diff","workbenchSurface.tab.preview":"Aperçu","workbenchSurface.tab.git":"Git","workbenchSurface.files.changes":"Modifications des fichiers","workbenchSurface.files.search":"Rechercher des fichiers…","workbenchSurface.files.noMatches":"Aucun fichier correspondant","workbenchSurface.files.noModified":"Aucun fichier modifié","workbenchSurface.files.tryAnotherSearch":"Essayez une autre recherche","workbenchSurface.files.changesAppear":"Les modifications apparaîtront ici pendant votre travail","workbenchSurface.files.copySuccess":"Liste des fichiers copiée dans le presse-papiers","workbenchSurface.files.copyFailed":"Impossible de copier la liste des fichiers dans le presse-papiers","workbenchSurface.files.copy":"Copier la liste des fichiers","workbenchSurface.files.savedNamed":"{file} enregistré","workbenchSurface.files.saved":"Fichier enregistré","workbenchSurface.files.saveFailed":"Impossible de mettre à jour le contenu du fichier","workbenchSurface.preview.stopFailed":"Impossible d’arrêter l’aperçu","workbenchSurface.preview.startFailed":"Impossible de démarrer l’aperçu","workbenchSurface.sync.success":"Fichiers synchronisés","workbenchSurface.sync.failed":"Impossible de synchroniser les fichiers","workbenchSurface.agent.hide":"Masquer le panneau de l’agent","workbenchSurface.agent.show":"Afficher le panneau de l’agent","workbenchSurface.mobile.files":"Fichiers","workbenchSurface.mobile.search":"Recherche","workbenchSurface.mobile.locks":"Verrous","workbenchSurface.mobile.preview":"Aperçu","workbenchSurface.mobile.deploy":"Déployer","workbenchSurface.mobile.editor":"Éditeur","workbenchSurface.sync.syncing":"Synchronisation…","workbenchSurface.sync.action":"Synchroniser","workbenchSurface.sync.files":"Synchroniser les fichiers","workbenchSurface.terminal.toggle":"Afficher ou masquer le terminal","workbenchSurface.review.editor":"Éditeur","workbenchSurface.review.review":"Révision","workbenchSurface.close":"Fermer l’espace de travail","workbenchSurface.git.unavailable":"Ouvrez un espace de travail de projet pour utiliser les outils Git.","workbenchSurface.run.startingAria":"Démarrage du projet","workbenchSurface.run.stopAria":"Arrêter l’exécution","workbenchSurface.run.stoppingAria":"Arrêt du projet","workbenchSurface.run.retryAria":"Relancer le projet","workbenchSurface.run.runAria":"Exécuter le projet","workbenchSurface.run.starting":"Démarrage","workbenchSurface.run.stop":"Arrêter","workbenchSurface.run.stopping":"Arrêt","workbenchSurface.run.retry":"Réessayer","workbenchSurface.run.run":"Exécuter","workspaceMisc.floatingPane.aria":"Panneau flottant : {title}","workspaceMisc.floatingPane.dock.aria":"Ancrer le panneau","workspaceMisc.floatingPane.dock.label":"Ancrer","workspaceMisc.floatingPane.resize.aria":"Redimensionner le panneau flottant","workspaceMisc.agentRun.aria":"État de génération de l’agent IA","workspaceMisc.agentRun.title":"Agent en cours d’exécution","workspaceMisc.agentRun.description":"Réponse diffusée et actions exécutées dans l’espace de travail.","workspaceMisc.agentRun.stop.title":"{label} — appuyez sur Échap","workspaceMisc.agentRun.stop.hint":"Échap pour arrêter","workspaceMisc.portDropdown.select":"Sélectionner le port d’aperçu","workspaceMisc.portDropdown.heading":"Ports d’aperçu","workspaceMisc.portDropdown.empty":"Aucun port d’aperçu n’est disponible.","workspaceMisc.portDropdown.status.ready":"Prêt","workspaceMisc.portDropdown.status.starting":"Démarrage…","workspaceMisc.portDropdown.port.aria":"Port {port} — {status}","workspaceMisc.portDropdown.copy.title":"Copier l’URL d’aperçu","workspaceMisc.portDropdown.copy.aria":"Copier l’URL du port {port}","workspaceMisc.portDropdown.copy.success":"URL du port {port} copiée.","workspaceMisc.portDropdown.copy.error":"Impossible de copier l’URL du port {port}.","workspaceMisc.expo.title":"Affichez l’aperçu sur votre appareil mobile","workspaceMisc.expo.description":"Scannez ce code QR avec l’application Expo Go sur votre appareil mobile pour ouvrir votre projet.","workspaceMisc.expo.qr.aria":"Code QR pour ouvrir le projet dans Expo Go","workspaceMisc.expo.empty":"Aucune URL Expo n’a été détectée.","workspaceMisc.editorHistory.open.aria":"Ouvrir l’historique du fichier","workspaceMisc.editorHistory.open.label":"Historique","chat.copy.1Year_afe36da6":"1 an","chat.copy.30Days_7d4278a8":"30 jours","chat.copy.90Days_170621ac":"90 jours","chat.copy.abstain_bc39d849":"S'abstenir","chat.copy.acceptAll_821d1f79":"Acceptez tout","chat.copy.acceptFile_72208421":"Accepter le fichier","chat.copy.accountExport_a83de782":"Exportation de compte","chat.copy.accountSettings_e3270761":"Paramètres du compte","chat.copy.activeBindingsInThisWorkspace_0a75087f":"liaisons actives dans cet espace de travail","chat.copy.activeSessions_c71ffaf9":"Séances actives","chat.copy.activityChartZoom_3789999d":"Zoom du diagramme d'activité","chat.copy.activityEventsByTimeBucket_49ff7752":"Événements d'activité par tranche de temps","chat.copy.activityFeed_35ed39ad":"Flux d'activité","chat.copy.activityRate_d137b2cc":"Taux d'activité","chat.copy.activitySummary_70f4ec76":"Résumé de l'activité","chat.copy.add_61cc55aa":"Ajouter","chat.copy.addADomainToGenerateOrganization_14f8de9b":"Ajoutez un domaine pour générer des enregistrements de vérification TXT spécifiques à l'organisation.","chat.copy.addAHostnamePublishTheDns_c1a019dd":"Ajoutez un nom d'hôte, publiez les enregistrements DNS ci-dessous, puis vérifiez. E-Code conserve la préparation à la redirection, aux caractères génériques et à TLS comme état du service applicatif pour cette organisation.","chat.copy.addAuthentication_2855841d":"Ajouter une authentification","chat.copy.addBreakpoint_f0d58392":"Ajouter un point d'arrêt","chat.copy.addComment_7d3764e4":"Ajouter un commentaire","chat.copy.addDomain_76d74001":"Ajouter un domaine","chat.copy.added_0ae84aa1":"Ajouté :","chat.copy.addingOrRemovingThisBucketFrom_63b69b72":"L’ajout ou la suppression de ce compartiment d’autres applications sera bientôt disponible – service applicatif en attente.","chat.copy.additionalRollbackOptions_0a728603":"Options de restauration supplémentaires","chat.copy.addPackage_4db3997e":"Ajouter un paquet","chat.copy.addStream_0c868a56":"Ajouter un flux","chat.copy.addTab_f7bb0210":"Ajouter un onglet","chat.copy.addTabCommandPalette_83a59334":"Ajouter une palette de commandes d'onglet","chat.copy.addTabWithCommandPalette_49e6c454":"Ajouter un onglet avec la palette de commandes","chat.copy.addTask_24700e60":"Ajouter une tâche","chat.copy.addVariable_4c2707bc":"Ajouter une variable","chat.copy.addWatch_11f0adc5":"Surveiller cette expression","chat.copy.addYourFirstDatabase_b10872bd":"Ajoutez votre première base de données","chat.copy.admin_4e7afebc":"Administrateur","chat.copy.against_2d19e3d7":"Contre","chat.copy.agent_5ce2e6f4":"Agent","chat.copy.agentHistory_c783eeb3":"Historique des agents","chat.copy.agentIsThinking_34aec774":"L'agent réfléchit","chat.copy.agentMemory_bcf5354f":"Mémoire des agents","chat.copy.agentOptions_a43f3a55":"Options des agents","chat.copy.agentPatchPolicy_90d5bd27":"Politique de correctifs d'agent","chat.copy.agentQuickActions_cfcfd957":"Actions rapides de l'agent","chat.copy.agentSettings_b02d736f":"Paramètres des agents","chat.copy.agentStudioSupervisor_fc1ab50e":"Superviseur du Studio Agent","chat.copy.agentSuggestions_1622dc2b":"Suggestions d'agents","chat.copy.agentWorkflows_fb8c5af7":"Flux de travail des agents","chat.copy.agentWorkspaceContext_c9e2d0ab":"Contexte de l'espace de travail de l'agent","chat.copy.agreement_fc61aa8b":"% d'accord","chat.copy.aiAgent_ab15eb3d":"Agent IA","chat.copy.aiComments_a8a02d41":"Commentaires sur l'IA","chat.copy.aiPairProgramming_4e0c4554":"Programmation en binôme IA","chat.copy.aiPatchReviewQueue_b6f83c83":"File d'attente de révision des correctifs IA","chat.copy.aiProviderControls_5c3d5cbf":"Contrôles du fournisseur d'IA","chat.copy.aiProviderKeysAreManagedBy_81a3fe0b":"Les clés du fournisseur AI sont gérées par E-Code. Les appels sont facturés sur les crédits inclus de votre forfait — il n'y a pas de clé à saisir. Choisissez votre modèle et votre routage par défaut ci-dessus.","chat.copy.aiReadOnly_09b34a79":"IA en lecture seule","chat.copy.aiUsageCosts_67a38db2":"Utilisation et coûts de l'IA","chat.copy.all_d87c4480":"tout","chat.copy.allEventTypes_85756507":"Tous types d'événements","chat.copy.allFilesInYourAppWill_216ac181":"Tous les fichiers de votre application seront restaurés dans l'état dans lequel ils se trouvaient au moment de ce point de contrôle.","chat.copy.allInProgressTasksWillFinish_8502f56c":"Toutes les tâches en cours seront terminées mais nécessiteront une révision","chat.copy.allTime_dbad49d8":"Tout le temps","chat.copy.allUsers_ce832d9b":"Tous les utilisateurs","chat.copy.alreadyScaffoldedAuthFilesAlreadyExist_6ffb7ffc":"Déjà échafaudé : les fichiers d'authentification existent déjà","chat.copy.andEnableItTheSchedulerWill_c6c6f347":") et activez-le - le planificateur l'exécutera réellement.","chat.copy.anthropic_b780a23b":"Anthropic","chat.copy.apacheKafka_d646e904":"Apache Kafka","chat.copy.apiKeys_e18ffc8d":"Clés API","chat.copy.apiKeySecret_00b16050":"Clé secrète de l'API","chat.copy.apiTokenOauthTokenOrApp_76acb24f":"Jeton API, jeton OAuth ou mot de passe d'application","chat.copy.appearance_41def7a0":"Apparence","chat.copy.appearanceKeyboard_9ee473c9":"Apparence et clavier","chat.copy.approveThisQuarantinedSkillAndEnable_0a63e78a":"Approuvez cette compétence mise en quarantaine et activez-la","chat.copy.appUseRequireAuthRouter_86b3c0e7":"app.use(require('./auth').router)","chat.copy.aSingleGcsBucketIsProvisioned_0d81fecc":"Un seul bucket GCS est provisionné par projet (nom géré par le serveur). Utilisez « Ensure bucket » pour le créer lors de la première utilisation.","chat.copy.assets_3685e330":"actifs","chat.copy.assets_79f5d556":"actifs/","chat.copy.audited_9d320122":"Audité","chat.copy.auditLog_3cfc5f1c":"Journal d'audit","chat.copy.auditLogs_344c7ffc":"Journaux d'audit","chat.copy.auditTrail_33de865a":"Piste d'audit","chat.copy.authApi_72386460":"auth.*,api.*","chat.copy.autoApplySuccessfulPatches_3c5397c8":"Appliquer automatiquement les correctifs réussis","chat.copy.automaticSchedule_9e0dd16d":"Programmation automatique","chat.copy.autoRefreshEvery_f2835242":"Actualisation automatique tous les","chat.copy.autoTls_b277ddf3":"TLS automatique","chat.copy.available_7b231a50":"disponible","chat.copy.awsKinesis_e2cb7d09":"AWS Kinésis","chat.copy.azureEventHub_4d000d9a":"Centre d'événements Azure","chat.copy.back_b52b36b7":"Retour","chat.copy.backendActivityCollaborationChangesAndOperational_ad32cb87":"Activité du service applicatif, changements de collaboration et événements opérationnels. Les sauvegardes de routine de l'interface utilisateur de l'IDE sont supprimées avant d'atteindre le flux d'activité.","chat.copy.billedComputeForThisRun_41d5a36e":"Calcul facturé pour cette exécution","chat.copy.billingLimits_44423a56":"Limites de facturation","chat.copy.billingPlan_c8f1555a":"Facturation et forfait","chat.copy.binShEchoReady_fc10292a":"#!/bin/sh écho prêt","chat.copy.branch_1627510b":"Branche","chat.copy.breakpoints_21a8752f":"Points d'arrêt","chat.copy.bringYourOwnKey_1cc3a1bb":"Apportez votre propre clé","chat.copy.browseConversationBranches_f8505149":"Parcourir les branches de conversation","chat.copy.bucket_40dafe4c":"Bucket","chat.copy.bucket_420c637b":"/bucket","chat.copy.bucketsPeak_3010e505":"buckets · pic","chat.copy.buildCommand_2740bf0b":"Commande de compilation","chat.copy.builtinSkills_e1514b4a":"Compétences intégrées","chat.copy.bundledResourcesLoadedOnDemand_afd948a9":"Ressources groupées (chargées à la demande) :","chat.copy.cache_50338b3b":"Mémoire cache","chat.copy.callStackAndVariables_6820d7cf":"Pile d'appels et variables","chat.copy.cancel_77dfd213":"Annuler","chat.copy.cancelScan_b37844ba":"Annuler l'analyse","chat.copy.categories_6ccb6007":"Catégories","chat.copy.changePassword_49289db4":"Changer le mot de passe","chat.copy.checkingObjectStorage_959b2900":"Vérification du stockage d'objets…","chat.copy.checkOutdated_5f9aa679":"Vérifier les mises à jour","chat.copy.checkpointMetadata_2e369897":"Métadonnées du point de contrôle","chat.copy.checkpoints_a2b3a59a":"Points de contrôle","chat.copy.checkpoints_abdf4ec3":"points de contrôle","chat.copy.chooseTheDetectedPackageManagerThen_0f9e0f75":"Choisissez le gestionnaire de paquets détecté, puis installez un ou plusieurs paquets dans ce projet.","chat.copy.ciCd_25ef1b43":"CI/CD","chat.copy.clearConversation_751e4570":"Conversation claire","chat.copy.clearConversationHistory_95f3d926":"Effacer l'historique des conversations ?","chat.copy.clearFilters_41222671":"Effacer les filtres","chat.copy.clearHistory_53b5158b":"Effacer l'historique","chat.copy.clearHistorySearch_9758bed5":"Effacer la recherche de l'historique","chat.copy.clearLogs_532ffc7a":"Effacer les journaux","chat.copy.clearSearch_67300d0f":"Effacer la recherche","chat.copy.clearVisibleLogs_eb78a0d1":"Effacer les journaux visibles","chat.copy.clipboardIsUnavailable_977bef31":"Le presse-papiers n'est pas disponible","chat.copy.clipboardUnavailable_bec46a29":"Presse-papiers indisponible","chat.copy.close_1ee04a74":"fermer ·","chat.copy.close_bbfa773e":"Fermer","chat.copy.closeAddTabCommandPalette_d16caca1":"Fermer la palette de commandes d'ajout d'onglet","chat.copy.closeAgentOptions_8e9b146d":"Fermer les options de l'agent","chat.copy.closeAgentView_b85f8435":"Fermer la vue Agent","chat.copy.closeAll_98553cc8":"Fermer tout","chat.copy.closeCommandPalette_1f7df2fe":"Fermer la palette de commandes","chat.copy.closeConfiguration_0675f715":"Fermer la configuration","chat.copy.closeHistory_7bf06ef3":"Fermer l'historique","chat.copy.closeKeyboardShortcuts_b87b092b":"Fermer les raccourcis clavier","chat.copy.closeMoreMenu_033870ff":"Fermer plus de menu","chat.copy.closeOthers_445ef4ad":"Fermer les autres","chat.copy.closeRightPanel_b31ffa0e":"Fermer le panneau de droite","chat.copy.closeSaved_40a993da":"Fermer enregistré","chat.copy.closeTab_296b59cd":"Fermer l'onglet","chat.copy.closeTabSwitcher_0bbc0c95":"Fermer le sélecteur d'onglet","chat.copy.closeTerminalPanel_9f78d80c":"Fermer le panneau à bornes","chat.copy.closeThisViewWithoutDeletingFiles_8643fd37":"Fermez cette vue sans supprimer de fichiers ni arrêter l'espace de travail.","chat.copy.closeToolsSheet_3df4541f":"Fermer la fiche outils","chat.copy.closeToRight_8b7725b0":"Près de droite","chat.copy.cloudObjectStorageHasnTBeen_714efe71":"Le stockage d’objets cloud n’a pas été activé pour la plateforme de cet espace de travail. Une fois qu'un administrateur l'aura activé, vous pourrez créer le compartiment de ce projet et gérer les fichiers ici même, sans aucune configuration supplémentaire de votre part.","chat.copy.collaborationActionsCreateAuditAndProject_694bab3d":"Les actions de collaboration créent des événements d’audit et d’activité de projet.","chat.copy.collaborator_794b34c1":"Collaborateur","chat.copy.commandExecutedBeforeDeploymentToGenerate_87b85f3b":"Commande exécutée avant le déploiement pour générer des actifs de production.","chat.copy.commandPalette_7b6b539e":"Palette de commandes","chat.copy.commandsToolsAndFiles_edb9d782":"Commandes, outils et fichiers","chat.copy.commaSeparatedNamesOfExistingProject_93f64262":"Noms séparés par des virgules des secrets de projet existants à injecter au moment du déploiement.","chat.copy.comment_153d7a58":"Commentaire","chat.copy.comments_fce06e20":"Commentaires","chat.copy.commitHistory_6c512e8d":"Historique de validation","chat.copy.community_bfd58ee3":"Communauté","chat.copy.comparesTheLatestCompletedScanAgainst_b4268ea5":"Compare la dernière analyse terminée à l'analyse précédente stockée pour ce projet.","chat.copy.composer_10c35d71":"Compositeur","chat.copy.computeUsageThisBillingPeriodNo_c6482992":"Calculez l'utilisation pendant cette période de facturation – aucun service applicatif de mesure","chat.copy.conditionalBreakpoint_af2996c8":"Point d'arrêt conditionnel","chat.copy.configure_792c81a4":"Configurer","chat.copy.configureSamlOrOidcForOrganizations_19fa6e90":"Configurez SAML ou OIDC pour les organisations qui nécessitent SSO.","chat.copy.configureWorkflows_20afd690":"Configurer les flux de travail","chat.copy.conflicts_19401428":"Conflits ·","chat.copy.connectAGithubRemote_5cd948b7":"Connecter un dépôt distant GitHub","chat.copy.connectARealProviderBySaving_bb256530":"Connectez un vrai fournisseur en enregistrant sa chaîne de connexion en tant que secret de projet crypté. E-Code détecte les URL Postgres, MySQL, MongoDB et Redis à partir des secrets et les utilise pour la navigation dans les schémas, les sauvegardes et les requêtes en lecture seule.","chat.copy.connectAServiceToSyncData_643c4e95":"Connectez un service pour synchroniser les données et automatiser votre projet.","chat.copy.connected_c2f9b7b4":"Connecté","chat.copy.connectedAccountsData_b6b14f3b":"Comptes et données connectés","chat.copy.connectGithub_ab6f5ed0":"Connectez-vous à GitHub","chat.copy.connectionLostReconnecting_f155d22d":"Connexion perdue. Reconnexion…","chat.copy.connectionSecret_dfb3808b":"Secret de connexion","chat.copy.connectionString_11a3690d":"Chaîne de connexion","chat.copy.connectionStringExamplesByProvider_368f1c1d":"Exemples de chaînes de connexion par fournisseur","chat.copy.connectProjectToolsWebhooksApiKeys_8c15c5e1":"Connectez les outils de projet, les webhooks, les clés API et les flux d'événements via une configuration de projet persistante dans le service applicatif.","chat.copy.consolidated_067fc063":"Consolidé","chat.copy.contentHash_16586c72":"Hachage du contenu","chat.copy.contextLoaded_fe9e1240":"Contexte chargé","chat.copy.conversationBranches_ab9b421a":"Branches de conversation","chat.copy.conversationCopied_f68386e5":"Conversation copiée","chat.copy.conversationExported_1fd2dd87":"Conversation exportée","chat.copy.conversationHistory_a03d887e":"Historique des conversations","chat.copy.copy_af74f7c5":"Copier","chat.copy.copyConversation_4f1cbe7c":"Copier la conversation","chat.copy.copyLink_2f84eea5":"Copier le lien","chat.copy.copyPublicKey_0e8baa3d":"Copier la clé publique","chat.copy.copyValue_4c924dcb":"Copier la valeur","chat.copy.couldNotLoadTheConsensusDetail_862d66ca":"Impossible de charger les détails du consensus. Essayer à nouveau.","chat.copy.count_66e12969":"Compter","chat.copy.createACheckpointBeforeMajorEdits_c50a54ac":"Créez un point de contrôle avant les modifications majeures, les mises à niveau de paquets ou les refactorisations assistées par l’IA.","chat.copy.createApiKey_b68d55de":"Créer une clé API","chat.copy.createAPrivateCloudBucketTo_cedeeb5d":"Créez un bucket cloud privé pour stocker les fichiers, les téléchargements et les ressources générées pour cette application. Vous pouvez lister, télécharger, déplacer et supprimer des objets ici dès qu’ils sont prêts.","chat.copy.created_accf40c8":"Créé","chat.copy.createExpiringLink_7830b037":"Créer un lien expirant","chat.copy.createFolder_e59f63fa":"Créer un dossier","chat.copy.createPreviewUrlForNonProduction_9d087457":"Créer une URL d'aperçu pour les déploiements hors production","chat.copy.createWebhook_0e738ec3":"Créer un webhook","chat.copy.createWorkflow_b2c26d5c":"Créer un flux de travail","chat.copy.credentialMode_23fdd899":"Mode d'identification","chat.copy.creditAlertThreshold_40535a69":"Seuil d'alerte crédit","chat.copy.currentCursorPosition_3b9ed6e5":"Position actuelle du curseur","chat.copy.currentPassword_19dff4da":"Mot de passe actuel","chat.copy.currentProjectConversation_1df5a771":"Conversation sur le projet en cours","chat.copy.customDomain_0354c889":"Domaine personnalisé","chat.copy.customScript_929fa0a0":"Script personnalisé","chat.copy.cycleToTheNextOpenWorkspace_0b3b1e8d":"Passez à l’onglet suivant de l’espace de travail ouvert.","chat.copy.dailyAt0300Utc_ca914139":"Tous les jours à 03h00 UTC","chat.copy.dangerZone_8fc83aac":"Zone dangereuse","chat.copy.dark_ae1ef014":"Sombre","chat.copy.database_61074f1c":"Base de données","chat.copy.databaseConnectionSetup_bb8a9aeb":"Configuration de la connexion à la base de données","chat.copy.databaseSetupSteps_a7f1a5e2":"Étapes de configuration de la base de données","chat.copy.databaseUrl_01d2f16e":"DATABASE_URL","chat.copy.databaseUrlPostgresStripeSecretKey_1e39ac87":"DATABASE_URL=postgres://… STRIPE_SECRET_KEY=sk_live_…","chat.copy.databaseUrlStripeSecretKey_42eb88dc":"DATABASE_URL,STRIPE_SECRET_KEY","chat.copy.debugApp_61e65435":"DEBUG=application :*","chat.copy.debugSessions_7f873835":"Sessions de débogage","chat.copy.defaultBranch_80f8aa6a":"Branche par défaut","chat.copy.defaultGitBranch_f6c17ffb":"Branche Git par défaut","chat.copy.defaultModel_5fbae11e":"Modèle par défaut","chat.copy.defaultProvider_8428a03f":"Fournisseur par défaut","chat.copy.defaultsToTheProjectBranchWhen_3964715b":"La valeur par défaut est la branche du projet lorsqu'aucune branche n'est fournie.","chat.copy.delete_f6fdbe48":"Supprimer","chat.copy.deleteAccount_1753c206":"Supprimer le compte","chat.copy.deleteAccountConfirmation_344b143a":"Confirmation de suppression du compte","chat.copy.deleteBucket_0d2c8e99":"Supprimer le compartiment","chat.copy.deleteMyAccount_93b6c0a2":"SUPPRIMER MON COMPTE","chat.copy.deleteTask_9ad9dc2d":"Supprimer la tâche","chat.copy.deleteThisBucket_293894e5":"Supprimer ce bucket ?","chat.copy.deleteWorkflow_0edaeb8e":"Supprimer le flux de travail","chat.copy.deploy_b0d51b9f":"déployer","chat.copy.deploy_fb4192a0":"Déployer","chat.copy.deployment_7233fb36":"déploiement","chat.copy.deploymentBranch_1e947167":"Branche de déploiement","chat.copy.deploymentHistory_2312352b":"Historique de déploiement","chat.copy.deploymentNotifications_d741eccf":"Notifications de déploiement","chat.copy.deployments_8d458ed0":"Déploiements","chat.copy.deploymentStatusTimeline_33142e05":"Chronologie de l'état du déploiement","chat.copy.deploymentTarget_aa5c28e3":"Cible de déploiement","chat.copy.deploymentWizard_3306b958":"Assistant de déploiement","chat.copy.deployProject_9e37b103":"Déployer le projet","chat.copy.deploySuccessDeployFail_2b41724e":"deploy.success,deploy.fail","chat.copy.describeWhatYouWantToBuild_c9de63b3":"Décrivez ce que vous souhaitez créer ou demandez à E-Code d’améliorer un projet existant.","chat.copy.description_55f8ebc8":"Description","chat.copy.detachedHeadCreateABranchIn_c49bc71e":"HEAD détaché - créez une branche dans le panneau Git avant la synchronisation.","chat.copy.detectedFrameworkUsedToChooseProvider_4dd054b6":"Framework détecté utilisé pour choisir les valeurs par défaut du fournisseur. Laissez vide pour conserver la détection automatique.","chat.copy.detectedLanguageMode_3617844d":"Mode langue détecté","chat.copy.dev_34c6fcec":"dev","chat.copy.devDependency_77dacb21":"Dépendance de développement","chat.copy.development_4c17aadf":"Développement","chat.copy.differs_b43b190f":"diffère","chat.copy.directoryContainingTheBuiltStaticAssets_26607c07":"Répertoire contenant les actifs statiques construits ou le bundle de serveurs à déployer.","chat.copy.disabled_f4f4473d":"Désactivé","chat.copy.dismiss_70afe9ef":"Fermer","chat.copy.dismissShareLink_275b18df":"Ignorer le lien de partage","chat.copy.displayName_c7874aaa":"Nom d'affichage","chat.copy.domain_9b10914d":"Domaine","chat.copy.domains_a0d641b3":"Domaines","chat.copy.domainUpdateFailedPleaseRetry_7c422b4b":"Échec de la mise à jour du domaine : veuillez réessayer.","chat.copy.download_a479c9c3":"Télécharger","chat.copy.dragToReorder_e7541faf":"Faites glisser pour réorganiser","chat.copy.dropFilesToUploadTo_62098588":"Déposez les fichiers à téléverser dans","chat.copy.eCodeReadsPackageManifestsAnd_43bae185":"E-Code lit les manifestes de paquets et les fichiers de verrouillage directement dans le projet et son environnement d’exécution, puis utilise le véritable terminal de l’espace de travail pour installer, auditer et rechercher les dépendances obsolètes.","chat.copy.ed25519Recommended_9405f411":"ed25519 (recommandé)","chat.copy.edit_5301648d":"Modifier","chat.copy.editorAndPreview_c279cf0b":"Éditeur et aperçu","chat.copy.editorStatus_93f582c4":"Statut d'éditeur","chat.copy.editShortcutsWithCombosLikeCmd_ace80b63":"Modifiez les raccourcis avec des combinaisons telles que cmd+s, cmd+shift+p ou f12. Les raccourcis de l'éditeur contextuel l'emportent sur les raccourcis globaux.","chat.copy.elasticsearch_85bb5d88":"Recherche élastique","chat.copy.emailAddress_c94d3175":"Adresse e-mail","chat.copy.emailOrUsername_5af65060":"email ou nom d'utilisateur","chat.copy.emailVerification_a674e88b":"Vérification des e-mails","chat.copy.emailViaAccount_7de69732":"E-mail via le compte","chat.copy.enabled_df174a3f":"Activé","chat.copy.enableDisableOrRemoveExtensionsWithout_fd2603b1":"Activez, désactivez ou supprimez des extensions sans quitter l'EDI.","chat.copy.enabledWhenGithubRemoteExists_de9d427d":"Activé lorsqu’un dépôt distant GitHub existe","chat.copy.enableObjectStorageForThisProject_6caf063b":"Activer le stockage d'objets pour ce projet","chat.copy.encryptedSecret_0cdff4dc":"Secret crypté","chat.copy.ensureBucket_59b7cad5":"Vérifier le bucket","chat.copy.ensureBucketExists_5c9d55b8":"S'assurer que le compartiment existe","chat.copy.enterAValidDomainSuchAs_763570b5":"Entrez un domaine valide tel que app.example.com","chat.copy.enterAValidEmailAddressOr_b9c2422c":"Entrez une adresse e-mail ou un nom d'utilisateur valide. Les noms d'utilisateur peuvent contenir des lettres, des chiffres, des points, des traits de soulignement et des traits d'union.","chat.copy.enterpriseSso_2a5603da":"SSO d'entreprise","chat.copy.environment_d443a118":"Environnement","chat.copy.environmentScope_aa238040":"Périmètre environnement","chat.copy.environmentVariables_1173b2e1":"Variables d'environnement","chat.copy.secretsToolDescription":"Valeurs chiffrées, masquées jusqu’à révélation","chat.copy.environmentVariables_ec072bba":"Variables d'environnement","chat.copy.episodic_2de3ef9c":"Épisodique","chat.copy.errors_e6ef8d02":"erreurs ·","chat.copy.estimatedCost_516cbee2":"Coût estimé","chat.copy.event_5006ed02":"événement","chat.copy.events_c5497bca":"Événements","chat.copy.eventStreaming_d053a572":"Diffusion d'événements","chat.copy.exampleAlwaysPushToMainAfter_3934df0b":"Exemple : poussez toujours vers main après la réussite des contrôles de validation.","chat.copy.exampleNpmRunBuildPnpmBuild_cf3d34a0":"Exemple : npm run build, pnpm build ou Yarn build.","chat.copy.executeShellCommand_ded81fd3":"Exécuter la commande Shell","chat.copy.executionMode_cb9e185b":"Mode d'exécution","chat.copy.exit_c4098fbe":"· code de sortie","chat.copy.exit_de3ac217":"code de sortie","chat.copy.expiresInMinutes_13812bb6":"Expire dans quelques minutes","chat.copy.expiringLinksSharedAiConversationPolicy_fc638296":"Les liens expirant, la politique de conversation partagée par l'IA et les modes en lecture seule restent limités à ce projet.","chat.copy.exportAccountJson_90f35d95":"Exporter le compte JSON","chat.copy.exportAuditPackage_913ca7d5":"Exporter le rapport d’audit","chat.copy.exportConversation_6b17f1ef":"Exporter la conversation","chat.copy.exportCurrentlyFilteredLogsAsA_487e7db6":"Exporter les journaux actuellement filtrés sous forme de fichier .txt","chat.copy.exportJson_bc399052":"Exporter JSON","chat.copy.exportProject_5eff3aab":"Exporter le projet","chat.copy.exportSarif_e4ff4ea2":"Exporter SARIF","chat.copy.exportsDeploysCollaboratorsGitAndRuntime_21970b4b":"Exportations, déploiements, collaborateurs, Git et actions de l’environnement d’exécution","chat.copy.exportTxt_469c1c08":"Exporter le .txt","chat.copy.extension_f9896101":"extension","chat.copy.extensionDomains_abc98b01":"Domaines d'extension","chat.copy.extensions_656bcfe2":"Extensions","chat.copy.fallbackProvider_595064ee":"Fournisseur de secours","chat.copy.feature_4b7615dc":"fonctionnalité","chat.copy.fileEncodingUtf8_b8734a83":"Encodage du fichier : UTF-8","chat.copy.fileNavigator_35afe31d":"Navigateur de fichiers","chat.copy.files_6ce6c512":"Fichiers","chat.copy.files_a1f13b3b":"fichiers","chat.copy.filterFiles_1c07a419":"Filtrer les fichiers","chat.copy.filterInstalledPackages_40f3effe":"Filtrer les paquets installés","chat.copy.filterLogsByLevel_f194bf68":"Filtrer les journaux par niveau","chat.copy.findActionUserOrPayload_93fbd8a2":"Rechercher une action, un utilisateur ou une charge utile...","chat.copy.finding_e29e8d94":"trouver","chat.copy.findInShell_f73f20f0":"Rechercher dans Shell","chat.copy.fixWithAgent_387d0de5":"Réparer avec l'agent","chat.copy.focusAgentComposer_778a634b":"Compositeur d'agent de focus","chat.copy.focusOpenTab_9394aa42":"Focus sur l'onglet ouvert","chat.copy.folderName_b2ce023b":"Nom du dossier","chat.copy.follow_66587a7a":"Suivre","chat.copy.for_f7880600":"Pour","chat.copy.forViteThisIsUsuallyDist_03b25ded":"Pour Vite, c'est généralement dist.","chat.copy.forYou_c10f85ac":"pour toi.","chat.copy.framework_fb001b2c":"Cadre","chat.copy.frameworkDetected_7a55cf59":"Cadre détecté","chat.copy.fullPalette_49524ad9":"palette complète","chat.copy.fullWorkspaceRuntime_45bcb64f":"Environnement d’exécution complet de l’espace de travail","chat.copy.generateAKeyToAccessThis_c2e35480":"Générez une clé pour accéder à ce projet par programmation.","chat.copy.generateAReportFromTheCurrent_99a3cc7e":"Générez un rapport à partir de l'état actuel de l'analyse du service applicatif. SARIF peut être téléchargé sur GitHub Security Code Scanning et le rapport imprimable peut être enregistré au format PDF par le navigateur.","chat.copy.generated_8eefdd52":"Généré","chat.copy.generateKey_174bfb65":"Générer une clé","chat.copy.generateKey_937129af":"Générer une clé","chat.copy.generateKeyPair_27cc8fa3":"Générer une paire de clés","chat.copy.git_58197788":"Git","chat.copy.gitBranchOrWorkspaceBranchUsed_90c55da3":"Branche Git ou branche d'espace de travail utilisée comme source de déploiement.","chat.copy.gitGithubComOwnerRepoGit_227027b4":"git@github.com:owner/repo.git","chat.copy.githubOauth_b37815ca":"GitHub OAuth","chat.copy.githubSecurity_a8fa7886":"Sécurité GitHub","chat.copy.githubSecurityReporting_381ce4fe":"Rapports de sécurité GitHub","chat.copy.gitRepositoryUrl_fa85202a":"URL du dépôt Git","chat.copy.google_2b681c0a":"Google","chat.copy.googlePubSub_5e01c618":"Google Pub/Sub","chat.copy.goToLastMessage_2d23b856":"Aller au dernier message","chat.copy.scrollToLatest":"Aller au plus récent","chat.copy.guidedTour_5a0d3068":"Visite guidée","chat.copy.hardwareKeyboardIdeShortcuts_80e616e2":"Raccourcis clavier matériels IDE","chat.copy.hidden_53333214":"caché (","chat.copy.hideAgentPanelCmdL_9b94ba4c":"Masquer le panneau des agents (Cmd+L)","chat.copy.hideAiAgentPanel_65280672":"Masquer le panneau des agents IA","chat.copy.history_90ccd649":"Histoire","chat.copy.historyCleared_5a2d82b8":"Historique effacé","chat.copy.httpsExampleComWebhook_251ba43c":"https://example.com/webhook","chat.copy.httpsGithubComOrgRepo_c3460b93":"https://github.com/org/repo","chat.copy.hunk_1920d3ca":"Segment","chat.copy.hunk_487d3241":"Segment","chat.copy.ideStateSaves_125ba3a6":"Sauvegardes d’état IDE","chat.copy.ideStatus_15238998":"État de l’IDE","chat.copy.importance_1f63883f":"-importance","chat.copy.important_4b6d6a30":"Événements importants","chat.copy.importEnv_f0940267":"Importer .env","chat.copy.inApp_db5a6884":"Dans l'application","chat.copy.inAppTogglesArePersistedHere_a5c24093":"Les bascules dans l'application sont conservées ici. La livraison par e-mail et push est gérée par les canaux de compte.","chat.copy.indentation2Spaces_d1008d4c":"Retrait : 2 espaces","chat.copy.indexedFiles_4816e84e":"Fichiers indexés","chat.copy.inputTokens_92f7d222":"Jetons d'entrée","chat.copy.install_89fb511f":"installer","chat.copy.installAPackageOrRunAudit_619e2f89":"Installez un paquet ou exécutez audit/outdated pour récupérer la sortie réelle du gestionnaire de paquets depuis l’espace de travail.","chat.copy.installed_7bb4405c":"Installé","chat.copy.installed_85841abd":"installé","chat.copy.installedExtensions_749ba7d5":"Extensions installées","chat.copy.installedExtensionSummary_16466bd6":"Résumé des extensions installées","chat.copy.installedFromGithubProject_e3344d94":"Installé depuis GitHub (projet)","chat.copy.installedFromGithubWorkspace_f3607e99":"Installé depuis GitHub (espace de travail)","chat.copy.installFromLockfile_0216ef44":"Installer à partir du fichier de verrouillage","chat.copy.installIntoTheRealWorkspace_9aae5ad8":"Installer dans le véritable espace de travail","chat.copy.installMcpServersToExtendThe_2040a281":"Installez les serveurs MCP pour étendre l'agent avec de nouveaux outils. Les installations sont partagées avec l'onglet Paramètres MCP.","chat.copy.installPackage_cb1fe356":"Installer le paquet","chat.copy.installPackages_b0907ce4":"Installer des paquets","chat.copy.installRuntimeChecks_5fcca529":"Contrôles de l’installation et de l’environnement d’exécution","chat.copy.installTo_358c06d6":"Installer dans :","chat.copy.integrationHub_689b11c8":"Centre d'intégration","chat.copy.interactiveTerminal_a0b76f34":"Terminal interactif","chat.copy.interactiveWorkspaceShell_cada4730":"Shell d'espace de travail interactif","chat.copy.inviteByEmailOrUsernameThe_83671d35":"Invitez par e-mail ou par nom d'utilisateur. Le service applicatif résout cette valeur avant d’accorder l’accès au projet.","chat.copy.inviteToProject_d1cc986a":"Inviter au projet","chat.copy.keepThisTabVisibleInThe_506ff6ed":"Gardez cet onglet visible dans la bande d'onglets pendant que vous changez de contexte.","chat.copy.key_c67dd20e":"Clé","chat.copy.keyboardMode_648b32a7":"Mode clavier","chat.copy.keyboardShortcuts_26669547":"Raccourcis clavier","chat.copy.keyboardShortcuts_b465751c":"Raccourcis clavier","chat.copy.keyLabelEGDeployKey_058a1d24":"Étiquette de clé (par exemple, clé de déploiement)","chat.copy.keyType_3b13fb6c":"Type de clé","chat.copy.keyValue_a4409af0":"KEY=value","chat.copy.keyValueAnotherKeyValue_36d39107":"KEY=value ANOTHER_KEY=value","chat.copy.last_d1c69a85":"Dernier","chat.copy.last15Minutes_7cb95edc":"15 dernières minutes","chat.copy.last24Hours_99d63362":"Dernières 24 heures","chat.copy.lastHour_1e84a813":"Dernière heure","chat.copy.latestScan_25d91d34":"Dernière analyse","chat.copy.latestStatus_d9f96f98":"Dernier statut","chat.copy.launchConfiguration_a3b98e4e":"Configuration de lancement","chat.copy.launchesRunInTheRealWorkspace_307c6320":"Les lancements s’exécutent dans l’environnement d’exécution réel de l’espace de travail. Les trames, variables et étapes en pause apparaissent lorsque l’adaptateur configuré signale un état en pause.","chat.copy.launchJsonConfig_018615eb":"configuration launch.json","chat.copy.leaveBlankToLetECode_d7db4b95":"Laissez vide pour laisser E-Code déduire le framework à partir des scripts du paquet et des fichiers de configuration.","chat.copy.legacyWorkspaceExtensionsReadOnly_a2563ac6":"Extensions d'espace de travail héritées (lecture seule) :","chat.copy.library_b8100f5b":"Bibliothèque","chat.copy.light_a36ef8ab":"Lumière","chat.copy.limit_24d948e4":"Limite","chat.copy.limitsAreRenderedFromTheBilling_d2a0ca4f":"Les limites sont affichées à partir de l'API de facturation au lieu d'une chaîne plate séparée par des virgules.","chat.copy.line_264f39ca":"ligne","chat.copy.line_ea967600":"Ligne","chat.copy.liveProcessAndPreviewPortState_e565a816":"Processus en direct et aperçu de l’état du port à partir de l’agent d’espace de travail.","chat.copy.liveWorkspaceShellRuntimeFilesProcesses_b135207c":"Shell actif de l’espace de travail, fichiers de l’environnement d’exécution, processus, ports, environnement du projet et contrôles SSH pour","chat.copy.loadingAgentMemory_947414eb":"Chargement de la mémoire de l'agent…","chat.copy.loadingChart_f9755ad2":"Chargement du graphique...","chat.copy.loadingTerminal_641ac822":"Chargement du terminal...","chat.copy.loadingTheVote_56f791d9":"Chargement du vote…","chat.copy.loadingWorkspacePanels_3d3423fa":"Chargement des panneaux de l'espace de travail","chat.copy.lockfiles_9596c974":"Fichiers de verrouillage","chat.copy.locks_01175ae5":"Serrures","chat.copy.logsLatestRun_b1c6c18a":"Journaux – dernière exécution (","chat.copy.managedCreditsUseECodePlatform_ee651c81":"Les crédits gérés utilisent la facturation de la plateforme E-Code. BYOK stocke un secret de projet et achemine les appels via la clé de votre fournisseur.","chat.copy.managedPlatformCredits_0f0a513d":"Crédits de plateforme gérée","chat.copy.manifest_e63e4519":"Manifeste","chat.copy.manifests_7bd7947c":"Manifestes","chat.copy.manualCheckpoint_b29f671a":"Point de contrôle manuel","chat.copy.manualCheckpointViaSnapshot_11e1a834":"Point de contrôle manuel via /snapshot","chat.copy.manualExportOnly_ca92d00c":"Exportation manuelle uniquement","chat.copy.manualOnly_aaf64b3f":"Manuel uniquement","chat.copy.marketplace_983095c0":"Place de marché","chat.copy.marketplaceExtensions_c006e268":"Extensions de la place de marché","chat.copy.membersCanLeaveFileCommentsWithout_9485a8e7":"Les membres peuvent laisser des commentaires sur les fichiers sans nécessiter de verrouillage de fichier.","chat.copy.memoryContent_66fe7c72":"Contenu de la mémoire","chat.copy.microphoneAccessIsBlockedAllowThe_84aa8fa0":"L’accès au microphone est bloqué. Autorisez ce site à utiliser le microphone dans les paramètres de votre navigateur pour activer la reconnaissance vocale.","chat.copy.dictationNoSpeech":"Aucune parole détectée. Appuyez sur le micro et parlez.","chat.copy.dictationNoMicrophone":"Aucun micro détecté.","chat.copy.dictationNetwork":"La dictée a besoin d’une connexion réseau.","chat.copy.min_145a01fb":"/min","chat.copy.minimum8Characters_77c6662e":"8 caractères minimum","chat.copy.missingProjectIdReloadTheIde_66a40459":"Identifiant du projet manquant. Rechargez l’IDE et réessayez.","chat.copy.monitoring_a8143458":"Supervision","chat.copy.moreAgentActions_b515ee74":"Plus d'actions d'agent","chat.copy.moreEditorStatus_8a1aa94a":"Plus de détails sur l’éditeur","chat.copy.moreIdePanels_d3cb95e1":"Plus de panneaux IDE","chat.copy.moreShellActions_b0815143":"Plus d'actions Shell","chat.copy.move_76cdb950":"Déplacer","chat.copy.moveRenameObject_4ed5265d":"Déplacer/renommer un objet","chat.copy.movesTheObjectToTheNew_402bdb5f":"Déplace l'objet vers la nouvelle clé à l'intérieur du compartiment du projet.","chat.copy.msg_19f34ee1":"message","chat.copy.multiAgentConsensus_6ab6c619":"Consensus multi-agents","chat.copy.multiFactorAuthentication_2ee1f6c6":"Authentification multifacteur","chat.copy.myVariable_7d794385":"MY_VARIABLE","chat.copy.myWorkflow_c637a95c":"Mon flux de travail","chat.copy.myWorkflows_681b11f1":"Mes flux de travail","chat.copy.name_709a2322":"Nom","chat.copy.nameAuthorTagOrCapability_a6726d8f":"Nom, auteur, étiquette ou capacité...","chat.copy.navigateSelectEscClose_69f03d69":"↑↓ naviguer · ↵ sélectionner · esc fermer","chat.copy.never_80c3052d":"Jamais","chat.copy.newChat_009bf6b9":"Nouvelle discussion","chat.copy.newCheckpoint_3480863c":"+ Nouveau point de contrôle","chat.copy.newestOnTheRight_f96e7c59":", le plus récent à droite.","chat.copy.newFile_3cb7ea0f":"Nouveau fichier","chat.copy.newFolder_a711999b":"Nouveau dossier","chat.copy.newMemory_c8ff73b0":"Nouveau souvenir","chat.copy.newObjectKey_e45fdbc8":"Nouvelle clé d'objet","chat.copy.newPassword_d850ee18":"Nouveau mot de passe","chat.copy.newScript_03e075be":"Nouveau scénario","chat.copy.newTab_bbeec6fc":"Nouvel onglet","chat.copy.newVariable_7adfa76b":"Nouvelle variable","chat.copy.newWorkflow_c1418c2d":"Nouveau flux de travail","chat.copy.next_8bbb03ad":". Suivant :","chat.copy.nextRun_6c03cbdc":"Prochaine exécution","chat.copy.nextTab_84c508a2":"Onglet suivant","chat.copy.no_816c52fd":"Non","chat.copy.noActivePresenceYet_5bb4c6e2":"Pas de présence active pour l'instant.","chat.copy.noActiveSessionsReturnedByApi_93156dfd":"Aucune session active.","chat.copy.noActivityMatchesTheCurrentFilters_b352e1bf":"Aucune activité ne correspond aux filtres actuels.","chat.copy.noAgentMemoriesRecordedForThis_538bbffe":"Aucun souvenir d'agent enregistré pour ce projet pour l'instant.","chat.copy.noAiChangesAreWaitingFor_625a8e45":"Aucune modification de l’IA n’est en attente d’examen. Les modifications acceptées et rejetées sont appliquées automatiquement.","chat.copy.noApiKeysCreated_f68337b0":"Aucune clé API créée","chat.copy.noArchivedConversationBranchesForThis_d64f39a6":"Aucune branche de conversation archivée pour ce projet pour l'instant.","chat.copy.noBillingLimitsReturnedByApi_68d00609":"Aucune limite de facturation définie.","chat.copy.noBreakpointsConfigured_cac0d3f6":"Aucun point d'arrêt configuré.","chat.copy.noBuiltinSkillsAreAvailable_22eb212a":"Aucune compétence intégrée n'est disponible.","chat.copy.noCheckpointsMatchThisSearch_aef33bf2":"Aucun point de contrôle ne correspond à cette recherche.","chat.copy.noCheckpointsYet_0cd8841d":"Pas encore de points de contrôle","chat.copy.noCommentsYet_207b24fc":"Pas encore de commentaires.","chat.copy.noCommitsInThisWorkspaceYet_0a787c26":"Aucun commit dans cet espace de travail pour le moment.","chat.copy.noCommunitySkillsMatchQuery_4c1d9a2e":"Aucune compétence communautaire ne correspond à « {value0} ».","chat.copy.noConnectedIntegrations_b428bc03":"Aucune intégration connectée","chat.copy.noConnectedIntegrationsYet_23fcaf4d":"Aucune intégration connectée pour l'instant.","chat.copy.noConversationToCopy_cac64e35":"Aucune conversation à copier","chat.copy.noConversationToExport_424b736d":"Aucune conversation à exporter","chat.copy.noCustomDomainsYet_d9c8b21d":"Aucun domaine personnalisé pour l'instant","chat.copy.noDebugSessionHasBeenLaunched_124153a2":"Aucune session de débogage n'a encore été lancée.","chat.copy.nodeInspectorApp_25e2551a":"Inspecteur de nœud : application","chat.copy.noDeploymentLogsYet_8f8bec37":"Aucun journal de déploiement pour l'instant.","chat.copy.noDeploymentRecordedForThisProject_8c58faca":"Aucun déploiement enregistré pour ce projet pour l'instant.","chat.copy.noDeploymentsYet_b00d97cd":"Aucun déploiement pour l'instant","chat.copy.noEnvironmentVariableMatchesThisSearch_71d294b1":"Aucune variable d'environnement ne correspond à cette recherche.","chat.copy.noEnvironmentVariables_6b838fa1":"Aucune variable d'environnement.","chat.copy.noEventStreamsConfigured_63fc1f4d":"Aucun flux d'événements configuré","chat.copy.noExtensionsInstalledYetInstallOne_d6597fc4":"Aucune extension installée pour le moment. Installez-en une depuis la place de marché ci-dessous.","chat.copy.noFeaturesFound_295ba03b":"Aucune fonctionnalité trouvée","chat.copy.noFileManifestWasRecordedFor_67abbaf6":"Aucun manifeste de fichier n'a été enregistré pour ce point de contrôle.","chat.copy.noFilesLoaded_de0672aa":"Aucun fichier chargé.","chat.copy.noFilesLoadedYet_8eb60de2":"Aucun fichier chargé pour l'instant.","chat.copy.noFileSnapshotIsAvailableFor_43c662d0":"Aucun instantané de fichier n'est disponible pour ce point de contrôle, vos fichiers resteront donc intacts. Seule la mémoire de l'Agent sera réinitialisée.","chat.copy.noHistoryToClear_790efa27":"Aucun historique à effacer","chat.copy.noIndividualClaimsWereVotedOn_b957dd3e":"Aucune réclamation individuelle n'a été votée.","chat.copy.noMatchingCommandToolOrFile_949660c4":"Aucune commande, outil ou fichier correspondant.","chat.copy.noMultiAgentConsensusRunsRecorded_333b707f":"Aucune exécution de consensus multi-agent enregistrée pour ce projet pour le moment. Les enregistrements de consensus apparaissent ici après qu'une exécution de sous-agent parallèle ait abouti à une décision.","chat.copy.noOpenTabsMatchYourSearch_c9496ce2":"Aucun onglet ouvert ne correspond à votre recherche.","chat.copy.noPackageJsonHasBeenIndexed_1523ebeb":"Aucun package.json n'a été indexé pour cet espace de travail.","chat.copy.noPausedFrameStartALaunch_7af5fa04":"Aucune image en pause. Démarrez une configuration de lancement avec inspecter/debugpy et faites une pause sur un point d'arrêt pour remplir les cadres de pile, les étendues et les variables.","chat.copy.noPersistentMemoriesStoredForThis_322165dc":"Aucun souvenir persistant n'est encore stocké pour ce projet.","chat.copy.noPortsDetectedYetStartYour_3bba07f1":"Aucun port détecté pour l'instant. Démarrez votre application (elle doit écouter sur un port) et actualisez.","chat.copy.noPreviewPortsOpen_fb7dda37":"Aucun port d’aperçu n’est ouvert.","chat.copy.noProblemsDetected_2b9a1d7d":"Aucun problème détecté","chat.copy.noProjectAgentHistoryYet_3aa0ec67":"Aucun historique d'agent de projet pour l'instant.","chat.copy.noProjectCollaborators_3bcac170":"Aucun collaborateur du projet.","chat.copy.noProjectSecrets_f3f1ca38":"Aucun secret de projet.","chat.copy.noProtocolPathOrPortExample_d3c7f2f8":"Aucun protocole, chemin ou port. Exemple : app.example.com.","chat.copy.noRemoteConfiguredConnectOneIn_c5d82469":"Aucun dépôt distant configuré : connectez-en d'abord un dans les paramètres du panneau Git.","chat.copy.noRunsYetTheFirstOne_ba1ed340":"Aucune course pour l'instant. Le premier apparaîtra ici après le déclenchement du planning.","chat.copy.noRuntimeProcessesReported_f02fbd04":"Aucun processus en cours pour l’instant.","chat.copy.noSshConnectionsConfigured_149be10e":"Aucune connexion SSH configurée.","chat.copy.noTargetWorkflow_eb5ef507":"Aucun flux de travail cible","chat.copy.noTasksConfiguredForThisWorkflow_e345761c":"Aucune tâche configurée pour ce flux de travail.","chat.copy.notificationPreferences_a92e15bc":"Préférences de notifications","chat.copy.noToolsFoundFor_57552084":"Aucun outil trouvé pour \"","chat.copy.notScheduledEnterACronExpression_4b9e799a":"Non programmé. Entrez une expression cron (par ex.","chat.copy.noWebhooksConfigured_8cb1dd66":"Aucun webhook configuré","chat.copy.npmIPgBcryptjsJsonwebtokenCookie_479d8370":"npm i pg bcryptjs jsonwebtoken cookie-parser","chat.copy.npmRunDev_4eedebe9":"npm run dev","chat.copy.objectStorageIsNotAvailableYet_0f2325e6":"Le stockage d'objets n'est pas encore disponible","chat.copy.occurrences_11e49537":"occurrences détectées","chat.copy.of_de04fa0e":"de","chat.copy.offline_e01fa717":"Hors ligne","chat.copy.onceYourWorkspaceProducesDataIt_1de76193":"Une fois que votre espace de travail produit des données, elles apparaîtront ici automatiquement.","chat.copy.onlineUsersWithLiveCursorAnd_ea5daf10":"utilisateurs en ligne avec curseur en direct et synchronisation de sélection.","chat.copy.onlyActionsBackedByPlatformRoutes_8db7a78b":"Seules les actions soutenues par les routes de plateforme sont affichées ici.","chat.copy.open_6f4789b0":"Ouvrir →","chat.copy.open_cf9b7706":"Ouvert","chat.copy.openai_a19ee5a9":"OpenAI","chat.copy.openAiAgentPanel_17b0ac72":"Ouvrir le panneau de l'agent IA","chat.copy.openAiAgentPanelCmdL_e8c479b3":"Ouvrir le panneau de l'agent IA (Cmd+L)","chat.copy.openAToolOrAskThe_f1c45f7a":"Ouvrez un outil ou demandez à l'agent de commencer.","chat.copy.openAToolProjectFileOr_3d5a9427":"Ouvrez un outil, un fichier de projet ou une commande dans cet espace de travail.","chat.copy.openBillingManagement_e4f3b4fc":"Gestion de la facturation ouverte","chat.copy.openGithubSecurityTab_ee1f0bac":"Ouvrez l'onglet Sécurité de GitHub","chat.copy.openInNewWindow_a75732d8":"Ouvrir dans une nouvelle fenêtre","chat.copy.openNewTab_22fde835":"Ouvrir un nouvel onglet","chat.copy.openPreview_7a3aa872":"Ouvrir l'aperçu","chat.copy.openProjectFile_f9fc8bf6":"Ouvrir le fichier de projet","chat.copy.openrouter_12ecf701":"OpenRouter","chat.copy.openTheLogsPanelToInspect_cc12758f":"). Ouvrez le panneau Journaux pour inspecter la piste d'audit brute.","chat.copy.optionalCommentEGYouHost_de88ef9c":"Commentaire facultatif (par exemple, vous@hôte)","chat.copy.optionalDomainToAttachToThe_839fb219":"Domaine facultatif à attacher au déploiement après vérification DNS.","chat.copy.optionalGitRemoteUrlUsedBy_d9896847":"URL distante Git facultative utilisée par les fournisseurs qui déploient à partir d'un référentiel.","chat.copy.optionalPrivateKeyStoredAsA_2aecf154":"Clé privée facultative stockée en tant que secret du projet","chat.copy.organizationOrWorkspace_f81f84d0":"Organisation ou espace de travail","chat.copy.outgoingEndpointsPersistedInProjectBackend_e4b52238":"Les points de terminaison sortants ont été enregistrés dans la configuration du service applicatif du projet.","chat.copy.outputDirectory_ba9028f4":"Répertoire de sortie","chat.copy.outputTokens_b879f52d":"Jetons de sortie","chat.copy.overwritesExisting_b450bd78":"écrase l'existant","chat.copy.packageHealthChecks_f1ef1cd6":"Contrôles d’intégrité des paquets","chat.copy.packageInstallAndMaintenanceActions_7e7d15e6":"Actions d’installation et de maintenance des paquets","chat.copy.packageIntelligence_2bfabe16":"Intelligence des paquets","chat.copy.packageManager_a069a02e":"Gestionnaire de paquets","chat.copy.packages_0a999012":"Paquets","chat.copy.pairProgrammingLink_be0c8ac8":"Lien de programmation en binôme","chat.copy.panels_8dfeed48":"Panneaux","chat.copy.parallel_afc12957":"Parallèle","chat.copy.passwordChangesAreProcessedByAuth_e49364ef":"Les modifications de mot de passe sont traitées par `/auth/password` et auditées.","chat.copy.pasteAEnvFileOne_7111ba2a":"Collez un fichier .env – un","chat.copy.pasteTheProviderUrlExactlyAs_fbf1c1d4":"Collez l'URL du fournisseur exactement comme indiqué par le tableau de bord de votre base de données.","chat.copy.pendingAiChanges_69a074a3":"Modifications de l'IA en attente","chat.copy.period_170a28a9":"Période","chat.copy.perLineCommentsAndBlankLines_9af5356e":"par ligne (les commentaires et les lignes vides sont ignorés)","chat.copy.permanentlyDeletesTheProjectBucketAnd_5f3e0981":"Supprime définitivement le bucket du projet et TOUS ses objets. Cela ne peut pas être annulé.","chat.copy.permanentlyDeletesTheProjectBucketAnd_850cc916":"Supprime définitivement le compartiment du projet et tous les objets qu'il contient. Cela ne peut pas être annulé.","chat.copy.permanentlyDeleteThisAccountTheApi_002c6691":"Supprimez définitivement ce compte. L'API audite la demande, supprime l'utilisateur et efface cette session.","chat.copy.persistentAgentMemory_46293406":"Mémoire d'agent persistante","chat.copy.pinnedTerminal_c8fe22f6":"Borne épinglée","chat.copy.pinnedTerminalViews_49687702":"Vues de terminal épinglées","chat.copy.plainEnvironmentVariablesAddedForThis_0d76b791":"Variables d'environnement simples ajoutées pour ce déploiement. Ne collez pas de secrets ici.","chat.copy.plainVariable_dd1fe819":"Variable simple","chat.copy.planControl_b30ffa4e":"Contrôle des plans","chat.copy.planUsageAndBillingForThis_c9dca5c9":"Plan, utilisation et facturation pour ce compte.","chat.copy.port_fe035157":"Port réseau","chat.copy.port3000_ec45ac33":"--port 3000","chat.copy.portsOpenedByTheRunningWorkspace_ef815c2c":"Ports ouverts par l'espace de travail en cours d'exécution. Ouvrez l'aperçu d'un port, choisissez le port principal ou définissez sa visibilité.","chat.copy.postgresqlUserPasswordHostDbSslmode_263921bc":"postgresql://user:password@host/db?sslmode=require","chat.copy.prefixFolder_db73cfed":"Préfixe (dossier)","chat.copy.preparingScannerProfile_eaa96b71":"Préparation du profil du scanner","chat.copy.presence_89a8a335":"Présence","chat.copy.pressEscToClose_083ab5a6":"Appuyez sur Échap pour fermer","chat.copy.preview_f1fbb2b4":"Aperçu","chat.copy.previewAvailable_4a051188":"Aperçu disponible","chat.copy.previewChangedFiles_e59d9680":"Aperçu des fichiers modifiés","chat.copy.previewMemoryPayload_23b406cf":"Aperçu de la charge utile de la mémoire","chat.copy.printSavePdf_6b15347b":"Imprimer / Enregistrer le PDF","chat.copy.problems_8e6b86dc":"Problèmes","chat.copy.procedural_4fce7cb8":"Procédure","chat.copy.processesAndPorts_52df812f":"Processus et ports","chat.copy.prod_23dc0c60":"prod /","chat.copy.production_df70fc79":"Production","chat.copy.productionApiKey_43fad6cd":"Clé API de production","chat.copy.productionBastion_786805c7":"Bastion de la production","chat.copy.productionRoutingDnsVerificationAndManaged_f5631fc2":"Routage de production, vérification DNS et TLS géré","chat.copy.profile_ff4fc027":"Profil","chat.copy.profileSessionsOrganizationsProjectsUsageAnd_fc485c37":"Profil, sessions, organisations, projets, utilisation et coûts de l'IA au format JSON.","chat.copy.project_f6f4da8d":"Projet","chat.copy.projectAccessIsEnforcedByThe_280521ba":"L'accès au projet est contrôlé par le service applicatif avant l'édition, les commentaires et l'accès au terminal.","chat.copy.projectActivity_d2b7b50c":"Activité du projet","chat.copy.projectActivityAuditTrail_57e9c542":"Piste d'audit des activités du projet","chat.copy.projectAgentHistory_c9f06d3e":"Historique des agents de projet","chat.copy.projectAutomationRunsAgainstTheActive_bec66266":"L'automatisation du projet s'exécute sur l'espace de travail isolé actif","chat.copy.projectBucket_b51aaf40":"Bucket du projet","chat.copy.projectCheckpoints_f1ddc705":"Points de contrôle du projet","chat.copy.projectDescription_f9e31cfd":"Descriptif du projet","chat.copy.projectIdentitySecurityBillingAiCredentials_63be3c90":"Projet, identité, sécurité, facturation, informations d'identification IA et préférences IDE soutenues par les API de la plateforme.","chat.copy.projectLinkCopied_d1bf8999":"Lien du projet copié","chat.copy.projectMetadata_fca99c55":"Métadonnées du projet","chat.copy.projectName_ab9773fc":"Nom du projet","chat.copy.projectScopedMemoriesAreEmbeddedWith_392a706f":"Les mémoires du projet sont intégrées au fournisseur de service applicatif configuré et récupérées avant les prochaines exécutions de l'agent IDE.","chat.copy.projectStoragePlusRuntimePackageFiles_493e5b95":"Stockage du projet et fichiers de paquets de l’environnement d’exécution","chat.copy.projectVariablesAndEncryptedSecretsLoaded_095415da":"Variables de projet et secrets chiffrés chargés depuis les stockages du service applicatif.","chat.copy.provider_7ceee3f3":"Fournisseur","chat.copy.providerNeedsConfig_9a1c7f20":"{provider} — non configuré ({missing})","chat.copy.providerModesKeysAndRoutingAre_9774aeff":"Les modes, les clés et le routage du fournisseur sont conservés dans les secrets du projet ; le comportement des agents est exposé ici.","chat.copy.pushViaNativeRuntime_91ec78cc":"Push via l’environnement d’exécution natif","chat.copy.quickAccessTools_3bf4f7bd":"Outils d'accès rapide","chat.copy.quickFilters_6bab4fad":"Filtres rapides","chat.copy.quota_c6ecc23d":"Limite","chat.copy.readOnly_2a6216ee":"Lecture seule","chat.copy.readOnlyLink_532e235f":"Lien en lecture seule","chat.copy.readWrite_7c0d355c":"Lire et écrire","chat.copy.recent_76eec760":"Récent","chat.copy.recentFiles_2944f38c":"FICHIERS RÉCENTS","chat.copy.recentRuns_af7051db":"Exécutions récentes","chat.copy.recommendedDatabaseUrlMysqlUrlMongodb_95ee0c89":"Recommandé : DATABASE_URL, MYSQL_URL, MONGODB_URI ou REDIS_URL.","chat.copy.reconnected_43e3de6a":"Reconnecté","chat.copy.reconnecting_9d80f91f":"Reconnexion","chat.copy.redeploy_620446dc":"Redéployer","chat.copy.redirectWww_0450d04e":"Rediriger www","chat.copy.refreshFiles_75bfab07":"Actualiser les fichiers","chat.copy.refreshNow_29664b3f":"Actualiser maintenant","chat.copy.refreshRuntime_f5c4addc":"Actualiser l’environnement d’exécution","chat.copy.refreshRuntimeLogs_1554f590":"Actualiser les journaux de l’environnement d’exécution","chat.copy.regex_6e681935":"Expression régulière","chat.copy.rejectAll_35c291a4":"Rejeter tout","chat.copy.rejectFile_a52b87d3":"Rejeter le fichier","chat.copy.reloadLogsFromBackend_6896c671":"Recharger les journaux depuis le service applicatif","chat.copy.remove_e963907d":"Supprimer","chat.copy.removeKey_582d9a78":"Supprimer la clé","chat.copy.removeThisTask_0eb078df":"Supprimer cette tâche ?","chat.copy.repositoryUrl_ca38850c":"URL du référentiel","chat.copy.resetDraft_cdca2702":"Réinitialiser le brouillon","chat.copy.resizeAiAgentPanel_2b57c38b":"Redimensionner le panneau de l'agent IA","chat.copy.resizeFilesPanel_95c3842c":"Redimensionner le panneau des fichiers","chat.copy.resizePinnedTerminal_a5c5a9c6":"Redimensionner le terminal épinglé","chat.copy.resources_87df60de":"Ressources","chat.copy.restart_b134bd55":"Redémarrer","chat.copy.restore_3cbe6d6b":"Restaurer","chat.copy.restoreAKnownGoodProjectState_ae594c01":"Restaurez un bon état de projet connu ou créez un point de contrôle manuel avant les modifications risquées.","chat.copy.resumeFollowModeAndJumpTo_ed8991ee":"Reprenez le mode suivi et passez à la ligne de journal la plus récente","chat.copy.retry_9f5cd8a2":"Réessayer","chat.copy.reviewAiChanges_5c09969d":"Examiner les modifications apportées à l'IA","chat.copy.reviewDiff_cfcf10aa":"Examiner les différences","chat.copy.reviewMfaPolicyRecoveryAndSecurity_753c4979":"Vérifiez les paramètres de stratégie MFA, de récupération et de sécurité.","chat.copy.revoke_0be72075":"Révoquer","chat.copy.revoked_85f17ac0":"Révoqué","chat.copy.revokeHardDisableAndKeepFor_cfee988f":"Révoquer : désactiver matériellement et conserver pour la piste d'audit","chat.copy.role_c3f104d1":"Rôle","chat.copy.roleBasedCollaborators_cd5ada44":"Collaborateurs basés sur les rôles","chat.copy.rolePermissions_4b9cd8f7":"Autorisations de rôle","chat.copy.rollback_f28daee2":"Restauration","chat.copy.rollbackHere_643ef4ec":"Restaurer ici","chat.copy.rollbackToCheckpoint_b3cc16a0":"Retour au point de contrôle","chat.copy.routineInternalEvent_1f36f1ff":"événement interne de routine","chat.copy.rsa_01e4715c":"rsa","chat.copy.run_b1b39260":"Exécuter","chat.copy.runButton_d1e247ba":"Bouton Exécuter","chat.copy.runNow_2af00e23":"Exécuter maintenant","chat.copy.runsCommandsThroughTheRuntimeCommand_7f7c4938":"Exécute des commandes via l’API de commandes de l’environnement d’exécution avec prévention des abus.","chat.copy.runScript_9c520cef":"Exécuter le script","chat.copy.runSecurityAudit_2cc855d6":"Exécuter un audit de sécurité","chat.copy.runsScaSecretScanningAndLightweight_97d45880":"Exécute l'analyse des dépendances, la détection de secrets et une analyse statique légère sur l'espace de travail actif. Les résultats, les planifications et les rapports sont stockés dans l'état du service applicatif du projet.","chat.copy.runTheMigrationThen_e18920e3":", lancez la migration, puis","chat.copy.runtime_c4740e4c":"Environnement d’exécution","chat.copy.runtimeDiagnosticsPreviewErrorsAndWarnings_0b9c0dad":"Les diagnostics de l’environnement d’exécution, les erreurs d’aperçu et les avertissements apparaîtront ici lorsqu’ils seront signalés.","chat.copy.runtimeOutput_fb71b522":"Sortie de l’environnement d’exécution","chat.copy.runtimePanels_8560a91c":"Panneaux de l’environnement d’exécution","chat.copy.runWorkflow_f59d958d":"Exécuter le flux de travail","chat.copy.sastOnly_fef4382e":"SAST uniquement","chat.copy.save_efc007a3":"Enregistrer","chat.copy.saveAiRouting_70900185":"Enregistrer le routage IA","chat.copy.saveConfig_64e1de9d":"Enregistrer la configuration","chat.copy.saveKey_f5216b3a":"Enregistrer la clé","chat.copy.saveKeyboardShortcuts_65d1bc6e":"Enregistrer les raccourcis clavier","chat.copy.saveMemory_d739576e":"Économiser de la mémoire","chat.copy.saveMode_5e23f893":"Mode sauvegarde","chat.copy.savePreferences_d8ab74e1":"Enregistrer les préférences","chat.copy.saveProfile_f597c0e8":"Enregistrer le profil","chat.copy.saveRouting_bedccc70":"Enregistrer le routage","chat.copy.saveScannerSettings_82310df7":"Enregistrer les paramètres du scanner","chat.copy.saveSchedule_f2202071":"Enregistrer le planning","chat.copy.saveSettings_913aba9f":"Enregistrer les paramètres","chat.copy.saveSsh_9207c237":"Enregistrer SSH","chat.copy.saveTheCurrentFileImmediatelyAutosave_0d1746e1":"Enregistrez immédiatement le fichier actuel. La sauvegarde automatique gère toujours les modifications normales.","chat.copy.saveVariable_568937f7":"Enregistrer la variable","chat.copy.scaffoldRealEmailPasswordAuthInto_9954f11b":"Échafaudez une véritable authentification par e-mail/mot de passe dans cette application - un","chat.copy.scanCancelledLocallyNoCompletedScan_344286af":"Scan annulé localement. Aucune analyse terminée n'a été acceptée dans cette session de navigateur.","chat.copy.scanCancelledLocallyReloadThePanel_919bd102":"Analyse annulée localement. Rechargez le panneau pour confirmer si le service applicatif a stocké une exécution partielle.","chat.copy.scanComparison_3b588c46":"Comparaison des analyses","chat.copy.scanCompletedResultsWereRefreshedFrom_7f5ecdf8":"Analyse terminée. Les résultats ont été actualisés à partir de l’état du service applicatif.","chat.copy.scannerProfile_60cef8cf":"Profil du scanner","chat.copy.scaOnly_2a97c363":"SCA uniquement","chat.copy.scheduleCadence_aab51f97":"Cadence du planning","chat.copy.scheduleCron_dc5dc87e":"Calendrier (cron)","chat.copy.scheduledRuns_8776dc41":"Exécutions programmées","chat.copy.scope_4651a34e":"Portée","chat.copy.scopeNameReactQueryViteLatest_2c453a8a":"@scope/name, react-query, vite@latest","chat.copy.scriptRunner_0765a7f9":"Exécuteur de script","chat.copy.scrollToTheLatestMessage_705d9356":"Faites défiler jusqu'au dernier message","chat.copy.search_bce06414":"Rechercher","chat.copy.searchAgentCheckpoints_471244eb":"Points de contrôle des agents de recherche","chat.copy.searchCheckpointsCommitsPromptsOrAgent_7b472db0":"Rechercher des points de contrôle, des validations, des invites ou des réponses d'agent","chat.copy.searchCommands_5ae3aa24":"Commandes de recherche","chat.copy.searchCommandsToolsOrFiles_01d43db7":"Rechercher des commandes, des outils ou des fichiers...","chat.copy.searchCommandsToolsOrFiles_b3328825":"Rechercher des commandes, des outils ou des fichiers","chat.copy.searchFiles_ec88257e":"Rechercher des fichiers","chat.copy.searchForAWorkflow_77008afd":"Rechercher un flux de travail...","chat.copy.searchForToolsAndFiles_6730018d":"Rechercher des outils et des fichiers","chat.copy.searchIntegrations_febbd60d":"Rechercher des intégrations...","chat.copy.searchLogs_48225af1":"Journaux de recherche","chat.copy.searchNameVersionManifestScope_c42b6712":"Rechercher le nom, la version, le manifeste, la portée","chat.copy.searchObjects_e9aa6bcc":"Rechercher des objets","chat.copy.searchOpenTabs_971c2f61":"Rechercher des onglets ouverts","chat.copy.searchProjectActivity_5066f3e5":"Rechercher une activité de projet","chat.copy.searchSkillsByNameRepoOr_32760210":"Rechercher des compétences par nom, dépôt ou catégorie","chat.copy.searchTabs_04552c6d":"Rechercher dans les onglets…","chat.copy.searchTheMcpMarketplace_48179a04":"Rechercher dans la place de marché MCP","chat.copy.searchThisFolder_3bbb9af2":"Recherchez ce dossier…","chat.copy.searchToolsFilesAndCommands_c085ba2a":"Rechercher des outils, des fichiers et des commandes…","chat.copy.secret_e5e9fa1b":"donnée secrète","chat.copy.secretName_a3321681":"Nom secret","chat.copy.secrets_1e3732ae":"Variables secrètes","chat.copy.secretsAreStoredInTheBackend_e0a856a4":"Les secrets sont stockés dans le magasin de secrets du service applicatif ; seuls les préfixes sont affichés ici.","chat.copy.secretsOnly_0b9d03ca":"Secrets seulement","chat.copy.secretsToInject_5712dba7":"Secrets à injecter","chat.copy.secretValue_50fbacc0":"Valeur secrète","chat.copy.securityAndPrivacyScanner_afeac30e":"Scanner de sécurité et de confidentialité","chat.copy.securityAuditVerdict_291c3bac":"Verdict de l'audit de sécurité","chat.copy.securityControlsCurrentlyBackedByThe_519a5a03":"Contrôles de sécurité actuellement soutenus par le service d'authentification.","chat.copy.securityRules_0148ac1c":"Règles de sécurité","chat.copy.securityScannerCoverage_c99a66ee":"Couverture du scanner de sécurité","chat.copy.securityScanProgress_036e43e1":"Progression de l'analyse de sécurité","chat.copy.securityScanTimedOutAfter90_6f170c10":"L’analyse de sécurité a expiré après 90 secondes. Aucun résultat n’a été accepté ; réessayez ou inspectez les journaux de l’environnement d’exécution.","chat.copy.seeAuthReadmeMd_b0365c1e":"(voir auth/README.md).","chat.copy.selected_835f3b50":"sélectionné","chat.copy.selfRepairHistory_79447f7a":"Historique d'auto-réparation","chat.copy.semantic_2b3a5e30":"Sémantique","chat.copy.sendProjectEventsToAnOutgoing_18c07ece":"Envoyez les événements du projet à un point de terminaison sortant.","chat.copy.sendVerificationEmail_d8fa8944":"Envoyer un e-mail de vérification","chat.copy.sequential_0edc0112":"Séquentiel","chat.copy.session_f7f1997c":"Séance","chat.copy.sessionNamesAreNormalizedFromUser_98537608":"Les noms de session sont normalisés à partir des données de l'agent utilisateur renvoyées par `/auth/sessions`.","chat.copy.settings_c7f73bb5":"Paramètres","chat.copy.settingsSections_2e7109bd":"Sections de paramètres","chat.copy.severity_de314fa0":"Gravité","chat.copy.sha256_b2d28e41":"sha256:","chat.copy.sharedProjectConfigurationAndGovernance_920219db":"Configuration et gouvernance de projet partagées.","chat.copy.shareFeedback_21af3b1c":"Partager vos commentaires","chat.copy.shareLinkCreatedCopiedToClipboard_ff151a13":"Lien de partage créé – copié dans le presse-papiers. Il n'est affiché qu'une seule fois :","chat.copy.shareLinkUrl_4e30a187":"URL du lien de partage","chat.copy.shareThisConversationAsARead_86f1bf77":"Partager cette conversation sous forme de lien en lecture seule","chat.copy.sharing_78779bad":"Partage","chat.copy.sharingAndPairProgramming_19b5e603":"Partage et programmation en binôme","chat.copy.shellActions_f8a7f542":"Actions de coquille","chat.copy.shellEnvironment_ceb651a8":"Environnement de coque","chat.copy.shellSessionLoading_f020ee73":"Chargement de la session Shell","chat.copy.shellSessions_af5dbf7c":"Sessions de shell","chat.copy.shellUnavailableOpenTheTerminalPanel_578d6a74":"Shell indisponible - ouvrez d'abord le panneau à bornes","chat.copy.shipThisProjectToALive_40d39230":"Envoyez ce projet à une URL en direct à partir de l'onglet Gérer.","chat.copy.shortcut_4e4c03ff":"raccourci","chat.copy.shortcut_e2012dea":"Raccourci","chat.copy.shortcutConflictsDetected_4514c8b4":"Conflits de raccourcis détectés","chat.copy.showDiff_78016e77":"Afficher la différence","chat.copy.showEditorStatusDetails_4ad9efe1":"Afficher les détails du statut de l'éditeur","chat.copy.shown_552a9a57":"montré","chat.copy.signInProtection_dc3322d4":"Protection de connexion","chat.copy.signOutOtherSessions_0f67c3ff":"Se déconnecter des autres sessions","chat.copy.skipTour_57bc79e3":"Passer la visite","chat.copy.snapshotCreated_69d5db4f":"Instantané créé","chat.copy.speechRecognitionIsNotAvailableIn_af2b2f6a":"La reconnaissance vocale n'est pas disponible dans ce navigateur.","chat.copy.splitActiveDown_7468f839":"Diviser les actifs","chat.copy.splitActiveRight_59014f08":"Fractionner le droit actif","chat.copy.srcAppTsx_835da56f":"src/App.tsx","chat.copy.srcServerTs_bcc09dcb":"src/server.ts","chat.copy.sshConnections_564ae345":"Connexions SSH","chat.copy.sshGitUrl_f6b1fb5f":"URL git SSH","chat.copy.staging_c9fb656c":"Préproduction","chat.copy.standardBrowserShortcuts_ac1cbde1":"Raccourcis standards du navigateur","chat.copy.startDebugging_94a77e4e":"Commencer le débogage","chat.copy.status_bae7d5be":"Statut","chat.copy.steppingIsEnabledWhenADebug_d6ee4bd3":"La progression pas à pas est activée lorsqu'un adaptateur de débogage signale une trame en pause.","chat.copy.stop_9e253470":"Arrêter","chat.copy.stopOnEntry_36fd986b":"Arrêt à l'entrée","chat.copy.storedAsAnEncryptedSecretThe_4760688f":"Stocké sous forme de secret crypté. La valeur n'est jamais renvoyée au navigateur après l'enregistrement.","chat.copy.storedMemories_fcb0b767":"Mémoires stockées","chat.copy.streamProjectEventsToAnExternal_e02f102e":"Diffusez les événements du projet vers une destination externe.","chat.copy.streamsAreProjectScopedAndBacked_3cc6a996":"Les flux sont limités au projet et soutenus par le même état d'intégration persistant.","chat.copy.stripeSecretKey_b147aa52":"STRIPE_SECRET_KEY","chat.copy.success_319e54bc":"% de réussite","chat.copy.successfulPasswordChangesRevokeOtherSessions_255563ef":"Les modifications de mot de passe réussies révoquent les autres sessions via l'API.","chat.copy.successfulPatchesAreAppliedAutomaticallyFailed_2f5dae7d":"Les correctifs réussis sont appliqués automatiquement ; la validation échouée reste en revue avec des actions de nouvelle tentative et de rejet.","chat.copy.switchLightDarkTheme_4f952812":"Changer de thème clair/sombre","chat.copy.sync_905f6309":"Synchroniser","chat.copy.system_bc0792d8":"Système","chat.copy.tabActions_b7a78b89":"Actions des onglets","chat.copy.tableMigrationAnExpressSessionJwt_120a5fe5":"migration de table, une session Express/routeur JWT (inscription/connexion/déconnexion/moi) et une page de connexion — soutenue par votre projet Postgres. Idempotent; ensembles","chat.copy.tabSwitcher_36e22491":"Sélecteur d'onglets","chat.copy.tags_848eed0f":"Étiquettes","chat.copy.targetCheckpoint_8dfbabe1":"Point de contrôle cible","chat.copy.task_7fbb727d":"tâche","chat.copy.tasks_090ec5f5":"Tâches","chat.copy.testGitAccess_ca9d5bc9":"Tester l'accès à git","chat.copy.theAgentSMemoryWillReset_1cccfbd1":"La mémoire de l'agent sera réinitialisée à ce qu'il savait de votre application au moment de ce point de contrôle.","chat.copy.theHistoryOfThisConversationIs_36dfc6fb":"L'historique de cette conversation est effacé. Cela ne peut pas être annulé.","chat.copy.theme_a797e309":"Thème","chat.copy.theseFieldsUpdateProjectsIdSettings_cd1c0bbf":"Ces champs mettent à jour `/projects/:id/settings` et apparaissent dans le fil d’Ariane de l’IDE.","chat.copy.theTaskIsRemovedFromThe_42e10863":"La tâche est supprimée du flux de travail. Cela ne peut pas être annulé.","chat.copy.theVariableIsRemovedFromThis_6e9756de":"La variable est supprimée de cette portée uniquement. Cela ne peut pas être annulé.","chat.copy.theWorkflowAndItsTasksAre_d3966253":"Le workflow et ses tâches sont supprimés. Cela ne peut pas être annulé.","chat.copy.thisIsTakingLongerThanUsual_04718c01":"Cela prend plus de temps que d'habitude : l'espace de travail est peut-être encore en cours de démarrage.","chat.copy.thisProjectHasNoWorkspaceYet_c3f6040c":"Ce projet n'a pas encore d'espace de travail. Ouvrez le projet une fois, puis installez les compétences adaptées à l'espace de travail.","chat.copy.time_6c82e6dd":"Temps","chat.copy.tipDragDropFilesAnywhereIn_330e97ac":"Astuce : faites glisser et déposez les fichiers n'importe où dans ce panneau pour les télécharger dans le dossier actuel.","chat.copy.toggleLiveTail_e5a60fa5":"Activer la queue en direct","chat.copy.toggleRegexSearch_4ed228f4":"Activer la recherche d'expressions régulières","chat.copy.togglesAreStoredPerProjectOver_7e9883ea":"Les bascules sont stockées par projet sur un catalogue intégré ; l'agent applique les compétences activées en tant que capacités.","chat.copy.toggleSplitLogView_4cbcd801":"Basculer la vue fractionnée du journal","chat.copy.toImport_f2c4337d":"importer","chat.copy.tokenTotalsAreCalculatedFromThe_40e3f3be":"Les totaux des jetons sont calculés à partir de la réponse réelle « /ai/usage ».","chat.copy.tools_9d0e510b":"OUTILS","chat.copy.totalEvents_65939a4f":"Total des événements","chat.copy.tryADifferentSearchTerm_0ba628a3":"Essayez un autre terme de recherche.","chat.copy.turnIdeasIntoWorkingSoftware_c5341c2f":"Transformez vos idées en logiciels fonctionnels","chat.copy.type_3deb7456":"Type","chat.copy.typeDeleteMyAccountToConfirm_1eff2ac0":"Tapez SUPPRIMER MON COMPTE pour confirmer","chat.copy.unableToReachIdePanelApi_d66f72aa":"Impossible d'accéder à l'API du panneau IDE","chat.copy.uninstall_a735da1d":"Désinstaller","chat.copy.up_12493f7d":"⬆ Haut","chat.copy.updatePassword_350c355e":"Mettre à jour le mot de passe","chat.copy.uploadFiles_41aca16f":"Téléverser des fichiers","chat.copy.uploadFolder_e77a1496":"Télécharger le dossier","chat.copy.usage_0bb18642":"Utilisation","chat.copy.usageMonitoring_6e358d3b":"Utilisation et surveillance","chat.copy.useAFullyQualifiedDomainWildcards_7dda886c":"Utilisez un domaine pleinement qualifié. Les caractères génériques sont activés par domaine après sa création.","chat.copy.used_02c0e4a1":"Utilisé","chat.copy.used_a073030d":"% - utilisé","chat.copy.useFallbackWhenThePrimaryProvider_b9aae73b":"Utiliser la solution de secours lorsque le fournisseur principal fait une erreur ou dépasse le quota","chat.copy.useKeyValuePairsOnePer_0a98c277":"Utilisez des paires KEY=value, une par ligne. Stockez les valeurs sensibles sous forme de secrets.","chat.copy.useMemoryInFutureAgentResponses_63f5aa36":"Utiliser la mémoire dans les futures réponses des agents","chat.copy.useOauthToImportRepositoriesAnd_f0b172ff":"Utilisez OAuth pour importer des référentiels et déverrouiller les flux de projets GitHub.","chat.copy.user_9f8a2389":"Utilisateur","chat.copy.userIdTargetid_cecbcb16":"user.id === targetId","chat.copy.userUserId_f7f4b839":"utilisateur={user.id}","chat.copy.usesTheExistingECodeBuild_2d40a6c6":"Utilise les paramètres de compilation E-Code existants et enregistre le déploiement SaaS avec des quotas, des journaux d’audit et des sorties expurgées.","chat.copy.useThePlanButtonInThe_295a8a73":"Utilisez le bouton Planifier dans la barre d'outils d'invite lorsque vous souhaitez une approbation avant les modifications.","chat.copy.v_26c12f1e":"· v","chat.copy.validationWorkflow_bfc0d82a":"validation, flux de travail","chat.copy.value_8dce170d":"Valeur","chat.copy.valueHidden_4dff2356":"Valeur masquée","chat.copy.varStatusErrorText_f1e5857c":"var(--status-error-text)","chat.copy.varStatusSuccessText_8712f526":"var(--status-success-text)","chat.copy.varStatusWarningText_58e57537":"var(--status-warning-text)","chat.copy.vcpuMemoryNoAutoscaleComputeBackend_a18a66c2":"vCPU/mémoire – aucun service applicatif de calcul Autoscale","chat.copy.verification_03128bed":"Vérification","chat.copy.viewChat_7dd435d1":"Afficher le chat","chat.copy.viewerCanInspectTheProjectMember_a3f28012":"Le spectateur peut inspecter le projet, le membre peut le modifier, l'administrateur peut gérer les collaborateurs. Le propriétaire est réservé aux transferts de propriété du projet.","chat.copy.viewerReadOnlyAccessMemberEdit_85ee87ee":"Visionneuse : accès en lecture seule. Membre : modifier et commenter. Administrateur : gérer l'accès au projet. Propriétaire : accès au niveau de la propriété.","chat.copy.visibleIdentityUsedByCommentsAudit_b250290b":"Identité visible utilisée par les commentaires, les événements d'audit et les surfaces de collaboration.","chat.copy.viteApiUrl_c5db039c":"VITE_API_URL","chat.copy.viteDatabaseApi_c73cb9ac":"VITE_, DATABASE, API","chat.copy.vote_f3f11c36":"Voter ·","chat.copy.vsPrevious_2eb3ee87":"par rapport au précédent","chat.copy.warningsInTheCurrentWorkspace_e8b37cee":"avertissements dans l'espace de travail actuel","chat.copy.watchExpressions_5a230a1a":"Expressions à surveiller","chat.copy.watchList_daa6ded7":"Expressions surveillées","chat.copy.webhooks_fdfe2da7":"Webhooks","chat.copy.webhookSigningSecret_4d07255a":"Secret de signature du webhook","chat.copy.weeklyAt0300Utc_ce446487":"Hebdomadaire à 03h00 UTC","chat.copy.welcomeToYourProject_bc14fca5":"Bienvenue dans votre projet","chat.copy.whatWillBeImpacted_e370579d":"Qu'est-ce qui sera impacté","chat.copy.whereThisSkillCameFrom_1f68b118":"D'où vient cette compétence","chat.copy.wildcard_91987ff6":"Caractère générique","chat.copy.wildcardSubdomains_56b5dec7":"Sous-domaines génériques","chat.copy.willBeSkipped_dd4df254":"sera ignoré","chat.copy.workbench_93ef7c63":"Zone de travail","chat.copy.workflow_d7a48414":"Flux de travail","chat.copy.workflows_825ce9e9":"Flux de travail","chat.copy.working_3b4dfc97":"En cours","chat.copy.workspace_4ca0a75c":"Espace de travail","chat.copy.workspaceBash_f04a2ba1":"~/workspace: bash","chat.copy.workspacePackageSummary_22202f6b":"Résumé des paquets de l’espace de travail","chat.copy.workspacePreferencesAreStoredPerProject_bd451dcb":"Les préférences de l'espace de travail sont stockées par projet et sont par défaut en mode sombre.","chat.copy.workspaceReadiness_c8a908ef":"Préparation de l'espace de travail","chat.copy.workspaceRoot_12c2483d":"Racine de l'espace de travail","chat.copy.workspaceTools_7b36c62b":"Outils d'espace de travail","chat.copy.wwwRedirect_e9d211d2":"Redirection WWW","chat.copy.x_74e0fa34":"x-","chat.copy.yet_1002ea7f":"encore","chat.copy.yourDevelopmentDatabaseWillBeRestored_5db4609a":"Votre base de données de développement sera restaurée au moment de ce point de contrôle. Cela n'affectera pas votre base de données de production.","chat.copy.yourProfileAgentMemoryAndIde_12d0409c":"Votre profil, la mémoire de l'agent et les préférences de l'IDE.","chat.copy.abstained_4b9d7cf5":"Abstention","chat.copy.accepted_61a0572c":"Accepté","chat.copy.accessTheDataAndActionsYou_90610671":"Accédez aux données et actions que vous autorisez pour cette intégration","chat.copy.addAFeature_17a8f96a":"Ajouter une fonctionnalité","chat.copy.addASmallSmokeTestOr_74d572da":"Ajoutez un petit test de fumée ou un script de validation pour le flux d'utilisateurs le plus important de ce projet, en suivant la pile existante.","chat.copy.addSmokeTests_7804b150":"Ajouter des tests de fumée","chat.copy.adjustPreviewWindowAndDeviceDisplay_6dc02f87":"Ajustez la fenêtre d’aperçu et les options d’affichage de l’appareil.","chat.copy.agentSkills_ce8667c8":"Compétences des agents","chat.copy.agentSupervisor_ac7559cf":"Superviseur d'agent","chat.copy.allIntegrations_4cf0ab99":"Toutes les intégrations","chat.copy.alternativeGitHostingAndCiPipelines_c18b2802":"Hébergement Git alternatif et pipelines CI.","chat.copy.analyzeTheCurrentProjectFilesRecent_1735206f":"Analysez les fichiers actuels du projet, la conversation récente, l’état de l’aperçu et de l’environnement d’exécution ainsi que les modifications Git, puis choisissez et implémentez l’étape suivante ayant le plus grand impact.","chat.copy.analyzeTheLatestRuntimeLogsIdentify_680e460a":"Analysez les derniers journaux de l’environnement d’exécution, identifiez la cause première et corrigez le projet afin que l’aperçu s’exécute correctement.","chat.copy.answerExplainAndInspectWithoutChanging_ec00ba1e":"Répondez, expliquez et inspectez sans modifier de fichiers ni exécuter de commandes.","chat.copy.appMetrics_a76e2b66":"Métriques de l'application","chat.copy.appPreview_9edb6188":"Aperçu de l'application","chat.copy.architect_16639cf7":"Architecte","chat.copy.ask_3562777b":"Demander","chat.copy.askAnythingAboutThisProject_ce81dd6b":"Demandez n’importe quoi sur ce projet…","chat.copy.assistant_8010d1f4":"Assistante","chat.copy.auditDataFlow_3f71c822":"Flux de données d'audit","chat.copy.auditTheCurrentUiForLayout_7be4ee43":"Vérifiez l'interface utilisateur actuelle pour la mise en page, le thème, les problèmes de réactivité et les lacunes d'interaction, puis corrigez les problèmes les plus visibles.","chat.copy.automation_a15fde51":"Automatisation","chat.copy.backend_e758ca64":"Service applicatif","chat.copy.basedOnTheLatestConversation_ec330857":"Basé sur la dernière conversation","chat.copy.basedOnTheOpenFile_d8844105":"Basé sur le fichier ouvert","chat.copy.breakpointsAndLaunchConfigs_0e342dbd":"Points d'arrêt et configurations de lancement","chat.copy.browseProjectFiles_644a8995":"Parcourir les fichiers du projet","chat.copy.buildProject_26b3ae15":"Compiler le projet","chat.copy.buildTheProjectDockerImage_b3eee5e3":"Créez l’image Docker du projet.","chat.copy.buildTheProjectForProduction_b2a7b008":"Compilez le projet pour la production.","chat.copy.byzantinePbft_95a6d828":"Byzantin (PBFT)","chat.copy.checkCodeStyleAndStaticIssues_2d6e0695":"Vérifiez le style de code et les problèmes statiques.","chat.copy.checkConfig_7a9e01b2":"Vérifier la configuration","chat.copy.checkTheProjectForDeploymentReadiness_57818802":"Vérifiez que le projet est prêt au déploiement : commande de compilation, variables d’environnement, répertoire de sortie, risques liés à l’environnement d’exécution et tout blocage avant la publication.","chat.copy.cleanDependencies_d00bb9d3":"Nettoyer les dépendances","chat.copy.clickAnElementInPreviewAnd_ba396983":"Cliquez sur un élément en aperçu et accédez à son fichier source.","chat.copy.codeEditor_2faee521":"Éditeur de codes","chat.copy.communication_ade0d50c":"Communications","chat.copy.configProviderContextDetected_f4d95af6":"Contexte de configuration/fournisseur détecté","chat.copy.connectedServices_35c4834d":"Services connectés","chat.copy.connectRepositoriesForCodeSyncAnd_7a7a39e3":"Connectez des référentiels pour la synchronisation du code et CI/CD.","chat.copy.continueLastRequest_6d14c48e":"Continuer la dernière demande","chat.copy.continuousIntegrationAndDelivery_725543ac":"Intégration et livraison continues.","chat.copy.conversationalAnswersQuestionsAndProposesScoped_01156362":"Conversationnel : répond aux questions et propose des modifications ciblées, mais attend votre départ.","chat.copy.copyTheCurrentPreviewAddressTo_c7d1b1b6":"Copiez l'adresse d'aperçu actuelle dans votre presse-papiers.","chat.copy.coreECodeWorkflow_2622e876":"Flux de travail de base du code électronique","chat.copy.crmAndMarketingAutomation_6a8ec43f":"CRM et automatisation du marketing.","chat.copy.crossToolWorkflowAutomation_1d9b7342":"Automatisation du flux de travail multi-outils.","chat.copy.customDomains_b18c921e":"Domaines personnalisés","chat.copy.customerMessagingAndSupport_2e0907c6":"Messagerie et assistance client.","chat.copy.dashboardsAndMetricsVisualization_e0e986bf":"Visualisation de tableaux de bord et de métriques.","chat.copy.databaseDataFilesDetected_a167d972":"Base de données/fichiers de données détectés","chat.copy.databaseMigration_3325d37a":"Migration de base de données","chat.copy.dataStorage_d7b94492":"Données et stockage","chat.copy.dependenciesManager_5bf6692e":"Gestionnaire de dépendances","chat.copy.deployAndHostModernWebApps_c87b1d87":"Déployez et hébergez des applications Web modernes.","chat.copy.deploymentContextDetected_4ffe7eeb":"Contexte de déploiement détecté","chat.copy.describeAScopedEditEG_0d84e847":"Décrivez une modification ciblée…","chat.copy.describeTheSystemToDesignGoals_b6fcef66":"Décrivez le système à concevoir…","chat.copy.describeWhatYouWantTheAgent_283b294d":"Construire, corriger, refactoriser…","chat.copy.describeWhatYouWantToBuild_998d9a1a":"Décrivez ce que vous souhaitez créer, réparer ou refactoriser. Utilisez Plan en premier lorsque vous souhaitez une approbation avant les modifications.","chat.copy.designArchitectureContractsRisksAndRollout_33a8af69":"Concevez l’architecture, les contrats, les risques et les étapes de déploiement avant la mise en œuvre.","chat.copy.designCollaborationAndHandoffLinks_972088ed":"Concevoir des liens de collaboration et de transfert.","chat.copy.devops_7f3f11f5":"DevOps","chat.copy.dockerBuild_ae5f0584":"Création de l’image Docker","chat.copy.documentDatabaseIntegration_f9e95150":"Intégration de la base de données documentaire.","chat.copy.dragToGiveTheAgentOr_bc97c212":"Faites glisser pour donner plus d'espace à l'agent ou au plan de travail.","chat.copy.dragToResizeTheFileBrowser_8c3d7d12":"Faites glisser pour redimensionner le navigateur de fichiers et les outils du projet.","chat.copy.enterpriseCrmWorkflows_21d2a378":"Flux de travail CRM d'entreprise.","chat.copy.errorTrackingAndReleaseHealth_375126dc":"Suivi des erreurs et santé de la version.","chat.copy.executeTheRequestedTaskEndTo_41227963":"Exécutez la tâche demandée de bout en bout avec vérification.","chat.copy.executeTheTestSuite_f416c702":"Exécutez la suite de tests.","chat.copy.expandThePreviewToInspectThe_19231abf":"Développez l'aperçu pour inspecter l'application sans panneaux.","chat.copy.fileStorage_4fbddfd9":"Stockage de fichiers","chat.copy.findInFiles_c8857ba2":"Rechercher dans les fichiers","chat.copy.findNextBestStep_aa78d3eb":"Trouver la prochaine meilleure étape","chat.copy.fixLatestError_b6da7063":"Corriger la dernière erreur","chat.copy.focusTheAiAgentComposerAnd_8d14ee25":"Concentrez-vous sur le compositeur de l'agent IA et les instructions du projet.","chat.copy.forwardedPorts_fc7ae1ef":"Ports transférés","chat.copy.frontend_152d1cf2":"Interface utilisateur","chat.copy.fullStackObservabilityData_527efc13":"Données d’observabilité de l’application complète.","chat.copy.getPreviewRunning_0d5b5104":"Exécuter l'aperçu","chat.copy.gitStatus_1dc1b911":"Statut Git","chat.copy.hardenApiPaths_87a1be38":"Renforcer les chemins d'API","chat.copy.hideTheBottomTerminalDrawerWithout_2b21049b":"Cachez le tiroir de terminaux inférieur sans arrêter l'espace de travail.","chat.copy.hideTheCodeOverviewStripIn_7c73c82b":"Masquez la bande de présentation du code dans l'éditeur.","chat.copy.ideRail_f70134ec":"Rail IDE","chat.copy.incidentRoutingAndOnCallEscalation_5a435a1c":"Routage des incidents et escalade des astreintes.","chat.copy.infrastructureAndApplicationMonitoring_3d56e01c":"Surveillance des infrastructures et des applications.","chat.copy.inMemoryCacheAndQueueService_2ef34e77":"Service de cache et de file d'attente en mémoire.","chat.copy.inspectRepositoryStatusAndRecentCommits_36c970c6":"Inspectez l’état du référentiel et les validations récentes.","chat.copy.inspectRuntimeHealthActivityAndMetrics_37d738f1":"Inspectez l’état de l’environnement d’exécution, l’activité et les métriques.","chat.copy.inspectTheApiServerRoutesTouched_4cd1030f":"Inspectez les routes API/serveur touchées par ce projet et corrigez un problème concret de fiabilité, de gestion des erreurs ou de route manquante.","chat.copy.inspectTheCurrentProjectAndAdd_22ca1855":"Inspectez le projet en cours et ajoutez une fonctionnalité utile et cohérente. Gardez le changement petit, exécutable et aligné sur la structure de l'application existante.","chat.copy.inspectTheProjectDataLayerAnd_78e474e0":"Inspectez la couche de données du projet et le contexte de conversation récente, puis corrigez le problème de cohérence des données ou de schéma le plus risqué.","chat.copy.inspectTheProjectStartupSetupInstall_f94a95ae":"Inspectez la configuration de démarrage du projet, installez ou corrigez les dépendances manquantes si nécessaire et lancez le serveur de développement d'aperçu.","chat.copy.issuesSprintsAndRoadmaps_aeeb5615":"Enjeux, sprints et feuilles de route.","chat.copy.jumpBackToTheAiPrompt_5866f7c8":"Revenez à l’entrée de l’invite AI.","chat.copy.jumpToTheSymbolDefinitionFrom_a82809fc":"Accédez à la définition du symbole à partir du contexte actuel de l'éditeur.","chat.copy.keepLogsPinnedToTheNewest_b6be115d":"Conservez les journaux épinglés sur l’entrée la plus récente pendant la diffusion des flux.","chat.copy.leaveFullScreenPreviewMode_d51d485e":"Quittez le mode aperçu plein écran.","chat.copy.lintCode_05d2a7c2":"Code de charpie","chat.copy.lockedFiles_9c2ea979":"Fichiers verrouillés","chat.copy.makeScopedCodeChangesOnlyAfter_c3f95796":"Apportez des modifications au code étendu uniquement après avoir identifié les fichiers cibles.","chat.copy.manageDependenciesManifestsAndPackageAudits_56e1be8f":"Gérez les dépendances, les manifestes et les audits de paquets.","chat.copy.noTestsDetected_01e780d6":"Aucun test détecté","chat.copy.objectStorageForAssetsAndExports_5fbc8bd4":"Stockage d'objets pour les actifs et les exportations.","chat.copy.observability_e2397377":"Observabilité","chat.copy.openAnotherEditorTerminalPreviewOr_f5ea7611":"Ouvrez un autre éditeur, terminal, aperçu ou panneau de projet.","chat.copy.openAQrCodeForTesting_f8b14567":"Ouvrez un code QR pour tester l'aperçu sur un appareil mobile.","chat.copy.openDatabaseConnectionsQueryToolsAnd_d505c108":"Ouvrez les connexions de base de données, les outils de requête et le navigateur de schéma.","chat.copy.openDeploymentsDomainsAndPublishingTools_e353e9a5":"Déploiements ouverts, domaines et outils de publication.","chat.copy.openTabActionsSuchAsClose_524ae782":"Actions d’onglet ouvert telles que fermer, diviser et épingler.","chat.copy.openTheFullEditorStatusList_ab95dccd":"Ouvrez la liste complète des statuts de l'éditeur.","chat.copy.openTheLiveWebPreviewPanel_76fd4695":"Ouvrez le panneau d’aperçu Web en direct.","chat.copy.openThePreviewUrlInA_a778992d":"Ouvrez l'URL d'aperçu dans un onglet de navigateur distinct.","chat.copy.openTheProjectAuditTimelineAnd_b112349e":"Ouvrez la chronologie de l'audit du projet et les événements de l'espace de travail.","chat.copy.openTheProjectFileBrowserAnd_f4aa4650":"Ouvrez le navigateur de fichiers du projet et les vues de l'espace de travail.","chat.copy.openTheWorkspaceShellTerminalDrawer_53ba4b78":"Ouvrez le tiroir du terminal du shell de l'espace de travail.","chat.copy.openVersionControlBranchesAndChanges_297ee092":"Contrôle de version ouvert, branches et modifications.","chat.copy.openWorkspaceAndPersonalIdeSettings_04dbe1d2":"Ouvrez l'espace de travail et les paramètres de l'IDE personnel.","chat.copy.partial_65de2e2a":"Partielle","chat.copy.payments_44357ae5":"Paiements","chat.copy.paymentsBillingAndWebhookEvents_1f22daf9":"Paiements, facturation et événements webhook.","chat.copy.pinSplitAndReorderYourActive_b37b4560":"Épinglez, divisez et réorganisez vos surfaces de travail actives sans perdre le contexte.","chat.copy.polishCurrentUi_f37c63be":"Interface utilisateur actuelle polonaise","chat.copy.postTheNotificationsYouAuthorizeTo_e3b91e04":"Publiez les notifications que vous autorisez sur vos chaînes","chat.copy.prepareDeploy_d5681ade":"Préparer le déploiement","chat.copy.previewHasNoActivePort_18ad3861":"L'aperçu n'a pas de port actif","chat.copy.projectAssistant_2b677b08":"Assistant de projet","chat.copy.projectAwareFallback_4ffb1415":"Solution de secours adaptée au projet","chat.copy.projectManagement_dd64c0f0":"Gestion de projet","chat.copy.projectSettings_95590645":"Paramètres du projet","chat.copy.projectSummary_398c8190":"Résumé du projet","chat.copy.projectTimeline_307c9b37":"Chronologie du projet","chat.copy.publishYourApp_84e20c23":"Publiez votre application","chat.copy.qa_d851aefa":"QA","chat.copy.quorum_fdaafe2d":"Quorum","chat.copy.readAndCreateTheSupportTickets_edcf0535":"Lisez et créez les tickets d'assistance et les enregistrements clients que vous autorisez","chat.copy.readAndSyncTheIssuesTasks_4d625aa5":"Lisez et synchronisez les problèmes, les tâches et les documents que vous autorisez","chat.copy.readAndWriteDataInThe_07bdc6c0":"Lire et écrire des données dans les ressources que vous autorisez","chat.copy.readBuildAndDeployLogs_d1752153":"Lire les journaux de compilation et de déploiement","chat.copy.readIncidentAndOnCallState_e09c9828":"Lire l'état d'incident et d'astreinte","chat.copy.readMetricsDashboardsAndAlertStatus_c49abb55":"Lire les métriques, les tableaux de bord et l'état des alertes","chat.copy.readPaymentSubscriptionAndWebhookEvents_584bbdef":"Lire les événements de paiement, d'abonnement et de webhook","chat.copy.readRepositoryAndPipelineMetadata_da9b7a67":"Lire les métadonnées du référentiel et du pipeline","chat.copy.recentLogsContainErrors_6290ed06":"Les journaux récents contiennent des erreurs","chat.copy.refreshTerminalAndRuntimeStateFrom_635b5627":"Actualisez le terminal et l’état de l’environnement d’exécution depuis l’espace de travail.","chat.copy.rejected_27eeb7a2":"Rejeté","chat.copy.relationalDatabaseIntegration_96f9a13b":"Intégration de bases de données relationnelles.","chat.copy.reloadTheEmbeddedWebPreview_b6dbf5bc":"Rechargez l'aperçu Web intégré.","chat.copy.removeAndReinstallDependencies_b81fd44b":"Supprimez et réinstallez les dépendances.","chat.copy.renameTheCurrentSymbolAcrossReferences_eb70d3d0":"Renommez le symbole actuel entre les références.","chat.copy.repositoryNativeWorkflowAutomation_5174acde":"Automatisation des flux de travail natifs du référentiel.","chat.copy.returnLogsToASingleStream_df5589bc":"Renvoyez les journaux dans une vue de flux unique.","chat.copy.returnToTheActiveCodeEditor_e983595e":"Revenez à l’onglet de l’éditeur de code actif.","chat.copy.reviewChanges_d174dd6e":"Examiner les modifications","chat.copy.reviewTheCurrentUncommittedProjectChanges_2e7d7a94":"Passez en revue les modifications actuelles du projet non validées, résumez ce qui a changé, recherchez les bogues probables et suggérez la prochaine validation sécurisée.","chat.copy.rollbackPoints_3ab1afec":"Points de restauration","chat.copy.runDatabaseMigrations_42783d59":"Exécutez des migrations de bases de données.","chat.copy.runPublishAndShareStayVisible_1bc7711c":"Exécuter, publier et partager restent visibles. Les actions et notifications secondaires se trouvent sous Plus.","chat.copy.runScansAndReviewVulnerabilities_5bc3c76a":"Exécutez des analyses et examinez les vulnérabilités.","chat.copy.runTests_40e0369d":"Exécuter des tests","chat.copy.runTheSelectedTaskEndTo_5494ff2a":"Exécutez la tâche sélectionnée de bout en bout.","chat.copy.runtimeGitProblemsAndPreviewState_eaa1d16d":"L’état de l’environnement d’exécution, de Git, des problèmes et de l’aperçu est affiché ici en direct. Les détails sont regroupés dans les menus lorsque l’espace se réduit.","chat.copy.runtimeLogs_d0a587ed":"Journaux de l’environnement d’exécution","chat.copy.searchAndAnalyticsIndexing_3c363e99":"Indexation de recherche et d’analyse.","chat.copy.searchProjectFilesAndSymbols_855ee585":"Recherchez des fichiers et des symboles de projet.","chat.copy.securityScanner_3993f46d":"Scanner de sécurité","chat.copy.selfHostedAutomationServer_090b33ce":"Serveur d'automatisation auto-hébergé.","chat.copy.sendBuildDeployAndIncidentNotifications_f2cc4419":"Envoyez des notifications de compilation, de déploiement et d’incident aux canaux.","chat.copy.sendWorkspaceNotificationsToDiscord_3525cc0e":"Envoyez des notifications d’espace de travail à Discord.","chat.copy.serverApiFilesDetected_a0f3f80e":"Fichiers serveur/API détectés","chat.copy.showAnotherLogStreamBesideThe_b12c7790":"Afficher un autre flux de journaux à côté de celui actuel.","chat.copy.showAvailableCodeActionsAndRefactors_b1d1b39b":"Afficher les actions de code et les refactoristes disponibles.","chat.copy.showCursorIndentationEncodingAndLanguage_c153dba0":"Afficher les détails du curseur, de l'indentation, de l'encodage et de la langue.","chat.copy.showOrHideThePinnedShell_adb90367":"Afficher ou masquer le tiroir du terminal shell épinglé.","chat.copy.showTheCodeOverviewStripIn_6c768a34":"Affichez la bande de présentation du code dans l'éditeur.","chat.copy.smsVoiceAndCommunicationsApis_64da7fa3":"API SMS, voix et communications.","chat.copy.sqlBrowser_4bdd94d4":"Navigateur SQL","chat.copy.startDevelopmentServer_ac4c3f32":"Démarrer le serveur de développement","chat.copy.startTheDevelopmentServerWithHot_212b828e":"Démarrez le serveur de développement avec un rechargement à chaud.","chat.copy.statusBar_31b8336a":"Barre d'état","chat.copy.support_f32d5a3b":"Assistance","chat.copy.supportTicketsAndCustomerOperations_3440bfe7":"Tickets d’assistance et opérations client.","chat.copy.switchBetweenFilesEditorTerminalPreview_4f1972a7":"Basculez entre les fichiers, l'éditeur, le terminal, l'aperçu et la publication. Survolez n’importe quelle icône pour son objectif.","chat.copy.syncDocsAndProductNotesWith_03a48a9d":"Synchronisez les documents et les notes de produit avec le contexte du projet.","chat.copy.syncIssuesAndDeliveryWorkAcross_c61d98fd":"Synchronisez les problèmes et le travail de livraison entre les projets.","chat.copy.taskAutomation_00886567":"Automatisation des tâches","chat.copy.teamAccess_8fb3578f":"Accès équipe","chat.copy.teamWorkManagementAndTaskTracking_a4d7156b":"Gestion du travail d'équipe et suivi des tâches.","chat.copy.topbarActions_5e8fe8aa":"Actions de la barre supérieure","chat.copy.transactionalEmailDelivery_c27c4a85":"Envoi d'e-mails transactionnels.","chat.copy.triggerAndReceiveTheAutomationWorkflows_7e21af4b":"Déclenchez et recevez les workflows d'automatisation que vous autorisez","chat.copy.triggerBuildsDeploysAndReadTheir_01110234":"Déclenchez les compilations et les déploiements, puis consultez leur statut","chat.copy.uiWorkIsActive_67802593":"Le travail sur l'interface utilisateur est actif","chat.copy.validateEnvironmentVariablesAndProviderConfiguration_16afcc7c":"Validez les variables d'environnement et la configuration du fournisseur pour ce projet, puis corrigez les états d'interface utilisateur/config manquants ou trompeurs.","chat.copy.versionControl_62f1aa26":"Contrôle des versions","chat.copy.view_69bd4ef9":"Voir","chat.copy.visualBoardsAndCardsForProduct_d6198868":"Tableaux visuels et cartes pour le travail sur les produits.","chat.copy.weightedPlurality_f4ca4c45":"Pluralité pondérée","chat.copy.workspaceShellTerminal_21af7c52":"Terminal shell de l'espace de travail","chat.copy.workspaceTabs_41a97420":"Onglets de l'espace de travail","chat.copy.consensusAgreement":"{value} % d’accord","chat.copy.finish":"Terminer","chat.copy.next":"Suivant","chat.copy.planFirstSuffix":"(Planifier d’abord)","chat.copy.projectTools":"Outils du projet","chat.copy.shortcutValue":"Raccourci : {shortcut}","chat.copy.active_2bb6b986":"actif","chat.copy.addAVariableToConfigureThis_769019a5":"Ajoutez une variable pour configurer l’environnement d’exécution {value0} de ce projet.","chat.copy.adding_ffb2e628":"Ajout…","chat.copy.addTabValue0_8ed5ba85":"Ajouter un onglet ({value0})","chat.copy.agentConversationHistory_207d557d":"Historique des conversations des agents","chat.copy.agentReady_07195d6a":"Agent prêt","chat.copy.aliasValue0_e4780a7c":"Alias : {value0}","chat.copy.all_6a720856":"Tout","chat.copy.allowTerminal_7d1efbc3":"Autoriser le terminal","chat.copy.apiKeysValue0_41fce3bd":"Clés API ({value0})","chat.copy.approve_7b2c7f14":"Approuver","chat.copy.assignedToRunButton_029605f0":"Attribué au bouton Exécuter","chat.copy.assignToRunButton_8208483f":"Bouton Attribuer à Exécuter","chat.copy.autoValue0_eef47a46":"Automatique : {value0}","chat.copy.aValue0_2887e14e":"une : {value0}","chat.copy.baseline_e6ab7982":"Référence","chat.copy.beforeYouConnectValue0WillBe_513f1b91":"Avant de vous connecter, {value0} pourra :","chat.copy.buildingRuntime_054f1799":"Préparation de l’environnement d’exécution","chat.copy.bValue0_d87590d3":"b : {value0}","chat.copy.byok_36068183":"BYOK","chat.copy.byokEnabledKeyMissing_dac0cf84":"BYOK activé, clé manquante","chat.copy.byokKeyConfigured_b10d2fa8":"Clé BYOK configurée","chat.copy.claim_013872e3":"réclamation","chat.copy.claims_d72041bc":"réclamations","chat.copy.closeSplit_1024a76a":"Fermer la division","chat.copy.closeValue0_15e23702":"Fermer {value0}","chat.copy.closeValue0Tab_50bbc6b5":"Fermer l'onglet {value0}","chat.copy.confirm_04a21221":"Confirmer","chat.copy.connect_b65463cb":"Se connecter","chat.copy.connectedValue0_0b1b1081":"Connecté ({value0})","chat.copy.connectedValue0_4e4f1431":"Connecté · {value0}","chat.copy.connectionHealthy_86695b92":"Connexion saine","chat.copy.connectValue0_521bd823":"Connectez {value0}","chat.copy.copyPublicKeyForValue0_8d2691a6":"Copier la clé publique pour {value0}","chat.copy.copyValue0Name_64ac36a4":"Copier le nom de {value0}","chat.copy.copyValue0Value_8ab75412":"Copier la valeur {value0}","chat.copy.crashedRuntime_28a31e36":"Environnement d’exécution en panne","chat.copy.createAReadyDeploymentFirst_95b9e4fe":"Créez d'abord un déploiement prêt","chat.copy.createdUnderValue0_73c7698c":"Créé sous {value0}.","chat.copy.createVariable_6fe55b12":"Créer une variable","chat.copy.cron_02f91914":"cron","chat.copy.cValue0_cac7ad4b":"c : {value0}","chat.copy.deleteFolderValue0_f97d9e9f":"Supprimer le dossier {value0}","chat.copy.deleteValue0FromValue1_9746c6b2":"Supprimer {value0} de {value1} ?","chat.copy.deleteWorkflowValue0_7521eaaf":"Supprimer le flux de travail « {value0} » ?","chat.copy.deploymentLogsForValue0_cffeb837":"Journaux de déploiement pour {value0}","chat.copy.diffHunkValue0ForValue1_15b99314":"Diff morceau {value0} pour {value1}","chat.copy.diffScopes_053a2907":"Portées différentielles","chat.copy.disable_9a7d4e06":"Désactiver","chat.copy.disableSharedAi_d3aeb47b":"Désactiver l'IA partagée","chat.copy.disconnect_ed28e068":"Déconnecter","chat.copy.dnsRecordsForValue0_ed418d75":"Enregistrements DNS pour {value0}","chat.copy.dnsVerified_ef1eec49":"DNS vérifié","chat.copy.dockPane_f6b796f1":"Volet Dock","chat.copy.editing_f34946be":"édition","chat.copy.editValue0_fad75899":"Modifier {value0}","chat.copy.emptyValue_2464254a":"valeur vide","chat.copy.enable_20063ad9":"Activer","chat.copy.enabledForThisAccount_60b56529":"Activé pour ce compte","chat.copy.enableObjectStorage_3c4cc0c4":"Activer le stockage d'objets","chat.copy.enableSharedAi_f00bcdcb":"Activer l'IA partagée","chat.copy.enabling_5c258f09":"Activation…","chat.copy.error_11f9578d":"erreur","chat.copy.error_7f2f6a15":"Erreur","chat.copy.errors_57004359":"erreurs","chat.copy.exitDiff_f97e0642":"Quitter le différentiel","chat.copy.exitValue0_2ccaa3a9":"quitter {value0}","chat.copy.expiresValue0_db310163":"· expire {value0}","chat.copy.failed_5f5f8758":"échoué","chat.copy.filePath_1214946f":"Chemin du fichier","chat.copy.filesReady_cf37cc0b":"Fichiers prêts","chat.copy.filterKeys_14e0ed60":"Touches de filtre","chat.copy.fit_dab564d8":"Ajustement","chat.copy.floatPane_ca0c0b63":"Volet flottant","chat.copy.folderPath_cd6605ee":"Chemin du dossier","chat.copy.gitBranchValue0AheadValue1Behind_cbe910c1":"Branche Git : {value0} | Devant {value1}, derrière {value2} | {value3} fichiers modifiés","chat.copy.hide_34d8b60f":"Masquer","chat.copy.hideLogs_d1fea8c5":"Masquer les journaux","chat.copy.hideWorkspaceLogs_47034470":"Masquer les journaux de l'espace de travail","chat.copy.hitValue0_ecfd5f98":"appuyez sur {value0}","chat.copy.idle_cc1ebdd0":"Inactif","chat.copy.ifValue0_3ddebae8":"si {value0}","chat.copy.ignore_98f55db5":"Ignorer","chat.copy.importingValue0Value1_df968922":"Importation de {value0}/{value1}…","chat.copy.importSecrets_9deaeb2d":"Importer des secrets","chat.copy.info_59bd0a3f":"infos","chat.copy.install_fd6c3ebf":"Installer","chat.copy.installing_8d278823":"Installation…","chat.copy.installWillCreateOne_f12e5457":"L'installation en créera un","chat.copy.inValue0_79271ca2":"dans {value0}","chat.copy.iValue0_9256139a":"je : {value0}","chat.copy.lastRunValue0_203ff58b":"· dernière exécution {value0}","chat.copy.lastSyncValue0_f4f23a01":"Dernière synchronisation : {value0}","chat.copy.legacyNoiseDetectedInCurrentWindow_32e344cc":"Bruit hérité détecté dans la fenêtre actuelle","chat.copy.live_65c821a5":"En direct","chat.copy.liveRefreshEvery15s_9d420b0c":"Actualisation en direct toutes les 15 s","chat.copy.liveTailOff_160816b4":"Vivez la queue","chat.copy.liveTailOn_b3b68f8a":"Queue vivante","chat.copy.ln1Col1_b6c4de39":"Ligne 1, Col 1","chat.copy.lnValue0ColValue1_98b8103f":"Ln {value0}, Col {value1}","chat.copy.loading_33ce4174":"Chargement…","chat.copy.loadingObjects_9bcff057":"Chargement d'objets…","chat.copy.loadingValue0_99abf3e6":"Chargement de {value0}…","chat.copy.unknownIdePanel_9d1c4b70":"Panneau « {value0} » inconnu — l’adresse a été ignorée.","chat.copy.logs_126dd3b7":"Journaux","chat.copy.logValue0_7807582a":"journal {value0}","chat.copy.main_b28b7af6":"principal","chat.copy.makePrivate_df1b5c0a":"Rendre privé","chat.copy.makePublic_012e4893":"Rendre public","chat.copy.manage_bf58d17e":"Gérer","chat.copy.managed_7f0cab64":"Géré","chat.copy.managed_9fdf36c7":"géré","chat.copy.managedCredits_16478357":"Crédits gérés","chat.copy.manual_4e836fdc":"Manuel","chat.copy.manual_b363713a":"manuel","chat.copy.maskValues_bc20ce51":"Valeurs de masque","chat.copy.matchingValue0_5feb64b4":"correspondant à \"{value0}\"","chat.copy.mcp_21593b80":"PCM","chat.copy.newSecret_57764d66":"+ Nouveau secret","chat.copy.noCommand_96ba3230":"(pas de commande)","chat.copy.noDependenciesFoundInPackageJson_8f3d26bd":"Aucune dépendance trouvée dans package.json.","chat.copy.noDeployment_26885551":"Pas de déploiement","chat.copy.noEmailReturnedByApi_dfb6c309":"Aucune adresse e-mail enregistrée","chat.copy.noEnvironmentVariablesToCompareYet_73d09bd3":"Aucune variable d'environnement à comparer pour le moment.","chat.copy.noExtensionsMatchTheCurrentSearch_98b63cc6":"Aucune extension ne correspond aux filtres de recherche et de domaine actuels.","chat.copy.noFileMetadataRecorded_c8f89f26":"Aucune métadonnée de fichier enregistrée","chat.copy.noInstalledPackageMatchesThisFilter_e346163e":"Aucun paquet installé ne correspond à ce filtre.","chat.copy.noiseControlled_6c7d7929":"Contrôle du bruit","chat.copy.noKeyMatchesThisFilter_ec9af2f3":"Aucune clé ne correspond à ce filtre.","chat.copy.noLockfileDetectedYet_33076d29":"Aucun fichier de verrouillage détecté pour l'instant","chat.copy.noObjectsMatchYourSearch_15d8d7b9":"Aucun objet ne correspond à votre recherche.","chat.copy.noObjectsUnderThisPrefix_a8bfd956":"Aucun objet sous ce préfixe.","chat.copy.noOutputCaptured_6c86d6de":"Aucune sortie capturée.","chat.copy.noPackageJson_75c1100f":"Pas de package.json","chat.copy.noPackageManifestDetected_635f4471":"Aucun manifeste de paquet détecté","chat.copy.noRecords_2cd2e011":"Aucun enregistrement.","chat.copy.noSyncYet_d2ba97a9":"Pas encore de synchronisation","chat.copy.notConnected_8b02f3de":"Non connecté","chat.copy.notReady_970258df":"pas prêt","chat.copy.notVerifiedYet_ae8be834":"Pas encore vérifié","chat.copy.noValue0Variables_34b0862e":"Aucune variable {value0}","chat.copy.off_da7a6873":"éteint","chat.copy.off_e3de5ab0":"Désactivé","chat.copy.offlineEditsStayLocalUntilThe_6c528a0d":"Hors ligne : les modifications restent locales jusqu'au retour de la connexion","chat.copy.offlineModeEditsStayLocalUntil_d05ea2ef":"Mode hors ligne : les modifications restent locales jusqu'au retour de la connexion à l'espace de travail.","chat.copy.on_db3d405b":"sur","chat.copy.online_2dbc2fd2":"en ligne","chat.copy.openGitPanelBranchValue0Value1_b3c8a94c":"Ouvrez le panneau Git. Branche {value0}, {value1} en avant, {value2} en retard, {value3} fichiers modifiés.","chat.copy.openPreviewValue0Value1Value2_a2664c5a":"Ouvrir l'aperçu | {value0} | {value1} | {value2}","chat.copy.openProblemsValue0ErrorsAndValue1_ef267d7f":"Problèmes ouverts. Erreurs {value0} et avertissements {value1}.","chat.copy.openProblemsValue0Value1Value2Value3_cdcc72fd":"Ouvrir les problèmes : {value0} {value1}, {value2} {value3}.","chat.copy.openValue0AtLineValue1_d3ee3837":"Ouvrez {value0} à la ligne {value1}","chat.copy.openWorkspaceTerminal_b039db9a":"Ouvrir le terminal de l’espace de travail","chat.copy.pause_781961bc":"Suspendre","chat.copy.pendingDns_c85e4427":"DNS en attente","chat.copy.pinTab_3623fa20":"Épingler l’onglet","chat.copy.preview_1aa787fe":"aperçu","chat.copy.previewLogs_d42e29e7":"Journaux de l’aperçu","chat.copy.previewLogsPanel_03bc2bda":"Panneau Journaux de l’aperçu","chat.copy.primary_a9a96ec0":"Primaire","chat.copy.primary_f37ab377":"· primaire","chat.copy.projectEditor_f0067be1":"Editeur de projet","chat.copy.projectLibraryPanel_03bdd26b":"Panneau de bibliothèque de projets","chat.copy.public_61c9b2b1":"publique","chat.copy.quickAccessValue0_a4477e98":"Accès rapide : {value0}","chat.copy.ready_75c05337":"prêt","chat.copy.readyForCertificateProvisioning_e45d337a":"Prêt pour la fourniture de certificats","chat.copy.recheckDns_76c0201d":"Revérifier le DNS","chat.copy.recorded_d5383ea7":"Enregistré","chat.copy.recordedByBackend_4908e1dc":"Enregistré par le service applicatif","chat.copy.refresh_56e3badc":"Actualiser","chat.copy.refreshing_505dddc9":"Rafraîchissant","chat.copy.refreshMetrics_d4cc03bc":"Actualiser les métriques","chat.copy.regexSearch_012ab8b4":"Recherche d'expressions régulières","chat.copy.reload_cce71553":"Recharger","chat.copy.resizePanesHorizontally_2340f8da":"Redimensionner les volets horizontalement","chat.copy.resizePanesVertically_5ecc3ff6":"Redimensionner les volets verticalement","chat.copy.restoreCheckpointValue0_4ea16940":"Restaurer le point de contrôle {value0}","chat.copy.resume_b3bd0b5a":"CV","chat.copy.retrievalAndAutomaticCaptureAreEnabled_12e2c9a0":"La récupération et la capture automatique sont activées.","chat.copy.reveal_90c0c2eb":"Révéler","chat.copy.revealValue0_e5d8efb3":"Révéler {value0}","chat.copy.revealValues_3c8deb88":"Révéler des valeurs","chat.copy.reviewDiffForCheckpointValue0_7903beba":"Examiner la différence pour le point de contrôle {value0}","chat.copy.revokeAccess_094386f6":"Révoquer l'accès","chat.copy.revokedReInstallToReconsider_50d9d496":"Révoqué – réinstaller pour reconsidérer","chat.copy.revokeTerminal_be5ec95d":"Révoquer le terminal","chat.copy.revokeValue0_34640d6a":"Révoquer {value0}","chat.copy.revokingRemovesTheStoredTokenAnd_2da0fa0d":"La révocation supprime le jeton stocké et arrête immédiatement toutes les synchronisations.","chat.copy.rollbackToCheckpointValue0_2131e13b":"Revenir au point de contrôle {value0}","chat.copy.rollbackToThisCheckpoint_7d8b2a6c":"Retour à ce point de contrôle","chat.copy.rollingBack_1accbd2a":"Revenir en arrière...","chat.copy.round_f0590a6d":"rond","chat.copy.rounds_75a7b395":"tours","chat.copy.runFullScan_aedc848e":"Exécuter une analyse complète","chat.copy.runInOrder_56733fe3":"Exécution séquentielle","chat.copy.runningOnValue0_0f8bc1d7":"Exécuté sur {value0}","chat.copy.runtimeStatusLoading_226ec569":"chargement de l’état de l’environnement d’exécution","chat.copy.runTogether_8eab02f9":"Exécution en parallèle","chat.copy.rValue0_e9b63dd3":"r : {value0}","chat.copy.saveValue0_b6c78e5c":"Enregistrer {value0}","chat.copy.saveVariable_ae0baaa7":"Enregistrer la variable","chat.copy.scanCancelled_9e663f73":"Analyse annulée","chat.copy.scanCompleted_6d13ae13":"Analyse terminée","chat.copy.scanFailed_944d285f":"Échec de l'analyse","chat.copy.scanning_bd5e8d69":"Numérisation...","chat.copy.scanTimedOut_02ef0c04":"L'analyse a expiré","chat.copy.scheduled_1cd1bdad":"Programmé","chat.copy.searchValue0Variables_01db9728":"Rechercher des variables {value0}","chat.copy.semantic_94fb17e3":"sémantique","chat.copy.setPrimary_582333f3":"Définir le primaire","chat.copy.setUpTotpMfaAndRecovery_641e8eea":"Configurer TOTP MFA et les codes de récupération","chat.copy.showValue0_60e2ce8e":"Afficher {value0}","chat.copy.showWorkspaceLogs_fb555ca7":"Afficher les journaux de l'espace de travail","chat.copy.splitView_329af640":"Vue fractionnée","chat.copy.starting_9493af05":"démarrage","chat.copy.stoppedRuntime_94f5c638":"Environnement d’exécution arrêté","chat.copy.stored_ab514b9a":"stocké","chat.copy.storedInProjectMetadata_ac0072b9":"Stocké dans les métadonnées du projet","chat.copy.storedMemoriesStayVisibleButAre_207d1495":"Les mémoires stockées restent visibles mais ne sont pas injectées.","chat.copy.succeeded_88c2e0b3":"réussi","chat.copy.switchToDarkMode_c29220f9":"Passer en mode sombre","chat.copy.switchToLightMode_fc450912":"Passer en mode lumière","chat.copy.switchToValue0Tab_f9ebf5a1":"Passer à l'onglet {value0}","chat.copy.system_1435f3bd":"· système","chat.copy.theBucketIsEmpty_18809c5d":"Aucun fichier dans ce bucket pour l’instant.","chat.copy.theBucketRoot_d8754c09":"la racine du bucket","chat.copy.theCnameAInstructionsUnlockAfter_4c5056ef":"Les instructions CNAME/A se déverrouillent après le premier déploiement réussi.","chat.copy.theMcpMarketplaceCatalogIsEmpty_be25c277":"Le catalogue de la place de marché MCP est vide ou indisponible.","chat.copy.thisProject_bd0d431c":"ce projet","chat.copy.toggleValue0_f75a5e61":"Basculer {value0}","chat.copy.tools_4fa8cc86":"Outils","chat.copy.turnOff_8807c2b3":"Éteindre","chat.copy.turnOn_26563efc":"Allumer","chat.copy.tValue0_d76b7b77":"t : {value0}","chat.copy.txtRecordRequired_ca016701":"Enregistrement TXT requis","chat.copy.unknown_50d8b4a9":"inconnu","chat.copy.unlimited_b8bef37b":"Illimité","chat.copy.unpinTab_279bad8b":"Désépingler l'onglet","chat.copy.updatedValue0_18c0fe1c":"{value0} mis à jour","chat.copy.updateSecret_77d1a1a5":"Mettre à jour le secret","chat.copy.urlPending_6c60f919":"URL en attente","chat.copy.useThisHostAsTheCname_3faff382":"Utilisez cet hôte comme cible CNAME ou ALIAS.","chat.copy.utc_bdfd4d8d":"UTC","chat.copy.uValue0_bf7a289d":"vous : {value0}","chat.copy.uValue0Value1_3dcde8bc":"vous :{value0} :{value1}","chat.copy.value0ApiKey_b57b5786":"Clé API {value0}","chat.copy.value0Changed_3fbc2486":"{value0} a changé","chat.copy.value0ChangedFiles_1a946eed":"{value0} fichiers modifiés","chat.copy.value0CommitsToPushValue1Commits_3da2e29d":"{value0} s'engage à pousser, {value1} s'engage à tirer. Ouvrir les actions pousser et tirer.","chat.copy.value0CurrentlyHasAccessTo_25db6291":"{value0} a actuellement accès à :","chat.copy.value0DependenciesDetected_f8e7ed82":"{value0} dépendances détectées","chat.copy.value0ErrorsValue1Warnings_500056a8":"{value0} erreurs, {value1} avertissements","chat.copy.value0Files_05f7ab26":"{value0} fichiers","chat.copy.value0Files_756fd7e6":"({value0} fichiers)","chat.copy.value0Installs_caea0dc2":"{value0} installations","chat.copy.value0LockfileSDetected_e2f1f51c_one":"{value0} fichier de verrouillage détecté","chat.copy.value0LockfileSDetected_e2f1f51c_other":"{value0} fichiers de verrouillage détectés","chat.copy.value0Output_4e0948e7":"Sortie {value0}","chat.copy.value0PanelActions_4358c33e":"{value0} actions du panneau","chat.copy.value0S_659ddab8":"{value0} s","chat.copy.value0Shortcut_3842fc24":"Raccourci {value0}","chat.copy.value0Shortcuts_52261c31":"{value0} raccourcis","chat.copy.value0ToPushValue1ToPull_14e8383b":"{value0} pour pousser, {value1} pour tirer — cliquez pour pousser/tirer","chat.copy.value0Value1Notifications_a1f4307f":"{value0} {value1} notifications","chat.copy.value0WorkspaceLogsValue1LogLines_8bbbae16":"{value0} journaux de l'espace de travail. {value1} lignes de journal.","chat.copy.verified_5de33a87":"· vérifié","chat.copy.verified_aed3b8c6":"Vérifié","chat.copy.verifyDns_4d255ccc":"Vérifier le DNS","chat.copy.viewChatAtCheckpointValue0_7e82ca09":"Afficher le chat au point de contrôle {value0}","chat.copy.waitingForDns_882e37ec":"En attente du DNS","chat.copy.warning_383fd7bf":"avertissement","chat.copy.warning_e9c45563":"Avertissement","chat.copy.warnings_bd207fab":"avertissements","chat.copy.webhooksValue0_598b5795":"Webhooks ({value0})","chat.copy.workspaceCommandRunner_d6e87e0b":"Exécuteur de commandes de l'espace de travail","chat.copy.workspaceConnectionHealthy_f87a6d3a":"Connexion à l'espace de travail saine","chat.copy.workspaceRuntimeIsStartingOrReconnecting_dae64fde":"L’environnement d’exécution de l’espace de travail démarre ou se reconnecte","chat.copy.workspaceValue0_2f7c1a1b":"Espace de travail {value0}","chat.copy.youCanRevokeThisAccessAt_76f2b594":"Vous pouvez révoquer cet accès à tout moment.","chatBox.settings.showAgent":"Afficher les paramètres de l’agent","chatBox.settings.hideAgent":"Masquer les paramètres de l’agent","chatBox.settings.model":"Paramètres du modèle","chatBox.enhance.inProgress":"Amélioration de votre prompt par l’IA","chatBox.enhance.emptyHint":"Saisissez un prompt pour activer son amélioration par l’IA","chatBox.enhance.readyHint":"Améliorer ce prompt avec l’IA avant l’envoi","chatBox.enhance.action":"Améliorer le prompt","chatBox.planFirst.title":"Planifier d’abord : proposer un plan vérifiable et attendre votre approbation avant toute modification","chatBox.planFirst.label":"Planifier","chatBox.inspector.selected":"sélectionné pour inspection","chatBox.inspector.clearAria":"Effacer l’élément sélectionné pour inspection","chatBox.inspector.clear":"Effacer","chatBox.prompt.agentAria":"Prompt de l’agent","chatBox.prompt.chatAria":"Prompt de discussion","chatBox.prompt.buildPlaceholder":"Comment E-Code peut-il vous aider aujourd’hui ?","chatBox.prompt.discussPlaceholder":"De quoi souhaitez-vous discuter ?","chatBox.error.droppedImage":"Impossible de lire l’image déposée. Réessayez.","chatBox.attachments.attach":"Joindre des images","chatBox.attachments.summary.one":"{{count}} image jointe sur {{max}}","chatBox.attachments.summary.other":"{{count}} images jointes sur {{max}}","chatBox.tools.more":"Plus d’options et d’outils","chatBox.tools.menuAria":"Outils du prompt","chatBox.tools.mcp":"Outils MCP","chatBox.tools.fetchUrl":"Récupérer une URL","chatBox.speech.stop":"Arrêter la dictée","chatBox.speech.start":"Dicter","chatBox.speech.requestingPlaceholder":"Autorisez l’accès au micro pour dicter…","chatBox.speech.listeningPlaceholder":"Je vous écoute… Parlez, puis appuyez sur le micro pour arrêter.","chatBox.discuss.title":"Discuter","chatBox.discuss.switchToBuild":"Passer en mode création","chatBox.shortcuts.title":"Raccourcis du prompt","chatBox.shortcuts.newLine":"Maj + Entrée insère une nouvelle ligne","secretsPanel.title":"Secrets","secretsPanel.menu.aria":"Actions sur les secrets","secretsPanel.menu.docs":"Docs","secretsPanel.menu.editJson":"Modifier en JSON","secretsPanel.menu.editEnv":"Modifier en .env","secretsPanel.new":"Nouveau secret","secretsPanel.filter.placeholder":"Filtrer les secrets par nom","secretsPanel.filter.aria":"Filtrer les secrets par nom","secretsPanel.form.key":"Clé","secretsPanel.form.value":"Valeur","secretsPanel.form.showValue":"Afficher la valeur pendant la saisie","secretsPanel.form.hideValue":"Masquer la valeur pendant la saisie","secretsPanel.form.cancel":"Annuler","secretsPanel.form.add":"Ajouter le secret","secretsPanel.form.update":"Mettre à jour le secret","secretsPanel.form.invalidKey":"Une clé commence par une lettre ou un souligné et ne contient que des lettres, des chiffres et des soulignés.","secretsPanel.row.copyKey":"Copier le nom {{key}}","secretsPanel.row.copyValue":"Copier la valeur de {{key}}","secretsPanel.row.reveal":"Révéler la valeur de {{key}}","secretsPanel.row.hide":"Masquer la valeur de {{key}}","secretsPanel.row.menu":"Actions pour {{key}}","secretsPanel.row.edit":"Modifier","secretsPanel.row.findUsages":"Trouver les usages","secretsPanel.row.delete":"Supprimer","secretsPanel.row.linked":"Lié à votre compte","secretsPanel.empty.title":"Aucun secret pour l’instant","secretsPanel.empty.description":"Les secrets sont chiffrés et injectés dans votre application comme variables d’environnement.","secretsPanel.noMatch":"Aucun secret ne correspond à « {{filter}} ».","secretsPanel.editor.envTitle":"Modifier en .env","secretsPanel.editor.jsonTitle":"Modifier en JSON","secretsPanel.editor.help":"Les valeurs ne sont jamais affichées ici. Renseignez une valeur pour mettre ce secret à jour ; laissez-la vide pour ne rien changer. Les nouvelles clés sont créées.","secretsPanel.editor.apply":"Appliquer","secretsPanel.editor.applying":"Application {{done}} / {{total}}…","secretsPanel.editor.nothing":"Rien à appliquer : aucune valeur renseignée.","secretsPanel.editor.invalidJson":"Ce n’est pas du JSON valide.","secretsPanel.editor.notAnObject":"Un objet JSON de chaînes était attendu.","secretsPanel.editor.invalidKeys":"Clés ignorées (noms invalides) : {{keys}}","secretsPanel.editor.skipped":"Lignes ignorées : {{count}}","secretsPanel.editor.close":"Fermer","finDeTour.worked":"A travaillé {{duration}}","finDeTour.workedUnknown":"A travaillé sur ce tour","finDeTour.timeWorked":"Temps de travail","finDeTour.workDone":"Travail effectué","finDeTour.itemsRead":"Éléments lus","finDeTour.agentUsage":"Utilisation de l’agent","finDeTour.action":"{{count}} action","finDeTour.actions":"{{count}} actions","finDeTour.line":"{{count}} ligne","finDeTour.lines":"{{count}} lignes","finDeTour.tokens":"{{count}} jetons","finDeTour.unknown":"—","finDeTour.checkpoint":"Point de restauration créé {{ago}}","finDeTour.rollback":"Revenir ici","finDeTour.changes":"Modifications","finDeTour.expand":"Afficher le détail","finDeTour.collapse":"Masquer le détail","finDeTour.dateAt":"{{date}} à {{time}}","finDeTour.ago.now":"à l’instant","finDeTour.ago.minute":"il y a 1 minute","finDeTour.ago.minutes":"il y a {{count}} minutes","finDeTour.ago.hour":"il y a 1 heure","finDeTour.ago.hours":"il y a {{count}} heures","finDeTour.ago.day":"il y a 1 jour","finDeTour.ago.days":"il y a {{count}} jours","finDeTour.ago.month":"il y a 1 mois","finDeTour.ago.months":"il y a {{count}} mois","finDeTour.ago.year":"il y a 1 an","finDeTour.ago.years":"il y a {{count}} ans","finDeTour.duration.instant":"moins d’une seconde","finDeTour.duration.second":"1 seconde","finDeTour.duration.seconds":"{{count}} secondes","finDeTour.duration.minute":"1 minute","finDeTour.duration.minutes":"{{count}} minutes","finDeTour.duration.hour":"1 heure","finDeTour.duration.hours":"{{count}} heures","finDeTour.rollbackDialog.title":"Revenir à ce point de restauration ?","finDeTour.rollbackDialog.impact":"Ce qui sera affecté","finDeTour.rollbackDialog.files":"Fichiers","finDeTour.rollbackDialog.filesDetail":"Tous les fichiers de votre application seront remis dans l’état où ils étaient au moment de ce point de restauration.","finDeTour.rollbackDialog.database":"Base de données","finDeTour.rollbackDialog.databaseDetail":"Votre base de données de développement sera remise à la date de ce point de restauration.","finDeTour.rollbackDialog.memory":"Mémoire de l’agent","finDeTour.rollbackDialog.memoryDetail":"La mémoire de l’agent sera remise à ce qu’il savait de votre application au moment de ce point de restauration.","finDeTour.rollbackDialog.cancel":"Annuler","finDeTour.rollbackDialog.confirm":"Revenir à ce point de restauration","finDeTour.rollbackDialog.busy":"Retour en cours…","finDeTour.rollbackDialog.close":"Fermer","publication.title":"Republier votre application","publication.subtitle":"Choisissez comment votre application est publiée et qui peut y accéder.","publication.adjustSettings":"Ajuster les réglages","publication.tab.overview":"Vue d’ensemble","publication.tab.logs":"Journaux","publication.publishing":"Publication","publication.cancel":"Annuler","publication.showLogs":"Afficher les journaux","publication.hideLogs":"Masquer les journaux","publication.startedAgo":"Démarrée {{ago}}","publication.step.file":"Mise en file","publication.step.compilation":"Compilation","publication.step.publication":"Publication","publication.state.fait":"Terminé","publication.state.encours":"En cours","publication.state.attente":"En attente","publication.state.echec":"Échec","publication.state.annule":"Annulé","publication.buildsFailed":"{{count}} publications ont échoué","publication.buildFailed":"{{count}} publication a échoué","publication.buildsFailedHelp":"Réparez avec l’agent pour continuer à publier. Les journaux servent à diagnostiquer.","publication.fixWithAgent":"Réparer avec l’agent","publication.fixInCurrentChat":"Réparer dans la conversation","publication.fixInNewTask":"Réparer dans une nouvelle tâche","publication.fixOptions":"Autres options de réparation","publication.viewLogs":"Voir les journaux","publication.viewAllFailedBuilds":"Voir toutes les publications en échec","publication.mostRecent":"La plus récente : {{ago}}","publication.viewApp":"Ouvrir l’application","publication.currentStatus":"État actuel","publication.status.live":"En ligne","publication.status.encours":"En cours","publication.status.echec":"En échec","publication.status.aucun":"Non publiée","publication.connectedDomains":"Domaines connectés","publication.addDomain":"Ajouter un domaine","publication.noDomain":"Aucun domaine pour l’instant — la publication en créera un.","publication.copyDomain":"Copier cette adresse","publication.copied":"Copié","publication.sharing":"Partage","publication.sharingPublic":"Public","publication.sharingPublicDetail":"Toute personne disposant de l’adresse","publication.infrastructure":"Infrastructure","publication.provider":"Fournisseur","publication.environment":"Environnement","publication.scaling":"Dimensionnement","publication.publishHistory":"Historique des publications","publication.noHistory":"Rien n’a encore été publié.","publication.republish":"Republier","publication.publish":"Publier","publication.publishedAgo":"a publié {{ago}}","publication.failedAgo":"a échoué à publier {{ago}}","publication.settings.title":"Ajuster les réglages","publication.settings.cancel":"Annuler","publication.settings.secrets":"Secrets de production","publication.settings.secretsDetail":"Les clés privées que votre application utilise pour accéder aux API et aux services.","publication.settings.secretsOpen":"Ouvrir les secrets","publication.settings.resources":"Utilisation des ressources","publication.settings.resourcesDetail":"Le gabarit sur lequel tourne votre application publiée.","publication.settings.machine":"Configuration de la machine","publication.settings.machineDetail":"La puissance des serveurs qui exécutent votre application","publication.settings.perHour":"{{amount}}/heure","publication.settings.perMonthContinuous":"{{amount}} par mois si elle tourne en continu","publication.settings.noPrice":"Tarif indisponible","publication.settings.current":"Actuel","publication.settings.database":"Réglages de base de données","publication.settings.databaseDetail":"Gérer la base de production et la façon dont elle est remplie à la publication.","publication.settings.databaseOpen":"Ouvrir la base de données","publication.settings.manage":"Gérer votre application","publication.settings.cancelDeploy":"Annuler cette publication","publication.settings.cancelDeployDetail":"Arrête la publication en cours. Rien de ce qui est déjà en ligne n’est retiré.","publication.settings.redeploy":"Publier à nouveau","publication.settings.redeployDetail":"Recompile et publie le code actuel avec les mêmes réglages.","publication.settings.rollback":"Revenir en arrière","publication.settings.rollbackDetail":"Remet en ligne la publication réussie précédente.","publication.settings.changeMachine":"Il se change au moment de publier, depuis l’onglet Gérer.","publication.unknownScaling":"Non précisé","chatBoxChildren.mode.agent.label":"Agent","chatBoxChildren.mode.agent.description":"Exécute la tâche de bout en bout, de façon autonome.","chatBoxChildren.mode.assistant.label":"Assistant","chatBoxChildren.mode.assistant.description":"Répond et propose des modifications ciblées, puis attend votre accord.","chatBoxChildren.mode.triggerTitle":"Mode : {{label}} — {{description}}","chatBoxChildren.mode.menuAria":"Mode de l’agent","chatBoxChildren.speech.startTitle":"Dicter un message","chatBoxChildren.speech.stopTitle":"Arrêter la dictée","chatBoxChildren.speech.startLabel":"Dicter","chatBoxChildren.speech.stopLabel":"Arrêter la dictée","chatBoxChildren.speech.requesting":"Autorisation du micro…","chatBoxChildren.speech.listening":"Écoute en cours…","chatBoxChildren.mcp.triggerLabel":"Outils MCP","chatBoxChildren.mcp.triggerInitializing":"Initialisation des outils MCP…","chatBoxChildren.mcp.triggerAvailable":"Outils MCP disponibles","chatBoxChildren.mcp.triggerFailed":"Impossible d’initialiser les outils MCP — ouvrir pour plus de détails","chatBoxChildren.mcp.dialogTitle":"Outils MCP","chatBoxChildren.mcp.dialogDescription":"Consultez et actualisez les outils MCP disponibles pour l’agent.","chatBoxChildren.mcp.check":"Vérifier la disponibilité","chatBoxChildren.mcp.checking":"Vérification de la disponibilité…","chatBoxChildren.mcp.activeNextMessage":"Actifs pour le prochain message","chatBoxChildren.mcp.perRequestHint":"Les serveurs décochés seront ignorés uniquement pour le prochain message. Votre configuration enregistrée reste inchangée.","chatBoxChildren.mcp.none":"Aucun serveur MCP configuré","chatBoxChildren.mcp.configureHint":"Configurez les serveurs dans Paramètres → Serveurs MCP","chatBoxChildren.mcp.close":"Fermer","chatBoxChildren.mcp.initializeFailed":"Impossible d’initialiser les outils MCP. Réessayez.","chatBoxChildren.mcp.availabilityFailed":"Impossible de vérifier la disponibilité des serveurs. Réessayez.","chatBoxChildren.web.triggerLabel":"Récupérer une URL","chatBoxChildren.web.triggerTitle":"Récupérer le contenu d’une URL","chatBoxChildren.web.inputAria":"URL à récupérer","chatBoxChildren.web.fetch":"Récupérer","chatBoxChildren.web.fetching":"Récupération…","chatBoxChildren.web.success":"Contenu de l’URL récupéré","chatBoxChildren.web.fetchFailed":"Impossible de récupérer le contenu de l’URL. Vérifiez l’adresse, puis réessayez.","chatBoxChildren.web.resultSource":"[Contenu web provenant de {{sourceUrl}}]","chatBoxChildren.web.resultTitle":"Titre : {{title}}","chatBoxChildren.web.resultDescription":"Description : {{description}}","chatClient.project.agent":"Agent du projet","chatClient.project.conversation":"Conversation du projet","chatClient.history.saveFailed":"Impossible d’enregistrer l’historique de la conversation. Réessayez.","chatClient.history.resetFailed":"Impossible de réinitialiser l’historique de la conversation. Réessayez.","chatClient.history.loadFailed":"Impossible de charger l’historique de votre conversation. Réessayez.","chatClient.generation.stalled":"La génération ne répondait plus et a été arrêtée. Renvoyez votre message.","chatClient.generation.stopped":"La génération en cours a été arrêtée. Renvoyez votre message.","chatClient.generation.powerNudge":"Vous avancez toujours par itérations ? Le mode Power traite les tâches complexes en moins d’étapes. Sélectionnez-le dans le menu des modes.","chatClient.attachment.readFailed":"Impossible de lire « {name} ». Votre message sera envoyé sans cette pièce jointe.","chatClient.starter.rateLimited":"Le modèle de démarrage a été ignoré en raison d’une limite de requêtes. Un modèle vide sera utilisé.","chatClient.starter.importFailed":"Impossible d’importer le modèle de démarrage. Un modèle vide sera utilisé.","chatClient.project.promptQueueFailed":"Le projet a été créé, mais son prompt initial n’a pas pu être mis en attente. Vous pouvez le renvoyer.","chatClient.project.aiFallback":"La génération par l’IA a échoué. Un projet vide a été créé afin que vous puissiez conserver votre prompt et réessayer.","chatClient.error.title.request":"Échec de la requête","chatClient.error.title.authentication":"Erreur d’authentification","chatClient.error.title.quota":"Limite d’utilisation atteinte","chatClient.error.title.rateLimit":"Limite de requêtes atteinte","chatClient.error.title.server":"Service indisponible","chatClient.error.provider":"fournisseur d’IA","chatClient.error.authentication":"L’authentification auprès de {provider} a échoué. Vérifiez votre clé API.","chatClient.error.rateLimit":"La limite de requêtes de {provider} est atteinte. Patientez un instant, puis réessayez.","chatClient.error.quota":"Vous avez atteint la limite d’utilisation de l’IA de votre forfait pour cette période de facturation. Changez de forfait ou consultez les limites de votre compte ; le quota sera renouvelé à la prochaine période.","chatClient.error.generic":"Impossible de traiter votre requête. Réessayez.","chatClient.error.retry":"Réessayer","chatClient.error.retryWith.aria":"Réessayer avec un autre modèle","chatClient.error.retryWith":"Réessayer avec…","chatClient.error.viewPlan":"Voir le forfait et les limites","chatClient.error.openSettings":"Ouvrir les paramètres","chatClient.error.dismiss":"Fermer","chatConnectors.apiKey.label":"Clé API {provider} :","chatConnectors.apiKey.checkingEnvironment":"Vérification de la configuration de l’environnement…","chatConnectors.apiKey.environmentCheckFailed":"Impossible de vérifier la configuration de l’environnement.","chatConnectors.apiKey.setInUi":"Configurée dans E-Code","chatConnectors.apiKey.setInEnvironment":"Configurée par une variable d’environnement","chatConnectors.apiKey.notSet":"Non configurée — ajoutez-la ici ou au moyen d’une variable d’environnement.","chatConnectors.apiKey.placeholder":"Saisissez la clé API","chatConnectors.apiKey.inputLabel":"Clé API {provider}","chatConnectors.apiKey.revealSubject":"la clé API","chatConnectors.apiKey.save":"Enregistrer la clé API","chatConnectors.apiKey.cancel":"Annuler","chatConnectors.apiKey.edit":"Modifier la clé API","chatConnectors.apiKey.get":"Obtenir une clé API","chatConnectors.apiKey.getLmStudio":"Obtenir LMStudio","chatConnectors.apiKey.downloadOllama":"Télécharger Ollama","chatConnectors.connection.connectedTo":"Connecté à {provider}","chatConnectors.connection.as":"avec le compte {account}","chatConnectors.connection.failed":"Échec de la connexion à {provider}","chatConnectors.connection.failureDefault":"Impossible d’établir la connexion. Réessayez.","chatConnectors.connection.code":"Code : {code}","chatConnectors.connection.retry":"Réessayer","chatConnectors.connection.connect":"Connecter {provider}","chatConnectors.connection.connectNew":"Connecter un nouveau compte {provider}","chatConnectors.connection.logoAlt":"Logo de {provider}","chatConnectors.connection.permissions_one":"{count} autorisation demandée","chatConnectors.connection.permissions_other":"{count} autorisations demandées","chatConnectors.connection.existing":"Utiliser une connexion existante :","chatConnectors.connection.scopesMatch":"Les autorisations correspondent","chatConnectors.connection.scopesDiffer":"Autorisations différentes — une nouvelle autorisation peut être nécessaire","chatConnectors.connection.linking":"Association…","chatConnectors.connection.useThis":"Utiliser cette connexion","chatConnectors.connection.waiting":"En attente de {provider}…","chatConnectors.connection.startFailed":"Impossible de démarrer l’autorisation. Réessayez.","chatConnectors.connection.linkFailed":"Impossible d’associer la connexion existante. Réessayez.","chatConnectors.secret.projectMissing":"Ouvrez ce connecteur depuis un projet avant d’enregistrer le secret.","chatConnectors.secret.fieldRequired":"Le champ {field} est obligatoire.","chatConnectors.secret.saveFailed":"Impossible d’enregistrer le secret. Vérifiez les champs, puis réessayez.","chatConnectors.secret.saved":"{name} a été enregistré dans","chatConnectors.secret.provide":"Renseignez {name}","chatConnectors.secret.saving":"Enregistrement…","chatConnectors.secret.save":"Enregistrer {name}","chatConnectors.secret.projectHint":"Ouvrez cette carte depuis un projet pour enregistrer le secret de manière sécurisée.","chatControls.model.noProviders":"Aucun fournisseur n’est activé. Activez-en au moins un dans les paramètres pour utiliser le chat.","chatControls.provider.running":"{provider} est en cours d’exécution","chatControls.provider.unreachable":"{provider} est inaccessible","chatControls.provider.checking":"Vérification…","chatControls.provider.select":"Sélectionner un fournisseur","chatControls.provider.searchPlaceholder":"Rechercher des fournisseurs…","chatControls.provider.searchAria":"Rechercher des fournisseurs","chatControls.search.clear":"Effacer la recherche","chatControls.provider.noMatch":"Aucun fournisseur ne correspond à « {query} »","chatControls.provider.none":"Aucun fournisseur trouvé","chatControls.provider.searchHint":"Essayez un nom de fournisseur comme OpenAI, Anthropic ou Google.","chatControls.provider.selectAria":"Sélectionner le fournisseur {provider}","chatControls.model.select":"Sélectionner un modèle","chatControls.model.freeOnly":"Modèles gratuits uniquement","chatControls.model.freeCount.one":"{count} modèle gratuit","chatControls.model.freeCount.other":"{count} modèles gratuits","chatControls.model.resultCount.one":"{count} modèle trouvé","chatControls.model.resultCount.other":"{count} modèles trouvés","chatControls.model.bestMatches":"meilleurs résultats affichés","chatControls.model.searchPlaceholder":"Rechercher des modèles…","chatControls.model.searchAria":"Rechercher des modèles","chatControls.model.loading":"Chargement des modèles…","chatControls.model.loadError":"Impossible de charger les modèles. Vérifiez la connexion au fournisseur, puis réessayez.","chatControls.model.noMatch":"Aucun modèle ne correspond à « {query} »{filter}","chatControls.model.freeFilter":" (gratuits uniquement)","chatControls.model.noFree":"Aucun modèle gratuit disponible","chatControls.model.localNone":"Aucun modèle trouvé — {provider} est-il en cours d’exécution ?","chatControls.model.none":"Aucun modèle disponible","chatControls.model.localHint":"Vérifiez que {provider} est en cours d’exécution et qu’au moins un modèle y est chargé.","chatControls.model.ollamaHint":"Essayez : ollama pull llama3.2","chatControls.model.lmStudioHint":"Chargez d’abord un modèle dans LM Studio.","chatControls.model.searchHint":"Essayez un nom de modèle, une taille de contexte (par exemple 128k ou 1M) ou une capacité.","chatControls.model.disableFreeHint":"Désactivez le filtre « Modèles gratuits uniquement » pour afficher tous les modèles disponibles.","chatControls.model.selectAria":"Sélectionner le modèle {model}","chatControls.model.autoLabel":"Auto (recommandé)","chatControls.model.autoDescription":"Modèle rapide pour les échanges simples, modèle de pointe pour les compilations","chatControls.model.tokens":"{count} jetons","chatControls.model.dynamicLabel.context":"contexte","chatControls.model.dynamicLabel.input":"entrée","chatControls.model.dynamicLabel.output":"sortie","chatControls.model.dynamicLabel.dynamic":"dynamique","chatControls.model.dynamicLabel.by":"par","chatControls.model.dynamicLabel.notAvailable":"N/D","chatControls.model.match":"{percent} % de correspondance","chatControls.model.freeTitle":"Modèle gratuit","chatControls.model.selected":"Sélectionné","chatControls.power.tier.lite":"Lite","chatControls.power.tier.liteHint":"Rapide et économique. Ajustements visuels, corrections de bugs et modifications ciblées.","chatControls.power.tier.power":"Power","chatControls.power.tier.powerHint":"Le juste équilibre.","chatControls.power.tier.max":"Max","chatControls.power.tier.maxHint":"Pour les tâches complexes.","chatControls.power.liteGuardrail":"Le mode Léger convient aux modifications ciblées d’une application existante. Pour une nouvelle application, une évolution majeure de l’architecture, une intégration ou un changement de schéma de base de données, choisissez Économique ou Puissance.","chatControls.power.groupAria":"Mode de l’agent (Commande-Maj-I pour changer)","chatControls.power.availableTitle":"{label} — {hint} (Commande-Maj-I change de mode)","chatControls.power.unavailableTitle":"{label} n’est pas disponible avec votre offre","chatControls.power.advancedTitle":"Paramètres avancés : effort élevé et Turbo","chatControls.power.compactAria":"Mode de l'agent : {mode}. Ouvre les réglages avancés.","chatControls.power.advanced":"Avancé","chatControls.power.estimatedTitle":"Coût estimé de cette demande","chatControls.power.dialogAria":"Paramètres avancés de l’agent","chatControls.power.dialogTitle":"Paramètres avancés","chatControls.power.highEffort":"Effort élevé","chatControls.power.highEffortDescription":"Réserve les modèles plus puissants aux tâches réellement difficiles, sans surcoût systématique.","chatControls.power.highEffortLite":"L’effort élevé n’est pas disponible en mode Léger","chatControls.power.highEffortAvailable":"Réserve un modèle plus puissant aux tâches réellement difficiles. Les tâches plus simples ne consomment aucun crédit supplémentaire.","chatControls.power.highEffortPaid":"L’effort élevé est disponible avec les offres payantes","chatControls.power.proBadge":"Pro","chatControls.power.turbo":"Turbo","chatControls.power.turboDescription":"Mode Puissance uniquement. Désactivé par défaut ; un administrateur de l’organisation peut l’activer.","chatControls.power.turboPower":"Turbo est uniquement disponible en mode Puissance","chatControls.power.turboAvailable":"Réponses les plus rapides, facturées selon le multiplicateur indiqué.","chatControls.power.turboOrganization":"Turbo doit être activé par un administrateur de votre organisation","chatControls.power.organizationBadge":"Org.","chatControls.power.upgrade":"Changer d’offre pour débloquer les paramètres avancés","chatControls.power.estimated":"Coût estimé","chatRenderers.artifact.restoreFailedTitle":"Échec de la restauration du projet","chatRenderers.artifact.setupFailedTitle":"Échec de la configuration du projet","chatRenderers.artifact.restoredTitle":"Projet restauré","chatRenderers.artifact.createdTitle":"Projet créé","chatRenderers.artifact.restoringTitle":"Restauration du projet…","chatRenderers.artifact.creatingTitle":"Création du projet…","chatRenderers.artifact.openWorkbench":"Ouvrir l’espace de travail","chatRenderers.artifact.showActions":"Afficher les actions","chatRenderers.artifact.hideActions":"Masquer les actions","chatRenderers.artifact.restoreFiles":"Restaurer les fichiers depuis l’instantané","chatRenderers.artifact.initialFilesCreated":"Fichiers initiaux créés","chatRenderers.artifact.restoreFailed":"Échec de la restauration","chatRenderers.artifact.setupFailed":"Échec de la configuration du projet","chatRenderers.artifact.creatingInitialFiles":"Création des fichiers initiaux","chatRenderers.artifact.failureSafe":"L’action a échoué. Vérifiez l’étape concernée, puis réessayez.","chatRenderers.artifact.status.pending":"En attente","chatRenderers.artifact.status.running":"En cours","chatRenderers.artifact.status.complete":"Terminé","chatRenderers.artifact.status.failed":"Échec","chatRenderers.artifact.status.aborted":"Arrêté","chatRenderers.artifact.duration":"Durée : {duration}","chatRenderers.artifact.createFile":"Créer","chatRenderers.artifact.openFile":"Ouvrir {path}","chatRenderers.artifact.runCommand":"Exécuter la commande","chatRenderers.artifact.startApplication":"Démarrer l’application","chatRenderers.artifact.showCommand":"Afficher la commande","chatRenderers.artifact.showFailedCommand":"Afficher la commande en échec","chatRenderers.artifact.actionFailedSafe":"Cette action a échoué. Vérifiez la commande ou le fichier, puis réessayez.","chatRenderers.diff.edit":"Modifier","chatRenderers.diff.targetedPatch":"(patch ciblé)","chatRenderers.diff.openFile":"Ouvrir {path}","chatRenderers.diff.added_one":"{count} ligne ajoutée","chatRenderers.diff.added_other":"{count} lignes ajoutées","chatRenderers.diff.removed_one":"{count} ligne supprimée","chatRenderers.diff.removed_other":"{count} lignes supprimées","chatRenderers.diff.summary":"{added} ; {removed}","chatRenderers.diff.applyFailedAria":"Le patch ciblé n’a pas pu être appliqué","chatRenderers.diff.applyFailed":"Application impossible","chatRenderers.mermaid.label":"Diagramme Mermaid","chatRenderers.mermaid.copySource":"Copier la source du diagramme","chatRenderers.mermaid.copied":"Copié","chatRenderers.mermaid.canvas":"Diagramme Mermaid","chatRenderers.mermaid.rendering":"Génération du diagramme…","chatRenderers.mermaid.renderFailed":"Le diagramme Mermaid n’a pas pu être généré.","chatRenderers.mermaid.renderHelp":"Vérifiez la syntaxe du diagramme, puis réessayez.","chatRenderers.mermaid.retry":"Réessayer","chatRenderers.mermaid.source":"Source du diagramme","chatRenderers.mermaid.copyFailed":"La source du diagramme n’a pas pu être copiée. Réessayez.","chatRenderers.patchReview.aria":"Vérification du patch du message de l’assistant","chatRenderers.patchReview.filesChanged":"Fichiers modifiés","chatRenderers.patchReview.files_one":"{count} fichier","chatRenderers.patchReview.files_other":"{count} fichiers","chatRenderers.patchReview.aggregate":"{added} ; {removed} ; {files}","chatRenderers.patchReview.decisions":"Décisions de vérification du patch","chatRenderers.patchReview.acceptAll":"Tout accepter ({count})","chatRenderers.patchReview.acceptAllAria":"Tout accepter ({files})","chatRenderers.patchReview.accepting":"Acceptation…","chatRenderers.patchReview.rejectAll":"Tout refuser","chatRenderers.patchReview.rejectAllAria":"Tout refuser ({files})","chatRenderers.patchReview.applyFileFailed":"Impossible d’appliquer {path}. Réessayez.","chatRenderers.patchReview.applied_one":"{count} fichier appliqué","chatRenderers.patchReview.applied_other":"{count} fichiers appliqués","chatRenderers.patchReview.failed_one":"échec pour {count} fichier","chatRenderers.patchReview.failed_other":"échec pour {count} fichiers","chatRenderers.patchReview.applySummary":"{applied} ; {failed}.","chatResiduals.agentRepair.aria":"Historique des corrections automatiques de l’agent","chatResiduals.agentRepair.title":"Historique des corrections automatiques","chatResiduals.agentRepair.outcome.repaired":"Corrigé","chatResiduals.agentRepair.outcome.failed":"Échec","chatResiduals.agentRepair.outcome.gaveUp":"Abandon","chatResiduals.agentRepair.outcome.unknown":"Résultat inconnu","chatResiduals.agentRepair.attempt_one":"tentative {count}","chatResiduals.agentRepair.attempt_other":"tentative {count}","chatResiduals.agentRepair.validationFailed":"La validation du code a échoué.","chatResiduals.agentRepair.repairFailed":"La correction automatique n’a pas pu être appliquée.","chatResiduals.agentRepair.location":" Ligne {line}, colonne {column}.","chatResiduals.agentRepair.dateUnavailable":"Date indisponible","chatResiduals.generate.title":"Ce projet n’a pas encore été généré","chatResiduals.generate.description":"L’espace de travail contient uniquement un README. Générez l’application à partir de votre prompt initial.","chatResiduals.generate.action":"Générer l’application","chatResiduals.supabase.queryTitle":"Requête Supabase","chatResiduals.supabase.connectionTitle":"Connexion Supabase requise","chatResiduals.supabase.queryDescription":"Exécuter la requête de base de données","chatResiduals.supabase.connectionDescription":"Connexion Supabase requise","chatResiduals.supabase.reviewMessage":"Vérifiez les modifications proposées avant de les appliquer à votre base de données.","chatResiduals.supabase.connectMessage":"Connectez Supabase pour poursuivre cette opération.","chatResiduals.supabase.connectFirst":"Connectez Supabase, puis sélectionnez un projet.","chatResiduals.supabase.showQuery":"Afficher la requête de base de données proposée","chatResiduals.supabase.hideQuery":"Masquer la requête de base de données proposée","chatResiduals.supabase.connect":"Connecter Supabase","chatResiduals.supabase.apply":"Appliquer les modifications","chatResiduals.supabase.applying":"Application…","chatResiduals.supabase.dismiss":"Fermer","chatResiduals.supabase.executionFailed":"La requête Supabase n’a pas pu être appliquée. Vérifiez le SQL, puis réessayez.","chatResiduals.supabase.agentRetryMessage":"La requête Supabase n’a pas pu être appliquée. Vérifiez le SQL et renvoyez une requête corrigée.","chatResiduals.export.trigger":"Exporter","chatResiduals.export.downloadCode":"Télécharger le code","chatResiduals.export.exportChat":"Exporter la conversation","chatResiduals.code.copy":"Copier le code","chatResiduals.code.copied":"Copié","chatResiduals.code.copyFailed":"Impossible de copier le code. Réessayez.","chatResiduals.code.highlightFailed":"La coloration syntaxique est indisponible. Le code est affiché en texte brut.","chatResiduals.mentions.aria":"Mentions de fichiers","chatResiduals.mentions.empty":"Aucun fichier correspondant","chatResiduals.markdown.thoughtProcess":"Raisonnement","chatResiduals.plan.aria":"Liste des étapes du plan","chatResiduals.plan.fallbackTitle":"Plan","chatResiduals.plan.progressAria":"Progression du plan","chatResiduals.plan.progress":"{completed} étapes terminées sur {total}","chatResiduals.plan.failed_one":"{count} en échec","chatResiduals.plan.failed_other":"{count} en échec","chatResiduals.plan.status.pending":"En attente","chatResiduals.plan.status.inProgress":"En cours","chatResiduals.plan.status.completed":"Terminé","chatResiduals.plan.status.failed":"Échec","chatResiduals.plan.itemAria":"{description}, {status}","chatResiduals.reconnection.reason.tokenExpired":"Le jeton d’accès a expiré.","chatResiduals.reconnection.reason.tokenRevoked":"Le fournisseur a révoqué le jeton d’accès.","chatResiduals.reconnection.reason.scopeInsufficient":"Les autorisations actuelles ne couvrent plus la demande de l’agent.","chatResiduals.reconnection.reason.generic":"Reconnectez ce service pour continuer.","chatResiduals.reconnection.success":"{provider} a été reconnecté avec le compte {account}.","chatResiduals.reconnection.title":"Reconnecter {provider}","chatResiduals.reconnection.action":"Reconnecter {provider}","chatResiduals.reconnection.waiting":"En attente de l’autorisation…","chatResiduals.reconnection.startFailed":"Impossible de démarrer la reconnexion. Réessayez.","chatResiduals.reconnection.authorizationFailed":"L’autorisation n’a pas abouti. Vérifiez les paramètres des fenêtres pop-up, puis réessayez.","chatResiduals.connectionFailed.reason.userDenied":"La connexion a été refusée.","chatResiduals.connectionFailed.reason.invalidState":"La demande OAuth n’a pas pu être vérifiée.","chatResiduals.connectionFailed.reason.providerError":"Le fournisseur n’a pas pu établir la connexion.","chatResiduals.connectionFailed.reason.scopeMismatch":"Les autorisations accordées ne couvrent pas les besoins de l’agent.","chatResiduals.connectionFailed.reason.timeout":"Le fournisseur n’a pas répondu à temps.","chatResiduals.connectionFailed.reason.generic":"La connexion n’a pas pu être établie.","chatResiduals.connectionFailed.title":"La connexion à {provider} n’a pas pu être établie.","chatResiduals.connectionResolved.success":"{provider} est connecté avec le compte {account}.","chatResiduals.discuss.title":"Discussion","chatResiduals.messages.persistenceUnavailable":"L’historique de la conversation est indisponible.","chatResiduals.messages.forkFailed":"Impossible de dupliquer la conversation. Réessayez.","chatResiduals.messages.streaming":"L’agent répond…","chatResiduals.progress.agent":"Agent","chatResiduals.progress.done":"Terminé","chatResiduals.progress.doneWithIssues":"Terminé avec des erreurs","chatResiduals.progress.interrupted":"Interrompu","chatResiduals.progress.ariaInterrupted":"Agent, interrompu à {percent} % — l’exécution ne s’est pas terminée","chatResiduals.progress.ariaDoneWithIssues":"Agent, terminé à {percent} % mais le projet contient encore des erreurs — consultez le panneau Problèmes","chatResiduals.progress.working":"En cours","chatResiduals.progress.aria":"Agent, {phase}, progression {percent} %","chatResiduals.progress.percent":"{percent} %","chatResiduals.thought.expandHint":"Sélectionnez pour développer","chatResiduals.thought.expandAria":"Développer {title}","chatResiduals.thought.collapseAria":"Réduire {title}","chatResiduals.user.editAria":"Modifier et renvoyer ce message","chatResiduals.user.editTooltip":"Modifier et renvoyer","chatResiduals.user.avatarAlt":"Utilisateur","chatResiduals.user.imageAlt":"Image jointe {count}","collaborationRuntime.unavailable":"La collaboration en temps réel n’est pas disponible dans ce navigateur.","collaborationRuntime.connectionFailed":"Impossible de se connecter à la collaboration en temps réel. Reconnexion…","collaborationRuntime.timeout":"La connexion à la collaboration en temps réel a pris trop de temps. Reconnexion…","collaborationRuntime.invalidEvent":"La collaboration en temps réel a reçu une mise à jour invalide. Reconnexion…","collaborationRuntime.socketError":"La collaboration en temps réel a été interrompue. Reconnexion…","computeTierPreview.note":"Aperçu — ces commandes s’activeront lorsque le calcul managé sera provisionné. Aucun déploiement n’a encore lieu.","computeTierPreview.schedule.label":"Planification (cron)","computeTierPreview.schedule.valid":"Planification valide (minute, heure, jour, mois et jour de la semaine).","computeTierPreview.field.minute":"minute","computeTierPreview.field.hour":"heure","computeTierPreview.field.day-of-month":"jour du mois","computeTierPreview.field.month":"mois","computeTierPreview.field.day-of-week":"jour de la semaine","computeTierPreview.cron.required":"Saisissez une expression cron.","computeTierPreview.cron.fieldCount":"{expected} champs sont attendus (minute, heure, jour, mois et jour de la semaine) ; {actual} reçus.","computeTierPreview.cron.notNumber":"{field} : « {token} » n’est pas un nombre.","computeTierPreview.cron.outOfRange":"{field} : {value} est hors de la plage autorisée ({min}–{max}).","computeTierPreview.cron.positiveStep":"{field} : le pas « {token} » doit être un entier positif.","computeTierPreview.cron.malformedStep":"{field} : « {token} » n’est pas une expression de pas valide.","computeTierPreview.cron.malformedRange":"{field} : « {token} » n’est pas une plage valide.","computeTierPreview.cron.rangeOrder":"{field} : le début {start} de la plage est supérieur à sa fin {end}.","computeTierPreview.cron.emptyList":"{field} : la liste contient une valeur vide.","computeTierPreview.preset.every-15-minutes":"Toutes les 15 minutes","computeTierPreview.preset.hourly":"Toutes les heures","computeTierPreview.preset.daily-02":"Tous les jours à 02:00","computeTierPreview.preset.weekly-monday-09":"Chaque lundi à 09:00","computeTierPreview.autoscale.min":"Instances min.","computeTierPreview.autoscale.max":"Instances max.","computeTierPreview.autoscale.invalid":"Le nombre maximal d’instances doit être supérieur ou égal au minimum, et au moins égal à 1.","computeTierPreview.machine.label":"Taille de la machine","computeTierPreview.machine.shared":"Partagée · 0,5 vCPU / 1 Go","computeTierPreview.machine.small":"Petite · 1 vCPU / 2 Go","computeTierPreview.machine.medium":"Moyenne · 2 vCPU / 4 Go","computeTierPreview.machine.large":"Grande · 4 vCPU / 8 Go","computeTierPreview.lifecycle.title":"Cycle de vie","computeTierPreview.lifecycle.start":"Démarrer","computeTierPreview.lifecycle.stop":"Arrêter","computeTierPreview.lifecycle.restart":"Redémarrer","computeTierPreview.lifecycle.unavailable":"Disponible après le provisionnement de cette offre","computeTierPreview.history.noRuns":"Aucune exécution pour le moment","computeTierPreview.history.noActivity":"Aucune activité pour le moment","computeTierPreview.history.runHistory":"L’historique des exécutions apparaîtra ici lorsque l’offre sera active.","computeTierPreview.history.deploymentActivity":"L’activité des déploiements apparaîtra ici lorsque l’offre sera active.","mobileWorkspace.seo.title":"Espace de travail mobile — E-Code","mobileWorkspace.seo.description":"Ouvrez un projet E-Code depuis une route adaptée aux mobiles, avec accès à l’agent, aux fichiers, à l’aperçu et à l’état de l’environnement d’exécution.","mobileWorkspace.seo.imageAlt":"Espace de travail mobile E-Code","mobileWorkspace.page.title":"Espace de travail mobile","mobileWorkspace.page.eyebrow":"IDE mobile","mobileWorkspace.page.description":"Ouvrez le même contexte de projet E-Code depuis une route adaptée aux mobiles, avec l’agent, les fichiers, l’aperçu et l’état de l’environnement d’exécution disponibles dans l’IDE canonique.","mobileWorkspace.page.primaryAction":"Ouvrir l’IDE du projet","mobileWorkspace.page.secondaryAction":"Vue d’ensemble mobile","mobileWorkspace.highlight.phoneWorkflow":"Parcours sur téléphone","mobileWorkspace.highlight.projectContext":"Contexte du projet","mobileWorkspace.highlight.agentPanel":"Panneau de l’agent","mobileWorkspace.highlight.previewAccess":"Accès à l’aperçu","mobileWorkspace.section.continue.title":"Poursuivre sur mobile","mobileWorkspace.section.continue.body":"Retrouvez votre projet avec les mêmes fichiers, la conversation de l’agent et l’état de l’espace de travail que sur vos autres appareils.","mobileWorkspace.section.continue.projectContext":"Contexte du projet","mobileWorkspace.section.continue.mobileNavigation":"Navigation mobile","mobileWorkspace.section.continue.agentWorkflow":"Parcours avec l’agent","mobileWorkspace.section.continue.previewAccess":"Accès à l’aperçu","mobileWorkspace.section.security.title":"Accès sécurisé au projet","mobileWorkspace.section.security.body":"La connexion, les autorisations du projet et les politiques de l’équipe restent actives lorsque vous passez d’un ordinateur à une tablette ou à un mobile.","mobileWorkspace.section.security.authenticatedAccess":"Accès authentifié","mobileWorkspace.section.security.projectPermissions":"Autorisations du projet","mobileWorkspace.section.security.workspaceControls":"Contrôles de l’espace de travail","mobileWorkspace.section.security.teamGovernance":"Gouvernance de l’équipe","ideCompatibility.seo.title":"Projet {projectId} dans l’IDE — E-Code","ideCompatibility.seo.description":"Ouvrez le projet {projectId} dans l’IDE E-Code depuis la route de compatibilité, puis poursuivez dans l’espace de travail canonique du projet.","ideCompatibility.seo.imageAlt":"Projet {projectId} dans l’IDE E-Code","ideCompatibility.page.title":"Ouvrir le projet {projectId} dans l’IDE","ideCompatibility.page.eyebrow":"Compatibilité de l’IDE","ideCompatibility.page.description":"Cette route de compatibilité E-Code préserve les liens /ide/:id et vous dirige vers l’IDE canonique du projet E-Code.","ideCompatibility.page.primaryAction":"Ouvrir l’IDE canonique","ideCompatibility.page.secondaryAction":"Projets","ideCompatibility.highlight.canonicalRoute":"Route canonique","ideCompatibility.highlight.idePreserved":"IDE E-Code préservé","ideCompatibility.highlight.runtimePanels":"Panneaux de l’environnement d’exécution","ideCompatibility.highlight.teamControls":"Contrôles de l’équipe","ideCompatibility.section.behavior.title":"Fonctionnement de la compatibilité","ideCompatibility.section.behavior.body":"Les liens /ide/:id existants restent valides et vous dirigent vers la route du projet, où les loaders, les autorisations et l’état de l’environnement d’exécution sont appliqués.","ideCompatibility.section.behavior.projectLoader":"Loader du projet","ideCompatibility.section.behavior.authenticatedAccess":"Accès authentifié","ideCompatibility.section.behavior.runtimeState":"État de l’environnement d’exécution","ideCompatibility.section.boundary.title":"Périmètre de production","ideCompatibility.section.boundary.body":"La véritable surface de l’IDE reste l’espace de travail E-Code préservé, et non une implémentation dupliquée.","ideCompatibility.section.boundary.noDuplicate":"Aucun IDE dupliqué","ideCompatibility.section.boundary.sharedModel":"Modèle de projet partagé","ideCompatibility.section.boundary.existingPanels":"Panneaux existants","ideCompatibility.section.boundary.deploymentControls":"Contrôles de déploiement","connectionForm.form.label":"Connexion à {serviceName}","connectionForm.tip.label":"Conseil :","connectionForm.tip.environmentPrefix":"Vous pouvez également définir la variable d’environnement","connectionForm.tip.environmentSuffix":"pour vous connecter automatiquement.","connectionForm.tokenType.label":"Type de jeton","connectionForm.token.defaultLabel":"Jeton d’accès","connectionForm.token.defaultPlaceholder":"Saisissez votre jeton d’accès {serviceName}","connectionForm.token.required":"Saisissez un jeton d’accès pour continuer.","connectionForm.token.get":"Obtenir votre jeton","connectionForm.token.openInNewTab":"Ouvrir la page de création du jeton dans un nouvel onglet","connectionForm.action.connect":"Se connecter","connectionForm.action.connecting":"Connexion…","connectionForm.action.connectAria":"Se connecter à {serviceName}","connectionForm.action.disconnect":"Se déconnecter","connectionForm.action.disconnectAria":"Se déconnecter de {serviceName}","connectionForm.status.connected":"Connecté à {serviceName}","connectionForm.error.title":"Échec de la connexion","connectionForm.error.connectionFailed":"Impossible d’établir la connexion à {serviceName}. Vérifiez le jeton, puis réessayez.","connectionForm.error.invalidToken":"{serviceName} a refusé ce jeton. Vérifiez ses autorisations ou créez-en un nouveau, puis réessayez.","connectionForm.error.networkUnavailable":"Impossible de joindre {serviceName}. Vérifiez votre connexion réseau, puis réessayez.","connectionsTab.providers.title":"Clés des fournisseurs","connectionsTab.providers.loading":"Vérification des fournisseurs configurés…","connectionsTab.providers.unavailable":"État des fournisseurs indisponible","connectionsTab.providers.summary.one":"{configured}/{total} fournisseur configuré","connectionsTab.providers.summary.other":"{configured}/{total} fournisseurs configurés","connectionsTab.providers.open":"Ouvrir les fournisseurs","connectionsTab.providers.errorTitle":"Impossible de charger les clés des fournisseurs","connectionsTab.providers.errorDescription":"Les fournisseurs configurés sont temporairement indisponibles. Vérifiez votre connexion, puis réessayez.","connectionsTab.providers.retry":"Réessayer","connectionsTab.providers.emptyTitle":"Aucun fournisseur disponible","connectionsTab.providers.emptyDescription":"Aucun fournisseur configurable n’a été renvoyé pour cet espace de travail.","connectionsTab.provider.set":"Configuré","connectionsTab.provider.notSet":"Non configuré","connectionsTab.provider.status":"{provider} : {status}","connectionsTab.services.title":"Services et intégrations","connectionsTab.services.openAria":"Ouvrir les paramètres de {service}","connectionsTab.service.github":"GitHub","connectionsTab.service.gitlab":"GitLab","connectionsTab.service.netlify":"Netlify","connectionsTab.service.vercel":"Vercel","connectionsTab.service.supabase":"Supabase","connectionsTab.service.cloudProviders":"Fournisseurs cloud","connectionsTab.service.localProviders":"Fournisseurs locaux","connectionsTab.service.mcpServers":"Serveurs MCP","connectionsTab.request.title":"Demander une intégration","connectionsTab.request.description":"Vous avez besoin d’un connecteur ou d’un service qui n’est pas encore disponible ? Indiquez-nous ce que vous souhaitez créer avec.","connectionsTab.request.nameLabel":"Nom de l’intégration","connectionsTab.request.namePlaceholder":"p. ex. Notion, Stripe ou Twilio","connectionsTab.request.useCaseLabel":"À quoi vous servirait-elle ?","connectionsTab.request.useCasePlaceholder":"Décrivez votre cas d’usage pour nous aider à établir les priorités.","connectionsTab.request.visibility":"Votre demande est visible par vous-même et les membres de votre organisation.","connectionsTab.request.submit":"Envoyer la demande","connectionsTab.request.submitting":"Envoi…","connectionsTab.request.submitSuccess":"Merci ! Votre demande a bien été enregistrée.","connectionsTab.request.submitError":"Impossible d’envoyer votre demande d’intégration. Vérifiez votre connexion, puis réessayez.","connectionsTab.request.heading.one":"Votre demande ({count})","connectionsTab.request.heading.other":"Vos demandes ({count})","connectionsTab.request.loading":"Chargement de vos demandes…","connectionsTab.request.loadErrorTitle":"Impossible de charger les demandes d’intégration","connectionsTab.request.loadErrorDescription":"Vos demandes d’intégration sont temporairement indisponibles. Vérifiez votre connexion, puis réessayez.","connectionsTab.request.retry":"Réessayer","connectionsTab.request.empty":"Vous n’avez encore demandé aucune intégration.","connectionsTab.request.team":"équipe","connectionsTab.request.status.pending":"En attente","connectionsTab.request.status.planned":"Planifiée","connectionsTab.request.status.inProgress":"En cours","connectionsTab.request.status.shipped":"Livrée","connectionsTab.request.status.completed":"Terminée","connectionsTab.request.status.declined":"Refusée","connectionsTab.request.status.rejected":"Rejetée","connectionsTab.request.status.unknown":"État inconnu","databaseRestore.metaTitle":"Restauration de base de données - E-Code","databaseRestore.errors.projectNotFound":"Projet introuvable.","databaseRestore.errors.projectUnavailable":"Impossible de charger le projet.","databaseRestore.errors.panelUnavailable":"Le panneau de restauration de la base de données est indisponible.","databaseRestore.errors.requestFailed":"Impossible de traiter la demande concernant la base de données.","databaseRestore.errors.invalidAction":"Choisissez une action valide pour la base de données.","databaseRestore.errors.targetRequired":"Choisissez un point de restauration ou un instant cible.","databaseRestore.errors.invalidTarget":"Choisissez un instant cible valide.","databaseRestore.errors.restoreFailed":"Impossible de terminer cette restauration.","databaseRestore.title":"Restauration à un instant précis","databaseRestore.description":"Rétablissez la base de données gérée de ce projet à un instant précis compris dans la fenêtre de conservation de votre forfait.","databaseRestore.success.restore":"Restauration demandée — suivez sa progression dans l’historique ci-dessous.","databaseRestore.success.snapshot":"Instantané demandé — il apparaîtra parmi les points de restauration dès qu’il sera prêt.","databaseRestore.success.provision":"Provisionnement de la base de données demandé.","databaseRestore.notAvailable.title":"La restauration à un instant précis n’est pas disponible","databaseRestore.notAvailable.disabled":"Le retour arrière de la base de données gérée n’est pas encore activé pour cette instance.","databaseRestore.notAvailable.noInstance_one":"Votre forfait comprend une fenêtre de restauration de {count} jour, mais aucune base de données admissible n’est provisionnée.","databaseRestore.notAvailable.noInstance_other":"Votre forfait comprend une fenêtre de restauration de {count} jours, mais aucune base de données admissible n’est provisionnée.","databaseRestore.notAvailable.plan":"Votre forfait actuel ne comprend pas la restauration de base de données à un instant précis. Passez à un forfait doté d’une fenêtre de restauration pour pouvoir revenir à tout moment.","databaseRestore.notAvailable.viewPlans":"Voir les forfaits","databaseRestore.instance.title":"Base de données gérée","databaseRestore.instance.status":"État","databaseRestore.instance.engine":"Moteur","databaseRestore.instance.retention":"Conservation","databaseRestore.instance.size":"Taille","databaseRestore.instance.days_one":"{count} jour","databaseRestore.instance.days_other":"{count} jours","databaseRestore.instance.empty":"Aucune base de données gérée n’est encore provisionnée pour ce projet. Provisionnez-en une pour commencer à capturer des points de restauration.","databaseRestore.instance.provision":"Provisionner la base de données","databaseRestore.recovery.title":"Points de restauration","databaseRestore.recovery.takeSnapshot":"Créer un instantané","databaseRestore.recovery.dateUnavailable":"Date indisponible","databaseRestore.recovery.continuousArchive":"Archive WAL continue","databaseRestore.recovery.confirm":"Restaurer la base de données à ce point de restauration ? Les données actuelles seront remplacées.","databaseRestore.recovery.restore":"Restaurer à ce point","databaseRestore.recovery.emptyTitle":"Aucun point de restauration pour le moment","databaseRestore.recovery.emptyDescription":"Les instantanés automatiques apparaissent ici à mesure de leur capture. Vous pouvez aussi en créer un manuellement.","databaseRestore.panel.title":"Restaurer à un instant précis","databaseRestore.panel.window_one":"Choisissez un instant dans votre fenêtre de {count} jour, entre le {from} et le {to}.","databaseRestore.panel.window_other":"Choisissez un instant dans votre fenêtre de {count} jours, entre le {from} et le {to}.","databaseRestore.panel.noWindow":"La fenêtre de restauration continue devient disponible dès qu’une base de données est provisionnée.","databaseRestore.panel.targetTime":"Instant cible","databaseRestore.panel.outOfRange":"L’instant cible se trouve hors de votre fenêtre de conservation.","databaseRestore.panel.confirm":"Restaurer la base de données à l’instant sélectionné ? Les données actuelles seront remplacées par leur état à cet instant.","databaseRestore.panel.requesting":"Demande en cours…","databaseRestore.panel.restore":"Restaurer à cet instant","databaseRestore.panel.warning":"Une restauration rejoue le journal d’écriture jusqu’à l’instant choisi. Les données actuelles seront remplacées — cette opération est irréversible.","databaseRestore.history.title":"Historique des restaurations","databaseRestore.history.latest":"Dernier état","databaseRestore.history.requested":"demandée le {date}","databaseRestore.history.safeError":"La restauration n’a pas abouti. Réessayez ou contactez l’assistance.","databaseRestore.confirm.title":"Restaurer la base de données ?","databaseRestore.confirm.label":"Restaurer","databaseRestore.kind.manual":"Manuel","databaseRestore.kind.automatic":"Automatique","databaseRestore.status.pending":"En attente","databaseRestore.status.queued":"Dans la file d’attente","databaseRestore.status.running":"En cours","databaseRestore.status.completed":"Terminée","databaseRestore.status.failed":"Échouée","databaseRestore.status.canceled":"Annulée","databaseRollback.loading":"Chargement des contrôles de restauration de la base de données","databaseRollback.title":"Base de données","databaseRollback.entitlement.allowed_one":"Restauration à un instant précis jusqu’à {count} jour avec votre offre.","databaseRollback.entitlement.allowed_other":"Restauration à un instant précis jusqu’à {count} jours avec votre offre.","databaseRollback.entitlement.pro":"La restauration à un instant précis est disponible avec l’offre Pro.","databaseRollback.action.setup":"Configurer la base de données","databaseRollback.action.settingUp":"Configuration…","databaseRollback.action.snapshot":"Créer un instantané","databaseRollback.action.working":"Traitement…","databaseRollback.restore.label":"Restaurer à un instant précis","databaseRollback.restore.action":"Restaurer","databaseRollback.restore.requesting":"Demande en cours…","databaseRollback.restore.error":"Impossible d’effectuer l’opération sur la base de données. Réessayez.","databaseRollback.snapshots.title":"Points de restauration","databaseRollback.snapshots.empty":"Aucun instantané pour le moment.","databaseRollback.restores.title":"Restaurations","databaseRollback.dialog.title":"Restaurer la base de données ?","databaseRollback.dialog.description":"La base de données sera ramenée à son état du {date}. Les modifications enregistrées après cet instant seront perdues, et cette opération est irréversible.","databaseRollback.dialog.targetRequired":"Choisissez un instant auquel restaurer la base de données.","databaseRollback.dialog.confirm":"Restaurer la base de données","databaseRollback.dialog.cancel":"Annuler","databaseRollback.status.running":"En cours d’exécution","databaseRollback.status.ready":"Prête","databaseRollback.status.pending":"En attente","databaseRollback.status.processing":"Traitement en cours","databaseRollback.status.completed":"Terminée","databaseRollback.status.failed":"Échec","databaseRollback.status.stopped":"Arrêtée","databaseRollback.status.unknown":"État indisponible","databaseRollback.snapshot.manual":"Instantané manuel","databaseRollback.snapshot.scheduled":"Instantané planifié","databaseRollback.snapshot.unknown":"Instantané","databaseStudio.copied":"Copié","databaseStudio.copy":"Copier","databaseStudio.showFullValue":"Afficher la valeur complète","databaseStudio.fullValue":"Valeur complète","databaseStudio.connection":"Connexion","databaseStudio.refreshSchema":"Actualiser le schéma","databaseStudio.tables":"Tables","databaseStudio.connectionFailed":"Échec de la connexion","databaseStudio.safeConnectionError":"Impossible de charger la connexion à la base de données.","databaseStudio.loadingSchema":"Chargement du schéma…","databaseStudio.noTables":"Aucune table","databaseStudio.noTablesDescription":"Aucune table n’a été trouvée pour cette connexion.","databaseStudio.sqlQuery":"Requête SQL","databaseStudio.running":"Exécution…","databaseStudio.run":"Exécuter","databaseStudio.shortcut":"⌘/Ctrl + Entrée","databaseStudio.productionTitle":"La connexion active semble pointer vers une base de données de production. Les instructions destructrices nécessitent une confirmation.","databaseStudio.production":"Production","databaseStudio.page":"{limit} / {offset}","databaseStudio.pagePrevious":"Lignes précédentes","databaseStudio.pageNext":"Lignes suivantes","databaseStudio.pageEmpty":"Aucune ligne — limite {limit}, décalage {offset}","databaseWorkbench.note.title":"Vous ne retrouvez pas vos données ?","databaseWorkbench.note.body":"Votre projet a deux bases séparées. Ce que vous ajoutez pendant que vous construisez va dans la base de développement ; votre application en ligne, elle, lit et écrit celle de production. Une ligne enregistrée d’un côté n’apparaît jamais de l’autre.","databaseWorkbench.note.learnMore":"En savoir plus","databaseWorkbench.note.gotIt":"J’ai compris","databaseWorkbench.note.dismissAria":"Masquer cette note","databaseWorkbench.env.development":"Base de développement","databaseWorkbench.env.production":"Base de production","databaseWorkbench.env.staging":"Base de préproduction","databaseWorkbench.env.preview":"Base d’aperçu","databaseStudio.exportCsv":"Exporter en CSV","databaseStudio.insertRow":"+ Insérer une ligne","databaseStudio.editing":"Modification — cliquez sur une cellule","databaseStudio.edit":"Modifier","databaseStudio.queryFailed":"Échec de la requête","databaseStudio.safeQueryError":"Impossible d’exécuter la requête.","databaseStudio.runningQuery":"Exécution de la requête…","databaseStudio.noRows":"Aucune ligne renvoyée","databaseStudio.noRowsDescription":"La requête a réussi, mais n’a renvoyé aucune ligne.","databaseStudio.noResults":"Aucun résultat pour le moment","databaseStudio.noResultsDescription":"Exécutez une requête ou sélectionnez une table à gauche pour afficher les résultats.","databaseStudio.destructive.title":"Exécuter l’instruction destructive ?","databaseStudio.destructive.confirm":"Exécuter l’instruction","databaseStudio.destructive.description":"Cette instruction peut modifier ou supprimer des données. Vérifiez-la avant de l’exécuter :","databaseStudio.destructive.productionDescription":"Cette instruction peut modifier ou supprimer des données dans la base de production. Vérifiez-la avant de l’exécuter :","databaseStudio.destructive.connection":"Connexion : {connection}","databaseStudio.history.title":"Historique","databaseStudio.history.count":"({count})","databaseStudio.history.empty":"Aucune requête pour le moment — les exécutions réussies apparaîtront ici.","databaseStudio.history.remove":"Retirer de l’historique : {statement}","databaseStudio.history.clear":"Tout effacer","databaseSettings.active":"Active","databaseSettings.connectionString":"Chaîne de connexion","databaseSettings.hide":"Masquer","databaseSettings.reveal":"Afficher","databaseSettings.hideConnectionString":"Masquer la chaîne de connexion","databaseSettings.revealConnectionString":"Afficher la chaîne de connexion","databaseSettings.copy":"Copier","databaseSettings.copied":"Copié","databaseSettings.copyConnectionString":"Copier la chaîne de connexion","databaseSettings.connectionDescription":"L’adresse et le mot de passe utilisés par votre application pour se connecter à cette base de données.","databaseSettings.storage":"Stockage","databaseSettings.storageOf":"{used} sur {quota}","databaseSettings.storagePercent":"{percent} % utilisés","databaseSettings.storageProgress":"Stockage utilisé : {percent} %","databaseSettings.storageUnavailable":"L’utilisation du stockage apparaîtra dès que la base de données la transmettra.","databaseSettings.advanced":"Paramètres avancés","databaseSettings.connectionDetails_one":"Détails de connexion — {count} URL","databaseSettings.connectionDetails_other":"Détails de connexion — {count} URL","databaseSettings.remove":"Supprimer la base de données","databaseWorkbench.allDatabases":"Toutes les bases de données","databaseWorkbench.refresh":"Actualiser","databaseWorkbench.loading":"Chargement des bases de données…","databaseWorkbench.loadFailed":"Impossible de charger les bases de données.","databaseWorkbench.retry":"Réessayer","databaseWorkbench.noDatabase":"Aucune base de données pour le moment","databaseWorkbench.noDatabaseDescription":"Créez une base de données Postgres gérée pour ce projet. L’explorateur de schéma, l’éditeur SQL et les sauvegardes l’utiliseront.","databaseWorkbench.creating":"Création de la base de données…","databaseWorkbench.create":"Créer une base de données","databaseWorkbench.provisionFailed":"Impossible de créer la base de données. Réessayez.","databaseWorkbench.provisionUnavailable":"Cette plateforme ne peut pas créer de base de données gérée pour le moment. Un réessai n'y changera rien — contactez votre administrateur.","databaseWorkbench.status.connected":"Connectée","databaseWorkbench.status.provisioning":"Création en cours","databaseWorkbench.status.unavailable":"Indisponible","databaseWorkbench.status.unknown":"État indisponible","databaseWorkbench.overview":"Vue d’ensemble","databaseWorkbench.myData":"Mes données","databaseWorkbench.settings":"Paramètres","databaseWorkbench.views":"Vues de la base de données","databaseWorkbench.tables":"Tables","databaseWorkbench.loadingSchema":"Chargement du schéma…","databaseWorkbench.noTables":"Aucune table pour le moment.","databaseWorkbench.rows_one":"{count} ligne","databaseWorkbench.rows_other":"{count} lignes","designPalette.trigger":"Palette de design","designPalette.title":"Palette de design","designPalette.description":"Ajustez la palette de couleurs, la typographie et les caractéristiques de design qui guident l’agent.","designPalette.section.colors":"Couleurs","designPalette.section.typography":"Typographie","designPalette.section.features":"Caractéristiques","designPalette.colorPalette":"Palette de couleurs","designPalette.reset":"Réinitialiser","designPalette.changeColor":"Modifier la couleur {role}","designPalette.designFeatures":"Caractéristiques du design","designPalette.summary":"{colors} couleurs • {fonts} polices • {features} caractéristiques","designPalette.cancel":"Annuler","designPalette.save":"Enregistrer les modifications","designPalette.role.primary.label":"Principale","designPalette.role.primary.description":"Couleur principale de la marque — utilisez-la pour les boutons principaux, les liens actifs et les interactions clés.","designPalette.role.secondary.label":"Secondaire","designPalette.role.secondary.description":"Couleur de soutien — utilisez-la pour les boutons secondaires, les états inactifs et les éléments complémentaires.","designPalette.role.accent.label":"Accent","designPalette.role.accent.description":"Couleur de mise en valeur — utilisez-la pour les badges, notifications, états de focus et appels à l’action.","designPalette.role.background.label":"Arrière-plan","designPalette.role.background.description":"Fond de page — utilisez-le pour l’arrière-plan principal de l’application ou du site.","designPalette.role.surface.label":"Surface","designPalette.role.surface.description":"Zones de contenu surélevées — utilisez-les pour les cartes, boîtes de dialogue, menus et panneaux.","designPalette.role.text.label":"Texte","designPalette.role.text.description":"Texte principal — utilisez-le pour les titres, le corps du texte et le contenu essentiel.","designPalette.role.textSecondary.label":"Texte secondaire","designPalette.role.textSecondary.description":"Texte atténué — utilisez-le pour les légendes, placeholders, horodatages et informations secondaires.","designPalette.role.border.label":"Bordure","designPalette.role.border.description":"Séparateurs — utilisez-les pour les champs, séparateurs, lignes de tableau et contours.","designPalette.role.success.label":"Succès","designPalette.role.success.description":"Retour positif — utilisez-le pour les messages de succès, états terminés et indicateurs positifs.","designPalette.role.warning.label":"Avertissement","designPalette.role.warning.description":"Alertes de prudence — utilisez-les pour les avertissements, états en attente et éléments à surveiller.","designPalette.role.error.label":"Erreur","designPalette.role.error.description":"États d’erreur — utilisez-les pour les messages d’erreur, échecs et actions destructrices.","designPalette.feature.rounded":"Coins arrondis","designPalette.feature.border":"Bordure discrète","designPalette.feature.gradient":"Accent en dégradé","designPalette.feature.shadow":"Ombre douce","designPalette.feature.frostedGlass":"Verre dépoli","designPalette.font.sansSerif":"Sans empattement","designPalette.font.serif":"Avec empattement","designPalette.font.monospace":"Chasse fixe","designPalette.font.cursive":"Cursive","designPalette.font.fantasy":"Fantaisie","desktopSettings.metaTitle":"Paramètres de l’application de bureau - E-Code","desktopSettings.title":"Paramètres de l’application de bureau","desktopSettings.description":"Configurez l’application native, le réseau et les préférences de l’appareil.","desktopSettings.status.checking":"Vérification de l’application de bureau…","desktopSettings.status.openAppSettings":"Ouvrez cette page dans l’application de bureau E-Code pour modifier les paramètres natifs.","desktopSettings.status.loading":"Chargement des paramètres de l’application de bureau…","desktopSettings.status.loaded":"Paramètres de l’application de bureau chargés.","desktopSettings.status.loadFailed":"Impossible de charger les paramètres de l’application de bureau. Réessayez.","desktopSettings.status.saved":"Paramètres de l’application de bureau enregistrés.","desktopSettings.status.saveFailed":"Impossible d’enregistrer les paramètres de l’application de bureau. Réessayez.","desktopSettings.status.openAppNotification":"Ouvrez cette page dans l’application de bureau E-Code pour tester les notifications natives.","desktopSettings.status.notificationSent":"Notification de test envoyée.","desktopSettings.status.notificationFailed":"Impossible d’envoyer la notification de test. Vérifiez les autorisations système, puis réessayez.","desktopSettings.status.openAppFolder":"Ouvrez cette page dans l’application de bureau E-Code pour choisir un dossier local.","desktopSettings.status.folderSelected":"Dossier sélectionné.","desktopSettings.status.folderCanceled":"Sélection du dossier annulée.","desktopSettings.status.folderFailed":"Impossible d’ouvrir le sélecteur de dossier. Réessayez.","desktopSettings.notification.title":"E-Code","desktopSettings.notification.body":"Les notifications natives sont activées.","desktopSettings.loading.label":"Chargement des paramètres de l’application de bureau","desktopSettings.error.title":"Impossible de charger les paramètres de l’application de bureau","desktopSettings.error.description":"Les paramètres natifs sont masqués, car l’application de bureau n’a pas répondu. Aucun paramètre n’a été modifié.","desktopSettings.unavailable.title":"Disponible dans l’application de bureau E-Code","desktopSettings.unavailable.description":"Le proxy, la zone de notification, les notifications et la gestion de l’appareil sont des commandes natives. Ouvrez cette page dans l’application de bureau E-Code pour les configurer.","desktopSettings.unavailable.action":"Obtenir l’application de bureau","desktopSettings.stats.connection.label":"Connexion à l’application de bureau","desktopSettings.stats.connection.value":"Connectée","desktopSettings.stats.connection.detail":"Fonctionnalités natives disponibles","desktopSettings.stats.storage.label":"Stockage du jeton","desktopSettings.stats.storage.protected":"Protégé","desktopSettings.stats.storage.limited":"Limité","desktopSettings.stats.storage.encrypted":"Stockage de session chiffré","desktopSettings.stats.storage.unavailable":"Protection système indisponible","desktopSettings.stats.session.label":"Session","desktopSettings.stats.session.signedIn":"Connectée","desktopSettings.stats.session.notStored":"Non stockée","desktopSettings.stats.session.detail":"État de connexion au SaaS","desktopSettings.proxy.title":"Proxy","desktopSettings.proxy.mode":"Mode","desktopSettings.proxy.system":"Système","desktopSettings.proxy.direct":"Direct","desktopSettings.proxy.manual":"Manuel","desktopSettings.proxy.server":"Serveur manuel","desktopSettings.proxy.serverPlaceholder":"http://proxy.example.com:8080","desktopSettings.native.title":"Fonctionnalités natives","desktopSettings.native.disableTray":"Désactiver la zone de notification","desktopSettings.native.enableTray":"Activer la zone de notification","desktopSettings.native.testNotification":"Tester la notification","desktopSettings.native.openFolder":"Ouvrir un dossier local","desktopSettings.device.title":"Gestion de l’appareil","desktopSettings.device.managedDescription":"Votre organisation gère certains paramètres de l’application de bureau sur cet appareil.","desktopSettings.device.personalDescription":"Cet appareil utilise vos paramètres personnels de l’application de bureau E-Code.","desktopSettings.device.management":"Gestion","desktopSettings.device.organizationManaged":"Géré par l’organisation","desktopSettings.device.personal":"Personnel","deploySurfaces.common.noActiveChat":"Aucune conversation active n’a été trouvée.","deploySurfaces.common.noActiveProject":"Aucun projet actif n’est disponible pour le déploiement.","deploySurfaces.common.buildFailed":"La compilation du projet a échoué. Consultez la sortie du terminal, corrigez les erreurs, puis réessayez.","deploySurfaces.common.outputDirectoryMissing":"Le dossier de sortie de la compilation est introuvable. Vérifiez la configuration, puis réessayez.","deploySurfaces.common.invalidResponse":"Le service de déploiement a renvoyé une réponse inattendue. Veuillez réessayer.","deploySurfaces.status.idle":"Prêt pour le déploiement.","deploySurfaces.status.building":"Compilation du projet…","deploySurfaces.status.deploying":"Déploiement du projet…","deploySurfaces.status.pending":"Le déploiement est toujours en cours.","deploySurfaces.status.success":"Déploiement terminé avec succès.","deploySurfaces.status.error":"Le déploiement n’a pas pu être terminé.","deploySurfaces.netlify.connectFirst":"Connectez votre compte Netlify dans les paramètres avant de lancer le déploiement.","deploySurfaces.netlify.artifactTitle":"Déploiement Netlify","deploySurfaces.netlify.statusCheckFailed":"Impossible de confirmer l’état du déploiement Netlify. Consultez le tableau de bord Netlify, puis réessayez.","deploySurfaces.netlify.timedOut":"Le délai d’attente du déploiement Netlify est dépassé. Consultez son état dans le tableau de bord Netlify.","deploySurfaces.netlify.failed":"Le déploiement Netlify a échoué. Réessayez ou consultez le tableau de bord Netlify.","deploySurfaces.netlify.success":"🚀 Déploiement Netlify terminé avec succès.","deploySurfaces.vercel.connectFirst":"Connectez votre compte Vercel dans les paramètres avant de lancer le déploiement.","deploySurfaces.vercel.artifactTitle":"Déploiement Vercel","deploySurfaces.vercel.pending":"Votre déploiement Vercel est toujours en cours. Consultez le tableau de bord Vercel pour connaître son état final.","deploySurfaces.vercel.failed":"Le déploiement Vercel a échoué. Réessayez ou consultez le tableau de bord Vercel.","deploySurfaces.vercel.success":"🚀 Déploiement Vercel terminé avec succès.","deployRemaining.button.deploy":"Déployer","deployRemaining.button.deployingTo":"Déploiement vers {provider}…","deployRemaining.button.failed":"Impossible de lancer le déploiement. Veuillez réessayer.","deployRemaining.button.netlifyDisconnected":"Aucun compte Netlify connecté","deployRemaining.button.netlify":"Déployer vers Netlify","deployRemaining.button.vercelDisconnected":"Aucun compte Vercel connecté","deployRemaining.button.vercel":"Déployer vers Vercel","deployRemaining.button.github":"Déployer vers GitHub","deployRemaining.button.gitlabDisconnected":"Aucun compte GitLab connecté","deployRemaining.button.gitlab":"Déployer vers GitLab","deployRemaining.button.cloudflareSoon":"Déployer vers Cloudflare (bientôt disponible)","deployRemaining.button.provider.netlify":"Netlify","deployRemaining.button.provider.vercel":"Vercel","deployRemaining.button.provider.github":"GitHub","deployRemaining.button.provider.gitlab":"GitLab","deployRemaining.repository.noActiveChat":"Aucune conversation active n’a été trouvée.","deployRemaining.repository.noActiveProject":"Aucun projet actif n’est disponible pour le déploiement.","deployRemaining.repository.buildFailed":"La compilation du projet a échoué. Consultez la sortie du terminal, corrigez les erreurs, puis réessayez.","deployRemaining.repository.github.connectFirst":"Connectez votre compte GitHub dans Paramètres > Connexions avant de lancer le déploiement.","deployRemaining.repository.github.artifactTitle":"Déploiement GitHub","deployRemaining.repository.github.failed":"Impossible de terminer la préparation du déploiement GitHub.","deployRemaining.repository.github.success":"🚀 Préparation du déploiement GitHub terminée avec succès.","deployRemaining.repository.gitlab.connectFirst":"Connectez votre compte GitLab dans Paramètres > Connexions avant de lancer le déploiement.","deployRemaining.repository.gitlab.artifactTitle":"Déploiement GitLab","deployRemaining.repository.gitlab.failed":"Impossible de terminer la préparation du déploiement GitLab.","deployRemaining.repository.gitlab.success":"🚀 Préparation du déploiement GitLab terminée avec succès.","deployRemaining.repository.status.idle":"Prêt à préparer le déploiement.","deployRemaining.repository.status.building":"Compilation du projet…","deployRemaining.repository.status.preparing":"Préparation du déploiement du dépôt…","deployRemaining.repository.status.success":"Préparation du déploiement terminée avec succès.","deployRemaining.repository.status.error":"La préparation du déploiement a échoué.","deployRemaining.alert.generic.successTitle":"Déploiement terminé","deployRemaining.alert.generic.errorTitle":"Échec du déploiement","deployRemaining.alert.generic.infoTitle":"Mise à jour du déploiement","deployRemaining.alert.generic.successDescription":"Le déploiement s’est terminé avec succès.","deployRemaining.alert.generic.errorDescription":"Impossible de terminer le déploiement. Veuillez réessayer.","deployRemaining.alert.generic.infoDescription":"L’état du déploiement a été mis à jour.","deployRemaining.alert.buildingTitle":"Compilation de votre projet","deployRemaining.alert.deployingTitle":"Déploiement de votre application","deployRemaining.alert.completedTitle":"Déploiement terminé","deployRemaining.alert.preparingBuild":"Préparation de la compilation de votre projet…","deployRemaining.alert.building":"Compilation de votre projet…","deployRemaining.alert.buildCompleted":"Votre projet a été compilé avec succès.","deployRemaining.alert.buildFailed":"La compilation du projet a échoué. Consultez la sortie du terminal, puis réessayez.","deployRemaining.alert.preparingDeployment":"Préparation de votre déploiement…","deployRemaining.alert.deploying":"Déploiement de votre application…","deployRemaining.alert.deploymentCompleted":"Votre application a été déployée avec succès.","deployRemaining.alert.deploymentFailed":"Le déploiement a échoué. Consultez les journaux du terminal, puis réessayez.","deployRemaining.alert.progressLabel":"Progression du déploiement","deployRemaining.alert.buildStep":"Compilation","deployRemaining.alert.deployStep":"Déploiement","deployRemaining.alert.viewSite":"Voir le site déployé","deployRemaining.alert.askECode":"Demander à E-Code","deployRemaining.alert.dismiss":"Fermer","deployRemaining.alert.fixPrompt":"*Corrigez cette erreur de déploiement*\n```\n{details}\n```\n","deployRemaining.selector.legend":"Type de déploiement","deployRemaining.selector.soon":"Bientôt","deployRemaining.selector.unavailableTitle":"Bientôt disponible — nécessite une infrastructure de calcul managée","deployRemaining.type.static.name":"Statique","deployRemaining.type.static.tagline":"Compilez une fois, puis servez le résultat comme site statique rapide.","deployRemaining.type.static.description":"Exécute votre commande de compilation et publie le dossier de sortie sur une URL publique. Idéal pour les SPA, les sites générés et les interfaces utilisateur qui ne nécessitent pas de serveur actif.","deployRemaining.type.static.bestFor":"Sites statiques et SPA (React, Vue, Astro, HTML)","deployRemaining.type.autoscale.name":"Mise à l’échelle automatique","deployRemaining.type.autoscale.tagline":"Exécutez un serveur qui s’adapte au trafic et revient à zéro lorsqu’il est inactif.","deployRemaining.type.autoscale.description":"Exécute votre application comme un service HTTP managé sur un environnement d’exécution durable. Idéal pour les applications complètes avec service applicatif (SSR Next.js, Express, serveur Remix). L’environnement d’exécution ainsi que les commandes de compilation et de démarrage sont détectés automatiquement dans votre projet.","deployRemaining.type.autoscale.bestFor":"Applications complètes avec serveur (SSR, API)","deployRemaining.type.reservedVm.name":"VM réservée","deployRemaining.type.reservedVm.tagline":"Une machine dédiée, toujours active, pour les charges prévisibles.","deployRemaining.type.reservedVm.description":"Exécute votre application sur une instance dédiée, toujours active, avec CPU et RAM réservés. Idéal pour les serveurs avec état, les applications WebSocket, les bots et les charges qui ne doivent jamais subir de démarrage à froid.","deployRemaining.type.reservedVm.bestFor":"Serveurs toujours actifs, bots et applications WebSocket","deployRemaining.type.reservedVm.requires.code.selection":"Sélection de l’offre réservée et route de provisionnement","deployRemaining.type.reservedVm.requires.code.lifecycle":"Commandes de cycle de vie (démarrer, arrêter et redémarrer) et journaux","deployRemaining.type.reservedVm.requires.infra.compute":"Pool de nœuds dédié ou capacité de calcul réservée","deployRemaining.type.reservedVm.requires.infra.ingress":"Routage entrant basé sur l’hôte et TLS","deployRemaining.type.reservedVm.requires.infra.storage":"Stockage persistant attaché","deployRemaining.type.scheduled.name":"Planifié","deployRemaining.type.scheduled.tagline":"Exécutez une commande selon une planification cron.","deployRemaining.type.scheduled.description":"Exécute une commande de façon récurrente dans le bac à sable de votre projet, puis s’arrête. Seul le temps d’exécution réel est facturé (durée × taille de la machine), et non 24 h/24. Chaque exécution conserve son code de sortie, sa durée et l’intégralité de ses journaux. Idéal pour les traitements par lots, les synchronisations de données, la génération de rapports et la maintenance périodique.","deployRemaining.type.scheduled.bestFor":"Tâches cron, traitements par lots et synchronisations périodiques","deployRemaining.provider.static.name":"Export statique","deployRemaining.provider.static.description":"Créer un artefact statique immuable.","deployRemaining.provider.vercel.name":"Vercel","deployRemaining.provider.vercel.description":"Réutiliser le parcours de déploiement Bolt vers Vercel.","deployRemaining.provider.netlify.name":"Netlify","deployRemaining.provider.netlify.description":"Réutiliser le parcours de déploiement Bolt vers Netlify.","deployRemaining.provider.githubPages.name":"GitHub Pages","deployRemaining.provider.githubPages.description":"Publier la sortie statique via l’intégration GitHub.","deployRemaining.provider.cloudflarePages.name":"Cloudflare Pages","deployRemaining.provider.cloudflarePages.description":"Déployer la sortie statique vers Cloudflare Pages.","deployRemaining.provider.googleCloudRun.name":"Google Cloud Run","deployRemaining.provider.googleCloudRun.description":"Créer un service applicatif utilisateur isolé.","deployRemaining.provider.docker.name":"Dockerfile personnalisé","deployRemaining.provider.docker.description":"Utiliser le moteur de compilation isolé réservé aux entreprises.","diffView.fullscreen.enter":"Passer en plein écran","diffView.fullscreen.exit":"Quitter le plein écran","diffView.fullscreen.dialog":"Comparaison de {fileName} en plein écran","diffView.fullscreen.close":"Fermer la comparaison en plein écran","diffView.warning.binary.title":"Fichier binaire détecté","diffView.warning.binary.description":"La comparaison n’est pas disponible pour les fichiers binaires.","diffView.warning.processing.title":"Impossible d’analyser le fichier","diffView.warning.processing.description":"L’aperçu des modifications n’a pas pu être généré.","diffView.identical.title":"Fichiers identiques","diffView.identical.description":"Les deux versions correspondent exactement.","diffView.identical.currentContent":"Contenu actuel","diffView.status.modified":"Modifié","diffView.status.modifiedAt":"Modifié le {date}","diffView.status.noChanges":"Aucune modification","diffView.stats.additions.one":"{count} ajout","diffView.stats.additions.other":"{count} ajouts","diffView.stats.deletions.one":"{count} suppression","diffView.stats.deletions.other":"{count} suppressions","diffView.loading.title":"Préparation de la comparaison…","diffView.loading.description":"Chargement de la coloration syntaxique.","diffView.loading.error.title":"Impossible de charger la comparaison","diffView.loading.error.description":"La coloration syntaxique n’a pas pu être initialisée. Le contenu de votre fichier n’a pas été modifié.","diffView.loading.retry":"Réessayer","diffView.empty.title":"Sélectionnez un fichier","diffView.empty.description":"Choisissez un fichier dans l’explorateur pour comparer ses modifications.","diffView.revert.action":"Rétablir le fichier","diffView.revert.title":"Rétablir le fichier ?","diffView.revert.description":"Cette action restaure le contenu de {fileName} antérieur à ces modifications, puis l’enregistre. Vous ne pourrez pas l’annuler depuis cette vue.","diffView.revert.confirming":"Rétablissement…","diffView.revert.confirm":"Rétablir le fichier","diffView.revert.cancel":"Conserver les modifications","diffView.revert.error":"Impossible de rétablir le fichier. Vérifiez votre connexion, puis réessayez.","diffView.renderError.title":"Impossible d’afficher la comparaison","diffView.renderError.description":"Sélectionnez de nouveau le fichier ou rouvrez la comparaison.","featuresSettings.badge.beta":"Bêta","featuresSettings.badge.experimental":"Expérimental","featuresSettings.state.enabled":"activé","featuresSettings.state.disabled":"désactivé","featuresSettings.toast.state":"{feature} : {state}","featuresSettings.latestBranch.title":"Mises à jour de la branche principale","featuresSettings.latestBranch.description":"Recevez les dernières mises à jour de la branche principale.","featuresSettings.latestBranch.tooltip":"Lorsque cette option est activée, E-Code reçoit les mises à jour de la branche principale de développement.","featuresSettings.autoTemplate.title":"Sélection automatique du modèle","featuresSettings.autoTemplate.description":"Sélectionnez automatiquement un modèle de démarrage.","featuresSettings.autoTemplate.tooltip":"Lorsque cette option est activée, E-Code sélectionne le modèle de démarrage le plus adapté.","featuresSettings.context.title":"Optimisation du contexte","featuresSettings.context.description":"Optimisez le contexte afin d’obtenir de meilleures réponses.","featuresSettings.context.tooltip":"Activée par défaut pour améliorer les réponses de l’IA.","featuresSettings.eventLogs.title":"Journalisation des événements","featuresSettings.eventLogs.description":"Activez la journalisation détaillée des événements et leur historique.","featuresSettings.eventLogs.tooltip":"Activée par défaut pour enregistrer les événements système et les actions utilisateur en détail.","featuresSettings.toggleAria":"Activer ou désactiver {feature}","featuresSettings.core.title":"Fonctionnalités principales","featuresSettings.core.description":"Fonctionnalités essentielles activées par défaut pour des performances optimales.","featuresSettings.beta.title":"Fonctionnalités bêta","featuresSettings.beta.description":"Nouvelles fonctionnalités prêtes à être testées, mais susceptibles de nécessiter encore des ajustements.","featuresSettings.prompt.title":"Bibliothèque de prompts","featuresSettings.prompt.description":"Choisissez le prompt système utilisé par l’agent.","featuresSettings.prompt.aria":"Bibliothèque de prompts","featuresSettings.prompt.updated":"Modèle de prompt mis à jour","featuresSettings.prompt.default":"Prompt par défaut","featuresSettings.prompt.original":"Prompt d’origine","featuresSettings.prompt.optimized":"Prompt optimisé (expérimental)","fileHistory.dialogLabel":"Historique du fichier {fileName}","fileHistory.title":"Historique — {fileName}","fileHistory.subtitle":"Indépendant de Git · versions ajoutées chronologiquement","fileHistory.close":"Fermer l’historique du fichier","fileHistory.loading":"Chargement de l’historique…","fileHistory.error":"Impossible de charger l’historique du fichier.","fileHistory.retry":"Réessayer","fileHistory.empty":"Aucun historique pour le moment. Modifiez et enregistrez ce fichier pour commencer à créer des versions.","fileHistory.versionCounter":"Version {current} / {total}","fileHistory.versionValue":"Version {current} sur {total}","fileHistory.source.initial":"Référence initiale","fileHistory.source.save":"Enregistrée","fileHistory.source.agent":"Agent","fileHistory.source.restore":"Restaurée","fileHistory.source.external":"Externe","fileHistory.dateUnavailable":"Date indisponible","fileHistory.latest":"Dernière version","fileHistory.previous":"Version précédente","fileHistory.next":"Version suivante","fileHistory.slider":"Version du fichier","fileHistory.pausePlayback":"Suspendre la lecture","fileHistory.playHistory":"Lire l’historique des versions","fileHistory.pause":"Pause","fileHistory.play":"Lire","fileHistory.playbackSpeed":"Vitesse de lecture","fileHistory.compareLatest":"Comparer à la dernière version","fileHistory.restoring":"Restauration…","fileHistory.restore":"Restaurer cette version","fileHistory.identical":"Cette version est identique à la dernière.","gitClone.error.workspaceStart":"Impossible de démarrer les outils Git, car l’espace de travail est indisponible.","gitClone.error.projectRequired":"L’import par URL a besoin d’un projet : ouvrez-en un, puis utilisez son panneau Git.","gitClone.error.runtimeNotReady":"L’espace de travail n’est pas encore prêt. Patientez quelques instants, puis réessayez.","gitClone.auth.required":"Ce dépôt nécessite une authentification. Souhaitez-vous saisir vos identifiants GitHub ?","gitClone.auth.username":"Saisissez votre nom d’utilisateur","gitClone.auth.password":"Saisissez votre mot de passe ou votre jeton d’accès personnel","gitClone.error.authenticationHost":"Échec de l’authentification auprès de {host}. Vérifiez vos identifiants, puis réessayez.","gitClone.error.authentication":"Échec de l’authentification. Vérifiez vos identifiants GitHub, puis réessayez.","gitClone.error.network":"Impossible de joindre le dépôt. Vérifiez votre connexion Internet, puis réessayez.","gitClone.error.networkExhausted":"Impossible de joindre le dépôt après plusieurs tentatives. Vérifiez votre connexion Internet, puis réessayez.","gitClone.error.notFound":"Dépôt introuvable. Vérifiez l’URL et assurez-vous que le dépôt existe.","gitClone.error.unauthorized":"Vous n’avez pas accès à ce dépôt. Connectez GitHub avec les autorisations requises.","gitClone.error.generic":"Impossible de cloner le dépôt. Vérifiez l’URL, puis réessayez.","gitMergeEditor.conflicts_one":"{count} conflit","gitMergeEditor.conflicts_other":"{count} conflits","gitMergeEditor.hunkView":"Vue par bloc","gitMergeEditor.editRaw":"Modifier le contenu brut","gitMergeEditor.close":"Fermer l’éditeur de fusion","gitMergeEditor.raw.aria":"Résultat brut de la fusion","gitMergeEditor.accept.current":"Accepter la version actuelle","gitMergeEditor.accept.incoming":"Accepter la version entrante","gitMergeEditor.accept.both":"Accepter les deux","gitMergeEditor.status.removeMarkers":"Supprimez tous les marqueurs de conflit avant de valider.","gitMergeEditor.status.ready":"Prêt à marquer comme résolu.","gitMergeEditor.status.allChosen":"Tous les conflits ont été traités.","gitMergeEditor.status.choose":"Choisissez une version pour chaque conflit ({chosen}/{total}).","gitMergeEditor.markResolved":"Marquer comme résolu","gitSettings.provider.github":"GitHub","gitSettings.provider.gitlab":"GitLab","gitSettings.provider.bitbucket":"Bitbucket","gitSettings.gitignore.title":".gitignore","gitSettings.gitignore.contents":"Contenu du fichier .gitignore","gitSettings.gitignore.loading":"Chargement…","gitSettings.gitignore.saving":"Enregistrement…","gitSettings.gitignore.save":"Enregistrer .gitignore","gitSettings.gitignore.saved":"Enregistré","gitSettings.gitignore.saveFailed":"Enregistrement impossible","gitSettings.ssh.requestFailed":"La requête a échoué (HTTP {{status}}).","gitSettings.ssh.defaultName":"Clé SSH Git","gitSettings.ssh.generated":"Clé SSH générée — ajoutez la clé publique à votre hébergeur Git, puis utilisez Git en SSH.","gitSettings.ssh.generateFailed":"Impossible de générer la clé SSH.","gitSettings.ssh.deleted":"Clé SSH supprimée","gitSettings.ssh.deleteFailed":"Impossible de supprimer la clé SSH.","gitSettings.ssh.remoteRequired":"Définissez d’abord une URL de dépôt distant SSH (git@hôte:organisation/dépôt.git) dans la section Dépôt distant.","gitSettings.ssh.accessFailed":"L’accès SSH a échoué — vérifiez que la clé publique est enregistrée chez votre hébergeur Git, puis redémarrez l’espace de travail.","gitSettings.ssh.accessOk":"L’accès SSH à {{host}} est opérationnel.","gitSettings.ssh.testFailed":"Impossible de tester l’accès SSH.","gitSettings.ssh.publicKeyUnavailable":"La clé publique ne peut pas être copiée.","gitSettings.ssh.copyFailed":"Impossible de copier la clé publique dans le presse-papiers.","gitSettings.ssh.title":"Clés SSH","gitSettings.ssh.description":"Authentifiez les push et pull Git en SSH. La clé privée reste dans l’espace de travail isolé de ce projet et ne rejoint jamais une infrastructure partagée. Il s’agit des mêmes clés que dans Terminal → SSH.","gitSettings.ssh.originHost":"Hôte d’origine","gitSettings.ssh.bound":"une clé est associée","gitSettings.ssh.unbound":"aucune clé associée — générez-en une ci-dessous","gitSettings.ssh.remoteHint":"Définissez un dépôt distant SSH ({{example}}) dans la section Dépôt distant pour utiliser ces clés avec push et pull.","gitSettings.ssh.loading":"Chargement…","gitSettings.ssh.empty":"Aucune clé SSH pour le moment.","gitSettings.ssh.keyFallback":"Clé SSH","gitSettings.ssh.boundToOrigin":"associée à origin","gitSettings.ssh.copied":"Copiée","gitSettings.ssh.copyPublic":"Copier la clé publique","gitSettings.ssh.testing":"Test en cours…","gitSettings.ssh.test":"Tester","gitSettings.ssh.delete":"Supprimer","gitSettings.ssh.lastTestFailed":"Le dernier test SSH a échoué.","gitSettings.ssh.installPublicKey":"Ajoutez cette clé publique chez votre hébergeur Git (clés de déploiement ou clés SSH), puis sélectionnez Tester :","gitSettings.ssh.generating":"Génération…","gitSettings.ssh.generate":"Générer une clé SSH","gitSettings.ssh.storage":"ed25519 · conservée dans l’espace de travail","gitSettings.toast.authorSelected":"Auteur des commits défini sur {{author}}","gitSettings.toast.authorRequired":"Saisissez un nom ou une adresse e-mail avant d’enregistrer un profil.","gitSettings.toast.profileSaved":"Profil d’auteur des commits enregistré","gitSettings.toast.providerConnected":"{{provider}} est connecté avec le compte {{account}}","gitSettings.toast.providerConnectionFailed":"La connexion à {{provider}} a échoué.","gitSettings.toast.oauthStartFailed":"Impossible de démarrer OAuth pour {{provider}} (HTTP {{status}}).","gitSettings.toast.oauthUnavailable":"Impossible de démarrer le parcours OAuth.","gitSettings.toast.providerDisconnected":"{{provider}} est déconnecté","gitSettings.toast.disconnectFailed":"Impossible de déconnecter le compte (HTTP {{status}}).","gitSettings.toast.disconnectUnavailable":"Impossible de déconnecter ce compte.","gitSettings.toast.remoteSaved":"Dépôt distant Git enregistré","gitSettings.toast.remoteSaveFailed":"Impossible d’enregistrer le dépôt distant Git (HTTP {{status}}).","gitSettings.toast.remoteSaveUnavailable":"Impossible d’enregistrer ce dépôt distant Git.","gitSettings.toast.remoteRemoved":"Dépôt distant Git supprimé","gitSettings.toast.remoteRemoveFailed":"Impossible de supprimer le dépôt distant Git (HTTP {{status}}).","gitSettings.toast.remoteRemoveUnavailable":"Impossible de supprimer ce dépôt distant Git.","gitSettings.toast.defaultAuthorSaved":"Auteur des commits par défaut enregistré","gitSettings.panel.label":"Paramètres Git","gitSettings.panel.title":"Paramètres Git","gitSettings.panel.done":"Fermer","gitSettings.remote.title":"Dépôt distant","gitSettings.remote.urlLabel":"URL du dépôt distant origin","gitSettings.remote.branchPlaceholder":"main","gitSettings.remote.branchLabel":"Branche par défaut","gitSettings.remote.saving":"Enregistrement…","gitSettings.remote.update":"Mettre à jour","gitSettings.remote.create":"Créer","gitSettings.remote.removing":"Suppression…","gitSettings.remote.remove":"Supprimer le dépôt distant","gitSettings.connections.title":"Connexions","gitSettings.connections.active":"Active · {{account}}","gitSettings.connections.disconnected":"Déconnecté","gitSettings.connections.disconnecting":"Déconnexion…","gitSettings.connections.disconnect":"Déconnecter","gitSettings.connections.waiting":"En attente…","gitSettings.connections.signIn":"Se connecter","gitSettings.author.title":"Auteur des commits","gitSettings.author.description":"Auteur par défaut des commits de ce projet (stocké dans ce navigateur et utilisé pour préremplir le formulaire de commit). Enregistrez plusieurs identités et sélectionnez-en une pour chaque projet.","gitSettings.author.savedProfiles":"Profils d’auteur des commits enregistrés","gitSettings.author.noName":"(sans nom)","gitSettings.author.noEmail":"sans e-mail","gitSettings.author.removeProfile":"Supprimer le profil d’auteur des commits {{author}}","gitSettings.author.namePlaceholder":"Nom de l’auteur","gitSettings.author.nameLabel":"Nom de l’auteur des commits par défaut","gitSettings.author.emailPlaceholder":"auteur@exemple.fr","gitSettings.author.emailLabel":"E-mail de l’auteur des commits par défaut","gitSettings.author.save":"Enregistrer","gitSettings.author.saveProfile":"Enregistrer comme profil","gitProvider.title":"Aucun dépôt distant connecté","gitProvider.description":"Connectez un fournisseur de gestion de code source ou ajoutez directement une origine Git à cet espace de travail.","gitProvider.providersAria":"Connecter des fournisseurs de dépôts Git distants","gitProvider.github.label":"GitHub","gitProvider.github.description":"Autorisez E-Code à utiliser vos dépôts GitHub depuis cet espace de travail.","gitProvider.github.action":"Connecter GitHub","gitProvider.github.placeholder":"https://github.com/acme/app.git","gitProvider.gitlab.label":"GitLab","gitProvider.gitlab.description":"Lancez le flux OAuth GitLab sans quitter le panneau Git.","gitProvider.gitlab.action":"Connecter GitLab","gitProvider.gitlab.placeholder":"https://gitlab.com/acme/app.git","gitProvider.bitbucket.label":"Bitbucket","gitProvider.bitbucket.description":"Connectez un compte Bitbucket pour vos workflows Git hébergés.","gitProvider.bitbucket.action":"Connecter Bitbucket","gitProvider.bitbucket.placeholder":"https://bitbucket.org/acme/app.git","gitProvider.custom.label":"Dépôt distant personnalisé","gitProvider.custom.description":"Ajoutez toute origine Git HTTPS ou SSH accessible depuis cet espace de travail.","gitProvider.custom.action":"Ajouter l’URL distante","gitProvider.custom.placeholder":"git@example.com:acme/app.git","gitProvider.cardAria":"{action} depuis le panneau Git","gitProvider.waitingOauth":"En attente d’OAuth…","gitProvider.connectedAs":"Connecté en tant que {account}","gitProvider.connectedToast":"{provider} connecté en tant que {account}","gitProvider.connectionFailed":"Échec de la connexion à {provider}.","gitProvider.oauthStartFailed":"Impossible de lancer le flux OAuth {provider}.","gitProvider.repoPicker.show":"Choisir parmi vos dépôts GitHub","gitProvider.repoPicker.hide":"Masquer vos dépôts GitHub","gitProvider.remote.dialogAria":"Configurer {provider}","gitProvider.remote.title":"Configurer {provider}","gitProvider.remote.description":"Cette action définit l’origine Git de l’espace de travail et enregistre le dépôt distant dans le projet.","gitProvider.remote.close":"Fermer","gitProvider.remote.url":"URL distante","gitProvider.remote.defaultBranch":"Branche par défaut","gitProvider.remote.defaultBranchPlaceholder":"main","gitProvider.remote.saving":"Enregistrement…","gitProvider.remote.save":"Enregistrer le dépôt distant","gitProvider.remote.savedToast":"Origine Git configurée pour la branche {branch}","gitProvider.remote.saveFailed":"Impossible de configurer ce dépôt Git distant.","gitProvider.repositories.connectFirst":"Connectez d’abord GitHub ci-dessus pour afficher la liste de vos dépôts.","gitProvider.repositories.loadFailed":"Impossible de charger vos dépôts GitHub.","gitProvider.repositories.search":"Rechercher dans vos dépôts","gitProvider.repositories.placeholder":"propriétaire/nom","gitProvider.repositories.loading":"Chargement de vos dépôts…","gitProvider.repositories.noMatch":"Aucun dépôt ne correspond à « {query} ».","gitProvider.repositories.private":"privé","gitProvider.repositories.connect":"Connecter","gitLabAuthDialog.title":"Se connecter à GitLab","gitLabAuthDialog.description":"Connectez votre compte GitLab pour déployer vos projets depuis E-Code.","gitLabAuthDialog.close":"Fermer la fenêtre de connexion GitLab","gitLabAuthDialog.url.label":"URL GitLab","gitLabAuthDialog.url.placeholder":"https://gitlab.com","gitLabAuthDialog.url.help":"Utilisez GitLab.com ou l’adresse de votre instance GitLab auto-hébergée.","gitLabAuthDialog.token.label":"Jeton d’accès","gitLabAuthDialog.token.placeholder":"Saisissez votre jeton d’accès GitLab","gitLabAuthDialog.token.show":"Afficher le jeton","gitLabAuthDialog.token.hide":"Masquer le jeton","gitLabAuthDialog.token.get":"Obtenir votre jeton","gitLabAuthDialog.scopes.label":"Autorisations requises :","gitLabAuthDialog.validation.urlRequired":"Saisissez votre URL GitLab pour continuer.","gitLabAuthDialog.validation.urlInvalid":"Saisissez une URL GitLab HTTP ou HTTPS valide.","gitLabAuthDialog.validation.tokenRequired":"Saisissez votre jeton d’accès GitLab pour continuer.","gitLabAuthDialog.error.title":"Échec de la connexion GitLab","gitLabAuthDialog.error.safeMessage":"Impossible de connecter GitLab. Vérifiez l’URL et le jeton, puis réessayez.","gitLabAuthDialog.action.cancel":"Annuler","gitLabAuthDialog.action.connecting":"Connexion…","gitLabAuthDialog.action.connect":"Se connecter à GitLab","gitLabTab.title":"Intégration GitLab","gitLabTab.loading.connection":"Chargement de votre connexion GitLab…","gitLabTab.connection.errorTitle":"Connexion GitLab indisponible","gitLabTab.connection.errorDescription":"Impossible de charger votre connexion GitLab. Rechargez la page, puis réessayez.","gitLabTab.connection.reload":"Recharger la page","gitLabTab.connection.disconnectedDescription":"Connectez votre compte GitLab pour gérer vos dépôts, consulter vos statistiques et travailler sur vos projets dans E-Code.","gitLabTab.oauth.title":"Recommandé : connectez-vous avec OAuth GitLab","gitLabTab.oauth.description":"Nous n’accédons jamais à votre mot de passe. Votre jeton chiffré est stocké de manière sécurisée sur le serveur. Utilisez ce parcours pour remplacer l’ancienne méthode par jeton d’accès personnel ci-dessous.","gitLabTab.connection.connectedDescription":"Gérez votre intégration GitLab, vos dépôts et les statistiques de votre compte.","gitLabTab.rateLimit":"API : {remaining}/{limit}","gitLabTab.connectionTest.noConnection":"Aucune connexion GitLab n’est active actuellement.","gitLabTab.connectionTest.testing":"Test de la connexion GitLab…","gitLabTab.connectionTest.success":"Connexion réussie avec le compte {username}.","gitLabTab.connectionTest.failed":"Le test de la connexion GitLab a échoué. Vérifiez votre connexion, puis réessayez.","gitLabTab.connectionTest.checkedAt":"Vérification effectuée le {date}","gitLabTab.user.fallbackName":"Utilisateur GitLab","gitLabTab.user.avatarAlt":"Avatar de {username}","gitLabTab.statistics.title":"Statistiques","gitLabTab.statistics.repositoriesTitle":"Statistiques des dépôts","gitLabTab.statistics.contributionsTitle":"Statistiques de contribution","gitLabTab.statistics.publicRepositories_one":"Dépôt public","gitLabTab.statistics.publicRepositories_other":"Dépôts publics","gitLabTab.statistics.privateRepositories_one":"Dépôt privé","gitLabTab.statistics.privateRepositories_other":"Dépôts privés","gitLabTab.statistics.stars_one":"Étoile","gitLabTab.statistics.stars_other":"Étoiles","gitLabTab.statistics.forks_one":"Copie comptabilisée","gitLabTab.statistics.forks_other":"Copies comptabilisées","gitLabTab.statistics.followers_one":"Abonné","gitLabTab.statistics.followers_other":"Abonnés","gitLabTab.statistics.empty":"Ces statistiques GitLab ne comptabilisent encore aucune activité.","gitLabTab.statistics.lastUpdated":"Dernière actualisation : {date}","gitLabTab.statistics.refresh":"Actualiser les statistiques","gitLabTab.statistics.refreshing":"Actualisation des statistiques…","gitLabTab.date.unavailable":"Date indisponible","gitLabTab.refresh.errorTitle":"Échec de l’actualisation","gitLabTab.refresh.errorDescription":"Impossible d’actualiser les données GitLab. Patientez un instant, puis réessayez.","gitLabTab.refresh.retry":"Réessayer","gitLabTab.repositories.count_one":"{count} dépôt","gitLabTab.repositories.count_other":"{count} dépôts","gitLabTab.repositories.refresh":"Actualiser les dépôts","gitLabTab.repositories.refreshing":"Actualisation des dépôts…","gitLabTab.repositories.searchLabel":"Rechercher des dépôts","gitLabTab.repositories.searchPlaceholder":"Rechercher des dépôts…","gitLabTab.repositories.emptySearch":"Aucun dépôt ne correspond à votre recherche.","gitLabTab.repositories.empty":"Aucun dépôt n’est disponible.","gitLabTab.repositories.range_one":"Affichage de {start} à {end} sur {count} dépôt","gitLabTab.repositories.range_other":"Affichage de {start} à {end} sur {count} dépôts","gitLabTab.repositories.previous":"Page précédente","gitLabTab.repositories.next":"Page suivante","gitLabTab.repositories.page":"Page {current} sur {total}","gitStatusDisplay.status.untracked.label":"Non suivi","gitStatusDisplay.status.untracked.description":"Nouveau fichier pas encore ajouté à Git.","gitStatusDisplay.status.modified.label":"Modifié","gitStatusDisplay.status.modified.description":"Fichier suivi avec des modifications locales sans commit.","gitStatusDisplay.status.added.label":"Ajouté","gitStatusDisplay.status.added.description":"Fichier indexé ou préparé pour être ajouté au dépôt.","gitStatusDisplay.status.deleted.label":"Supprimé","gitStatusDisplay.status.deleted.description":"Fichier suivi supprimé de l’espace de travail.","gitStatusDisplay.status.renamed.label":"Renommé","gitStatusDisplay.status.renamed.description":"Fichier suivi déplacé ou renommé.","gitStatusDisplay.status.copied.label":"Copié","gitStatusDisplay.status.copied.description":"Fichier détecté comme copie d’un fichier suivi existant.","gitStatusDisplay.status.conflict.label":"Conflit","gitStatusDisplay.status.conflict.description":"Conflit de fusion à résoudre avant de créer un commit.","gitStatusDisplay.status.changed.label":"Modifié","gitStatusDisplay.status.changed.description":"Git a signalé une modification du fichier.","gitStatusDisplay.legend.title":"Guide des états :","gitStatusDisplay.badge.ariaLabel":"État Git {{title}}","githubAuthDialog.title":"Se connecter à GitHub","githubAuthDialog.description":"Utilisez un jeton d’accès personnel pour connecter GitHub et déployer vos dépôts depuis E-Code.","githubAuthDialog.close":"Fermer la fenêtre de connexion GitHub","githubAuthDialog.tip.label":"Conseil :","githubAuthDialog.tip.description":"Un jeton GitHub est nécessaire pour déployer des dépôts.","githubAuthDialog.scopes.label":"Autorisations requises :","githubAuthDialog.tokenType.label":"Type de jeton","githubAuthDialog.tokenType.classic":"Jeton d’accès personnel (classique)","githubAuthDialog.tokenType.fineGrained":"Jeton à granularité fine","githubAuthDialog.token.classicLabel":"Jeton d’accès personnel","githubAuthDialog.token.fineGrainedLabel":"Jeton à granularité fine","githubAuthDialog.token.classicPlaceholder":"Saisissez votre jeton d’accès personnel GitHub","githubAuthDialog.token.fineGrainedPlaceholder":"Saisissez votre jeton GitHub à granularité fine","githubAuthDialog.token.show":"Afficher le jeton","githubAuthDialog.token.hide":"Masquer le jeton","githubAuthDialog.token.get":"Obtenir votre jeton","githubAuthDialog.validation.tokenRequired":"Saisissez votre jeton d’accès GitHub pour continuer.","githubAuthDialog.error.title":"Échec de la connexion GitHub","githubAuthDialog.error.safeMessage":"Impossible de connecter GitHub. Vérifiez votre jeton, puis réessayez.","githubAuthDialog.action.cancel":"Annuler","githubAuthDialog.action.connecting":"Connexion…","githubAuthDialog.action.connect":"Se connecter","githubTab.title":"Intégration GitHub","githubTab.loading.connection":"Vérification de la connexion GitHub…","githubTab.connection.errorTitle":"Erreur de connexion","githubTab.connection.errorMessage":"Impossible de charger la connexion GitHub. Veuillez réessayer.","githubTab.connection.reload":"Recharger la page","githubTab.connection.disconnectedDescription":"Connectez votre compte GitHub pour bénéficier de fonctions avancées de gestion des dépôts, de statistiques et d’une intégration fluide.","githubTab.connection.connectedDescription":"Gérez votre intégration GitHub, ses fonctions avancées de dépôt et ses statistiques détaillées.","githubTab.refreshing":"Actualisation…","githubTab.rateLimit":"API : {remaining}/{limit}","githubTab.test.noConnection":"Aucune connexion établie","githubTab.test.testing":"Test de la connexion…","githubTab.test.success":"Connexion réussie avec le compte {username}","githubTab.test.failed":"Échec du test de connexion. Veuillez réessayer.","githubTab.test.withTimestamp":"{message} · {date}","githubTab.repositories.heading.one":"Dépôt ({count})","githubTab.repositories.heading.other":"Tous les dépôts ({count})","githubTab.repositories.showFewer":"Afficher moins de dépôts","githubTab.repositories.showMore.one":"Afficher {count} dépôt supplémentaire","githubTab.repositories.showMore.other":"Afficher {count} dépôts supplémentaires","githubTab.repositories.emptyTitle":"Aucun dépôt trouvé","githubTab.repositories.emptyDescription":"Ce compte ne contient encore aucun dépôt visible par E-Code. Créez un dépôt sur GitHub ou vérifiez que votre jeton donne accès aux dépôts attendus.","githubTab.stats.errorTitle":"Impossible de charger les statistiques","githubTab.stats.errorMessage":"Impossible de charger les statistiques GitHub. Veuillez réessayer.","githubTab.stats.retry":"Réessayer","githubTab.cache.title":"Gestion du cache GitHub","githubTab.cache.refresh":"Actualiser les informations du cache","githubTab.cache.loading":"Chargement des informations du cache GitHub…","githubTab.cache.errorTitle":"Impossible de charger les informations du cache","githubTab.cache.errorDescription":"Les informations du cache GitHub sont temporairement indisponibles. Vérifiez l’accès au stockage du navigateur, puis réessayez.","githubTab.cache.retry":"Réessayer","githubTab.cache.stats.totalSize":"Taille totale","githubTab.cache.stats.entries":"Entrées","githubTab.cache.stats.oldest":"Plus ancienne","githubTab.cache.stats.status":"État","githubTab.cache.stats.active":"Actif","githubTab.cache.stats.empty":"Vide","githubTab.cache.notAvailable":"Indisponible","githubTab.cache.entriesHeading.one":"Entrée en cache ({count})","githubTab.cache.entriesHeading.other":"Entrées en cache ({count})","githubTab.cache.emptyTitle":"Le cache GitHub est vide","githubTab.cache.emptyDescription":"Les données GitHub mises en cache apparaîtront ici après leur enregistrement par E-Code.","githubTab.cache.entry.remove":"Retirer {key} du cache","githubTab.cache.actions.clearExpired":"Effacer les entrées expirées","githubTab.cache.actions.compact":"Compacter le cache","githubTab.cache.actions.clearAll":"Effacer toutes les données du cache","githubTab.cache.feedback.clearedAll":"Cache effacé à {time}.","githubTab.cache.feedback.clearedExpired.none":"Aucune entrée de cache expirée n’a été trouvée.","githubTab.cache.feedback.clearedExpired.one":"{count} entrée de cache expirée a été supprimée.","githubTab.cache.feedback.clearedExpired.other":"{count} entrées de cache expirées ont été supprimées.","githubTab.cache.feedback.compacted":"Le cache GitHub a bien été compacté.","githubTab.cache.feedback.removedEntry":"{key} a été retiré du cache.","githubTab.cache.feedback.error":"Impossible d’effectuer l’opération sur le cache. Veuillez réessayer.","headerActionButtons.help.tooltip":"Aide et outils de débogage","headerActionButtons.help.aria":"Aide et outils de débogage","headerActionButtons.help.label":"Aide","headerActionButtons.reportBug":"Signaler un bug","headerActionButtons.downloadDebugLog":"Télécharger le journal de débogage","headerActionButtons.downloadingDebugLog":"Téléchargement du journal de débogage…","headerActionButtons.debugLogDownloaded":"Journal de débogage téléchargé.","headerActionButtons.debugLogDownloadFailed":"Impossible de télécharger le journal de débogage. Réessayez.","keybindings.category.File":"Fichiers","keybindings.category.Navigation":"Navigation","keybindings.category.Workbench":"Espace de travail","keybindings.category.Editor":"Éditeur","keybindings.category.Agent":"Agent","keybindings.category.Terminal":"Terminal","keybindings.category.Help":"Aide","keybindings.binding.saveCurrent.label":"Enregistrer le fichier actif","keybindings.binding.saveCurrent.description":"Enregistrez le fichier ouvert dans l’éditeur.","keybindings.binding.saveAll.label":"Tout enregistrer","keybindings.binding.saveAll.description":"Enregistrez tous les fichiers comportant des modifications.","keybindings.binding.quickOpen.label":"Ouvrir rapidement un fichier","keybindings.binding.quickOpen.description":"Recherchez dans les fichiers indexés du projet.","keybindings.binding.commandPalette.label":"Palette de commandes","keybindings.binding.commandPalette.description":"Recherchez dans toutes les commandes du projet.","keybindings.binding.commandPaletteTerminalAware.label":"Palette de commandes","keybindings.binding.commandPaletteTerminalAware.description":"Recherchez dans toutes les commandes du projet. Dans le terminal, ⌘K efface plutôt le shell.","keybindings.binding.openTools.label":"Ouvrir les outils","keybindings.binding.openTools.description":"Recherchez dans les outils du projet et les panneaux de services.","keybindings.binding.closeTab.label":"Fermer l’onglet","keybindings.binding.closeTab.description":"Fermez l’onglet actif de l’espace de travail.","keybindings.binding.reopenTab.label":"Rouvrir l’onglet fermé","keybindings.binding.reopenTab.description":"Restaurez le dernier onglet fermé de l’espace de travail.","keybindings.binding.toggleSidebar.label":"Afficher ou masquer la barre latérale","keybindings.binding.toggleSidebar.description":"Affichez ou masquez la barre latérale des fichiers et services.","keybindings.binding.toggleTerminal.label":"Afficher ou masquer le terminal","keybindings.binding.toggleTerminal.description":"Affichez ou masquez le terminal inférieur.","keybindings.binding.focusTerminal.label":"Activer le terminal","keybindings.binding.focusTerminal.description":"Ouvrez le terminal de l’espace de travail et placez-y le focus.","keybindings.binding.runWorkspace.label":"Exécuter l’espace de travail","keybindings.binding.runWorkspace.description":"Ouvrez l’aperçu et démarrez l’environnement d’exécution.","keybindings.binding.focusAgent.label":"Activer l’agent","keybindings.binding.focusAgent.description":"Ouvrez le panneau Agent et placez le focus dans la zone de saisie.","keybindings.binding.openSettings.label":"Ouvrir les paramètres","keybindings.binding.openSettings.description":"Ouvrez les paramètres du projet.","keybindings.binding.toggleComment.label":"Ajouter ou retirer le commentaire de ligne","keybindings.binding.toggleComment.description":"Ajoutez ou retirez les commentaires dans l’éditeur actif.","keybindings.binding.shortcutsOutsideEditor.label":"Raccourcis clavier","keybindings.binding.shortcutsOutsideEditor.description":"Ouvrez la référence des raccourcis clavier hors de l’éditeur.","keybindings.binding.renameSymbol.label":"Renommer le symbole","keybindings.binding.renameSymbol.description":"Renommez le symbole situé sous le curseur.","keybindings.binding.goToDefinition.label":"Accéder à la définition","keybindings.binding.goToDefinition.description":"Accédez à la définition située sous le curseur.","keybindings.binding.findReferences.label":"Rechercher les références","keybindings.binding.findReferences.description":"Affichez les références du symbole situé sous le curseur.","keybindings.binding.quickFix.label":"Correction rapide","keybindings.binding.quickFix.description":"Ouvrez les actions de code à la position active dans l’éditeur.","keybindings.binding.shortcuts.label":"Raccourcis clavier","keybindings.binding.shortcuts.description":"Ouvrez la référence des raccourcis clavier.","keybindings.binding.closeOverlay.label":"Fermer la fenêtre superposée","keybindings.binding.closeOverlay.description":"Fermez la palette de commandes ou les raccourcis clavier.","keybindings.binding.focusTab.label":"Activer l’onglet {{index}}","keybindings.binding.focusTab.description":"Activez l’onglet {{index}} de l’espace de travail.","organizationAccess.group.organization":"Organisation","organizationAccess.group.projectsWorkspaces":"Projets et espaces de travail","organizationAccess.group.billingUsage":"Facturation et utilisation","organizationAccess.group.securityCompliance":"Sécurité et conformité","organizationAccess.group.administration":"Administration","organizationAccess.permission.orgRead.label":"Consulter l’organisation","organizationAccess.permission.orgRead.description":"Afficher les paramètres et les informations de l’organisation.","organizationAccess.permission.orgUpdate.label":"Modifier l’organisation","organizationAccess.permission.orgUpdate.description":"Modifier le nom et les paramètres de l’organisation.","organizationAccess.permission.membersManage.label":"Gérer les membres","organizationAccess.permission.membersManage.description":"Inviter et retirer des membres, et modifier leurs rôles.","organizationAccess.permission.rolesManage.label":"Gérer les rôles","organizationAccess.permission.rolesManage.description":"Créer et modifier des rôles personnalisés.","organizationAccess.permission.projectsRead.label":"Consulter les projets","organizationAccess.permission.projectsRead.description":"Afficher les projets de l’organisation.","organizationAccess.permission.projectsWrite.label":"Gérer les projets","organizationAccess.permission.projectsWrite.description":"Créer et modifier des projets.","organizationAccess.permission.workspacesRead.label":"Consulter les espaces de travail","organizationAccess.permission.workspacesRead.description":"Afficher les espaces de travail en cours.","organizationAccess.permission.workspacesWrite.label":"Gérer les espaces de travail","organizationAccess.permission.workspacesWrite.description":"Créer et contrôler les espaces de travail.","organizationAccess.permission.billingRead.label":"Consulter la facturation","organizationAccess.permission.billingRead.description":"Afficher les factures et les informations de facturation.","organizationAccess.permission.billingManage.label":"Gérer la facturation","organizationAccess.permission.billingManage.description":"Modifier le forfait et les moyens de paiement.","organizationAccess.permission.usageRead.label":"Consulter l’utilisation","organizationAccess.permission.usageRead.description":"Afficher les métriques d’utilisation et de quota.","organizationAccess.permission.securityManage.label":"Gérer la sécurité","organizationAccess.permission.securityManage.description":"Configurer le SSO, SAML et la politique de sécurité.","organizationAccess.permission.scimManage.label":"Gérer SCIM","organizationAccess.permission.scimManage.description":"Émettre et renouveler les jetons de provisionnement SCIM.","organizationAccess.permission.auditExport.label":"Exporter les journaux d’audit","organizationAccess.permission.auditExport.description":"Exporter les événements d’audit liés à la sécurité.","organizationAccess.permission.adminRead.label":"Consulter l’administration","organizationAccess.permission.adminRead.description":"Afficher les données de la console d’administration.","organizationAccess.permission.adminWrite.label":"Gérer l’administration","organizationAccess.permission.adminWrite.description":"Effectuer des actions d’administration.","organizationAccess.permission.enterpriseRead.label":"Consulter les paramètres Enterprise","organizationAccess.permission.enterpriseRead.description":"Afficher la configuration Enterprise.","organizationAccess.permission.enterpriseWrite.label":"Gérer les paramètres Enterprise","organizationAccess.permission.enterpriseWrite.description":"Modifier la configuration Enterprise.","organizationAccess.permission.supportWrite.label":"Contacter l’assistance","organizationAccess.permission.supportWrite.description":"Ouvrir des demandes d’assistance et y répondre.","organizationAccess.permission.unknown":"Autorisation inconnue","organizationAccess.role.owner":"Propriétaire","organizationAccess.role.admin":"Administrateur","organizationAccess.role.member":"Membre","organizationAccess.role.editor":"Éditeur","organizationAccess.role.viewer":"Lecteur","organizationAccess.role.custom":"Rôle personnalisé","organizationAccess.common.organizationMissing":"Aucune organisation n’a été trouvée.","organizationAccess.common.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","organizationAccess.switcher.metaTitle":"Organisations - E-Code","organizationAccess.switcher.metaDescription":"Consultez les organisations auxquelles vous appartenez et créez des espaces isolés pour les projets, la facturation et les contrôles d’accès.","organizationAccess.switcher.title":"Organisations","organizationAccess.switcher.description":"Les organisations auxquelles vous appartenez, chacune avec ses projets, sa facturation et ses paramètres RBAC isolés.","organizationAccess.switcher.new":"Nouvelle organisation","organizationAccess.switcher.createTitle":"Créer une organisation","organizationAccess.switcher.createDescription":"Créez une organisation avec des projets, des membres, une facturation et un RBAC isolés. Vous en devenez propriétaire.","organizationAccess.switcher.name":"Nom","organizationAccess.switcher.namePlaceholder":"Acme SARL","organizationAccess.switcher.cancel":"Annuler","organizationAccess.switcher.creating":"Création…","organizationAccess.switcher.create":"Créer l’organisation","organizationAccess.switcher.nameRequired":"Saisissez un nom pour l’organisation.","organizationAccess.switcher.requestFailed":"Impossible de créer l’organisation. Réessayez.","organizationAccess.switcher.emptyTitle":"Aucune organisation","organizationAccess.switcher.emptyDetail":"Créez une organisation pour isoler les projets, la facturation et les contrôles d’accès.","organizationAccess.switcher.loadedDetail":"Organisation disponible via votre adhésion au compte.","organizationAccess.switcher.loadFailed":"Impossible de charger les organisations. Rechargez la page, puis réessayez.","organizationAccess.switcher.backDashboard":"Retour au tableau de bord","organizationAccess.roles.metaTitle":"Rôles de l’organisation - E-Code","organizationAccess.roles.title":"Rôles de l’organisation","organizationAccess.roles.description":"Définissez des rôles personnalisés et consultez précisément leurs autorisations.","organizationAccess.roles.forbidden":"La gestion des rôles est réservée aux propriétaires de l’organisation et aux gestionnaires de rôles.","organizationAccess.roles.nameRequired":"Saisissez un nom pour le rôle.","organizationAccess.roles.permissionRequired":"Sélectionnez au moins une autorisation pour le rôle.","organizationAccess.roles.created":"Rôle « {role} » créé.","organizationAccess.roles.grantForbidden":"Vous ne pouvez accorder que les autorisations que vous détenez et devez disposer de l’autorisation « Gérer les rôles ».","organizationAccess.roles.createFailed":"Impossible de créer le rôle.","organizationAccess.roles.matrix":"Matrice des autorisations","organizationAccess.roles.matrixDescription":"Les rôles intégrés sont en lecture seule. Votre rôle ({role}) détermine les autorisations que vous pouvez accorder à un nouveau rôle personnalisé.","organizationAccess.roles.permission":"Autorisation","organizationAccess.roles.builtin":"intégré","organizationAccess.roles.custom":"personnalisé","organizationAccess.roles.hasPermission":"{role} dispose de l’autorisation {permission}","organizationAccess.roles.lacksPermission":"{role} ne dispose pas de l’autorisation {permission}","organizationAccess.roles.createTitle":"Créer un rôle personnalisé","organizationAccess.roles.createDescription":"Les autorisations absentes de votre propre rôle sont indisponibles et ne seront pas ajoutées lors de l’enregistrement.","organizationAccess.roles.identifier":"Identifiant du rôle","organizationAccess.roles.identifierPlaceholder":"p. ex. release-manager","organizationAccess.roles.displayName":"Nom affiché","organizationAccess.roles.displayNamePlaceholder":"p. ex. Responsable des versions","organizationAccess.roles.permissions":"Autorisations","organizationAccess.roles.cannotGrant":"Vous ne pouvez pas accorder une autorisation que vous ne détenez pas.","organizationAccess.roles.create":"Créer le rôle","organizationAccess.roles.customTitle":"Rôles personnalisés","organizationAccess.roles.empty":"Aucun rôle personnalisé pour le moment.","organizationAccess.simple.title":"Rôles et autorisations","organizationAccess.simple.description":"Créez des rôles personnalisés et choisissez précisément ce que chacun peut faire.","organizationAccess.simple.roleName":"Nom du rôle","organizationAccess.simple.created":"Rôle personnalisé créé.","organizationAccess.simple.forbidden":"Vous ne pouvez pas gérer les rôles de cette organisation.","organizationAccess.simple.empty":"Aucun rôle personnalisé n’a été créé.","organizationAccess.invitations.metaTitle":"Invitations de l’organisation - E-Code","organizationAccess.invitations.title":"Invitations de l’organisation","organizationAccess.invitations.description":"Invitez des personnes dans votre organisation et gérez les invitations en attente.","organizationAccess.invitations.forbidden":"La gestion des invitations est réservée aux propriétaires de l’organisation et aux gestionnaires de membres.","organizationAccess.invitations.required":"Une invitation est requise.","organizationAccess.invitations.resent":"Invitation renvoyée.","organizationAccess.invitations.expiredStatus":"Invitation expirée.","organizationAccess.invitations.emailRequired":"Une adresse e-mail est requise.","organizationAccess.invitations.sent":"Invitation envoyée à {email}.","organizationAccess.invitations.actionForbidden":"Vous devez disposer de l’autorisation « Gérer les membres » et ne pouvez inviter que des rôles que vous êtes autorisé à attribuer.","organizationAccess.invitations.actionFailed":"Impossible d’effectuer l’action sur l’invitation.","organizationAccess.invitations.inviteTitle":"Inviter un membre","organizationAccess.invitations.email":"E-mail","organizationAccess.invitations.emailPlaceholder":"personne@entreprise.fr","organizationAccess.invitations.role":"Rôle","organizationAccess.invitations.send":"Envoyer l’invitation","organizationAccess.invitations.pendingTitle":"Invitations en attente","organizationAccess.invitations.pendingDescription":"Le renvoi renouvelle le lien d’invitation ; l’expiration le révoque immédiatement.","organizationAccess.invitations.empty":"Aucune invitation en attente.","organizationAccess.invitations.expires":"Expire le {date}","organizationAccess.invitations.accepted":"Acceptée","organizationAccess.invitations.expired":"Expirée","organizationAccess.invitations.pending":"En attente","organizationAccess.invitations.resend":"Renvoyer","organizationAccess.invitations.resendAria":"Renvoyer l’invitation à {email}","organizationAccess.invitations.expire":"Faire expirer","organizationAccess.invitations.expireAria":"Faire expirer l’invitation de {email}","organizationAccess.invitations.expireTitle":"Faire expirer l’invitation de {email} ?","organizationAccess.invitations.expireDescription":"Le lien d’invitation cessera immédiatement de fonctionner.","organizationAccess.invitations.expireConfirm":"Faire expirer l’invitation","organizationDomains.metaTitle":"Domaines vérifiés - E-Code","organizationDomains.title":"Domaines vérifiés","organizationDomains.description":"Ajoutez et vérifiez les domaines personnalisés de {organization}. Publiez un enregistrement DNS TXT pour en prouver la propriété.","organizationDomains.load.loading":"Chargement des domaines vérifiés","organizationDomains.load.permissionTitle":"La gestion des domaines est soumise à restriction","organizationDomains.load.errorTitle":"Impossible de charger les domaines","organizationDomains.load.permissionDescription":"Vous n’êtes pas autorisé à consulter ou modifier les domaines vérifiés de cette organisation.","organizationDomains.load.errorDescription":"Les commandes des domaines sont masquées, car la dernière demande a échoué. Aucun domaine n’a été modifié.","organizationDomains.load.retry":"Recharger les domaines","organizationDomains.errors.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","organizationDomains.errors.domainRequired":"Saisissez un domaine, par exemple app.example.com.","organizationDomains.errors.missingDomain":"Sélectionnez un domaine.","organizationDomains.errors.unknownAction":"Cette action sur le domaine n’est pas prise en charge.","organizationDomains.errors.permission":"Vous n’êtes pas autorisé à gérer les domaines de cette organisation.","organizationDomains.errors.actionFailed":"Impossible d’effectuer cette action sur le domaine.","organizationDomains.errors.temporary":"Cette action est temporairement indisponible. Réessayez dans quelques instants.","organizationDomains.success.added":"Domaine {domain} ajouté. Publiez l’enregistrement TXT ci-dessous, puis vérifiez-le.","organizationDomains.success.verified":"Domaine {domain} vérifié.","organizationDomains.success.saved":"Paramètres de {domain} enregistrés.","organizationDomains.copy.aria":"Copier {label}","organizationDomains.copy.copied":"Copié","organizationDomains.copy.copy":"Copier","organizationDomains.status.verified":"Vérifié","organizationDomains.status.failed":"Échec de la vérification","organizationDomains.status.pending":"DNS en attente","organizationDomains.add.title":"Ajouter un domaine","organizationDomains.add.domain":"Domaine","organizationDomains.add.placeholder":"Domaine : application.exemple.fr","organizationDomains.options.redirect.label":"Rediriger www","organizationDomains.options.redirect.description":"Rediriger www.<domaine> vers le domaine racine.","organizationDomains.options.wildcard.label":"Domaine générique","organizationDomains.options.wildcard.description":"Couvrir tous les sous-domaines (*.<domaine>).","organizationDomains.add.submit":"Ajouter le domaine","organizationDomains.list.title":"Domaines","organizationDomains.list.empty":"Aucun domaine pour le moment. Ajoutez-en un ci-dessus pour commencer.","organizationDomains.dns.instructions":"Ajoutez cet enregistrement TXT auprès de votre fournisseur DNS, puis sélectionnez Vérifier le domaine après sa propagation.","organizationDomains.dns.host":"Nom / hôte de l’enregistrement TXT","organizationDomains.dns.value":"Valeur de l’enregistrement TXT","organizationDomains.actions.verify":"Vérifier le domaine","organizationDomains.actions.save":"Enregistrer les paramètres","organizationMembers.metaTitle":"Membres de l’organisation - E-Code","organizationMembers.title":"Membres de l’organisation","organizationMembers.description":"Invitez des membres, attribuez des rôles et examinez les accès dans toute votre organisation.","organizationMembers.defaultOrganization":"Organisation","organizationMembers.errors.noOrganization":"Aucune organisation n’a été trouvée.","organizationMembers.errors.permissionLoad":"Vous n’êtes pas autorisé à gérer les membres de cette organisation.","organizationMembers.errors.temporaryLoad":"Les membres de l’organisation sont temporairement indisponibles.","organizationMembers.errors.emailRequired":"Saisissez une adresse e-mail pour envoyer une invitation.","organizationMembers.errors.invitationFailed":"Impossible d’envoyer l’invitation.","organizationMembers.errors.invitationRequired":"Choisissez une invitation, puis réessayez.","organizationMembers.errors.invitationAction":"Impossible de terminer l’action sur l’invitation.","organizationMembers.errors.memberRequired":"Choisissez un membre, puis réessayez.","organizationMembers.errors.invalidAction":"Choisissez une action valide pour le membre.","organizationMembers.errors.memberForbidden":"Vous ne pouvez pas gérer les membres de cette organisation.","organizationMembers.success.invited":"Invitation envoyée à {email}.","organizationMembers.success.inviteResent":"Invitation renvoyée.","organizationMembers.success.inviteRevoked":"Invitation révoquée.","organizationMembers.success.removed":"Membre retiré.","organizationMembers.success.updated":"Rôle du membre mis à jour.","organizationMembers.success.transferred":"Propriété transférée. Vous êtes maintenant administrateur de cette organisation.","organizationMembers.success.added":"Membre ajouté.","organizationMembers.load.loading":"Chargement des membres de l’organisation","organizationMembers.load.permissionTitle":"La gestion des membres est soumise à restriction","organizationMembers.load.errorTitle":"Impossible de charger les membres","organizationMembers.load.permissionDescription":"Votre rôle ne permet pas de gérer les membres de cette organisation. Les invitations et les commandes des membres sont masquées.","organizationMembers.load.errorDescription":"Les commandes des membres et des invitations sont masquées, car la dernière demande a échoué. Aucun accès n’a été modifié.","organizationMembers.invite.email":"Inviter par e-mail","organizationMembers.invite.emailPlaceholder":"coequipier@entreprise.fr","organizationMembers.invite.role":"Rôle","organizationMembers.invite.send":"Envoyer l’invitation","organizationMembers.invite.help":"Nous enverrons un lien d’invitation par e-mail. La personne rejoindra l’organisation avec le rôle choisi après acceptation.","organizationMembers.members.title":"Membres","organizationMembers.members.description":"Les changements de rôle prennent effet dès leur enregistrement.","organizationMembers.members.empty":"Aucun membre trouvé.","organizationMembers.members.fallback":"Membre de l’organisation","organizationMembers.members.fallbackIndexed":"Membre de l’organisation {index}","organizationMembers.members.roleAria":"Rôle de {member}","organizationMembers.members.updateAria":"Mettre à jour le rôle de {member}","organizationMembers.members.update":"Mettre à jour","organizationMembers.members.transferTitle":"Faire de ce membre le propriétaire de l’organisation. Vous deviendrez administrateur.","organizationMembers.members.transferAria":"Transférer la propriété à {member}","organizationMembers.members.transfer":"Transférer la propriété","organizationMembers.members.removeAria":"Retirer {member}","organizationMembers.members.remove":"Retirer","organizationMembers.members.lastOwnerRole":"Le dernier propriétaire ne peut pas être rétrogradé. Transférez d’abord la propriété à un autre membre.","organizationMembers.members.lastOwnerRemove":"Le dernier propriétaire ne peut pas être retiré. Transférez d’abord la propriété.","organizationMembers.role.viewer":"Lecteur","organizationMembers.role.member":"Membre","organizationMembers.role.admin":"Administrateur","organizationMembers.role.owner":"Propriétaire","organizationMembers.transfer.title":"Transférer la propriété","organizationMembers.transfer.description":"{member} deviendra propriétaire de {organization} et vous deviendrez administrateur. Vous ne pourrez pas annuler vous-même cette opération.","organizationMembers.transfer.confirmInstruction":"Saisissez {organization} pour confirmer","organizationMembers.transfer.cancel":"Annuler","organizationMembers.transfer.disabledTitle":"Saisissez exactement le nom de l’organisation pour activer le transfert.","organizationMembers.transfer.busy":"Transfert…","organizationMembers.transfer.confirm":"Transférer la propriété","organizationMembers.remove.title":"Retirer ce membre de l’organisation ?","organizationMembers.remove.description":"Cette personne perdra immédiatement l’accès à l’organisation.","organizationMembers.remove.confirm":"Retirer le membre","organizationMembers.pending.title":"Invitations en attente","organizationMembers.pending.description":"Renvoyer crée un nouveau lien d’invitation (une fois par minute et par invitation) ; révoquer invalide immédiatement le lien.","organizationMembers.pending.empty":"Aucune invitation en attente.","organizationMembers.pending.invited":"Invité le","organizationMembers.pending.expires":"Expire le","organizationMembers.pending.expired":"Expirée","organizationMembers.pending.resendAria":"Renvoyer l’invitation à {email}","organizationMembers.pending.resend":"Renvoyer","organizationMembers.pending.revokeAria":"Révoquer l’invitation de {email}","organizationMembers.pending.revoke":"Révoquer","organizationMembers.pending.dialogTitle":"Révoquer l’invitation de {email} ?","organizationMembers.pending.dialogDescription":"Le lien d’invitation cessera immédiatement de fonctionner.","organizationMembers.pending.dialogConfirm":"Révoquer l’invitation","organizationSecurity.title":"Sécurité de l’organisation","organizationSecurity.description":"Politique de sécurité de référence pour {organization} : liste d’adresses IP autorisées, durée des sessions, MFA des administrateurs, conservation des données et gel juridique.","organizationSecurity.load.loading":"Chargement des paramètres de sécurité de l’organisation","organizationSecurity.load.permissionTitle":"Les paramètres de sécurité sont soumis à restriction","organizationSecurity.load.errorTitle":"Impossible de charger les paramètres de sécurité","organizationSecurity.load.permissionDescription":"Votre rôle ne permet pas de gérer la politique de sécurité de cette organisation. Aucun paramètre ne peut être modifié depuis cette page.","organizationSecurity.load.errorDescription":"L’éditeur est masqué afin d’éviter que des valeurs de repli remplacent la politique actuelle. Aucun paramètre n’a été modifié.","organizationSecurity.load.retry":"Recharger les paramètres de sécurité","organizationSecurity.errors.permissionView":"Vous n’êtes pas autorisé à gérer les paramètres de sécurité de cette organisation.","organizationSecurity.errors.temporaryLoad":"Les paramètres de sécurité sont temporairement indisponibles.","organizationSecurity.errors.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","organizationSecurity.errors.invalidIp":"Adresse IP ou bloc CIDR invalide : {entries}","organizationSecurity.errors.sessionRange":"La durée de session doit être comprise entre {minimum} et {maximum} minutes.","organizationSecurity.errors.retentionRange":"La durée de conservation doit être comprise entre {minimum} et {maximum} jours.","organizationSecurity.errors.permissionChange":"Vous n’êtes pas autorisé à modifier les paramètres de sécurité de cette organisation.","organizationSecurity.errors.save":"Impossible d’enregistrer les paramètres de sécurité.","organizationSecurity.errors.temporarySave":"L’enregistrement des paramètres de sécurité est temporairement indisponible. Réessayez dans quelques instants.","organizationSecurity.success.saved":"Paramètres de sécurité de l’organisation enregistrés.","organizationSecurity.allowlist.title":"Liste d’adresses IP autorisées","organizationSecurity.allowlist.description":"Seules ces adresses IP ou plages CIDR peuvent accéder à l’organisation. Laissez la liste vide pour tout autoriser.","organizationSecurity.allowlist.placeholder":"203.0.113.10 ou 198.51.100.0/24","organizationSecurity.allowlist.inputAria":"Adresse IP ou bloc CIDR","organizationSecurity.allowlist.add":"Ajouter","organizationSecurity.allowlist.invalidDraft":"Saisissez une adresse IP ou un bloc CIDR valide, par exemple 203.0.113.10 ou 198.51.100.0/24.","organizationSecurity.allowlist.duplicate":"Cette entrée figure déjà dans la liste des adresses autorisées.","organizationSecurity.allowlist.removeAria":"Retirer {entry}","organizationSecurity.allowlist.remove":"Retirer","organizationSecurity.allowlist.empty":"Aucune restriction — toutes les adresses IP sont autorisées.","organizationSecurity.session.label":"Durée de session (minutes, {minimum}–{maximum})","organizationSecurity.retention.label":"Conservation des données (jours, {minimum}–{maximum})","organizationSecurity.mfa.label":"Exiger la MFA pour les administrateurs","organizationSecurity.mfa.description":"Les administrateurs de l’organisation doivent configurer un authentificateur avant d’accéder aux surfaces d’administration.","organizationSecurity.legalHold.label":"Gel juridique","organizationSecurity.legalHold.enabledDescription":"Le gel juridique est ACTIF — la suppression des données est bloquée dans toute l’organisation jusqu’à sa désactivation, même après l’expiration de la durée de conservation.","organizationSecurity.legalHold.disabledDescription":"Une fois activé, il bloque toute suppression de données dans l’organisation et prévaut sur la durée de conservation. Activez-le uniquement en cas de litige ou d’obligation de conformité.","organizationSecurity.legalHold.warning":"Tant que le gel juridique est actif, aucune donnée — y compris les enregistrements expirés — ne peut être supprimée pour cette organisation.","organizationSecurity.actions.save":"Enregistrer les paramètres de sécurité","organizationSecurity.actions.saving":"Enregistrement des paramètres de sécurité…","organizationSecurity.updatedAt":"Dernière mise à jour : {date}","organizationSecurity.dateUnavailable":"date indisponible","organizationSiem.metaTitle":"Webhooks SIEM - E-Code","organizationSiem.title":"Webhooks SIEM","organizationSiem.description":"Transmettez les événements de sécurité et d’abus de l’organisation à votre SIEM. Les livraisons sont signées avec votre secret afin que votre récepteur puisse en vérifier l’authenticité.","organizationSiem.load.loading":"Chargement des webhooks SIEM","organizationSiem.load.permissionTitle":"Les paramètres SIEM sont soumis à restriction","organizationSiem.load.errorTitle":"Impossible de charger les webhooks SIEM","organizationSiem.load.permissionDescription":"Demandez à un administrateur de l’organisation l’accès aux exports d’événements de sécurité.","organizationSiem.load.errorDescription":"Les commandes des webhooks sont masquées, car la dernière demande a échoué. Aucun endpoint n’a été modifié.","organizationSiem.load.retry":"Recharger les webhooks","organizationSiem.errors.permissionView":"Vous n’êtes pas autorisé à consulter les webhooks SIEM. Demandez à un administrateur de l’organisation l’accès aux exports d’audit.","organizationSiem.errors.temporary":"Les webhooks SIEM configurés sont temporairement indisponibles.","organizationSiem.errors.organizationUnavailable":"Votre organisation est indisponible. Rechargez la page, puis réessayez.","organizationSiem.errors.missingWebhook":"Sélectionnez un webhook.","organizationSiem.errors.urlRequired":"L’URL du webhook est obligatoire.","organizationSiem.errors.secretLength":"Le secret de signature doit contenir au moins 16 caractères.","organizationSiem.errors.reauth":"Pour votre sécurité, confirmez votre mot de passe sur la page Sécurité, puis réessayez dans les 5 minutes.","organizationSiem.errors.permissionConfigure":"Vous n’êtes pas autorisé à configurer les webhooks SIEM. Demandez à un administrateur de l’organisation l’accès aux exports d’audit.","organizationSiem.errors.save":"Impossible d’enregistrer le webhook SIEM.","organizationSiem.errors.testStatus":"L’événement de test a été signé et envoyé, mais votre endpoint a répondu avec le statut HTTP {status}.","organizationSiem.errors.testDelivery":"Impossible de livrer l’événement de test.","organizationSiem.success.removed":"Webhook SIEM supprimé. Les événements ne seront plus livrés à cet endpoint.","organizationSiem.success.test":"Événement de test livré — votre endpoint a répondu avec le statut HTTP {status}.","organizationSiem.success.saved":"Webhook SIEM enregistré. Les événements d’abus et de sécurité seront désormais livrés à cet endpoint.","organizationSiem.form.addTitle":"Ajouter un webhook","organizationSiem.form.url":"URL du webhook","organizationSiem.form.urlPlaceholder":"https://siem.example.com/ingest/vibecore","organizationSiem.form.secret":"Secret de signature","organizationSiem.form.secretPlaceholder":"Au moins 16 caractères","organizationSiem.form.status":"État","organizationSiem.status.enabled":"Activé","organizationSiem.status.disabled":"Désactivé","organizationSiem.form.save":"Enregistrer le webhook SIEM","organizationSiem.list.title":"Webhooks configurés","organizationSiem.list.empty":"Aucun webhook SIEM n’est encore configuré. Ajoutez-en un ci-dessus pour commencer à transmettre les événements.","organizationSiem.list.endpoint":"Endpoint","organizationSiem.list.status":"État","organizationSiem.list.lastDelivered":"Dernière livraison","organizationSiem.list.actions":"Actions","organizationSiem.delivery.last":"Dernière livraison le {date}","organizationSiem.delivery.none":"Aucune livraison pour le moment","organizationSiem.delivery.dateUnavailable":"date indisponible","organizationSiem.actions.sendAria":"Envoyer un événement de test au webhook SIEM {url}","organizationSiem.actions.send":"Envoyer un événement de test","organizationSiem.actions.deleteAria":"Supprimer le webhook SIEM {url}","organizationSiem.actions.delete":"Supprimer","organizationSiem.auditLogs":"Consulter et exporter les journaux d’audit","organizationSiem.dialog.title":"Supprimer ce webhook SIEM ?","organizationSiem.dialog.description":"Les événements ne lui seront plus livrés.","organizationSiem.dialog.confirm":"Supprimer le webhook","planComparison.meta.title":"Comparer les offres - E-Code","planComparison.meta.description":"Comparez les offres E-Code pour les projets, les aperçus privés, les déploiements, la collaboration et les contrôles d’entreprise.","planComparison.page.title":"Comparer les offres","planComparison.page.description":"Comparez les fonctionnalités des offres Starter, Core, Pro et Enterprise.","planComparison.plan.starter.name":"Starter","planComparison.plan.starter.summary":"Modèles publics et petits espaces de travail.","planComparison.plan.core.name":"Core","planComparison.plan.core.summary":"Aperçus privés, déploiements et accès à des modèles aux capacités plus avancées.","planComparison.plan.pro.name":"Pro","planComparison.plan.pro.summary":"Collaboration, facturation partagée et journaux d’audit.","planComparison.plan.enterprise.name":"Enterprise","planComparison.plan.enterprise.summary":"SSO, SCIM, quotas personnalisés, export des journaux d’audit et options de déploiement privé.","planComparison.action.choose":"Choisir {plan}","planComparison.action.sales":"Contacter l’équipe commerciale","planComparison.action.startingCheckout":"Ouverture du paiement…","planComparison.action.checkoutProgress":"Ouverture du paiement sécurisé pour l’offre {plan}","planComparison.error.organizationMissing":"Aucune organisation n’est associée à votre compte.","planComparison.error.invalidPlan":"Choisissez une offre disponible à la souscription en ligne.","planComparison.error.checkoutUnavailable":"Le paiement est indisponible pour le moment. Réessayez ultérieurement.","planComparison.error.checkoutTemporary":"Le paiement est temporairement indisponible. Réessayez dans quelques instants.","quotaExceeded.meta.title":"Limite d’utilisation atteinte - E-Code","quotaExceeded.meta.description":"Consultez les offres E-Code lorsqu’une limite d’utilisation de votre organisation empêche une action.","quotaExceeded.page.title":"Limite d’utilisation atteinte","quotaExceeded.page.description":"La limite de votre offre actuelle a interrompu cette action avant qu’une utilisation supplémentaire ne soit enregistrée.","quotaExceeded.guidance":"Passez à une offre supérieure ou demandez à un administrateur de l’organisation d’ajuster la limite.","quotaExceeded.action.upgrade":"Changer d’offre","quotaExceeded.action.compare":"Comparer les offres","profileTab.toast.usernameUpdated":"Nom d’utilisateur mis à jour","profileTab.toast.bioUpdated":"Biographie mise à jour","profileTab.toast.avatarUpdated":"Photo de profil mise à jour","profileTab.toast.avatarTooLarge":"L’image est trop volumineuse pour être enregistrée. Choisissez une image plus petite.","profileTab.toast.avatarFailed":"Impossible de mettre à jour la photo de profil.","profileTab.avatar.alt":"Photo de profil","profileTab.avatar.altWithName":"Photo de profil de {name}","profileTab.avatar.inputLabel":"Choisir une photo de profil","profileTab.avatar.uploading":"Importation de la photo de profil…","profileTab.avatar.title":"Photo de profil","profileTab.avatar.description":"Importez une photo de profil ou un avatar.","profileTab.username.label":"Nom d’utilisateur","profileTab.username.placeholder":"Saisissez votre nom d’utilisateur","profileTab.bio.label":"Biographie","profileTab.bio.placeholder":"Présentez-vous en quelques mots","projectCollaborators.metaTitle":"Collaborateurs du projet - E-Code","projectCollaborators.title":"Collaborateurs","projectCollaborators.description":"Gérez les accès au projet avec le contrôle RBAC de l’organisation.","projectCollaborators.role.viewer":"Lecteur — lecture seule","projectCollaborators.role.editor":"Éditeur — modifier les fichiers et exécuter","projectCollaborators.role.owner":"Administrateur — contrôle complet du projet","projectCollaborators.role.viewerShort":"Lecteur","projectCollaborators.role.editorShort":"Éditeur","projectCollaborators.role.ownerShort":"Administrateur","projectCollaborators.expiry.oneHour":"1 heure","projectCollaborators.expiry.twentyFourHours":"24 heures","projectCollaborators.expiry.sevenDays":"7 jours","projectCollaborators.expiry.thirtyDays":"30 jours","projectCollaborators.add.title":"Ajouter un membre par e-mail","projectCollaborators.email":"E-mail","projectCollaborators.role":"Rôle","projectCollaborators.add.adding":"Ajout…","projectCollaborators.add.submit":"Ajouter le collaborateur","projectCollaborators.invite.createTitle":"Créer un lien d’invitation","projectCollaborators.invite.createDescription":"Toute personne disposant du lien peut rejoindre le projet avec le rôle choisi, jusqu’à son expiration ou sa révocation.","projectCollaborators.invite.expiresAfter":"Expire après","projectCollaborators.invite.creating":"Création…","projectCollaborators.invite.create":"Créer le lien d’invitation","projectCollaborators.invite.created":"Lien d’invitation créé — copiez-le maintenant, car il ne sera plus affiché.","projectCollaborators.invite.link":"Lien d’invitation","projectCollaborators.invite.copied":"Copié","projectCollaborators.invite.copy":"Copier","projectCollaborators.invite.resultRole":"Rôle : {role}","projectCollaborators.invite.resultExpires":" · expire ","projectCollaborators.invite.linksTitle":"Liens d’invitation","projectCollaborators.invite.access":"Accès {role}","projectCollaborators.invite.revokeAria":"Révoquer le lien d’invitation {role}","projectCollaborators.invite.revoke":"Révoquer","projectCollaborators.invite.status.revoked":"Révoqué","projectCollaborators.invite.status.expired":"Expiré","projectCollaborators.invite.status.expires":"Expire","projectCollaborators.invite.status.active":"Actif","projectCollaborators.empty.title":"Aucun collaborateur sur le projet","projectCollaborators.empty.description":"Ajoutez un membre de l’organisation par e-mail ou partagez un lien d’invitation pour accorder l’accès au projet.","projectCollaborators.removeAria":"Retirer {member}","projectCollaborators.removing":"Retrait…","projectCollaborators.remove":"Retirer","projectCollaborators.member.unknown":"Membre inconnu","projectCollaborators.member.defaultRole":"membre","projectCollaborators.member.role":"Rôle : {role}","projectCollaborators.error.add":"Impossible d’ajouter le collaborateur. Vérifiez l’adresse e-mail, puis réessayez.","projectCollaborators.error.removeRequired":"Sélectionnez un collaborateur à retirer.","projectCollaborators.error.linkRequired":"Sélectionnez un lien d’invitation à révoquer.","projectDashboard.meta.fallbackTitle":"Projet - E-Code","projectDashboard.meta.description":"Consultez l’espace de travail, les fichiers sources, l’état Git et l’activité récente d’un projet E-Code.","projectDashboard.page.defaultDescription":"Projet E-Code persistant, relié à l’API de production.","projectDashboard.stat.workspace":"Espace de travail","projectDashboard.stat.branch":"Branche","projectDashboard.stat.files":"Fichiers","projectDashboard.stat.activity":"Activité","projectDashboard.workspace.runtime":"Environnement d’exécution : {mode}","projectDashboard.workspace.noSession":"Aucune session d’espace de travail enregistrée","projectDashboard.branch.sync":"{ahead} en avance, {behind} en retard","projectDashboard.files.detail":"Chargés depuis le stockage persistant du projet","projectDashboard.activity.detail":"Événements du projet issus du journal d’activité auditable","projectDashboard.activity.recorded":"Enregistré par l’API","projectDashboard.empty.title":"Aucune activité de projet pour le moment","projectDashboard.empty.detail":"Créez un instantané, modifiez les paramètres ou ouvrez l’IDE pour générer une activité de projet.","projectDashboard.status.starting":"Démarrage","projectDashboard.status.pending":"En attente","projectDashboard.status.running":"En cours d’exécution","projectDashboard.status.ready":"Prêt","projectDashboard.status.stopping":"Arrêt","projectDashboard.status.stopped":"Arrêté","projectDashboard.status.paused":"Suspendu","projectDashboard.status.failed":"Échec","projectDashboard.status.error":"Erreur","projectDashboard.status.notStarted":"Non démarré","projectDashboard.status.unknown":"État indisponible","projectActivity.meta.title":"Activité du projet - E-Code","projectActivity.meta.description":"Consultez l’activité auditable d’un projet E-Code.","projectActivity.page.title":"Activité du projet","projectActivity.page.description":"Consultez les imports, les instantanés, les opérations Git, les changements de collaborateurs et les événements de l’environnement d’exécution.","projectActivity.recorded":"Activité enregistrée","projectActivity.empty.title":"Aucune activité pour le moment","projectActivity.empty.detail":"Les actions du projet apparaîtront ici après une modification enregistrée.","projectActivity.action.projectCreated":"Projet créé","projectActivity.action.projectCreatedFromTemplate":"Projet créé à partir d’un modèle","projectActivity.action.projectCreatedWithAi":"Projet créé avec l’IA","projectActivity.action.importCommitted":"Import validé par un commit","projectActivity.action.githubImported":"Dépôt GitHub importé","projectActivity.action.zipImported":"Archive ZIP importée","projectActivity.action.ideStateSaved":"État de l’IDE enregistré","projectActivity.action.slugRenamed":"URL du projet renommée","projectActivity.action.settingsUpdated":"Paramètres du projet mis à jour","projectActivity.action.filesImported":"Fichiers du projet importés","projectActivity.action.projectExported":"Projet exporté dans une archive ZIP","projectActivity.action.environmentUpdated":"Variable d’environnement mise à jour","projectActivity.action.environmentDeleted":"Variable d’environnement supprimée","projectActivity.action.authScaffolded":"Structure d’authentification créée","projectActivity.action.secretUpdated":"Secret mis à jour","projectActivity.action.secretDeleted":"Secret supprimé","projectActivity.action.collaboratorAdded":"Collaborateur ajouté","projectActivity.action.collaboratorRemoved":"Collaborateur retiré","projectActivity.action.commentAdded":"Commentaire de collaboration ajouté","projectActivity.action.documentEdited":"Document partagé modifié","projectActivity.action.terminalPermissionUpdated":"Autorisation du terminal mise à jour","projectActivity.action.shareLinkCreated":"Lien de partage créé","projectActivity.action.shareLinkRevoked":"Lien de partage révoqué","projectActivity.action.chatShareRevoked":"Partage de la conversation révoqué","projectActivity.action.aiConversationShared":"Conversation avec l’IA partagée","projectActivity.action.projectDeleted":"Projet placé dans la corbeille","projectActivity.action.projectRestored":"Projet restauré","projectActivity.action.projectPermanentlyDeleted":"Projet supprimé définitivement","projectActivity.action.projectTransferred":"Projet transféré","projectActivity.action.projectRemixed":"Projet remixé","projectActivity.action.projectDuplicated":"Projet dupliqué","projectActivity.action.templateCreated":"Modèle créé","projectActivity.action.snapshotCreated":"Instantané créé","projectActivity.action.snapshotRestored":"Instantané restauré","projectActivity.action.snapshotDeleted":"Instantané supprimé","projectActivity.action.commitCreated":"Commit créé","projectActivity.action.gitPushed":"Modifications envoyées vers Git","projectActivity.action.gitPulled":"Modifications récupérées depuis Git","projectActivity.action.branchChanged":"Branche Git modifiée","projectActivity.action.deploymentCreated":"Déploiement lancé","projectActivity.action.deploymentUpdated":"Déploiement mis à jour","projectActivity.action.deploymentDeleted":"Déploiement supprimé","projectActivity.action.deploymentRolledBack":"Déploiement restauré à une version antérieure","projectActivity.action.workspaceStarted":"Espace de travail démarré","projectActivity.action.workspaceStopped":"Espace de travail arrêté","projectActivity.action.workspaceRestarted":"Espace de travail redémarré","projectActivity.action.generic":"Activité du projet","projectDomains.meta.title":"Domaines personnalisés - E-Code","projectDomains.meta.description":"Associez les déploiements du projet à des domaines personnalisés vérifiés et prêts pour TLS.","projectDomains.error.projectNotFound":"Projet introuvable.","projectDomains.error.serviceUnavailable":"Le service des domaines est indisponible. Patientez quelques instants, puis réessayez.","projectDomains.error.organizationMissing":"Ce projet n'est rattaché à aucune organisation : ses domaines ne peuvent pas être listés.","projectDomains.error.verificationFailed":"La vérification du domaine a échoué. Vérifiez l’enregistrement DNS, attendez sa propagation, puis réessayez.","projectDomains.error.addFailed":"Impossible d’ajouter le domaine. Vérifiez la valeur, puis réessayez.","projectDomains.tls.failed":"TLS : échec de la vérification","projectDomains.tls.active":"Certificat TLS actif","projectDomains.tls.pending":"TLS en attente de vérification du domaine","projectDomains.page.title":"Domaines personnalisés","projectDomains.page.description":"Associez les déploiements du projet à des domaines vérifiés et prêts pour TLS.","projectDomains.scope.notice":"Les domaines sont vérifiés une fois pour votre organisation et peuvent ensuite servir à tous ses projets. Cette liste est commune à l'organisation : elle n'est pas propre à ce projet.","projectDomains.activity.verified":"Vérifié le {date}","projectDomains.activity.dateUnavailable":"date indisponible","projectDomains.activity.pending":"Vérification DNS en attente","projectDomains.activity.emptyTitle":"Aucun domaine vérifié","projectDomains.activity.emptyDescription":"Ajoutez un domaine pour créer un jeton de vérification.","projectDomains.add.title":"Ajouter votre domaine","projectDomains.add.ariaLabel":"Domaine personnalisé","projectDomains.add.loading":"Ajout…","projectDomains.add.submit":"Ajouter le domaine","projectDomains.dns.title":"Ajouter l’enregistrement DNS de {domain}","projectDomains.dns.instructions":"Ajoutez cet enregistrement TXT auprès de votre bureau d’enregistrement, puis vérifiez-le à nouveau après sa propagation (généralement quelques minutes, jusqu’à 48 heures).","projectDomains.dns.type":"Type","projectDomains.dns.name":"Nom / hôte","projectDomains.dns.value":"Valeur","projectDomains.verify.title":"Vérifier et sécuriser","projectDomains.verify.loading":"Nouvelle vérification…","projectDomains.verify.submit":"Revérifier le DNS","projectEnv.meta.title":"Variables d’environnement — E-Code","projectEnv.meta.description":"Gérez la configuration non secrète de l’environnement d’exécution pour chaque environnement du projet.","projectEnv.error.projectNotFound":"Projet introuvable.","projectEnv.error.saveFailed":"Impossible d’enregistrer la variable. Vérifiez son nom, puis réessayez.","projectEnv.error.deleteFailed":"Impossible de supprimer la variable. Actualisez la page, puis réessayez.","projectEnv.error.serviceUnavailable":"Les variables d’environnement sont indisponibles pour le moment. Réessayez dans quelques instants.","projectEnv.page.title":"Variables d’environnement","projectEnv.page.description":"Gérez la configuration non secrète de l’environnement d’exécution pour les environnements Développement, Aperçu et Production.","projectEnv.scope.ariaLabel":"Environnement cible","projectEnv.scope.development":"Développement","projectEnv.scope.preview":"Aperçu","projectEnv.scope.production":"Production","projectEnv.empty.title":"Aucune variable dans {scope}","projectEnv.empty.description":"Ajoutez la première variable de l’environnement {scope}.","projectEnv.row.updated":"Mise à jour le {date}","projectEnv.row.dateUnavailable":"date indisponible","projectEnv.row.saved":"Enregistrée pour ce projet","projectEnv.delete.ariaLabel":"Supprimer {key} de l’environnement {scope}","projectEnv.form.addingTo":"Ajout dans l’environnement {scope}","projectEnv.form.name":"Nom de la variable","projectEnv.form.nameHelp":"Utilisez uniquement des lettres majuscules, des chiffres et des tirets bas.","projectEnv.form.value":"Valeur","projectEnv.form.saving":"Enregistrement…","projectEnv.form.submit":"Enregistrer la variable","projectEnv.diff.title":"Différences entre les environnements","projectEnv.diff.summary_one":"{count} variable diffère entre Développement, Aperçu et Production.","projectEnv.diff.summary_other":"{count} variables diffèrent entre Développement, Aperçu et Production.","projectEnv.diff.variable":"Variable","projectEnv.diff.notSet":"— non définie","projectEnv.diff.empty":"(vide)","projectIde.meta.title":"{project} — IDE E-Code","projectIde.meta.fallbackTitle":"IDE E-Code","projectIde.meta.description":"IDE E-Code connecté à un espace de travail de projet persistant.","projectIde.boundaryTitle":"IDE E-Code","projectIde.status.building":"Préparation…","projectIde.status.crashed":"En panne","projectIde.status.running":"En cours","projectIde.status.stopped":"Arrêté","projectIde.workspace.fallback":"Espace de travail","projectIde.project.fallback":"Projet sans titre","projectIde.dashboard":"Tableau de bord E-Code","projectIde.breadcrumb":"Fil d’Ariane du projet","projectIde.workspace.kicker":"Espace de travail","projectIde.workspace.aria":"Espace de travail {workspace}{identifier}","projectIde.workspace.title":"Espace de travail : {workspace}{identifier}","projectIde.identifier":" (ID {identifier})","projectIde.project.kicker":"Projet","projectIde.project.menu":"Menu du projet {project}{identifier}","projectIde.project.spotlight":"Ouvrir Spotlight","projectIde.project.spotlightAria":"Ouvrir Spotlight pour {project}","projectIde.project.search":"Rechercher des outils et des fichiers","projectIde.project.name":"Nom du projet","projectIde.project.renameHelp":"Modifiez le nom du projet. Appuyez sur Entrée pour enregistrer ou sur Échap pour annuler.","projectIde.project.saving":"Enregistrement","projectIde.project.save":"Enregistrer","projectIde.project.renameFailed":"Impossible de renommer le projet.","projectIde.project.renameAria":"Renommer {project}","projectIde.menu.settings":"Paramètres","projectIde.menu.fork":"Dupliquer","projectIde.menu.rename":"Renommer","projectIde.menu.delete":"Supprimer","projectIde.menu.duplicate":"Dupliquer","projectIde.menu.export":"Exporter","projectIde.branch.kicker":"Branche","projectIde.branch.aria":"Branche {branch}. Ouvrir le panneau Git.","projectIde.branch.title":"Branche : {branch}. Ouvrir le panneau Git.","projectIde.files.open":"Ouvrir le panneau des fichiers","projectIde.files.close":"Fermer le panneau des fichiers","projectIde.actions.more":"Plus d’actions","projectIde.actions.moreTopbar":"Plus d’actions dans la barre supérieure","projectIde.actions.dialog":"Plus d’actions de l’IDE","projectIde.notifications.title":"Notifications de l’IDE","projectIde.notifications.description":"Activité du projet et signaux de l’espace de travail","projectIde.notifications.event_one":"{count} événement","projectIde.notifications.event_other":"{count} événements","projectIde.notifications.empty":"Aucun événement IDE enregistré pour le moment.","projectIde.notifications.emptyDetail":"L’activité de l’environnement d’exécution, de l’aperçu et du projet apparaîtra automatiquement ici.","projectIde.notifications.source.backend":"Activité du service applicatif","projectIde.notifications.source.runtime":"Environnement d’exécution","projectIde.notifications.source.preview":"Aperçu","projectIde.notifications.live":"En direct","projectIde.notifications.recordedByApi":"Enregistré par l’API","projectIde.notifications.workspaceTitle":"Espace de travail {status}","projectIde.notifications.runtime.crashed":"L’environnement d’exécution de l’espace de travail a signalé une erreur.","projectIde.notifications.runtime.running":"L’environnement d’exécution de l’IDE est connecté et prêt à recevoir des commandes.","projectIde.notifications.runtime.building":"L’espace de travail démarre et prépare les services du projet.","projectIde.notifications.runtime.stopped":"L’environnement d’exécution de l’espace de travail est actuellement inactif.","projectIde.notifications.restart":"Redémarrer l’espace de travail","projectIde.notifications.previewTitle":"Serveur d’aperçu disponible","projectIde.notifications.previewPort_one":"Port d’aperçu en direct : {ports}","projectIde.notifications.previewPort_other":"Ports d’aperçu en direct : {ports}","projectIde.notifications.activityTitle":"Activité du projet","projectIde.notifications.activity.deployment":"Une activité de déploiement a été enregistrée par l’API du projet.","projectIde.notifications.activity.collaboration":"Les accès de l’équipe ou des collaborateurs ont changé.","projectIde.notifications.activity.snapshot":"Un événement d’instantané du projet a été enregistré.","projectIde.notifications.activity.settings":"La configuration du projet a changé.","projectIde.notifications.activity.aiTool":"Une action d’outil d’IA a modifié l’espace de travail.","projectIde.notifications.activity.default":"Une activité du projet a été enregistrée par le service applicatif.","projectIde.help":"Aide et assistance","projectIde.collaborators.one":"{count} collaborateur","projectIde.collaborators.other":"{count} collaborateurs","projectIde.account":"Compte","projectIde.signOut":"Se déconnecter","projectIde.invite.aria":"Inviter des collaborateurs","projectIde.invite.title":"Inviter des collaborateurs ou créer un lien de partage","projectIde.invite.label":"Inviter","projectIde.runPublish":"Exécuter et publier","projectIde.restart.title":"Redémarrer l’espace de travail : recréer l’environnement d’exécution en panne","projectIde.restart.tooltip":"Redémarrer l’espace de travail","projectIde.restart.label":"Redémarrer l’espace de travail","projectIde.stop":"Arrêter","projectIde.run":"Exécuter","projectIde.republish.title":"Republier : déployer une nouvelle version de ce projet","projectIde.publish.title":"Publier : créer le premier déploiement en ligne","projectIde.republish":"Republier","projectIde.publish":"Publier","projectIde.action.working":"Traitement…","projectIde.action.failed":"Impossible de {action} ce projet. Veuillez réessayer.","projectIde.action.delete":"supprimer","projectIde.action.rename":"renommer","projectIde.action.duplicate":"dupliquer","projectIde.action.fork":"dupliquer","projectIde.delete.title":"Supprimer {project} ?","projectIde.delete.description":"Le projet et les données de son espace de travail seront supprimés. Cette action est irréversible.","projectIde.delete.confirm":"Supprimer le projet","projectIde.rename.title":"Renommer le projet","projectIde.rename.label":"Nouveau nom du projet","projectIde.rename.confirm":"Renommer","projectIde.rename.required":"Saisissez un nom de projet","projectIde.toolbar.ariaLabel":"Actions de l’éditeur","projectIde.toolbar.group.view":"Affichage","projectIde.toolbar.group.navigation":"Navigation","projectIde.toolbar.group.editing":"Édition","projectIde.toolbar.group.save":"Enregistrement","projectIde.toolbar.minimap":"Minicarte","projectIde.toolbar.minimap.hide":"Masquer la minicarte","projectIde.toolbar.minimap.show":"Afficher la minicarte","projectIde.toolbar.definition":"Définition","projectIde.toolbar.definition.title":"Accéder à la définition","projectIde.toolbar.references":"Références","projectIde.toolbar.references.title":"Rechercher les références","projectIde.toolbar.format":"Formater","projectIde.toolbar.rename":"Renommer","projectIde.toolbar.rename.title":"Renommer le symbole","projectIde.toolbar.refactor":"Refactoriser","projectIde.toolbar.refactor.title":"Ouvrir le menu de refactorisation","projectIde.toolbar.save":"Enregistrer","projectIde.toolbar.monacoOnly":"Disponible avec l’éditeur Monaco","projectLogs.meta.title":"Journaux du projet - E-Code","projectLogs.meta.description":"Consultez en direct la sortie de l’environnement d’exécution d’un espace de travail E-Code.","projectLogs.page.title":"Journaux","projectLogs.page.description":"Sortie en direct de votre projet en cours d’exécution.","projectLogs.workspace.status":"Espace de travail : {status}","projectLogs.workspace.live":"Mises à jour en direct","projectLogs.actions.refresh":"Actualiser","projectLogs.actions.refreshing":"Actualisation…","projectLogs.state.noWorkspace":"Aucun espace de travail n’a encore été démarré pour ce projet.","projectLogs.state.unavailable":"Les journaux du projet sont temporairement indisponibles. Actualisez pour vous reconnecter.","projectLogs.state.empty":"Aucune sortie de l’environnement d’exécution n’a encore été enregistrée.","projectLogs.status.starting":"Démarrage","projectLogs.status.pending":"En attente","projectLogs.status.running":"En cours d’exécution","projectLogs.status.ready":"Prêt","projectLogs.status.stopping":"Arrêt","projectLogs.status.stopped":"Arrêté","projectLogs.status.paused":"Suspendu","projectLogs.status.failed":"Échec","projectLogs.status.error":"Erreur","projectLogs.status.unknown":"État indisponible","projectOverview.panel.aria":"Aperçu du projet {project}","projectOverview.kicker":"Aperçu du projet","projectOverview.project.fallback":"Projet sans titre","projectOverview.value.unknown":"Inconnu","projectOverview.date.unavailable":"Date indisponible","projectOverview.source.label":"Source : {source}","projectOverview.source.github":"GitHub","projectOverview.source.gitlab":"GitLab","projectOverview.source.template":"Modèle","projectOverview.source.import":"Import","projectOverview.source.zip":"Archive ZIP","projectOverview.source.blank":"Projet vierge","projectOverview.workspace.none":"Aucun espace de travail","projectOverview.workspace.unavailable":"Indisponible","projectOverview.workspace.status.running":"En cours","projectOverview.workspace.status.building":"Préparation","projectOverview.workspace.status.stopped":"Arrêté","projectOverview.workspace.status.crashed":"En panne","projectOverview.workspace.status.error":"Erreur","projectOverview.workspace.status.idle":"Inactif","projectOverview.category.runtime":"Environnement d’exécution","projectOverview.category.frontend":"Interface utilisateur","projectOverview.category.backend":"Service applicatif","projectOverview.category.data":"Données","projectOverview.category.tooling":"Outils","projectOverview.category.testing":"Tests","projectOverview.category.mobile":"Mobile","projectOverview.role.owner":"Propriétaire","projectOverview.role.admin":"Administrateur","projectOverview.role.editor":"Éditeur","projectOverview.role.viewer":"Lecteur","projectOverview.role.member":"Membre","projectOverview.member.unknown":"Membre inconnu","projectOverview.member.status.member":"Membre","projectOverview.member.status.active":"Actif","projectOverview.member.status.editing":"En édition","projectOverview.member.status.online":"En ligne","projectOverview.member.status.present":"Présent","projectOverview.member.status.invited":"Invité","projectOverview.member.status.offline":"Hors ligne","projectOverview.member.status.idle":"Inactif","projectOverview.activity.default":"Activité du projet","projectOverview.activity.filesImported":"Fichiers du projet importés depuis une archive ZIP","projectOverview.activity.fileCreated":"Fichier du projet créé","projectOverview.activity.fileUpdated":"Fichier du projet mis à jour","projectOverview.activity.fileDeleted":"Fichier du projet supprimé","projectOverview.activity.deploymentStarted":"Déploiement du projet démarré","projectOverview.activity.deploymentCompleted":"Déploiement du projet terminé","projectOverview.activity.deploymentFailed":"Échec du déploiement du projet","projectOverview.activity.snapshotTaken":"Instantané du projet créé","projectOverview.metric.aria":"{label} : {value}. {detail}","projectOverview.metric.files":"Fichiers","projectOverview.metric.filesDetail":"Fichiers suivis dans le projet","projectOverview.metric.branch":"Branche","projectOverview.metric.branchDetail":"Branche Git actuelle","projectOverview.metric.workspace":"Espace de travail","projectOverview.metric.created":"Créé le","projectOverview.metric.updated":"Mis à jour le {date}","projectOverview.section.stack":"Stack détectée","projectOverview.section.scripts":"Scripts npm disponibles","projectOverview.section.members":"Membres actifs","projectOverview.section.commits":"Derniers commits","projectOverview.section.activity":"Activité récente","projectOverview.count.signals.one":"{count} signal","projectOverview.count.signals.other":"{count} signaux","projectOverview.count.scripts.one":"{count} script","projectOverview.count.scripts.other":"{count} scripts","projectOverview.count.activeMembers.one":"{count} membre actif","projectOverview.count.activeMembers.other":"{count} membres actifs","projectOverview.empty.stack":"Aucune pile technique détectée pour le moment. Ajoutez un fichier package.json ou les fichiers d’un framework pour alimenter cette section.","projectOverview.empty.scripts":"Aucun script npm trouvé dans les manifestes du projet.","projectOverview.empty.commits":"Aucun commit signalé pour le moment.","projectOverview.empty.members":"Aucun collaborateur ni aucune session active pour le moment.","projectOverview.empty.activity":"Aucune activité du projet pour le moment.","projectOverview.stack.detectedFrom":"{name}, détecté depuis {source}","projectOverview.script.aria":"Script {name} : {command}","projectOverview.section.resources":"Ressources de l’espace de travail","projectOverview.resources.memory":"Mémoire","projectOverview.resources.cpu":"Processeur","projectOverview.resources.storage":"Stockage","projectOverview.resources.unknown":"Non communiqué","projectOverview.resources.noLimit":"Aucune limite posée","projectOverview.resources.usedOfLimit":"{used} sur {limit}","projectOverview.resources.cpuCores":"Limite de {cores} cœur","projectOverview.resources.cpuCoresPlural":"Limite de {cores} cœurs","projectOverview.resources.cpuPending":"Mesure en cours — un taux d’usage demande deux relevés","projectOverview.resources.unavailable":"L’espace de travail ne communique pas sa consommation pour le moment. Rien n’est affiché plutôt qu’un zéro inventé.","projectOverview.resources.gaugeAria":"{label} : {value}. {detail}","projectOverview.resources.measuredAt":"Relevé {date}","projectSettings.metaTitle":"Paramètres du projet - E-Code","projectSettings.title":"Paramètres du projet","projectSettings.description":"Mettez à jour les métadonnées persistantes, la visibilité et les préférences de l’environnement d’exécution du projet.","projectSettings.fields.name":"Nom du projet","projectSettings.fields.description":"Description","projectSettings.fields.repositoryUrl":"URL du dépôt Git","projectSettings.fields.defaultBranch":"Branche par défaut","projectSettings.actions.saving":"Enregistrement…","projectSettings.actions.save":"Enregistrer les modifications","projectSettings.slug.title":"Identifiant de l’URL du projet","projectSettings.slug.description":"La modification de l’identifiant met à jour l’URL canonique du projet. L’ancienne URL redirigera ici pendant 30 jours afin de préserver les liens existants.","projectSettings.slug.label":"Identifiant","projectSettings.slug.placeholder":"my-project","projectSettings.slug.normalized":"Sera enregistré sous","projectSettings.slug.updated":"Identifiant de l’URL mis à jour. L’ancienne URL redirigera ici pendant 30 jours.","projectSettings.slug.update":"Mettre à jour l’identifiant","projectSettings.danger.title":"Zone sensible","projectSettings.danger.description":"Supprimez définitivement ce projet et toutes ses données. Cette action est irréversible.","projectSettings.danger.open":"Supprimer ce projet","projectSettings.danger.dialogTitle":"Supprimer « {project} » ?","projectSettings.danger.dialogDescription":"Cette action supprime définitivement le projet, ainsi que tous ses fichiers, secrets et déploiements. Elle est irréversible.","projectSettings.danger.confirmPrefix":"Saisissez","projectSettings.danger.confirmSuffix":"pour confirmer.","projectSettings.danger.confirmLabel":"Saisissez le nom du projet pour confirmer sa suppression","projectSettings.danger.cancel":"Annuler","projectSettings.danger.deleting":"Suppression…","projectSettings.danger.delete":"Supprimer le projet","projectSettings.errors.save":"Impossible d’enregistrer les paramètres. Vérifiez les valeurs, puis réessayez.","projectSettings.errors.rename":"Impossible de renommer l’URL du projet. Choisissez un autre identifiant, puis réessayez.","projectSettings.errors.slugTaken":"Cette URL de projet est déjà utilisée. Choisissez un autre identifiant.","projectSecrets.meta.title":"Secrets du projet — E-Code","projectSecrets.meta.description":"Gérez les secrets chiffrés injectés de manière sécurisée dans l’environnement d’exécution de votre projet.","projectSecrets.error.projectNotFound":"Projet introuvable.","projectSecrets.error.serviceUnavailable":"Les secrets du projet sont indisponibles pour le moment. Réessayez dans quelques instants.","projectSecrets.error.saveFailed":"Impossible d’enregistrer le secret. Vérifiez son nom, puis réessayez.","projectSecrets.error.deleteFailed":"Impossible de supprimer le secret. Actualisez la page, puis réessayez.","projectSecrets.page.title":"Secrets","projectSecrets.page.description":"Gérez les secrets chiffrés du projet, leur injection explicite dans l’environnement d’exécution et leur exclusion des journaux en clair.","projectSecrets.copy.success":"Nom du secret copié","projectSecrets.copy.failed":"Impossible de copier le nom du secret.","projectSecrets.copy.ariaLabel":"Copier le nom du secret {key}","projectSecrets.delete.ariaLabel":"Supprimer le secret {key}","projectSecrets.row.updated":"Chiffré · mis à jour le {date}","projectSecrets.row.dateUnavailable":"date indisponible","projectSecrets.row.saved":"Secret du projet chiffré","projectSecrets.empty.title":"Aucun secret de projet","projectSecrets.empty.description":"Les secrets sont chiffrés et leurs valeurs ne sont jamais affichées en clair.","projectSecrets.form.name":"Nom du secret","projectSecrets.form.nameHelp":"Utilisez uniquement des lettres majuscules, des chiffres et des tirets bas.","projectSecrets.form.value":"Valeur du secret","projectSecrets.form.revealSubject":"la valeur du secret","projectSecrets.form.saving":"Enregistrement…","projectSecrets.form.submit":"Enregistrer le secret","projectSnapshots.meta.title":"Instantanés du projet — E-Code","projectSnapshots.meta.description":"Créez, comparez et restaurez des points de contrôle persistants pour votre projet E-Code.","projectSnapshots.page.title":"Instantanés","projectSnapshots.page.description":"Points de contrôle manuels et automatiques pour revenir en arrière, sécuriser les modifications de l’IA et exporter le projet.","projectSnapshots.list.title":"Instantanés du projet","projectSnapshots.list.count_one":"{count} instantané","projectSnapshots.list.count_other":"{count} instantanés","projectSnapshots.list.loading":"Chargement des instantanés du projet","projectSnapshots.list.errorTitle":"Impossible de charger les instantanés du projet","projectSnapshots.list.errorDescription":"Vos instantanés n’ont pas été modifiés. Rechargez ce panneau pour réessayer.","projectSnapshots.list.retry":"Recharger les instantanés","projectSnapshots.list.emptyTitle":"Aucun instantané pour le moment","projectSnapshots.list.emptyDescription":"Créez un instantané à partir des fichiers persistants du projet.","projectSnapshots.snapshot.recorded":"Date indisponible","projectSnapshots.snapshot.size":"{kind} · {size}","projectSnapshots.snapshot.identifier":"ID : {id}","projectSnapshots.snapshot.beforeRestore":"Avant la restauration de « {label} »","projectSnapshots.kind.manual":"Manuel","projectSnapshots.kind.automatic":"Automatique","projectSnapshots.kind.beforeAiChange":"Avant une modification de l’IA","projectSnapshots.kind.snapshot":"Instantané","projectSnapshots.create.title":"Créer un instantané","projectSnapshots.create.description":"Capturez les fichiers persistants actuels du projet avant une modification importante.","projectSnapshots.create.label":"Nom de l’instantané","projectSnapshots.create.placeholder":"Point de contrôle manuel","projectSnapshots.create.submit":"Créer l’instantané","projectSnapshots.create.busy":"Création de l’instantané…","projectSnapshots.restore.open":"Restaurer {label}","projectSnapshots.restore.title":"Restaurer « {label} » ?","projectSnapshots.restore.confirm":"Restaurer l’instantané","projectSnapshots.restore.cancel":"Annuler","projectSnapshots.restore.loadingPreview":"Comparaison de l’instantané avec les fichiers actuels du projet…","projectSnapshots.restore.previewUnavailable":"Le résumé des modifications est indisponible. Vous pouvez tout de même restaurer cet instantané.","projectSnapshots.restore.safetyDescription":"La restauration remplace les fichiers actuels du projet. Un instantané de sécurité de l’état actuel est d’abord créé.","projectSnapshots.restore.databaseUntouched":"La base de données n’est pas rejouée — seuls les fichiers sont restaurés. Les données écrites depuis cet instantané restent en l’état.","projectSnapshots.restore.noDifferences_one":"Aucune différence — le projet correspond déjà à cet instantané ({count} fichier inchangé).","projectSnapshots.restore.noDifferences_other":"Aucune différence — le projet correspond déjà à cet instantané ({count} fichiers inchangés).","projectSnapshots.restore.added_one":"+{count} ajouté","projectSnapshots.restore.added_other":"+{count} ajoutés","projectSnapshots.restore.changed_one":"~{count} modifié","projectSnapshots.restore.changed_other":"~{count} modifiés","projectSnapshots.restore.removed_one":"−{count} supprimé","projectSnapshots.restore.removed_other":"−{count} supprimés","projectSnapshots.restore.unchanged_one":"{count} inchangé","projectSnapshots.restore.unchanged_other":"{count} inchangés","projectSnapshots.restore.more_one":"…et {count} autre","projectSnapshots.restore.more_other":"…et {count} autres","projectSnapshots.restore.truncated":"Les listes de fichiers sont limitées ; les nombres ci-dessus sont exacts.","projectSnapshots.status.restored":"« {label} » a été restauré.","projectSnapshots.status.restoredWithSafety":"« {label} » a été restauré. Un instantané de sécurité a d’abord été créé.","projectSnapshots.error.projectUnavailable":"Le projet est indisponible. Rechargez la page, puis réessayez.","projectSnapshots.error.snapshotRequired":"Choisissez un instantané, puis réessayez.","projectSnapshots.error.unsupported":"Choisissez une action valide pour les instantanés.","projectSnapshots.error.forbidden":"Vous n’êtes pas autorisé à effectuer cette action sur les instantanés.","projectSnapshots.error.notFound":"Cet instantané n’est plus disponible. Rechargez la liste, puis réessayez.","projectSnapshots.error.conflict":"Cet instantané ne peut plus être restauré en toute sécurité. Rechargez la liste, puis réessayez.","projectSnapshots.error.rateLimited":"Trop de demandes concernant les instantanés ont été envoyées. Patientez un instant, puis réessayez.","projectSnapshots.error.rejected":"L’action sur l’instantané a été refusée. Vérifiez votre demande, puis réessayez.","projectSnapshots.error.unavailable":"Les instantanés sont temporairement indisponibles. Réessayez dans quelques instants.","recoveryCodes.meta.title":"Codes de récupération — E-Code","recoveryCodes.meta.description":"Consultez et renouvelez en toute sécurité les codes de récupération à usage unique de votre compte E-Code.","recoveryCodes.page.title":"Codes de récupération","recoveryCodes.page.description":"Gérez les codes de récupération à usage unique utilisés comme solution de secours pour l’authentification multifacteur.","recoveryCodes.status.remaining_one":"{count} code de récupération restant","recoveryCodes.status.remaining_other":"{count} codes de récupération restants","recoveryCodes.status.total":"{remaining} / {total}","recoveryCodes.status.none":"Aucun code restant — générez un nouveau jeu","recoveryCodes.status.low":"Bientôt épuisés","recoveryCodes.status.loading":"Chargement de l’état des codes de récupération","recoveryCodes.status.errorTitle":"Impossible de charger l’état des codes de récupération","recoveryCodes.status.errorDescription":"Aucun code n’a été modifié. Vous pouvez tout de même confirmer votre mot de passe et générer un nouveau jeu ci-dessous.","recoveryCodes.status.retry":"Recharger l’état","recoveryCodes.explanation.title":"Solution de secours à usage unique pour l’authentification multifacteur","recoveryCodes.explanation.what":"Les codes de récupération sont des codes de secours à usage unique qui vous permettent de vous connecter si vous perdez l’accès à votre application d’authentification.","recoveryCodes.explanation.current_known":"Vous disposez actuellement de {remaining} codes inutilisés sur {total}. La génération d’un nouveau jeu invalide définitivement tous les codes précédents.","recoveryCodes.explanation.current_unknown":"Le nombre de codes inutilisés est indisponible. La génération d’un nouveau jeu invalide définitivement tous les codes précédents.","recoveryCodes.explanation.storage":"Chaque code ne fonctionne qu’une fois et n’est affiché qu’au moment de sa génération. Enregistrez le nouveau jeu dans un gestionnaire de mots de passe ou imprimez-le et conservez-le sous clé.","recoveryCodes.form.title":"Générer un nouveau jeu","recoveryCodes.form.description":"Confirmez votre mot de passe actuel avant de remplacer tous les codes de récupération existants.","recoveryCodes.form.password":"Mot de passe actuel","recoveryCodes.form.passwordPlaceholder":"Saisissez votre mot de passe actuel","recoveryCodes.form.submit":"Générer les codes de récupération","recoveryCodes.form.busy":"Génération des codes de récupération…","recoveryCodes.dialog.title":"Générer de nouveaux codes de récupération ?","recoveryCodes.dialog.description":"Cette action invalide définitivement tous les codes de récupération existants. Ne poursuivez que si vous êtes prêt à enregistrer le nouveau jeu.","recoveryCodes.dialog.confirm":"Générer les codes","recoveryCodes.dialog.cancel":"Annuler","recoveryCodes.result.title":"Enregistrez ces codes de récupération maintenant","recoveryCodes.result.description":"Ils ne seront plus affichés. Chaque code ne peut être utilisé qu’une fois et doit rester secret.","recoveryCodes.result.copy":"Copier tous les codes","recoveryCodes.result.copied":"Codes copiés","recoveryCodes.status.rotated":"Les codes de récupération ont été renouvelés. Enregistrez-les maintenant.","recoveryCodes.error.passwordRequired":"Saisissez votre mot de passe actuel pour générer de nouveaux codes de récupération.","recoveryCodes.error.incorrectPassword":"Le mot de passe est incorrect. Vérifiez-le, puis réessayez.","recoveryCodes.error.reauthRequired":"Confirmez de nouveau votre mot de passe, puis générez un nouveau jeu.","recoveryCodes.error.forbidden":"Vous n’êtes pas autorisé à renouveler ces codes de récupération.","recoveryCodes.error.rateLimited":"Trop de tentatives ont été effectuées. Patientez un instant, puis réessayez.","recoveryCodes.error.rejected":"La demande concernant les codes de récupération a été refusée. Vérifiez votre mot de passe, puis réessayez.","recoveryCodes.error.unavailable":"Les codes de récupération sont temporairement indisponibles. Réessayez dans quelques instants.","METHOD_NOT_ALLOWED":"Cette méthode de requête n’est pas prise en charge.","UNAUTHORIZED":"Connectez-vous pour continuer.","INVALID_JSON_BODY":"Le corps de la requête doit contenir un JSON valide.","INVALID_JSON_PAYLOAD":"La charge utile JSON est invalide.","PROJECT_NOT_FOUND":"Le projet est introuvable.","WORKSPACE_NOT_FOUND":"L’espace de travail est introuvable.","CONVERSATION_NOT_FOUND":"La conversation est introuvable.","MEMORY_NOT_FOUND":"La mémoire est introuvable.","PROJECT_OR_PROPOSAL_NOT_FOUND":"Le projet ou la proposition de correctif est introuvable.","AGENT_CONSENSUS_NOT_FOUND":"Le résultat du consensus des agents est introuvable.","TEMPLATE_NOT_FOUND":"Le modèle est introuvable.","TEMPLATE_ACTION_INVALID":"Cette action sur le modèle n’est pas prise en charge.","PROJECT_ACTION_UNSUPPORTED":"Cette action sur le projet n’est pas prise en charge.","PROJECT_EXPORT_AUTH_REQUIRED":"Vous n’avez pas l’autorisation d’exporter ce projet.","PROJECT_EXPORT_UNAVAILABLE":"Impossible d’exporter le projet. Veuillez réessayer.","PROJECT_EXPORT_ARCHIVE_MISSING":"L’export du projet n’a produit aucune archive. Veuillez réessayer.","PROJECT_EXPORT_ARCHIVE_CORRUPT":"L’export du projet a produit une archive invalide. Veuillez réessayer.","PROJECT_ACTION_AUTH_REQUIRED":"Vous n’avez pas l’autorisation d’effectuer cette action sur le projet.","PROJECT_ACTION_FAILED":"Impossible d’effectuer l’action sur le projet. Veuillez réessayer.","SELF_REPAIR_PROMPT_REQUIRED":"Saisissez un prompt d’autoréparation non vide.","SELF_REPAIR_PROMPT_TOO_LARGE":"Le prompt d’autoréparation dépasse la limite de {maximum} octets.","SELF_REPAIR_COOKIE_INVALID":"Les paramètres de fournisseur enregistrés sont invalides. Vérifiez-les, puis réessayez.","SELF_REPAIR_TRUNCATED":"La réponse d’autoréparation est incomplète. Veuillez réessayer avec un fichier plus petit.","SELF_REPAIR_FAILED":"Impossible de terminer l’autoréparation. Veuillez réessayer.","RATE_LIMIT_EXCEEDED":"Trop de requêtes ont été envoyées. Veuillez patienter avant de réessayer.","JSON_CONTENT_TYPE_REQUIRED":"Envoyez cette requête avec le type de contenu application/json.","LOG_FORMAT_INVALID":"Le format de la charge utile des journaux est invalide.","TELEMETRY_PAYLOAD_INVALID":"La charge utile de télémétrie est invalide.","AUTH_SCAFFOLD_DISABLED":"L’ajout de l’authentification n’est pas encore activé sur cette plateforme.","AUTH_SCAFFOLD_FAILED":"Impossible d’ajouter l’authentification. Veuillez réessayer.","AUTH_SCAFFOLD_UNAVAILABLE":"Le service de configuration de l’authentification est temporairement indisponible. Veuillez réessayer.","CONTACT_GENERAL_INVALID":"Saisissez une adresse e-mail valide et un court message.","CONTACT_SALES_INVALID":"Saisissez une adresse e-mail valide, votre entreprise et un court message.","CONTACT_RATE_LIMIT":"Trop de tentatives ont été effectuées. Veuillez réessayer dans une minute.","CONTACT_GENERAL_FAILED":"Impossible d’envoyer votre message. Veuillez réessayer.","CONTACT_SALES_FAILED":"Impossible d’envoyer votre demande. Veuillez réessayer.","NEWSLETTER_EMAIL_INVALID":"Saisissez une adresse e-mail valide.","NEWSLETTER_SUBSCRIBE_FAILED":"Impossible de finaliser votre abonnement. Veuillez réessayer.","PROVIDER_REQUIRED":"Sélectionnez un fournisseur.","API_KEY_REQUIRED":"Saisissez une clé API.","CONNECTOR_CONFIGURE_FAILED":"Impossible de configurer le connecteur. Veuillez réessayer.","OAUTH_PROVIDER_UNSUPPORTED":"Le fournisseur « {provider} » n’est pas pris en charge.","OAUTH_START_FAILED":"Impossible de démarrer le flux d’autorisation OAuth. Veuillez réessayer.","CONNECTION_ID_REQUIRED":"Sélectionnez une connexion à déconnecter.","CONNECTION_REVOKE_REQUEST_INVALID":"Une action de révocation et un identifiant de connexion sont obligatoires.","CONNECTION_REVOKE_FAILED":"Impossible de déconnecter le compte. Veuillez réessayer.","FEEDBACK_INVALID":"Un identifiant de message et un vote « up », « down » ou null sont obligatoires.","FEEDBACK_FAILED":"Impossible d’enregistrer votre avis. Veuillez réessayer.","CHAT_SHARE_FAILED":"Impossible de créer le lien de partage. Veuillez réessayer.","INTEGRATION_REQUEST_INVALID":"Saisissez le nom d’une intégration et décrivez votre cas d’usage.","INTEGRATION_REQUEST_FAILED":"Impossible d’envoyer votre demande d’intégration. Veuillez réessayer.","PROJECT_FILE_PATH_INVALID":"Le chemin du fichier du projet est invalide.","PROJECT_FILE_NOT_FOUND":"Le fichier du projet est introuvable.","PROJECT_FILE_AUTH_REQUIRED":"Vous n’avez pas l’autorisation d’accéder à ce fichier du projet.","PROJECT_FILE_READ_FAILED":"Impossible de lire le fichier du projet. Veuillez réessayer.","PROJECT_FILE_WORKSPACE_STARTING":"Votre espace de travail démarre. Ce fichier s’ouvrira dans un instant.","PROJECT_FILE_WRITE_FAILED":"Impossible d’enregistrer le fichier du projet. Veuillez réessayer.","PROJECT_FILE_WRITE_BODY_INVALID":"La charge utile d’écriture du fichier est invalide.","PROJECT_FILE_CONTENT_REQUIRED":"Le contenu du fichier est obligatoire.","PROJECT_FILE_ENCODING_UNSUPPORTED":"L’encodage de fichier demandé n’est pas pris en charge.","PROJECT_FILES_AUTH_REQUIRED":"Vous n’avez pas l’autorisation d’accéder aux fichiers de ce projet.","PROJECT_FILES_FAILED":"Impossible de charger les fichiers du projet. Veuillez réessayer.","PROJECT_IMPORT_AUTH_REQUIRED":"Vous n’avez pas l’autorisation d’importer des fichiers dans ce projet.","PROJECT_IMPORT_FAILED":"Impossible d’importer l’archive du projet. Veuillez réessayer.","DATABASE_AUTH_REQUIRED":"Vous n’avez pas l’autorisation d’accéder à la base de données de ce projet.","DATABASE_PANEL_FAILED":"Impossible de charger les informations de la base de données. Veuillez réessayer.","DATABASE_REQUEST_FAILED":"Impossible d’effectuer l’opération sur la base de données. Veuillez réessayer.","THUMBNAIL_PREVIEW_URL_REQUIRED":"Une URL d’aperçu est obligatoire.","THUMBNAIL_REFRESH_FAILED":"Impossible d’actualiser la miniature du projet. Veuillez réessayer.","THUMBNAIL_UPLOAD_FAILED":"L’envoi de miniatures est temporairement indisponible. Veuillez réessayer.","MCP_CONFIG_INVALID":"La configuration des serveurs MCP est invalide.","MCP_UPDATE_FAILED":"Impossible de mettre à jour la configuration MCP. Veuillez réessayer.","MCP_CHECK_FAILED":"Impossible de vérifier les serveurs MCP. Veuillez réessayer.","MCP_SERVER_UNAVAILABLE":"Ce serveur MCP est indisponible. Vérifiez sa configuration, puis réessayez.","MCP_INSTALL_ID_REQUIRED":"Sélectionnez une installation MCP.","MCP_CATALOG_SLUG_REQUIRED":"Sélectionnez une entrée du catalogue MCP.","CONNECTOR_PROVIDER_UNSUPPORTED":"Ce fournisseur de connecteur n’est pas pris en charge.","PROJECT_ID_REQUIRED":"Sélectionnez un projet.","SCHEDULED_INTENT_UNSUPPORTED":"L’action de tâche planifiée « {intent} » n’est pas prise en charge.","DISK_INFO_FAILED":"Impossible de charger les informations du disque. Veuillez réessayer.","projectFallbackName":"Projet","projectCopySuffix":"Copie","projectForkSuffix":"Copie","contactDefaultTopic":"Général","scheduledJobDefaultName":"Tâche planifiée","diskFilesystemUnknown":"Inconnu","repositoryCard.action.open":"Ouvrir le dépôt {repository}","repositoryCard.action.view":"Voir","repositoryCard.status.private":"Dépôt privé","repositoryCard.status.forked":"Dépôt dupliqué","repositoryCard.status.archived":"Dépôt archivé","repositoryCard.badge.archived":"Archivé","repositoryCard.badge.forked":"Dupliqué","repositoryCard.health.label":"État du dépôt : {status}","repositoryCard.health.archived":"Archivé","repositoryCard.health.veryActive":"Très actif","repositoryCard.health.healthy":"Sain","repositoryCard.health.needsAttention":"À surveiller","repositoryCard.health.score":"Score de santé : {percentage} ({score}/{maximum})","repositoryCard.metrics.value":"{label} : {value}","repositoryCard.metrics.stars":"Étoiles","repositoryCard.metrics.forks":"Copies","repositoryCard.metrics.openIssues":"Tickets ouverts","repositoryCard.metrics.pullRequests":"Pull requests","repositoryCard.metrics.defaultBranch":"Branche par défaut","repositoryCard.metrics.totalBranches":"Nombre total de branches","repositoryCard.metrics.contributors":"Contributeurs","repositoryCard.metrics.size":"Taille","repositoryCard.metrics.lastUpdated":"Dernière mise à jour","repositoryCard.metrics.primaryLanguage":"Langage principal","repositoryCard.metrics.topics":"Sujets : {topics}","repositoryCard.updated.today":"Aujourd’hui","repositoryCard.updated.days.one":"Il y a {count} jour","repositoryCard.updated.days.other":"Il y a {count} jours","repositoryCard.updated.weeks.one":"Il y a {count} semaine","repositoryCard.updated.weeks.other":"Il y a {count} semaines","repositoryCard.updated.unavailable":"Date indisponible","repositoryCard.sizeUnit.byte":"o","repositoryCard.sizeUnit.kilobyte":"Ko","repositoryCard.sizeUnit.megabyte":"Mo","repositoryCard.sizeUnit.gigabyte":"Go","repositoryCard.sizeUnit.terabyte":"To","repositorySelector.connect":"Connectez-vous à {{provider}} pour parcourir vos dépôts.","repositorySelector.refreshConnection":"Actualiser la connexion","repositorySelector.loading":"Chargement des dépôts…","repositorySelector.loadFailed":"Impossible de charger les dépôts","repositorySelector.fetchFailed":"Impossible de récupérer les dépôts.","repositorySelector.retry":"Réessayer","repositorySelector.tryAgain":"Réessayer","repositorySelector.empty":"Aucun dépôt trouvé","repositorySelector.refresh":"Actualiser","repositorySelector.title":"Sélectionner un dépôt à cloner","repositorySelector.count":"{{shown}} dépôts sur {{total}}","repositorySelector.warningCached":"Avertissement : {{reason}} Affichage des données en cache.","repositorySelector.searchAria":"Rechercher des dépôts","repositorySelector.searchPlaceholder":"Rechercher des dépôts…","repositorySelector.sort.updated":"Mis à jour récemment","repositorySelector.sort.stars":"Plus d’étoiles","repositorySelector.sort.name":"Nom (A–Z)","repositorySelector.sort.created":"Créés récemment","repositorySelector.filter.all":"Tous les dépôts","repositorySelector.filter.own":"Mes dépôts","repositorySelector.filter.forks":"Dépôts dupliqués","repositorySelector.filter.archived":"Dépôts archivés","repositorySelector.filter.owned":"Dépôts possédés","repositorySelector.filter.member":"Dépôts dont je suis membre","repositorySelector.pagination.range":"Affichage de {{start}} à {{end}} sur {{total}} dépôts","repositorySelector.pagination.previous":"Précédent","repositorySelector.pagination.page":"{{current}} sur {{total}}","repositorySelector.pagination.next":"Suivant","repositorySelector.noMatch":"Aucun dépôt ne correspond à vos critères de recherche.","repositorySelector.branch.title":"Sélectionner une branche","repositorySelector.branch.close":"Fermer","repositorySelector.branch.loading":"Chargement des branches…","repositorySelector.branch.loadFailed":"Impossible de récupérer les branches.","repositorySelector.branch.projectRequired":"Un identifiant de projet est requis pour les dépôts GitLab.","repositorySelector.branch.search":"Rechercher des branches…","repositorySelector.branch.default":"Branche par défaut","repositorySelector.branch.protected":"Branche protégée","repositorySelector.branch.noMatch":"Aucune branche ne correspond à votre recherche.","repositorySelector.branch.empty":"Aucune branche disponible.","repositorySelector.branch.selected":"Sélection :","repositorySelector.branch.cancel":"Annuler","repositorySelector.branch.clone":"Cloner la branche","repositorySelector.card.private":"Dépôt privé","repositorySelector.card.forked":"Dépôt dupliqué","repositorySelector.card.archived":"Dépôt archivé","repositorySelector.card.stars":"Étoiles","repositorySelector.card.forks":"Copies","repositorySelector.card.defaultBranch":"Branche par défaut","repositorySelector.card.primaryLanguage":"Langage principal","repositorySelector.card.lastUpdated":"Dernière mise à jour","repositorySelector.card.topic":"Sujet : {{topic}}","repositorySelector.card.more":"+{{count}} autres","repositorySelector.card.size":"Taille : {{size}} Mo","repositorySelector.card.view":"Voir","repositorySelector.card.cloneTitle":"Cloner le dépôt","repositorySelector.card.clone":"Cloner","repositorySelector.clone.trigger":"Cloner un dépôt","repositorySelector.clone.provider.github":"GitHub","repositorySelector.clone.provider.gitlab":"GitLab","repositorySelector.clone.close":"Fermer","repositorySelector.clone.chooseProvider":"Choisir un hébergeur de dépôt","repositorySelector.clone.githubDescription":"Cloner l’un de vos dépôts GitHub","repositorySelector.clone.gitlabDescription":"Cloner l’un de vos dépôts GitLab","repositorySelector.clone.importTitle":"Importer un dépôt {{provider}}","repositorySelector.clone.importDescription":"Cloner un dépôt {{provider}} dans votre espace de travail","repositorySelector.clone.loading":"Veuillez patienter pendant le clonage du dépôt…","repositorySelector.clone.failed":"Impossible d’importer le dépôt.","repositorySelector.clone.chatCloning":"Clonage du dépôt {{url}} dans {{workdir}}","repositorySelector.clone.skippedHeading":"Fichiers ignorés ({{count}}) :","repositorySelector.clone.tooLarge":"{{path}} (trop volumineux : {{size}} Ko)","repositorySelector.clone.totalLimit":"{{path}} (dépasserait la limite de taille totale)","repositorySelector.clone.fileError":"{{path}} (erreur : {{reason}})","repositorySelector.clone.fileReadFailed":"lecture du fichier impossible","repositorySelector.clone.artifactTitle":"Fichiers clonés avec Git","repositorySelector.clone.projectTitle":"Projet Git : {{name}}"}